*{box-sizing:border-box}:root{--bg: #f5f6f8;--card: #ffffff;--border: #e3e6ec;--ink: #1a1f2c;--ink-muted: #5a6478;--accent: #ff6b1a;--accent-2: #1f3a8a;--ok: #1f9d55;--warn: #c46b00;--bad: #c53030;--shadow: 0 1px 2px rgba(20,30,55,.06), 0 4px 12px rgba(20,30,55,.04)}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}.shell{max-width:880px;margin:0 auto;padding:24px 20px 80px}.brandbar{display:flex;align-items:center;gap:16px;background:var(--card);border-bottom:1px solid var(--border);padding:14px 20px;box-shadow:var(--shadow)}.brandbar .logos{display:flex;align-items:center;gap:24px}.brandbar .logo{height:36px;width:auto;object-fit:contain}.brandbar .logo-is{height:38px}.brandbar .sep{width:1px;height:28px;background:var(--border)}.brandbar .title{font-size:14px;color:var(--ink-muted);margin-left:auto}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:28px;box-shadow:var(--shadow)}.card+.card{margin-top:18px}h1{font-size:28px;margin:0 0 12px;line-height:1.2}h2{font-size:22px;margin:0 0 6px}.section-blurb{color:var(--ink-muted);font-size:14px;margin:0 0 24px;line-height:1.55}.q{padding:18px 0;border-top:1px solid var(--border)}.q:first-of-type{border-top:0}.q-text{display:block;font-weight:600;margin-bottom:12px;line-height:1.4}.q-text .req{color:var(--bad);margin-left:4px;font-weight:700}.q-text .q-num{display:inline-block;min-width:38px;color:var(--accent);font-weight:700;margin-right:8px}.q-text .q-body{display:inline}.q-text .q-id{font-size:11px;color:var(--ink-muted);font-weight:500;margin-left:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.opts{display:flex;flex-direction:column;gap:8px}.opts label{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;cursor:pointer;background:#fff;transition:border-color .12s,background .12s}.opts label:hover{border-color:var(--accent)}.opts input[type=radio],.opts input[type=checkbox]{margin-top:3px;flex:0 0 auto;accent-color:var(--accent)}.opts label.checked{border-color:var(--accent);background:#ff6b1a0d}.inline-input{margin-top:10px;padding:10px 12px;width:100%;border:1px solid var(--border);border-radius:8px;font:inherit}textarea.inline-input{min-height:100px;resize:vertical}.scale-wrap{display:inline-block;max-width:100%}.scale-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.scale-btn{width:44px;height:44px;border-radius:10px;border:1px solid var(--border);background:#fff;cursor:pointer;font-weight:600;font-size:14px}.scale-btn:hover{border-color:var(--accent)}.scale-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.scale-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-muted);margin-top:6px;padding:0 4px}.matrix table{width:100%;border-collapse:collapse;font-size:14px}.matrix th,.matrix td{padding:8px 6px;text-align:center;border-bottom:1px solid var(--border)}.matrix th{font-weight:600;color:var(--ink-muted);font-size:12px}.matrix td.feature{text-align:left;font-weight:500;padding-left:0;max-width:0}.matrix .pair{display:inline-flex;gap:3px}.matrix .dot{width:26px;height:26px;border-radius:6px;border:1px solid var(--border);background:#fff;font-size:11px;cursor:pointer;padding:0}.matrix .dot.imp.active{background:#1f3a8a;border-color:#1f3a8a;color:#fff}.matrix .dot.sat.active{background:var(--accent);border-color:var(--accent);color:#fff}.matrix .dot:hover{border-color:var(--ink)}.matrix .na{font-size:12px;color:var(--ink-muted)}.matrix th.group-imp,.matrix th.group-sat{font-size:13px;text-transform:uppercase;letter-spacing:.06em;padding:10px 6px}.matrix th.group-imp{background:#1f3a8a;color:#fff;border-bottom:0}.matrix th.group-sat{background:var(--accent);color:#fff;border-bottom:0;border-left:4px solid #ffffff}.matrix th.cell-imp{background:#1f3a8a1a;color:#1f3a8a}.matrix th.cell-sat{background:#ff6b1a1a;color:#c25500}.matrix td.cell-imp{background:#1f3a8a0a}.matrix td.cell-sat{background:#ff6b1a0a}.matrix .sat-start{border-left:4px solid #1a1f2c!important}.matrix th.cell-imp.sat-start,.matrix td.cell-imp.sat-start{border-left:none!important}.matrix th.scale-hint-cell{font-size:11px;font-weight:500;text-transform:none;letter-spacing:0;padding:6px 4px;color:var(--ink-muted);font-style:italic}.matrix .dot.imp{border-color:#1f3a8a59}.matrix .dot.sat{border-color:#ff6b1a59}.matrix tr.row-incomplete td{background:#ffb0001f}.matrix tr.row-incomplete td.feature{font-weight:700;color:#8a4d00}.matrix tr.row-incomplete td.cell-imp,.matrix tr.row-incomplete td.cell-sat{background:#ffb0002e}.matrix .row-flag{color:#c46b00;font-weight:700;margin-right:4px}.q.q-incomplete{border-left:4px solid #c46b00;padding-left:14px;background:#ffb0000a;border-radius:4px}.alloc-row{display:grid;grid-template-columns:1fr 110px;gap:16px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.alloc-row label{font-size:14px}.alloc-input{display:flex;align-items:center;gap:6px}.alloc-input input[type=number]{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font:inherit;text-align:right;width:80px}.alloc-input .alloc-unit{color:var(--ink-muted);font-weight:500}.alloc-total{display:flex;justify-content:space-between;padding-top:12px;font-weight:600}.alloc-total .ok{color:var(--ok)}.alloc-total .bad{color:var(--bad)}.ranked .pool{display:flex;flex-direction:column;gap:8px}.ranked .pool label{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer}.ranked .badge{width:28px;height:28px;border-radius:50%;background:#eef0f5;color:var(--ink-muted);font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:13px}.ranked .pool label.picked .badge{background:var(--accent);color:#fff}.ranked .pool label .name{flex:1}.ranked .hint{font-size:12px;color:var(--ink-muted);margin-top:8px}.timerange{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.timerange select{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font:inherit;background:#fff;min-width:90px}.inhibitor{display:flex;flex-direction:column;gap:14px}.inhibitor-row{border:1px solid var(--border);border-radius:12px;padding:14px 16px;background:#fafbfd}.inhibitor-label{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:13px;color:var(--ink-muted);margin-bottom:10px}.inhibitor-label .link-btn{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;font-size:12px;text-decoration:underline}.inhibitor-grid{display:grid;grid-template-columns:2fr 2fr 1fr;gap:10px}.inhibitor-grid .ig-cell{display:flex;flex-direction:column;gap:6px}.inhibitor-grid .ig-head{font-size:12px;color:var(--ink-muted);font-weight:500}.inhibitor-grid select,.inhibitor-grid input[type=number]{padding:9px 10px;border:1px solid var(--border);border-radius:8px;font:inherit;background:#fff}.inhibitor-grid input[type=number]{text-align:right}@media (max-width: 640px){.inhibitor-grid{grid-template-columns:1fr}}.progress{position:sticky;top:0;z-index:5;background:var(--bg);padding:12px 0 14px}.progress-bar{height:6px;background:var(--border);border-radius:4px;overflow:hidden}.progress-bar>div{height:100%;background:var(--accent);transition:width .25s ease}.progress-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-muted);margin-top:6px}.nav-row{display:flex;gap:12px;margin-top:24px;align-items:center;flex-wrap:wrap}.btn{padding:12px 20px;border-radius:10px;border:1px solid var(--border);background:#fff;cursor:pointer;font:inherit;font-weight:600}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover:not(:disabled){filter:brightness(1.05)}.btn.ghost{background:transparent}.errors{background:#fff4ed;border:1px solid #f1c0a3;color:#8a3d00;border-radius:10px;padding:12px 14px;font-size:13px;margin-top:12px}.errors ul{margin:6px 0 0 18px;padding:0}.window-gate{text-align:center;padding:80px 20px}.window-gate h1{font-size:32px}.window-gate p{color:var(--ink-muted)}.done h1{font-size:32px}.done p{color:var(--ink-muted);line-height:1.55}.admin h1{font-size:24px}.admin .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.admin .kpi{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.admin .kpi .v{font-size:28px;font-weight:700}.admin .kpi .l{color:var(--ink-muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.admin table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.admin th,.admin td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;font-size:14px}.admin th{background:#f8f9fb;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.admin td.num,.admin th.num{text-align:right;font-variant-numeric:tabular-nums}.admin .bar{height:6px;background:var(--border);border-radius:4px;overflow:hidden;min-width:80px}.admin .bar>div{height:100%;background:var(--accent)}.admin-tab-bar{background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.admin-tabs{max-width:1100px;margin:0 auto;display:flex;gap:4px;overflow-x:auto;padding:6px 12px}.admin-tab{display:inline-flex;align-items:center;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:600;color:var(--ink-muted);text-decoration:none;white-space:nowrap;border:1px solid transparent}.admin-tab:hover{background:#ff6b1a0f;color:var(--ink)}.admin-tab.active{background:var(--accent);color:#fff}.admin-stats-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-bottom:16px}@media (max-width: 800px){.admin-stats-grid{grid-template-columns:1fr}}.admin-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.admin-card h2{font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin:0 0 12px;font-weight:600}.admin-card .barlist{display:flex;flex-direction:column;gap:8px}.admin-card .barlist-row{display:grid;grid-template-columns:100px 1fr 64px;gap:10px;align-items:center;font-size:13px}.admin-card .barlist-row .bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.admin-card .barlist-row .bar>div{height:100%;background:var(--accent)}.admin-card .barlist-row .num{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-muted)}.spark{display:flex;gap:4px;align-items:flex-end;height:80px;padding:4px 0}.spark .col{flex:1;min-width:12px;background:var(--accent);border-radius:4px 4px 0 0;position:relative}.spark .col .lab{position:absolute;top:-18px;left:0;right:0;text-align:center;font-size:11px;color:var(--ink-muted)}.spark .col .day{position:absolute;top:100%;left:0;right:0;text-align:center;font-size:10px;color:var(--ink-muted);margin-top:4px}.admin .ops{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:16px}.admin .ops .btn.danger{color:#fff;background:var(--bad);border-color:var(--bad)}.admin .ops .btn.danger:hover:not(:disabled){filter:brightness(1.05)}.admin .ops .ops-meta{color:var(--ink-muted);font-size:12px;flex:1;min-width:200px}.admin .flash{padding:10px 14px;background:#fff8ef;border:1px solid #f1c0a3;color:#8a3d00;border-radius:10px;font-size:13px;margin-bottom:16px}.admin .admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.admin .dept-head{margin-bottom:12px}.admin .dept-head .back-link{color:var(--accent);font-size:13px;text-decoration:none;display:inline-block;margin-bottom:8px}.admin .dept-head .back-link:hover{text-decoration:underline}.btn.small{padding:6px 12px;font-size:13px;border-radius:8px}.btn.small+.btn.small{margin-left:6px}.btn.danger{color:#fff;background:var(--bad);border-color:var(--bad)}.btn.danger:hover:not(:disabled){filter:brightness(1.05)}.admin tr.inactive{opacity:.5}.admin tr.add-row{background:#f8f9fb}.admin tr.add-row td{border-top:2px solid var(--border)}.admin .row-input{padding:6px 8px;border:1px solid var(--border);border-radius:6px;font:inherit;width:100%;max-width:100%}.admin .row-input.num{text-align:right;max-width:80px}.admin .row-input.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media (max-width: 640px){.shell{padding:16px 12px 80px}.card{padding:18px 16px}.matrix th,.matrix td{padding:6px 3px;font-size:12px}.matrix .dot{width:22px;height:22px}.alloc-row{grid-template-columns:1fr 80px 50px;gap:8px}.admin .kpis{grid-template-columns:1fr}}
