/* Dashboard page ("/") only. Shared shell + tokens live in app.css. */
#statusline{font-size:12px;color:var(--muted);margin:10px 0 0}
#statusline.error{color:var(--red)}

.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:22px 0}
.scoring-note{font-size:12px;color:var(--muted);margin:-8px 0 22px}
.scoring-note strong{color:var(--ink);font-weight:700}
.kpi-card{padding:18px 20px}
.kpi-card .kpi-value{display:block;font-size:26px;font-weight:800;letter-spacing:-.02em}
.kpi-card .kpi-label{font-size:12px;color:var(--muted);margin-top:4px;display:block}

.panel{padding:22px;margin-bottom:22px}
.panel .checkline{font-size:13px;color:var(--muted);margin:4px 0 14px}
.panel .checkline label{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--ink)}
.panel .note{font-size:12px;color:var(--muted);margin:4px 0 14px}

.chart-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px;font-size:12px;color:var(--muted)}
.legend-item{display:flex;align-items:center;gap:6px}
.legend-key{width:14px;height:2px;border-radius:1px;display:inline-block;flex:none}
.chart-outer{position:relative}
.chart-wrap{width:100%}
.chart-wrap svg{max-width:100%;display:block}
.chart-tooltip{position:absolute;background:#10233f;color:#fff;font-size:12px;padding:10px 12px;border-radius:10px;pointer-events:none;z-index:5;min-width:120px;box-shadow:0 8px 24px rgba(16,35,63,.28)}
.tt-month{font-weight:700;margin-bottom:4px}
.tt-row{display:flex;align-items:center;gap:6px;padding:1px 0}
.tt-key{width:8px;height:8px;border-radius:2px;display:inline-block;flex:none}
.tt-name{flex:1;color:#cdd8ee;margin-right:10px}
.tt-val{font-weight:700;font-variant-numeric:tabular-nums}
.tt-total{border-top:1px solid rgba(255,255,255,.16);margin-top:4px;padding-top:4px}
.tt-total .tt-name{color:#fff}
.chart-hint{font-size:11.5px;color:var(--muted);margin:8px 0 0}
details.chart-table{margin-top:10px}
details.chart-table summary{font-size:12px;color:var(--blue);cursor:pointer;font-weight:700}
details.chart-table table{border-collapse:collapse;margin-top:8px;font-size:12px;width:100%}
details.chart-table th,details.chart-table td{padding:5px 8px;text-align:right}
details.chart-table th:first-child,details.chart-table td:first-child{text-align:left}

.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;width:100%;font-size:13px}
th,td{padding:8px 12px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
th:first-child,td:first-child,th:nth-child(2),td:nth-child(2),th.text,td.text{text-align:left;font-variant-numeric:normal}
thead th{background:var(--soft);font-weight:700;position:sticky;top:0;color:#44506a}
tbody tr:hover{background:#fbfcfd}

@media(max-width:760px){.kpi-row{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.kpi-row{grid-template-columns:1fr}}
