.qov{--q-request: #9FB4BE;--q-quoting: #17C3B2;--q-review: #FFCB77;--q-ready: #6FAEC6;--q-sent: #227C9D;--q-won: #0C7A6E;--q-lost: #FE6D73;--q-lost-deep: #CC3A41;--q-won-deep: #075A50;--q-cream: #FEF9EF;--q-line: #ebe1cf;--q-ink: #24333c;--q-mut: #64747e}.qov{padding:0 0 8px;margin-bottom:20px}.qov .qov-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}.qov .qov-head h2{margin:0}.qov .qov-head .sub{font-size:12.5px;color:var(--q-mut)}.qov .kpi{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));margin-bottom:12px}.qov .kpi-card{background:#fff;border:1px solid var(--q-line);border-radius:10px;padding:12px 16px 13px;display:flex;flex-direction:column;gap:2px}.qov .kpi-card .cap{font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--q-mut)}.qov .kpi-card .figure{font-size:24px;line-height:1.12;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.015em;color:var(--q-ink)}.qov .kpi-card .foot{font-size:11.5px;color:var(--q-mut)}.qov .pipe{display:flex;height:9px;border-radius:999px;overflow:hidden;background:var(--q-line)}.qov .pipe span{display:block}.qov .legend{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 12px}.qov .legend button{font:inherit;font-size:12.5px;cursor:pointer;background:#fff;border:1px solid var(--q-line);border-radius:999px;padding:3px 11px 3px 8px;color:var(--q-ink);display:inline-flex;align-items:center;gap:7px}.qov .legend button:hover{border-color:var(--q-request);background:#f9f4e8}.qov .legend button[aria-pressed=true]{border-color:var(--q-sent);box-shadow:inset 0 0 0 1px var(--q-sent)}.qov .legend button:focus-visible{outline:2px solid var(--q-sent);outline-offset:1px}.qov .legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.qov .legend b{font-variant-numeric:tabular-nums;font-weight:700}.qov .legend .zero{color:var(--q-mut)}.qov .qchip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.qov .qchip.bom_review,.qov .qchip.under_review{background:color-mix(in srgb,var(--q-review) 42%,#fff);color:#7c5301}.qov .qchip.quoting{background:color-mix(in srgb,var(--q-quoting) 20%,#fff);color:#0a6a60}.qov .qchip.quoting_ready,.qov .qchip.ready{background:color-mix(in srgb,var(--q-sent) 16%,#fff);color:#1b5d77}.qov .qchip.draft{background:transparent;color:var(--q-mut);box-shadow:inset 0 0 0 1px var(--q-line);font-weight:500}.qov .qchip.sent{background:var(--q-sent);color:#fff}.qov .qchip.won{background:var(--q-won);color:#fff}.qov .qchip.lost{background:var(--q-lost-deep);color:#fff}.qov .qchip.production_prep{background:color-mix(in srgb,var(--q-won) 26%,#fff);color:#0a5a51}.qov .qchip.in_production{background:color-mix(in srgb,var(--q-won) 55%,#fff);color:#05413a}.qov .qchip.delivered{background:var(--q-won-deep);color:#fff}.qov .qchip.ignored,.qov .qchip.superseded,.qov .qchip.withdrawn{background:color-mix(in srgb,var(--q-request) 40%,#fff);color:#37454d}.qov .qchip.overdue{background:var(--q-lost-deep);color:#fff}.qov .qchip.kind{background:var(--q-cream);color:var(--q-mut);border:1px solid var(--q-line);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:0 5px}.qov .band-drift{display:flex;align-items:baseline;gap:8px;margin-top:5px;flex-wrap:wrap}.qov .qchip.over{background:var(--q-lost-deep);color:#fff}.qov .qchip.under{background:var(--q-won);color:#fff}.qov .qchip.nodoc{background:color-mix(in srgb,var(--q-review) 42%,#fff);color:#7c5301;font-weight:600}.qov tbody tr.pos>td{background:color-mix(in srgb,var(--q-cream) 60%,#fff);border-bottom:1px solid var(--q-line);padding-top:6px;padding-bottom:6px}.qov tbody tr.pos:hover>td{background:var(--q-cream)}.qov tbody tr.pos>td:first-child{padding-left:26px;position:relative}.qov tr.pos .branch{position:absolute;left:11px;top:5px;color:var(--q-mut);font-size:12px}.qov tr.pos .nr{font-size:12.5px;font-weight:600}.qov tr.pos b{font-weight:600;font-size:12.5px}.qov .qchip.detached{background:transparent;color:var(--q-mut);border:1px dashed var(--q-line);font-weight:500;padding:0 7px}.qov select.qchip{border:0;cursor:pointer;-moz-appearance:none;appearance:none;field-sizing:content;-webkit-appearance:none;padding:1px 11px 2px 8px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:right 5px top 55%,right 1.5px top 55%;background-size:3.5px 3.5px;background-repeat:no-repeat}.qov select.qchip option{color:var(--q-ink);background:#fff;font-weight:400}.qov .tbl-wrap{border:1px solid var(--q-line);border-radius:10px;overflow:hidden;background:#fff}.qov table{color:var(--q-ink)}.qov thead th{background:#fbf6ea;border-bottom-color:var(--q-line);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase}.qov tbody td{border-bottom-color:#f2ead9;vertical-align:top;padding-top:10px;padding-bottom:10px}.qov tbody tr:hover td{background:#fbf6ec}.qov tbody tr.noquote td{background:#fcf7ec}.qov .nr{font-variant-numeric:tabular-nums;font-weight:700;font-size:14.5px;letter-spacing:-.01em}.qov .qid{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--q-mut)}.qov .nonr{color:var(--q-mut);font-style:italic;font-size:12.5px}.qov .bmk{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--q-ink);background:#f5efe1;border-radius:4px;padding:1px 5px;display:inline-block;margin-top:3px}.qov .subline{color:var(--q-mut);font-size:11.5px}.qov .qov-note{font-size:11.5px;color:var(--q-mut);margin:8px 2px 10px}.qov td a{color:var(--q-sent)}.qov tr.cluster>th{background:#f2e6cc;border-bottom:1px solid var(--q-line);border-top:2px solid color-mix(in srgb,var(--q-ink) 22%,var(--q-line));text-align:left;font-weight:400;padding:11px 10px 12px;vertical-align:top}.qov tbody tr.cluster:hover>th{background:#f2e6cc}.qov tbody tr:first-child.cluster>th{border-top:0}.qov .cluster-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.qov .cluster-cust{font-weight:700;font-size:15.5px;letter-spacing:-.005em}.qov .cluster-proj{font-size:15.5px;font-weight:700;color:var(--q-ink)}.qov .cluster-proj:before{content:" • ";color:var(--q-mut);font-weight:400}.qov .cluster-head select.qchip{margin-left:2px}.qov .band-state{display:inline-flex;align-items:baseline;gap:5px;margin-left:2px}.qov .band-state .cap{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--q-mut);font-weight:600}.qov .shelf-actions{display:inline-flex;gap:2px}.qov tbody tr.sub>td:first-child{box-shadow:inset 3px 0 0 var(--q-line)}.qov tbody tr.sub>td:first-child{padding-left:14px}:root{--fg: #24333c;--muted: #64747e;--line: #ebe1cf;--bg: #FEF9EF;--accent: #227C9D;--accent-fg: #fff;--tint: #FBF4E6;--tint-deep: #F5EBD8;--surface: #fff;--auto: #0C7A6E;--review: #d97706;--unmatched: #CC3A41;--confirmed: #227C9D;--rejected: #9ca3af;--retired: #475569;--quoting: #0891b2;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--fg);background:var(--bg);font:14px/1.45 var(--sans)}a{color:var(--accent);text-decoration:none}h2{margin:0 0 16px}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.num{text-align:right;font-variant-numeric:tabular-nums}.dim{opacity:.5}.topnav{display:flex;align-items:center;gap:18px;padding:0 20px;height:52px;background:#fff;border-bottom:1px solid var(--line)}.topnav .brand{font-weight:700}.topnav a{color:var(--muted);padding:4px 2px;border-bottom:2px solid transparent}.topnav a.active{color:var(--fg);border-bottom-color:var(--accent)}.topnav .spacer{flex:1}.container{max-width:1780px;margin:0 auto;padding:24px 24px 64px}.container:has(>.bom-review){max-width:none;padding-left:10px;padding-right:10px}.bom-review th,.bom-review td{padding:6px 8px}.table-wrap{overflow-x:auto;border-radius:10px;margin-bottom:16px}.table-wrap>table{width:max-content;min-width:100%}.table-wrap td.wrap{max-width:300px;overflow-wrap:anywhere}td.wrap .prod-desc.clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}td.wrap .prod-desc-more{display:block;font-size:11px;padding:1px 0 0}.table-wrap td.bmk{max-width:96px;font-size:11px}td.bmk .bmk-row{display:block;width:100%;padding:0;border:none;border-radius:4px;background:none;color:inherit;font:inherit;font-size:11px;text-align:left;cursor:pointer}td.bmk .bmk-row:hover{background:#eef4ff}td.bmk .bmk-row:focus-visible{outline:2px solid var(--accent);outline-offset:1px}td.bmk .bmk-row{overflow-wrap:break-word;line-height:1.35}td.bmk .seg{white-space:nowrap}td.bmk .mono{font-size:11px}td.bmk .bmk-row+.bmk-row{margin-top:3px;padding-top:3px;border-top:1px solid var(--line)}td.bmk .bmk-ref{font-size:10px;color:var(--muted)}.bmk-n{font-weight:600;white-space:nowrap}td.bmk .bmk-n{font-size:11px}td.bmk .bmk-more{font-size:10px;margin-top:3px;font-style:italic}.inst-list{max-height:240px;overflow-y:auto;margin:10px 0 8px;border:1px solid var(--line);border-radius:8px}.inst-list label,.inst-dests label{display:flex;gap:8px;align-items:baseline;cursor:pointer}.inst-list label{padding:4px 8px;font-size:13px}.inst-list label+label{border-top:1px solid var(--line)}.inst-list label:hover{background:var(--tint)}.inst-list .muted{font-size:11px}.inst-dests{display:flex;flex-direction:column;gap:5px;font-size:13px}.inst-dests .muted{font-size:12px}.inst-warn{margin-top:10px;padding:7px 9px;border-radius:8px;font-size:12px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.inst-ok{margin-top:10px;padding:8px 10px;border-radius:8px;font-size:12px;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.inst-ok .muted{color:#3f6212}.inst-ok .toolbar{margin-bottom:0}.awaiting-pages{background:#fff7ed;border-color:#fed7aa;font-size:13px}.awaiting-pages .row{align-items:baseline;gap:10px}.modal.page-scan{width:540px;max-width:calc(100vw - 32px)}.page-scan-list{max-height:320px}.page-scan-group{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:5px 8px;font-size:11px;font-weight:600;color:var(--muted);background:var(--tint);border-top:1px solid var(--line)}.page-scan-list>div:first-child .page-scan-group{border-top:0}.page-scan-group button.link{font-size:11px;font-weight:400}.page-scan-basis{padding:0 8px 5px;font-size:11px;font-weight:400;color:var(--muted);background:var(--tint);line-height:1.5}.page-scan-list label button.link{font-size:11px;margin-left:auto}.page-scan-add{display:flex;flex-direction:column;gap:4px;font-size:11px}.page-scan-add input{width:160px;font-size:13px}.modal.swap-ask{width:660px;max-width:calc(100vw - 32px);display:flex;flex-direction:column}.modal.swap-ask>*{flex:none}.modal.swap-ask>.swap-list{flex:1 1 auto;min-height:130px;overflow-y:auto;margin:10px 0 8px;border:1px solid var(--line);border-radius:8px}.swap-row{display:flex;align-items:flex-start;gap:8px;padding:7px 9px;font-size:13px}.swap-row+.swap-row{border-top:1px solid var(--line)}.swap-row>input{margin-top:3px}.swap-body{flex:1;min-width:0}.swap-head{display:block;cursor:pointer}.swap-head .mono{font-weight:600}.swap-desc{font-size:12px;color:#374151;margin-top:1px}.swap-where,.swap-cite{font-size:11px;margin-top:2px}.swap-cite a{color:#7c3aed}.swap-noprice{margin-top:4px;padding:3px 6px;border-radius:6px;font-size:11px;background:#fffbeb;border:1px solid #fde68a;color:#92400e}.swap-list .enr-conflict{margin:4px 0 0;padding:4px 6px;border-radius:6px;font-size:12px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-weight:600}.swap-list ul.evidence{margin:4px 0 0;padding:4px 6px 4px 8px;list-style:none;background:#fbfaff;border:1px solid #eee9fb;border-radius:6px;color:#374151;font-size:11px}.swap-list ul.evidence li{margin:1px 0}.swap-held{background:var(--tint);color:var(--muted)}.swap-held .swap-head{cursor:default}.swap-foot{font-size:11px;margin-top:8px}.table-wrap .pos{font-size:12px}.table-wrap td.state .chip{display:block;width:fit-content;font-size:11px}.table-wrap td.state .chip+.chip{margin-top:2px}.table-wrap td.state .method{margin-top:2px;font-size:10px;color:var(--muted);overflow-wrap:anywhere}.table-wrap td.meta{max-width:240px;font-size:11px}td.meta summary{cursor:pointer;white-space:nowrap}td.meta details[open] summary{margin-bottom:3px}button{font:inherit;padding:7px 14px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);border-radius:6px;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.link,.link{background:none;border:none;color:var(--accent);padding:2px;cursor:pointer}button.ghost{background:#fff;color:var(--fg);border-color:var(--line)}button.danger{background:#fff;color:var(--unmatched);border-color:#f3c4c4}button.danger:hover:not(:disabled){background:#fee2e2;border-color:var(--unmatched)}button.warn{background:#fffbeb;color:#92400e;border-color:#fde68a}button.warn:hover:not(:disabled){background:#fef3c7;border-color:#f59e0b}button.link.danger{background:none;border:none;color:var(--unmatched)}input,select{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:#fff}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:20px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}th,td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:var(--tint-deep);font-weight:600;font-size:12px;color:#4a5a63}tbody tr:hover{background:var(--tint)}tbody tr.selected{background:#eef4ff}tr.companion-row td.wrap{box-shadow:inset 3px 0 0 var(--line);padding-left:14px}.comp-arm{color:var(--muted, #64748b)}tr.group-row th{background:var(--tint-deep);font-size:14px;font-weight:700;color:var(--fg);border-top:1px solid var(--line)}tbody tr.group-row:hover{background:var(--tint-deep)}tbody tr.group-row:first-child th{border-top:0}tr.group-row .also{font-size:11px;font-weight:400;color:var(--muted)}tr.group-row .customer-rename{margin-left:4px;vertical-align:middle}tr.proj-row td{font-size:12px}tr.proj-row .proj-n{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:4px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:3px;border:none;border-radius:6px;background:none;color:var(--muted);cursor:pointer}.icon-btn:hover:not(:disabled){background:#eef4ff;color:var(--accent)}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.icon-btn.destructive:hover:not(:disabled){background:#fee2e2;color:var(--unmatched)}.acts{min-width:76px;white-space:nowrap}.proj-actions{display:inline-flex;gap:2px}.tpl-table .val{min-width:210px}td .row-actions{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.chip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;color:#fff}.chip.auto,.chip.imported,.chip.done,.chip.won{background:var(--auto)}.chip.needs_review,.chip.review,.chip.running,.chip.queued,.chip.pending{background:var(--review)}.chip.unmatched,.chip.failed{background:var(--unmatched)}.chip.confirmed,.chip.sent{background:var(--confirmed)}.chip.rejected,.chip.superseded,.chip.ignored{background:var(--rejected)}.chip.draft{background:transparent;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line);font-weight:500}.chip.retired{background:var(--retired)}.chip.bundle{background:var(--tint-deep);color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg)}.chip.unknown{background:transparent;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line);font-weight:500}.chip.withdrawn{background:var(--retired)}.chip.quoting{background:var(--quoting)}.chip.closed,.chip.lost{background:var(--retired)}.chip.bom_review,.chip.under_review{background:var(--review)}.chip.quoting_ready,.chip.ready{background:#4f46e5}.chip.production_prep{background:#14b8a6}.chip.in_production{background:#0d9488}.chip.delivered{background:#115e59}.scope-tags{display:flex;flex-wrap:wrap;gap:3px;max-width:220px}.scope-tag{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;background:var(--tint);border:1px solid var(--line);border-radius:6px;padding:0 5px;white-space:nowrap}.freshness{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.fresh-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 14px;min-width:150px}.fresh-card.stale{border-color:var(--review)}.fresh-card b{display:block}.fresh-card span{font-size:12px}.login{display:grid;place-items:center;min-height:100vh}.login .card{width:320px;display:flex;flex-direction:column;gap:10px}.login h1{margin:0;font-size:18px}.error{color:var(--unmatched);font-size:13px}.note{color:var(--muted);font-size:13px}.progress{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.progress .stat{background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 12px}.progress .stat b{font-size:16px}.offers{display:flex;flex-direction:column;gap:2px}.offers label{display:flex;gap:6px;align-items:baseline;font-size:12px}table.price-list{width:auto;border:none;background:transparent;font-size:12px}table.price-list th,table.price-list td{padding:1px 3px;border-bottom:none}table.price-list thead th{background:transparent;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}table.price-list th.src,table.price-list td.src{max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}table.price-list td.src>span:first-child{display:inline;max-width:100px;overflow:hidden;text-overflow:ellipsis;line-height:1.25}table.price-list td.date{font-size:10px}table.price-list td.net,table.price-list .net{color:#047857;font-weight:600}table.price-list .pick{color:#047857}table.price-list tr.dim{opacity:.55}table.price-list tbody tr:hover{background:transparent}table.price-list input[type=radio]{accent-color:#047857;margin:0;cursor:pointer}.offer-mode{font-size:11px;color:var(--muted);margin:2px 0 0 6px}.offer-mode button.link{font-size:11px;padding:0}table.price-list td.act{white-space:nowrap;padding-left:8px}table.price-list td.act button.link{font-size:11px;padding:0}.price-edit{display:flex;gap:4px;align-items:center;margin:2px 0 0 6px}.price-edit .qty-input{width:56px}.price-edit button.link{font-size:11px;padding:0}table.price-list tr.price-edit-row .qty-input{width:56px;box-sizing:border-box;text-align:right;font-size:11px}table.price-list tr.price-edit-row button.link{font-size:11px;padding:0}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.tabs-cap{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-right:-2px}.editable{width:64px}.page-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}.page-head .proj-title{margin:0;max-width:60ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip.rev{background:#eef2ff;color:#3730a3}.doc-sub{font-size:12px;line-height:1.25}select.chip.chip-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;font:inherit;font-size:12px;font-weight:600;line-height:1.5;padding:1px 22px 1px 10px;cursor:pointer;field-sizing:content;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center;background-size:9px 5.4px}select.chip.chip-select:focus-visible{outline:2px solid var(--fg);outline-offset:1px}select.chip.chip-select option{color:var(--fg);background:#fff;font-weight:400}button.title-edit{font:inherit;color:inherit;padding:0;text-align:left;max-width:52ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.title-edit:hover{color:var(--accent);text-decoration:underline}.title-input{font:inherit;font-weight:700;width:44ch;max-width:60vw;padding:2px 6px}.doc-name{overflow-wrap:anywhere}.totals{display:flex;gap:20px;margin:16px 0}.totals .stat b{font-size:18px}.quote-layout{display:flex;gap:20px;align-items:flex-start}.quote-main{flex:1 1 auto;min-width:0}.quote-side{flex:0 0 248px;width:248px;padding:14px 16px;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto}@media(max-width:1100px){.quote-layout{flex-direction:column}.quote-side{position:static;width:100%;flex-basis:auto}}.param-section{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:16px 0 8px;padding-top:12px;border-top:1px solid var(--line)}.quote-side .param-section:first-child{margin-top:0;padding-top:0;border-top:none}.param-field{display:block;margin-bottom:8px}.param-field .param-label{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}.param-field .param-input{position:relative;display:block}.param-field input{width:100%;padding:5px 26px 5px 8px;font-size:13px}.param-suffix{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--muted);pointer-events:none}.quote-summary{font-size:12px}.quote-summary hr{border:none;border-top:1px solid var(--line);margin:6px 0}.sum-row{display:flex;justify-content:space-between;gap:10px;padding:1.5px 0}.sum-row .num{font-weight:500}.sum-row.indent{padding-left:10px}.sum-row.grand{font-weight:700;font-size:13px;align-items:baseline;padding-top:5px}.sum-row.grand .num{color:var(--accent);font-size:15px;font-weight:700}.quote-main table th,.quote-main table td{vertical-align:middle}.quote-main td.mfr,.quote-main td.mpn{white-space:nowrap}.quote-main td.mpn div.muted{white-space:normal}.quote-main .editable{width:84px}.quote-main td.offer-cell{padding-top:4px;padding-bottom:4px}.quote-main .table-scroll{overflow-x:auto;border-radius:10px}.quote-main .price-list td.src{max-width:none;white-space:nowrap}.quote-main .price-list td.src>span:first-child{display:inline;max-width:none;overflow-wrap:normal}.quote-main .price-list{table-layout:fixed;width:472px}.quote-main .price-list td:first-child{width:20px}.quote-main .price-list td.src{width:104px;overflow:hidden;text-overflow:ellipsis}.quote-main .price-list td:nth-child(3){width:52px}.quote-main .price-list td:nth-child(4){width:98px}.quote-main .price-list td:nth-child(5){width:66px}.quote-main .price-list td:nth-child(6){width:44px}.quote-main .price-list td:nth-child(7){width:42px}.quote-main .price-list td:nth-child(8){width:46px}.modal.word-quote{width:560px;max-width:calc(100vw - 32px)}.wq-form{display:flex;flex-direction:column;gap:10px}.wq-form label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted)}.wq-form input,.wq-form select,.wq-form textarea{font:inherit;font-size:13px;color:var(--fg)}.wq-form textarea{padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:#fff;resize:vertical}.wq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wq-totals{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--bg);font-size:13px;margin-top:2px}.wq-positions{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--bg);font-size:12px;margin-top:2px;display:flex;flex-direction:column;gap:6px}.wq-pos{display:grid;grid-template-columns:16px 20px 1fr 50px 44px 82px;gap:8px;align-items:center}.wq-pos.head{color:var(--muted);font-size:11px}.wq-pos.off{color:var(--muted)}.wq-pos input[type=checkbox]{margin:0;padding:0;accent-color:var(--accent)}.wq-pos input[type=text],.wq-pos input[type=number]{padding:4px 6px;font-size:12px}.wq-pos input:disabled{background:var(--bg);color:var(--muted)}.wq-pos-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wq-positions .note{color:var(--muted);font-size:12px}.wq-pos.broke>span:nth-child(2):before{content:"└";color:var(--muted);margin-right:2px}.wq-pos .was{font-size:10px;font-weight:400}.wq-pos .num.bad{color:var(--unmatched)}.wq-split{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding-top:4px;border-top:1px dashed var(--line);font-size:11px}.wq-form .wq-split label{flex-direction:row;align-items:baseline;gap:5px;font-size:11px;color:var(--fg)}.wq-split label input{width:48px;padding:3px 5px;font-size:12px}.wq-breakout{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--bg);font-size:12px;margin-top:2px}.wq-breakout>summary{cursor:pointer;font-size:12px;font-weight:600}.wq-breakout>summary>.muted{font-weight:400}.wq-find{width:100%;box-sizing:border-box;margin:8px 0 6px;padding:5px 7px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font:inherit;font-size:12px}.wq-break-list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column}.wq-form label.wq-break{display:grid;grid-template-columns:16px 1fr 82px;gap:8px;align-items:start;padding:3px 2px;border-radius:4px;color:var(--fg);font-size:12px}.wq-break:hover{background:var(--tint)}.wq-break.on{background:var(--surface);font-weight:600}.wq-break input[type=checkbox]{margin:3px 0 0;accent-color:var(--accent)}.wq-break-label{overflow:hidden}.wq-break-label>.muted{font-weight:400;font-size:11px}.wq-break .num{padding-top:1px}.wq-warn{border:1px solid var(--unmatched);border-radius:8px;padding:8px 10px;background:var(--surface);color:var(--unmatched);font-size:12px;margin-top:2px}.quotes-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:-2px 0 14px;font-size:13px}.quote-pill{display:inline-flex;gap:6px;align-items:center;padding:3px 4px 3px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--fg);font-weight:600}.quote-pill>a{display:inline-flex;gap:6px;align-items:center;color:var(--fg)}.quote-pill:has(>a:hover){border-color:var(--accent)}.quote-pill .chip{font-size:10px}.quote-pill .muted{font-weight:400}.pill-x{padding:0 5px;border:none;border-radius:999px;background:none;color:var(--muted);font-size:12px;line-height:18px}.pill-x:hover:not(:disabled){background:#fee2e2;color:var(--unmatched)}.pill-x:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.awaiting-pages .pill-x{margin-left:auto}.enr{color:#7c3aed}td .enr-box{font-size:12px;margin-top:8px;padding:8px 10px;border-radius:10px;border:2px solid transparent;background:linear-gradient(#fcfbff,#fcfbff) padding-box,linear-gradient(120deg,#f43f5e,#f59e0b,#22c55e,#3b82f6,#8b5cf6) border-box}td .enr-box:before{content:"✨ AI enrichment";display:block;margin-bottom:4px;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#8b5cf6}td .enr-box .muted{color:#9d8bd0}td .enr-box a{color:#7c3aed;text-decoration:underline}td .enr-box .enr-conflict{margin:4px 0 0;padding:4px 6px;border-radius:6px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:12px;font-weight:600}td .enr-box ul.evidence{margin:4px 0 0;padding:4px 6px 4px 8px;list-style:none;background:#fff;border:1px solid #eee9fb;border-radius:6px;color:#374151;font-size:11px}td .enr-box ul.evidence li{margin:1px 0}td .enr-failed{margin:4px 0 0;padding:4px 6px;border-radius:6px;background:#fffbeb;border:1px dashed #fde68a;color:#92400e;font-size:11px}td .enr-pill{display:inline-block;padding:1px 7px;border-radius:7px;border:1.5px solid transparent;font-size:12px;color:#7c3aed;background:linear-gradient(#fcfbff,#fcfbff) padding-box,linear-gradient(120deg,#f43f5e,#f59e0b,#22c55e,#3b82f6,#8b5cf6) border-box}td .enr-ref{font-family:var(--sans);font-size:11px;white-space:nowrap}td .enr-box .enr-scope{margin-top:4px;padding-top:4px;border-top:1px dashed #e4dbf8;font-size:11px}td .enr-box.enr-slim{padding:3px 8px}td .enr-box.enr-slim:before{display:inline;margin:0}.enr-head{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:baseline;margin-left:6px}td .enr-box button.enr-more{background:none;border:0;padding:0;font:inherit;font-size:11px;font-weight:700;color:#7c3aed;text-decoration:underline;cursor:pointer}td .enr-box button.enr-more:hover{color:#5b21b6}td .enr-box>button.enr-more{display:block;margin-top:6px}.enr-head .enr-slim-warn{padding:0 5px;border-radius:5px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:11px;font-weight:600}td .enr-box .chip{font-size:10px;padding:0 6px}td .actions2{display:flex;flex-direction:column;gap:4px;align-items:stretch}.act-group{display:flex;flex-direction:column;gap:4px;min-width:0;padding:4px 5px;border:1px solid var(--line);border-radius:8px;background:var(--tint)}.act-group .act-label{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.act-group button{border:1px solid #cbd5e1;background:#fff;color:#1f2430;border-radius:6px;padding:2px 6px;font-size:11px;cursor:pointer;white-space:nowrap}.act-group button:hover:not(:disabled){border-color:#a99978;background:var(--tint)}.act-group button:disabled{opacity:.45;cursor:not-allowed}.act-group.act-row{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center}.act-group.act-row .act-label{flex:0 0 100%;width:0;min-width:100%}.act-group button.glyph{display:grid;place-items:center;padding:3px;min-width:28px;min-height:24px}.act-group button.glyph.on{border-color:var(--accent);color:var(--accent);background:#fff}.act-group button.sug{white-space:normal;width:0;min-width:100%;line-height:1.2}.act-group button.enr{color:#7c3aed;border-color:#c4b0f0;font-weight:600}.act-group button.enr:hover:not(:disabled){background:#faf8ff;border-color:#7c3aed}.act-group.ai{border-color:#d8ccf4;background:#faf8ff}.act-group.ai .act-label{color:#7c3aed}td.scope{white-space:nowrap}td.scope select{display:block;margin:2px 0;font-size:11px;padding:1px 3px;border:1px solid var(--line);border-radius:6px;background:#fff;max-width:104px}td.scope .enr{margin-left:2px}.section-title{margin:22px 0 8px;font-size:15px}.section-title .muted{font-weight:400;font-size:13px}.tool-group{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border:1px solid var(--line);border-radius:10px;background:var(--tint)}.tool-group .tg-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.tool-group button{padding:5px 10px;font-size:13px}.tool-group.ai{border-color:#d8ccf4;background:#faf8ff}.tool-group.ai .tg-label{color:#7c3aed}details.list-section>summary{cursor:pointer;-webkit-user-select:none;user-select:none;width:fit-content;max-width:100%;margin:18px 0 8px;padding:2px 8px 2px 4px;border-radius:6px}details.list-section>summary:hover{background:var(--tint-deep)}details.list-section>summary::marker{color:var(--muted)}details.list-section>summary .section-title{display:inline;margin:0}details.list-section>.toolbar{margin-bottom:10px}.progress button.stat{font:inherit;color:inherit;cursor:pointer;text-align:left}.progress button.stat:hover{border-color:#c9b998;background:var(--tint)}.facet-toggle{padding:5px 10px;font-size:13px;border-radius:8px}.facets{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:14px}.facet-col{flex:1 1 220px;min-width:200px}.facet-head{display:flex;gap:6px;align-items:baseline;margin-bottom:6px;font-size:13px}.facet-head .link{margin-left:auto;font-size:12px}.facet-search{width:100%;box-sizing:border-box;font:inherit;font-size:12px;padding:4px 7px;border:1px solid var(--line);border-radius:6px;margin-bottom:6px}.facet-list{max-height:240px;overflow-y:auto;border:1px solid var(--line);border-radius:8px}.facet-list label{display:flex;gap:7px;align-items:baseline;cursor:pointer;padding:3px 8px;font-size:12px}.facet-list label+label{border-top:1px solid var(--line)}.facet-list label:hover{background:var(--tint)}.facet-list label.dim{opacity:.55}.facet-list .facet-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.facet-list .facet-n{margin-left:auto;font-variant-numeric:tabular-nums}.facet-empty{padding:6px 8px;font-size:12px}.file-label{display:inline-flex;flex-direction:column;gap:2px;font-size:11px;color:var(--muted)}button.to-top{position:fixed;right:22px;bottom:22px;z-index:30;width:56px;height:56px;padding:0;border:none;border-radius:50%;background:#fff;box-shadow:0 4px 14px #0f172a2e;display:grid;place-items:center}button.to-top svg{width:56px;height:56px;display:block}button.to-top:hover{box-shadow:0 6px 18px #0f172a42}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0f172a59;display:grid;place-items:center}.modal{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px;max-width:480px;box-shadow:0 12px 40px #0000002e;max-height:calc(100vh - 32px);overflow-y:auto}.modal h3{margin:0 0 8px;font-size:15px}.gate-list{margin:10px 0 0;padding-left:18px}.gate-list li{margin:4px 0}.modal.delete-ask{width:520px;max-width:calc(100vw - 32px)}.modal.companion-ask{width:660px;max-width:calc(100vw - 32px)}.companion-ask table{width:100%}.companion-ask .create-form{margin:8px 0}.delete-ask .del-head{margin-top:14px;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.delete-ask .del-goes li::marker{color:var(--unmatched)}.delete-ask .del-stays li::marker{color:#3f6212}.delete-ask .del-stays{color:var(--muted)}.delete-ask .del-confirm{display:block;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:13px}.delete-ask .del-confirm input{display:block;width:100%;margin-top:6px}.delete-ask .del-confirm input::placeholder{color:#cbd5e1}.qty-input{width:52px;padding:2px 4px;font-size:13px;text-align:right;border:1px solid var(--line);border-radius:6px;font-variant-numeric:tabular-nums}.qty-input:focus{border-color:var(--accent);outline:none}.comment-input{width:100px;min-height:30px;padding:3px 5px;font:inherit;font-size:12px;border:1px solid var(--line);border-radius:6px;background:#fff;resize:both}.comment-input:focus{border-color:var(--accent);outline:none}.comment-input.mixed{background:#fffbeb}.comment-modal{width:100%;min-height:88px;margin-top:10px;padding:8px 10px;font:inherit;border:1px solid var(--line);border-radius:8px;resize:vertical}.comment-modal:focus{border-color:var(--accent);outline:none}.panel-qty{font-size:10px;white-space:nowrap;font-variant-numeric:tabular-nums}td.scope .pdf-class{font-size:10px;margin-top:2px;color:#475569;white-space:normal;max-width:104px}.enr-cards{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0 2px}.enr-cards .enr-card{border:1px solid #d8ccf4;border-radius:8px;padding:5px 8px;background:#faf8ff;color:#1f2430;min-width:128px;flex:1 1 128px;font-size:12px}.enr-cards .enr-card b{display:block;color:#7c3aed;font-size:11px;text-transform:uppercase}.enr-cards .enr-arrow{color:#7c3aed;font-weight:700}.decisions{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:148px}.decisions button{font-size:11px;padding:3px 8px;white-space:nowrap;text-align:left}.alts{border-left:3px solid #7c3aed;padding:10px 12px;background:#faf8ff}.alts-head{font-size:12px;margin-bottom:8px}.alts .alt{border:1px solid #d8ccf4;border-radius:8px;padding:8px 10px;background:#fff;margin-bottom:8px;font-size:13px}.alts .alt:last-child{margin-bottom:0}.alts .alt-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.alts .alt-mpn{color:#7c3aed;font-weight:700;text-decoration:underline}.alts .alt-why{margin:4px 0;color:#1f2430}.alts .toolbar{margin:6px 0 0;gap:8px}.alts .chip{font-size:11px}.resolve{border-left:3px solid var(--accent);padding:10px 12px;background:#f9fbff}.resolve .toolbar{margin-bottom:8px}.resolve table{margin:6px 0 12px}.resolve .muted{font-size:12px;margin:6px 0 2px}.create-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}.create-form input{flex:1 1 140px;min-width:120px}mark.exact-hit{background:#dcfce7;color:#166534;font-weight:700;border-radius:3px;padding:1px 4px}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-top:22px}.panel-head{display:flex;align-items:center;gap:11px;flex-wrap:wrap;padding:9px 14px;background:var(--tint-deep);border-bottom:1px solid var(--line)}.panel-head h3{margin:0;font-size:13px;font-weight:700;letter-spacing:.045em;text-transform:uppercase}.panel-head .sum{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}.panel-head .grow{flex:1}.panel-head .toolbar{margin:0}.panel-body{padding:12px 14px 14px}.panel-body>.muted:only-child{margin:0}.panel-note{margin:-2px 0 11px;font-size:12px;line-height:1.5;color:var(--muted);max-width:82ch}.item{border:1px solid var(--line);border-radius:9px;padding:11px 13px 12px;margin-bottom:9px;background:#fff}.item:last-child{margin-bottom:0}.item.now{border-color:#b9d3e6;background:#f5fafd}.item.quiet{background:var(--tint)}.item-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.item-head .t{font-size:14px;font-weight:700;letter-spacing:-.01em}.item-head .grow{flex:1}.facts{display:grid;gap:9px 20px;margin-top:10px;grid-template-columns:repeat(auto-fit,minmax(172px,1fr))}.fact{min-width:0}.fact .k{display:block;font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:1px}.fact .v{font-size:12.5px}.fact .v .em{font-weight:650}.fact .v .sub{display:block;font-size:11px;color:var(--muted)}.meter{height:6px;border-radius:3px;background:var(--line);overflow:hidden;display:flex;margin:3px 0;max-width:190px}.meter i{display:block;height:100%}.meter .m1{background:var(--auto);border-radius:3px 0 0 3px}.meter .m2{background:var(--review);margin-left:2px;border-radius:0 3px 3px 0}.cal-lab{max-width:1520px;margin:0 auto}.cal-lab-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px}.cal-lab-heading h2{margin:2px 0 5px;font-size:28px;letter-spacing:-.025em}.cal-lab-heading p{max-width:78ch;margin:0}.cal-lab-kicker{color:var(--accent);font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.cal-lab-health{display:flex;flex-direction:column;align-items:flex-end;gap:5px;min-width:max-content}.cal-lab-grid{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:22px;align-items:start;margin-top:18px}.cal-lab-grid aside{min-width:0}.cal-lab-start{display:flex;flex-direction:column;gap:13px}.cal-lab-start h3,.cal-lab-runs h3,.cal-lab-run-head h3,.cal-lab-review h3{margin:0}.cal-lab-start label,.cal-lab-review>label,.cal-lab-resolution label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:650}.cal-lab-start input,.cal-lab-start select,.cal-lab-review textarea,.cal-lab-resolution select{width:100%}.cal-lab-review textarea{resize:vertical;min-height:74px;font:inherit;color:var(--fg);padding:8px 9px;border:1px solid var(--line);border-radius:6px}.cal-lab-mode-note{margin:-3px 0 0;padding:9px 10px;border:1px solid #c8e3de;border-radius:8px;background:#f1faf8;color:#245f58;font-size:11.5px}.cal-lab-consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:8px!important;font-weight:500!important;line-height:1.4}.cal-lab-consent input{width:auto;margin-top:2px}.cal-lab-form-row{display:grid;grid-template-columns:1fr 1.35fr;gap:10px}.cal-lab-form-row label{min-width:0}.cal-lab-runs{padding:10px;max-height:480px;overflow-y:auto}.cal-lab-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px}.cal-lab-run{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;width:100%;margin:0;padding:10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--fg);text-align:left}.cal-lab-run+.cal-lab-run{margin-top:3px}.cal-lab-run:hover{background:var(--tint);border-color:var(--line)}.cal-lab-run.selected{background:#f1f8fb;border-color:#b9d3e6}.cal-lab-run-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:680}.cal-lab-run>.muted{grid-column:1 / -1;font-size:10.5px}.cal-lab-workbench{min-width:0}.cal-lab-run-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center}.cal-lab-run-head .mono{overflow-wrap:anywhere}.cal-lab-identifiers{display:grid;gap:1px;margin-top:4px;color:var(--muted);font-size:10.5px}.cal-lab-identifiers b{color:var(--fg);font-weight:650}.cal-lab-run-state{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.cal-lab-run-state .muted{font-size:10.5px}.cal-lab-run-head .toolbar{margin:0}.cal-lab-button{display:inline-block;padding:7px 14px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:var(--accent-fg)}.cal-lab-button.ghost{background:#fff;color:var(--fg);border-color:var(--line)}.cal-lab-active{display:flex;gap:12px;align-items:center;background:#fffbeb;border-color:#fde68a}.cal-lab-spinner{width:18px;height:18px;flex:0 0 auto;border:2px solid #f3cf75;border-top-color:#a16207;border-radius:50%;animation:cal-lab-spin .8s linear infinite}@keyframes cal-lab-spin{to{transform:rotate(360deg)}}.cal-lab-counts{display:grid;grid-template-columns:repeat(5,minmax(95px,1fr));gap:9px;margin-bottom:20px}.cal-lab-count{padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.cal-lab-count b{display:block;font-size:21px;line-height:1.1;font-variant-numeric:tabular-nums}.cal-lab-count span{display:block;margin-top:4px;color:var(--muted);font-size:10.5px}.cal-lab-count.warning{border-color:#fecaca;background:#fff7f7}.cal-lab-count.warning b{color:var(--unmatched)}.cal-lab-components{margin-bottom:20px}.cal-lab-components .panel-head .toolbar{margin:0}.cal-lab-component-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.cal-lab-component-controls>input{width:min(390px,100%)}.cal-lab-component-tabs{display:flex;gap:5px}.cal-lab-component-tabs button{margin:0;border-color:var(--line);background:#fff;color:var(--fg)}.cal-lab-component-tabs button.active{border-color:var(--accent);background:#eaf4fa;color:var(--accent)}.cal-lab-component-summary{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:10px;color:var(--muted);font-size:11px}.cal-lab-component-summary b{color:var(--fg)}.cal-lab-component-table{max-height:620px;overflow:auto;border:1px solid var(--line)}.cal-lab-component-table table{min-width:1120px}.cal-lab-component-table th{position:sticky;top:0;z-index:1;background:var(--tint)}.cal-lab-component-table td{max-width:280px}.cal-lab-component-table td small{display:block;margin-top:3px;color:var(--muted)}.cal-lab-component-pages{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:10px;color:var(--muted);font-size:11px}.cal-lab-comparison{margin-bottom:20px}.cal-lab-comparison-grid{display:grid;grid-template-columns:repeat(5,minmax(105px,1fr));gap:8px}.cal-lab-golden-target{display:flex;justify-content:space-between;gap:14px;margin-bottom:10px;padding:9px 10px;border:1px solid #b9d3e6;border-radius:8px;background:#f1f8fb;color:#285a78;font-size:11px}.cal-lab-golden-target>div{display:grid;gap:2px}.cal-lab-golden-target>span{text-align:right;font-variant-numeric:tabular-nums}.cal-lab-comparison-metric{display:grid;gap:3px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--tint)}.cal-lab-comparison-metric>span,.cal-lab-comparison-metric small{color:var(--muted);font-size:10px}.cal-lab-comparison-metric b{font-size:16px;font-variant-numeric:tabular-nums}.cal-lab-comparison-metric i{color:var(--muted);font-style:normal;font-weight:400}.cal-lab-comparison-metric.warning{border-color:#fecaca;background:#fff7f7}.cal-lab-comparison-metric.warning b{color:var(--unmatched)}.cal-lab-comparison-runtime{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:12px;color:var(--muted);font-size:11px}.cal-lab-comparison-runtime b{color:var(--fg);margin-left:3px}.cal-lab-gate-failures{display:grid;gap:6px;margin-top:12px}.cal-lab-gate-failures>div{display:grid;gap:2px;padding:8px 10px;border-left:3px solid var(--unmatched);background:#fff7f7;font-size:11px}.cal-lab-review{border-color:#f4cd8a;background:#fffdf7}.cal-lab-row-ledger{margin:12px 0;padding:11px;border:1px solid #b9d3e6;border-radius:9px;background:#f6fbfe}.cal-lab-row-ledger.incomplete{border-color:#fecaca;background:#fff7f7}.cal-lab-row-ledger .cal-lab-section-head{margin-bottom:9px}.cal-lab-row-ledger .cal-lab-comparison-grid{grid-template-columns:repeat(5,1fr)}.cal-lab-ledger-gaps{display:grid;gap:5px;margin-top:9px}.cal-lab-ledger-gaps>div{display:flex;justify-content:space-between;gap:12px;padding:7px 9px;border-left:3px solid var(--unmatched);background:#fff;font-size:11px}.cal-lab-issue{display:grid;gap:2px;margin:9px 0;padding:9px 11px;border-left:3px solid var(--review);background:#fff}.cal-lab-resolutions{display:grid;gap:8px;margin:13px 0}.cal-lab-resolution{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(180px,1.5fr) minmax(145px,.7fr);gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.cal-lab-resolution-evidence{min-width:0;font-size:12px;overflow-wrap:anywhere}.cal-lab-resolution-fields{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:7px 18px;padding-top:8px;border-top:1px solid var(--line);font-size:11px}.cal-lab-resolution-fields span{color:var(--muted)}.cal-lab-resolution-fields b{color:var(--fg);margin-left:4px}.cal-lab-provenance{grid-column:1 / -1}.cal-lab-provenance summary{cursor:pointer;color:var(--accent);font-size:11px}.cal-lab-provenance>div{display:grid;grid-template-columns:110px 1fr 1.5fr;gap:7px 12px;padding:7px 0;border-top:1px solid var(--line);font-size:10.5px}.cal-lab-provenance>div:first-of-type{margin-top:6px}.cal-lab-provenance .mono{grid-column:1 / -1;overflow-wrap:anywhere}.cal-lab-visual-evidence{margin:13px 0;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff}.cal-lab-evidence-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px}.cal-lab-evidence-gallery a{display:grid;gap:5px;min-width:0;padding:5px;border:1px solid var(--line);border-radius:7px;color:var(--fg);font-size:10px}.cal-lab-evidence-gallery img{width:100%;height:118px;object-fit:contain;background:var(--tint)}.cal-lab-evidence-gallery span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-lab-correction-editor{margin:12px 0;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:#fff}.cal-lab-correction-editor>summary{cursor:pointer;font-weight:680;color:var(--accent)}.cal-lab-correction-editor>summary span{margin-left:7px;padding:2px 6px;border-radius:999px;background:#fff1d6;color:#8a5700;font-size:9px;text-transform:uppercase}.cal-lab-family-edits,.cal-lab-template-edits{display:grid;gap:9px;margin:10px 0}.cal-lab-family-edit{display:grid;grid-template-columns:1fr 1fr 1.15fr auto;gap:8px;align-items:end;padding:9px;border:1px solid var(--line);border-radius:7px}.cal-lab-family-semantics{grid-column:1 / -2}.cal-lab-family-edit button{margin-bottom:1px}.cal-lab-template-edit{padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--tint)}.cal-lab-template-edit>summary{cursor:pointer;font-weight:680}.cal-lab-top-band-edit{display:grid;grid-template-columns:minmax(100px,1fr) 1fr 1fr;gap:8px;align-items:end;margin:10px 0}.cal-lab-column-head,.cal-lab-column-edit{display:grid;grid-template-columns:minmax(110px,1fr) 110px 110px minmax(140px,1fr);gap:8px;align-items:center}.cal-lab-column-head{padding:5px 0;color:var(--muted);font-size:9px;text-transform:uppercase}.cal-lab-column-edit{padding:5px 0;border-top:1px solid var(--line)}.cal-lab-column-edit input,.cal-lab-column-edit select{min-width:0}.cal-lab-column-block{margin-top:9px;padding-top:7px;border-top:2px solid var(--line)}.cal-lab-families{display:grid;gap:8px}.cal-lab-family{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(110px,.6fr) minmax(220px,1.6fr);gap:12px;padding:9px 10px;border-radius:8px;background:var(--tint)}.cal-lab-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cal-lab-events{max-height:390px;overflow-y:auto}.cal-lab-event{display:flex;gap:9px;align-items:flex-start;padding:7px 0}.cal-lab-event+.cal-lab-event{border-top:1px solid var(--line)}.cal-lab-event-dot{width:8px;height:8px;flex:0 0 auto;margin-top:6px;border-radius:50%;background:var(--rejected)}.cal-lab-event-dot.complete,.cal-lab-event-dot.accepted,.cal-lab-event-dot.agree{background:var(--auto)}.cal-lab-event-dot.failed,.cal-lab-event-dot.rejected{background:var(--unmatched)}.cal-lab-event-dot.running,.cal-lab-event-dot.challenge,.cal-lab-event-dot.waiting_for_human{background:var(--review)}.cal-lab-artifacts{display:flex;flex-direction:column}.cal-lab-artifacts a{display:flex;justify-content:space-between;gap:12px;padding:7px 2px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.cal-lab-artifacts details{margin-top:10px}.cal-lab-artifacts summary{cursor:pointer;color:var(--accent)}.chip.accepted,.chip.complete_with_override{background:var(--auto)}.chip.created{background:var(--retired)}@media(max-width:1050px){.cal-lab-grid{grid-template-columns:1fr}.cal-lab-grid aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cal-lab-run-head{grid-template-columns:minmax(0,1fr) auto}.cal-lab-run-head>.toolbar{grid-column:1 / -1}}@media(max-width:720px){.cal-lab-heading,.cal-lab-grid aside{display:block}.cal-lab-health{align-items:flex-start;margin-top:12px}.cal-lab-counts{grid-template-columns:repeat(2,1fr)}.cal-lab-component-controls{display:grid}.cal-lab-component-controls>input{width:100%}.cal-lab-component-tabs{flex-wrap:wrap}.cal-lab-comparison-grid,.cal-lab-row-ledger .cal-lab-comparison-grid{grid-template-columns:repeat(2,1fr)}.cal-lab-resolution,.cal-lab-family,.cal-lab-family-edit,.cal-lab-top-band-edit,.cal-lab-column-head,.cal-lab-column-edit{grid-template-columns:1fr}.cal-lab-column-head{display:none}.cal-lab-family-semantics{grid-column:auto}.cal-lab-bottom-grid,.cal-lab-run-head{grid-template-columns:1fr}.cal-lab-run-state{align-items:flex-start}}.panel-title{margin:0 0 14px;font-size:19px;font-weight:700;letter-spacing:-.018em}.pos-item{margin-top:9px;padding:10px 12px 11px 22px;position:relative;background:var(--tint);border-radius:8px}.pos-item:before{content:"└";position:absolute;left:8px;top:9px;color:var(--muted);font-size:11px}.pos-item.part{margin-left:18px;margin-top:5px}table.price-list td.moq,table.price-list td.pack,table.price-list td.lead{white-space:nowrap}table.price-list td.moq,table.price-list td.pack{color:var(--muted)}table.price-list td.lead{color:var(--muted);font-size:11px}table.price-list td.stock{padding-left:4px}table.price-list td.moq.short{color:#b45309;font-weight:600}table.price-list td.moq .chip.warn{background:#b45309;margin-left:3px;padding:0 5px;font-size:10px}table.price-list td.moq .chip.warn.ghost{background:transparent;color:#b45309;border:1px solid #b45309;padding:0 4px}table.price-list .chip.ok{background:var(--auto);padding:0 5px;font-size:10px}table.price-list .chip.made{background:transparent;color:var(--muted);border:1px solid var(--border);padding:0 4px;font-size:10px;font-weight:500}.login-page{min-height:100vh;display:grid;place-items:center;background:var(--bg)}.login-card{display:grid;gap:14px;width:min(340px,90vw);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:28px}.login-card .brand{font-weight:700;color:var(--fg)}.login-hint{margin:0;color:var(--muted);font-size:13px}.login-card button{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 12px;border:0;border-radius:8px;background:var(--accent);color:var(--accent-fg);font:inherit;cursor:pointer}.login-card button:disabled{opacity:.6;cursor:default}.login-error{margin:0;color:#cc3a41;font-size:13px}.topnav .signout{margin-left:auto;background:none;border:0;color:var(--muted);font:inherit;cursor:pointer}.topnav .signout:hover{color:var(--fg)}
