/* STATUS — ProgressBar, StatRow, StatusRing */
.sv-bar{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}
.sv-bar-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-8)}
.sv-bar-label{display:flex;align-items:center;gap:var(--space-6);color:var(--text-primary);font:var(--fw-semibold) var(--fs-label)/1 var(--font-ui);letter-spacing:var(--ls-label);text-transform:uppercase}
.sv-bar-label .sv-icon{width:var(--icon-sm);height:var(--icon-sm);color:var(--bar-color,var(--text-secondary))}
.sv-bar-value{color:var(--text-strong);font:var(--type-data);font-variant-numeric:tabular-nums}
.sv-bar-track{position:relative;height:6px;background:rgba(0,0,0,.55);box-shadow:inset 0 0 0 1px var(--line-soft);overflow:hidden}
.sv-bar-fill{position:absolute;left:0;top:0;bottom:0;background:var(--bar-color,var(--color-bone-300));box-shadow:inset 0 1px 0 rgba(255,255,255,.18);transition:width var(--dur-panel) var(--ease-out),background-color var(--dur-panel)}
.sv-bar-ghost{position:absolute;left:0;top:0;bottom:0;background:rgba(211,203,187,.25)}
.sv-bar-ticks{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 1px),rgba(0,0,0,.55) calc(10% - 1px) 10%);pointer-events:none}
.sv-bar--sm .sv-bar-track{height:4px}
.sv-bar--lg .sv-bar-track{height:10px}
.sv-bar--vertical .sv-bar-track{width:4px;height:100%}
.sv-bar[data-critical] .sv-bar-fill{animation:sv-crit 1.2s steps(2,jump-none) infinite}
@keyframes sv-crit{50%{opacity:.55}}

.sv-stat{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-4) var(--space-8);min-width:0}
.sv-stat-icon{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:rgba(0,0,0,.4);box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--stat-color,var(--text-primary))}
.sv-stat-icon .sv-icon{width:var(--icon-sm);height:var(--icon-sm)}
.sv-stat-label{color:var(--text-primary);font:var(--fw-semibold) var(--fs-label)/1 var(--font-ui);letter-spacing:var(--ls-label);text-transform:uppercase}
.sv-stat-value{color:var(--text-strong);font:var(--type-data);text-align:right;font-variant-numeric:tabular-nums}
.sv-stat-value[data-tone="warning"]{color:var(--color-ochre-400)}
.sv-stat-value[data-tone="danger"]{color:var(--color-blood-400)}
.sv-stat-value[data-tone="success"]{color:var(--color-olive-400)}
.sv-stat .sv-bar-track{grid-column:2 / 4;height:3px}
.sv-stat--kv{grid-template-columns:7rem 1fr}
.sv-stat--kv .sv-stat-label{color:var(--text-secondary)}
.sv-stat--kv .sv-stat-value{text-align:left;color:var(--text-primary);font-family:var(--font-body);font-weight:var(--fw-medium)}

.sv-ring{position:relative;flex:none;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:conic-gradient(var(--ring-color) calc(var(--p) * 1%),rgba(211,203,187,.12) 0);color:var(--text-strong)}
.sv-ring::before{content:'';position:absolute;inset:3px;border-radius:50%;background:rgba(14,13,11,.9);box-shadow:inset 0 0 0 1px rgba(0,0,0,.6)}
.sv-ring::after{content:'';position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(transparent 0 8.6deg,rgba(0,0,0,.7) 8.6deg 10deg);-webkit-mask:radial-gradient(circle,transparent calc(50% - 3px),#000 calc(50% - 3px));mask:radial-gradient(circle,transparent calc(50% - 3px),#000 calc(50% - 3px))}
.sv-ring .sv-icon{position:relative;z-index:1;width:var(--icon-md);height:var(--icon-md)}
.sv-ring[data-critical] .sv-icon{color:var(--color-blood-400)}
.sv-ring--sm{width:2.25rem;height:2.25rem}
.sv-ring--sm .sv-icon{width:var(--icon-sm);height:var(--icon-sm)}
