:root{
    --ok: #198754;
    --warn: #b7791f;
    --danger: #c0392b;
    --muted: #6c757d;
    --ok-bg: #e8f5ee;
    --warn-bg: #fff4d6;
    --danger-bg: #fbe3e0;
    --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
body{ background:#f6f7f9; }
.state{ border-left:.5rem solid var(--ok); background:var(--ok-bg); }
.state.state-warn{ border-left-color:var(--warn); background:var(--warn-bg); }
.state.state-danger{ border-left-color:var(--danger); background:var(--danger-bg); }
.state .badge{ font-size:1rem; }
.num{ font-family:var(--mono); font-variant-numeric:tabular-nums; }
.metric{ font-size:1.6rem; font-weight:600; line-height:1.1; }
.metric-label{ color:var(--muted); font-size:.8rem; text-transform:uppercase; letter-spacing:.03em; }
.text-warn{ color:var(--warn) !important; }
.text-danger{ color:var(--danger) !important; }
tr.stale{ background:var(--warn-bg); }
tr.unrecoverable{ color:var(--danger); }
tr.open{ background:var(--danger-bg); }
.card{ border:0; box-shadow:0 1px 2px rgba(0,0,0,.08); }
.card-header{ background:#fff; font-weight:600; }
[c-id="model-gap"]{ display:none; }
