/* app/assets/stylesheets/theme.css */
/* Design tokens that aren't tied to a specific asset (see fonts.css for the
   font-family tokens, which live alongside their @font-face declarations). */

@theme {
  /* Warm neutrals — Tailwind's own "stone" scale (accessibility-tuned lightness
     steps identical to "gray", just shifted from cool blue-gray to warm) redefined
     under the gray-* names already used everywhere in the app, so every existing
     bg-gray-50/text-gray-900/border-gray-100 utility picks this up automatically. */
  --color-gray-50: oklch(98.5% 0.001 106.423);
  --color-gray-100: oklch(97% 0.001 106.424);
  --color-gray-200: oklch(92.3% 0.003 48.717);
  --color-gray-300: oklch(86.9% 0.005 56.366);
  --color-gray-400: oklch(70.9% 0.01 56.259);
  --color-gray-500: oklch(55.3% 0.013 58.071);
  --color-gray-600: oklch(44.4% 0.011 73.639);
  --color-gray-700: oklch(37.4% 0.01 67.558);
  --color-gray-800: oklch(26.8% 0.007 34.298);
  --color-gray-900: oklch(21.6% 0.006 56.043);
  --color-gray-950: oklch(14.7% 0.004 49.25);

  /* Primary — still teal (defensible for healthcare, per the review), just not
     Tailwind's stock swatch. Deepened, hue shifted from cyan-leaning (~185) toward
     a more blue-leaning "petrol" teal (~195-199), chroma pulled down slightly at
     each step for a more muted, considered feel instead of bright default-SaaS teal.
     Lightness steps stay close to stock so existing contrast ratios aren't disturbed. */
  --color-teal-50: oklch(98.4% 0.012 191);
  --color-teal-100: oklch(95.3% 0.042 191);
  --color-teal-200: oklch(91% 0.08 191);
  --color-teal-300: oklch(85.5% 0.115 192);
  --color-teal-400: oklch(77.7% 0.128 193);
  --color-teal-500: oklch(70.4% 0.12 194);
  --color-teal-600: oklch(56% 0.108 196);
  --color-teal-700: oklch(47% 0.09 197);
  --color-teal-800: oklch(40% 0.075 198);
  --color-teal-900: oklch(35% 0.062 199);

  /* Shape stance — sharper corners read as more precision-instrument, less
     consumer-SaaS. Cards/buttons/etc. across the app use rounded-xl (14 usages,
     11 files); rather than touch each one, redefine the token itself down to
     Tailwind's own --radius-md value, so every existing rounded-xl class
     shrinks from 12px to 6px automatically. */
  --radius-xl: var(--radius-md);

  /* Status/badge palette — 7 colors are in real use (teal/green/gray/red/yellow/
     orange/blue), each carrying a genuinely distinct meaning (e.g. canceled vs.
     no-show, open vs. unpaid) — audited every usage before touching anything, so
     this is NOT a cut-down-the-count move, it's the same "stop using the exact
     stock swatch" treatment already applied to gray and teal, extended to the rest
     of the family so the whole vocabulary coheres as one considered palette rather
     than Tailwind defaults. Same method throughout: chroma reduced ~12-15%, a
     modest consistent hue nudge per color, mid-to-high shades deepened slightly.
     Purple/pink are defined in badges.css but never actually used anywhere in the
     app — left untouched, not worth shifting dead code. */
  --color-blue-50: oklch(97% 0.012 247);
  --color-blue-100: oklch(93.2% 0.027 248);
  --color-blue-200: oklch(88.2% 0.05 246);
  --color-blue-300: oklch(80.9% 0.089 244);
  --color-blue-400: oklch(70.7% 0.14 247);
  --color-blue-500: oklch(62.3% 0.182 252);
  --color-blue-600: oklch(52% 0.208 255);
  --color-blue-700: oklch(46% 0.207 256);
  --color-blue-800: oklch(40% 0.169 258);
  --color-blue-900: oklch(36% 0.124 258);

  --color-green-50: oklch(98.2% 0.015 164);
  --color-green-100: oklch(96.2% 0.037 165);
  --color-green-200: oklch(92.5% 0.071 164);
  --color-green-300: oklch(87.1% 0.128 162);
  --color-green-400: oklch(79.2% 0.178 160);
  --color-green-500: oklch(72.3% 0.186 158);
  --color-green-600: oklch(59% 0.165 157);
  --color-green-700: oklch(50% 0.131 158);
  --color-green-800: oklch(42% 0.101 159);
  --color-green-900: oklch(37% 0.081 161);

  --color-yellow-50: oklch(98.7% 0.022 102);
  --color-yellow-100: oklch(97.3% 0.06 103);
  --color-yellow-200: oklch(94.5% 0.11 102);
  --color-yellow-300: oklch(90.5% 0.155 98);
  --color-yellow-400: oklch(85.2% 0.169 92);
  --color-yellow-500: oklch(76% 0.156 86);
  --color-yellow-600: oklch(64% 0.138 76);
  --color-yellow-700: oklch(52% 0.115 66);
  --color-yellow-800: oklch(45% 0.097 62);
  --color-yellow-900: oklch(40% 0.081 58);

  --color-orange-50: oklch(98% 0.014 70);
  --color-orange-100: oklch(95.4% 0.032 71);
  --color-orange-200: oklch(90.1% 0.065 67);
  --color-orange-300: oklch(83.7% 0.109 62);
  --color-orange-400: oklch(75% 0.156 52);
  --color-orange-500: oklch(68% 0.181 44);
  --color-orange-600: oklch(60% 0.189 37);
  --color-orange-700: oklch(52% 0.166 34);
  --color-orange-800: oklch(44% 0.133 33);
  --color-orange-900: oklch(38% 0.105 34);

  --color-red-50: oklch(97.1% 0.011 17);
  --color-red-100: oklch(93.6% 0.028 18);
  --color-red-200: oklch(88.5% 0.055 18);
  --color-red-300: oklch(80.8% 0.1 20);
  --color-red-400: oklch(70.4% 0.168 22);
  --color-red-500: oklch(61% 0.209 25);
  --color-red-600: oklch(54% 0.216 27);
  --color-red-700: oklch(48% 0.187 28);
  --color-red-800: oklch(42% 0.156 27);
  --color-red-900: oklch(37% 0.124 26);
}
