/* ============================================================
   LEO Platform — Relational Calendar
   Design tokens are LOCKED per the May 2026 design brief.
   ============================================================ */
:root{
  /* Surfaces */
  --canvas:#FAF8F5;          /* warm white page */
  --surface:#FFFFFF;         /* cards & panels */
  --line:#ECE7DE;            /* hairline on warm white */
  --line-strong:#DDD6CA;

  /* Text */
  --ink:#1A1A1A;
  --ink-2:#6B6B6B;
  --ink-3:#9A958C;

  /* Location accents */
  --nwdc:#2563EB;
  --nwdc-soft:#EAF0FE;
  --bcdc:#DB7C2E;
  --bcdc-soft:#FBEEDF;

  /* Status */
  --red:#DC2626;   --red-soft:#FBE9E9;
  --green:#16A34A; --green-soft:#E7F4EC;
  --amber:#D97706; --amber-soft:#FBF0DF;

  /* Time-off stripe base */
  --off:#E5E0D8;

  /* Provider role chips — brightened */
  --role-gp:#5A7DBF;     /* general dentist — bright blue-slate (not brown) */
  --role-os:#D14D6A;     /* oral surgery — bright rose-maroon */
  --role-ortho:#0FA89C;  /* orthodontics — bright teal */
  --role-endo:#7E5BE0;   /* endodontics — bright purple */
  --role-hyg:#37A6DE;    /* hygiene — bright cyan-blue */
  --role-lab:#5BA177;    /* lab — clean green */
  --role-float:#E0922E;  /* float — amber */

  /* Type */
  --hero:"Fraunces",Georgia,serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --ui:"Inter",system-ui,-apple-system,sans-serif;

  --radius:10px;
  --radius-sm:6px;
  --shadow-card:0 1px 2px rgba(26,26,26,.04),0 1px 0 rgba(26,26,26,.02);
  --shadow-pop:0 24px 60px -20px rgba(26,26,26,.28),0 4px 14px rgba(26,26,26,.08);
}

*{box-sizing:border-box}
html,body{margin:0}
body{
  background:var(--canvas);
  color:var(--ink);
  font-family:var(--ui);
  font-size:14px;
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* ---------- shared atoms ---------- */
.eyebrow{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:10.5px;
  color:var(--ink-3);
  font-weight:500;
}
.hero-num{
  font-family:var(--hero);
  font-weight:400;
  font-variant-numeric:lining-nums tabular-nums;
  letter-spacing:-.01em;
  color:var(--ink);
}
.divider{height:1px;background:var(--line);border:0;margin:0}

/* role chip */
.chip{
  width:9px;height:9px;border-radius:3px;flex:0 0 auto;
}
.chip--gp{background:var(--role-gp)}
.chip--os{background:var(--role-os)}
.chip--ortho{background:var(--role-ortho)}
.chip--endo{background:var(--role-endo)}
.chip--hyg{background:var(--role-hyg)}
.chip--lab{background:var(--role-lab)}
.chip--float{background:var(--role-float)}

button{font-family:inherit}
