/* ===================== v56: dashboard as software ===================== */
.dsh-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--panel);
  border:1px solid var(--line);border-radius:3px;padding:10px 14px;margin-bottom:12px}
.dsh-barsp{flex:1 1 auto}
.dsh-state{font-family:var(--mono);font-size:9.5px;letter-spacing:.5px;color:var(--faint);white-space:nowrap}
.dsh-state b{color:var(--txt);font-weight:600}
.dsh-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:3px;overflow:hidden;margin-bottom:14px}
.kpi{background:var(--panel);border:0;text-align:left;padding:11px 14px 10px;cursor:pointer;
  font-family:inherit;color:inherit;display:block;position:relative}
.kpi:hover{background:var(--panel2)}
.kpi .k{font-family:var(--mono);font-size:7.5px;letter-spacing:1px;text-transform:uppercase;color:var(--faint);
  display:flex;align-items:center;gap:6px}
.kpi .k .dot{width:6px;height:6px;border-radius:50%;background:var(--line2);flex:0 0 6px;margin-left:auto}
.kpi.st-ok .k .dot{background:var(--ok)}
.kpi.st-mid .k .dot{background:var(--warn)}
.kpi.st-hi .k .dot{background:var(--bad)}
.kpi .v{font-size:23px;font-weight:600;line-height:1.15;margin-top:5px;white-space:nowrap}
.kpi .v u{text-decoration:none;font-size:10px;font-weight:400;color:var(--faint);margin-left:5px}
.kpi .f{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:7px;min-height:19px}
.kpi .delta{font-family:var(--mono);font-size:9px;letter-spacing:.3px;white-space:nowrap}
.kpi .delta.good{color:var(--ok)}
.kpi .delta.bad{color:var(--bad)}
.kpi .delta.n{color:var(--faint)}
.kpi .sp{flex:0 0 auto}
/* findings: metric and picture side by side, mirrored between the columns */
.dsh-find{grid-template-columns:repeat(2,minmax(0,1fr))}
.dsh-f{display:grid;grid-template-columns:minmax(150px,.72fr) minmax(0,1fr);gap:16px;align-items:start;
  padding:16px 18px}
.dsh-f.rev{grid-template-columns:minmax(0,1fr) minmax(150px,.72fr)}
.dsh-f .m{min-width:0}
.dsh-f .n{font-size:26px;font-weight:600;line-height:1.05;font-variant-numeric:tabular-nums;color:var(--txt)}
.dsh-f .n u{text-decoration:none;font-size:10px;color:var(--faint);font-weight:400;margin-left:5px}
.dsh-f .t{font-size:13px;font-weight:600;line-height:1.35;margin-top:6px;color:var(--txt)}
.dsh-f .s{font-size:10.5px;color:var(--faint);line-height:1.55;margin-top:7px}
.dsh-f .m .btn{margin-top:11px;font-size:9.5px;padding:5px 9px}
.dsh-f .hd{display:none}
/* the register table gains the six-slot columns */
.dsh-chh,.dsh-chr{grid-template-columns:24px minmax(96px,1fr) minmax(110px,1fr) minmax(78px,.8fr)
  minmax(230px,1.7fr) minmax(96px,.9fr) minmax(110px,1fr) 54px}
@media (max-width:1400px){ .dsh-kpis{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:1180px){ .dsh-f,.dsh-f.rev{grid-template-columns:1fr} }
/* mirrored findings read as mirrored: the metric hugs its outer edge */
.dsh-f.rev .m{text-align:right}
.dsh-f.rev .m .btn{margin-left:auto}
.dsh-bar{row-gap:9px}
.dsh-barsp{flex:1 1 100%;height:0}
.dsh-state{margin-left:auto}
