/* Practice Hub tokens. The only :root custom-property block.
   Names and values follow practice-hub/DESIGN.md. Legacy names from app.css
   point at the same values so existing var() references keep working. */
@font-face { font-family: "Onest"; src: url("/static/fonts/onest-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Onest"; src: url("/static/fonts/onest-600.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Onest"; src: url("/static/fonts/onest-700.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Merriweather"; src: url("/static/fonts/merriweather-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }

:root {
  color-scheme: light;

  /* Colour: brand */
  --ground: #F7F0E4;
  --bg: var(--ground);
  --surface: #FFFBF5;
  --panel: var(--surface);
  --paper: #FFFFFF;
  --on-accent: #FFFFFF;
  --accent-ink: var(--on-accent);
  --sunken: #F2EADC;
  --hover: #EFE6D6;
  --line-soft: var(--hover);
  --line: #E6DAC6;
  --line-strong: #CDBEA4;
  --control-border: #8F7F64;
  --ink: #103E40;
  --body: #3F5655;
  --muted: #566867;
  --client-ink: #4F6665;
  --accent: #185D60;
  --accent-strong: #103E40;
  --accent-soft: #D8EBE7;
  --seafoam: #D8EBE7;
  --aqua: #A9C9C5;
  --side: #103E40;
  --side-ehr: #0B3032;
  --side-text: #E9F2F0;
  --side-muted: #9FC2BC;
  --side-current: #2A5153;
  --focus: #185D60;
  --focus-on-side: #BAD2CE;
  --terracotta: #B94F36;
  --action: var(--terracotta);
  --action-hover: #A9442E;
  --danger: #A9442E;
  --danger-strong: #8E3826;
  --danger-soft: #FBE6E0;
  --ok: #1F5F4A;
  --ok-soft: #DDEFE8;
  --ok-bg: var(--ok-soft);
  --info: #185D60;
  --info-soft: #DCEBEA;
  --warn: #6E4B00;
  --warn-soft: #F6E7C4;
  --neutral: #45595A;
  --neutral-soft: #EDE5D7;
  --error-bg: var(--danger-soft);
  --error-ink: var(--danger-strong);
  --black: #000000;

  /* Client pages keep the public form's ground and washes. */
  --client-ground: #F5F8F7;
  --client-seafoam: #E5F0ED;
  --client-aqua: #BAD2CE;
  --client-wash: #EFE6D6;

  /* Spacing. 4px scale from DESIGN.md, plus 64 where a page already used it. */
  --s1: 4px;
  --s2: 8px;
  --s3: 12px;
  --s4: 16px;
  --s5: 20px;
  --s6: 24px;
  --s8: 32px;
  --s10: 40px;
  --s12: 48px;
  --s16: 64px;
  --pull: -1px;

  /* Type */
  --font-sans: "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;
  --serif: "Merriweather", Georgia, serif;
  --t-kicker: 0.6875rem;
  --t-label: 0.75rem;
  --t-meta: 0.8125rem;
  --t-body: 0.875rem;
  --t-body-lg: 0.9375rem;
  --t-section: 1rem;
  --t-client: 1.0625rem;
  --t-lead: 1.125rem;
  --t-figure: 1.25rem;
  --t-callout: 1.375rem;
  --t-page: 1.5rem;
  --t-client-title: 1.625rem;
  --t-display: 3rem;

  /* Radius, border, shadow */
  --radius-control: 6px;
  --radius: 10px 10px 10px 3px;
  --radius-client: 14px 14px 14px 5px;
  --radius-client-lg: 22px 22px 22px 7px;
  --radius-pill: 999px;
  --radius-client-field: 12px;
  --radius-client-card: 10px;
  --radius-client-tick: 4px;
  --shadow-raised: 0 1px 2px rgb(16 62 64 / 0.08), 0 4px 12px rgb(16 62 64 / 0.10);
  --shadow-overlay: 0 8px 32px rgb(16 62 64 / 0.18);
  --shadow-inset: inset 0 -3px 0 var(--accent);
  --shadow-bar: 0 -4px 16px rgb(16 62 64 / 0.08);
  --shadow-client-card: 0 16px 44px rgb(16 62 64 / 0.045);
  --scrim: rgb(16 62 64 / 0.32);

  /* Controls. --ctl and --ctl-row are desktop-only (min-width: 761px). */
  --ctl-touch: 44px;
  --ctl: 32px;
  --ctl-row: 28px;
  --ctl-client: 52px;
  --ctl-field: 48px;
  --ctl-roomy: 56px;
  --pill: 20px;
  --step: 24px;

  /* Layout geometry: reserved space and fixed columns, not spacing. */
  --layout-intake-max: 1100px;
  --layout-intake-top-max: 4.5rem;
  --layout-intake-gap-max: 5.5rem;
  --layout-booking-bar-room: 170px;
  --layout-cal-gutter: 5rem;
  --layout-kread-room: 5.5rem;
  --layout-pi-sug-indent: 78px;

  /* Charts */
  --chart-in: #00808B;
  --chart-out: #C35032;
  --chart-grid: #ECE3D4;
  --chart-base: #A9C9C5;
  --chart-band: rgb(16 62 64 / 0.05);

  /* Calendar place, event, DNS, now, off-hours */
  --cal-loc-online-tint: #DCEAF7;
  --cal-loc-online-edge: #2F6FA8;
  --cal-loc-o1-tint: #D8EBE7;
  --cal-loc-o1-edge: #185D60;
  --cal-loc-o2-tint: #F6E3C4;
  --cal-loc-o2-edge: #A06A12;
  --cal-loc-o3-tint: #F2DDEB;
  --cal-loc-o3-edge: #8C3D74;
  --cal-loc-o4-tint: #F7DADA;
  --cal-loc-o4-edge: #A33A3A;
  --cal-loc-o5-tint: #DDEFD6;
  --cal-loc-o5-edge: #3E7A2F;
  --cal-loc-o6-tint: #E3E8F3;
  --cal-loc-o6-edge: #4F628C;
  --cal-loc-o7-tint: #F3E6D8;
  --cal-loc-o7-edge: #8A5A2B;
  --cal-loc-o8-tint: #DFF0F4;
  --cal-loc-o8-edge: #2A7A8C;
  --cal-loc-unknown-tint: #ECE8E1;
  --cal-loc-unknown-edge: #7A7368;
  --cal-event-tint: #E9E4F7;
  --cal-event-edge: #4C3F91;
  --cal-dns-tint: #E6DED0;
  --cal-dns-edge: #9A8F7E;
  --cal-now: #D93025;
  --cal-off: rgb(16 62 64 / 0.045);
  --cal-grid-line: #ECE4D7;
  --cal-grid-soft: #F5F0E8;
  --cal-stripe: #F1ECE3;

  /* Board field colours */
  --field-teal-bg: #D8EBE7;
  --field-teal-ink: #103E40;
  --field-teal-line: #B9D6D0;
  --field-coral-bg: #FBE9E4;
  --field-coral-ink: #7D3321;
  --field-coral-line: #F0C9BE;
  --field-sand-bg: #EFE6D6;
  --field-sand-ink: #103E40;
  --field-sand-line: #D9CFBC;
  --field-pine-bg: #185D60;
  --field-pine-ink: #FFFFFF;
  --field-pine-line: #134A4C;
  --field-blue-bg: #DBEAFE;
  --field-blue-ink: #1E3A8A;
  --field-blue-line: #BFDBFE;
  --field-violet-bg: #EDE9FE;
  --field-violet-ink: #4C1D95;
  --field-violet-line: #DDD6FE;
  --field-pink-bg: #FCE7F3;
  --field-pink-ink: #831843;
  --field-pink-line: #FBCFE8;
  --field-green-bg: #DCFCE7;
  --field-green-ink: #14532D;
  --field-green-line: #BBF7D0;
  --field-amber-bg: #FEF3C7;
  --field-amber-ink: #78350F;
  --field-amber-line: #FDE68A;
  --field-indigo-bg: #E0E7FF;
  --field-indigo-ink: #312E81;
  --field-indigo-line: #C7D2FE;
  --field-cyan-bg: #CFFAFE;
  --field-cyan-ink: #164E63;
  --field-cyan-line: #A5F3FC;
  --field-plum-bg: #FAE8FF;
  --field-plum-ink: #701A75;
  --field-plum-line: #F5D0FE;

  /* Avatars. Same six colours avatarColor() already picks, in the same order. */
  --avatar-0: #2F6F62;
  --avatar-1: #4A6FA5;
  --avatar-2: #7A5C8E;
  --avatar-3: #8A5A44;
  --avatar-4: #4F7942;
  --avatar-5: #A05252;

  /* Supporting roles: edges and states the status tones do not cover. */
  --danger-line: #E2B3A5;
  --warn-line: #E3C27A;
  --warn-edge: #C99A2E;
  --disabled-ink: #5C605E;
  --disabled-soft: #E9E6E1;

  /* Overlays: ink veils on light ground, white veils on the dark sidebar. */
  --veil-faint: rgb(16 62 64 / 0.05);
  --veil: rgb(16 62 64 / 0.16);
  --veil-strong: rgb(16 62 64 / 0.35);
  --accent-veil: rgb(24 93 96 / 0.06);
  --accent-veil-strong: rgb(24 93 96 / 0.14);
  --on-dark-veil: rgb(255 255 255 / 0.08);
  --on-dark-veil-strong: rgb(255 255 255 / 0.18);
  --paper-veil: rgb(255 255 255 / 0.55);
  --paper-clear: rgb(255 255 255 / 0);
  --ground-veil: rgb(247 240 228 / 0.2);
}

