:root{--c1: #12436d;--c2: #28a197;--c3: #801650;--c4: #f46a25;--c5: #3d3d3d;--c6: #a285d1;--good: #005eb8;--bad: #ed8b00;--neutral: #768692;--bad-text: #8a4b00;--ink: #16181d;--mid: #4f555e;--faint: #7c828b;--rule: #e2e5ea;--rule-strong: #c6ccd4;--bg: #fbfbfc;--panel: #ffffff;--wash: #f3f5f8;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--t-xs: 11.5px;--t-sm: 13px;--t-md: 15px;--t-lg: 26px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:var(--t-sm)/1.55 var(--sans);-webkit-font-smoothing:antialiased}.n,td.n,th.n,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}td.n,th.n{text-align:right}.app{display:flex;flex-direction:column;min-height:100%}header.top{display:flex;align-items:baseline;gap:18px;padding:14px 22px 12px;border-bottom:1px solid var(--rule-strong);background:var(--panel);flex-wrap:wrap}header.top .name{font-size:var(--t-md);font-weight:600;letter-spacing:-.1px}header.top .pwsid{font-family:var(--mono);font-size:var(--t-xs);color:var(--faint)}.chip{font-family:var(--mono);font-size:var(--t-xs);padding:2px 7px;border-radius:2px;background:var(--c1);color:#fff;letter-spacing:.02em}.chip.quiet{background:var(--wash);color:var(--mid);border:1px solid var(--rule)}nav.tabs{display:flex;gap:2px;padding:0 14px;border-bottom:1px solid var(--rule);background:var(--panel);overflow-x:auto}nav.tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;cursor:pointer;font:600 var(--t-sm)/1 var(--sans);color:var(--mid);padding:11px 12px 9px;border-bottom:2px solid transparent;white-space:nowrap}nav.tabs button:hover{color:var(--ink)}nav.tabs button[aria-current=page]{color:var(--c1);border-bottom-color:var(--c1)}nav.tabs button:focus-visible{outline:2px solid var(--c1);outline-offset:-2px}main{flex:1;padding:20px 22px 60px;max-width:1440px;width:100%}h1{font-size:var(--t-lg);font-weight:600;margin:0 0 4px;letter-spacing:-.4px}h2{font-size:var(--t-md);font-weight:600;margin:30px 0 2px}h3{font-size:var(--t-sm);font-weight:600;margin:18px 0 2px}.sub{color:var(--mid);max-width:76ch;margin:0 0 14px}.sub.tight{margin-bottom:6px}.prov{font-family:var(--mono);font-size:var(--t-xs);color:var(--faint);margin:5px 0 0;line-height:1.5}.prov b{font-weight:600;color:var(--mid)}.tiles{display:flex;align-items:stretch;gap:0;margin:16px 0 6px;flex-wrap:wrap}.tile{padding:2px 26px 2px 0;margin-right:26px;border-right:1px solid var(--rule-strong)}.tile:last-child{border-right:0}.tile .k{font-family:var(--mono);font-size:var(--t-xs);color:var(--faint);text-transform:uppercase;letter-spacing:.07em;margin-bottom:3px}.tile .v{font-family:var(--mono);font-size:var(--t-lg);font-variant-numeric:tabular-nums;letter-spacing:-.6px}.tile .d{font-size:var(--t-xs);color:var(--mid);max-width:30ch;margin-top:3px}.tile.under .v{color:var(--c1)}.tile.over .v{color:var(--c3)}.tile.risk .v{color:var(--c5)}.norule{font-size:var(--t-xs);color:var(--mid);margin:8px 0 0;max-width:88ch;padding-left:11px;border-left:2px solid var(--rule-strong)}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--t-sm)}th{text-align:left;font:600 var(--t-xs)/1.3 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--faint);padding:0 10px 6px 0;border-bottom:1px solid var(--rule-strong);white-space:nowrap;position:sticky;top:0;background:var(--bg);z-index:1}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--ink)}td{padding:6px 10px 6px 0;border-bottom:1px solid var(--rule);vertical-align:top}tbody tr:hover{background:var(--wash)}tbody tr.sel{background:#eef3f9}td:last-child,th:last-child{padding-right:0}.queue tbody td{height:36px;padding-top:9px;padding-bottom:9px}.clamp{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media print{.clamp{white-space:normal;overflow:visible}}.grade{display:inline-block;min-width:20px;text-align:center;font:600 var(--t-xs)/1.5 var(--mono);border-radius:2px;background:var(--wash);color:var(--mid);border:1px solid var(--rule)}.grade.low{background:#fdf0e2;border-color:#f3d4ad;color:#8a4b00}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.dot.good{background:var(--good)}.dot.bad{background:var(--bad)}.dot.neutral{background:var(--neutral)}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0 10px}.filters select,.filters input{font:var(--t-sm) var(--sans);padding:4px 7px;border:1px solid var(--rule-strong);border-radius:2px;background:var(--panel);color:var(--ink)}.filters input{min-width:190px}.pill{display:inline-flex;align-items:center;gap:6px;font:var(--t-xs) var(--mono);background:var(--c1);color:#fff;padding:3px 6px 3px 8px;border-radius:2px}.pill button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:#fff;cursor:pointer;font:var(--t-xs) var(--mono);padding:0 2px;line-height:1}.linkish{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;cursor:pointer;color:var(--c1);font:var(--t-sm) var(--sans);text-decoration:underline;text-underline-offset:2px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:600 var(--t-sm) var(--sans);padding:5px 11px;border:1px solid var(--rule-strong);border-radius:2px;background:var(--panel);color:var(--ink)}.btn:hover{border-color:var(--c1);color:var(--c1)}.btn[aria-pressed=true]{background:var(--c1);color:#fff;border-color:var(--c1)}.matrix td.cell{text-align:right;font-family:var(--mono);cursor:pointer;padding-right:12px}.matrix td.cell:hover{outline:2px solid var(--c1);outline-offset:-2px}.matrix td.cell .abs{display:block;font-size:var(--t-xs);color:var(--faint)}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:26px}.panel{background:var(--panel);border:1px solid var(--rule);border-radius:3px;padding:14px 16px}.figure{margin:10px 0 0}.figure figcaption{font-size:var(--t-xs);color:var(--faint);margin-top:5px}.empty{padding:26px 0;color:var(--mid);max-width:62ch}.empty .h{font-weight:600;color:var(--ink);margin-bottom:4px}.empty.design{border-left:2px solid var(--c2);padding-left:12px}.ladder{font-family:var(--mono);font-size:var(--t-sm)}.ladder .op{color:var(--faint);width:16px;display:inline-block}.ladder .row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--rule);gap:20px}.ladder .row.total{border-top:2px solid var(--ink);border-bottom:0;font-weight:600;padding-top:8px}footer.foot{border-top:1px solid var(--rule);padding:16px 22px 40px;font-family:var(--mono);font-size:var(--t-xs);color:var(--faint);line-height:1.8}footer.foot a,.prov a{color:var(--mid)}@page{size:landscape;margin:12mm}@media print{nav.tabs,.filters,.btn{display:none!important}body{background:#fff}main{max-width:none;padding:0}th{position:static}.panel{border-color:#bbb;break-inside:avoid}.chip,.grade{print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-footer{display:block!important}}.print-footer{display:none;font-family:var(--mono);font-size:10px;color:#555;margin-top:10px}@media (max-width: 720px){main{padding:16px 14px 50px}.tile{border-right:0;margin-right:18px}}
