/* ═══════════════════════════════════════════════════════════════════
   Smart-Platform — Brand CSS
   ═══════════════════════════════════════════════════════════════════ */

/* ── Type Scale & Tracking Tokens ──────────────────────────────────
   Defers to the canonical --text-* / --tracking-* contract in
   ClientApp/src/tokens.css. This block previously declared a SECOND,
   conflicting scale (xs=.6875rem, base=.875rem, …) that was always
   beaten by the legacy-bridge values once html[data-design-system]
   was set; the bridge values are now the only scale. Fallback literals
   below match the contract for any page loaded without app.css. */
:root {
  --sp-text-2xs: var(--text-2xs, .625rem);
  --sp-text-xs: var(--text-xs, .75rem);
  --sp-text-sm: var(--text-sm, .875rem);
  --sp-text-base: var(--text-base, 1rem);
  --sp-text-md: var(--text-base, 1rem);
  --sp-text-lg: var(--text-lg, 1.125rem);
  --sp-text-xl: var(--text-xl, 1.25rem);
  --sp-text-2xl: var(--text-2xl, 1.5rem);
  --sp-text-3xl: var(--text-3xl, 1.875rem);
  --sp-tracking-tighter: var(--tracking-tighter, -.05em);
  --sp-tracking-tight: var(--tracking-tight, -.025em);
  --sp-tracking-normal: var(--tracking-normal, 0);
  --sp-tracking-wide: var(--tracking-wide, .025em);
  --sp-tracking-wider: var(--tracking-wider, .05em);
  --sp-tracking-widest: var(--tracking-widest, .1em);
  /* Tab tokens: canonical values live in ClientApp/src/tokens.css + app.css.
     Fallbacks here keep pages that load site.css without app.css readable. */
  --sp-tab-curve-radius: 12px;
  --sp-tab-panel: hsl(var(--card, 0 0% 100%));
}

html {
  font-size: var(--text-sm);
}
@media (min-width: 48rem) {
  html { font-size: var(--text-base); }
}
html {
  position: relative;
  min-height: 100%;
}
body {
  margin-bottom: 60px;
}

/* ── Focus Rings (Bootstrap-markup leftovers; token-aware) ─────── */
html[data-design-system] :is(.btn, .btn-link.nav-link, .form-control, .form-select, .form-check-input):focus-visible {
  outline: 2px solid transparent;
  box-shadow: 0 0 0 2px hsl(var(--background)), 0 0 0 4px hsl(var(--ring) / 0.35);
}

/* Form tabs (.sp-form-tabs / .sp-form-tab) moved to ClientApp/src/sp-tabs.css
   and ship via app.css. Do not reintroduce a second copy here. */
