:root{--bg:#f4f7fb;--fg:#172033;--muted:#667085;--card:#fff;--card-subtle:#f8fafc;--border:#d8dee8;--border-strong:#c6ceda;--accent:#0b57d0;--accent-hover:#0847ad;--accent-soft:#edf4ff;--accent-fg:#fff;--danger:#b42318;--danger-soft:#fff1f0;--ok:#067647;--ok-soft:#ecfdf3;--warn:#b54708;--warn-soft:#fff7ed;--focus:#2e90fa;--shadow-sm:0 1px 2px #1018280d;--shadow-md:0 8px 24px #10182814;--radius:10px;color:var(--fg);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Noto Sans,Noto Sans Devanagari,sans-serif;font-size:15px;line-height:1.5}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);min-width:320px;color:var(--fg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1{letter-spacing:-.025em;margin:0 0 1.1rem;font-size:clamp(1.55rem,2vw,1.9rem);font-weight:700;line-height:1.2}h2{letter-spacing:-.01em;margin:0;font-size:1.12rem;font-weight:650;line-height:1.3}h3{margin:1rem 0 .5rem;font-size:1rem;font-weight:650}a{color:var(--accent);text-underline-offset:2px}code,.code,.plate,.plate-input{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.small{font-size:.85em}.muted{color:var(--muted)}.num{text-align:right;font-variant-numeric:tabular-nums}:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 50%, transparent);outline-offset:2px}.sr-only,.sr-only-label{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{background:var(--card);z-index:10;padding:.5rem;position:absolute;top:0;left:-999px}.skip:focus{left:.5rem}button,.button{min-height:2.45rem;font:inherit;border:1px solid var(--border-strong);background:var(--card);color:var(--fg);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.48rem .85rem;font-weight:600;text-decoration:none;transition:background .14s,border-color .14s,box-shadow .14s,transform .1s;display:inline-flex}button:hover:not(:disabled),.button:hover{background:var(--card-subtle);border-color:#aeb8c7}button:active:not(:disabled),.button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);box-shadow:0 1px 2px #0b57d040}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.button.primary-link{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.button.primary-link:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.button-large{min-height:3rem;padding-inline:1.15rem}button.danger{background:var(--danger-soft);color:var(--danger);border-color:#f3b7b2}button.plain{min-height:0;color:var(--accent);box-shadow:none;background:0 0;border:none;padding:0;text-decoration:underline}input,select,textarea{min-height:2.45rem;font:inherit;border:1px solid var(--border-strong);color:var(--fg);background:#fff;border-radius:8px;padding:.48rem .65rem;transition:border-color .14s,box-shadow .14s;box-shadow:inset 0 1px 1px #10182805}input:hover,select:hover,textarea:hover{border-color:#aeb8c7}input:focus,select:focus,textarea:focus{border-color:var(--focus);outline:none;box-shadow:0 0 0 3px #2e90fa24}label{color:#344054;flex-direction:column;gap:.28rem;font-size:.9rem;font-weight:550;display:flex}label.check{flex-direction:row;align-items:center;gap:.4rem}textarea.code{width:100%;min-height:10rem}pre.code{background:#f0f2f5;border-radius:4px;max-height:24rem;padding:.75rem;overflow:auto}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border-bottom:1px solid #d8dee8e6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;min-height:4rem;padding:.6rem clamp(.8rem,2vw,1.4rem);display:flex;position:sticky;top:0;box-shadow:0 1px 6px #1018280f}.app-footer{text-align:center;letter-spacing:.025em;color:#7a8494;border-top:1px solid var(--border);background:#ffffffc7;margin-top:auto;padding:.8rem 1rem;font-size:.76rem;font-weight:600}.brand{align-items:center;gap:.7rem;min-width:0;display:flex}.brand-mark{color:#fff;letter-spacing:.08em;background:linear-gradient(145deg,#14213d,#0b57d0);border-radius:9px;flex:0 0 2.15rem;place-items:center;width:2.15rem;height:2.15rem;font-size:.72rem;font-weight:800;display:inline-grid;box-shadow:0 4px 12px #0b57d038}.brand-copy{flex-direction:column;min-width:0;line-height:1.15;display:flex}.brand-copy strong{letter-spacing:-.015em;font-size:1rem}.brand-copy .muted{white-space:nowrap;margin-top:.18rem;font-size:.75rem}.nav-toggle{width:2.45rem;height:2.45rem;min-height:2.45rem;box-shadow:none;background:0 0;border-color:#0000;flex-direction:column;flex-shrink:0;justify-content:center;gap:.27rem;padding:.52rem;display:inline-flex}.nav-toggle span{background:currentColor;border-radius:999px;width:100%;height:2px;display:block}.topbar-right{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.lang{color:var(--muted);flex-direction:row;align-items:center;gap:.4rem;font-size:.82rem}.lang select{min-height:2.25rem;padding-top:.35rem;padding-bottom:.35rem}.who{background:var(--accent-soft);color:#194185;white-space:nowrap;border:1px solid #d7e5fb;border-radius:999px;align-items:center;min-height:2.25rem;padding:.32rem .7rem;font-size:.82rem;font-weight:600;display:inline-flex}.body{flex:1;min-height:0;display:flex;position:relative}.nav-backdrop{z-index:34;min-height:0;box-shadow:none;cursor:default;background:#0f172a3d;border:0;border-radius:0;padding:0;position:fixed;inset:4rem 0 0}.nav-backdrop:hover{background:#0f172a3d!important;border:0!important}.sidenav{z-index:35;border-right:1px solid var(--border);visibility:hidden;background:#fffffffa;width:17rem;padding:.7rem;transition:transform .18s,visibility .18s;position:fixed;top:4rem;bottom:0;left:0;overflow-y:auto;transform:translate(-105%);box-shadow:8px 0 28px #1018281f}.sidenav.open{visibility:visible;transform:translate(0)}.sidenav ul{gap:.18rem;margin:0;padding:0;list-style:none;display:grid}.sidenav a{color:#344054;border-radius:8px;padding:.62rem .78rem;font-size:.91rem;font-weight:550;text-decoration:none;transition:background .12s,color .12s;display:block}.sidenav a:hover{color:var(--fg);background:#f2f5f9}.sidenav a.active{background:var(--accent-soft);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);font-weight:700}main{flex:1;width:100%;min-width:0;padding:clamp(1rem,2.1vw,1.7rem)}@media (width<=800px){.topbar{gap:.5rem;padding-inline:.7rem}.brand-copy .muted,.brand-mark,.who,.lang>span{display:none}.topbar-right{gap:.4rem}.topbar-right button,.topbar-right .button{padding-inline:.6rem}.sidenav{width:min(18rem,86vw)}main{padding:.85rem}.card{border-radius:10px;padding:.9rem}.reset-password-form,.rename-user-form{min-width:0}}.card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:1rem;padding:clamp(1rem,1.6vw,1.3rem)}.card.narrow,.card.login{max-width:30rem}.card-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.card-head h2{align-items:center;gap:.45rem;display:flex}.card-actions{flex-wrap:wrap;gap:.5rem;display:flex}.login-wrap{background:radial-gradient(circle at 18% 18%, #0b57d014, transparent 28rem), radial-gradient(circle at 82% 78%, #14213d0f, transparent 30rem), var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;padding:1rem;display:flex}.card.login{width:min(30rem,100%);box-shadow:var(--shadow-md);border-color:#cfd8e6}.login-footer{background:0 0;border:0;width:min(30rem,100%)}.row{align-items:flex-end;gap:.6rem;margin:.5rem 0;display:flex}.row.wrap{flex-wrap:wrap}.row.spread{justify-content:space-between}.stack{flex-direction:column;gap:.4rem;display:flex}.page-title-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.4rem;display:flex}.page-title-row h1{margin-bottom:0}.workflow-action{flex-wrap:wrap;align-items:center;gap:.8rem;margin:0 0 1rem;display:flex}.reset-password-form,.rename-user-form{flex-wrap:wrap;min-width:21rem;margin:0}.reset-password-field,.rename-user-field{flex:13rem;min-width:13rem}.reset-password-field input,.rename-user-field input{width:100%}.form{flex-direction:column;gap:.6rem;max-width:40rem;margin:.5rem 0;display:flex}.grid2{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;display:grid}.case-grid{grid-template-columns:minmax(0,3fr) minmax(18rem,2fr);gap:1rem;display:grid}@media (width<=1000px){.case-grid{grid-template-columns:1fr}}table{border-collapse:separate;border-spacing:0;width:100%;font-size:.9rem}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #e7ebf0;padding:.7rem .75rem}th{z-index:5;color:#475467;letter-spacing:.025em;text-transform:uppercase;background:#f8fafc;font-size:.78rem;font-weight:700;position:sticky;top:4rem}tbody tr{transition:background .12s}tbody tr:hover{background:#f8fbff}tbody tr:last-child td{border-bottom:0}td a{font-weight:600;text-decoration:none}td a:hover{text-decoration:underline}table.logs td{white-space:pre-wrap;word-break:break-word}.table-scroll{max-height:70vh;overflow:auto}.table-scroll th{top:0}.table-scroll td.wrap{word-break:break-all;min-width:10rem}.table-scroll td.num{text-align:right;white-space:nowrap}.badge.review-review_required{background:var(--warn-soft);color:var(--warn);border-color:#fedf89}.badge.review-reviewed{background:var(--ok-soft);color:var(--ok);border-color:#abefc6}.kv{grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0;display:grid}.kv-row{display:contents}.kv dt{color:var(--muted)}.kv dd{word-break:break-word;margin:0}.badge{border:1px solid var(--border);letter-spacing:.015em;color:#475467;white-space:nowrap;background:#f2f4f7;border-radius:999px;align-items:center;gap:.3rem;padding:.16rem .5rem;font-size:.74rem;font-weight:700;display:inline-flex}.badge.warn,.badge.outcome-insufficient_evidence,.badge.gate-warn,.badge.state-paused{background:var(--warn-soft);color:var(--warn);border-color:#fedf89}.badge.outcome-pass,.badge.outcome-success,.badge.gate-pass,.badge.state-completed{background:var(--ok-soft);color:var(--ok);border-color:#abefc6}.badge.outcome-fail,.badge.outcome-failed,.badge.outcome-denied,.badge.gate-fail,.badge.state-stopped{background:var(--danger-soft);color:var(--danger);border-color:#fecdca}.badge.lock,.badge.state-created,.badge.state-validated,.badge.state-processing{background:var(--accent-soft);color:var(--accent);border-color:#b2ccff}.chips,.gates{flex-wrap:wrap;gap:.3rem;display:flex}.queue-tabs{flex-wrap:wrap;gap:.35rem;margin:.75rem 0 .35rem;display:flex}.queue-tab{align-items:center;gap:.35rem;display:inline-flex}.queue-tab.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:700}.queue-subtabs{background:var(--card-subtle);border:1px solid var(--border);border-radius:8px;gap:.5rem;width:fit-content;margin:.75rem 0 1rem;padding:.25rem;display:flex}.queue-subtab{cursor:pointer;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.88rem;font-weight:500;transition:all .15s;display:inline-flex}.queue-subtab:hover{color:var(--fg);background:#0000000a}.queue-subtab.active{color:var(--fg);border-color:var(--border);background:#fff;font-weight:700;box-shadow:0 1px 3px #00000014}.queue-subtab .badge{border-radius:999px;padding:.1rem .45rem;font-size:.75rem}.queue-banner{margin:0 0 .6rem}.state{margin:.65rem 0}.state-loading,.state-empty{text-align:center;color:var(--muted);background:var(--card-subtle);border:1px dashed var(--border);border-radius:10px;padding:1.25rem}.state-error{border:1px solid #fecdca;border-left:4px solid var(--danger);background:var(--danger-soft);border-radius:9px;padding:.7rem .85rem}.state-not-implemented{border-color:#b2ccff;border-left-color:var(--accent);background:var(--accent-soft)}.notice{border:1px solid #0000;border-radius:9px;margin:.65rem 0 1rem;padding:.72rem .9rem}.notice-info{background:var(--accent-soft);color:#194185;border-color:#d7e5fb}.notice-success{background:var(--ok-soft);color:var(--ok);border-color:#abefc6}.notice-warning{background:var(--warn-soft);color:var(--warn);border-color:#fedf89}.alerts{padding:0;list-style:none}.alert{border-left:4px solid var(--border);margin-bottom:.3rem;padding:.4rem .6rem}.alert-warning{border-left-color:var(--warn)}.alert-critical{border-left-color:var(--danger)}.stats{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin:.75rem 0;display:grid}.stat{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:linear-gradient(#fff,#fbfcfe);border-radius:10px;padding:.8rem .9rem}.stat-value{color:#101828;font-variant-numeric:tabular-nums;font-size:1.55rem;font-weight:750;line-height:1.15}.stat-label{color:var(--muted);margin-top:.2rem;font-size:.8rem;font-weight:600}.progress-label{color:var(--muted);justify-content:space-between;gap:1rem;margin-bottom:.35rem;display:flex}.progress-label strong{color:var(--fg);font-variant-numeric:tabular-nums}.progress{background:#e9edf3;border-radius:999px;height:.55rem;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#0b57d0,#2e90fa);height:100%;transition:width .18s}.upload-progress{background:#f7faff;border:1px solid #b2ccff;border-radius:10px;width:100%;margin-top:.75rem;padding:.75rem .85rem}.upload-progress .row{align-items:center;margin:0 0 .45rem}.plate{letter-spacing:.09em;color:#101828;font-size:1.15rem;font-weight:750}.plate-input{letter-spacing:.09em;text-transform:uppercase;font-size:1.2rem;font-weight:650}.claim-note{background:var(--warn-soft);color:var(--warn);border:1px solid #fedf89;border-radius:10px;margin:0 0 .85rem;padding:.6rem .85rem}.decision-body{border:0;flex-direction:column;gap:.6rem;min-width:0;margin:0;padding:0;display:flex}.wrong-crop{background:#f7faff;border:1px dashed #b2ccff;border-radius:10px;flex-direction:column;gap:.5rem;padding:.85rem;display:flex}.wrong-crop p{margin:0}.reread-result{flex-direction:column;gap:.4rem;display:flex}.check-row{flex-direction:row;align-items:center;gap:.5rem;display:flex}.suggested-reading{background:var(--accent-soft);border:1px solid #b2ccff;border-radius:10px;flex-direction:column;gap:.35rem;margin-bottom:.75rem;padding:1rem;display:flex}.suggested-reading .plate{font-size:clamp(1.45rem,3vw,2rem)}.suggested-reading .badge{align-self:flex-start}.raw-reading,.repaired-reading{border-color:#fedf89;border-left:4px solid var(--warn);background:#fffcf5}.state-warning{background:var(--warn-soft);color:var(--warn);border:1px solid #fedf89;border-radius:9px;margin:.2rem 0 0;padding:.5rem .75rem;font-weight:600}.repair-facts{grid-template-columns:max-content 1fr;gap:.3rem .9rem;margin:.3rem 0 0;display:grid}.repair-facts dt{color:var(--muted,#667085)}.repair-facts dd{margin:0}.repair-facts .plate,.reading-list .plate{font-size:1rem}.reading-list[data-testid]{grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:.45rem 2.5rem;display:grid}.reading-list[data-testid] li .badge{margin-left:.25rem}.reading-list[data-testid=repaired-candidates]{padding-left:0;list-style:none}.decision-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.5rem;display:grid}.decision-option{border:1px solid var(--border-strong);background:var(--card);cursor:pointer;border-radius:9px;flex-direction:row;align-items:center;gap:.5rem;min-height:3rem;padding:.65rem .75rem;display:flex}.decision-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:#194185}.reading-list{flex-wrap:wrap;gap:.55rem 1.5rem;margin:.6rem 0;padding-left:1.5rem;display:flex}.upload-primary{background:var(--accent-soft);border:1px solid #b2ccff;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.55rem;padding:1rem;display:flex}.upload-primary p{margin:0}.selection-confirmation{color:var(--ok);font-weight:650}.disclosure{border:1px solid var(--border);background:var(--card);border-radius:10px;margin:.75rem 0}.disclosure>summary{color:#344054;cursor:pointer;padding:.75rem .9rem;font-weight:650}.disclosure[open]>summary{border-bottom:1px solid var(--border)}.disclosure-body{padding:.9rem}.disclosure-body.form{margin:0}.disclosure.compact{box-shadow:none}details.card{padding:0;overflow:hidden}details.card>summary{padding:1rem 1.3rem;font-size:1.05rem}.viewer{flex-direction:column;gap:.55rem;display:flex}.viewer-toolbar{flex-wrap:wrap;align-items:center;padding:.35rem 0}.viewer-frame{cursor:grab;touch-action:none;background:#0b0f17;border:1px solid #202939;border-radius:10px;height:60vh;min-height:18rem;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff05}.viewer-frame img{transform-origin:0 0;-webkit-user-select:none;user-select:none;image-orientation:from-image;position:absolute;top:0;left:0}.viewer-frame.drawing{cursor:crosshair}.viewer-box{pointer-events:none;border:2px solid #fdb022;position:absolute;box-shadow:0 0 0 9999px #0b0f1759}.viewer-toolbar button.active{border-color:var(--accent);background:var(--accent-soft)}.dialog{border:1px solid var(--border);background:var(--card);border-radius:12px;width:90vw;max-width:34rem;padding:1.2rem;box-shadow:0 24px 60px #10182833}.dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a75}.dialog label{margin:.55rem 0}.plate-crop{border:1px solid var(--border);image-rendering:auto;border-radius:8px;max-width:100%;height:auto;display:block}.offline{z-index:39;border-radius:0;margin:0;position:sticky;top:4rem}@media (width<=640px){.decision-options{grid-template-columns:1fr}.workflow-action .button{width:100%}}.profile-menu{position:relative}.profile-menu summary{cursor:pointer}.profile-card{z-index:45;background:var(--surface,#fff);min-width:230px;color:var(--text,#14243b);border:1px solid var(--border,#dfe6ef);border-radius:10px;padding:16px;position:absolute;top:100%;right:0;box-shadow:0 10px 30px #14243b22}.shell{height:100dvh;overflow:hidden}.shell>.topbar{flex-shrink:0}.body{overscroll-behavior:contain;overflow:auto}.app-footer{flex-shrink:0}.profile-card{background:var(--card,#fff);color:var(--fg,#14243b)}.image-comparison{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.image-comparison>*{min-width:0}@media (width<=700px){.image-comparison{grid-template-columns:1fr}}.dashboard-metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0;display:grid}.dashboard-metric{color:inherit;flex-direction:column;gap:8px;text-decoration:none;display:flex}.dashboard-metric strong{font-size:2rem}.mass-action-bar{border-radius:var(--radius);background:var(--ok-soft);box-shadow:var(--shadow-sm);border:1px solid #a6f4c5;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 1.25rem;animation:.2s ease-out slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.mass-action-info{color:var(--ok);align-items:center;gap:.5rem;font-size:.95rem;display:flex}.mass-action-controls{align-items:center;gap:.6rem;display:flex}button.button.success,button.success{background:var(--ok);border-color:var(--ok);color:#fff;font-weight:600}button.button.success:hover:not(:disabled),button.success:hover:not(:disabled){background:#05603a;border-color:#05603a}.crop-thumb-cell{vertical-align:middle;width:120px;padding:4px 8px}.crop-thumb-wrap{display:inline-block;position:relative}.crop-thumb{object-fit:contain;border:1px solid var(--border-strong);cursor:zoom-in;background:#0f172a;border-radius:4px;max-width:120px;height:42px;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s;display:block;box-shadow:0 1px 3px #0000001a}.crop-thumb:hover{z-index:60;border-color:var(--accent);position:relative;transform:scale(2.4);box-shadow:0 12px 28px #00000059}.plate-cell{vertical-align:middle;white-space:nowrap}.plate-number-display{align-items:center;gap:.5rem;display:inline-flex}.plate-badge{letter-spacing:.06em;color:#0f172a;background:#fff;border:1.5px solid #1e293b;border-radius:4px;padding:.2rem .55rem;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.95rem;font-weight:750;box-shadow:0 1px 2px #00000014}.conf-pill{border-radius:9999px;padding:.15rem .45rem;font-size:.72rem;font-weight:700;line-height:1}.conf-high{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.conf-mid{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.conf-low{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.action-buttons-cell{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn-quick-approve{white-space:nowrap;padding:.35rem .65rem;font-size:.82rem}.selected-row{background:#f0fdf4!important}.row-approved{background:#f0fdf4!important;border-left:4px solid #16a34a!important}.row-rejected{background:#fef2f2!important;border-left:4px solid #dc2626!important}.row-later{background:#fffbeb!important;border-left:4px solid #d97706!important}.badge-short-id{color:#3730a3;white-space:nowrap;background:#e0e7ff;border:1px solid #c7d2fe;border-radius:4px;padding:.15rem .5rem;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;font-weight:700;display:inline-block}.traffic-light-cell{white-space:nowrap;text-align:center;padding:.4rem .6rem!important}.traffic-light-housing{background:#1e293b;border-radius:20px;align-items:center;gap:5px;padding:4px 7px;display:inline-flex;box-shadow:inset 0 1px 3px #0006,0 1px 2px #0000001a}.traffic-bulb{cursor:pointer;opacity:.35;border:1px solid #ffffff26;border-radius:50%;width:18px;height:18px;padding:0;transition:all .15s ease-in-out;display:inline-block}.traffic-bulb:hover{opacity:.8;transform:scale(1.15)}.traffic-bulb.red{background:#ef4444}.traffic-bulb.red.active{opacity:1;background:#dc2626;transform:scale(1.18);box-shadow:0 0 10px #ef4444,inset 0 0 4px #fee2e2}.traffic-bulb.amber{background:#f59e0b}.traffic-bulb.amber.active{opacity:1;background:#d97706;transform:scale(1.18);box-shadow:0 0 10px #f59e0b,inset 0 0 4px #fef3c7}.traffic-bulb.green{background:#22c55e}.traffic-bulb.green.active{opacity:1;background:#16a34a;transform:scale(1.18);box-shadow:0 0 10px #22c55e,inset 0 0 4px #dcfce7}.traffic-header-controls{justify-content:center;align-items:center;gap:4px;display:flex}.traffic-quick-btn{border:1px solid var(--border-color,#cbd5e1);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:2px;padding:2px 4px;font-size:.7rem;line-height:1;display:inline-flex}.traffic-quick-btn:hover{background:#f1f5f9}.mass-decision-bar{color:#f8fafc;background:#0f172a;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1.25rem;display:flex;box-shadow:0 4px 12px #0f172a40}.mass-decision-stats{align-items:center;gap:1.25rem;font-size:.92rem;display:flex}.mass-stat-item{align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.mass-stat-item.approved{color:#4ade80}.mass-stat-item.rejected{color:#f87171}.mass-stat-item.later{color:#fbbf24}.mass-decision-actions{align-items:center;gap:.5rem;display:flex}.review-subtabs{border-bottom:2px solid var(--border-color,#e2e8f0);align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.subtab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:.5rem;margin-bottom:-2px;padding:.6rem 1rem;font-size:.95rem;font-weight:600;transition:all .15s ease-in-out;display:inline-flex}.subtab-btn:hover{color:#1e293b}.subtab-btn.active{color:#2563eb;border-bottom-color:#2563eb}.subtab-badge{color:#334155;background:#e2e8f0;border-radius:10px;padding:.1rem .45rem;font-size:.75rem;font-weight:700}.subtab-btn.active .subtab-badge{color:#1e40af;background:#dbeafe}.crop-thumb-wrap{cursor:pointer;display:inline-block;position:relative}.crop-thumb-wrap:hover .crop-thumb{z-index:10;border-color:#3b82f6;transform:scale(1.08);box-shadow:0 4px 10px #0003}.image-lightbox-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0f172ad9;justify-content:center;align-items:center;padding:1.5rem;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.image-lightbox-content{background:#fff;border-radius:12px;flex-direction:column;width:960px;max-width:90vw;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #0006}.image-lightbox-header{color:#f8fafc;background:#0f172a;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.lightbox-title-area{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.lightbox-source-id{color:#94a3b8;font-size:.88rem}.lightbox-plate-badge{padding:.15rem .6rem;font-size:1rem}.lightbox-controls{align-items:center;gap:.4rem;display:flex}.lightbox-zoom-btn{color:#f8fafc;cursor:pointer;background:#334155;border:none;border-radius:4px;padding:.3rem .6rem;font-size:.85rem}.lightbox-zoom-btn:hover{background:#475569}.lightbox-close-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:4px;margin-left:.5rem;padding:.3rem .7rem;font-size:1rem;font-weight:700}.lightbox-close-btn:hover{background:#dc2626}.image-lightbox-body{background:#020617;flex:1;justify-content:center;align-items:center;min-height:380px;padding:1rem;display:flex;overflow:auto}.image-lightbox-img{object-fit:contain;border-radius:4px;max-width:100%;max-height:65vh;transition:transform .2s ease-out}.image-lightbox-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.traffic-hint{color:#475569;font-size:.88rem;font-weight:600}.traffic-light-group{gap:.5rem;display:inline-flex}.traffic-light-btn{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.85rem;font-weight:600;transition:all .15s ease-in-out;display:inline-flex}.traffic-light-btn:hover{background:#f1f5f9}.traffic-circle{border-radius:50%;width:12px;height:12px;display:inline-block}.red-circle{background:#ef4444}.amber-circle{background:#f59e0b}.green-circle{background:#22c55e}.traffic-light-btn.traffic-red.active{color:#dc2626;background:#fef2f2;border-color:#ef4444;box-shadow:0 0 0 2px #ef444433}.traffic-light-btn.traffic-amber.active{color:#d97706;background:#fffbeb;border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.traffic-light-btn.traffic-green.active{color:#16a34a;background:#f0fdf4;border-color:#22c55e;box-shadow:0 0 0 2px #22c55e33}.case-nav-bar{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.case-nav-btn{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.case-nav-btn:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.case-nav-btn:disabled{opacity:.45;cursor:not-allowed}.stepper{align-items:flex-start;gap:.25rem;margin:.4rem 0 1rem;padding:0;list-style:none;display:flex;overflow-x:auto}.stepper-step{flex:1;align-items:center;min-width:0;display:flex}.stepper-step:first-child{flex:0 auto}.stepper-link{background:var(--border);border-radius:999px;flex:0 0 1.4rem;min-width:.9rem;height:2px;margin:1.05rem .35rem 0;display:block}.stepper-step.step-done .stepper-link{background:var(--ok)}.stepper-node{min-height:2.6rem;box-shadow:none;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;flex:1;align-items:center;gap:.55rem;min-width:0;padding:.35rem .5rem;display:flex}.stepper-node:hover:not(:disabled){background:var(--card-subtle);border-color:#0000}.stepper-node:disabled{opacity:.75;cursor:default}.stepper-dot{border:2px solid var(--border-strong);background:var(--card);width:2rem;height:2rem;color:var(--muted);border-radius:999px;flex:0 0 2rem;place-items:center;font-size:.8rem;font-weight:750;display:inline-grid}.step-active .stepper-dot{border-color:var(--accent);background:var(--accent);color:var(--accent-fg);box-shadow:0 0 0 4px var(--accent-soft)}.step-done .stepper-dot{border-color:var(--ok);background:var(--ok);color:#fff}.step-locked .stepper-dot{font-size:.72rem}.stepper-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.stepper-label{color:var(--fg);white-space:nowrap;font-size:.88rem;font-weight:650}.step-upcoming .stepper-label,.step-locked .stepper-label{color:var(--muted)}.stepper-summary{color:var(--ok);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:600;overflow:hidden}@media (width<=800px){.stepper-summary{display:none}.stepper-label{font-size:.8rem}}.step-section{padding:0;overflow:hidden}.step-head{width:100%;box-shadow:none;text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:.6rem;min-height:3.4rem;padding:.9rem 1.1rem;display:flex}.step-head:hover:not(:disabled){background:var(--card-subtle)}.step-chevron{color:var(--muted);flex:none;font-size:.85rem}.step-title{flex:none;margin:0}.step-collapsed-summary{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;font-size:.82rem;font-weight:600;overflow:hidden}.step-body{grid-template-rows:0fr;transition:grid-template-rows .18s;display:grid}.step-body-inner{min-height:0;padding:0 1.1rem;overflow:hidden}.step-section.open .step-body{grid-template-rows:1fr}.step-section.open .step-body-inner{padding-bottom:1.1rem}.step-locked-note{margin:.2rem 0 .6rem}@media (prefers-reduced-motion:reduce){.step-body{transition:none}}.skeleton-block{flex-direction:column;gap:.55rem;padding:.4rem 0;display:flex}.skeleton-line{background:linear-gradient(90deg, var(--card-subtle) 25%, #e7ebf2 50%, var(--card-subtle) 75%);background-size:200% 100%;border-radius:6px;animation:1.2s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton-line{animation:none}}.upload-primary.dragover{border-color:var(--accent);box-shadow:inset 0 0 0 4px var(--accent-soft);background:#dbeafe;border-style:solid;border-width:2px}.thumb-strip{gap:.4rem;max-width:100%;padding:.3rem .1rem;display:flex;overflow-x:auto}.thumb-strip img{object-fit:cover;border:1px solid var(--border);background:var(--card);border-radius:8px;flex:none;width:4.2rem;height:4.2rem}.thumb-more{border:1px dashed var(--border-strong);width:4.2rem;height:4.2rem;color:var(--muted);background:var(--card-subtle);border-radius:8px;flex:none;place-items:center;font-size:.8rem;font-weight:700;display:inline-grid}.button-link{min-height:0;box-shadow:none;color:var(--accent);text-underline-offset:2px;background:0 0;border:none;padding:.2rem .1rem;font-size:.88rem;text-decoration:underline}.button-link:hover:not(:disabled){background:0 0;text-decoration:none}.batch-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.batch-search{flex:14rem;min-width:12rem}.inline-progress{background:#e9edf3;border-radius:999px;max-width:16rem;height:.35rem;margin-top:.3rem;overflow:hidden}.inline-progress>div{background:linear-gradient(90deg,#0b57d0,#2e90fa);height:100%}.theme-toggle{place-items:center;width:2.45rem;height:2.45rem;min-height:2.45rem;padding:0;font-size:1rem;display:inline-grid}[data-theme=dark]{--bg:#0e1420;--fg:#e6eaf2;--muted:#94a0b4;--card:#171f2e;--card-subtle:#131b28;--border:#2b3648;--border-strong:#3a475e;--accent:#5b9bff;--accent-hover:#7db1ff;--accent-soft:#152642;--accent-fg:#0b1220;--danger:#ff8a80;--danger-soft:#3a1d1b;--ok:#4ade80;--ok-soft:#14301f;--warn:#fbbf4c;--warn-soft:#3a2c12;--focus:#5b9bff;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 24px #00000080}[data-theme=dark] html,[data-theme=dark] body{background:var(--bg);color:var(--fg)}[data-theme=dark] .topbar{border-bottom-color:var(--border);background:#171f2eeb}[data-theme=dark] .sidenav{border-right-color:var(--border);background:#171f2efa}[data-theme=dark] .sidenav a{color:#b9c2d4}[data-theme=dark] .sidenav a:hover{color:var(--fg);background:#1d2737}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{color:var(--fg);border-color:var(--border-strong);box-shadow:none;background:#101826}[data-theme=dark] button,[data-theme=dark] .button{background:var(--card-subtle);color:var(--fg);border-color:var(--border-strong)}[data-theme=dark] button:hover:not(:disabled),[data-theme=dark] .button:hover{background:#1d2737;border-color:#4a586f}[data-theme=dark] button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}[data-theme=dark] th{color:#98a4ba;background:#131b28}[data-theme=dark] th,[data-theme=dark] td{border-bottom-color:#232d40}[data-theme=dark] tbody tr:hover{background:#1a2436}[data-theme=dark] .badge{color:#b9c2d4;background:#1d2737}[data-theme=dark] .who{background:var(--accent-soft);color:#9cc1ff;border-color:var(--border)}[data-theme=dark] .stat{background:linear-gradient(#171f2e,#131b28)}[data-theme=dark] .stat-value,[data-theme=dark] .plate{color:#e9edf5}[data-theme=dark] pre.code{background:#101826}[data-theme=dark] .progress,[data-theme=dark] .inline-progress{background:#232d40}[data-theme=dark] .queue-subtabs{border-color:var(--border);background:#131b28}[data-theme=dark] .queue-subtab.active{color:var(--fg);border-color:var(--border);background:#1d2737}[data-theme=dark] .queue-subtab:hover{color:var(--fg);background:#1d2737}[data-theme=dark] .upload-primary.dragover{background:#152642}[data-theme=dark] .case-nav-btn{color:#d5dbe8;border-color:var(--border-strong);background:#1d2737}[data-theme=dark] .case-nav-btn:hover:not(:disabled){background:#253045;border-color:#4a586f}[data-theme=dark] .app-footer{border-top-color:var(--border);background:#171f2ecc}[data-theme=dark] .login-wrap{background:radial-gradient(circle at 18% 18%, #5b9bff1a, transparent 28rem), radial-gradient(circle at 82% 78%, #14213d2e, transparent 30rem), var(--bg)}[data-theme=dark] .skeleton-line{background:linear-gradient(90deg,#131b28 25%,#232d40 50%,#131b28 75%) 0 0/200% 100%}.inline-progress>div.indeterminate{width:40%;animation:1.4s ease-in-out infinite progress-slide}@keyframes progress-slide{0%{margin-left:-40%}to{margin-left:100%}}@media (prefers-reduced-motion:reduce){.inline-progress>div.indeterminate{width:100%;animation:none}}.step-body-inner .card{box-shadow:none;border:1px solid var(--border);margin:.55rem 0}.step-body-inner .card>h2{font-size:1.05rem}
