/* OSON Bozor design tokens - mirrored from the approved Figma file (page 3 "Design Tokens", V1.0).
   Figma naming: color/brand/primary -> --bozor-color-brand-primary etc. Legacy short aliases (--brand, --bg, ...) are kept
   so existing screens keep working. Light theme only (dark mode is out of scope for V1.0); Courier overrides with the night palette. */
:root{
  /* brand */
  --bozor-color-brand-primary:#000F9E; --bozor-color-brand-accent:#4DBBFF; --bozor-color-brand-highlight:#FFB800; --bozor-color-brand-promo:#D7263D;
  /* surfaces */
  --bozor-color-bg-screen:#F5F6FA; --bozor-color-bg-card:#FFFFFF; --bozor-color-bg-info:#E8ECFF;
  --bozor-color-bg-night:#02062C; --bozor-color-bg-night-card:#0A1240; --bozor-color-bg-night-raised:#14206E;
  /* text */
  --bozor-color-text-primary:#14172B; --bozor-color-text-muted:#5B6382; --bozor-color-text-on-primary:#FFFFFF; --bozor-color-text-on-highlight:#3A2A00;
  /* borders */
  --bozor-color-border-default:#E4E7F1; --bozor-color-border-strong:#C5CDE4; --bozor-color-border-night:#1B2766;
  /* status */
  --bozor-color-status-ok:#0B7A4D; --bozor-color-status-ok-bg:#E3F5EC; --bozor-color-status-warn:#8A4B06; --bozor-color-status-warn-bg:#FFF1D6;
  --bozor-color-status-bad:#B3261E; --bozor-color-status-bad-bg:#FDE8E6;
  /* radius */
  --bozor-radius-sm:10px; --bozor-radius-md:14px; --bozor-radius-lg:16px; --bozor-radius-xl:22px; --bozor-radius-sheet:28px; --bozor-radius-pill:999px;
  /* spacing */
  --bozor-space-2xs:2px; --bozor-space-xs:4px; --bozor-space-sm:8px; --bozor-space-md:12px; --bozor-space-lg:16px; --bozor-space-xl:20px;
  --bozor-space-2xl:24px; --bozor-space-3xl:32px; --bozor-space-4xl:40px; --bozor-space-5xl:48px;
  --bozor-size-touch-min:44px; --bozor-size-icon:24px; --bozor-size-tabbar:64px;

  /* legacy aliases used by the screens */
  --brand:var(--bozor-color-brand-primary); --brand-dark:#000B75; --brand-soft:var(--bozor-color-bg-info);
  --accent:var(--bozor-color-brand-accent); --highlight:var(--bozor-color-brand-highlight);
  --bg:var(--bozor-color-bg-screen); --card:var(--bozor-color-bg-card); --text:var(--bozor-color-text-primary);
  --muted:var(--bozor-color-text-muted); --line:var(--bozor-color-border-default); --line-strong:var(--bozor-color-border-strong);
  --danger:var(--bozor-color-status-bad); --danger-soft:var(--bozor-color-status-bad-bg);
  --ok:var(--bozor-color-status-ok); --ok-soft:var(--bozor-color-status-ok-bg);
  --warn:var(--bozor-color-status-warn); --warn-soft:var(--bozor-color-status-warn-bg);
  --radius:var(--bozor-radius-md); --radius-sm:var(--bozor-radius-sm);
  --shadow:0 1px 3px rgba(20,23,43,.08),0 4px 14px rgba(20,23,43,.06);
  --font:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 var(--font);-webkit-text-size-adjust:100%}
button{font:inherit;cursor:pointer}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--bozor-space-sm);min-height:var(--bozor-size-touch-min);padding:0 var(--bozor-space-xl);border:0;border-radius:var(--bozor-radius-md);background:var(--brand);color:var(--bozor-color-text-on-primary);font-weight:600}
.btn:hover{background:var(--brand-dark)} .btn:disabled{opacity:.5;cursor:not-allowed}
.btn.secondary{background:var(--card);color:var(--text);border:1px solid var(--line-strong)}
.btn.highlight{background:var(--highlight);color:var(--bozor-color-text-on-highlight)}
.btn.danger{background:var(--danger)} .btn.block{width:100%}
input,select,textarea{font:inherit;color:var(--text);background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:10px var(--bozor-space-md);min-height:var(--bozor-size-touch-min);width:100%}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.card{background:var(--card);border-radius:var(--bozor-radius-lg);box-shadow:var(--shadow);padding:var(--bozor-space-lg)}
.muted{color:var(--muted)} .row{display:flex;gap:var(--bozor-space-md);align-items:center} .grow{flex:1}
.badge{display:inline-block;padding:2px 10px;border-radius:var(--bozor-radius-pill);font-size:13px;background:var(--brand-soft);color:var(--brand)}
.badge.ok{background:var(--ok-soft);color:var(--ok)} .badge.warn{background:var(--warn-soft);color:var(--warn)} .badge.bad{background:var(--danger-soft);color:var(--danger)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--bozor-color-bg-night);color:#fff;padding:var(--bozor-space-md) 18px;border-radius:var(--radius);z-index:99;max-width:90vw}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
