:root{--bg:#f5f7fb;--card:#fff;--ink:#172033;--muted:#667085;--line:#e4e7ec;--accent:#2563eb;--accent2:#7c3aed;--good:#047857;--warn:#b45309;--danger:#b42318;--shadow:0 8px 30px rgba(15,23,42,.07)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Hiragino Sans","Yu Gothic UI",sans-serif}.topbar{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px 4vw;background:#0f172a;color:#fff}.topbar h1{font-size:clamp(26px,4vw,42px);margin:2px 0 8px}.subtitle{margin:0;color:#cbd5e1}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;color:#60a5fa;margin:0}.primary,.secondary{border:0;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer}.primary{background:#fff;color:#0f172a;white-space:nowrap}.secondary{background:#eef2ff;color:#3730a3;width:100%;margin-top:8px}.layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;padding:22px;max-width:1600px;margin:auto}.panel,.card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.controls{padding:20px;align-self:start;position:sticky;top:16px}.controls h2{margin-top:0}.controls label{display:block;font-size:13px;font-weight:700;margin:18px 0}.controls input[type=range]{width:100%;margin-top:8px}.toggle-row{display:flex!important;align-items:center;gap:8px}.model-note{margin-top:20px;padding:14px;border-radius:14px;background:#f8fafc;font-size:12px;color:var(--muted)}.model-note p{margin:7px 0}.content{min-width:0}.status{padding:11px 14px;border-radius:12px;background:#e0f2fe;color:#075985;font-weight:700;margin-bottom:16px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.kpi{background:white;border:1px solid var(--line);border-radius:16px;padding:17px;box-shadow:var(--shadow)}.kpi span,.kpi small{display:block;color:var(--muted);font-size:12px}.kpi strong{display:block;font-size:26px;margin:7px 0}.card{padding:20px;margin-bottom:14px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.card h2,.card h3{margin:2px 0 14px}.badge{padding:7px 10px;border-radius:999px;background:#ecfdf3;color:#027a48;font-size:12px;font-weight:800}.recommendation-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.recommendation{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fcfcfd}.recommendation .rank{font-size:11px;color:var(--muted)}.recommendation strong{display:block;margin:6px 0}.recommendation p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chart-grid .card{margin:0}.chart{height:270px}.chart svg{width:100%;height:100%;overflow:visible}.axis{stroke:#d0d5dd;stroke-width:1}.gridline{stroke:#eef2f6;stroke-width:1}.label{fill:#667085;font-size:11px}.legend{display:flex;gap:12px;font-size:12px;color:var(--muted);margin-top:8px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:5px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);font-size:11px;text-transform:uppercase}.diagnostics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.diag{padding:13px;border:1px solid var(--line);border-radius:12px}.diag span{display:block;color:var(--muted);font-size:11px}.diag strong{display:block;margin-top:4px}.good{color:var(--good)}.warn{color:var(--warn)}.danger{color:var(--danger)}
@media(max-width:1050px){.layout{grid-template-columns:1fr}.controls{position:static}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.topbar{align-items:flex-start;flex-direction:column}.layout{padding:12px}.kpi-grid,.chart-grid,.recommendation-list,.diagnostics{grid-template-columns:1fr}.chart{height:240px}}
