/* Design tokens — generated from replica/design/tokens.json. Use roles, never raw hex in components. */
:root {
  --bg: #F3F5F7;
  --surface: #FFFFFF;
  --surface-2: #F7F9FA;
  --surface-3: #EDF1F4;
  --border: #DDE3E8;
  --border-strong: #C3CCD4;
  --border-input: #7D8B98;
  --text: #16202A;
  --text-muted: #55626F;
  --text-faint: #6B7784;
  --accent: #0E6F68;
  --accent-hover: #0B5A54;
  --accent-soft: #E3F2F0;
  --on-accent: #FFFFFF;
  --focus: #2563EB;
  --danger: #B42318;
  --danger-soft: #FDECEA;
  --success: #13703A;
  --success-soft: #E6F5EC;
  --warning: #8A5300;
  --warning-soft: #FFF4D6;
  --info: #1F5FAD;
  --info-soft: #E7F0FB;
  --sidebar-bg: #1B2530;
  --sidebar-bg-active: #27384A;
  --sidebar-text: #D3DCE5;
  --sidebar-text-muted: #93A3B3;
  --sidebar-accent: #5FD0C5;

  --st-unit-free-bg: #FFFFFF;            --st-unit-free-bd: #B9C3CC;
  --st-unit-occupied-bg: #CFEFD7;        --st-unit-occupied-bd: #93D3A6;
  --st-unit-occupied-next-bg: #A3DDB3;   --st-unit-occupied-next-bd: #6FBF87;
  --st-unit-leaving-bg: #FCE8A6;         --st-unit-leaving-bd: #E7C759;
  --st-unit-booked-paid-bg: #D2E4FA;     --st-unit-booked-paid-bd: #94BCEB;
  --st-unit-booked-unpaid-bg: #FAD6B6;   --st-unit-booked-unpaid-bd: #EFAE74;
  --st-unit-inactive-bg: #DCE1E6;        --st-unit-inactive-bd: #B4BEC7;
  --st-unit-awaiting-bg: #F5BABA;        --st-unit-awaiting-bd: #E38C8C;
  --st-contract-ok-bg: #CFEFD7;          --st-contract-ok-bd: #93D3A6;
  --st-contract-booking-bg: #E4E8EC;     --st-contract-booking-bd: #C3CCD4;
  --st-contract-ending-bg: #FCE8A6;      --st-contract-ending-bd: #E7C759;
  --st-contract-overdue-1-bg: #FBDADA;   --st-contract-overdue-1-bd: #F0AEAE;
  --st-contract-overdue-2-bg: #F6BDBD;   --st-contract-overdue-2-bd: #E79393;
  --st-contract-overdue-3-bg: #EE9C9C;   --st-contract-overdue-3-bd: #D97373;
  --st-contract-overdue-4-bg: #E08484;   --st-contract-overdue-4-bd: #C25B5B;
  --st-contract-closed-bg: #F0F2F4;      --st-contract-closed-bd: #D3D9DF;

  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --fs-xs: 12px; --fs-sm: 13px; --fs-md: 14px; --fs-lg: 16px; --fs-xl: 20px; --fs-2xl: 24px; --fs-3xl: 30px;
  --fw-regular: 400; --fw-medium: 500; --fw-semibold: 600; --fw-bold: 700;
  --lh-tight: 1.25; --lh: 1.45;

  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-10: 40px; --sp-12: 48px;
  --r-sm: 4px; --r-md: 8px; --r-pill: 999px;
  --shadow-panel: 0 1px 2px rgba(16,24,40,.05), 0 1px 3px rgba(16,24,40,.07);
  --shadow-popover: 0 8px 24px rgba(16,24,40,.16);
  --motion-fast: 120ms ease-out; --motion-base: 200ms ease-out;

  --sidebar-w: 236px; --sidebar-w-collapsed: 60px; --topbar-h: 52px;
  --gutter: 16px; --gutter-lg: 24px;
}
