:root{--c1:var(--lightningcss-light,#3a6ea5)var(--lightningcss-dark,#8fb4e8);--c2:var(--lightningcss-light,#2f8f5b)var(--lightningcss-dark,#4ec9a0);--c3:var(--lightningcss-light,#b7791f)var(--lightningcss-dark,#ffb454);--c4:var(--lightningcss-light,#8a4fa0)var(--lightningcss-dark,#c9a2e0);--c5:var(--lightningcss-light,#b93221)var(--lightningcss-dark,#ff8a78);--c6:var(--lightningcss-light,#5e6a77)var(--lightningcss-dark,#9bacb3)}.cv-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--sp-3) var(--sp-4);gap:var(--sp-2);flex-direction:column;min-width:0;margin:0;display:flex}.cv-card figcaption{align-items:baseline;gap:0 var(--sp-2);flex-wrap:wrap;display:flex}.cv-card figcaption b{font-size:var(--fs-md);font-weight:600}.cv-card figcaption span{font-size:var(--fs-xs);color:var(--text-soft)}.cv-bars{flex-direction:column;gap:6px;display:flex}.cv-bar{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);grid-template-columns:minmax(70px,34%) 1fr auto;display:grid}.cv-bar-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cv-bar-track{background:var(--surface-2);border-radius:5px;height:10px;overflow:hidden}.cv-bar-fill{background:var(--c1);border-radius:5px;height:100%;display:block}.cv-bar-value{font-variant-numeric:tabular-nums;font-weight:600}.cv-bar-value em{color:var(--text-soft);font-style:normal;font-weight:400;font-size:var(--fs-xs);margin-left:6px}.cv-donut{gap:var(--sp-3);grid-template-columns:112px 1fr;align-items:center;display:grid}.cv-donut svg{width:112px;height:112px}.cv-donut-total{font:700 15px var(--font);fill:var(--text)}.cv-legend{font-size:var(--fs-sm);flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.cv-legend li{grid-template-columns:10px 1fr auto auto;align-items:center;gap:6px;display:grid}.cv-legend i{border-radius:2px;width:10px;height:10px;display:inline-block}.cv-legend em{color:var(--text-soft);font-style:normal;font-size:var(--fs-xs);text-align:right;min-width:32px}.cv-legend-inline{flex-flow:wrap;gap:4px 12px}.cv-legend-inline li{display:inline-flex}.cv-svg{width:100%;height:auto;max-height:190px}.cv-axis{font:10px var(--font);fill:var(--text-soft)}.cv-grid{stroke:var(--border)}.cv-number{font-variant-numeric:tabular-nums;padding:var(--sp-2) 0;font-size:2.25rem;font-weight:700;line-height:1.1}.cv-gauge svg{width:100%;max-width:220px;margin:0 auto;display:block}.cv-gauge-value{font:700 14px var(--font);fill:var(--text)}.cv-sub{font-size:var(--fs-xs);color:var(--text-soft);text-align:center}.cv-empty{color:var(--text-soft);font-size:var(--fs-sm);margin:0}.cv-error{color:var(--danger);font-size:var(--fs-sm);margin:0}.cv-table-wrap{overflow-x:auto}.cv-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.cv-table th,.cv-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:4px 8px}.cv-table th{color:var(--text-soft);font-weight:600}.objm{padding:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);flex-direction:column;gap:6px;min-width:0;display:flex}.objm-head{justify-content:space-between;gap:4px var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.objm-head b{font-size:var(--fs-md)}.objm-track{background:var(--surface-2);border-radius:5px;height:10px;position:relative}.objm-fill{border-radius:5px;position:absolute;inset:0 auto 0 0}.objm-good{background:var(--bar-good)}.objm-bad{background:var(--bar-bad)}.objm-neutral{background:var(--bar-neutral)}.objm-tick{background:var(--text);border-radius:1px;width:2px;position:absolute;top:-4px;bottom:-4px}.objm-foot{justify-content:space-between;gap:var(--sp-2);font-size:var(--fs-sm);display:flex}.objm-foot em{color:var(--text-soft);font-style:normal}.objm-desc{font-size:var(--fs-xs);margin:0}.objm-compact{padding:var(--sp-2) var(--sp-3)}@media (width<=520px){.cv-donut{grid-template-columns:1fr;justify-items:center}.cv-bar{grid-template-columns:minmax(60px,40%) 1fr auto}}.dash{gap:var(--sp-4);flex-direction:column;display:flex}.dash-h{margin:0 0 var(--sp-2);font-size:var(--fs-md)}.dash-grid{grid-template-columns:repeat(var(--cols,2), minmax(0, 1fr));gap:var(--sp-3);display:grid}@media (width<=900px){.dash-grid{grid-template-columns:1fr}}
