/* Drawcheck-inspired layout. Presentation only; original component styles retained. */
:root{--navy:#592d87;--navy-deep:#402363;--teal:#6b42b6;--teal-dark:#583298;--teal-soft:#eee7fa;--bg:#f4f1f8;--text:#2c243c;--muted:#7a7189;--line:#e8e1f0;--radius:14px}
body{background:var(--bg)}
.app-shell{display:block}.main-shell{margin-left:0;width:100%;min-width:0}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 26px;background:var(--navy);color:#fff}
.site-header .brand{padding:0;display:flex;flex-shrink:0;color:#fff;font-size:21px;line-height:1.3;text-decoration:none;letter-spacing:.2px}
.site-header .brand-sub{display:block;font-size:11px;font-weight:500;letter-spacing:1px;color:#e5d9f4;margin-top:5px}
.site-header nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.site-header .nav-item{width:auto;margin:0;display:block;white-space:nowrap;padding:9px 11px;border-radius:6px;color:#e8def5;background:transparent;border:0;font-size:14px;line-height:1.4}
.site-header .nav-item:hover,.site-header .nav-item.active{background:#ffffff19;color:#fff}.site-header .nav-item.active{box-shadow:inset 0 -2px #e6d5ff;font-weight:700}
.topbar{height:auto;min-height:50px;padding:8px 26px;background:#faf8fc;border-bottom:1px solid var(--line);gap:12px;flex-wrap:wrap}
.breadcrumb{font-size:12px}.topbar-actions{gap:10px}.connection{font-size:12px}.connection.ok{color:#28775e}
main{max-width:1640px;padding:22px 26px 32px;margin:auto}.page-footer{max-width:1640px;margin:auto;padding:8px 26px 24px;font-size:12px;gap:16px}
.panel{border:1px solid #eee9f3;box-shadow:0 3px 14px #37214d06;border-radius:14px;overflow:hidden}
.upload-panel,.queue-panel,.detail-panel{margin-bottom:22px}.upload-panel{padding:24px}.upload-panel h2,.queue-heading h2,.detail-panel>.panel-heading h2{font-size:18px;color:var(--navy);margin:0;font-weight:700}.heading-note{font-size:15px;font-weight:500}
.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:100%;min-height:120px;background:#fff;border:2px dashed #c7b4e3;border-radius:12px;color:var(--text);padding:22px;cursor:pointer;margin:18px 0;font:inherit;text-align:center}
.upload-zone:hover{background:#faf7ff;border-color:#8559c2}.upload-zone strong{font-size:17px;font-weight:600}.upload-zone span{color:var(--muted);font-size:13px}
.upload-bottom{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.upload-bottom p{margin:0;font-size:13px;color:var(--muted)}.poc-tag{margin-left:auto;padding:4px 12px;border-radius:20px;background:#f0eafa;color:#704798;font-size:12px}
.button{border-radius:8px;font-size:14px;min-height:40px}.button.small{min-height:32px;font-size:13px;padding:6px 12px}.button.secondary{background:#fff;border-color:#d7c8e7;color:var(--navy)}
.queue-panel{padding:24px}.queue-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.queue-summary{display:flex;gap:16px;flex-wrap:wrap}.queue-metric{font-size:12px;color:var(--muted)}.queue-metric strong{font-size:17px;color:var(--navy);margin-left:5px}
.queue-help{font-size:13px;color:var(--muted);margin:10px 0 17px}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:8px}.case-table{border-collapse:collapse;width:100%;min-width:860px;table-layout:auto;font-size:14px}.case-table th{background:#4e4262;color:#fff;text-align:left;font-size:13px;font-weight:600;padding:12px 14px;white-space:nowrap}.case-table td{padding:14px;vertical-align:middle;border-bottom:1px solid var(--line);background:#fff}.case-table tr:last-child td{border-bottom:0}.case-table tr.selected-row td{background:#faf7ff}.case-table tr.selected-row td:first-child{box-shadow:inset 3px 0 #8056b4}.case-table th:first-child{width:31%}.case-table th:last-child{width:185px}
.case-name{display:block;border:0;background:transparent;padding:0;text-align:left;font:inherit;font-weight:650;color:var(--text);cursor:pointer;line-height:1.5}.case-name:hover{color:var(--teal);text-decoration:underline}.case-id{display:block;font-size:11px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.model-label{font-size:12px;color:var(--navy);overflow-wrap:anywhere}.time-cell{font-size:12px;white-space:nowrap}.row-actions{display:flex;gap:7px;flex-wrap:wrap}.case-table .badge{white-space:nowrap;font-size:11px}
.scope-note{font-size:12px;color:var(--muted);margin-top:15px;line-height:1.7}.scope-note strong{color:#615070}
.detail-panel>.panel-heading{background:#fcfaff;border-bottom:1px solid var(--line)}.case-detail-top{padding:24px}.run-control{background:#faf8fc}.case-title-row h2{font-size:22px}.finding h4{font-size:17px}.result-content{padding:24px}.run-summary{background:#f6f2fa}.finding{border-color:var(--line)}.run-meta{flex-wrap:wrap}
#case-detail,#case-list{scroll-margin-top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-heading{margin-bottom:22px}.page-heading h1{font-size:30px}.notice{font-size:13px}button:focus-visible,a:focus-visible{outline:3px solid #ac89da;outline-offset:3px}
.table-scroll{scrollbar-width:thin;scrollbar-color:#b5a0cd #f4effa}
@media(min-width:1600px){.site-header{padding-left:calc((100vw - 1588px)/2);padding-right:calc((100vw - 1588px)/2)}}
@media(max-width:1100px){.site-header{gap:12px;flex-wrap:wrap}.site-header nav{justify-content:flex-start}.queue-summary{gap:12px}.site-header .nav-item{padding:8px 10px}}
@media(max-width:700px){.site-header{padding:15px 16px 10px;display:block}.site-header .brand{font-size:20px}.site-header nav{margin-top:14px;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:5px;max-width:100%}.site-header .nav-item{flex-shrink:0;font-size:13px;padding:8px 10px}.topbar{padding:8px 16px}.breadcrumb{display:none}.topbar-actions{width:100%;justify-content:flex-end}.connection{margin-right:auto}main{padding:16px 12px 24px}.upload-panel,.queue-panel{padding:18px}.upload-zone{padding:20px 12px;min-height:125px}.upload-zone strong{font-size:16px}.heading-note{display:block;margin-top:4px;font-size:13px}.upload-bottom{gap:10px}.upload-bottom p{order:3;width:100%;font-size:12px}.poc-tag{font-size:11px}.queue-summary{gap:6px 14px}.queue-metric{font-size:11px}.queue-metric strong{font-size:15px}.queue-help{font-size:12px}.detail-panel>.panel-heading{align-items:flex-start;gap:8px;padding:18px;flex-wrap:wrap}.case-detail-top,.result-content{padding:18px}.case-title-row{flex-wrap:wrap;gap:8px}.case-title-row h2{font-size:20px}.run-control{padding:18px;flex-wrap:wrap}.run-control .control-field{min-width:0;width:100%}.run-selection{max-width:100%}.page-footer{padding:0 16px 24px;flex-direction:column;gap:8px}.page-heading h1{font-size:26px}}
@media(max-width:700px){.site-header nav{flex-wrap:wrap;overflow:visible;gap:2px}.table-scroll::after{content:'左右滑動可查看全部欄位';display:block;position:sticky;left:0;width:100%;padding:7px 10px;box-sizing:border-box;background:#f7f3fb;color:#7a7189;font-size:11px}}
