/*
 * Status Badge view styles (pill | value | gauge | bar | led).
 * Shared by dashboard.php (live render) and index.php (builder preview).
 * Pairs with js/status-badge.js.
 */
.sb-bignum { display: inline-block; }
.sb-led {
  display: inline-flex; align-items: baseline; gap: .4rem;
  font-family: 'Courier New', ui-monospace, monospace;
  font-weight: 700; letter-spacing: .08em;
  background: #0b0f14; border: 1px solid rgba(255, 255, 255, .12);
  border-radius: .4rem; padding: .35rem .75rem;
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, .6);
  color: var(--sb-led, #10b981);
}
.sb-led-val { font-size: 1.8rem; text-shadow: 0 0 8px var(--sb-led, #10b981); }
.sb-led-unit { font-size: .9rem; opacity: .8; }
.sb-gauge { position: relative; display: inline-block; line-height: 1; }
.sb-gauge-val { position: absolute; left: 0; right: 0; bottom: 2px; text-align: center; font-weight: 700; font-size: 1.3rem; }
.sb-gauge-unit { font-size: .7rem; margin-left: .15rem; opacity: .8; }
.sb-bar-wrap { width: min(260px, 100%); margin: 0 auto; }
.sb-bar-top { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: .25rem; }
.sb-bar-val { font-weight: 700; font-size: 1.15rem; }
.sb-bar.progress { height: 14px; background: rgba(255, 255, 255, .08); }

/* Normalize card height so every view style occupies the same box and
   swapping styles never reflows the row. Single-flow centres content
   vertically; multi-flow keeps its responsive grid and just gets a floor. */
.card-body.sb-normalize { min-height: 110px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.card-body.sb-normalize-grid { min-height: 110px; }
