/* The dashboard. Loaded in the order web/index.html lists them; the order is the cascade. */
/* ---------- analyst dashboard ---------- */
.dash-tiles { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; margin-bottom:20px; }
.dash-tile { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:16px 16px 14px; box-shadow:var(--e-1); text-align:left; cursor:default; transition:box-shadow var(--t-fast), transform var(--t-fast); display:block; }
a.dash-tile { cursor:pointer; }
a.dash-tile:hover { box-shadow:var(--e-2); transform:translateY(-2px); border-color:var(--accent-soft-2); }
.dash-tile .dt-val { font-family:'Sora',sans-serif; font-size:26px; font-weight:700; letter-spacing:-.02em; font-variant-numeric:tabular-nums; color:var(--ink); line-height:1; }
.dash-tile .dt-lab { font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); margin-top:7px; }
.dash-tile .dt-sub { font-size:11.5px; color:var(--faint); margin-top:3px; }
.dash-tile.accent .dt-val { color:var(--accent); } .dash-tile.ok .dt-val { color:var(--ok); } .dash-tile.warn .dt-val { color:var(--warn); } .dash-tile.bad .dt-val { color:var(--bad); }
.panel-head-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.dash-chart svg { width:100%; height:auto; display:block; margin-top:8px; }
.dash-bars { display:flex; flex-direction:column; gap:9px; margin-top:10px; }
.dbar { display:grid; grid-template-columns:110px 1fr auto; align-items:center; gap:10px; font-size:12.5px; }
.dbar .dbar-k { color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dbar .dbar-track { height:9px; border-radius:999px; background:var(--line-soft); overflow:hidden; }
/* display:block is load-bearing: the JS writes width:NN% inline, and width does not apply to a
   non-replaced inline box, so every bar rendered at 0px regardless of its value. */
.dbar .dbar-fill { display:block; height:100%; border-radius:999px; background:var(--grad); }
.dbar .dbar-c { font-variant-numeric:tabular-nums; font-weight:600; color:var(--ink); }
a.dbar { cursor:pointer; } a.dbar:hover .dbar-k { color:var(--accent); } a.dbar:hover .dbar-fill { filter:brightness(1.08); }
.dash-empty { color:var(--muted); font-size:12.5px; padding:14px 2px; }
