@font-face{font-family:futuraNow;src:url(../media/FuturaNow_Variable-s.p.1lelnnx8yzp67.ttf)format("truetype");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:futuraNow;src:url(../media/FuturaNow_VariableItalic-s.p.3bj7jm48ol23o.ttf)format("truetype");font-display:swap;font-weight:100 900;font-style:italic}@font-face{font-family:futuraNow Fallback;src:local(Arial);ascent-override:120.95%;descent-override:30.66%;line-gap-override:0.0%;size-adjust:107.65%}.futuranow_923655c4-module__Cl3Oza__className{font-family:futuraNow,futuraNow Fallback,Arial,Helvetica,sans-serif}.futuranow_923655c4-module__Cl3Oza__variable{--font-futura-now:"futuraNow", "futuraNow Fallback", Arial, Helvetica, sans-serif}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f6f8;--surface:#fff;--surface-muted:#f7f8fa;--surface-hover:#f2f4f7;--border:#e5e8ec;--border-strong:#cdd2d9;--text:#0f1216;--text-2:#535a65;--text-3:#7d848f;--accent:#00807d;--accent-hover:#006b69;--accent-soft:#e3f3f1;--accent-ring:#00807d2e;--on-accent:#fff;--good:#059669;--good-soft:#ecfdf5;--good-ring:#05966926;--bad:#dc2626;--bad-soft:#fef2f2;--bad-ring:#dc26261f;--warn:#d97706;--warn-soft:#fff7ed;--radius-sm:8px;--radius:12px;--radius-lg:16px;--shadow-xs:0 1px 2px #0f172a0a;--shadow:0 1px 2px #0f172a0d, 0 4px 12px #0f172a0a;--shadow-md:0 8px 24px #0f172a14, 0 2px 6px #0f172a0a;--shadow-pop:0 16px 40px #0f172a24, 0 4px 12px #0f172a0f;--ease:cubic-bezier(.22, 1, .36, 1);--dur:.16s;--font-body:var(--font-futura-now), "Futura Now", Futura, Arial, Helvetica, sans-serif;--model:#00807d;--model-soft:#e3f3f1;--qc:#4a50d2;--qc-soft:#eceefd;--expert:#c0375c;--expert-soft:#fcebf0;--raised:#f2f4f7;--grid:#eef0f3;--nav-bg:#ffffffe6;--nav-on:#0c1222;--nav-on-fg:#fff;--tabbar:66px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1117;--surface:#161b22;--surface-muted:#1b222c;--surface-hover:#222b36;--border:#2d3745;--border-strong:#465466;--text:#f3f5f7;--text-2:#bcc5d0;--text-3:#8f9aaa;--accent:#54c7c1;--accent-hover:#79d8d3;--accent-soft:#54c7c124;--accent-ring:#54c7c14d;--on-accent:#071716;--good:#4ade80;--good-soft:#4ade801f;--good-ring:#4ade8047;--bad:#fb7185;--bad-soft:#fb71851f;--bad-ring:#fb718542;--warn:#fbbf24;--warn-soft:#fbbf241f;--shadow-xs:0 1px 2px #00000047;--shadow:0 1px 2px #0000004d, 0 6px 16px #0000002e;--shadow-md:0 10px 28px #00000059, 0 2px 7px #00000040;--shadow-pop:0 20px 48px #00000085, 0 5px 14px #00000057;--model:#38b9b4;--model-soft:#38b9b424;--qc:#8d92ff;--qc-soft:#8d92ff24;--expert:#f07799;--expert-soft:#f0779924;--raised:#202834;--grid:#2a3543;--nav-bg:#161b22eb;--nav-on:#eef2f6;--nav-on-fg:#111820}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-body);font-optical-sizing:auto;font-variant-numeric:lining-nums tabular-nums;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.45}button{font:inherit;cursor:pointer;color:inherit;transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);background:0 0;border:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft);color:var(--accent)}.header{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;min-height:68px;box-shadow:var(--shadow-xs);align-items:center;gap:16px;padding:12px 28px;display:flex;position:sticky;top:0}.brand{text-align:left;border-radius:var(--radius);white-space:nowrap;flex-shrink:0;align-items:center;gap:12px;margin:-6px -6px -6px -10px;padding:6px 10px;font-size:16px;font-weight:700;display:flex}.brand:hover{background:var(--surface-hover)}.brand-logo{object-fit:contain;flex-shrink:0;width:auto;height:34px;display:block}.brand-divider{background:var(--border-strong);flex-shrink:0;width:1px;height:28px;margin:0 2px}.brand .brand-text{line-height:1.25}.brand small{color:var(--text-3);letter-spacing:.45px;text-transform:uppercase;font-size:10.5px;font-weight:500;display:block}@media (max-width:860px){.brand small{display:none}.brand-logo{height:28px}.brand-divider{height:22px}}.header-spacer{flex:1}.theme-toggle{width:36px;height:36px;color:var(--text-2);background:var(--surface-muted);box-shadow:inset 0 0 0 1px var(--border);border-radius:999px;flex:none;place-items:center;display:grid}.theme-toggle:hover{color:var(--text);background:var(--surface-hover);box-shadow:inset 0 0 0 1px var(--border-strong)}.theme-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.theme-icon-sun,:root[data-theme=dark] .theme-icon-moon{display:none}:root[data-theme=dark] .theme-icon-sun{display:block}.date-picker{align-items:center;gap:10px;display:flex;position:relative}.date-picker>label,.bundle-picker-wrap>label{color:var(--text-3);text-transform:uppercase;letter-spacing:.55px;font-size:11px;font-weight:700}.date-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);white-space:nowrap;min-width:178px;box-shadow:var(--shadow-xs);align-items:center;gap:9px;padding:9px 14px;font-size:13.5px;font-weight:600;display:inline-flex}.date-btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.date-btn.open{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.date-btn .date-ico{opacity:.85;font-size:14px}.date-btn #dateBtnLabel{text-align:left;flex:1}.date-btn .date-caret{color:var(--text-3);font-size:10px}.cal-popover{z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:392px;max-width:calc(100vw - 40px);box-shadow:var(--shadow-pop);animation:pop-in .18s var(--ease);padding:18px;position:absolute;top:calc(100% + 8px);left:0}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.cal-popover[hidden]{display:none}.cal-backdrop{z-index:35;background:0 0;position:fixed;inset:0}.bundle-picker-wrap{flex-shrink:0;align-items:center;gap:10px;min-width:0;display:flex;position:relative}.bundle-picker-wrap>label{flex-shrink:0}.bundle-picker-button{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;min-width:210px;max-width:340px;box-shadow:var(--shadow-xs);align-items:center;gap:10px;padding:9px 14px;font-size:13.5px;font-weight:600;display:flex}.bundle-picker-button>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.bundle-picker-button:hover{background:var(--surface-hover);border-color:var(--border-strong)}.bundle-picker-button.open,.bundle-picker-button:focus{outline:2px solid var(--accent);outline-offset:1px}.bundle-picker-caret{color:var(--text-3);font-size:10px}.bundle-picker-popover{z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(420px,100vw - 40px);box-shadow:var(--shadow-pop);animation:pop-in .18s var(--ease);padding:12px;position:absolute;top:calc(100% + 8px);right:0}.bundle-picker-search{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);width:100%;padding:10px 12px;font-size:13px}.bundle-picker-search:focus{outline:2px solid var(--accent);outline-offset:1px;background:var(--surface)}.bundle-picker-options{max-height:260px;margin-top:8px;overflow-y:auto}.bundle-picker-option{border-radius:var(--radius-sm);text-align:left;width:100%;padding:10px 12px;font-size:13px;font-weight:600;display:block}.bundle-picker-option:hover,.bundle-picker-option.selected{background:var(--accent-soft);color:var(--accent)}.bundle-picker-empty{color:var(--text-3);padding:16px 12px;font-size:13px}.main{width:100%;max-width:1280px;margin:0 auto;padding:28px 32px 72px}.breadcrumbs{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.page-top-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.page-top-bar .breadcrumbs{flex:1;min-width:200px}.page-top-aside{flex-shrink:0;align-self:flex-start}.breadcrumbs .sep{color:var(--text-3);-webkit-user-select:none;user-select:none;opacity:.7}.breadcrumbs .crumb{color:var(--accent);border-radius:var(--radius-sm);padding:4px 8px;font-weight:600}.breadcrumbs .crumb:hover{background:var(--accent-soft)}.breadcrumbs .crumb-current{color:var(--text);padding:4px 8px;font-weight:600}.back-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text-2);box-shadow:var(--shadow-xs);flex-shrink:0;place-items:center;display:grid}.back-btn:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border-strong)}.back-btn svg{width:18px;height:18px;display:block}.back-btn-crumb{border-radius:var(--radius-sm);width:30px;height:30px}.back-btn-crumb svg{width:16px;height:16px}.page-title-wrap{flex:1;align-items:flex-start;gap:14px;min-width:0;display:flex}.page-title-wrap .page-title{min-width:0}.page-title-wrap .back-btn{margin-top:2px}.page-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.page-title h1{letter-spacing:-.4px;font-size:24px;font-weight:700;line-height:1.2}.page-title p{color:var(--text-2);max-width:52ch;margin-top:6px;font-size:14px}.page-title-aside{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.add-bundle-block{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.add-bundle-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.add-bundle-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.55px;white-space:nowrap;font-size:11px;font-weight:700}.add-bundle-input{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:188px;box-shadow:var(--shadow-xs);padding:9px 12px;font-size:13px}.add-bundle-input:focus{outline:2px solid var(--accent);outline-offset:1px}.add-bundle-btn{border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);white-space:nowrap;padding:9px 16px;font-size:12.5px;font-weight:700;box-shadow:0 2px 8px #1d4ed840}.add-bundle-btn:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.add-bundle-btn:disabled{opacity:.55;cursor:default}.add-bundle-msg{text-align:right;font-size:12px}.add-bundle-msg.success{color:var(--good)}.add-bundle-msg.error{color:var(--bad)}.bundle-pattern{flex-direction:column;align-items:flex-end;gap:5px;max-width:420px;display:flex}.bundle-pattern-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.bundle-pattern-row .manual-input{min-width:108px;padding:7px 9px;font-size:12.5px}.bundle-pattern-row .manual-input:disabled{opacity:.5;cursor:default}.bundle-pattern .qc-note,.bundle-pattern .manual-hint{text-align:right;font-size:11.5px}.meta-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{white-space:nowrap;color:var(--text-2);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-xs);border-radius:999px;align-items:center;gap:4px;padding:7px 12px;font-size:12px;font-weight:600;display:inline-flex}.chip b{color:var(--text)}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}@media (max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px 22px;position:relative;overflow:hidden}.kpi:before{content:"";background:var(--accent);opacity:.85;width:3px;position:absolute;top:0;bottom:0;left:0}.kpi:nth-child(2):before{background:var(--good)}.kpi:nth-child(3):before{background:var(--bad)}.kpi:nth-child(4):before{background:linear-gradient(#6366f1,#8b5cf6)}.kpi .kpi-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.55px;font-size:11px;font-weight:700}.kpi .kpi-value{letter-spacing:-1px;margin-top:10px;font-size:32px;font-weight:700;line-height:1}.kpi .kpi-sub{color:var(--text-3);margin-top:8px;font-size:12.5px}.kpi-value.good{color:var(--good)}.kpi-value.bad{color:var(--bad)}.grid-2{grid-template-columns:1fr 1fr;align-items:stretch;gap:16px;display:grid}.grid-2>.card+.card{margin-top:0}@media (max-width:940px){.grid-2{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:24px}.card-title{letter-spacing:-.15px;font-size:15px;font-weight:700}.card-sub{color:var(--text-3);margin-top:4px;margin-bottom:18px;font-size:12.5px}.section-gap{margin-top:16px}.legend-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.bar-list{flex-direction:column;gap:4px;display:flex}.bar-row{border-radius:var(--radius-sm);text-align:left;border:1px solid #0000;grid-template-columns:120px 1fr 84px;align-items:center;gap:12px;width:100%;padding:10px 12px;display:grid}.bar-row.clickable:hover{background:var(--surface-hover);border-color:var(--border)}.bar-name{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.bar-track{background:var(--raised);border-radius:999px;height:10px;overflow:hidden}.bar-fill{min-width:2px;height:100%;transition:width .32s var(--ease);border-radius:999px;display:block}.bar-count{text-align:right;color:var(--text-2);font-size:12.5px;font-weight:600}.bar-count b{color:var(--text);font-size:13px}.table-card{padding:0;overflow:hidden}.table-toolbar{border-bottom:1px solid var(--border);background:var(--surface-muted);flex-wrap:wrap;align-items:center;gap:12px;padding:18px 22px;display:flex}.search-input{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);min-width:228px;padding:9px 13px;font-size:13px}.search-input:focus{outline:2px solid var(--accent);outline-offset:1px}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs);padding:9px 15px;font-size:12.5px;font-weight:600}.btn:hover{background:var(--surface-hover)}.btn-view{color:var(--accent);background:var(--accent-soft);box-shadow:none;border-color:#0000;padding:6px 13px;font-size:12px}.btn-view:hover{background:var(--accent-soft)}.btn-primary{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{color:#fff;background:var(--bad);border-color:var(--bad)}.btn-danger:hover{background:#b91c1c}.btn-danger-ghost{color:var(--bad);box-shadow:none;background:0 0;border-color:#0000}.btn-danger-ghost:hover{background:var(--bad-soft)}.btn:disabled{opacity:.55;cursor:not-allowed}.row-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.row-actions .btn{padding:6px 12px;font-size:12px}.active-tag{text-transform:uppercase;letter-spacing:.4px;color:var(--good);background:var(--good-soft);border:1px solid var(--good);vertical-align:middle;border-radius:999px;align-items:center;gap:5px;margin-left:8px;padding:1px 8px 1px 6px;font-size:10.5px;font-weight:700;display:inline-flex}.active-tag-dot{background:var(--good);border-radius:999px;width:6px;height:6px}.pattern-info{border:1px solid var(--border);width:15px;height:15px;color:var(--text-3);font-size:10px;font-style:italic;font-weight:700;font-family:var(--font-body);vertical-align:middle;cursor:help;background:0 0;border-radius:999px;justify-content:center;align-items:center;margin-left:8px;line-height:1;display:inline-flex}.pattern-info.is-missing{color:var(--warn);border-color:var(--warn);background:var(--warn-soft)}.auto-tag{text-transform:uppercase;letter-spacing:.4px;color:var(--warn);background:var(--warn-soft);border:1px solid var(--warn);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:10.5px;font-weight:700}tr.row-action{cursor:pointer}tr.row-action:hover{background:var(--accent-soft)}tr.row-action:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}thead th{text-align:left;text-transform:uppercase;letter-spacing:.55px;color:var(--text-3);border-bottom:1px solid var(--border);background:var(--surface-muted);white-space:nowrap;z-index:1;padding:12px 22px;font-size:11px;font-weight:700;position:sticky;top:0}tbody td{border-bottom:1px solid var(--border);padding:14px 22px}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background-color var(--dur) var(--ease)}tbody tr:hover{background:var(--surface-hover)}.serial-cell{font-family:var(--font-body);font-size:13px;font-weight:600}.serial-tag{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 10px;display:inline-block}.defect-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:12.5px;font-weight:600;display:inline-flex}.conf-wrap{align-items:center;gap:10px;display:flex}.conf-track{background:var(--raised);border-radius:999px;width:76px;height:6px;overflow:hidden}.conf-fill{background:linear-gradient(90deg, var(--accent), #3b82f6);border-radius:999px;height:100%;display:block}.conf-num{color:var(--text-2);min-width:36px;font-size:12.5px;font-weight:700}.empty-state{text-align:center;color:var(--text-3);padding:52px 24px;font-size:14px}.pagination-bar{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:16px;display:flex}.pagination-info{color:var(--text-2);font-size:12.5px;font-weight:600}.pagination-controls{align-items:center;gap:8px;display:flex}.page-size-control{color:var(--text-2);align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:inline-flex}.page-size-control select{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs);padding:6px 28px 6px 10px}.pagination-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs);padding:7px 14px;font-size:12px;font-weight:600}.pagination-btn:hover:not(:disabled){background:var(--surface-hover)}.pagination-btn:disabled{opacity:.45;cursor:default}.bundle-list-loading{min-height:120px;color:var(--text-3);place-items:center;font-size:13.5px;font-weight:600;display:grid}.loading-state{text-align:center;color:var(--text-3);padding:88px 24px;font-size:14px;font-weight:600}.cmp-serial{font-size:13px;font-weight:700;font-family:var(--font-body)}.cmp-meta{color:var(--text-3);margin-top:3px;font-size:11.5px}.cmp-stat{text-align:right;white-space:nowrap;font-size:12.5px;font-weight:700}.cmp-stat .pct-bad{color:var(--bad)}.cmp-stat .pct-good{color:var(--good)}.stack-track{background:var(--raised);border-radius:999px;height:14px;display:flex;overflow:hidden;box-shadow:inset 0 1px 2px #0f172a0f}.result-cell{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.panel-result{letter-spacing:.2px;white-space:nowrap;border-radius:999px;align-items:baseline;gap:5px;padding:5px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.result-who{opacity:.7;font-weight:600}.panel-result.good{color:var(--good);background:var(--good-soft);box-shadow:inset 0 0 0 1px var(--good-ring)}.panel-result.defective{color:var(--bad);background:var(--bad-soft);box-shadow:inset 0 0 0 1px var(--bad-ring)}.panel-corrected{white-space:nowrap;border:1px dashed var(--border);background:var(--surface-muted);color:var(--text-2);letter-spacing:.2px;white-space:nowrap;cursor:help;border-radius:999px;align-items:baseline;gap:5px;padding:4px 9px;font-size:10.5px;font-weight:600;display:inline-flex}.panel-corrected.good{color:var(--good);border-color:var(--good-ring)}.panel-corrected.defective{color:var(--bad);border-color:var(--bad-ring)}.panel-pagination{background:var(--surface-muted);margin:0;padding:16px 22px}.active-bundle-banner{border:1px solid var(--good-ring);border-radius:var(--radius);background:var(--good-soft);color:var(--good);box-shadow:var(--shadow-xs);align-items:center;gap:10px;margin:0 0 20px;padding:12px 16px;font-size:13px;display:flex}.active-bundle-banner.none{border-color:var(--border);background:var(--surface-muted);color:var(--text-2)}.active-bundle-banner.auto{border-color:var(--warn);background:var(--warn-soft);color:var(--warn)}.active-bundle-banner.auto .active-bundle-dot{background:var(--warn);box-shadow:0 0 0 4px #d977062e}.active-bundle-dot{background:var(--good);border-radius:50%;width:8px;height:8px;animation:2.4s ease-in-out infinite pulse-dot;box-shadow:0 0 0 4px #0596692e}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 4px #0596692e}50%{box-shadow:0 0 0 6px #05966914}}.active-bundle-banner.none .active-bundle-dot{background:var(--text-3);box-shadow:0 0 0 4px var(--raised);animation:none}.active-bundle-label{font-weight:700}.active-bundle-banner strong{font-family:var(--font-body);color:var(--text)}.active-bundle-note{color:var(--text-2)}@media (max-width:620px){.active-bundle-banner{flex-wrap:wrap;align-items:flex-start}.active-bundle-note{width:100%;margin-left:18px}}.cal-head{align-items:center;gap:8px;margin-bottom:14px;display:flex}.cal-month{letter-spacing:-.2px;flex:1;font-size:14.5px;font-weight:700}.cal-nav{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-2);font-size:15px}.cal-nav:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.cal-nav:disabled{opacity:.4;cursor:default}.cal-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.cal-dow{text-align:center;color:var(--text-3);text-transform:uppercase;letter-spacing:.35px;padding:2px 0 6px;font-size:10px;font-weight:700}.cal-cell{aspect-ratio:1;border-radius:var(--radius-sm);text-align:center;width:100%;transition:outline-color var(--dur) var(--ease), transform var(--dur) var(--ease);border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px;display:flex;position:relative}.cal-cell.blank{visibility:hidden}.cal-cell.norec{background:var(--surface-muted)}.cal-cell.norec .cal-daynum{color:var(--text-3);font-weight:600}.cal-cell.rec{cursor:pointer}.cal-cell.rec:hover{outline:2px solid var(--accent);outline-offset:-1px;transform:scale(1.02)}.cal-cell.today .cal-daynum{text-underline-offset:2px;text-decoration:underline}.cal-cell.selected{outline:2px solid var(--accent);outline-offset:-1px;box-shadow:0 0 0 3px var(--accent-ring)}.cal-daynum{color:var(--text);font-size:12.5px;font-weight:700;line-height:1}.cal-dot{border-radius:999px;width:6px;height:6px}.cal-cell.scanned{background:var(--good-soft)}.cal-cell.scanned .cal-dot{background:var(--good)}.cal-cell.unscanned .cal-dot{background:var(--border)}.cal-loading{color:var(--text-3);padding:2px 2px 8px;font-size:12px}.cal-legend{border-top:1px solid var(--border);color:var(--text-3);flex-wrap:wrap;gap:10px 14px;margin-top:14px;padding-top:14px;font-size:10.5px;display:flex}.cal-legend span{align-items:center;gap:5px;display:inline-flex}.cal-legend i{border-radius:999px;width:8px;height:8px;display:inline-block}.cal-jump{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.cal-jump button{color:var(--accent);border-radius:var(--radius-sm);padding:6px 10px;font-size:12px;font-weight:600}.cal-jump button:hover{background:var(--accent-soft)}footer.app-footer{text-align:center;color:var(--text-3);border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 60%, transparent);padding:20px;font-size:12px}footer.app-footer button{color:var(--text-3);font-size:12px;text-decoration:underline}footer.app-footer button:hover{color:var(--text-2)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);animation:fade-in .18s var(--ease);background:#0c122285;place-items:center;padding:24px;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-backdrop[hidden]{display:none}.modal-panel{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-pop);width:min(940px,100%);max-height:calc(100vh - 48px);animation:modal-in .22s var(--ease);overflow:auto}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.confirm-panel{width:min(460px,100%)}.confirm-body{color:var(--text-2);padding:18px 22px 4px;font-size:14px;line-height:1.55}.confirm-body p+p{margin-top:10px}.confirm-body strong{color:var(--text)}.confirm-actions{justify-content:flex-end;gap:10px;padding:18px 22px 20px;display:flex}.modal-head{border-bottom:1px solid var(--border);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;display:flex}.modal-head-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.modal-toolbar>.modal-faces{margin-right:auto}.modal-faces{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;flex:none;gap:2px;padding:2px;display:inline-flex}.face-tab{color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:3px 12px;font-size:12px;font-weight:600;display:inline-flex}.face-tab:hover{color:var(--text-1)}.face-tab.active{background:var(--surface);color:var(--text-1);box-shadow:0 1px 2px #0000001f}.face-tab-dot{background:var(--bad);border-radius:50%;flex:none;width:6px;height:6px}.modal-head-left h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;font-weight:700;overflow:hidden}.modal-head h2{font-size:16px;font-weight:700}.modal-close{border-radius:var(--radius-sm);border:1px solid var(--border);width:34px;height:34px;color:var(--text-2);background:var(--surface);font-size:18px}.modal-close:hover{background:var(--surface-hover)}.modal-body{padding:24px}.modal-images{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (max-width:720px){.modal-images{grid-template-columns:1fr}}.modal-img-block{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);box-shadow:var(--shadow-xs);overflow:hidden}.modal-img-label{text-transform:uppercase;letter-spacing:.55px;color:var(--text-3);border-bottom:1px solid var(--border);background:var(--surface);padding:11px 16px;font-size:11px;font-weight:700}.modal-img-block .modal-panel-image{background:var(--raised);width:100%;height:auto;display:block}.annotated-image-wrap{position:relative}.zoom-viewport{border-radius:var(--radius-sm);touch-action:none;background:#0c1222;position:relative;overflow:hidden}.zoom-viewport.zoomed{cursor:grab}.zoom-viewport.zoomed:active{cursor:grabbing}.zoom-stage{transform-origin:50%;position:relative}.zoom-stage.panning{will-change:transform}.zoom-stage .modal-panel-image{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.zoom-stage .modal-panel-image.full{opacity:0;transition:opacity .18s;position:absolute;inset:0}.zoom-stage .modal-panel-image.full.ready{opacity:1}@media (prefers-reduced-motion:reduce){.zoom-stage .modal-panel-image.full{transition:none}}.modal-toolbar{border-bottom:1px solid var(--border);background:var(--surface-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex}.zoom-controls{align-items:center;gap:6px;display:flex}.zoom-btn{min-width:36px;padding:6px 10px;font-size:15px;line-height:1}.zoom-btn.wide{font-size:12.5px}.zoom-level{text-align:center;min-width:54px;color:var(--text-2);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:600}.overlay-toggles{align-items:center;gap:14px;display:flex}.toggle{color:var(--text-2);cursor:pointer;align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:inline-flex}.modal-hint{color:var(--text-3);padding:10px 24px 16px;font-size:12px}.modal-hint kbd{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-family:inherit;font-size:11px}.defect-outline{pointer-events:none;outline:calc(1px * var(--outline-scale,1)) solid var(--outline-color,#ff2d55);outline-offset:calc(1px * var(--outline-scale,1));box-shadow:0 0 0 calc(2px * var(--outline-scale,1)) #0c1222cc, 0 0 calc(9px * var(--outline-scale,1)) calc(1px * var(--outline-scale,1)) color-mix(in srgb, var(--outline-color,#ff2d55) 55%, transparent);animation:2s ease-in-out infinite defect-pulse;position:absolute}@keyframes defect-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.defect-outline{animation:none}}.defect-outline.plain{outline-width:calc(.75px * var(--outline-scale,1));box-shadow:0 0 0 calc(1.5px * var(--outline-scale,1)) #0c1222b3;animation:none}.defect-outline-tick{width:calc(8px * var(--outline-scale,1));height:calc(8px * var(--outline-scale,1));border:calc(1.5px * var(--outline-scale,1)) solid #fff;filter:drop-shadow(0 0 calc(2px * var(--outline-scale,1)) #0c1222e6);position:absolute}.defect-outline-tick.tl{top:calc(-4px * var(--outline-scale,1));left:calc(-4px * var(--outline-scale,1));border-bottom:none;border-right:none}.defect-outline-tick.tr{top:calc(-4px * var(--outline-scale,1));right:calc(-4px * var(--outline-scale,1));border-bottom:none;border-left:none}.defect-outline-tick.bl{bottom:calc(-4px * var(--outline-scale,1));left:calc(-4px * var(--outline-scale,1));border-top:none;border-right:none}.defect-outline-tick.br{bottom:calc(-4px * var(--outline-scale,1));right:calc(-4px * var(--outline-scale,1));border-top:none;border-left:none}.defect-scrim{pointer-events:none;background:#0c12228c;position:absolute;inset:0}.modal-file{font-family:var(--font-body);color:var(--text-3,var(--text-2));letter-spacing:.2px;white-space:nowrap;font-size:12px}.segment-chip{letter-spacing:.3px;color:var(--text-2);background:var(--surface-hover);border:1px solid var(--border-strong);vertical-align:middle;cursor:help;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:10.5px;font-weight:700;display:inline-block}.segmentation-mask-overlay{pointer-events:none;position:absolute}.segmentation-unavailable{color:#fff;text-align:center;background:#151d2f94;place-items:center;padding:16px;font-size:12px;font-weight:700;display:grid;position:absolute;inset:0}.modal-loading,.modal-error{text-align:center;color:var(--text-3);padding:52px 24px;font-size:14px}.modal-error{color:var(--bad)}@media (max-width:768px){.header{flex-wrap:wrap;padding:10px 16px}.main{padding:20px 16px 56px}.page-title h1{font-size:21px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.add-bundle-panel{width:min(560px,100%)}.wizard-body{flex-direction:column;gap:18px;display:flex}.wizard-body .field{flex-direction:column;gap:6px;display:flex}.wizard-body .field>label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:700}.wizard-body .manual-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);padding:9px 11px;font-size:14px}.wizard-body .manual-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.wizard-body .manual-input:disabled{opacity:.55;cursor:not-allowed}.wizard-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.wizard-upload{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-muted);flex-direction:column;gap:10px;padding:14px;display:flex}.wizard-upload-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.wizard-upload-label{min-width:110px;color:var(--text);flex-direction:column;font-size:13px;font-weight:600;display:flex}.wizard-upload-label small{color:var(--text-3);font-size:11px;font-weight:400}.wizard-upload-row .manual-input{flex:200px;min-width:0}.wizard-summary{color:var(--text-3);text-align:left;max-width:46ch;margin-right:auto;font-size:12px;line-height:1.5}.wizard-body .qc-note{margin:0}.piece-outline{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);flex-direction:column;align-items:center;gap:8px;margin:0;padding:12px;display:flex}.piece-outline.loading,.piece-outline.empty{text-align:center;color:var(--text-3);padding:22px 14px;font-size:12px}.piece-outline-svg{width:100%;max-width:260px;height:auto;display:block}.piece-outline-shape{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.5px;stroke-linejoin:round}.piece-outline-caption{color:var(--text-2);text-align:center;font-size:12px}.wizard-replace-link{color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:12px;text-decoration:underline}.wizard-replace-link:hover{color:var(--accent-hover)}.defect-score{margin-bottom:calc(3px * var(--outline-scale,1));transform:scale(var(--outline-scale,1));transform-origin:0 100%;color:#fff;border:1px solid var(--outline-color,#ff2d55);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;z-index:2;background:#0c1222e6;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700;line-height:1.35;position:absolute;bottom:100%;left:0}.defect-score.below{margin-bottom:0;margin-top:calc(3px * var(--outline-scale,1));transform-origin:0 0;top:100%;bottom:auto}.defect-outline.plain .defect-score{background:#0c1222c7;border-color:#0000;font-weight:600}.loadable{transition:opacity .12s;position:relative}.loadable.is-loading>:not(.spinner){opacity:.45;pointer-events:none}.spinner{z-index:2;border:2.5px solid var(--border);border-top-color:var(--accent,#2563eb);border-radius:50%;width:26px;height:26px;animation:.7s linear infinite spinner-turn;position:absolute;top:28px;left:50%;translate:-50%}@keyframes spinner-turn{to{rotate:360deg}}@media (prefers-reduced-motion:reduce){.spinner{animation:1.2s ease-in-out infinite spinner-fade}@keyframes spinner-fade{0%,to{opacity:.3}50%{opacity:1}}}.pattern-files{flex-direction:column;gap:8px;margin:4px 0 2px;display:flex}.pattern-file{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}.pattern-file.is-present{background:#16a34a0f;border-color:#16a34a59}.pattern-file.is-missing{background:#d977060f;border-color:#d9770659}.pattern-file-mark{color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:grid}.pattern-file.is-present .pattern-file-mark{background:#16a34a}.pattern-file.is-missing .pattern-file-mark{background:#d97706}.pattern-file-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pattern-file-text b{font-size:13px;font-weight:600}.pattern-file-text small{color:var(--text-2);font-size:12px;line-height:1.4}.pattern-file .btn{flex:none}
.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.page-head h1{letter-spacing:-.4px;font-size:24px;font-weight:700;line-height:1.2}.page-sub{color:var(--text-2);max-width:60ch;margin-top:6px;font-size:14px}.filter-chips{flex-wrap:wrap;gap:6px;display:flex}.filter-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600}.filter-chip:hover{border-color:var(--border-strong);color:var(--text)}.filter-chip.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.micro-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.55px;font-size:11px;font-weight:700}.miss{color:var(--text-3)}.table-wrap{overflow-x:auto}.qc-review-table{min-width:980px}.qc-review-table .qc-status-cell,.qc-review-table .qc-actions-cell,.qc-review-table thead th:nth-child(5),.qc-review-table thead th:nth-child(6){white-space:nowrap;width:1%}.qc-review-table .qc-status-cell,.qc-review-table .qc-actions-cell{vertical-align:middle}.qc-review-table thead th:nth-child(2),.qc-review-table thead th:nth-child(3),.qc-review-table thead th:nth-child(4){width:22%}.type-pill{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.type-dot{border-radius:3px;flex-shrink:0;width:8px;height:8px}.qc-pill-row{flex-wrap:wrap;gap:6px;display:inline-flex}.qc-none{color:var(--text-3);font-size:13px}.stat-name{color:var(--text-3);text-transform:lowercase;letter-spacing:.2px;margin-left:5px;font-size:10px;font-style:italic;font-weight:600}.result-tag{letter-spacing:.5px;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.result-tag.good{background:var(--good-soft);color:var(--good)}.result-tag.defective{background:var(--bad-soft);color:var(--bad)}.score-cell{align-items:center;gap:10px;display:flex}.meter{background:var(--raised);border-radius:999px;flex-shrink:0;width:74px;height:6px;display:inline-block;overflow:hidden}.meter.empty{opacity:.45}.meter-fill{border-radius:999px;height:100%;display:block}.score-table td{font-variant-numeric:tabular-nums}.bad-count{color:var(--bad);font-weight:600}.score-footnote{color:var(--text-3);border-top:1px solid var(--border);padding:16px 22px 20px;font-size:12.5px;line-height:1.6}.legend-dot{vertical-align:middle;border-radius:3px;width:9px;height:9px;margin-right:6px;display:inline-block}.h2h-legend{color:var(--text-2);gap:18px;padding:0 22px 14px;font-size:12px;font-weight:600;display:flex}.h2h-row{border-top:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 22px;display:grid}.h2h-value{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.h2h-value.right{align-items:flex-end}.h2h-pct{letter-spacing:-.4px;white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:22px;font-weight:700;line-height:1.25}.h2h-value small{color:var(--text-3);padding:0 12px;font-size:11.5px;font-weight:500}.h2h-mid{text-align:center;min-width:0}.h2h-label{font-size:13px;font-weight:700}.h2h-explainer{color:var(--text-3);margin-top:2px;font-size:11.5px}.h2h-split{background:var(--raised);border-radius:999px;grid-column:1/-1;height:6px;display:flex;overflow:hidden}.h2h-split span{height:100%;display:block}.h2h-buckets{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:16px 22px 0;display:flex}.bucket-chip{background:var(--surface-muted);border:1px solid var(--border);color:var(--text-2);border-radius:999px;padding:5px 11px;font-size:11.5px;font-weight:600}.bucket-chip b{color:var(--text);margin-left:5px}.bucket-chip.good b{color:var(--good)}.bucket-chip.model b{color:var(--accent)}.bucket-chip.qc b{color:var(--warn)}.bucket-chip.bad b{color:var(--bad)}.bucket-chip.warn b{color:var(--warn)}.h2h-footnote,.trend-note{color:var(--text-3);padding:16px 22px 20px;font-size:12px;line-height:1.6}.trend-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.trend-wrap{padding:0 14px;overflow-x:auto}.trend-svg{width:100%;min-width:480px;height:auto}.trend-grid{stroke:#eef0f3;stroke-width:1px}.trend-axis{fill:var(--text-3);font-size:10px}.trend-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.trend-pickers{flex-wrap:wrap;gap:16px;padding:0 22px 4px;display:flex}.qc-input-card .qc-form{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-muted);flex-direction:column;gap:14px;margin:0 22px 20px;padding:18px;display:flex}.qc-form-row{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.qc-form-divider{background:var(--border);height:1px;margin:2px 0}.qc-form .field{flex-direction:column;gap:6px;min-width:0;display:flex}.qc-defect-add{align-items:stretch;gap:10px;display:flex}.qc-defect-add select{flex:1;min-width:0}.qc-plus{white-space:nowrap;border-color:var(--border-strong);flex:none;font-weight:700}.qc-plus span{font-size:15px;line-height:1}.qc-staged{flex-wrap:wrap;align-items:center;gap:8px;min-height:34px;display:flex}.qc-missed-form{border-style:solid;border-color:var(--border)}.pair-missed{color:var(--warn);margin-top:3px;font-size:11px;font-weight:600;display:block}.detect-breakdown{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:14px;padding:16px 22px 4px;display:grid}.detect-side{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);padding:12px 14px}.detect-side-head{align-items:center;gap:8px;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}.detect-line{color:var(--text-2);justify-content:space-between;align-items:baseline;gap:12px;padding:3px 0;font-size:12.5px;display:flex}.detect-line b{color:var(--text);font-size:14px}.evidence-body{flex-direction:column;gap:20px;display:flex}.evidence-face{flex-direction:column;gap:10px;display:flex}.evidence-face+.evidence-face{border-top:1px solid var(--border);padding-top:16px}.evidence-face-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.evidence-face-head .zoom-btn{margin-left:auto}.face-tag{letter-spacing:.4px;text-transform:uppercase;background:var(--surface-muted);color:var(--text-2);border:1px solid var(--border);border-radius:999px;align-items:center;padding:4px 12px;font-size:11.5px;font-weight:700;display:inline-flex}.face-file{font-family:var(--font-body);color:var(--text-3,var(--text-2));letter-spacing:.2px;white-space:nowrap;text-overflow:ellipsis;max-width:22ch;margin-right:auto;font-size:11.5px;overflow:hidden}.face-tag.extra{color:var(--text-3);background:0 0;border-style:dashed}.evidence-pair{grid-template-columns:1fr 1fr;gap:16px;display:grid}.evidence-pair.triple{grid-template-columns:repeat(3,1fr)}.evidence-pair.solo{grid-template-columns:1fr}.nowrap{white-space:nowrap}.evidence-empty{color:var(--text-3);margin:8px 0 0;font-size:12px}.evidence-frame{flex-direction:column;gap:8px;min-width:0;display:flex}.evidence-frame figcaption{text-transform:uppercase;letter-spacing:.55px;color:var(--text-3);font-size:11px;font-weight:700}.evidence-findings{flex-direction:column;gap:18px;display:flex}.find-block h3{text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);align-items:baseline;gap:8px;margin:0 0 10px;font-size:11.5px;font-weight:700;display:flex}.find-note{text-transform:none;letter-spacing:0;color:var(--text-3);opacity:.85;font-size:11.5px;font-weight:500}.decision-list{max-height:34vh;padding-right:6px;overflow-y:auto}.decision-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;display:flex}.decision-list .decision-row:first-child{border-top:none}.decision-row.resolved{opacity:.72}.decision-claim{align-items:center;gap:10px;min-width:0;display:flex}.decision-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.missed-add{margin-top:12px}@media (max-width:1080px){.detect-breakdown{grid-template-columns:1fr}}.qc-form-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.qc-pending-note{color:var(--text-3);font-size:12px;font-weight:600}.manual-input.bad{border-color:var(--bad)}.bad-text{color:var(--bad);font-weight:600}.qc-form label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);font-size:11px;font-weight:700}.qc-form select,.qc-form .manual-input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font:inherit;color:var(--text);width:100%;padding:9px 11px;font-size:13.5px}.qc-form select:focus-visible,.qc-form .manual-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.manual-hint{color:var(--text-3);font-size:11px}.qc-note{border-radius:var(--radius-sm);margin:0 22px 20px;padding:10px 14px;font-size:12.5px;font-weight:600}.qc-note.ok{background:var(--good-soft);color:var(--good)}.qc-note.warn{background:var(--warn-soft);color:var(--warn)}.finding-chip{align-items:center;gap:2px;display:inline-flex}.finding-remove{width:18px;height:18px;color:var(--text-3);border-radius:999px;font-size:13px;line-height:1}.finding-remove:hover{background:var(--bad-soft);color:var(--bad)}.eye-btn{font-size:13px}.sme-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:13px 22px;display:flex}.sme-row.resolved{background:var(--surface-muted)}.side-tag{font-size:11.5px;font-weight:600}.sme-verdict{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.sme-verdict select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font:inherit;padding:6px 9px;font-size:12.5px}.btn-sm{white-space:nowrap;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);min-width:96px;color:var(--text-2);justify-content:center;align-items:center;gap:5px;padding:6px 14px;font-size:12.5px;font-weight:600;display:inline-flex}.btn-sm:hover{border-color:var(--border-strong);color:var(--text)}.btn-sm.present:hover{border-color:var(--good);background:var(--good-soft);color:var(--good)}.btn-sm.absent:hover{border-color:var(--bad);background:var(--bad-soft);color:var(--bad)}.btn-sm.btn-primary{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.btn-sm.btn-primary:hover{color:var(--on-accent);background:var(--accent-hover);border-color:var(--accent-hover)}.x-btn{border-radius:var(--radius-sm);border:1px solid var(--border);width:26px;height:26px;color:var(--text-3);font-size:13px}.x-btn:hover{border-color:var(--border-strong);color:var(--text)}.v-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 11px;font-size:11.5px;font-weight:700;display:inline-flex}.v-pill.v-real{background:var(--good-soft);color:var(--good)}.v-pill.v-false{background:var(--bad-soft);color:var(--bad)}.v-pill.v-reclass{background:var(--qc-soft);color:var(--qc)}.find-help{color:var(--text-3);max-width:78ch;margin:6px 0 12px;font-size:12.5px;line-height:1.6}.pair-row{border-top:1px solid var(--border);align-items:center;gap:16px;padding:11px 22px;display:flex}.pair-name{flex-shrink:0;width:130px;font-size:13px;font-weight:600}.pair-bars{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.pair-bar{align-items:center;gap:10px;display:flex}.pair-track{background:var(--raised);border-radius:999px;flex:1;height:8px;overflow:hidden}.pair-fill{border-radius:999px;min-width:2px;height:100%;display:block}.pair-val{text-align:right;font-variant-numeric:tabular-nums;width:30px;font-size:12px;font-weight:600}.pair-verified{text-align:right;width:100px;color:var(--good);font-size:12px}.qc-complete-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding:18px 22px;display:flex}.qc-complete-bar p{color:var(--text-3);max-width:62ch;margin-top:4px;font-size:12.5px}.qc-done-banner{border-radius:var(--radius-lg);background:var(--good-soft);border:1px solid var(--good-ring);color:var(--good);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:14px 22px;font-size:13px;font-weight:600;display:flex}.result-tag.pending{background:var(--warn-soft);color:var(--warn)}.chip.warn b{color:var(--warn)}.evidence-claims{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.evidence-image{border-radius:var(--radius-sm);background:#0f172a;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.evidence-body{--evidence-h:30vh}.evidence-image .zoom-viewport{width:100%;height:var(--evidence-h,44vh);place-items:center;min-height:200px;display:grid}.evidence-image .zoom-stage{width:fit-content;max-width:100%;height:fit-content}.evidence-image .zoom-stage .modal-panel-image{width:auto;max-width:100%;height:auto;max-height:var(--evidence-h,44vh);object-fit:contain}.evidence-skeleton{width:100%;height:var(--evidence-h,44vh);background:linear-gradient(100deg,#0f172a 30%,#1e293b 50%,#0f172a 70%) 0 0/240% 100%;min-height:200px;animation:1.4s ease-in-out infinite evidence-shimmer}.evidence-skeleton.over{height:auto;position:absolute;inset:0}@keyframes evidence-shimmer{0%{background-position:130% 0}to{background-position:-30% 0}}@media (prefers-reduced-motion:reduce){.evidence-skeleton{animation:none}}.evidence-panel{width:min(1480px,100%)}.evidence-done{flex:none}.modal-error.inline{text-align:left;border:1px solid var(--bad-ring,var(--border));border-radius:var(--radius-sm);background:var(--bad-soft);padding:12px 16px;font-size:13px}@media (max-width:1080px){.evidence-pair,.evidence-pair.solo,.evidence-pair.triple,.qc-input-card .qc-form{grid-template-columns:1fr}}.qc-review-head,.page-head{margin-bottom:28px}.qc-review-head{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.qc-head-top{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.qc-review-head h1{letter-spacing:-.4px;margin:0;font-size:26px;font-weight:700;line-height:1.2}.qc-head-stats{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);flex-wrap:wrap;align-items:stretch;display:flex;overflow:hidden}.qc-stat{flex-direction:column;justify-content:center;gap:3px;min-width:104px;padding:11px 20px;display:flex}.qc-stat+.qc-stat{border-left:1px solid var(--border)}.qc-stat b{letter-spacing:-.3px;color:var(--text);font-size:19px;font-weight:700;line-height:1.1}.qc-stat span{text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);white-space:nowrap;font-size:10.5px;font-weight:700}.qc-stat.warn b{color:var(--warn)}.qc-stat.ok b{color:var(--good)}.qc-review-head~.card,.card+.card{margin-top:22px}.card-title{padding:22px 26px 0;font-size:16px}.card-sub{max-width:90ch;padding:8px 26px 20px;font-size:13.5px;line-height:1.6}.qc-review-head~.card thead th{padding:14px 26px;font-size:11.5px}.qc-review-head~.card tbody td{padding:18px 26px;font-size:14px}.serial-cell{font-size:13.5px;line-height:1.4}.serial-cell small{font-family:var(--font-body);color:var(--text-3);letter-spacing:0;margin-top:3px;font-size:11px;font-weight:500;display:block}.pairing-banner{border-radius:var(--radius-lg);background:var(--warn-soft);border:1px solid var(--warn-ring,var(--border));color:var(--text);margin-bottom:20px;padding:16px 22px;font-size:13px}.pairing-banner ul{color:var(--text-2);margin:8px 0 10px;padding-left:20px}.pairing-banner li{margin-top:3px}.pairing-banner p{color:var(--text-3);max-width:80ch;font-size:12.5px;line-height:1.6}.pairing-flag{color:var(--warn);font-weight:700}.qc-input-card .qc-form{gap:20px;margin:0 26px 24px;padding:22px}.qc-form label{margin-bottom:2px;font-size:11.5px}.qc-form select,.qc-form .manual-input{padding:11px 13px;font-size:14.5px}.qc-form .qc-add-wrap .btn{padding:11px 20px;font-size:14px}.manual-hint{margin-top:2px;font-size:11.5px}.qc-note{margin:0 26px 24px;padding:13px 16px;font-size:13.5px}.sme-row{gap:10px 16px;padding:18px 26px}.sme-row .serial-cell{min-width:120px}.side-tag{font-size:12.5px}.sme-verdict{gap:10px}.btn-sm{padding:9px 15px;font-size:13px}.x-btn{width:30px;height:30px;font-size:14px}.v-pill{padding:6px 13px;font-size:12.5px}.sme-verdict select{padding:8px 11px;font-size:13.5px}.pair-row{gap:20px;padding:15px 26px}.pair-name{width:150px;font-size:13.5px}.pair-bars{gap:6px}.pair-track{height:10px}.pair-val{width:34px;font-size:13px}.pair-verified{width:110px;font-size:12.5px;font-weight:600}.h2h-legend{padding:0 26px 18px;font-size:12.5px}.h2h-row{gap:14px 18px;padding:22px 26px}.h2h-pct{font-size:25px}.h2h-value small{font-size:12px}.h2h-label{font-size:14px}.h2h-explainer{margin-top:3px;font-size:12.5px}.h2h-buckets{gap:10px;padding:20px 26px 4px}.bucket-chip{padding:7px 14px;font-size:12.5px}.h2h-footnote,.score-footnote,.trend-note{max-width:90ch;padding:18px 26px 24px;font-size:13px;line-height:1.65}.qc-complete-bar{gap:24px;margin-top:24px;padding:22px 26px}.qc-complete-bar b{font-size:15px}.qc-complete-bar p{margin-top:6px;font-size:13.5px;line-height:1.55}.qc-complete-bar .btn{padding:11px 22px;font-size:14px}.qc-done-banner{margin-bottom:24px;padding:18px 26px;font-size:13.5px;line-height:1.55}.chip{padding:8px 14px;font-size:12.5px}.empty-state{padding:60px 26px;font-size:14.5px;line-height:1.7}.evidence-claims{gap:10px;font-size:13.5px}@media (max-width:900px){.qc-form .qc-add-wrap .btn{width:100%}.sme-verdict{width:100%;margin-left:0}}.paired-hint{color:var(--warn);background:var(--warn-soft);text-transform:uppercase;letter-spacing:.4px;cursor:help;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.qc-panel-picker{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:16px;display:grid}@media (max-width:900px){.qc-panel-picker{grid-template-columns:1fr}}.card-range{color:var(--text-3);letter-spacing:0;text-transform:none;margin-left:8px;font-size:11.5px;font-weight:600}.trend-count{fill:var(--text-3);font-size:10px;font-weight:600}.trend-count.thin{fill:var(--warn)}.trend-note{color:var(--text-3);max-width:88ch;padding:0 22px 18px;font-size:12px;line-height:1.6}.gsm-reading{border-top:1px solid var(--border);margin-top:4px;padding-top:16px}.gsm-reading-title{letter-spacing:.3px;margin:0 0 10px;font-size:13px;font-weight:700}.gsm-reading-item+.gsm-reading-item{border-top:1px dashed var(--border);margin-top:18px;padding-top:18px}.gsm-reading-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.gsm-reading-stats{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:4px;font-size:13px;display:flex}.gsm-map-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);margin-top:10px;overflow-x:auto}.gsm-map{max-width:100%;height:auto;display:block}.evidence-image.gsm-map-pane{background:var(--surface-muted);height:var(--evidence-h,44vh);min-height:200px;padding:6px}.evidence-image.gsm-map-pane .gsm-map{object-fit:contain;max-height:100%}.trend-tip rect{fill:var(--text);opacity:.94}.trend-tip-value{fill:#fff;font-size:12px;font-weight:700}.trend-tip-sub{fill:#fff;opacity:.78;font-size:10px}.h2h-row-open{width:100%;font:inherit;color:inherit;text-align:inherit;cursor:pointer;border-radius:var(--radius);transition:background var(--dur) var(--ease);background:0 0;border:none}.h2h-row-open:hover{background:var(--surface-hover)}.breakdown-filters{padding:0 22px 12px}.admin-dot{opacity:.3;border-radius:999px;flex-shrink:0;width:28px;height:28px;transition:opacity .15s,background .15s;position:relative}.admin-dot:after{content:"";background:var(--text-3);border-radius:999px;position:absolute;inset:10.5px}.admin-dot:hover,.admin-dot:focus-visible{opacity:.85;background:var(--surface-muted)}.admin-chip{background:var(--surface-muted);border:1px solid var(--border);color:var(--text-2);letter-spacing:.02em;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:7px;padding:4px 4px 4px 11px;font-size:12px;font-weight:700;display:inline-flex}.admin-chip-dot{background:var(--warn,#b45309);border-radius:999px;flex-shrink:0;width:7px;height:7px}.admin-exit{background:var(--surface);border:1px solid var(--border);color:var(--text-2);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.admin-exit:hover{background:var(--surface-hover);color:var(--text)}.pin-field{margin:16px 0 4px;display:block}.pin-field .micro-label{margin-bottom:6px;display:block}.pin-input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:100%;font:inherit;letter-spacing:.35em;color:var(--text);padding:11px 13px;font-size:18px}.pin-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pin-input[aria-invalid=true]{border-color:var(--bad)}.pin-input:disabled{opacity:.6}.pin-note{color:var(--text-3);margin-top:12px;font-size:12px}.sign-in-roles{background:var(--surface-muted);box-shadow:inset 0 0 0 1px var(--border);border-radius:11px;gap:4px;padding:3px;display:flex}.sign-in-role{min-height:40px;color:var(--text-2);border-radius:8px;flex:1;font-weight:600}.sign-in-role[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000024}.sign-in-role:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sign-in-help{color:var(--text-2);margin-top:10px;font-size:13px}.admin-chip.role-qc .admin-chip-dot{background:var(--accent)}.breakdown-table td{vertical-align:top}.tag-cell{min-width:150px}.tag-list{flex-wrap:wrap;gap:4px 6px;display:flex}.score-row-open{cursor:pointer}.score-row-open:hover{background:var(--surface-muted)}.score-scope-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px 14px;display:flex}.qc-table-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;margin:12px 0 14px;display:flex}.chip-count{opacity:.6;font-variant-numeric:tabular-nums;margin-left:6px}.filter-chip .type-dot{vertical-align:baseline;margin-right:6px}.qc-show-all{color:var(--text-2);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.qc-show-all input{accent-color:var(--accent,currentColor);cursor:pointer}.qc-show-all-note{color:var(--text-3);font-size:11.5px}.qc-show-all-note:before{content:"·";margin-right:6px}.stopped-tag{color:var(--warn);white-space:nowrap;align-items:center;gap:4px;font-weight:700;display:inline-flex}.qc-note.stopped-note{flex-direction:column;gap:6px;margin:0;display:flex}.qc-note p{max-width:78ch;margin:4px 0 0;font-weight:500;line-height:1.55}.evidence-head-actions{align-items:center;gap:12px;display:flex}.evidence-step{align-items:center;gap:6px;display:inline-flex}.evidence-step-count{color:var(--text-3);font-variant-numeric:tabular-nums;text-align:center;min-width:5ch;font-size:12px}
.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon{vertical-align:middle;flex:none;display:inline-block}.num{font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em}.cap{color:var(--text-2);font-size:13px}.muted{color:var(--text-3)}.link-btn{color:var(--accent);text-underline-offset:2px;padding:0;font-weight:600;text-decoration:underline}.link-btn:hover{color:var(--accent-hover)}.navbar{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:25;background:var(--nav-bg);-webkit-backdrop-filter:saturate(1.6)blur(20px);max-width:420px;box-shadow:0 0 0 1px var(--border), 0 16px 36px -14px #00000059;border-radius:24px;gap:4px;margin:0 auto;padding:6px;display:flex;position:fixed}.navbar.has-more{max-width:660px}.nav-tab{min-width:0;height:54px;color:var(--text-2);white-space:nowrap;border-radius:18px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:0 4px;font-size:11.5px;font-weight:500;transition:background .25s,color .25s;display:flex}.nav-tab span{text-overflow:ellipsis;max-width:100%;overflow:hidden}.nav-tab:hover{color:var(--text)}.nav-tab[aria-current=page]{background:var(--nav-on);color:var(--nav-on-fg)}.nav-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-tab .icon{width:21px;height:21px}.main.has-tabbar{padding-bottom:calc(var(--tabbar) + 48px + env(safe-area-inset-bottom))}.nav-more{display:none}.more-list{gap:8px;display:grid}.more-item{background:var(--surface);min-height:52px;box-shadow:inset 0 0 0 1px var(--border);border-radius:14px;align-items:center;gap:12px;padding:0 16px;font-size:16px;font-weight:600;display:flex}.more-item[aria-current=page]{background:var(--nav-on);color:var(--nav-on-fg)}.admin-chip-label{white-space:nowrap}.day-controls{align-items:center;gap:14px;display:flex}.day-controls-phone{display:none}.skeleton{background:linear-gradient(90deg, var(--raised) 0%, var(--grid) 40%, var(--raised) 80%);background-size:300% 100%;border-radius:8px;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}.skeleton-rows{gap:12px;margin-top:12px;display:grid}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.card-error{background:var(--bad-soft);color:var(--text);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-top:12px;padding:14px 16px;font-size:14px;display:flex}.card-error span{color:var(--text-2)}dialog.sheet{background:var(--bg);width:min(560px,100vw - 32px);max-height:min(90dvh,900px);color:var(--text);box-shadow:var(--shadow-pop);border:0;border-radius:22px;margin:auto;padding:0;overflow:hidden}dialog.sheet.sheet-wide{width:min(760px,100vw - 32px)}dialog.sheet::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#080c1680}dialog.sheet[open]{animation:sheet-in .28s var(--ease);display:flex}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)}}.sheet-inner{width:100%;max-height:inherit;flex-direction:column;display:flex;overflow:hidden}.sheet-head{align-items:flex-start;gap:12px;padding:22px 20px 12px;display:flex;position:relative}.sheet-titles{flex:1;min-width:0}.sheet-head h2{align-items:center;gap:10px;font-size:23px;font-weight:700;line-height:1.15;display:flex}.sheet-head h2 .icon{color:var(--text-3)}.sheet-head p{color:var(--text-2);margin-top:4px;font-size:14px}.sheet-close{background:var(--surface);width:38px;height:38px;box-shadow:inset 0 0 0 1px var(--border);border-radius:50%;flex:none;place-items:center;display:grid}.sheet-body{overscroll-behavior:contain;align-content:start;gap:14px;padding:4px 20px 20px;display:grid;overflow:auto}.sheet-body>.card{padding:18px}.sheet-foot{padding:14px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface)}.sheet-actions{justify-content:flex-end;gap:10px;display:flex}.sheet-bundles{gap:6px;max-height:40dvh;display:grid;overflow:auto}.stats-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-bottom:20px;display:flex}.stats-head-text{min-width:0}.stats-head h1{letter-spacing:-.015em;text-wrap:balance;font-size:34px;font-weight:700;line-height:1.05}.stats-sub{color:var(--text-2);margin-top:6px;font-size:15px}.updated{color:var(--text-3);min-height:1.4em;margin-top:6px;font-size:13.5px}.range-control{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:8px;min-width:min(460px,100%);display:grid}.range-button{background:var(--surface);min-width:0;min-height:46px;box-shadow:inset 0 0 0 1px var(--border), var(--shadow-xs);text-align:left;border-radius:12px;align-items:center;gap:10px;padding:0 14px;display:flex}.range-button span{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:15px;font-weight:600;overflow:hidden}.range-button .icon{color:var(--text-2)}.seg{background:var(--raised);box-shadow:inset 0 0 0 1px var(--border);border-radius:12px;gap:2px;padding:4px;display:flex}.seg button{min-width:0;min-height:38px;color:var(--text-2);white-space:nowrap;border-radius:9px;flex:1;padding:0 10px;font-size:14px;font-weight:600}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0f172a14,0 2px 6px -2px #0f172a24}.seg-sm{border-radius:10px;padding:3px}.seg-sm button{min-height:32px;padding:0 10px;font-size:13px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.stats-grid>.card+.card{margin-top:0}.stats-grid>.card:not(.wide){height:100%}.stats-grid>.rates-card,.stats-grid>.coverage-card{flex-direction:column;display:flex}.stats-grid>.rates-card>.card-h,.stats-grid>.coverage-card>.card-h{min-height:38px}.rates-body{flex-direction:column;flex:1;justify-content:center;display:flex}.stats-grid>.coverage-card .coverage-body{flex:1}.stats-grid>.wide{grid-column:1/-1}.stats-grid .card,.sheet-body .card{border-radius:18px;min-width:0}.card-h{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;min-height:32px;display:flex}.card-h h2{align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.card-h h2 .icon{color:var(--text-3)}.stats-grid .card>.cap,.sheet-body .card>.cap{margin-top:6px}.kpi3{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 12px;display:grid}.kpi-tile{background:var(--surface);min-width:0;box-shadow:0 0 0 1px var(--border), 0 1px 2px #0f172a0d, 0 8px 18px -12px #0f172a40;border-radius:14px;padding:16px 14px 14px}.kpi-tile .num{font-size:clamp(26px,6.4vw,36px);font-weight:700;line-height:1.05;display:block}.kpi-tile .cap{align-items:flex-start;gap:5px;margin-top:10px;font-size:12.5px;line-height:1.35;display:flex}.kpi-tile .cap .icon{margin-top:2px}.kpi-tile.tone-checked .icon{color:var(--good)}.kpi-tile.tone-defective .icon{color:var(--bad)}.kpi-tile.tone-rate .icon{color:var(--warn)}.key{flex:none;width:10px;height:10px;display:inline-block}.key.model{background:var(--model);border-radius:50%}.key.qc{background:var(--qc);border-radius:2px}.who{color:var(--text-2);align-items:center;gap:7px;font-size:14.5px;font-weight:600;display:inline-flex}.rates{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.rate-metric{min-width:0}.rate{margin:10px 0 4px;font-size:clamp(40px,11vw,52px);font-weight:700;line-height:1}.rate small{font-size:.48em}.rate.model{color:var(--model)}.rate.qc{color:var(--qc)}.rate-open{text-align:left;border-radius:12px;width:calc(100% + 16px);margin:0 -8px;padding:0 8px;display:block}.rate-open:hover{background:var(--surface-hover)}.rate-plot{margin:20px 8px 0}.rate-axis{height:20px;position:relative}.rate-axis:before{content:"";background:var(--border);height:2px;position:absolute;top:9px;left:0;right:0}.rate-span{border-radius:4px;height:4px;position:absolute;top:8px}.rate-span.model-ahead{background:linear-gradient(90deg, var(--qc), var(--model))}.rate-span.qc-ahead{background:linear-gradient(90deg, var(--model), var(--qc))}.rate-mark{border:3px solid var(--surface);width:14px;height:14px;position:absolute;top:3px;transform:translate(-50%)}.rate-mark.model{background:var(--model);box-shadow:0 0 0 1px var(--model);border-radius:50%}.rate-mark.qc{background:var(--qc);box-shadow:0 0 0 1px var(--qc);border-radius:3px}.rate-ticks{color:var(--text-3);justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.diff{background:var(--raised);border-radius:14px;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;display:flex}.diff p{min-width:0;font-size:13.5px;line-height:1.3}.diff p b{font-weight:700;display:block}.diff p span{color:var(--text-2)}.diff .num{white-space:nowrap;margin-left:auto;font-size:26px;font-weight:700}.diff .num small{color:var(--text-2);font-size:.5em}.diff .num.diff-better{color:var(--good)}.diff .num.diff-worse{color:var(--bad)}.diff-arrow{vertical-align:.12em;margin-right:4px;font-size:.7em}.defects-line{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 14px;margin-top:14px;padding-top:12px;font-size:14px;display:flex}.defects-line-label{color:var(--text-2);font-weight:600}.defects-line-values{flex-wrap:wrap;gap:4px 16px;display:flex}.defects-line-values .who{color:var(--text);font-size:16px;font-weight:700}.defects-line-values small{color:var(--text-3);font-size:12.5px;font-weight:400}.upload-card .card-title,.upload-card .card-sub{padding-left:0;padding-right:0}.upload-card .card-title{padding-top:0}.upload-card .card-sub{padding-bottom:0}.upload-tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px;margin-top:14px;display:grid}.upload-tile{border:1px dashed var(--border-strong,var(--border));background:var(--raised);border-radius:14px;align-items:center;gap:14px;min-width:0;padding:14px 16px;transition:border-color .15s;display:flex}.upload-tile:hover,.upload-tile:focus-within{border-color:var(--text-3)}.upload-tile.is-busy{border-style:solid}.upload-tile-mark{background:var(--surface);width:40px;height:40px;color:var(--text-2);border-radius:12px;flex:none;place-items:center;display:grid}.upload-tile-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.upload-tile-text b{font-size:15px;font-weight:700}.upload-tile-text small{color:var(--text-2);font-size:13px;line-height:1.4}.upload-tile-btn{white-space:nowrap;flex:none;align-items:center;gap:6px;display:inline-flex}@media (max-width:480px){.upload-tile{flex-wrap:wrap}.upload-tile-btn{justify-content:center;width:100%;min-height:44px}}@media (prefers-reduced-motion:reduce){.upload-tile{transition:none}}.coverage-switches{flex-wrap:wrap;gap:6px;display:flex}.coverage-body{grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:18px;margin-top:14px;display:grid}.coverage-card.compact .coverage-body{grid-template-columns:minmax(0,1fr) 130px}.coverage-visual{flex-direction:column;justify-content:center;min-width:0;min-height:220px;display:flex}.coverage-side{gap:14px;min-width:0;display:grid}.coverage-rate{min-width:0}.coverage-label{color:var(--text-2);align-items:center;gap:6px;font-size:13px;display:flex}.coverage-rate strong{margin-top:3px;font-size:28px;line-height:1.05;display:block}.coverage-rate strong.model{color:var(--model)}.coverage-rate strong.qc{color:var(--qc)}.coverage-rate small{color:var(--text-3);margin-top:4px;font-size:12px;display:block}.coverage-counts{gap:8px;display:grid}.coverage-counts>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.coverage-counts dt{color:var(--text-2);align-items:center;gap:6px;font-size:13px;display:flex}.coverage-counts dd{font-size:20px;font-weight:700}.coverage-key{border-radius:50%;width:9px;height:9px;display:inline-block}.coverage-insight{border-top:1px solid var(--border);color:var(--text-2);padding-top:12px;font-size:13px;line-height:1.35}.coverage-insight strong{color:var(--text);font-size:26px;font-weight:700;line-height:1.1;display:block}.coverage-flags{background:var(--raised);color:var(--text-2);border-radius:12px;margin-top:14px;padding:10px 12px;font-size:13.5px}.coverage-flags b{color:var(--text)}.coverage-note{color:var(--text-3);margin-top:8px;font-size:12.5px}.seg-model{--seg:var(--model);--seg-soft:var(--model-soft)}.seg-qc{--seg:var(--qc);--seg-soft:var(--qc-soft)}.seg-both{--seg:var(--text-3);--seg-soft:var(--raised)}.seg-expert{--seg:var(--expert);--seg-soft:var(--expert-soft)}.coverage-key.seg-model,.coverage-key.seg-qc,.coverage-key.seg-both,.coverage-key.seg-expert{background:var(--seg)}.matrix{grid-template-columns:auto repeat(2,minmax(0,1fr));gap:6px;display:grid}.found-by-card .matrix{margin-top:16px}.qc-defects-by-type{margin-top:22px}.matrix .ch{color:var(--text-2);text-align:center;padding-bottom:2px;font-size:12.5px}.matrix .rh{color:var(--text-2);align-self:center;width:60px;font-size:12.5px;line-height:1.25}.matrix .cell{background:var(--seg-soft);min-width:0;min-height:96px;color:var(--seg);border-radius:14px;flex-direction:column;justify-content:space-between;padding:12px;display:flex}.matrix .cell.seg-both{box-shadow:inset 0 0 0 1px var(--border);color:var(--text)}.matrix .cell.seg-expert{box-shadow:inset 0 0 0 1.5px var(--border)}.matrix .cell.is-empty{box-shadow:inset 0 0 0 1px dashed var(--border);justify-content:center;align-items:center}.matrix .cell .num{font-size:32px;font-weight:700;line-height:1}.matrix .cell .lab{color:var(--text-2);font-size:12.5px}.waffle-figure{justify-items:center;gap:8px;display:grid}.waffle{width:100%;max-width:210px;height:auto}.waffle-dot{fill:var(--seg)}.waffle-figure figcaption{justify-items:center;gap:6px;display:grid}.coverage-dot-legend{color:var(--text-2);flex-wrap:wrap;justify-content:center;gap:5px 12px;font-size:12px;display:flex}.coverage-dot-legend span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.coverage-dot-legend .coverage-key{width:7px;height:7px}.coverage-dot-caption{color:var(--text-3);font-size:11px}.compare-bars{margin-left:34px;padding-top:8px;position:relative}.compare-grid{pointer-events:none;height:160px;position:absolute;inset:8px 0 auto}.compare-grid>div{border-top:1px solid var(--grid);position:absolute;left:0;right:0}.compare-grid span{color:var(--text-3);font-size:11px;position:absolute;right:calc(100% + 8px);transform:translateY(-50%)}.compare-columns{text-align:center;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid;position:relative}.compare-column{justify-items:center;gap:2px;display:grid}.compare-track,.hatch{background:repeating-linear-gradient(135deg, transparent 0 4px, var(--border) 4px 6px)}.compare-track{border-radius:8px 8px 0 0;width:44px;height:160px;position:relative;overflow:hidden}.compare-fill{position:absolute;bottom:0;left:0;right:0}.compare-fill.model{background:var(--model)}.compare-fill.qc{background:var(--qc)}.compare-name{color:var(--text-2);margin-top:8px;font-size:13px}.compare-value{font-size:18px;font-weight:700}.compare-legend{color:var(--text-3);align-items:center;gap:6px;margin-top:10px;font-size:12px;display:flex}.compare-legend .hatch{border-radius:2px;width:14px;height:10px;display:inline-block}.bar-count small{color:var(--text-3);font-size:11.5px;display:block}.definitions summary{cursor:pointer;align-items:center;gap:8px;font-size:17px;font-weight:700;list-style:none;display:flex}.definitions summary::-webkit-details-marker{display:none}.definitions summary .icon{color:var(--text-3)}.definitions dl{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px 24px;margin-top:14px;display:grid}.definitions dt{font-weight:700}.definitions dd{color:var(--text-2);max-width:65ch;margin-top:2px;font-size:14px}.trend-chart{margin-top:8px}.trend-readout{background:var(--raised);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 18px;min-height:48px;padding:10px 14px;font-size:14px;display:flex}.trend-readout .t{color:var(--text-2);flex:100%}.trend-readout .t em{color:var(--warn);font-style:italic}.trend-readout .r{align-items:baseline;gap:6px;display:inline-flex}.trend-readout .r .key{align-self:center}.trend-readout .r b{font-size:19px}.trend-readout .r small{color:var(--text-3)}.plot-axis{color:var(--text-3);margin:12px 0 2px;font-size:12.5px}.trend-frame{width:100%;min-width:0;overflow:hidden}.trend-chart .trend-svg{touch-action:pan-y;cursor:crosshair;width:100%;min-width:0;max-width:100%;height:auto;display:block;overflow:visible}.trend-chart .trend-svg:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:6px}.trend-grid.base{stroke:var(--border-strong)}.trend-guide{stroke:var(--text-3);stroke-dasharray:2 3;opacity:.6}.trend-chart .trend-line{fill:none;stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round}.trend-line.model{stroke:var(--model)}.trend-line.qc{stroke:var(--qc);stroke-dasharray:6 4}.trend-mark{stroke:var(--surface);stroke-width:1.5px}.trend-mark.model{fill:var(--model)}.trend-mark.qc{fill:var(--qc)}.trend-mark.thin{fill:var(--surface);stroke-width:1.8px}.trend-mark.model.thin{stroke:var(--model)}.trend-mark.qc.thin{stroke:var(--qc)}.trend-legend{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:10px;font-size:13px;display:flex}.trend-legend span{align-items:center;gap:7px;display:inline-flex}.trend-legend .line{border-top:3px solid var(--model);width:18px;height:0;display:inline-block}.trend-legend .line.qc{border-top:3px dashed var(--qc)}.chart-skeleton{gap:12px;margin-top:8px;display:grid}.week-table{border-collapse:collapse;width:100%;font-size:14.5px}.week-table th{color:var(--text-2);text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 0 8px 8px;font-size:13px;font-weight:600}.week-table td{text-align:right;border-bottom:1px solid var(--border);padding:11px 0 11px 8px}.week-table th:first-child,.week-table td:first-child{text-align:left;padding-left:0}.week-table tr:last-child td{border-bottom:0}.week-table td.model{color:var(--model);font-weight:700}.week-table td.qc{color:var(--qc);font-weight:700}.part-tag{color:var(--warn);margin-left:8px;font-size:11.5px;font-style:italic}.sort{align-items:center;display:flex;position:relative}.sort select{appearance:none;background:var(--raised);box-shadow:inset 0 0 0 1px var(--border);min-height:38px;font:inherit;color:var(--text);cursor:pointer;border:0;border-radius:10px;padding:0 32px 0 12px;font-size:14px;font-weight:600}.sort .icon{pointer-events:none;color:var(--text-2);position:absolute;right:10px}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.tile{background:var(--raised);text-align:left;border-radius:14px;flex-direction:column;gap:2px;min-width:0;padding:14px 12px 12px;display:flex}.tile:hover{background:var(--surface-hover);box-shadow:inset 0 0 0 1px var(--border)}.tile:active{transform:scale(.985)}.tile .nm{align-items:center;gap:7px;min-width:0;font-size:16px;font-weight:700;display:flex}.tile .nm span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tile .a{color:var(--model);margin-top:12px;font-size:32px;font-weight:700;line-height:1}.tile .a small{font-size:.5em}.tile .q{color:var(--qc);font-size:14px;font-weight:600}.mini-bars{gap:4px;margin-top:10px;display:grid}.mini-bars .bar{background:var(--border);border-radius:3px;height:5px;display:block;overflow:hidden}.mini-bars .bar i{border-radius:3px;height:100%;display:block}.mini-bars .bar i.model{background:var(--model)}.mini-bars .bar i.qc{background:var(--qc)}.tile .n{color:var(--text-2);margin-top:8px;font-size:12.5px}.chips{scrollbar-width:none;gap:8px;margin:0 -20px;padding:0 20px 2px;display:flex;overflow-x:auto}.chips button{background:var(--surface);min-height:38px;box-shadow:inset 0 0 0 1px var(--border);border-radius:999px;flex:none;padding:0 14px;font-size:14px;font-weight:600}.chips button[aria-pressed=true]{background:var(--nav-on);color:var(--nav-on-fg)}.cal-h{justify-content:space-between;align-items:center;display:flex}.cal-h b{font-size:19px}.cal-h button{background:var(--surface);width:40px;height:40px;box-shadow:inset 0 0 0 1px var(--border);border-radius:50%;place-items:center;display:grid}.cal-h button:disabled{opacity:.35;cursor:default}.cal-w,.cal-g{grid-template-columns:repeat(7,1fr);display:grid}.cal-w{color:var(--text-3);text-align:center;margin-top:12px;font-size:12.5px}.cal-g{row-gap:4px;margin-top:6px}.cal-g .c{place-items:center;height:44px;display:grid;position:relative}.cal-g .c.mid{background:var(--surface)}.cal-g .c.sa{background:linear-gradient(90deg, transparent 50%, var(--surface) 50%)}.cal-g .c.sb{background:linear-gradient(90deg, var(--surface) 50%, transparent 50%)}.cal-g .c.sa.sb{background:0 0}.cal-g .d{border-radius:50%;width:40px;height:40px;font-size:15px;position:relative}.cal-g .d:hover:not(:disabled){background:var(--surface-hover)}.cal-g .d:disabled{color:var(--text-3);opacity:.45;cursor:default}.cal-g .d.today{box-shadow:inset 0 0 0 1px var(--border-strong)}.cal-g .d.has:after{content:"";background:var(--good);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:5px;left:50%}.cal-g .c.sa .d,.cal-g .c.sb .d{background:var(--nav-on);color:var(--nav-on-fg);font-weight:700}.picker-foot{align-items:center;gap:12px;display:flex}.picker-foot>div{flex:1;min-width:0}.picker-foot b{font-size:17px;line-height:1.3;display:block}.qc-top{align-items:flex-end}.qc-top .page-title h1{font-size:30px}.status-tabs{border-bottom:1px solid var(--border);gap:4px;margin:-8px -8px 12px;padding:0 8px;display:flex;overflow-x:auto}.status-tab{min-height:44px;color:var(--text-2);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:0 12px;font-size:15px;font-weight:600;display:inline-flex}.status-tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--nav-on)}.status-tab .count{background:var(--raised);text-align:center;border-radius:999px;min-width:22px;padding:1px 7px;font-size:12.5px}.qc-table{border-collapse:collapse;width:100%}.qc-table th{text-align:left;color:var(--text-3);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-size:12.5px;font-weight:600}.qc-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 10px}.qc-table tr:last-child td{border-bottom:0}.qc-table td.num{font-size:16px;font-weight:600}.qc-bundle-cell{min-width:220px}.serial-link{color:var(--text);text-align:left;font-size:15.5px;font-weight:700;text-decoration:none}.serial-link:hover{text-decoration:underline}.qc-table .stack-track{width:120px;margin-bottom:4px;display:flex}.reviews-left b{color:var(--warn);font-size:16px}.qc-edit{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.qc-edit-label{flex:320px;gap:6px;font-size:14px;display:grid}.qc-row.danger td{background:var(--bad-soft)}.pattern-info-wrap{vertical-align:middle;display:inline-flex;position:relative}.pattern-card{z-index:1200;overscroll-behavior:contain;background:var(--surface);width:max-content;min-width:min(220px,100vw - 24px);max-width:min(320px,100vw - 24px);color:var(--text);box-shadow:0 0 0 1px var(--border), var(--shadow-pop);text-align:left;white-space:normal;border-radius:12px;padding:12px 14px;font-size:14px;font-weight:400;position:fixed;overflow-y:auto}.pattern-card-list{grid-template-columns:auto 1fr;gap:4px 14px;display:grid}.pattern-card-list dt{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;align-self:center;font-size:12.5px}.pattern-card-list dd{overflow-wrap:anywhere;font-weight:600}.pattern-card-list dd .muted{font-weight:400}.pattern-card-title{font-weight:700}.pattern-card-note{color:var(--text-2);margin-top:8px;font-size:13px}.pattern-card .warn,.pattern-card-list dd.warn{color:var(--warn)}.title-row{align-items:center;gap:8px;min-width:0;display:flex}.info-tip-wrap{vertical-align:middle;flex:none;display:inline-flex;position:relative}.info-tip{border:1px solid var(--border-strong);width:17px;height:17px;color:var(--text-3);font-size:11px;font-style:italic;font-weight:700;font-family:var(--font-body);cursor:help;transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);background:0 0;border-radius:999px;justify-content:center;align-items:center;line-height:1;display:inline-flex}.info-tip:hover,.info-tip[aria-expanded=true]{color:var(--accent);border-color:var(--accent)}.info-tip:focus-visible{box-shadow:0 0 0 3px var(--accent-ring);outline:none}.info-card{z-index:1200;overscroll-behavior:contain;background:var(--surface);width:max-content;max-width:min(320px,100vw - 24px);color:var(--text-2);box-shadow:0 0 0 1px var(--border), var(--shadow-pop);text-align:left;white-space:normal;border-radius:12px;padding:12px 14px;font-size:13.5px;font-weight:400;line-height:1.45;position:fixed;overflow-y:auto}.info-card p+p{margin-top:6px}.serial-cell small{color:var(--text-3);font-size:11.5px;font-weight:400;display:block}.serial-cell.muted{font-size:13px}.kpi .kpi-word{padding-top:6px;font-size:24px}@media (max-width:899px){.header{padding:calc(8px + env(safe-area-inset-top)) 12px 8px;gap:8px;min-height:56px}.brand-divider,.brand-text{display:none}.navbar{bottom:calc(8px + min(env(safe-area-inset-bottom,0px), 34px))}.navbar.has-more{max-width:420px}.navbar.has-more .nav-overflow{display:none}.navbar.has-more .nav-more{display:flex}.main{padding:16px 12px 32px}.main.has-tabbar{padding-bottom:calc(var(--tabbar) + 36px + min(env(safe-area-inset-bottom,0px), 34px))}.day-controls{display:none}.day-controls-phone{background:var(--raised);min-width:0;max-width:52vw;min-height:40px;box-shadow:inset 0 0 0 1px var(--border);border-radius:12px;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.day-controls-phone span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.admin-chip{padding-left:8px}.admin-chip-label{text-overflow:ellipsis;max-width:64px;overflow:hidden}dialog.sheet,dialog.sheet.sheet-wide{border-radius:24px 24px 0 0;width:100%;max-width:100%;max-height:94dvh;margin:auto 0 0}dialog.sheet[open]{animation:sheet-up .32s var(--ease)}.sheet-head:before{content:"";background:var(--border-strong);border-radius:3px;width:40px;height:5px;margin-left:-20px;position:absolute;top:8px;left:50%}.sheet-body{padding:4px 16px 20px}.chips{margin:0 -16px;padding:0 16px 2px}.modal-backdrop{align-items:flex-end;padding:0}.modal-backdrop>.modal-panel.confirm-panel{width:100%;max-width:100%;padding-bottom:env(safe-area-inset-bottom);border-radius:24px 24px 0 0}.stats-head{align-items:stretch;margin-bottom:14px}.stats-head h1{font-size:30px}.range-control{width:100%;min-width:0}.stats-grid{grid-template-columns:minmax(0,1fr);gap:12px}.stats-grid .card{padding:18px 14px}.kpi3{gap:6px}.kpi-tile{padding:12px 9px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.coverage-body,.coverage-card.compact .coverage-body{grid-template-columns:minmax(0,1fr) 118px;gap:12px}.qc-top{align-items:stretch}.qc-top .add-bundle-block,.qc-top .add-bundle-btn{width:100%}.qc-table thead{display:none}.qc-table,.qc-table tbody,.qc-table tr,.qc-table td{width:100%;display:block}.qc-table tr.qc-row{border-bottom:1px solid var(--border);padding:12px 2px}.qc-table tr:last-child{border-bottom:0}.qc-table td{border:0;padding:4px 0}.qc-table td[data-label]{justify-content:space-between;align-items:center;gap:12px;display:flex}.qc-table td[data-label]:before{content:attr(data-label);color:var(--text-3);font-size:12.5px}.qc-table td.qc-bundle-cell{display:block}.qc-table td.qc-bundle-cell:before{content:none}.qc-table td.row-actions{flex-wrap:wrap;gap:8px;padding-top:8px;display:flex}.qc-table td.row-actions .btn{flex:auto;min-height:44px}}@keyframes sheet-up{0%{transform:translateY(100%)}}@media (max-width:359px){.range-control,.kpi3,.coverage-body,.coverage-card.compact .coverage-body{grid-template-columns:minmax(0,1fr)}.matrix .rh{width:44px;font-size:11px}.nav-tab{font-size:11px}}@media (prefers-reduced-motion:reduce){.skeleton,dialog.sheet[open]{animation:none}.tile:active{transform:none}}
