:root{color-scheme:light;--surface-1: #fcfcfb;--page: #f9f9f7;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--grid: #e1e0d9;--baseline: #c3c2b7;--border: rgba(11, 11, 11, .1);--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--status-good: #0ca30c;--status-warning: #fab219;--status-critical: #d03b3b}@media (prefers-color-scheme: dark){:root:where(:not([data-theme=light])){color-scheme:dark;--surface-1: #1a1a19;--page: #0d0d0d;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--baseline: #383835;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--status-good: #0ca30c;--status-warning: #fab219;--status-critical: #d03b3b}}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text-primary);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45}h1,h2,h3{margin:0;font-weight:650}button{font:inherit;cursor:pointer;border:1px solid var(--border);border-radius:8px;background:var(--surface-1);color:var(--text-primary);padding:8px 14px}button:disabled{opacity:.5;cursor:default}.app{max-width:1400px;margin:0 auto;padding:20px}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.header .titles h1{font-size:20px}.header .titles p{margin:2px 0 0;color:var(--text-secondary)}.run{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.run .primary{background:var(--series-1);color:#fff;border-color:transparent;font-weight:600}.run .meta{color:var(--text-secondary);font-size:13px}.progress{width:240px;height:8px;border-radius:999px;background:var(--grid);overflow:hidden}.progress>span{display:block;height:100%;background:var(--series-1);transition:width .4s ease}.layout{display:grid;grid-template-columns:minmax(420px,1fr) minmax(480px,1.3fr);gap:18px;align-items:start}@media (max-width: 1080px){.layout{grid-template-columns:1fr}}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:16px}.card>h2{font-size:15px;margin-bottom:12px}.table-wrap{max-height:620px;overflow:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{text-align:right;padding:7px 8px;white-space:nowrap}th:first-child,td:first-child{text-align:left}thead th{position:sticky;top:0;background:var(--surface-1);color:var(--text-secondary);font-weight:600;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none}tbody tr{border-bottom:1px solid var(--grid)}tbody tr:hover{background:color-mix(in srgb,var(--series-1) 8%,transparent)}tbody tr.selected{background:color-mix(in srgb,var(--series-1) 16%,transparent)}td.sym{font-weight:600;cursor:pointer}.scorebar{position:relative;min-width:68px;height:16px;border-radius:4px;background:var(--grid);overflow:hidden}.scorebar>span{position:absolute;inset:0 auto 0 0;background:var(--series-1);border-radius:4px}.scorebar>em{position:relative;font-style:normal;font-size:11px;color:var(--text-primary);padding:0 5px;line-height:16px}.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;color:#fff}.badge.HIGH{background:var(--status-good)}.badge.NEUTRAL{background:var(--status-warning);color:#0b0b0b}.badge.LOW{background:var(--status-critical)}.detail-empty{color:var(--text-secondary);padding:40px 8px;text-align:center}.chart-block{margin-bottom:18px}.chart-block h3{font-size:13px;color:var(--text-secondary);margin-bottom:6px}.legend{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:6px;font-size:12px}.legend span{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary)}.legend i{width:12px;height:3px;border-radius:2px;display:inline-block}.plan{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 14px}.plan .chip{border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:12px;color:var(--text-secondary)}.plan .chip b{color:var(--text-primary);font-variant-numeric:tabular-nums}.horizon-tabs{display:flex;gap:6px;margin-bottom:10px}.horizon-tabs button.active{background:var(--series-1);color:#fff;border-color:transparent}.error{background:color-mix(in srgb,var(--status-critical) 12%,transparent);border:1px solid var(--status-critical);color:var(--text-primary);border-radius:8px;padding:10px 12px;margin-bottom:12px;font-size:13px}.muted{color:var(--text-muted)}
