:root {
  /* White and Black */
  --color-white: oklch(100% 0 0);
  --color-black: oklch(0% 0 0);
  --color-transparent: --color-white: oklch(100% 0 0 / 0);
  /* Red */
  --color-red-50: oklch(97.1% 0.013 17.38);
  --color-red-100: oklch(93.6% 0.032 17.717);
  --color-red-200: oklch(88.5% 0.062 18.334);
  --color-red-300: oklch(70.4% 0.191 22.216);
  --color-red-400: oklch(70.4% 0.191 22.216);
  --color-red-500: oklch(63.7% 0.237 25.331);
  --color-red-600: oklch(57.7% 0.245 27.325);
  --color-red-700: oklch(50.5% 0.213 27.518);
  --color-red-800: oklch(44.4% 0.177 26.899);
  --color-red-900: oklch(39.6% 0.141 25.723);
  --color-red-950: oklch(25.8% 0.092 26.042);
  /* --color-red-50 */
  --color-red-50-100: oklch(97.1% 0.013 17.38 / 1);
  --color-red-50-90: oklch(97.1% 0.013 17.38 / 0.9);
  --color-red-50-80: oklch(97.1% 0.013 17.38 / 0.8);
  --color-red-50-70: oklch(97.1% 0.013 17.38 / 0.7);
  --color-red-50-60: oklch(97.1% 0.013 17.38 / 0.6);
  --color-red-50-50: oklch(97.1% 0.013 17.38 / 0.5);
  --color-red-50-40: oklch(97.1% 0.013 17.38 / 0.4);
  --color-red-50-30: oklch(97.1% 0.013 17.38 / 0.3);
  --color-red-50-20: oklch(97.1% 0.013 17.38 / 0.2);
  --color-red-50-10: oklch(97.1% 0.013 17.38 / 0.1);
  --color-red-50-5: oklch(97.1% 0.013 17.38 / 0.05);
  /* --color-red-100 */
  --color-red-100-100: oklch(93.6% 0.032 17.717 / 1);
  --color-red-100-90: oklch(93.6% 0.032 17.717 / 0.9);
  --color-red-100-80: oklch(93.6% 0.032 17.717 / 0.8);
  --color-red-100-70: oklch(93.6% 0.032 17.717 / 0.7);
  --color-red-100-60: oklch(93.6% 0.032 17.717 / 0.6);
  --color-red-100-50: oklch(93.6% 0.032 17.717 / 0.5);
  --color-red-100-40: oklch(93.6% 0.032 17.717 / 0.4);
  --color-red-100-30: oklch(93.6% 0.032 17.717 / 0.3);
  --color-red-100-20: oklch(93.6% 0.032 17.717 / 0.2);
  --color-red-100-10: oklch(93.6% 0.032 17.717 / 0.1);
  --color-red-100-5: oklch(93.6% 0.032 17.717 / 0.05);
  /* --color-red-200 */
  --color-red-200-100: oklch(88.5% 0.062 18.334 / 1);
  --color-red-200-90: oklch(88.5% 0.062 18.334 / 0.9);
  --color-red-200-80: oklch(88.5% 0.062 18.334 / 0.8);
  --color-red-200-70: oklch(88.5% 0.062 18.334 / 0.7);
  --color-red-200-60: oklch(88.5% 0.062 18.334 / 0.6);
  --color-red-200-50: oklch(88.5% 0.062 18.334 / 0.5);
  --color-red-200-40: oklch(88.5% 0.062 18.334 / 0.4);
  --color-red-200-30: oklch(88.5% 0.062 18.334 / 0.3);
  --color-red-200-20: oklch(88.5% 0.062 18.334 / 0.2);
  --color-red-200-10: oklch(88.5% 0.062 18.334 / 0.1);
  --color-red-200-5: oklch(88.5% 0.062 18.334 / 0.05);
  /* --color-red-300 */
  --color-red-300-100: oklch(70.4% 0.191 22.216 / 1);
  --color-red-300-90: oklch(70.4% 0.191 22.216 / 0.9);
  --color-red-300-80: oklch(70.4% 0.191 22.216 / 0.8);
  --color-red-300-70: oklch(70.4% 0.191 22.216 / 0.7);
  --color-red-300-60: oklch(70.4% 0.191 22.216 / 0.6);
  --color-red-300-50: oklch(70.4% 0.191 22.216 / 0.5);
  --color-red-300-40: oklch(70.4% 0.191 22.216 / 0.4);
  --color-red-300-30: oklch(70.4% 0.191 22.216 / 0.3);
  --color-red-300-20: oklch(70.4% 0.191 22.216 / 0.2);
  --color-red-300-10: oklch(70.4% 0.191 22.216 / 0.1);
  --color-red-300-5: oklch(70.4% 0.191 22.216 / 0.05);
  /* --color-red-400 */
  --color-red-400-100: oklch(70.4% 0.191 22.216 / 1);
  --color-red-400-90: oklch(70.4% 0.191 22.216 / 0.9);
  --color-red-400-80: oklch(70.4% 0.191 22.216 / 0.8);
  --color-red-400-70: oklch(70.4% 0.191 22.216 / 0.7);
  --color-red-400-60: oklch(70.4% 0.191 22.216 / 0.6);
  --color-red-400-50: oklch(70.4% 0.191 22.216 / 0.5);
  --color-red-400-40: oklch(70.4% 0.191 22.216 / 0.4);
  --color-red-400-30: oklch(70.4% 0.191 22.216 / 0.3);
  --color-red-400-20: oklch(70.4% 0.191 22.216 / 0.2);
  --color-red-400-10: oklch(70.4% 0.191 22.216 / 0.1);
  --color-red-400-5: oklch(70.4% 0.191 22.216 / 0.05);
  /* --color-red-500 */
  --color-red-500-100: oklch(63.7% 0.237 25.331 / 1);
  --color-red-500-90: oklch(63.7% 0.237 25.331 / 0.9);
  --color-red-500-80: oklch(63.7% 0.237 25.331 / 0.8);
  --color-red-500-70: oklch(63.7% 0.237 25.331 / 0.7);
  --color-red-500-60: oklch(63.7% 0.237 25.331 / 0.6);
  --color-red-500-50: oklch(63.7% 0.237 25.331 / 0.5);
  --color-red-500-40: oklch(63.7% 0.237 25.331 / 0.4);
  --color-red-500-30: oklch(63.7% 0.237 25.331 / 0.3);
  --color-red-500-20: oklch(63.7% 0.237 25.331 / 0.2);
  --color-red-500-10: oklch(63.7% 0.237 25.331 / 0.1);
  --color-red-500-5: oklch(63.7% 0.237 25.331 / 0.05);
  /* --color-red-600 */
  --color-red-600-100: oklch(57.7% 0.245 27.325 / 1);
  --color-red-600-90: oklch(57.7% 0.245 27.325 / 0.9);
  --color-red-600-80: oklch(57.7% 0.245 27.325 / 0.8);
  --color-red-600-70: oklch(57.7% 0.245 27.325 / 0.7);
  --color-red-600-60: oklch(57.7% 0.245 27.325 / 0.6);
  --color-red-600-50: oklch(57.7% 0.245 27.325 / 0.5);
  --color-red-600-40: oklch(57.7% 0.245 27.325 / 0.4);
  --color-red-600-30: oklch(57.7% 0.245 27.325 / 0.3);
  --color-red-600-20: oklch(57.7% 0.245 27.325 / 0.2);
  --color-red-600-10: oklch(57.7% 0.245 27.325 / 0.1);
  --color-red-600-5: oklch(57.7% 0.245 27.325 / 0.05);
  /* --color-red-700 */
  --color-red-700-100: oklch(50.5% 0.213 27.518 / 1);
  --color-red-700-90: oklch(50.5% 0.213 27.518 / 0.9);
  --color-red-700-80: oklch(50.5% 0.213 27.518 / 0.8);
  --color-red-700-70: oklch(50.5% 0.213 27.518 / 0.7);
  --color-red-700-60: oklch(50.5% 0.213 27.518 / 0.6);
  --color-red-700-50: oklch(50.5% 0.213 27.518 / 0.5);
  --color-red-700-40: oklch(50.5% 0.213 27.518 / 0.4);
  --color-red-700-30: oklch(50.5% 0.213 27.518 / 0.3);
  --color-red-700-20: oklch(50.5% 0.213 27.518 / 0.2);
  --color-red-700-10: oklch(50.5% 0.213 27.518 / 0.1);
  --color-red-700-5: oklch(50.5% 0.213 27.518 / 0.05);
  /* --color-red-800 */
  --color-red-800-100: oklch(44.4% 0.177 26.899 / 1);
  --color-red-800-90: oklch(44.4% 0.177 26.899 / 0.9);
  --color-red-800-80: oklch(44.4% 0.177 26.899 / 0.8);
  --color-red-800-70: oklch(44.4% 0.177 26.899 / 0.7);
  --color-red-800-60: oklch(44.4% 0.177 26.899 / 0.6);
  --color-red-800-50: oklch(44.4% 0.177 26.899 / 0.5);
  --color-red-800-40: oklch(44.4% 0.177 26.899 / 0.4);
  --color-red-800-30: oklch(44.4% 0.177 26.899 / 0.3);
  --color-red-800-20: oklch(44.4% 0.177 26.899 / 0.2);
  --color-red-800-10: oklch(44.4% 0.177 26.899 / 0.1);
  --color-red-800-5: oklch(44.4% 0.177 26.899 / 0.05);
  /* --color-red-900 */
  --color-red-900-100: oklch(39.6% 0.141 25.723 / 1);
  --color-red-900-90: oklch(39.6% 0.141 25.723 / 0.9);
  --color-red-900-80: oklch(39.6% 0.141 25.723 / 0.8);
  --color-red-900-70: oklch(39.6% 0.141 25.723 / 0.7);
  --color-red-900-60: oklch(39.6% 0.141 25.723 / 0.6);
  --color-red-900-50: oklch(39.6% 0.141 25.723 / 0.5);
  --color-red-900-40: oklch(39.6% 0.141 25.723 / 0.4);
  --color-red-900-30: oklch(39.6% 0.141 25.723 / 0.3);
  --color-red-900-20: oklch(39.6% 0.141 25.723 / 0.2);
  --color-red-900-10: oklch(39.6% 0.141 25.723 / 0.1);
  --color-red-900-5: oklch(39.6% 0.141 25.723 / 0.05);
  /* --color-red-950 */
  --color-red-950-100: oklch(25.8% 0.092 26.042 / 1);
  --color-red-950-90: oklch(25.8% 0.092 26.042 / 0.9);
  --color-red-950-80: oklch(25.8% 0.092 26.042 / 0.8);
  --color-red-950-70: oklch(25.8% 0.092 26.042 / 0.7);
  --color-red-950-60: oklch(25.8% 0.092 26.042 / 0.6);
  --color-red-950-50: oklch(25.8% 0.092 26.042 / 0.5);
  --color-red-950-40: oklch(25.8% 0.092 26.042 / 0.4);
  --color-red-950-30: oklch(25.8% 0.092 26.042 / 0.3);
  --color-red-950-20: oklch(25.8% 0.092 26.042 / 0.2);
  --color-red-950-10: oklch(25.8% 0.092 26.042 / 0.1);
  --color-red-950-5: oklch(25.8% 0.092 26.042 / 0.05);
  /* Orange */
  --color-orange-50: oklch(98% 0.016 73.684);
  --color-orange-100: oklch(95.4% 0.038 75.164);
  --color-orange-200: oklch(90.1% 0.076 70.697);
  --color-orange-300: oklch(83.7% 0.128 66.29);
  --color-orange-400: oklch(75% 0.183 55.934);
  --color-orange-500: oklch(70.5% 0.213 47.604);
  --color-orange-600: oklch(64.6% 0.222 41.116);
  --color-orange-700: oklch(55.3% 0.195 38.402);
  --color-orange-800: oklch(47% 0.157 37.304);
  --color-orange-900: oklch(40.8% 0.123 38.172);
  --color-orange-950: oklch(26.6% 0.079 36.259);
  /* --color-orange-50 */
  --color-orange-50-100: oklch(98% 0.016 73.684 / 1);
  --color-orange-50-90: oklch(98% 0.016 73.684 / 0.9);
  --color-orange-50-80: oklch(98% 0.016 73.684 / 0.8);
  --color-orange-50-70: oklch(98% 0.016 73.684 / 0.7);
  --color-orange-50-60: oklch(98% 0.016 73.684 / 0.6);
  --color-orange-50-50: oklch(98% 0.016 73.684 / 0.5);
  --color-orange-50-40: oklch(98% 0.016 73.684 / 0.4);
  --color-orange-50-30: oklch(98% 0.016 73.684 / 0.3);
  --color-orange-50-20: oklch(98% 0.016 73.684 / 0.2);
  --color-orange-50-10: oklch(98% 0.016 73.684 / 0.1);
  --color-orange-50-5: oklch(98% 0.016 73.684 / 0.05);
  /* --color-orange-100 */
  --color-orange-100-100: oklch(95.4% 0.038 75.164 / 1);
  --color-orange-100-90: oklch(95.4% 0.038 75.164 / 0.9);
  --color-orange-100-80: oklch(95.4% 0.038 75.164 / 0.8);
  --color-orange-100-70: oklch(95.4% 0.038 75.164 / 0.7);
  --color-orange-100-60: oklch(95.4% 0.038 75.164 / 0.6);
  --color-orange-100-50: oklch(95.4% 0.038 75.164 / 0.5);
  --color-orange-100-40: oklch(95.4% 0.038 75.164 / 0.4);
  --color-orange-100-30: oklch(95.4% 0.038 75.164 / 0.3);
  --color-orange-100-20: oklch(95.4% 0.038 75.164 / 0.2);
  --color-orange-100-10: oklch(95.4% 0.038 75.164 / 0.1);
  --color-orange-100-5: oklch(95.4% 0.038 75.164 / 0.05);
  /* --color-orange-200 */
  --color-orange-200-100: oklch(90.1% 0.076 70.697 / 1);
  --color-orange-200-90: oklch(90.1% 0.076 70.697 / 0.9);
  --color-orange-200-80: oklch(90.1% 0.076 70.697 / 0.8);
  --color-orange-200-70: oklch(90.1% 0.076 70.697 / 0.7);
  --color-orange-200-60: oklch(90.1% 0.076 70.697 / 0.6);
  --color-orange-200-50: oklch(90.1% 0.076 70.697 / 0.5);
  --color-orange-200-40: oklch(90.1% 0.076 70.697 / 0.4);
  --color-orange-200-30: oklch(90.1% 0.076 70.697 / 0.3);
  --color-orange-200-20: oklch(90.1% 0.076 70.697 / 0.2);
  --color-orange-200-10: oklch(90.1% 0.076 70.697 / 0.1);
  --color-orange-200-5: oklch(90.1% 0.076 70.697 / 0.05);
  /* --color-orange-300 */
  --color-orange-300-100: oklch(83.7% 0.128 66.29 / 1);
  --color-orange-300-90: oklch(83.7% 0.128 66.29 / 0.9);
  --color-orange-300-80: oklch(83.7% 0.128 66.29 / 0.8);
  --color-orange-300-70: oklch(83.7% 0.128 66.29 / 0.7);
  --color-orange-300-60: oklch(83.7% 0.128 66.29 / 0.6);
  --color-orange-300-50: oklch(83.7% 0.128 66.29 / 0.5);
  --color-orange-300-40: oklch(83.7% 0.128 66.29 / 0.4);
  --color-orange-300-30: oklch(83.7% 0.128 66.29 / 0.3);
  --color-orange-300-20: oklch(83.7% 0.128 66.29 / 0.2);
  --color-orange-300-10: oklch(83.7% 0.128 66.29 / 0.1);
  --color-orange-300-5: oklch(83.7% 0.128 66.29 / 0.05);
  /* --color-orange-400 */
  --color-orange-400-100: oklch(75% 0.183 55.934 / 1);
  --color-orange-400-90: oklch(75% 0.183 55.934 / 0.9);
  --color-orange-400-80: oklch(75% 0.183 55.934 / 0.8);
  --color-orange-400-70: oklch(75% 0.183 55.934 / 0.7);
  --color-orange-400-60: oklch(75% 0.183 55.934 / 0.6);
  --color-orange-400-50: oklch(75% 0.183 55.934 / 0.5);
  --color-orange-400-40: oklch(75% 0.183 55.934 / 0.4);
  --color-orange-400-30: oklch(75% 0.183 55.934 / 0.3);
  --color-orange-400-20: oklch(75% 0.183 55.934 / 0.2);
  --color-orange-400-10: oklch(75% 0.183 55.934 / 0.1);
  --color-orange-400-5: oklch(75% 0.183 55.934 / 0.05);
  /* --color-orange-500 */
  --color-orange-500-100: oklch(70.5% 0.213 47.604 / 1);
  --color-orange-500-90: oklch(70.5% 0.213 47.604 / 0.9);
  --color-orange-500-80: oklch(70.5% 0.213 47.604 / 0.8);
  --color-orange-500-70: oklch(70.5% 0.213 47.604 / 0.7);
  --color-orange-500-60: oklch(70.5% 0.213 47.604 / 0.6);
  --color-orange-500-50: oklch(70.5% 0.213 47.604 / 0.5);
  --color-orange-500-40: oklch(70.5% 0.213 47.604 / 0.4);
  --color-orange-500-30: oklch(70.5% 0.213 47.604 / 0.3);
  --color-orange-500-20: oklch(70.5% 0.213 47.604 / 0.2);
  --color-orange-500-10: oklch(70.5% 0.213 47.604 / 0.1);
  --color-orange-500-5: oklch(70.5% 0.213 47.604 / 0.05);
  /* --color-orange-600 */
  --color-orange-600-100: oklch(64.6% 0.222 41.116 / 1);
  --color-orange-600-90: oklch(64.6% 0.222 41.116 / 0.9);
  --color-orange-600-80: oklch(64.6% 0.222 41.116 / 0.8);
  --color-orange-600-70: oklch(64.6% 0.222 41.116 / 0.7);
  --color-orange-600-60: oklch(64.6% 0.222 41.116 / 0.6);
  --color-orange-600-50: oklch(64.6% 0.222 41.116 / 0.5);
  --color-orange-600-40: oklch(64.6% 0.222 41.116 / 0.4);
  --color-orange-600-30: oklch(64.6% 0.222 41.116 / 0.3);
  --color-orange-600-20: oklch(64.6% 0.222 41.116 / 0.2);
  --color-orange-600-10: oklch(64.6% 0.222 41.116 / 0.1);
  --color-orange-600-5: oklch(64.6% 0.222 41.116 / 0.05);
  /* --color-orange-700 */
  --color-orange-700-100: oklch(55.3% 0.195 38.402 / 1);
  --color-orange-700-90: oklch(55.3% 0.195 38.402 / 0.9);
  --color-orange-700-80: oklch(55.3% 0.195 38.402 / 0.8);
  --color-orange-700-70: oklch(55.3% 0.195 38.402 / 0.7);
  --color-orange-700-60: oklch(55.3% 0.195 38.402 / 0.6);
  --color-orange-700-50: oklch(55.3% 0.195 38.402 / 0.5);
  --color-orange-700-40: oklch(55.3% 0.195 38.402 / 0.4);
  --color-orange-700-30: oklch(55.3% 0.195 38.402 / 0.3);
  --color-orange-700-20: oklch(55.3% 0.195 38.402 / 0.2);
  --color-orange-700-10: oklch(55.3% 0.195 38.402 / 0.1);
  --color-orange-700-5: oklch(55.3% 0.195 38.402 / 0.05);
  /* --color-orange-800 */
  --color-orange-800-100: oklch(47% 0.157 37.304 / 1);
  --color-orange-800-90: oklch(47% 0.157 37.304 / 0.9);
  --color-orange-800-80: oklch(47% 0.157 37.304 / 0.8);
  --color-orange-800-70: oklch(47% 0.157 37.304 / 0.7);
  --color-orange-800-60: oklch(47% 0.157 37.304 / 0.6);
  --color-orange-800-50: oklch(47% 0.157 37.304 / 0.5);
  --color-orange-800-40: oklch(47% 0.157 37.304 / 0.4);
  --color-orange-800-30: oklch(47% 0.157 37.304 / 0.3);
  --color-orange-800-20: oklch(47% 0.157 37.304 / 0.2);
  --color-orange-800-10: oklch(47% 0.157 37.304 / 0.1);
  --color-orange-800-5: oklch(47% 0.157 37.304 / 0.05);
  /* --color-orange-900 */
  --color-orange-900-100: oklch(40.8% 0.123 38.172 / 1);
  --color-orange-900-90: oklch(40.8% 0.123 38.172 / 0.9);
  --color-orange-900-80: oklch(40.8% 0.123 38.172 / 0.8);
  --color-orange-900-70: oklch(40.8% 0.123 38.172 / 0.7);
  --color-orange-900-60: oklch(40.8% 0.123 38.172 / 0.6);
  --color-orange-900-50: oklch(40.8% 0.123 38.172 / 0.5);
  --color-orange-900-40: oklch(40.8% 0.123 38.172 / 0.4);
  --color-orange-900-30: oklch(40.8% 0.123 38.172 / 0.3);
  --color-orange-900-20: oklch(40.8% 0.123 38.172 / 0.2);
  --color-orange-900-10: oklch(40.8% 0.123 38.172 / 0.1);
  --color-orange-900-5: oklch(40.8% 0.123 38.172 / 0.05);
  /* --color-orange-950 */
  --color-orange-950-100: oklch(26.6% 0.079 36.259 / 1);
  --color-orange-950-90: oklch(26.6% 0.079 36.259 / 0.9);
  --color-orange-950-80: oklch(26.6% 0.079 36.259 / 0.8);
  --color-orange-950-70: oklch(26.6% 0.079 36.259 / 0.7);
  --color-orange-950-60: oklch(26.6% 0.079 36.259 / 0.6);
  --color-orange-950-50: oklch(26.6% 0.079 36.259 / 0.5);
  --color-orange-950-40: oklch(26.6% 0.079 36.259 / 0.4);
  --color-orange-950-30: oklch(26.6% 0.079 36.259 / 0.3);
  --color-orange-950-20: oklch(26.6% 0.079 36.259 / 0.2);
  --color-orange-950-10: oklch(26.6% 0.079 36.259 / 0.1);
  --color-orange-950-5: oklch(26.6% 0.079 36.259 / 0.05);
  /* Amber */
  --color-amber-50: oklch(98.7% 0.022 95.277);
  --color-amber-100: oklch(96.2% 0.059 95.617);
  --color-amber-200: oklch(92.4% 0.12 95.746);
  --color-amber-300: oklch(87.9% 0.169 91.605);
  --color-amber-400: oklch(82.8% 0.189 84.429);
  --color-amber-500: oklch(76.9% 0.188 70.08);
  --color-amber-600: oklch(66.6% 0.179 58.318);
  --color-amber-700: oklch(55.5% 0.163 48.998);
  --color-amber-800: oklch(47.3% 0.137 46.201);
  --color-amber-900: oklch(41.4% 0.112 45.904);
  --color-amber-950: oklch(27.9% 0.077 45.635);
  /* --color-amber-50 */
  --color-amber-50-100: oklch(98.7% 0.022 95.277 / 1);
  --color-amber-50-90: oklch(98.7% 0.022 95.277 / 0.9);
  --color-amber-50-80: oklch(98.7% 0.022 95.277 / 0.8);
  --color-amber-50-70: oklch(98.7% 0.022 95.277 / 0.7);
  --color-amber-50-60: oklch(98.7% 0.022 95.277 / 0.6);
  --color-amber-50-50: oklch(98.7% 0.022 95.277 / 0.5);
  --color-amber-50-40: oklch(98.7% 0.022 95.277 / 0.4);
  --color-amber-50-30: oklch(98.7% 0.022 95.277 / 0.3);
  --color-amber-50-20: oklch(98.7% 0.022 95.277 / 0.2);
  --color-amber-50-10: oklch(98.7% 0.022 95.277 / 0.1);
  --color-amber-50-5: oklch(98.7% 0.022 95.277 / 0.05);
  /* --color-amber-100 */
  --color-amber-100-100: oklch(96.2% 0.059 95.617 / 1);
  --color-amber-100-90: oklch(96.2% 0.059 95.617 / 0.9);
  --color-amber-100-80: oklch(96.2% 0.059 95.617 / 0.8);
  --color-amber-100-70: oklch(96.2% 0.059 95.617 / 0.7);
  --color-amber-100-60: oklch(96.2% 0.059 95.617 / 0.6);
  --color-amber-100-50: oklch(96.2% 0.059 95.617 / 0.5);
  --color-amber-100-40: oklch(96.2% 0.059 95.617 / 0.4);
  --color-amber-100-30: oklch(96.2% 0.059 95.617 / 0.3);
  --color-amber-100-20: oklch(96.2% 0.059 95.617 / 0.2);
  --color-amber-100-10: oklch(96.2% 0.059 95.617 / 0.1);
  --color-amber-100-5: oklch(96.2% 0.059 95.617 / 0.05);
  /* --color-amber-200 */
  --color-amber-200-100: oklch(92.4% 0.12 95.746 / 1);
  --color-amber-200-90: oklch(92.4% 0.12 95.746 / 0.9);
  --color-amber-200-80: oklch(92.4% 0.12 95.746 / 0.8);
  --color-amber-200-70: oklch(92.4% 0.12 95.746 / 0.7);
  --color-amber-200-60: oklch(92.4% 0.12 95.746 / 0.6);
  --color-amber-200-50: oklch(92.4% 0.12 95.746 / 0.5);
  --color-amber-200-40: oklch(92.4% 0.12 95.746 / 0.4);
  --color-amber-200-30: oklch(92.4% 0.12 95.746 / 0.3);
  --color-amber-200-20: oklch(92.4% 0.12 95.746 / 0.2);
  --color-amber-200-10: oklch(92.4% 0.12 95.746 / 0.1);
  --color-amber-200-5: oklch(92.4% 0.12 95.746 / 0.05);
  /* --color-amber-300 */
  --color-amber-300-100: oklch(87.9% 0.169 91.605 / 1);
  --color-amber-300-90: oklch(87.9% 0.169 91.605 / 0.9);
  --color-amber-300-80: oklch(87.9% 0.169 91.605 / 0.8);
  --color-amber-300-70: oklch(87.9% 0.169 91.605 / 0.7);
  --color-amber-300-60: oklch(87.9% 0.169 91.605 / 0.6);
  --color-amber-300-50: oklch(87.9% 0.169 91.605 / 0.5);
  --color-amber-300-40: oklch(87.9% 0.169 91.605 / 0.4);
  --color-amber-300-30: oklch(87.9% 0.169 91.605 / 0.3);
  --color-amber-300-20: oklch(87.9% 0.169 91.605 / 0.2);
  --color-amber-300-10: oklch(87.9% 0.169 91.605 / 0.1);
  --color-amber-300-5: oklch(87.9% 0.169 91.605 / 0.05);
  /* --color-amber-400 */
  --color-amber-400-100: oklch(82.8% 0.189 84.429 / 1);
  --color-amber-400-90: oklch(82.8% 0.189 84.429 / 0.9);
  --color-amber-400-80: oklch(82.8% 0.189 84.429 / 0.8);
  --color-amber-400-70: oklch(82.8% 0.189 84.429 / 0.7);
  --color-amber-400-60: oklch(82.8% 0.189 84.429 / 0.6);
  --color-amber-400-50: oklch(82.8% 0.189 84.429 / 0.5);
  --color-amber-400-40: oklch(82.8% 0.189 84.429 / 0.4);
  --color-amber-400-30: oklch(82.8% 0.189 84.429 / 0.3);
  --color-amber-400-20: oklch(82.8% 0.189 84.429 / 0.2);
  --color-amber-400-10: oklch(82.8% 0.189 84.429 / 0.1);
  --color-amber-400-5: oklch(82.8% 0.189 84.429 / 0.05);
  /* --color-amber-500 */
  --color-amber-500-100: oklch(76.9% 0.188 70.08 / 1);
  --color-amber-500-90: oklch(76.9% 0.188 70.08 / 0.9);
  --color-amber-500-80: oklch(76.9% 0.188 70.08 / 0.8);
  --color-amber-500-70: oklch(76.9% 0.188 70.08 / 0.7);
  --color-amber-500-60: oklch(76.9% 0.188 70.08 / 0.6);
  --color-amber-500-50: oklch(76.9% 0.188 70.08 / 0.5);
  --color-amber-500-40: oklch(76.9% 0.188 70.08 / 0.4);
  --color-amber-500-30: oklch(76.9% 0.188 70.08 / 0.3);
  --color-amber-500-20: oklch(76.9% 0.188 70.08 / 0.2);
  --color-amber-500-10: oklch(76.9% 0.188 70.08 / 0.1);
  --color-amber-500-5: oklch(76.9% 0.188 70.08 / 0.05);
  /* --color-amber-600 */
  --color-amber-600-100: oklch(66.6% 0.179 58.318 / 1);
  --color-amber-600-90: oklch(66.6% 0.179 58.318 / 0.9);
  --color-amber-600-80: oklch(66.6% 0.179 58.318 / 0.8);
  --color-amber-600-70: oklch(66.6% 0.179 58.318 / 0.7);
  --color-amber-600-60: oklch(66.6% 0.179 58.318 / 0.6);
  --color-amber-600-50: oklch(66.6% 0.179 58.318 / 0.5);
  --color-amber-600-40: oklch(66.6% 0.179 58.318 / 0.4);
  --color-amber-600-30: oklch(66.6% 0.179 58.318 / 0.3);
  --color-amber-600-20: oklch(66.6% 0.179 58.318 / 0.2);
  --color-amber-600-10: oklch(66.6% 0.179 58.318 / 0.1);
  --color-amber-600-5: oklch(66.6% 0.179 58.318 / 0.05);
  /* --color-amber-700 */
  --color-amber-700-100: oklch(55.5% 0.163 48.998 / 1);
  --color-amber-700-90: oklch(55.5% 0.163 48.998 / 0.9);
  --color-amber-700-80: oklch(55.5% 0.163 48.998 / 0.8);
  --color-amber-700-70: oklch(55.5% 0.163 48.998 / 0.7);
  --color-amber-700-60: oklch(55.5% 0.163 48.998 / 0.6);
  --color-amber-700-50: oklch(55.5% 0.163 48.998 / 0.5);
  --color-amber-700-40: oklch(55.5% 0.163 48.998 / 0.4);
  --color-amber-700-30: oklch(55.5% 0.163 48.998 / 0.3);
  --color-amber-700-20: oklch(55.5% 0.163 48.998 / 0.2);
  --color-amber-700-10: oklch(55.5% 0.163 48.998 / 0.1);
  --color-amber-700-5: oklch(55.5% 0.163 48.998 / 0.05);
  /* --color-amber-800 */
  --color-amber-800-100: oklch(47.3% 0.137 46.201 / 1);
  --color-amber-800-90: oklch(47.3% 0.137 46.201 / 0.9);
  --color-amber-800-80: oklch(47.3% 0.137 46.201 / 0.8);
  --color-amber-800-70: oklch(47.3% 0.137 46.201 / 0.7);
  --color-amber-800-60: oklch(47.3% 0.137 46.201 / 0.6);
  --color-amber-800-50: oklch(47.3% 0.137 46.201 / 0.5);
  --color-amber-800-40: oklch(47.3% 0.137 46.201 / 0.4);
  --color-amber-800-30: oklch(47.3% 0.137 46.201 / 0.3);
  --color-amber-800-20: oklch(47.3% 0.137 46.201 / 0.2);
  --color-amber-800-10: oklch(47.3% 0.137 46.201 / 0.1);
  --color-amber-800-5: oklch(47.3% 0.137 46.201 / 0.05);
  /* --color-amber-900 */
  --color-amber-900-100: oklch(41.4% 0.112 45.904 / 1);
  --color-amber-900-90: oklch(41.4% 0.112 45.904 / 0.9);
  --color-amber-900-80: oklch(41.4% 0.112 45.904 / 0.8);
  --color-amber-900-70: oklch(41.4% 0.112 45.904 / 0.7);
  --color-amber-900-60: oklch(41.4% 0.112 45.904 / 0.6);
  --color-amber-900-50: oklch(41.4% 0.112 45.904 / 0.5);
  --color-amber-900-40: oklch(41.4% 0.112 45.904 / 0.4);
  --color-amber-900-30: oklch(41.4% 0.112 45.904 / 0.3);
  --color-amber-900-20: oklch(41.4% 0.112 45.904 / 0.2);
  --color-amber-900-10: oklch(41.4% 0.112 45.904 / 0.1);
  --color-amber-900-5: oklch(41.4% 0.112 45.904 / 0.05);
  /* --color-amber-950 */
  --color-amber-950-100: oklch(27.9% 0.077 45.635 / 1);
  --color-amber-950-90: oklch(27.9% 0.077 45.635 / 0.9);
  --color-amber-950-80: oklch(27.9% 0.077 45.635 / 0.8);
  --color-amber-950-70: oklch(27.9% 0.077 45.635 / 0.7);
  --color-amber-950-60: oklch(27.9% 0.077 45.635 / 0.6);
  --color-amber-950-50: oklch(27.9% 0.077 45.635 / 0.5);
  --color-amber-950-40: oklch(27.9% 0.077 45.635 / 0.4);
  --color-amber-950-30: oklch(27.9% 0.077 45.635 / 0.3);
  --color-amber-950-20: oklch(27.9% 0.077 45.635 / 0.2);
  --color-amber-950-10: oklch(27.9% 0.077 45.635 / 0.1);
  --color-amber-950-5: oklch(27.9% 0.077 45.635 / 0.05);
  /* Yellow */
  --color-yellow-50: oklch(98.7% 0.026 102.212);
  --color-yellow-100: oklch(97.3% 0.071 103.193);
  --color-yellow-200: oklch(94.5% 0.129 101.54);
  --color-yellow-300: oklch(90.5% 0.182 98.111);
  --color-yellow-400: oklch(85.2% 0.199 91.936);
  --color-yellow-500: oklch(79.5% 0.184 86.047);
  --color-yellow-600: oklch(79.5% 0.184 86.047);
  --color-yellow-700: oklch(55.4% 0.135 66.442);
  --color-yellow-800: oklch(47.6% 0.114 61.907);
  --color-yellow-900: oklch(42.1% 0.095 57.708);
  --color-yellow-950: oklch(28.6% 0.066 53.813);
  /* --color-yellow-50 */
  --color-yellow-50-100: oklch(98.7% 0.026 102.212 / 1);
  --color-yellow-50-90: oklch(98.7% 0.026 102.212 / 0.9);
  --color-yellow-50-80: oklch(98.7% 0.026 102.212 / 0.8);
  --color-yellow-50-70: oklch(98.7% 0.026 102.212 / 0.7);
  --color-yellow-50-60: oklch(98.7% 0.026 102.212 / 0.6);
  --color-yellow-50-50: oklch(98.7% 0.026 102.212 / 0.5);
  --color-yellow-50-40: oklch(98.7% 0.026 102.212 / 0.4);
  --color-yellow-50-30: oklch(98.7% 0.026 102.212 / 0.3);
  --color-yellow-50-20: oklch(98.7% 0.026 102.212 / 0.2);
  --color-yellow-50-10: oklch(98.7% 0.026 102.212 / 0.1);
  --color-yellow-50-5: oklch(98.7% 0.026 102.212 / 0.05);
  /* --color-yellow-100 */
  --color-yellow-100-100: oklch(97.3% 0.071 103.193 / 1);
  --color-yellow-100-90: oklch(97.3% 0.071 103.193 / 0.9);
  --color-yellow-100-80: oklch(97.3% 0.071 103.193 / 0.8);
  --color-yellow-100-70: oklch(97.3% 0.071 103.193 / 0.7);
  --color-yellow-100-60: oklch(97.3% 0.071 103.193 / 0.6);
  --color-yellow-100-50: oklch(97.3% 0.071 103.193 / 0.5);
  --color-yellow-100-40: oklch(97.3% 0.071 103.193 / 0.4);
  --color-yellow-100-30: oklch(97.3% 0.071 103.193 / 0.3);
  --color-yellow-100-20: oklch(97.3% 0.071 103.193 / 0.2);
  --color-yellow-100-10: oklch(97.3% 0.071 103.193 / 0.1);
  --color-yellow-100-5: oklch(97.3% 0.071 103.193 / 0.05);
  /* --color-yellow-200 */
  --color-yellow-200-100: oklch(94.5% 0.129 101.54 / 1);
  --color-yellow-200-90: oklch(94.5% 0.129 101.54 / 0.9);
  --color-yellow-200-80: oklch(94.5% 0.129 101.54 / 0.8);
  --color-yellow-200-70: oklch(94.5% 0.129 101.54 / 0.7);
  --color-yellow-200-60: oklch(94.5% 0.129 101.54 / 0.6);
  --color-yellow-200-50: oklch(94.5% 0.129 101.54 / 0.5);
  --color-yellow-200-40: oklch(94.5% 0.129 101.54 / 0.4);
  --color-yellow-200-30: oklch(94.5% 0.129 101.54 / 0.3);
  --color-yellow-200-20: oklch(94.5% 0.129 101.54 / 0.2);
  --color-yellow-200-10: oklch(94.5% 0.129 101.54 / 0.1);
  --color-yellow-200-5: oklch(94.5% 0.129 101.54 / 0.05);
  /* --color-yellow-300 */
  --color-yellow-300-100: oklch(90.5% 0.182 98.111 / 1);
  --color-yellow-300-90: oklch(90.5% 0.182 98.111 / 0.9);
  --color-yellow-300-80: oklch(90.5% 0.182 98.111 / 0.8);
  --color-yellow-300-70: oklch(90.5% 0.182 98.111 / 0.7);
  --color-yellow-300-60: oklch(90.5% 0.182 98.111 / 0.6);
  --color-yellow-300-50: oklch(90.5% 0.182 98.111 / 0.5);
  --color-yellow-300-40: oklch(90.5% 0.182 98.111 / 0.4);
  --color-yellow-300-30: oklch(90.5% 0.182 98.111 / 0.3);
  --color-yellow-300-20: oklch(90.5% 0.182 98.111 / 0.2);
  --color-yellow-300-10: oklch(90.5% 0.182 98.111 / 0.1);
  --color-yellow-300-5: oklch(90.5% 0.182 98.111 / 0.05);
  /* --color-yellow-400 */
  --color-yellow-400-100: oklch(85.2% 0.199 91.936 / 1);
  --color-yellow-400-90: oklch(85.2% 0.199 91.936 / 0.9);
  --color-yellow-400-80: oklch(85.2% 0.199 91.936 / 0.8);
  --color-yellow-400-70: oklch(85.2% 0.199 91.936 / 0.7);
  --color-yellow-400-60: oklch(85.2% 0.199 91.936 / 0.6);
  --color-yellow-400-50: oklch(85.2% 0.199 91.936 / 0.5);
  --color-yellow-400-40: oklch(85.2% 0.199 91.936 / 0.4);
  --color-yellow-400-30: oklch(85.2% 0.199 91.936 / 0.3);
  --color-yellow-400-20: oklch(85.2% 0.199 91.936 / 0.2);
  --color-yellow-400-10: oklch(85.2% 0.199 91.936 / 0.1);
  --color-yellow-400-5: oklch(85.2% 0.199 91.936 / 0.05);
  /* --color-yellow-500 */
  --color-yellow-500-100: oklch(79.5% 0.184 86.047 / 1);
  --color-yellow-500-90: oklch(79.5% 0.184 86.047 / 0.9);
  --color-yellow-500-80: oklch(79.5% 0.184 86.047 / 0.8);
  --color-yellow-500-70: oklch(79.5% 0.184 86.047 / 0.7);
  --color-yellow-500-60: oklch(79.5% 0.184 86.047 / 0.6);
  --color-yellow-500-50: oklch(79.5% 0.184 86.047 / 0.5);
  --color-yellow-500-40: oklch(79.5% 0.184 86.047 / 0.4);
  --color-yellow-500-30: oklch(79.5% 0.184 86.047 / 0.3);
  --color-yellow-500-20: oklch(79.5% 0.184 86.047 / 0.2);
  --color-yellow-500-10: oklch(79.5% 0.184 86.047 / 0.1);
  --color-yellow-500-5: oklch(79.5% 0.184 86.047 / 0.05);
  /* --color-yellow-600 */
  --color-yellow-600-100: oklch(79.5% 0.184 86.047 / 1);
  --color-yellow-600-90: oklch(79.5% 0.184 86.047 / 0.9);
  --color-yellow-600-80: oklch(79.5% 0.184 86.047 / 0.8);
  --color-yellow-600-70: oklch(79.5% 0.184 86.047 / 0.7);
  --color-yellow-600-60: oklch(79.5% 0.184 86.047 / 0.6);
  --color-yellow-600-50: oklch(79.5% 0.184 86.047 / 0.5);
  --color-yellow-600-40: oklch(79.5% 0.184 86.047 / 0.4);
  --color-yellow-600-30: oklch(79.5% 0.184 86.047 / 0.3);
  --color-yellow-600-20: oklch(79.5% 0.184 86.047 / 0.2);
  --color-yellow-600-10: oklch(79.5% 0.184 86.047 / 0.1);
  --color-yellow-600-5: oklch(79.5% 0.184 86.047 / 0.05);
  /* --color-yellow-700 */
  --color-yellow-700-100: oklch(55.4% 0.135 66.442 / 1);
  --color-yellow-700-90: oklch(55.4% 0.135 66.442 / 0.9);
  --color-yellow-700-80: oklch(55.4% 0.135 66.442 / 0.8);
  --color-yellow-700-70: oklch(55.4% 0.135 66.442 / 0.7);
  --color-yellow-700-60: oklch(55.4% 0.135 66.442 / 0.6);
  --color-yellow-700-50: oklch(55.4% 0.135 66.442 / 0.5);
  --color-yellow-700-40: oklch(55.4% 0.135 66.442 / 0.4);
  --color-yellow-700-30: oklch(55.4% 0.135 66.442 / 0.3);
  --color-yellow-700-20: oklch(55.4% 0.135 66.442 / 0.2);
  --color-yellow-700-10: oklch(55.4% 0.135 66.442 / 0.1);
  --color-yellow-700-5: oklch(55.4% 0.135 66.442 / 0.05);
  /* --color-yellow-800 */
  --color-yellow-800-100: oklch(47.6% 0.114 61.907 / 1);
  --color-yellow-800-90: oklch(47.6% 0.114 61.907 / 0.9);
  --color-yellow-800-80: oklch(47.6% 0.114 61.907 / 0.8);
  --color-yellow-800-70: oklch(47.6% 0.114 61.907 / 0.7);
  --color-yellow-800-60: oklch(47.6% 0.114 61.907 / 0.6);
  --color-yellow-800-50: oklch(47.6% 0.114 61.907 / 0.5);
  --color-yellow-800-40: oklch(47.6% 0.114 61.907 / 0.4);
  --color-yellow-800-30: oklch(47.6% 0.114 61.907 / 0.3);
  --color-yellow-800-20: oklch(47.6% 0.114 61.907 / 0.2);
  --color-yellow-800-10: oklch(47.6% 0.114 61.907 / 0.1);
  --color-yellow-800-5: oklch(47.6% 0.114 61.907 / 0.05);
  /* --color-yellow-900 */
  --color-yellow-900-100: oklch(42.1% 0.095 57.708 / 1);
  --color-yellow-900-90: oklch(42.1% 0.095 57.708 / 0.9);
  --color-yellow-900-80: oklch(42.1% 0.095 57.708 / 0.8);
  --color-yellow-900-70: oklch(42.1% 0.095 57.708 / 0.7);
  --color-yellow-900-60: oklch(42.1% 0.095 57.708 / 0.6);
  --color-yellow-900-50: oklch(42.1% 0.095 57.708 / 0.5);
  --color-yellow-900-40: oklch(42.1% 0.095 57.708 / 0.4);
  --color-yellow-900-30: oklch(42.1% 0.095 57.708 / 0.3);
  --color-yellow-900-20: oklch(42.1% 0.095 57.708 / 0.2);
  --color-yellow-900-10: oklch(42.1% 0.095 57.708 / 0.1);
  --color-yellow-900-5: oklch(42.1% 0.095 57.708 / 0.05);
  /* --color-yellow-950 */
  --color-yellow-950-100: oklch(28.6% 0.066 53.813 / 1);
  --color-yellow-950-90: oklch(28.6% 0.066 53.813 / 0.9);
  --color-yellow-950-80: oklch(28.6% 0.066 53.813 / 0.8);
  --color-yellow-950-70: oklch(28.6% 0.066 53.813 / 0.7);
  --color-yellow-950-60: oklch(28.6% 0.066 53.813 / 0.6);
  --color-yellow-950-50: oklch(28.6% 0.066 53.813 / 0.5);
  --color-yellow-950-40: oklch(28.6% 0.066 53.813 / 0.4);
  --color-yellow-950-30: oklch(28.6% 0.066 53.813 / 0.3);
  --color-yellow-950-20: oklch(28.6% 0.066 53.813 / 0.2);
  --color-yellow-950-10: oklch(28.6% 0.066 53.813 / 0.1);
  --color-yellow-950-5: oklch(28.6% 0.066 53.813 / 0.05);
  /* Lime */
  --color-lime-50: oklch(98.6% 0.031 120.757);
  --color-lime-100: oklch(96.7% 0.067 122.328);
  --color-lime-200: oklch(93.8% 0.127 124.321);
  --color-lime-300: oklch(89.7% 0.196 126.665);
  --color-lime-400: oklch(84.1% 0.238 128.85);
  --color-lime-500: oklch(76.8% 0.233 130.85);
  --color-lime-600: oklch(64.8% 0.2 131.684);
  --color-lime-700: oklch(53.2% 0.157 131.589);
  --color-lime-800: oklch(45.3% 0.124 130.933);
  --color-lime-900: oklch(40.5% 0.101 131.063);
  --color-lime-950: oklch(27.4% 0.072 132.109);
  /* --color-lime-50 */
  --color-lime-50-100: oklch(98.6% 0.031 120.757 / 1);
  --color-lime-50-90: oklch(98.6% 0.031 120.757 / 0.9);
  --color-lime-50-80: oklch(98.6% 0.031 120.757 / 0.8);
  --color-lime-50-70: oklch(98.6% 0.031 120.757 / 0.7);
  --color-lime-50-60: oklch(98.6% 0.031 120.757 / 0.6);
  --color-lime-50-50: oklch(98.6% 0.031 120.757 / 0.5);
  --color-lime-50-40: oklch(98.6% 0.031 120.757 / 0.4);
  --color-lime-50-30: oklch(98.6% 0.031 120.757 / 0.3);
  --color-lime-50-20: oklch(98.6% 0.031 120.757 / 0.2);
  --color-lime-50-10: oklch(98.6% 0.031 120.757 / 0.1);
  --color-lime-50-5: oklch(98.6% 0.031 120.757 / 0.05);
  /* --color-lime-100 */
  --color-lime-100-100: oklch(96.7% 0.067 122.328 / 1);
  --color-lime-100-90: oklch(96.7% 0.067 122.328 / 0.9);
  --color-lime-100-80: oklch(96.7% 0.067 122.328 / 0.8);
  --color-lime-100-70: oklch(96.7% 0.067 122.328 / 0.7);
  --color-lime-100-60: oklch(96.7% 0.067 122.328 / 0.6);
  --color-lime-100-50: oklch(96.7% 0.067 122.328 / 0.5);
  --color-lime-100-40: oklch(96.7% 0.067 122.328 / 0.4);
  --color-lime-100-30: oklch(96.7% 0.067 122.328 / 0.3);
  --color-lime-100-20: oklch(96.7% 0.067 122.328 / 0.2);
  --color-lime-100-10: oklch(96.7% 0.067 122.328 / 0.1);
  --color-lime-100-5: oklch(96.7% 0.067 122.328 / 0.05);
  /* --color-lime-200 */
  --color-lime-200-100: oklch(93.8% 0.127 124.321 / 1);
  --color-lime-200-90: oklch(93.8% 0.127 124.321 / 0.9);
  --color-lime-200-80: oklch(93.8% 0.127 124.321 / 0.8);
  --color-lime-200-70: oklch(93.8% 0.127 124.321 / 0.7);
  --color-lime-200-60: oklch(93.8% 0.127 124.321 / 0.6);
  --color-lime-200-50: oklch(93.8% 0.127 124.321 / 0.5);
  --color-lime-200-40: oklch(93.8% 0.127 124.321 / 0.4);
  --color-lime-200-30: oklch(93.8% 0.127 124.321 / 0.3);
  --color-lime-200-20: oklch(93.8% 0.127 124.321 / 0.2);
  --color-lime-200-10: oklch(93.8% 0.127 124.321 / 0.1);
  --color-lime-200-5: oklch(93.8% 0.127 124.321 / 0.05);
  /* --color-lime-300 */
  --color-lime-300-100: oklch(89.7% 0.196 126.665 / 1);
  --color-lime-300-90: oklch(89.7% 0.196 126.665 / 0.9);
  --color-lime-300-80: oklch(89.7% 0.196 126.665 / 0.8);
  --color-lime-300-70: oklch(89.7% 0.196 126.665 / 0.7);
  --color-lime-300-60: oklch(89.7% 0.196 126.665 / 0.6);
  --color-lime-300-50: oklch(89.7% 0.196 126.665 / 0.5);
  --color-lime-300-40: oklch(89.7% 0.196 126.665 / 0.4);
  --color-lime-300-30: oklch(89.7% 0.196 126.665 / 0.3);
  --color-lime-300-20: oklch(89.7% 0.196 126.665 / 0.2);
  --color-lime-300-10: oklch(89.7% 0.196 126.665 / 0.1);
  --color-lime-300-5: oklch(89.7% 0.196 126.665 / 0.05);
  /* --color-lime-400 */
  --color-lime-400-100: oklch(84.1% 0.238 128.85 / 1);
  --color-lime-400-90: oklch(84.1% 0.238 128.85 / 0.9);
  --color-lime-400-80: oklch(84.1% 0.238 128.85 / 0.8);
  --color-lime-400-70: oklch(84.1% 0.238 128.85 / 0.7);
  --color-lime-400-60: oklch(84.1% 0.238 128.85 / 0.6);
  --color-lime-400-50: oklch(84.1% 0.238 128.85 / 0.5);
  --color-lime-400-40: oklch(84.1% 0.238 128.85 / 0.4);
  --color-lime-400-30: oklch(84.1% 0.238 128.85 / 0.3);
  --color-lime-400-20: oklch(84.1% 0.238 128.85 / 0.2);
  --color-lime-400-10: oklch(84.1% 0.238 128.85 / 0.1);
  --color-lime-400-5: oklch(84.1% 0.238 128.85 / 0.05);
  /* --color-lime-500 */
  --color-lime-500-100: oklch(76.8% 0.233 130.85 / 1);
  --color-lime-500-90: oklch(76.8% 0.233 130.85 / 0.9);
  --color-lime-500-80: oklch(76.8% 0.233 130.85 / 0.8);
  --color-lime-500-70: oklch(76.8% 0.233 130.85 / 0.7);
  --color-lime-500-60: oklch(76.8% 0.233 130.85 / 0.6);
  --color-lime-500-50: oklch(76.8% 0.233 130.85 / 0.5);
  --color-lime-500-40: oklch(76.8% 0.233 130.85 / 0.4);
  --color-lime-500-30: oklch(76.8% 0.233 130.85 / 0.3);
  --color-lime-500-20: oklch(76.8% 0.233 130.85 / 0.2);
  --color-lime-500-10: oklch(76.8% 0.233 130.85 / 0.1);
  --color-lime-500-5: oklch(76.8% 0.233 130.85 / 0.05);
  /* --color-lime-600 */
  --color-lime-600-100: oklch(64.8% 0.2 131.684 / 1);
  --color-lime-600-90: oklch(64.8% 0.2 131.684 / 0.9);
  --color-lime-600-80: oklch(64.8% 0.2 131.684 / 0.8);
  --color-lime-600-70: oklch(64.8% 0.2 131.684 / 0.7);
  --color-lime-600-60: oklch(64.8% 0.2 131.684 / 0.6);
  --color-lime-600-50: oklch(64.8% 0.2 131.684 / 0.5);
  --color-lime-600-40: oklch(64.8% 0.2 131.684 / 0.4);
  --color-lime-600-30: oklch(64.8% 0.2 131.684 / 0.3);
  --color-lime-600-20: oklch(64.8% 0.2 131.684 / 0.2);
  --color-lime-600-10: oklch(64.8% 0.2 131.684 / 0.1);
  --color-lime-600-5: oklch(64.8% 0.2 131.684 / 0.05);
  /* --color-lime-700 */
  --color-lime-700-100: oklch(53.2% 0.157 131.589 / 1);
  --color-lime-700-90: oklch(53.2% 0.157 131.589 / 0.9);
  --color-lime-700-80: oklch(53.2% 0.157 131.589 / 0.8);
  --color-lime-700-70: oklch(53.2% 0.157 131.589 / 0.7);
  --color-lime-700-60: oklch(53.2% 0.157 131.589 / 0.6);
  --color-lime-700-50: oklch(53.2% 0.157 131.589 / 0.5);
  --color-lime-700-40: oklch(53.2% 0.157 131.589 / 0.4);
  --color-lime-700-30: oklch(53.2% 0.157 131.589 / 0.3);
  --color-lime-700-20: oklch(53.2% 0.157 131.589 / 0.2);
  --color-lime-700-10: oklch(53.2% 0.157 131.589 / 0.1);
  --color-lime-700-5: oklch(53.2% 0.157 131.589 / 0.05);
  /* --color-lime-800 */
  --color-lime-800-100: oklch(45.3% 0.124 130.933 / 1);
  --color-lime-800-90: oklch(45.3% 0.124 130.933 / 0.9);
  --color-lime-800-80: oklch(45.3% 0.124 130.933 / 0.8);
  --color-lime-800-70: oklch(45.3% 0.124 130.933 / 0.7);
  --color-lime-800-60: oklch(45.3% 0.124 130.933 / 0.6);
  --color-lime-800-50: oklch(45.3% 0.124 130.933 / 0.5);
  --color-lime-800-40: oklch(45.3% 0.124 130.933 / 0.4);
  --color-lime-800-30: oklch(45.3% 0.124 130.933 / 0.3);
  --color-lime-800-20: oklch(45.3% 0.124 130.933 / 0.2);
  --color-lime-800-10: oklch(45.3% 0.124 130.933 / 0.1);
  --color-lime-800-5: oklch(45.3% 0.124 130.933 / 0.05);
  /* --color-lime-900 */
  --color-lime-900-100: oklch(40.5% 0.101 131.063 / 1);
  --color-lime-900-90: oklch(40.5% 0.101 131.063 / 0.9);
  --color-lime-900-80: oklch(40.5% 0.101 131.063 / 0.8);
  --color-lime-900-70: oklch(40.5% 0.101 131.063 / 0.7);
  --color-lime-900-60: oklch(40.5% 0.101 131.063 / 0.6);
  --color-lime-900-50: oklch(40.5% 0.101 131.063 / 0.5);
  --color-lime-900-40: oklch(40.5% 0.101 131.063 / 0.4);
  --color-lime-900-30: oklch(40.5% 0.101 131.063 / 0.3);
  --color-lime-900-20: oklch(40.5% 0.101 131.063 / 0.2);
  --color-lime-900-10: oklch(40.5% 0.101 131.063 / 0.1);
  --color-lime-900-5: oklch(40.5% 0.101 131.063 / 0.05);
  /* --color-lime-950 */
  --color-lime-950-100: oklch(27.4% 0.072 132.109 / 1);
  --color-lime-950-90: oklch(27.4% 0.072 132.109 / 0.9);
  --color-lime-950-80: oklch(27.4% 0.072 132.109 / 0.8);
  --color-lime-950-70: oklch(27.4% 0.072 132.109 / 0.7);
  --color-lime-950-60: oklch(27.4% 0.072 132.109 / 0.6);
  --color-lime-950-50: oklch(27.4% 0.072 132.109 / 0.5);
  --color-lime-950-40: oklch(27.4% 0.072 132.109 / 0.4);
  --color-lime-950-30: oklch(27.4% 0.072 132.109 / 0.3);
  --color-lime-950-20: oklch(27.4% 0.072 132.109 / 0.2);
  --color-lime-950-10: oklch(27.4% 0.072 132.109 / 0.1);
  --color-lime-950-5: oklch(27.4% 0.072 132.109 / 0.05);
  /* Green */
  --color-green-50: oklch(98.2% 0.018 155.826);
  --color-green-100: oklch(96.2% 0.044 156.743);
  --color-green-200: oklch(92.5% 0.084 155.995);
  --color-green-300: oklch(87.1% 0.15 154.449);
  --color-green-400: oklch(79.2% 0.209 151.711);
  --color-green-500: oklch(72.3% 0.219 149.579);
  --color-green-600: oklch(62.7% 0.194 149.214);
  --color-green-700: oklch(52.7% 0.154 150.069);
  --color-green-800: oklch(44.8% 0.119 151.328);
  --color-green-900: oklch(39.3% 0.095 152.535);
  --color-green-950: oklch(26.6% 0.065 152.934);
  /* --color-green-50 */
  --color-green-50-100: oklch(98.2% 0.018 155.826 / 1);
  --color-green-50-90: oklch(98.2% 0.018 155.826 / 0.9);
  --color-green-50-80: oklch(98.2% 0.018 155.826 / 0.8);
  --color-green-50-70: oklch(98.2% 0.018 155.826 / 0.7);
  --color-green-50-60: oklch(98.2% 0.018 155.826 / 0.6);
  --color-green-50-50: oklch(98.2% 0.018 155.826 / 0.5);
  --color-green-50-40: oklch(98.2% 0.018 155.826 / 0.4);
  --color-green-50-30: oklch(98.2% 0.018 155.826 / 0.3);
  --color-green-50-20: oklch(98.2% 0.018 155.826 / 0.2);
  --color-green-50-10: oklch(98.2% 0.018 155.826 / 0.1);
  --color-green-50-5: oklch(98.2% 0.018 155.826 / 0.05);
  /* --color-green-100 */
  --color-green-100-100: oklch(96.2% 0.044 156.743 / 1);
  --color-green-100-90: oklch(96.2% 0.044 156.743 / 0.9);
  --color-green-100-80: oklch(96.2% 0.044 156.743 / 0.8);
  --color-green-100-70: oklch(96.2% 0.044 156.743 / 0.7);
  --color-green-100-60: oklch(96.2% 0.044 156.743 / 0.6);
  --color-green-100-50: oklch(96.2% 0.044 156.743 / 0.5);
  --color-green-100-40: oklch(96.2% 0.044 156.743 / 0.4);
  --color-green-100-30: oklch(96.2% 0.044 156.743 / 0.3);
  --color-green-100-20: oklch(96.2% 0.044 156.743 / 0.2);
  --color-green-100-10: oklch(96.2% 0.044 156.743 / 0.1);
  --color-green-100-5: oklch(96.2% 0.044 156.743 / 0.05);
  /* --color-green-200 */
  --color-green-200-100: oklch(92.5% 0.084 155.995 / 1);
  --color-green-200-90: oklch(92.5% 0.084 155.995 / 0.9);
  --color-green-200-80: oklch(92.5% 0.084 155.995 / 0.8);
  --color-green-200-70: oklch(92.5% 0.084 155.995 / 0.7);
  --color-green-200-60: oklch(92.5% 0.084 155.995 / 0.6);
  --color-green-200-50: oklch(92.5% 0.084 155.995 / 0.5);
  --color-green-200-40: oklch(92.5% 0.084 155.995 / 0.4);
  --color-green-200-30: oklch(92.5% 0.084 155.995 / 0.3);
  --color-green-200-20: oklch(92.5% 0.084 155.995 / 0.2);
  --color-green-200-10: oklch(92.5% 0.084 155.995 / 0.1);
  --color-green-200-5: oklch(92.5% 0.084 155.995 / 0.05);
  /* --color-green-300 */
  --color-green-300-100: oklch(87.1% 0.15 154.449 / 1);
  --color-green-300-90: oklch(87.1% 0.15 154.449 / 0.9);
  --color-green-300-80: oklch(87.1% 0.15 154.449 / 0.8);
  --color-green-300-70: oklch(87.1% 0.15 154.449 / 0.7);
  --color-green-300-60: oklch(87.1% 0.15 154.449 / 0.6);
  --color-green-300-50: oklch(87.1% 0.15 154.449 / 0.5);
  --color-green-300-40: oklch(87.1% 0.15 154.449 / 0.4);
  --color-green-300-30: oklch(87.1% 0.15 154.449 / 0.3);
  --color-green-300-20: oklch(87.1% 0.15 154.449 / 0.2);
  --color-green-300-10: oklch(87.1% 0.15 154.449 / 0.1);
  --color-green-300-5: oklch(87.1% 0.15 154.449 / 0.05);
  /* --color-green-400 */
  --color-green-400-100: oklch(79.2% 0.209 151.711 / 1);
  --color-green-400-90: oklch(79.2% 0.209 151.711 / 0.9);
  --color-green-400-80: oklch(79.2% 0.209 151.711 / 0.8);
  --color-green-400-70: oklch(79.2% 0.209 151.711 / 0.7);
  --color-green-400-60: oklch(79.2% 0.209 151.711 / 0.6);
  --color-green-400-50: oklch(79.2% 0.209 151.711 / 0.5);
  --color-green-400-40: oklch(79.2% 0.209 151.711 / 0.4);
  --color-green-400-30: oklch(79.2% 0.209 151.711 / 0.3);
  --color-green-400-20: oklch(79.2% 0.209 151.711 / 0.2);
  --color-green-400-10: oklch(79.2% 0.209 151.711 / 0.1);
  --color-green-400-5: oklch(79.2% 0.209 151.711 / 0.05);
  /* --color-green-500 */
  --color-green-500-100: oklch(72.3% 0.219 149.579 / 1);
  --color-green-500-90: oklch(72.3% 0.219 149.579 / 0.9);
  --color-green-500-80: oklch(72.3% 0.219 149.579 / 0.8);
  --color-green-500-70: oklch(72.3% 0.219 149.579 / 0.7);
  --color-green-500-60: oklch(72.3% 0.219 149.579 / 0.6);
  --color-green-500-50: oklch(72.3% 0.219 149.579 / 0.5);
  --color-green-500-40: oklch(72.3% 0.219 149.579 / 0.4);
  --color-green-500-30: oklch(72.3% 0.219 149.579 / 0.3);
  --color-green-500-20: oklch(72.3% 0.219 149.579 / 0.2);
  --color-green-500-10: oklch(72.3% 0.219 149.579 / 0.1);
  --color-green-500-5: oklch(72.3% 0.219 149.579 / 0.05);
  /* --color-green-600 */
  --color-green-600-100: oklch(62.7% 0.194 149.214 / 1);
  --color-green-600-90: oklch(62.7% 0.194 149.214 / 0.9);
  --color-green-600-80: oklch(62.7% 0.194 149.214 / 0.8);
  --color-green-600-70: oklch(62.7% 0.194 149.214 / 0.7);
  --color-green-600-60: oklch(62.7% 0.194 149.214 / 0.6);
  --color-green-600-50: oklch(62.7% 0.194 149.214 / 0.5);
  --color-green-600-40: oklch(62.7% 0.194 149.214 / 0.4);
  --color-green-600-30: oklch(62.7% 0.194 149.214 / 0.3);
  --color-green-600-20: oklch(62.7% 0.194 149.214 / 0.2);
  --color-green-600-10: oklch(62.7% 0.194 149.214 / 0.1);
  --color-green-600-5: oklch(62.7% 0.194 149.214 / 0.05);
  /* --color-green-700 */
  --color-green-700-100: oklch(52.7% 0.154 150.069 / 1);
  --color-green-700-90: oklch(52.7% 0.154 150.069 / 0.9);
  --color-green-700-80: oklch(52.7% 0.154 150.069 / 0.8);
  --color-green-700-70: oklch(52.7% 0.154 150.069 / 0.7);
  --color-green-700-60: oklch(52.7% 0.154 150.069 / 0.6);
  --color-green-700-50: oklch(52.7% 0.154 150.069 / 0.5);
  --color-green-700-40: oklch(52.7% 0.154 150.069 / 0.4);
  --color-green-700-30: oklch(52.7% 0.154 150.069 / 0.3);
  --color-green-700-20: oklch(52.7% 0.154 150.069 / 0.2);
  --color-green-700-10: oklch(52.7% 0.154 150.069 / 0.1);
  --color-green-700-5: oklch(52.7% 0.154 150.069 / 0.05);
  /* --color-green-800 */
  --color-green-800-100: oklch(44.8% 0.119 151.328 / 1);
  --color-green-800-90: oklch(44.8% 0.119 151.328 / 0.9);
  --color-green-800-80: oklch(44.8% 0.119 151.328 / 0.8);
  --color-green-800-70: oklch(44.8% 0.119 151.328 / 0.7);
  --color-green-800-60: oklch(44.8% 0.119 151.328 / 0.6);
  --color-green-800-50: oklch(44.8% 0.119 151.328 / 0.5);
  --color-green-800-40: oklch(44.8% 0.119 151.328 / 0.4);
  --color-green-800-30: oklch(44.8% 0.119 151.328 / 0.3);
  --color-green-800-20: oklch(44.8% 0.119 151.328 / 0.2);
  --color-green-800-10: oklch(44.8% 0.119 151.328 / 0.1);
  --color-green-800-5: oklch(44.8% 0.119 151.328 / 0.05);
  /* --color-green-900 */
  --color-green-900-100: oklch(39.3% 0.095 152.535 / 1);
  --color-green-900-90: oklch(39.3% 0.095 152.535 / 0.9);
  --color-green-900-80: oklch(39.3% 0.095 152.535 / 0.8);
  --color-green-900-70: oklch(39.3% 0.095 152.535 / 0.7);
  --color-green-900-60: oklch(39.3% 0.095 152.535 / 0.6);
  --color-green-900-50: oklch(39.3% 0.095 152.535 / 0.5);
  --color-green-900-40: oklch(39.3% 0.095 152.535 / 0.4);
  --color-green-900-30: oklch(39.3% 0.095 152.535 / 0.3);
  --color-green-900-20: oklch(39.3% 0.095 152.535 / 0.2);
  --color-green-900-10: oklch(39.3% 0.095 152.535 / 0.1);
  --color-green-900-5: oklch(39.3% 0.095 152.535 / 0.05);
  /* --color-green-950 */
  --color-green-950-100: oklch(26.6% 0.065 152.934 / 1);
  --color-green-950-90: oklch(26.6% 0.065 152.934 / 0.9);
  --color-green-950-80: oklch(26.6% 0.065 152.934 / 0.8);
  --color-green-950-70: oklch(26.6% 0.065 152.934 / 0.7);
  --color-green-950-60: oklch(26.6% 0.065 152.934 / 0.6);
  --color-green-950-50: oklch(26.6% 0.065 152.934 / 0.5);
  --color-green-950-40: oklch(26.6% 0.065 152.934 / 0.4);
  --color-green-950-30: oklch(26.6% 0.065 152.934 / 0.3);
  --color-green-950-20: oklch(26.6% 0.065 152.934 / 0.2);
  --color-green-950-10: oklch(26.6% 0.065 152.934 / 0.1);
  --color-green-950-5: oklch(26.6% 0.065 152.934 / 0.05);
  /* Emerald */
  --color-emerald-50: oklch(97.9% 0.021 166.113);
  --color-emerald-100: oklch(95% 0.052 163.051);
  --color-emerald-200: oklch(90.5% 0.093 164.15);
  --color-emerald-300: oklch(84.5% 0.143 164.978);
  --color-emerald-400: oklch(76.5% 0.177 163.223);
  --color-emerald-500: oklch(69.6% 0.17 162.48);
  --color-emerald-600: oklch(59.6% 0.145 163.225);
  --color-emerald-700: oklch(50.8% 0.118 165.612);
  --color-emerald-800: oklch(43.2% 0.095 166.913);
  --color-emerald-900: oklch(37.8% 0.077 168.94);
  --color-emerald-950: oklch(26.2% 0.051 172.552);
  /* --color-emerald-50 */
  --color-emerald-50-100: oklch(97.9% 0.021 166.113 / 1);
  --color-emerald-50-90: oklch(97.9% 0.021 166.113 / 0.9);
  --color-emerald-50-80: oklch(97.9% 0.021 166.113 / 0.8);
  --color-emerald-50-70: oklch(97.9% 0.021 166.113 / 0.7);
  --color-emerald-50-60: oklch(97.9% 0.021 166.113 / 0.6);
  --color-emerald-50-50: oklch(97.9% 0.021 166.113 / 0.5);
  --color-emerald-50-40: oklch(97.9% 0.021 166.113 / 0.4);
  --color-emerald-50-30: oklch(97.9% 0.021 166.113 / 0.3);
  --color-emerald-50-20: oklch(97.9% 0.021 166.113 / 0.2);
  --color-emerald-50-10: oklch(97.9% 0.021 166.113 / 0.1);
  --color-emerald-50-5: oklch(97.9% 0.021 166.113 / 0.05);
  /* --color-emerald-100 */
  --color-emerald-100-100: oklch(95% 0.052 163.051 / 1);
  --color-emerald-100-90: oklch(95% 0.052 163.051 / 0.9);
  --color-emerald-100-80: oklch(95% 0.052 163.051 / 0.8);
  --color-emerald-100-70: oklch(95% 0.052 163.051 / 0.7);
  --color-emerald-100-60: oklch(95% 0.052 163.051 / 0.6);
  --color-emerald-100-50: oklch(95% 0.052 163.051 / 0.5);
  --color-emerald-100-40: oklch(95% 0.052 163.051 / 0.4);
  --color-emerald-100-30: oklch(95% 0.052 163.051 / 0.3);
  --color-emerald-100-20: oklch(95% 0.052 163.051 / 0.2);
  --color-emerald-100-10: oklch(95% 0.052 163.051 / 0.1);
  --color-emerald-100-5: oklch(95% 0.052 163.051 / 0.05);
  /* --color-emerald-200 */
  --color-emerald-200-100: oklch(90.5% 0.093 164.15 / 1);
  --color-emerald-200-90: oklch(90.5% 0.093 164.15 / 0.9);
  --color-emerald-200-80: oklch(90.5% 0.093 164.15 / 0.8);
  --color-emerald-200-70: oklch(90.5% 0.093 164.15 / 0.7);
  --color-emerald-200-60: oklch(90.5% 0.093 164.15 / 0.6);
  --color-emerald-200-50: oklch(90.5% 0.093 164.15 / 0.5);
  --color-emerald-200-40: oklch(90.5% 0.093 164.15 / 0.4);
  --color-emerald-200-30: oklch(90.5% 0.093 164.15 / 0.3);
  --color-emerald-200-20: oklch(90.5% 0.093 164.15 / 0.2);
  --color-emerald-200-10: oklch(90.5% 0.093 164.15 / 0.1);
  --color-emerald-200-5: oklch(90.5% 0.093 164.15 / 0.05);
  /* --color-emerald-300 */
  --color-emerald-300-100: oklch(84.5% 0.143 164.978 / 1);
  --color-emerald-300-90: oklch(84.5% 0.143 164.978 / 0.9);
  --color-emerald-300-80: oklch(84.5% 0.143 164.978 / 0.8);
  --color-emerald-300-70: oklch(84.5% 0.143 164.978 / 0.7);
  --color-emerald-300-60: oklch(84.5% 0.143 164.978 / 0.6);
  --color-emerald-300-50: oklch(84.5% 0.143 164.978 / 0.5);
  --color-emerald-300-40: oklch(84.5% 0.143 164.978 / 0.4);
  --color-emerald-300-30: oklch(84.5% 0.143 164.978 / 0.3);
  --color-emerald-300-20: oklch(84.5% 0.143 164.978 / 0.2);
  --color-emerald-300-10: oklch(84.5% 0.143 164.978 / 0.1);
  --color-emerald-300-5: oklch(84.5% 0.143 164.978 / 0.05);
  /* --color-emerald-400 */
  --color-emerald-400-100: oklch(76.5% 0.177 163.223 / 1);
  --color-emerald-400-90: oklch(76.5% 0.177 163.223 / 0.9);
  --color-emerald-400-80: oklch(76.5% 0.177 163.223 / 0.8);
  --color-emerald-400-70: oklch(76.5% 0.177 163.223 / 0.7);
  --color-emerald-400-60: oklch(76.5% 0.177 163.223 / 0.6);
  --color-emerald-400-50: oklch(76.5% 0.177 163.223 / 0.5);
  --color-emerald-400-40: oklch(76.5% 0.177 163.223 / 0.4);
  --color-emerald-400-30: oklch(76.5% 0.177 163.223 / 0.3);
  --color-emerald-400-20: oklch(76.5% 0.177 163.223 / 0.2);
  --color-emerald-400-10: oklch(76.5% 0.177 163.223 / 0.1);
  --color-emerald-400-5: oklch(76.5% 0.177 163.223 / 0.05);
  /* --color-emerald-500 */
  --color-emerald-500-100: oklch(69.6% 0.17 162.48 / 1);
  --color-emerald-500-90: oklch(69.6% 0.17 162.48 / 0.9);
  --color-emerald-500-80: oklch(69.6% 0.17 162.48 / 0.8);
  --color-emerald-500-70: oklch(69.6% 0.17 162.48 / 0.7);
  --color-emerald-500-60: oklch(69.6% 0.17 162.48 / 0.6);
  --color-emerald-500-50: oklch(69.6% 0.17 162.48 / 0.5);
  --color-emerald-500-40: oklch(69.6% 0.17 162.48 / 0.4);
  --color-emerald-500-30: oklch(69.6% 0.17 162.48 / 0.3);
  --color-emerald-500-20: oklch(69.6% 0.17 162.48 / 0.2);
  --color-emerald-500-10: oklch(69.6% 0.17 162.48 / 0.1);
  --color-emerald-500-5: oklch(69.6% 0.17 162.48 / 0.05);
  /* --color-emerald-600 */
  --color-emerald-600-100: oklch(59.6% 0.145 163.225 / 1);
  --color-emerald-600-90: oklch(59.6% 0.145 163.225 / 0.9);
  --color-emerald-600-80: oklch(59.6% 0.145 163.225 / 0.8);
  --color-emerald-600-70: oklch(59.6% 0.145 163.225 / 0.7);
  --color-emerald-600-60: oklch(59.6% 0.145 163.225 / 0.6);
  --color-emerald-600-50: oklch(59.6% 0.145 163.225 / 0.5);
  --color-emerald-600-40: oklch(59.6% 0.145 163.225 / 0.4);
  --color-emerald-600-30: oklch(59.6% 0.145 163.225 / 0.3);
  --color-emerald-600-20: oklch(59.6% 0.145 163.225 / 0.2);
  --color-emerald-600-10: oklch(59.6% 0.145 163.225 / 0.1);
  --color-emerald-600-5: oklch(59.6% 0.145 163.225 / 0.05);
  /* --color-emerald-700 */
  --color-emerald-700-100: oklch(50.8% 0.118 165.612 / 1);
  --color-emerald-700-90: oklch(50.8% 0.118 165.612 / 0.9);
  --color-emerald-700-80: oklch(50.8% 0.118 165.612 / 0.8);
  --color-emerald-700-70: oklch(50.8% 0.118 165.612 / 0.7);
  --color-emerald-700-60: oklch(50.8% 0.118 165.612 / 0.6);
  --color-emerald-700-50: oklch(50.8% 0.118 165.612 / 0.5);
  --color-emerald-700-40: oklch(50.8% 0.118 165.612 / 0.4);
  --color-emerald-700-30: oklch(50.8% 0.118 165.612 / 0.3);
  --color-emerald-700-20: oklch(50.8% 0.118 165.612 / 0.2);
  --color-emerald-700-10: oklch(50.8% 0.118 165.612 / 0.1);
  --color-emerald-700-5: oklch(50.8% 0.118 165.612 / 0.05);
  /* --color-emerald-800 */
  --color-emerald-800-100: oklch(43.2% 0.095 166.913 / 1);
  --color-emerald-800-90: oklch(43.2% 0.095 166.913 / 0.9);
  --color-emerald-800-80: oklch(43.2% 0.095 166.913 / 0.8);
  --color-emerald-800-70: oklch(43.2% 0.095 166.913 / 0.7);
  --color-emerald-800-60: oklch(43.2% 0.095 166.913 / 0.6);
  --color-emerald-800-50: oklch(43.2% 0.095 166.913 / 0.5);
  --color-emerald-800-40: oklch(43.2% 0.095 166.913 / 0.4);
  --color-emerald-800-30: oklch(43.2% 0.095 166.913 / 0.3);
  --color-emerald-800-20: oklch(43.2% 0.095 166.913 / 0.2);
  --color-emerald-800-10: oklch(43.2% 0.095 166.913 / 0.1);
  --color-emerald-800-5: oklch(43.2% 0.095 166.913 / 0.05);
  /* --color-emerald-900 */
  --color-emerald-900-100: oklch(37.8% 0.077 168.94 / 1);
  --color-emerald-900-90: oklch(37.8% 0.077 168.94 / 0.9);
  --color-emerald-900-80: oklch(37.8% 0.077 168.94 / 0.8);
  --color-emerald-900-70: oklch(37.8% 0.077 168.94 / 0.7);
  --color-emerald-900-60: oklch(37.8% 0.077 168.94 / 0.6);
  --color-emerald-900-50: oklch(37.8% 0.077 168.94 / 0.5);
  --color-emerald-900-40: oklch(37.8% 0.077 168.94 / 0.4);
  --color-emerald-900-30: oklch(37.8% 0.077 168.94 / 0.3);
  --color-emerald-900-20: oklch(37.8% 0.077 168.94 / 0.2);
  --color-emerald-900-10: oklch(37.8% 0.077 168.94 / 0.1);
  --color-emerald-900-5: oklch(37.8% 0.077 168.94 / 0.05);
  /* --color-emerald-950 */
  --color-emerald-950-100: oklch(26.2% 0.051 172.552 / 1);
  --color-emerald-950-90: oklch(26.2% 0.051 172.552 / 0.9);
  --color-emerald-950-80: oklch(26.2% 0.051 172.552 / 0.8);
  --color-emerald-950-70: oklch(26.2% 0.051 172.552 / 0.7);
  --color-emerald-950-60: oklch(26.2% 0.051 172.552 / 0.6);
  --color-emerald-950-50: oklch(26.2% 0.051 172.552 / 0.5);
  --color-emerald-950-40: oklch(26.2% 0.051 172.552 / 0.4);
  --color-emerald-950-30: oklch(26.2% 0.051 172.552 / 0.3);
  --color-emerald-950-20: oklch(26.2% 0.051 172.552 / 0.2);
  --color-emerald-950-10: oklch(26.2% 0.051 172.552 / 0.1);
  --color-emerald-950-5: oklch(26.2% 0.051 172.552 / 0.05);
  /* Teal */
  --color-teal-50: oklch(98.4% 0.014 180.72);
  --color-teal-100: oklch(95.3% 0.051 180.801);
  --color-teal-200: oklch(91% 0.096 180.426);
  --color-teal-300: oklch(85.5% 0.138 181.071);
  --color-teal-400: oklch(77.7% 0.152 181.912);
  --color-teal-500: oklch(70.4% 0.14 182.503);
  --color-teal-600: oklch(60% 0.118 184.704);
  --color-teal-700: oklch(51.1% 0.096 186.391);
  --color-teal-800: oklch(43.7% 0.078 188.216);
  --color-teal-900: oklch(38.6% 0.063 188.416);
  --color-teal-950: oklch(27.7% 0.046 192.524);
  /* --color-teal-50 */
  --color-teal-50-100: oklch(98.4% 0.014 180.72 / 1);
  --color-teal-50-90: oklch(98.4% 0.014 180.72 / 0.9);
  --color-teal-50-80: oklch(98.4% 0.014 180.72 / 0.8);
  --color-teal-50-70: oklch(98.4% 0.014 180.72 / 0.7);
  --color-teal-50-60: oklch(98.4% 0.014 180.72 / 0.6);
  --color-teal-50-50: oklch(98.4% 0.014 180.72 / 0.5);
  --color-teal-50-40: oklch(98.4% 0.014 180.72 / 0.4);
  --color-teal-50-30: oklch(98.4% 0.014 180.72 / 0.3);
  --color-teal-50-20: oklch(98.4% 0.014 180.72 / 0.2);
  --color-teal-50-10: oklch(98.4% 0.014 180.72 / 0.1);
  --color-teal-50-5: oklch(98.4% 0.014 180.72 / 0.05);
  /* --color-teal-100 */
  --color-teal-100-100: oklch(95.3% 0.051 180.801 / 1);
  --color-teal-100-90: oklch(95.3% 0.051 180.801 / 0.9);
  --color-teal-100-80: oklch(95.3% 0.051 180.801 / 0.8);
  --color-teal-100-70: oklch(95.3% 0.051 180.801 / 0.7);
  --color-teal-100-60: oklch(95.3% 0.051 180.801 / 0.6);
  --color-teal-100-50: oklch(95.3% 0.051 180.801 / 0.5);
  --color-teal-100-40: oklch(95.3% 0.051 180.801 / 0.4);
  --color-teal-100-30: oklch(95.3% 0.051 180.801 / 0.3);
  --color-teal-100-20: oklch(95.3% 0.051 180.801 / 0.2);
  --color-teal-100-10: oklch(95.3% 0.051 180.801 / 0.1);
  --color-teal-100-5: oklch(95.3% 0.051 180.801 / 0.05);
  /* --color-teal-200 */
  --color-teal-200-100: oklch(91% 0.096 180.426 / 1);
  --color-teal-200-90: oklch(91% 0.096 180.426 / 0.9);
  --color-teal-200-80: oklch(91% 0.096 180.426 / 0.8);
  --color-teal-200-70: oklch(91% 0.096 180.426 / 0.7);
  --color-teal-200-60: oklch(91% 0.096 180.426 / 0.6);
  --color-teal-200-50: oklch(91% 0.096 180.426 / 0.5);
  --color-teal-200-40: oklch(91% 0.096 180.426 / 0.4);
  --color-teal-200-30: oklch(91% 0.096 180.426 / 0.3);
  --color-teal-200-20: oklch(91% 0.096 180.426 / 0.2);
  --color-teal-200-10: oklch(91% 0.096 180.426 / 0.1);
  --color-teal-200-5: oklch(91% 0.096 180.426 / 0.05);
  /* --color-teal-300 */
  --color-teal-300-100: oklch(85.5% 0.138 181.071 / 1);
  --color-teal-300-90: oklch(85.5% 0.138 181.071 / 0.9);
  --color-teal-300-80: oklch(85.5% 0.138 181.071 / 0.8);
  --color-teal-300-70: oklch(85.5% 0.138 181.071 / 0.7);
  --color-teal-300-60: oklch(85.5% 0.138 181.071 / 0.6);
  --color-teal-300-50: oklch(85.5% 0.138 181.071 / 0.5);
  --color-teal-300-40: oklch(85.5% 0.138 181.071 / 0.4);
  --color-teal-300-30: oklch(85.5% 0.138 181.071 / 0.3);
  --color-teal-300-20: oklch(85.5% 0.138 181.071 / 0.2);
  --color-teal-300-10: oklch(85.5% 0.138 181.071 / 0.1);
  --color-teal-300-5: oklch(85.5% 0.138 181.071 / 0.05);
  /* --color-teal-400 */
  --color-teal-400-100: oklch(77.7% 0.152 181.912 / 1);
  --color-teal-400-90: oklch(77.7% 0.152 181.912 / 0.9);
  --color-teal-400-80: oklch(77.7% 0.152 181.912 / 0.8);
  --color-teal-400-70: oklch(77.7% 0.152 181.912 / 0.7);
  --color-teal-400-60: oklch(77.7% 0.152 181.912 / 0.6);
  --color-teal-400-50: oklch(77.7% 0.152 181.912 / 0.5);
  --color-teal-400-40: oklch(77.7% 0.152 181.912 / 0.4);
  --color-teal-400-30: oklch(77.7% 0.152 181.912 / 0.3);
  --color-teal-400-20: oklch(77.7% 0.152 181.912 / 0.2);
  --color-teal-400-10: oklch(77.7% 0.152 181.912 / 0.1);
  --color-teal-400-5: oklch(77.7% 0.152 181.912 / 0.05);
  /* --color-teal-500 */
  --color-teal-500-100: oklch(70.4% 0.14 182.503 / 1);
  --color-teal-500-90: oklch(70.4% 0.14 182.503 / 0.9);
  --color-teal-500-80: oklch(70.4% 0.14 182.503 / 0.8);
  --color-teal-500-70: oklch(70.4% 0.14 182.503 / 0.7);
  --color-teal-500-60: oklch(70.4% 0.14 182.503 / 0.6);
  --color-teal-500-50: oklch(70.4% 0.14 182.503 / 0.5);
  --color-teal-500-40: oklch(70.4% 0.14 182.503 / 0.4);
  --color-teal-500-30: oklch(70.4% 0.14 182.503 / 0.3);
  --color-teal-500-20: oklch(70.4% 0.14 182.503 / 0.2);
  --color-teal-500-10: oklch(70.4% 0.14 182.503 / 0.1);
  --color-teal-500-5: oklch(70.4% 0.14 182.503 / 0.05);
  /* --color-teal-600 */
  --color-teal-600-100: oklch(60% 0.118 184.704 / 1);
  --color-teal-600-90: oklch(60% 0.118 184.704 / 0.9);
  --color-teal-600-80: oklch(60% 0.118 184.704 / 0.8);
  --color-teal-600-70: oklch(60% 0.118 184.704 / 0.7);
  --color-teal-600-60: oklch(60% 0.118 184.704 / 0.6);
  --color-teal-600-50: oklch(60% 0.118 184.704 / 0.5);
  --color-teal-600-40: oklch(60% 0.118 184.704 / 0.4);
  --color-teal-600-30: oklch(60% 0.118 184.704 / 0.3);
  --color-teal-600-20: oklch(60% 0.118 184.704 / 0.2);
  --color-teal-600-10: oklch(60% 0.118 184.704 / 0.1);
  --color-teal-600-5: oklch(60% 0.118 184.704 / 0.05);
  /* --color-teal-700 */
  --color-teal-700-100: oklch(51.1% 0.096 186.391 / 1);
  --color-teal-700-90: oklch(51.1% 0.096 186.391 / 0.9);
  --color-teal-700-80: oklch(51.1% 0.096 186.391 / 0.8);
  --color-teal-700-70: oklch(51.1% 0.096 186.391 / 0.7);
  --color-teal-700-60: oklch(51.1% 0.096 186.391 / 0.6);
  --color-teal-700-50: oklch(51.1% 0.096 186.391 / 0.5);
  --color-teal-700-40: oklch(51.1% 0.096 186.391 / 0.4);
  --color-teal-700-30: oklch(51.1% 0.096 186.391 / 0.3);
  --color-teal-700-20: oklch(51.1% 0.096 186.391 / 0.2);
  --color-teal-700-10: oklch(51.1% 0.096 186.391 / 0.1);
  --color-teal-700-5: oklch(51.1% 0.096 186.391 / 0.05);
  /* --color-teal-800 */
  --color-teal-800-100: oklch(43.7% 0.078 188.216 / 1);
  --color-teal-800-90: oklch(43.7% 0.078 188.216 / 0.9);
  --color-teal-800-80: oklch(43.7% 0.078 188.216 / 0.8);
  --color-teal-800-70: oklch(43.7% 0.078 188.216 / 0.7);
  --color-teal-800-60: oklch(43.7% 0.078 188.216 / 0.6);
  --color-teal-800-50: oklch(43.7% 0.078 188.216 / 0.5);
  --color-teal-800-40: oklch(43.7% 0.078 188.216 / 0.4);
  --color-teal-800-30: oklch(43.7% 0.078 188.216 / 0.3);
  --color-teal-800-20: oklch(43.7% 0.078 188.216 / 0.2);
  --color-teal-800-10: oklch(43.7% 0.078 188.216 / 0.1);
  --color-teal-800-5: oklch(43.7% 0.078 188.216 / 0.05);
  /* --color-teal-900 */
  --color-teal-900-100: oklch(38.6% 0.063 188.416 / 1);
  --color-teal-900-90: oklch(38.6% 0.063 188.416 / 0.9);
  --color-teal-900-80: oklch(38.6% 0.063 188.416 / 0.8);
  --color-teal-900-70: oklch(38.6% 0.063 188.416 / 0.7);
  --color-teal-900-60: oklch(38.6% 0.063 188.416 / 0.6);
  --color-teal-900-50: oklch(38.6% 0.063 188.416 / 0.5);
  --color-teal-900-40: oklch(38.6% 0.063 188.416 / 0.4);
  --color-teal-900-30: oklch(38.6% 0.063 188.416 / 0.3);
  --color-teal-900-20: oklch(38.6% 0.063 188.416 / 0.2);
  --color-teal-900-10: oklch(38.6% 0.063 188.416 / 0.1);
  --color-teal-900-5: oklch(38.6% 0.063 188.416 / 0.05);
  /* --color-teal-950 */
  --color-teal-950-100: oklch(27.7% 0.046 192.524 / 1);
  --color-teal-950-90: oklch(27.7% 0.046 192.524 / 0.9);
  --color-teal-950-80: oklch(27.7% 0.046 192.524 / 0.8);
  --color-teal-950-70: oklch(27.7% 0.046 192.524 / 0.7);
  --color-teal-950-60: oklch(27.7% 0.046 192.524 / 0.6);
  --color-teal-950-50: oklch(27.7% 0.046 192.524 / 0.5);
  --color-teal-950-40: oklch(27.7% 0.046 192.524 / 0.4);
  --color-teal-950-30: oklch(27.7% 0.046 192.524 / 0.3);
  --color-teal-950-20: oklch(27.7% 0.046 192.524 / 0.2);
  --color-teal-950-10: oklch(27.7% 0.046 192.524 / 0.1);
  --color-teal-950-5: oklch(27.7% 0.046 192.524 / 0.05);
  /* Cyan */
  --color-cyan-50: oklch(98.4% 0.019 200.873);
  --color-cyan-100: oklch(95.6% 0.045 203.388);
  --color-cyan-200: oklch(91.7% 0.08 205.041);
  --color-cyan-300: oklch(86.5% 0.127 207.078);
  --color-cyan-400: oklch(78.9% 0.154 211.53);
  --color-cyan-500: oklch(71.5% 0.143 215.221);
  --color-cyan-600: oklch(60.9% 0.126 221.723);
  --color-cyan-700: oklch(52% 0.105 223.128);
  --color-cyan-800: oklch(45% 0.085 224.283);
  --color-cyan-900: oklch(39.8% 0.07 227.392);
  --color-cyan-950: oklch(30.2% 0.056 229.695);
  /* --color-cyan-50 */
  --color-cyan-50-100: oklch(98.4% 0.019 200.873 / 1);
  --color-cyan-50-90: oklch(98.4% 0.019 200.873 / 0.9);
  --color-cyan-50-80: oklch(98.4% 0.019 200.873 / 0.8);
  --color-cyan-50-70: oklch(98.4% 0.019 200.873 / 0.7);
  --color-cyan-50-60: oklch(98.4% 0.019 200.873 / 0.6);
  --color-cyan-50-50: oklch(98.4% 0.019 200.873 / 0.5);
  --color-cyan-50-40: oklch(98.4% 0.019 200.873 / 0.4);
  --color-cyan-50-30: oklch(98.4% 0.019 200.873 / 0.3);
  --color-cyan-50-20: oklch(98.4% 0.019 200.873 / 0.2);
  --color-cyan-50-10: oklch(98.4% 0.019 200.873 / 0.1);
  --color-cyan-50-5: oklch(98.4% 0.019 200.873 / 0.05);
  /* --color-cyan-100 */
  --color-cyan-100-100: oklch(95.6% 0.045 203.388 / 1);
  --color-cyan-100-90: oklch(95.6% 0.045 203.388 / 0.9);
  --color-cyan-100-80: oklch(95.6% 0.045 203.388 / 0.8);
  --color-cyan-100-70: oklch(95.6% 0.045 203.388 / 0.7);
  --color-cyan-100-60: oklch(95.6% 0.045 203.388 / 0.6);
  --color-cyan-100-50: oklch(95.6% 0.045 203.388 / 0.5);
  --color-cyan-100-40: oklch(95.6% 0.045 203.388 / 0.4);
  --color-cyan-100-30: oklch(95.6% 0.045 203.388 / 0.3);
  --color-cyan-100-20: oklch(95.6% 0.045 203.388 / 0.2);
  --color-cyan-100-10: oklch(95.6% 0.045 203.388 / 0.1);
  --color-cyan-100-5: oklch(95.6% 0.045 203.388 / 0.05);
  /* --color-cyan-200 */
  --color-cyan-200-100: oklch(91.7% 0.08 205.041 / 1);
  --color-cyan-200-90: oklch(91.7% 0.08 205.041 / 0.9);
  --color-cyan-200-80: oklch(91.7% 0.08 205.041 / 0.8);
  --color-cyan-200-70: oklch(91.7% 0.08 205.041 / 0.7);
  --color-cyan-200-60: oklch(91.7% 0.08 205.041 / 0.6);
  --color-cyan-200-50: oklch(91.7% 0.08 205.041 / 0.5);
  --color-cyan-200-40: oklch(91.7% 0.08 205.041 / 0.4);
  --color-cyan-200-30: oklch(91.7% 0.08 205.041 / 0.3);
  --color-cyan-200-20: oklch(91.7% 0.08 205.041 / 0.2);
  --color-cyan-200-10: oklch(91.7% 0.08 205.041 / 0.1);
  --color-cyan-200-5: oklch(91.7% 0.08 205.041 / 0.05);
  /* --color-cyan-300 */
  --color-cyan-300-100: oklch(86.5% 0.127 207.078 / 1);
  --color-cyan-300-90: oklch(86.5% 0.127 207.078 / 0.9);
  --color-cyan-300-80: oklch(86.5% 0.127 207.078 / 0.8);
  --color-cyan-300-70: oklch(86.5% 0.127 207.078 / 0.7);
  --color-cyan-300-60: oklch(86.5% 0.127 207.078 / 0.6);
  --color-cyan-300-50: oklch(86.5% 0.127 207.078 / 0.5);
  --color-cyan-300-40: oklch(86.5% 0.127 207.078 / 0.4);
  --color-cyan-300-30: oklch(86.5% 0.127 207.078 / 0.3);
  --color-cyan-300-20: oklch(86.5% 0.127 207.078 / 0.2);
  --color-cyan-300-10: oklch(86.5% 0.127 207.078 / 0.1);
  --color-cyan-300-5: oklch(86.5% 0.127 207.078 / 0.05);
  /* --color-cyan-400 */
  --color-cyan-400-100: oklch(78.9% 0.154 211.53 / 1);
  --color-cyan-400-90: oklch(78.9% 0.154 211.53 / 0.9);
  --color-cyan-400-80: oklch(78.9% 0.154 211.53 / 0.8);
  --color-cyan-400-70: oklch(78.9% 0.154 211.53 / 0.7);
  --color-cyan-400-60: oklch(78.9% 0.154 211.53 / 0.6);
  --color-cyan-400-50: oklch(78.9% 0.154 211.53 / 0.5);
  --color-cyan-400-40: oklch(78.9% 0.154 211.53 / 0.4);
  --color-cyan-400-30: oklch(78.9% 0.154 211.53 / 0.3);
  --color-cyan-400-20: oklch(78.9% 0.154 211.53 / 0.2);
  --color-cyan-400-10: oklch(78.9% 0.154 211.53 / 0.1);
  --color-cyan-400-5: oklch(78.9% 0.154 211.53 / 0.05);
  /* --color-cyan-500 */
  --color-cyan-500-100: oklch(71.5% 0.143 215.221 / 1);
  --color-cyan-500-90: oklch(71.5% 0.143 215.221 / 0.9);
  --color-cyan-500-80: oklch(71.5% 0.143 215.221 / 0.8);
  --color-cyan-500-70: oklch(71.5% 0.143 215.221 / 0.7);
  --color-cyan-500-60: oklch(71.5% 0.143 215.221 / 0.6);
  --color-cyan-500-50: oklch(71.5% 0.143 215.221 / 0.5);
  --color-cyan-500-40: oklch(71.5% 0.143 215.221 / 0.4);
  --color-cyan-500-30: oklch(71.5% 0.143 215.221 / 0.3);
  --color-cyan-500-20: oklch(71.5% 0.143 215.221 / 0.2);
  --color-cyan-500-10: oklch(71.5% 0.143 215.221 / 0.1);
  --color-cyan-500-5: oklch(71.5% 0.143 215.221 / 0.05);
  /* --color-cyan-600 */
  --color-cyan-600-100: oklch(60.9% 0.126 221.723 / 1);
  --color-cyan-600-90: oklch(60.9% 0.126 221.723 / 0.9);
  --color-cyan-600-80: oklch(60.9% 0.126 221.723 / 0.8);
  --color-cyan-600-70: oklch(60.9% 0.126 221.723 / 0.7);
  --color-cyan-600-60: oklch(60.9% 0.126 221.723 / 0.6);
  --color-cyan-600-50: oklch(60.9% 0.126 221.723 / 0.5);
  --color-cyan-600-40: oklch(60.9% 0.126 221.723 / 0.4);
  --color-cyan-600-30: oklch(60.9% 0.126 221.723 / 0.3);
  --color-cyan-600-20: oklch(60.9% 0.126 221.723 / 0.2);
  --color-cyan-600-10: oklch(60.9% 0.126 221.723 / 0.1);
  --color-cyan-600-5: oklch(60.9% 0.126 221.723 / 0.05);
  /* --color-cyan-700 */
  --color-cyan-700-100: oklch(52% 0.105 223.128 / 1);
  --color-cyan-700-90: oklch(52% 0.105 223.128 / 0.9);
  --color-cyan-700-80: oklch(52% 0.105 223.128 / 0.8);
  --color-cyan-700-70: oklch(52% 0.105 223.128 / 0.7);
  --color-cyan-700-60: oklch(52% 0.105 223.128 / 0.6);
  --color-cyan-700-50: oklch(52% 0.105 223.128 / 0.5);
  --color-cyan-700-40: oklch(52% 0.105 223.128 / 0.4);
  --color-cyan-700-30: oklch(52% 0.105 223.128 / 0.3);
  --color-cyan-700-20: oklch(52% 0.105 223.128 / 0.2);
  --color-cyan-700-10: oklch(52% 0.105 223.128 / 0.1);
  --color-cyan-700-5: oklch(52% 0.105 223.128 / 0.05);
  /* --color-cyan-800 */
  --color-cyan-800-100: oklch(45% 0.085 224.283 / 1);
  --color-cyan-800-90: oklch(45% 0.085 224.283 / 0.9);
  --color-cyan-800-80: oklch(45% 0.085 224.283 / 0.8);
  --color-cyan-800-70: oklch(45% 0.085 224.283 / 0.7);
  --color-cyan-800-60: oklch(45% 0.085 224.283 / 0.6);
  --color-cyan-800-50: oklch(45% 0.085 224.283 / 0.5);
  --color-cyan-800-40: oklch(45% 0.085 224.283 / 0.4);
  --color-cyan-800-30: oklch(45% 0.085 224.283 / 0.3);
  --color-cyan-800-20: oklch(45% 0.085 224.283 / 0.2);
  --color-cyan-800-10: oklch(45% 0.085 224.283 / 0.1);
  --color-cyan-800-5: oklch(45% 0.085 224.283 / 0.05);
  /* --color-cyan-900 */
  --color-cyan-900-100: oklch(39.8% 0.07 227.392 / 1);
  --color-cyan-900-90: oklch(39.8% 0.07 227.392 / 0.9);
  --color-cyan-900-80: oklch(39.8% 0.07 227.392 / 0.8);
  --color-cyan-900-70: oklch(39.8% 0.07 227.392 / 0.7);
  --color-cyan-900-60: oklch(39.8% 0.07 227.392 / 0.6);
  --color-cyan-900-50: oklch(39.8% 0.07 227.392 / 0.5);
  --color-cyan-900-40: oklch(39.8% 0.07 227.392 / 0.4);
  --color-cyan-900-30: oklch(39.8% 0.07 227.392 / 0.3);
  --color-cyan-900-20: oklch(39.8% 0.07 227.392 / 0.2);
  --color-cyan-900-10: oklch(39.8% 0.07 227.392 / 0.1);
  --color-cyan-900-5: oklch(39.8% 0.07 227.392 / 0.05);
  /* --color-cyan-950 */
  --color-cyan-950-100: oklch(30.2% 0.056 229.695 / 1);
  --color-cyan-950-90: oklch(30.2% 0.056 229.695 / 0.9);
  --color-cyan-950-80: oklch(30.2% 0.056 229.695 / 0.8);
  --color-cyan-950-70: oklch(30.2% 0.056 229.695 / 0.7);
  --color-cyan-950-60: oklch(30.2% 0.056 229.695 / 0.6);
  --color-cyan-950-50: oklch(30.2% 0.056 229.695 / 0.5);
  --color-cyan-950-40: oklch(30.2% 0.056 229.695 / 0.4);
  --color-cyan-950-30: oklch(30.2% 0.056 229.695 / 0.3);
  --color-cyan-950-20: oklch(30.2% 0.056 229.695 / 0.2);
  --color-cyan-950-10: oklch(30.2% 0.056 229.695 / 0.1);
  --color-cyan-950-5: oklch(30.2% 0.056 229.695 / 0.05);
  /* Mint */
  --color-mint-50: oklch(0.9809 0.0262 179.09);
  --color-mint-100: oklch(0.9568 0.0614 175.87);
  --color-mint-200: oklch(0.9275 0.1075 177.27);
  --color-mint-300: oklch(0.9035 0.1487 177.93);
  --color-mint-400: oklch(0.8862 0.17 173.1);
  --color-mint-500: oklch(0.8293 0.16085 171.9667);
  --color-mint-600: oklch(0.7146 0.136979 173.1815);
  --color-mint-700: oklch(0.6076 0.112781 176.8914);
  --color-mint-800: oklch(0.5125 0.0941 178.27);
  --color-mint-900: oklch(0.4447 0.0803 180.66);
  --color-mint-950: oklch(0.306 0.0544 183.34);
  --color-mint-50-100: oklch(0.9809 0.0262 179.09 / 1.0);
  --color-mint-50-90: oklch(0.9809 0.0262 179.09 / 0.9);
  --color-mint-50-80: oklch(0.9809 0.0262 179.09 / 0.8);
  --color-mint-50-70: oklch(0.9809 0.0262 179.09 / 0.7);
  --color-mint-50-60: oklch(0.9809 0.0262 179.09 / 0.6);
  --color-mint-50-50: oklch(0.9809 0.0262 179.09 / 0.5);
  --color-mint-50-40: oklch(0.9809 0.0262 179.09 / 0.4);
  --color-mint-50-30: oklch(0.9809 0.0262 179.09 / 0.3);
  --color-mint-50-20: oklch(0.9809 0.0262 179.09 / 0.2);
  --color-mint-50-10: oklch(0.9809 0.0262 179.09 / 0.1);
  --color-mint-50-5: oklch(0.9809 0.0262 179.09 / 0.05);
  --color-mint-100-100: oklch(0.9568 0.0614 175.87 / 1.0);
  --color-mint-100-90: oklch(0.9568 0.0614 175.87 / 0.9);
  --color-mint-100-80: oklch(0.9568 0.0614 175.87 / 0.8);
  --color-mint-100-70: oklch(0.9568 0.0614 175.87 / 0.7);
  --color-mint-100-60: oklch(0.9568 0.0614 175.87 / 0.6);
  --color-mint-100-50: oklch(0.9568 0.0614 175.87 / 0.5);
  --color-mint-100-40: oklch(0.9568 0.0614 175.87 / 0.4);
  --color-mint-100-30: oklch(0.9568 0.0614 175.87 / 0.3);
  --color-mint-100-20: oklch(0.9568 0.0614 175.87 / 0.2);
  --color-mint-100-10: oklch(0.9568 0.0614 175.87 / 0.1);
  --color-mint-100-5: oklch(0.9568 0.0614 175.87 / 0.05);
  --color-mint-200-100: oklch(0.9275 0.1075 177.27 / 1.0);
  --color-mint-200-90: oklch(0.9275 0.1075 177.27 / 0.9);
  --color-mint-200-80: oklch(0.9275 0.1075 177.27 / 0.8);
  --color-mint-200-70: oklch(0.9275 0.1075 177.27 / 0.7);
  --color-mint-200-60: oklch(0.9275 0.1075 177.27 / 0.6);
  --color-mint-200-50: oklch(0.9275 0.1075 177.27 / 0.5);
  --color-mint-200-40: oklch(0.9275 0.1075 177.27 / 0.4);
  --color-mint-200-30: oklch(0.9275 0.1075 177.27 / 0.3);
  --color-mint-200-20: oklch(0.9275 0.1075 177.27 / 0.2);
  --color-mint-200-10: oklch(0.9275 0.1075 177.27 / 0.1);
  --color-mint-200-5: oklch(0.9275 0.1075 177.27 / 0.05);
  --color-mint-300-100: oklch(0.9035 0.1487 177.93 / 1.0);
  --color-mint-300-90: oklch(0.9035 0.1487 177.93 / 0.9);
  --color-mint-300-80: oklch(0.9035 0.1487 177.93 / 0.8);
  --color-mint-300-70: oklch(0.9035 0.1487 177.93 / 0.7);
  --color-mint-300-60: oklch(0.9035 0.1487 177.93 / 0.6);
  --color-mint-300-50: oklch(0.9035 0.1487 177.93 / 0.5);
  --color-mint-300-40: oklch(0.9035 0.1487 177.93 / 0.4);
  --color-mint-300-30: oklch(0.9035 0.1487 177.93 / 0.3);
  --color-mint-300-20: oklch(0.9035 0.1487 177.93 / 0.2);
  --color-mint-300-10: oklch(0.9035 0.1487 177.93 / 0.1);
  --color-mint-300-5: oklch(0.9035 0.1487 177.93 / 0.05);
  --color-mint-400-100: oklch(0.8862 0.17 173.1 / 1.0);
  --color-mint-400-90: oklch(0.8862 0.17 173.1 / 0.9);
  --color-mint-400-80: oklch(0.8862 0.17 173.1 / 0.8);
  --color-mint-400-70: oklch(0.8862 0.17 173.1 / 0.7);
  --color-mint-400-60: oklch(0.8862 0.17 173.1 / 0.6);
  --color-mint-400-50: oklch(0.8862 0.17 173.1 / 0.5);
  --color-mint-400-40: oklch(0.8862 0.17 173.1 / 0.4);
  --color-mint-400-30: oklch(0.8862 0.17 173.1 / 0.3);
  --color-mint-400-20: oklch(0.8862 0.17 173.1 / 0.2);
  --color-mint-400-10: oklch(0.8862 0.17 173.1 / 0.1);
  --color-mint-400-5: oklch(0.8862 0.17 173.1 / 0.05);
  --color-mint-500-100: oklch(0.8293 0.16085 171.9667 / 1.0);
  --color-mint-500-90: oklch(0.8293 0.16085 171.9667 / 0.9);
  --color-mint-500-80: oklch(0.8293 0.16085 171.9667 / 0.8);
  --color-mint-500-70: oklch(0.8293 0.16085 171.9667 / 0.7);
  --color-mint-500-60: oklch(0.8293 0.16085 171.9667 / 0.6);
  --color-mint-500-50: oklch(0.8293 0.16085 171.9667 / 0.5);
  --color-mint-500-40: oklch(0.8293 0.16085 171.9667 / 0.4);
  --color-mint-500-30: oklch(0.8293 0.16085 171.9667 / 0.3);
  --color-mint-500-20: oklch(0.8293 0.16085 171.9667 / 0.2);
  --color-mint-500-10: oklch(0.8293 0.16085 171.9667 / 0.1);
  --color-mint-500-5: oklch(0.8293 0.16085 171.9667 / 0.05);
  --color-mint-600-100: oklch(0.7146 0.136979 173.1815 / 1.0);
  --color-mint-600-90: oklch(0.7146 0.136979 173.1815 / 0.9);
  --color-mint-600-80: oklch(0.7146 0.136979 173.1815 / 0.8);
  --color-mint-600-70: oklch(0.7146 0.136979 173.1815 / 0.7);
  --color-mint-600-60: oklch(0.7146 0.136979 173.1815 / 0.6);
  --color-mint-600-50: oklch(0.7146 0.136979 173.1815 / 0.5);
  --color-mint-600-40: oklch(0.7146 0.136979 173.1815 / 0.4);
  --color-mint-600-30: oklch(0.7146 0.136979 173.1815 / 0.3);
  --color-mint-600-20: oklch(0.7146 0.136979 173.1815 / 0.2);
  --color-mint-600-10: oklch(0.7146 0.136979 173.1815 / 0.1);
  --color-mint-600-5: oklch(0.7146 0.136979 173.1815 / 0.05);
  --color-mint-700-100: oklch(0.6076 0.112781 176.8914 / 1.0);
  --color-mint-700-90: oklch(0.6076 0.112781 176.8914 / 0.9);
  --color-mint-700-80: oklch(0.6076 0.112781 176.8914 / 0.8);
  --color-mint-700-70: oklch(0.6076 0.112781 176.8914 / 0.7);
  --color-mint-700-60: oklch(0.6076 0.112781 176.8914 / 0.6);
  --color-mint-700-50: oklch(0.6076 0.112781 176.8914 / 0.5);
  --color-mint-700-40: oklch(0.6076 0.112781 176.8914 / 0.4);
  --color-mint-700-30: oklch(0.6076 0.112781 176.8914 / 0.3);
  --color-mint-700-20: oklch(0.6076 0.112781 176.8914 / 0.2);
  --color-mint-700-10: oklch(0.6076 0.112781 176.8914 / 0.1);
  --color-mint-700-5: oklch(0.6076 0.112781 176.8914 / 0.05);
  --color-mint-800-100: oklch(0.5125 0.0941 178.27 / 1.0);
  --color-mint-800-90: oklch(0.5125 0.0941 178.27 / 0.9);
  --color-mint-800-80: oklch(0.5125 0.0941 178.27 / 0.8);
  --color-mint-800-70: oklch(0.5125 0.0941 178.27 / 0.7);
  --color-mint-800-60: oklch(0.5125 0.0941 178.27 / 0.6);
  --color-mint-800-50: oklch(0.5125 0.0941 178.27 / 0.5);
  --color-mint-800-40: oklch(0.5125 0.0941 178.27 / 0.4);
  --color-mint-800-30: oklch(0.5125 0.0941 178.27 / 0.3);
  --color-mint-800-20: oklch(0.5125 0.0941 178.27 / 0.2);
  --color-mint-800-10: oklch(0.5125 0.0941 178.27 / 0.1);
  --color-mint-800-5: oklch(0.5125 0.0941 178.27 / 0.05);
  --color-mint-900-100: oklch(0.4447 0.0803 180.66 / 1.0);
  --color-mint-900-90: oklch(0.4447 0.0803 180.66 / 0.9);
  --color-mint-900-80: oklch(0.4447 0.0803 180.66 / 0.8);
  --color-mint-900-70: oklch(0.4447 0.0803 180.66 / 0.7);
  --color-mint-900-60: oklch(0.4447 0.0803 180.66 / 0.6);
  --color-mint-900-50: oklch(0.4447 0.0803 180.66 / 0.5);
  --color-mint-900-40: oklch(0.4447 0.0803 180.66 / 0.4);
  --color-mint-900-30: oklch(0.4447 0.0803 180.66 / 0.3);
  --color-mint-900-20: oklch(0.4447 0.0803 180.66 / 0.2);
  --color-mint-900-10: oklch(0.4447 0.0803 180.66 / 0.1);
  --color-mint-900-5: oklch(0.4447 0.0803 180.66 / 0.05);
  --color-mint-950-100: oklch(0.306 0.0544 183.34 / 1.0);
  --color-mint-950-90: oklch(0.306 0.0544 183.34 / 0.9);
  --color-mint-950-80: oklch(0.306 0.0544 183.34 / 0.8);
  --color-mint-950-70: oklch(0.306 0.0544 183.34 / 0.7);
  --color-mint-950-60: oklch(0.306 0.0544 183.34 / 0.6);
  --color-mint-950-50: oklch(0.306 0.0544 183.34 / 0.5);
  --color-mint-950-40: oklch(0.306 0.0544 183.34 / 0.4);
  --color-mint-950-30: oklch(0.306 0.0544 183.34 / 0.3);
  --color-mint-950-20: oklch(0.306 0.0544 183.34 / 0.2);
  --color-mint-950-10: oklch(0.306 0.0544 183.34 / 0.1);
  --color-mint-950-5: oklch(0.306 0.0544 183.34 / 0.05);
  /* Sky */
  --color-sky-50: oklch(97.7% 0.013 236.62);
  --color-sky-100: oklch(95.1% 0.026 236.824);
  --color-sky-200: oklch(90.1% 0.058 230.902);
  --color-sky-300: oklch(82.8% 0.111 230.318);
  --color-sky-400: oklch(74.6% 0.16 232.661);
  --color-sky-500: oklch(68.5% 0.169 237.323);
  --color-sky-600: oklch(58.8% 0.158 241.966);
  --color-sky-700: oklch(50% 0.134 242.749);
  --color-sky-800: oklch(44.3% 0.11 240.79);
  --color-sky-900: oklch(39.1% 0.09 240.876);
  --color-sky-950: oklch(29.3% 0.066 243.157);
  /* --color-sky-50 */
  --color-sky-50-100: oklch(97.7% 0.013 236.62 / 1);
  --color-sky-50-90: oklch(97.7% 0.013 236.62 / 0.9);
  --color-sky-50-80: oklch(97.7% 0.013 236.62 / 0.8);
  --color-sky-50-70: oklch(97.7% 0.013 236.62 / 0.7);
  --color-sky-50-60: oklch(97.7% 0.013 236.62 / 0.6);
  --color-sky-50-50: oklch(97.7% 0.013 236.62 / 0.5);
  --color-sky-50-40: oklch(97.7% 0.013 236.62 / 0.4);
  --color-sky-50-30: oklch(97.7% 0.013 236.62 / 0.3);
  --color-sky-50-20: oklch(97.7% 0.013 236.62 / 0.2);
  --color-sky-50-10: oklch(97.7% 0.013 236.62 / 0.1);
  --color-sky-50-5: oklch(97.7% 0.013 236.62 / 0.05);
  /* --color-sky-100 */
  --color-sky-100-100: oklch(95.1% 0.026 236.824 / 1);
  --color-sky-100-90: oklch(95.1% 0.026 236.824 / 0.9);
  --color-sky-100-80: oklch(95.1% 0.026 236.824 / 0.8);
  --color-sky-100-70: oklch(95.1% 0.026 236.824 / 0.7);
  --color-sky-100-60: oklch(95.1% 0.026 236.824 / 0.6);
  --color-sky-100-50: oklch(95.1% 0.026 236.824 / 0.5);
  --color-sky-100-40: oklch(95.1% 0.026 236.824 / 0.4);
  --color-sky-100-30: oklch(95.1% 0.026 236.824 / 0.3);
  --color-sky-100-20: oklch(95.1% 0.026 236.824 / 0.2);
  --color-sky-100-10: oklch(95.1% 0.026 236.824 / 0.1);
  --color-sky-100-5: oklch(95.1% 0.026 236.824 / 0.05);
  /* --color-sky-200 */
  --color-sky-200-100: oklch(90.1% 0.058 230.902 / 1);
  --color-sky-200-90: oklch(90.1% 0.058 230.902 / 0.9);
  --color-sky-200-80: oklch(90.1% 0.058 230.902 / 0.8);
  --color-sky-200-70: oklch(90.1% 0.058 230.902 / 0.7);
  --color-sky-200-60: oklch(90.1% 0.058 230.902 / 0.6);
  --color-sky-200-50: oklch(90.1% 0.058 230.902 / 0.5);
  --color-sky-200-40: oklch(90.1% 0.058 230.902 / 0.4);
  --color-sky-200-30: oklch(90.1% 0.058 230.902 / 0.3);
  --color-sky-200-20: oklch(90.1% 0.058 230.902 / 0.2);
  --color-sky-200-10: oklch(90.1% 0.058 230.902 / 0.1);
  --color-sky-200-5: oklch(90.1% 0.058 230.902 / 0.05);
  /* --color-sky-300 */
  --color-sky-300-100: oklch(82.8% 0.111 230.318 / 1);
  --color-sky-300-90: oklch(82.8% 0.111 230.318 / 0.9);
  --color-sky-300-80: oklch(82.8% 0.111 230.318 / 0.8);
  --color-sky-300-70: oklch(82.8% 0.111 230.318 / 0.7);
  --color-sky-300-60: oklch(82.8% 0.111 230.318 / 0.6);
  --color-sky-300-50: oklch(82.8% 0.111 230.318 / 0.5);
  --color-sky-300-40: oklch(82.8% 0.111 230.318 / 0.4);
  --color-sky-300-30: oklch(82.8% 0.111 230.318 / 0.3);
  --color-sky-300-20: oklch(82.8% 0.111 230.318 / 0.2);
  --color-sky-300-10: oklch(82.8% 0.111 230.318 / 0.1);
  --color-sky-300-5: oklch(82.8% 0.111 230.318 / 0.05);
  /* --color-sky-400 */
  --color-sky-400-100: oklch(74.6% 0.16 232.661 / 1);
  --color-sky-400-90: oklch(74.6% 0.16 232.661 / 0.9);
  --color-sky-400-80: oklch(74.6% 0.16 232.661 / 0.8);
  --color-sky-400-70: oklch(74.6% 0.16 232.661 / 0.7);
  --color-sky-400-60: oklch(74.6% 0.16 232.661 / 0.6);
  --color-sky-400-50: oklch(74.6% 0.16 232.661 / 0.5);
  --color-sky-400-40: oklch(74.6% 0.16 232.661 / 0.4);
  --color-sky-400-30: oklch(74.6% 0.16 232.661 / 0.3);
  --color-sky-400-20: oklch(74.6% 0.16 232.661 / 0.2);
  --color-sky-400-10: oklch(74.6% 0.16 232.661 / 0.1);
  --color-sky-400-5: oklch(74.6% 0.16 232.661 / 0.05);
  /* --color-sky-500 */
  --color-sky-500-100: oklch(68.5% 0.169 237.323 / 1);
  --color-sky-500-90: oklch(68.5% 0.169 237.323 / 0.9);
  --color-sky-500-80: oklch(68.5% 0.169 237.323 / 0.8);
  --color-sky-500-70: oklch(68.5% 0.169 237.323 / 0.7);
  --color-sky-500-60: oklch(68.5% 0.169 237.323 / 0.6);
  --color-sky-500-50: oklch(68.5% 0.169 237.323 / 0.5);
  --color-sky-500-40: oklch(68.5% 0.169 237.323 / 0.4);
  --color-sky-500-30: oklch(68.5% 0.169 237.323 / 0.3);
  --color-sky-500-20: oklch(68.5% 0.169 237.323 / 0.2);
  --color-sky-500-10: oklch(68.5% 0.169 237.323 / 0.1);
  --color-sky-500-5: oklch(68.5% 0.169 237.323 / 0.05);
  /* --color-sky-600 */
  --color-sky-600-100: oklch(58.8% 0.158 241.966 / 1);
  --color-sky-600-90: oklch(58.8% 0.158 241.966 / 0.9);
  --color-sky-600-80: oklch(58.8% 0.158 241.966 / 0.8);
  --color-sky-600-70: oklch(58.8% 0.158 241.966 / 0.7);
  --color-sky-600-60: oklch(58.8% 0.158 241.966 / 0.6);
  --color-sky-600-50: oklch(58.8% 0.158 241.966 / 0.5);
  --color-sky-600-40: oklch(58.8% 0.158 241.966 / 0.4);
  --color-sky-600-30: oklch(58.8% 0.158 241.966 / 0.3);
  --color-sky-600-20: oklch(58.8% 0.158 241.966 / 0.2);
  --color-sky-600-10: oklch(58.8% 0.158 241.966 / 0.1);
  --color-sky-600-5: oklch(58.8% 0.158 241.966 / 0.05);
  /* --color-sky-700 */
  --color-sky-700-100: oklch(50% 0.134 242.749 / 1);
  --color-sky-700-90: oklch(50% 0.134 242.749 / 0.9);
  --color-sky-700-80: oklch(50% 0.134 242.749 / 0.8);
  --color-sky-700-70: oklch(50% 0.134 242.749 / 0.7);
  --color-sky-700-60: oklch(50% 0.134 242.749 / 0.6);
  --color-sky-700-50: oklch(50% 0.134 242.749 / 0.5);
  --color-sky-700-40: oklch(50% 0.134 242.749 / 0.4);
  --color-sky-700-30: oklch(50% 0.134 242.749 / 0.3);
  --color-sky-700-20: oklch(50% 0.134 242.749 / 0.2);
  --color-sky-700-10: oklch(50% 0.134 242.749 / 0.1);
  --color-sky-700-5: oklch(50% 0.134 242.749 / 0.05);
  /* --color-sky-800 */
  --color-sky-800-100: oklch(44.3% 0.11 240.79 / 1);
  --color-sky-800-90: oklch(44.3% 0.11 240.79 / 0.9);
  --color-sky-800-80: oklch(44.3% 0.11 240.79 / 0.8);
  --color-sky-800-70: oklch(44.3% 0.11 240.79 / 0.7);
  --color-sky-800-60: oklch(44.3% 0.11 240.79 / 0.6);
  --color-sky-800-50: oklch(44.3% 0.11 240.79 / 0.5);
  --color-sky-800-40: oklch(44.3% 0.11 240.79 / 0.4);
  --color-sky-800-30: oklch(44.3% 0.11 240.79 / 0.3);
  --color-sky-800-20: oklch(44.3% 0.11 240.79 / 0.2);
  --color-sky-800-10: oklch(44.3% 0.11 240.79 / 0.1);
  --color-sky-800-5: oklch(44.3% 0.11 240.79 / 0.05);
  /* --color-sky-900 */
  --color-sky-900-100: oklch(39.1% 0.09 240.876 / 1);
  --color-sky-900-90: oklch(39.1% 0.09 240.876 / 0.9);
  --color-sky-900-80: oklch(39.1% 0.09 240.876 / 0.8);
  --color-sky-900-70: oklch(39.1% 0.09 240.876 / 0.7);
  --color-sky-900-60: oklch(39.1% 0.09 240.876 / 0.6);
  --color-sky-900-50: oklch(39.1% 0.09 240.876 / 0.5);
  --color-sky-900-40: oklch(39.1% 0.09 240.876 / 0.4);
  --color-sky-900-30: oklch(39.1% 0.09 240.876 / 0.3);
  --color-sky-900-20: oklch(39.1% 0.09 240.876 / 0.2);
  --color-sky-900-10: oklch(39.1% 0.09 240.876 / 0.1);
  --color-sky-900-5: oklch(39.1% 0.09 240.876 / 0.05);
  /* --color-sky-950 */
  --color-sky-950-100: oklch(29.3% 0.066 243.157 / 1);
  --color-sky-950-90: oklch(29.3% 0.066 243.157 / 0.9);
  --color-sky-950-80: oklch(29.3% 0.066 243.157 / 0.8);
  --color-sky-950-70: oklch(29.3% 0.066 243.157 / 0.7);
  --color-sky-950-60: oklch(29.3% 0.066 243.157 / 0.6);
  --color-sky-950-50: oklch(29.3% 0.066 243.157 / 0.5);
  --color-sky-950-40: oklch(29.3% 0.066 243.157 / 0.4);
  --color-sky-950-30: oklch(29.3% 0.066 243.157 / 0.3);
  --color-sky-950-20: oklch(29.3% 0.066 243.157 / 0.2);
  --color-sky-950-10: oklch(29.3% 0.066 243.157 / 0.1);
  --color-sky-950-5: oklch(29.3% 0.066 243.157 / 0.05);
  /* Blue */
  --color-blue-50: oklch(97% 0.014 254.604);
  --color-blue-100: oklch(93.2% 0.032 255.585);
  --color-blue-200: oklch(88.2% 0.059 254.128);
  --color-blue-300: oklch(80.9% 0.105 251.813);
  --color-blue-400: oklch(70.7% 0.165 254.624);
  --color-blue-500: oklch(62.3% 0.214 259.815);
  --color-blue-600: oklch(54.6% 0.245 262.881);
  --color-blue-700: oklch(48.8% 0.243 264.376);
  --color-blue-800: oklch(42.4% 0.199 265.638);
  --color-blue-900: oklch(37.9% 0.146 265.522);
  --color-blue-950: oklch(28.2% 0.091 267.935);
  /* --color-blue-50 */
  --color-blue-50-100: oklch(97% 0.014 254.604 / 1);
  --color-blue-50-90: oklch(97% 0.014 254.604 / 0.9);
  --color-blue-50-80: oklch(97% 0.014 254.604 / 0.8);
  --color-blue-50-70: oklch(97% 0.014 254.604 / 0.7);
  --color-blue-50-60: oklch(97% 0.014 254.604 / 0.6);
  --color-blue-50-50: oklch(97% 0.014 254.604 / 0.5);
  --color-blue-50-40: oklch(97% 0.014 254.604 / 0.4);
  --color-blue-50-30: oklch(97% 0.014 254.604 / 0.3);
  --color-blue-50-20: oklch(97% 0.014 254.604 / 0.2);
  --color-blue-50-10: oklch(97% 0.014 254.604 / 0.1);
  --color-blue-50-5: oklch(97% 0.014 254.604 / 0.05);
  /* --color-blue-100 */
  --color-blue-100-100: oklch(93.2% 0.032 255.585 / 1);
  --color-blue-100-90: oklch(93.2% 0.032 255.585 / 0.9);
  --color-blue-100-80: oklch(93.2% 0.032 255.585 / 0.8);
  --color-blue-100-70: oklch(93.2% 0.032 255.585 / 0.7);
  --color-blue-100-60: oklch(93.2% 0.032 255.585 / 0.6);
  --color-blue-100-50: oklch(93.2% 0.032 255.585 / 0.5);
  --color-blue-100-40: oklch(93.2% 0.032 255.585 / 0.4);
  --color-blue-100-30: oklch(93.2% 0.032 255.585 / 0.3);
  --color-blue-100-20: oklch(93.2% 0.032 255.585 / 0.2);
  --color-blue-100-10: oklch(93.2% 0.032 255.585 / 0.1);
  --color-blue-100-5: oklch(93.2% 0.032 255.585 / 0.05);
  /* --color-blue-200 */
  --color-blue-200-100: oklch(88.2% 0.059 254.128 / 1);
  --color-blue-200-90: oklch(88.2% 0.059 254.128 / 0.9);
  --color-blue-200-80: oklch(88.2% 0.059 254.128 / 0.8);
  --color-blue-200-70: oklch(88.2% 0.059 254.128 / 0.7);
  --color-blue-200-60: oklch(88.2% 0.059 254.128 / 0.6);
  --color-blue-200-50: oklch(88.2% 0.059 254.128 / 0.5);
  --color-blue-200-40: oklch(88.2% 0.059 254.128 / 0.4);
  --color-blue-200-30: oklch(88.2% 0.059 254.128 / 0.3);
  --color-blue-200-20: oklch(88.2% 0.059 254.128 / 0.2);
  --color-blue-200-10: oklch(88.2% 0.059 254.128 / 0.1);
  --color-blue-200-5: oklch(88.2% 0.059 254.128 / 0.05);
  /* --color-blue-300 */
  --color-blue-300-100: oklch(80.9% 0.105 251.813 / 1);
  --color-blue-300-90: oklch(80.9% 0.105 251.813 / 0.9);
  --color-blue-300-80: oklch(80.9% 0.105 251.813 / 0.8);
  --color-blue-300-70: oklch(80.9% 0.105 251.813 / 0.7);
  --color-blue-300-60: oklch(80.9% 0.105 251.813 / 0.6);
  --color-blue-300-50: oklch(80.9% 0.105 251.813 / 0.5);
  --color-blue-300-40: oklch(80.9% 0.105 251.813 / 0.4);
  --color-blue-300-30: oklch(80.9% 0.105 251.813 / 0.3);
  --color-blue-300-20: oklch(80.9% 0.105 251.813 / 0.2);
  --color-blue-300-10: oklch(80.9% 0.105 251.813 / 0.1);
  --color-blue-300-5: oklch(80.9% 0.105 251.813 / 0.05);
  /* --color-blue-400 */
  --color-blue-400-100: oklch(70.7% 0.165 254.624 / 1);
  --color-blue-400-90: oklch(70.7% 0.165 254.624 / 0.9);
  --color-blue-400-80: oklch(70.7% 0.165 254.624 / 0.8);
  --color-blue-400-70: oklch(70.7% 0.165 254.624 / 0.7);
  --color-blue-400-60: oklch(70.7% 0.165 254.624 / 0.6);
  --color-blue-400-50: oklch(70.7% 0.165 254.624 / 0.5);
  --color-blue-400-40: oklch(70.7% 0.165 254.624 / 0.4);
  --color-blue-400-30: oklch(70.7% 0.165 254.624 / 0.3);
  --color-blue-400-20: oklch(70.7% 0.165 254.624 / 0.2);
  --color-blue-400-10: oklch(70.7% 0.165 254.624 / 0.1);
  --color-blue-400-5: oklch(70.7% 0.165 254.624 / 0.05);
  /* --color-blue-500 */
  --color-blue-500-100: oklch(62.3% 0.214 259.815 / 1);
  --color-blue-500-90: oklch(62.3% 0.214 259.815 / 0.9);
  --color-blue-500-80: oklch(62.3% 0.214 259.815 / 0.8);
  --color-blue-500-70: oklch(62.3% 0.214 259.815 / 0.7);
  --color-blue-500-60: oklch(62.3% 0.214 259.815 / 0.6);
  --color-blue-500-50: oklch(62.3% 0.214 259.815 / 0.5);
  --color-blue-500-40: oklch(62.3% 0.214 259.815 / 0.4);
  --color-blue-500-30: oklch(62.3% 0.214 259.815 / 0.3);
  --color-blue-500-20: oklch(62.3% 0.214 259.815 / 0.2);
  --color-blue-500-10: oklch(62.3% 0.214 259.815 / 0.1);
  --color-blue-500-5: oklch(62.3% 0.214 259.815 / 0.05);
  /* --color-blue-600 */
  --color-blue-600-100: oklch(54.6% 0.245 262.881 / 1);
  --color-blue-600-90: oklch(54.6% 0.245 262.881 / 0.9);
  --color-blue-600-80: oklch(54.6% 0.245 262.881 / 0.8);
  --color-blue-600-70: oklch(54.6% 0.245 262.881 / 0.7);
  --color-blue-600-60: oklch(54.6% 0.245 262.881 / 0.6);
  --color-blue-600-50: oklch(54.6% 0.245 262.881 / 0.5);
  --color-blue-600-40: oklch(54.6% 0.245 262.881 / 0.4);
  --color-blue-600-30: oklch(54.6% 0.245 262.881 / 0.3);
  --color-blue-600-20: oklch(54.6% 0.245 262.881 / 0.2);
  --color-blue-600-10: oklch(54.6% 0.245 262.881 / 0.1);
  --color-blue-600-5: oklch(54.6% 0.245 262.881 / 0.05);
  /* --color-blue-700 */
  --color-blue-700-100: oklch(48.8% 0.243 264.376 / 1);
  --color-blue-700-90: oklch(48.8% 0.243 264.376 / 0.9);
  --color-blue-700-80: oklch(48.8% 0.243 264.376 / 0.8);
  --color-blue-700-70: oklch(48.8% 0.243 264.376 / 0.7);
  --color-blue-700-60: oklch(48.8% 0.243 264.376 / 0.6);
  --color-blue-700-50: oklch(48.8% 0.243 264.376 / 0.5);
  --color-blue-700-40: oklch(48.8% 0.243 264.376 / 0.4);
  --color-blue-700-30: oklch(48.8% 0.243 264.376 / 0.3);
  --color-blue-700-20: oklch(48.8% 0.243 264.376 / 0.2);
  --color-blue-700-10: oklch(48.8% 0.243 264.376 / 0.1);
  --color-blue-700-5: oklch(48.8% 0.243 264.376 / 0.05);
  /* --color-blue-800 */
  --color-blue-800-100: oklch(42.4% 0.199 265.638 / 1);
  --color-blue-800-90: oklch(42.4% 0.199 265.638 / 0.9);
  --color-blue-800-80: oklch(42.4% 0.199 265.638 / 0.8);
  --color-blue-800-70: oklch(42.4% 0.199 265.638 / 0.7);
  --color-blue-800-60: oklch(42.4% 0.199 265.638 / 0.6);
  --color-blue-800-50: oklch(42.4% 0.199 265.638 / 0.5);
  --color-blue-800-40: oklch(42.4% 0.199 265.638 / 0.4);
  --color-blue-800-30: oklch(42.4% 0.199 265.638 / 0.3);
  --color-blue-800-20: oklch(42.4% 0.199 265.638 / 0.2);
  --color-blue-800-10: oklch(42.4% 0.199 265.638 / 0.1);
  --color-blue-800-5: oklch(42.4% 0.199 265.638 / 0.05);
  /* --color-blue-900 */
  --color-blue-900-100: oklch(37.9% 0.146 265.522 / 1);
  --color-blue-900-90: oklch(37.9% 0.146 265.522 / 0.9);
  --color-blue-900-80: oklch(37.9% 0.146 265.522 / 0.8);
  --color-blue-900-70: oklch(37.9% 0.146 265.522 / 0.7);
  --color-blue-900-60: oklch(37.9% 0.146 265.522 / 0.6);
  --color-blue-900-50: oklch(37.9% 0.146 265.522 / 0.5);
  --color-blue-900-40: oklch(37.9% 0.146 265.522 / 0.4);
  --color-blue-900-30: oklch(37.9% 0.146 265.522 / 0.3);
  --color-blue-900-20: oklch(37.9% 0.146 265.522 / 0.2);
  --color-blue-900-10: oklch(37.9% 0.146 265.522 / 0.1);
  --color-blue-900-5: oklch(37.9% 0.146 265.522 / 0.05);
  /* --color-blue-950 */
  --color-blue-950-100: oklch(28.2% 0.091 267.935 / 1);
  --color-blue-950-90: oklch(28.2% 0.091 267.935 / 0.9);
  --color-blue-950-80: oklch(28.2% 0.091 267.935 / 0.8);
  --color-blue-950-70: oklch(28.2% 0.091 267.935 / 0.7);
  --color-blue-950-60: oklch(28.2% 0.091 267.935 / 0.6);
  --color-blue-950-50: oklch(28.2% 0.091 267.935 / 0.5);
  --color-blue-950-40: oklch(28.2% 0.091 267.935 / 0.4);
  --color-blue-950-30: oklch(28.2% 0.091 267.935 / 0.3);
  --color-blue-950-20: oklch(28.2% 0.091 267.935 / 0.2);
  --color-blue-950-10: oklch(28.2% 0.091 267.935 / 0.1);
  --color-blue-950-5: oklch(28.2% 0.091 267.935 / 0.05);
  /* Indigo */
  --color-indigo-50: oklch(96.2% 0.018 272.314);
  --color-indigo-100: oklch(93% 0.034 272.788);
  --color-indigo-200: oklch(78.5% 0.115 274.713);
  --color-indigo-300: oklch(78.5% 0.115 274.713);
  --color-indigo-400: oklch(67.3% 0.182 276.935);
  --color-indigo-500: oklch(58.5% 0.233 277.117);
  --color-indigo-600: oklch(51.1% 0.262 276.966);
  --color-indigo-700: oklch(45.7% 0.24 277.023);
  --color-indigo-800: oklch(39.8% 0.195 277.366);
  --color-indigo-900: oklch(35.9% 0.144 278.697);
  --color-indigo-950: oklch(25.7% 0.09 281.288);
  /* --color-indigo-50 */
  --color-indigo-50-100: oklch(96.2% 0.018 272.314 / 1);
  --color-indigo-50-90: oklch(96.2% 0.018 272.314 / 0.9);
  --color-indigo-50-80: oklch(96.2% 0.018 272.314 / 0.8);
  --color-indigo-50-70: oklch(96.2% 0.018 272.314 / 0.7);
  --color-indigo-50-60: oklch(96.2% 0.018 272.314 / 0.6);
  --color-indigo-50-50: oklch(96.2% 0.018 272.314 / 0.5);
  --color-indigo-50-40: oklch(96.2% 0.018 272.314 / 0.4);
  --color-indigo-50-30: oklch(96.2% 0.018 272.314 / 0.3);
  --color-indigo-50-20: oklch(96.2% 0.018 272.314 / 0.2);
  --color-indigo-50-10: oklch(96.2% 0.018 272.314 / 0.1);
  --color-indigo-50-5: oklch(96.2% 0.018 272.314 / 0.05);
  /* --color-indigo-100 */
  --color-indigo-100-100: oklch(93% 0.034 272.788 / 1);
  --color-indigo-100-90: oklch(93% 0.034 272.788 / 0.9);
  --color-indigo-100-80: oklch(93% 0.034 272.788 / 0.8);
  --color-indigo-100-70: oklch(93% 0.034 272.788 / 0.7);
  --color-indigo-100-60: oklch(93% 0.034 272.788 / 0.6);
  --color-indigo-100-50: oklch(93% 0.034 272.788 / 0.5);
  --color-indigo-100-40: oklch(93% 0.034 272.788 / 0.4);
  --color-indigo-100-30: oklch(93% 0.034 272.788 / 0.3);
  --color-indigo-100-20: oklch(93% 0.034 272.788 / 0.2);
  --color-indigo-100-10: oklch(93% 0.034 272.788 / 0.1);
  --color-indigo-100-5: oklch(93% 0.034 272.788 / 0.05);
  /* --color-indigo-200 */
  --color-indigo-200-100: oklch(78.5% 0.115 274.713 / 1);
  --color-indigo-200-90: oklch(78.5% 0.115 274.713 / 0.9);
  --color-indigo-200-80: oklch(78.5% 0.115 274.713 / 0.8);
  --color-indigo-200-70: oklch(78.5% 0.115 274.713 / 0.7);
  --color-indigo-200-60: oklch(78.5% 0.115 274.713 / 0.6);
  --color-indigo-200-50: oklch(78.5% 0.115 274.713 / 0.5);
  --color-indigo-200-40: oklch(78.5% 0.115 274.713 / 0.4);
  --color-indigo-200-30: oklch(78.5% 0.115 274.713 / 0.3);
  --color-indigo-200-20: oklch(78.5% 0.115 274.713 / 0.2);
  --color-indigo-200-10: oklch(78.5% 0.115 274.713 / 0.1);
  --color-indigo-200-5: oklch(78.5% 0.115 274.713 / 0.05);
  /* --color-indigo-300 */
  --color-indigo-300-100: oklch(78.5% 0.115 274.713 / 1);
  --color-indigo-300-90: oklch(78.5% 0.115 274.713 / 0.9);
  --color-indigo-300-80: oklch(78.5% 0.115 274.713 / 0.8);
  --color-indigo-300-70: oklch(78.5% 0.115 274.713 / 0.7);
  --color-indigo-300-60: oklch(78.5% 0.115 274.713 / 0.6);
  --color-indigo-300-50: oklch(78.5% 0.115 274.713 / 0.5);
  --color-indigo-300-40: oklch(78.5% 0.115 274.713 / 0.4);
  --color-indigo-300-30: oklch(78.5% 0.115 274.713 / 0.3);
  --color-indigo-300-20: oklch(78.5% 0.115 274.713 / 0.2);
  --color-indigo-300-10: oklch(78.5% 0.115 274.713 / 0.1);
  --color-indigo-300-5: oklch(78.5% 0.115 274.713 / 0.05);
  /* --color-indigo-400 */
  --color-indigo-400-100: oklch(67.3% 0.182 276.935 / 1);
  --color-indigo-400-90: oklch(67.3% 0.182 276.935 / 0.9);
  --color-indigo-400-80: oklch(67.3% 0.182 276.935 / 0.8);
  --color-indigo-400-70: oklch(67.3% 0.182 276.935 / 0.7);
  --color-indigo-400-60: oklch(67.3% 0.182 276.935 / 0.6);
  --color-indigo-400-50: oklch(67.3% 0.182 276.935 / 0.5);
  --color-indigo-400-40: oklch(67.3% 0.182 276.935 / 0.4);
  --color-indigo-400-30: oklch(67.3% 0.182 276.935 / 0.3);
  --color-indigo-400-20: oklch(67.3% 0.182 276.935 / 0.2);
  --color-indigo-400-10: oklch(67.3% 0.182 276.935 / 0.1);
  --color-indigo-400-5: oklch(67.3% 0.182 276.935 / 0.05);
  /* --color-indigo-500 */
  --color-indigo-500-100: oklch(58.5% 0.233 277.117 / 1);
  --color-indigo-500-90: oklch(58.5% 0.233 277.117 / 0.9);
  --color-indigo-500-80: oklch(58.5% 0.233 277.117 / 0.8);
  --color-indigo-500-70: oklch(58.5% 0.233 277.117 / 0.7);
  --color-indigo-500-60: oklch(58.5% 0.233 277.117 / 0.6);
  --color-indigo-500-50: oklch(58.5% 0.233 277.117 / 0.5);
  --color-indigo-500-40: oklch(58.5% 0.233 277.117 / 0.4);
  --color-indigo-500-30: oklch(58.5% 0.233 277.117 / 0.3);
  --color-indigo-500-20: oklch(58.5% 0.233 277.117 / 0.2);
  --color-indigo-500-10: oklch(58.5% 0.233 277.117 / 0.1);
  --color-indigo-500-5: oklch(58.5% 0.233 277.117 / 0.05);
  /* --color-indigo-600 */
  --color-indigo-600-100: oklch(51.1% 0.262 276.966 / 1);
  --color-indigo-600-90: oklch(51.1% 0.262 276.966 / 0.9);
  --color-indigo-600-80: oklch(51.1% 0.262 276.966 / 0.8);
  --color-indigo-600-70: oklch(51.1% 0.262 276.966 / 0.7);
  --color-indigo-600-60: oklch(51.1% 0.262 276.966 / 0.6);
  --color-indigo-600-50: oklch(51.1% 0.262 276.966 / 0.5);
  --color-indigo-600-40: oklch(51.1% 0.262 276.966 / 0.4);
  --color-indigo-600-30: oklch(51.1% 0.262 276.966 / 0.3);
  --color-indigo-600-20: oklch(51.1% 0.262 276.966 / 0.2);
  --color-indigo-600-10: oklch(51.1% 0.262 276.966 / 0.1);
  --color-indigo-600-5: oklch(51.1% 0.262 276.966 / 0.05);
  /* --color-indigo-700 */
  --color-indigo-700-100: oklch(45.7% 0.24 277.023 / 1);
  --color-indigo-700-90: oklch(45.7% 0.24 277.023 / 0.9);
  --color-indigo-700-80: oklch(45.7% 0.24 277.023 / 0.8);
  --color-indigo-700-70: oklch(45.7% 0.24 277.023 / 0.7);
  --color-indigo-700-60: oklch(45.7% 0.24 277.023 / 0.6);
  --color-indigo-700-50: oklch(45.7% 0.24 277.023 / 0.5);
  --color-indigo-700-40: oklch(45.7% 0.24 277.023 / 0.4);
  --color-indigo-700-30: oklch(45.7% 0.24 277.023 / 0.3);
  --color-indigo-700-20: oklch(45.7% 0.24 277.023 / 0.2);
  --color-indigo-700-10: oklch(45.7% 0.24 277.023 / 0.1);
  --color-indigo-700-5: oklch(45.7% 0.24 277.023 / 0.05);
  /* --color-indigo-800 */
  --color-indigo-800-100: oklch(39.8% 0.195 277.366 / 1);
  --color-indigo-800-90: oklch(39.8% 0.195 277.366 / 0.9);
  --color-indigo-800-80: oklch(39.8% 0.195 277.366 / 0.8);
  --color-indigo-800-70: oklch(39.8% 0.195 277.366 / 0.7);
  --color-indigo-800-60: oklch(39.8% 0.195 277.366 / 0.6);
  --color-indigo-800-50: oklch(39.8% 0.195 277.366 / 0.5);
  --color-indigo-800-40: oklch(39.8% 0.195 277.366 / 0.4);
  --color-indigo-800-30: oklch(39.8% 0.195 277.366 / 0.3);
  --color-indigo-800-20: oklch(39.8% 0.195 277.366 / 0.2);
  --color-indigo-800-10: oklch(39.8% 0.195 277.366 / 0.1);
  --color-indigo-800-5: oklch(39.8% 0.195 277.366 / 0.05);
  /* --color-indigo-900 */
  --color-indigo-900-100: oklch(35.9% 0.144 278.697 / 1);
  --color-indigo-900-90: oklch(35.9% 0.144 278.697 / 0.9);
  --color-indigo-900-80: oklch(35.9% 0.144 278.697 / 0.8);
  --color-indigo-900-70: oklch(35.9% 0.144 278.697 / 0.7);
  --color-indigo-900-60: oklch(35.9% 0.144 278.697 / 0.6);
  --color-indigo-900-50: oklch(35.9% 0.144 278.697 / 0.5);
  --color-indigo-900-40: oklch(35.9% 0.144 278.697 / 0.4);
  --color-indigo-900-30: oklch(35.9% 0.144 278.697 / 0.3);
  --color-indigo-900-20: oklch(35.9% 0.144 278.697 / 0.2);
  --color-indigo-900-10: oklch(35.9% 0.144 278.697 / 0.1);
  --color-indigo-900-5: oklch(35.9% 0.144 278.697 / 0.05);
  /* --color-indigo-950 */
  --color-indigo-950-100: oklch(25.7% 0.09 281.288 / 1);
  --color-indigo-950-90: oklch(25.7% 0.09 281.288 / 0.9);
  --color-indigo-950-80: oklch(25.7% 0.09 281.288 / 0.8);
  --color-indigo-950-70: oklch(25.7% 0.09 281.288 / 0.7);
  --color-indigo-950-60: oklch(25.7% 0.09 281.288 / 0.6);
  --color-indigo-950-50: oklch(25.7% 0.09 281.288 / 0.5);
  --color-indigo-950-40: oklch(25.7% 0.09 281.288 / 0.4);
  --color-indigo-950-30: oklch(25.7% 0.09 281.288 / 0.3);
  --color-indigo-950-20: oklch(25.7% 0.09 281.288 / 0.2);
  --color-indigo-950-10: oklch(25.7% 0.09 281.288 / 0.1);
  --color-indigo-950-5: oklch(25.7% 0.09 281.288 / 0.05);
  /* Violet */
  --color-violet-50: oklch(96.9% 0.016 293.756);
  --color-violet-100: oklch(94.3% 0.029 294.588);
  --color-violet-200: oklch(89.4% 0.057 293.283);
  --color-violet-300: oklch(81.1% 0.111 293.571);
  --color-violet-400: oklch(70.2% 0.183 293.541);
  --color-violet-500: oklch(60.6% 0.25 292.717);
  --color-violet-600: oklch(54.1% 0.281 293.009);
  --color-violet-700: oklch(49.1% 0.27 292.581);
  --color-violet-800: oklch(43.2% 0.232 292.759);
  --color-violet-900: oklch(38% 0.189 293.745);
  --color-violet-950: oklch(28.3% 0.141 291.089);
  /* --color-violet-50 */
  --color-violet-50-100: oklch(96.9% 0.016 293.756 / 1);
  --color-violet-50-90: oklch(96.9% 0.016 293.756 / 0.9);
  --color-violet-50-80: oklch(96.9% 0.016 293.756 / 0.8);
  --color-violet-50-70: oklch(96.9% 0.016 293.756 / 0.7);
  --color-violet-50-60: oklch(96.9% 0.016 293.756 / 0.6);
  --color-violet-50-50: oklch(96.9% 0.016 293.756 / 0.5);
  --color-violet-50-40: oklch(96.9% 0.016 293.756 / 0.4);
  --color-violet-50-30: oklch(96.9% 0.016 293.756 / 0.3);
  --color-violet-50-20: oklch(96.9% 0.016 293.756 / 0.2);
  --color-violet-50-10: oklch(96.9% 0.016 293.756 / 0.1);
  --color-violet-50-5: oklch(96.9% 0.016 293.756 / 0.05);
  /* --color-violet-100 */
  --color-violet-100-100: oklch(94.3% 0.029 294.588 / 1);
  --color-violet-100-90: oklch(94.3% 0.029 294.588 / 0.9);
  --color-violet-100-80: oklch(94.3% 0.029 294.588 / 0.8);
  --color-violet-100-70: oklch(94.3% 0.029 294.588 / 0.7);
  --color-violet-100-60: oklch(94.3% 0.029 294.588 / 0.6);
  --color-violet-100-50: oklch(94.3% 0.029 294.588 / 0.5);
  --color-violet-100-40: oklch(94.3% 0.029 294.588 / 0.4);
  --color-violet-100-30: oklch(94.3% 0.029 294.588 / 0.3);
  --color-violet-100-20: oklch(94.3% 0.029 294.588 / 0.2);
  --color-violet-100-10: oklch(94.3% 0.029 294.588 / 0.1);
  --color-violet-100-5: oklch(94.3% 0.029 294.588 / 0.05);
  /* --color-violet-200 */
  --color-violet-200-100: oklch(89.4% 0.057 293.283 / 1);
  --color-violet-200-90: oklch(89.4% 0.057 293.283 / 0.9);
  --color-violet-200-80: oklch(89.4% 0.057 293.283 / 0.8);
  --color-violet-200-70: oklch(89.4% 0.057 293.283 / 0.7);
  --color-violet-200-60: oklch(89.4% 0.057 293.283 / 0.6);
  --color-violet-200-50: oklch(89.4% 0.057 293.283 / 0.5);
  --color-violet-200-40: oklch(89.4% 0.057 293.283 / 0.4);
  --color-violet-200-30: oklch(89.4% 0.057 293.283 / 0.3);
  --color-violet-200-20: oklch(89.4% 0.057 293.283 / 0.2);
  --color-violet-200-10: oklch(89.4% 0.057 293.283 / 0.1);
  --color-violet-200-5: oklch(89.4% 0.057 293.283 / 0.05);
  /* --color-violet-300 */
  --color-violet-300-100: oklch(81.1% 0.111 293.571 / 1);
  --color-violet-300-90: oklch(81.1% 0.111 293.571 / 0.9);
  --color-violet-300-80: oklch(81.1% 0.111 293.571 / 0.8);
  --color-violet-300-70: oklch(81.1% 0.111 293.571 / 0.7);
  --color-violet-300-60: oklch(81.1% 0.111 293.571 / 0.6);
  --color-violet-300-50: oklch(81.1% 0.111 293.571 / 0.5);
  --color-violet-300-40: oklch(81.1% 0.111 293.571 / 0.4);
  --color-violet-300-30: oklch(81.1% 0.111 293.571 / 0.3);
  --color-violet-300-20: oklch(81.1% 0.111 293.571 / 0.2);
  --color-violet-300-10: oklch(81.1% 0.111 293.571 / 0.1);
  --color-violet-300-5: oklch(81.1% 0.111 293.571 / 0.05);
  /* --color-violet-400 */
  --color-violet-400-100: oklch(70.2% 0.183 293.541 / 1);
  --color-violet-400-90: oklch(70.2% 0.183 293.541 / 0.9);
  --color-violet-400-80: oklch(70.2% 0.183 293.541 / 0.8);
  --color-violet-400-70: oklch(70.2% 0.183 293.541 / 0.7);
  --color-violet-400-60: oklch(70.2% 0.183 293.541 / 0.6);
  --color-violet-400-50: oklch(70.2% 0.183 293.541 / 0.5);
  --color-violet-400-40: oklch(70.2% 0.183 293.541 / 0.4);
  --color-violet-400-30: oklch(70.2% 0.183 293.541 / 0.3);
  --color-violet-400-20: oklch(70.2% 0.183 293.541 / 0.2);
  --color-violet-400-10: oklch(70.2% 0.183 293.541 / 0.1);
  --color-violet-400-5: oklch(70.2% 0.183 293.541 / 0.05);
  /* --color-violet-500 */
  --color-violet-500-100: oklch(60.6% 0.25 292.717 / 1);
  --color-violet-500-90: oklch(60.6% 0.25 292.717 / 0.9);
  --color-violet-500-80: oklch(60.6% 0.25 292.717 / 0.8);
  --color-violet-500-70: oklch(60.6% 0.25 292.717 / 0.7);
  --color-violet-500-60: oklch(60.6% 0.25 292.717 / 0.6);
  --color-violet-500-50: oklch(60.6% 0.25 292.717 / 0.5);
  --color-violet-500-40: oklch(60.6% 0.25 292.717 / 0.4);
  --color-violet-500-30: oklch(60.6% 0.25 292.717 / 0.3);
  --color-violet-500-20: oklch(60.6% 0.25 292.717 / 0.2);
  --color-violet-500-10: oklch(60.6% 0.25 292.717 / 0.1);
  --color-violet-500-5: oklch(60.6% 0.25 292.717 / 0.05);
  /* --color-violet-600 */
  --color-violet-600-100: oklch(54.1% 0.281 293.009 / 1);
  --color-violet-600-90: oklch(54.1% 0.281 293.009 / 0.9);
  --color-violet-600-80: oklch(54.1% 0.281 293.009 / 0.8);
  --color-violet-600-70: oklch(54.1% 0.281 293.009 / 0.7);
  --color-violet-600-60: oklch(54.1% 0.281 293.009 / 0.6);
  --color-violet-600-50: oklch(54.1% 0.281 293.009 / 0.5);
  --color-violet-600-40: oklch(54.1% 0.281 293.009 / 0.4);
  --color-violet-600-30: oklch(54.1% 0.281 293.009 / 0.3);
  --color-violet-600-20: oklch(54.1% 0.281 293.009 / 0.2);
  --color-violet-600-10: oklch(54.1% 0.281 293.009 / 0.1);
  --color-violet-600-5: oklch(54.1% 0.281 293.009 / 0.05);
  /* --color-violet-700 */
  --color-violet-700-100: oklch(49.1% 0.27 292.581 / 1);
  --color-violet-700-90: oklch(49.1% 0.27 292.581 / 0.9);
  --color-violet-700-80: oklch(49.1% 0.27 292.581 / 0.8);
  --color-violet-700-70: oklch(49.1% 0.27 292.581 / 0.7);
  --color-violet-700-60: oklch(49.1% 0.27 292.581 / 0.6);
  --color-violet-700-50: oklch(49.1% 0.27 292.581 / 0.5);
  --color-violet-700-40: oklch(49.1% 0.27 292.581 / 0.4);
  --color-violet-700-30: oklch(49.1% 0.27 292.581 / 0.3);
  --color-violet-700-20: oklch(49.1% 0.27 292.581 / 0.2);
  --color-violet-700-10: oklch(49.1% 0.27 292.581 / 0.1);
  --color-violet-700-5: oklch(49.1% 0.27 292.581 / 0.05);
  /* --color-violet-800 */
  --color-violet-800-100: oklch(43.2% 0.232 292.759 / 1);
  --color-violet-800-90: oklch(43.2% 0.232 292.759 / 0.9);
  --color-violet-800-80: oklch(43.2% 0.232 292.759 / 0.8);
  --color-violet-800-70: oklch(43.2% 0.232 292.759 / 0.7);
  --color-violet-800-60: oklch(43.2% 0.232 292.759 / 0.6);
  --color-violet-800-50: oklch(43.2% 0.232 292.759 / 0.5);
  --color-violet-800-40: oklch(43.2% 0.232 292.759 / 0.4);
  --color-violet-800-30: oklch(43.2% 0.232 292.759 / 0.3);
  --color-violet-800-20: oklch(43.2% 0.232 292.759 / 0.2);
  --color-violet-800-10: oklch(43.2% 0.232 292.759 / 0.1);
  --color-violet-800-5: oklch(43.2% 0.232 292.759 / 0.05);
  /* --color-violet-900 */
  --color-violet-900-100: oklch(38% 0.189 293.745 / 1);
  --color-violet-900-90: oklch(38% 0.189 293.745 / 0.9);
  --color-violet-900-80: oklch(38% 0.189 293.745 / 0.8);
  --color-violet-900-70: oklch(38% 0.189 293.745 / 0.7);
  --color-violet-900-60: oklch(38% 0.189 293.745 / 0.6);
  --color-violet-900-50: oklch(38% 0.189 293.745 / 0.5);
  --color-violet-900-40: oklch(38% 0.189 293.745 / 0.4);
  --color-violet-900-30: oklch(38% 0.189 293.745 / 0.3);
  --color-violet-900-20: oklch(38% 0.189 293.745 / 0.2);
  --color-violet-900-10: oklch(38% 0.189 293.745 / 0.1);
  --color-violet-900-5: oklch(38% 0.189 293.745 / 0.05);
  /* --color-violet-950 */
  --color-violet-950-100: oklch(28.3% 0.141 291.089 / 1);
  --color-violet-950-90: oklch(28.3% 0.141 291.089 / 0.9);
  --color-violet-950-80: oklch(28.3% 0.141 291.089 / 0.8);
  --color-violet-950-70: oklch(28.3% 0.141 291.089 / 0.7);
  --color-violet-950-60: oklch(28.3% 0.141 291.089 / 0.6);
  --color-violet-950-50: oklch(28.3% 0.141 291.089 / 0.5);
  --color-violet-950-40: oklch(28.3% 0.141 291.089 / 0.4);
  --color-violet-950-30: oklch(28.3% 0.141 291.089 / 0.3);
  --color-violet-950-20: oklch(28.3% 0.141 291.089 / 0.2);
  --color-violet-950-10: oklch(28.3% 0.141 291.089 / 0.1);
  --color-violet-950-5: oklch(28.3% 0.141 291.089 / 0.05);
  /* Purple */
  --color-purple-50: oklch(97.7% 0.014 308.299);
  --color-purple-100: oklch(94.6% 0.033 307.174);
  --color-purple-200: oklch(90.2% 0.063 306.703);
  --color-purple-300: oklch(82.7% 0.119 306.383);
  --color-purple-400: oklch(71.4% 0.203 305.504);
  --color-purple-500: oklch(62.7% 0.265 303.9);
  --color-purple-600: oklch(55.8% 0.288 302.321);
  --color-purple-700: oklch(49.6% 0.265 301.924);
  --color-purple-800: oklch(43.8% 0.218 303.724);
  --color-purple-900: oklch(38.1% 0.176 304.987);
  --color-purple-950: oklch(29.1% 0.149 302.717);
  /* --color-purple-50 */
  --color-purple-50-100: oklch(97.7% 0.014 308.299 / 1);
  --color-purple-50-90: oklch(97.7% 0.014 308.299 / 0.9);
  --color-purple-50-80: oklch(97.7% 0.014 308.299 / 0.8);
  --color-purple-50-70: oklch(97.7% 0.014 308.299 / 0.7);
  --color-purple-50-60: oklch(97.7% 0.014 308.299 / 0.6);
  --color-purple-50-50: oklch(97.7% 0.014 308.299 / 0.5);
  --color-purple-50-40: oklch(97.7% 0.014 308.299 / 0.4);
  --color-purple-50-30: oklch(97.7% 0.014 308.299 / 0.3);
  --color-purple-50-20: oklch(97.7% 0.014 308.299 / 0.2);
  --color-purple-50-10: oklch(97.7% 0.014 308.299 / 0.1);
  --color-purple-50-5: oklch(97.7% 0.014 308.299 / 0.05);
  /* --color-purple-100 */
  --color-purple-100-100: oklch(94.6% 0.033 307.174 / 1);
  --color-purple-100-90: oklch(94.6% 0.033 307.174 / 0.9);
  --color-purple-100-80: oklch(94.6% 0.033 307.174 / 0.8);
  --color-purple-100-70: oklch(94.6% 0.033 307.174 / 0.7);
  --color-purple-100-60: oklch(94.6% 0.033 307.174 / 0.6);
  --color-purple-100-50: oklch(94.6% 0.033 307.174 / 0.5);
  --color-purple-100-40: oklch(94.6% 0.033 307.174 / 0.4);
  --color-purple-100-30: oklch(94.6% 0.033 307.174 / 0.3);
  --color-purple-100-20: oklch(94.6% 0.033 307.174 / 0.2);
  --color-purple-100-10: oklch(94.6% 0.033 307.174 / 0.1);
  --color-purple-100-5: oklch(94.6% 0.033 307.174 / 0.05);
  /* --color-purple-200 */
  --color-purple-200-100: oklch(90.2% 0.063 306.703 / 1);
  --color-purple-200-90: oklch(90.2% 0.063 306.703 / 0.9);
  --color-purple-200-80: oklch(90.2% 0.063 306.703 / 0.8);
  --color-purple-200-70: oklch(90.2% 0.063 306.703 / 0.7);
  --color-purple-200-60: oklch(90.2% 0.063 306.703 / 0.6);
  --color-purple-200-50: oklch(90.2% 0.063 306.703 / 0.5);
  --color-purple-200-40: oklch(90.2% 0.063 306.703 / 0.4);
  --color-purple-200-30: oklch(90.2% 0.063 306.703 / 0.3);
  --color-purple-200-20: oklch(90.2% 0.063 306.703 / 0.2);
  --color-purple-200-10: oklch(90.2% 0.063 306.703 / 0.1);
  --color-purple-200-5: oklch(90.2% 0.063 306.703 / 0.05);
  /* --color-purple-300 */
  --color-purple-300-100: oklch(82.7% 0.119 306.383 / 1);
  --color-purple-300-90: oklch(82.7% 0.119 306.383 / 0.9);
  --color-purple-300-80: oklch(82.7% 0.119 306.383 / 0.8);
  --color-purple-300-70: oklch(82.7% 0.119 306.383 / 0.7);
  --color-purple-300-60: oklch(82.7% 0.119 306.383 / 0.6);
  --color-purple-300-50: oklch(82.7% 0.119 306.383 / 0.5);
  --color-purple-300-40: oklch(82.7% 0.119 306.383 / 0.4);
  --color-purple-300-30: oklch(82.7% 0.119 306.383 / 0.3);
  --color-purple-300-20: oklch(82.7% 0.119 306.383 / 0.2);
  --color-purple-300-10: oklch(82.7% 0.119 306.383 / 0.1);
  --color-purple-300-5: oklch(82.7% 0.119 306.383 / 0.05);
  /* --color-purple-400 */
  --color-purple-400-100: oklch(71.4% 0.203 305.504 / 1);
  --color-purple-400-90: oklch(71.4% 0.203 305.504 / 0.9);
  --color-purple-400-80: oklch(71.4% 0.203 305.504 / 0.8);
  --color-purple-400-70: oklch(71.4% 0.203 305.504 / 0.7);
  --color-purple-400-60: oklch(71.4% 0.203 305.504 / 0.6);
  --color-purple-400-50: oklch(71.4% 0.203 305.504 / 0.5);
  --color-purple-400-40: oklch(71.4% 0.203 305.504 / 0.4);
  --color-purple-400-30: oklch(71.4% 0.203 305.504 / 0.3);
  --color-purple-400-20: oklch(71.4% 0.203 305.504 / 0.2);
  --color-purple-400-10: oklch(71.4% 0.203 305.504 / 0.1);
  --color-purple-400-5: oklch(71.4% 0.203 305.504 / 0.05);
  /* --color-purple-500 */
  --color-purple-500-100: oklch(62.7% 0.265 303.9 / 1);
  --color-purple-500-90: oklch(62.7% 0.265 303.9 / 0.9);
  --color-purple-500-80: oklch(62.7% 0.265 303.9 / 0.8);
  --color-purple-500-70: oklch(62.7% 0.265 303.9 / 0.7);
  --color-purple-500-60: oklch(62.7% 0.265 303.9 / 0.6);
  --color-purple-500-50: oklch(62.7% 0.265 303.9 / 0.5);
  --color-purple-500-40: oklch(62.7% 0.265 303.9 / 0.4);
  --color-purple-500-30: oklch(62.7% 0.265 303.9 / 0.3);
  --color-purple-500-20: oklch(62.7% 0.265 303.9 / 0.2);
  --color-purple-500-10: oklch(62.7% 0.265 303.9 / 0.1);
  --color-purple-500-5: oklch(62.7% 0.265 303.9 / 0.05);
  /* --color-purple-600 */
  --color-purple-600-100: oklch(55.8% 0.288 302.321 / 1);
  --color-purple-600-90: oklch(55.8% 0.288 302.321 / 0.9);
  --color-purple-600-80: oklch(55.8% 0.288 302.321 / 0.8);
  --color-purple-600-70: oklch(55.8% 0.288 302.321 / 0.7);
  --color-purple-600-60: oklch(55.8% 0.288 302.321 / 0.6);
  --color-purple-600-50: oklch(55.8% 0.288 302.321 / 0.5);
  --color-purple-600-40: oklch(55.8% 0.288 302.321 / 0.4);
  --color-purple-600-30: oklch(55.8% 0.288 302.321 / 0.3);
  --color-purple-600-20: oklch(55.8% 0.288 302.321 / 0.2);
  --color-purple-600-10: oklch(55.8% 0.288 302.321 / 0.1);
  --color-purple-600-5: oklch(55.8% 0.288 302.321 / 0.05);
  /* --color-purple-700 */
  --color-purple-700-100: oklch(49.6% 0.265 301.924 / 1);
  --color-purple-700-90: oklch(49.6% 0.265 301.924 / 0.9);
  --color-purple-700-80: oklch(49.6% 0.265 301.924 / 0.8);
  --color-purple-700-70: oklch(49.6% 0.265 301.924 / 0.7);
  --color-purple-700-60: oklch(49.6% 0.265 301.924 / 0.6);
  --color-purple-700-50: oklch(49.6% 0.265 301.924 / 0.5);
  --color-purple-700-40: oklch(49.6% 0.265 301.924 / 0.4);
  --color-purple-700-30: oklch(49.6% 0.265 301.924 / 0.3);
  --color-purple-700-20: oklch(49.6% 0.265 301.924 / 0.2);
  --color-purple-700-10: oklch(49.6% 0.265 301.924 / 0.1);
  --color-purple-700-5: oklch(49.6% 0.265 301.924 / 0.05);
  /* --color-purple-800 */
  --color-purple-800-100: oklch(43.8% 0.218 303.724 / 1);
  --color-purple-800-90: oklch(43.8% 0.218 303.724 / 0.9);
  --color-purple-800-80: oklch(43.8% 0.218 303.724 / 0.8);
  --color-purple-800-70: oklch(43.8% 0.218 303.724 / 0.7);
  --color-purple-800-60: oklch(43.8% 0.218 303.724 / 0.6);
  --color-purple-800-50: oklch(43.8% 0.218 303.724 / 0.5);
  --color-purple-800-40: oklch(43.8% 0.218 303.724 / 0.4);
  --color-purple-800-30: oklch(43.8% 0.218 303.724 / 0.3);
  --color-purple-800-20: oklch(43.8% 0.218 303.724 / 0.2);
  --color-purple-800-10: oklch(43.8% 0.218 303.724 / 0.1);
  --color-purple-800-5: oklch(43.8% 0.218 303.724 / 0.05);
  /* --color-purple-900 */
  --color-purple-900-100: oklch(38.1% 0.176 304.987 / 1);
  --color-purple-900-90: oklch(38.1% 0.176 304.987 / 0.9);
  --color-purple-900-80: oklch(38.1% 0.176 304.987 / 0.8);
  --color-purple-900-70: oklch(38.1% 0.176 304.987 / 0.7);
  --color-purple-900-60: oklch(38.1% 0.176 304.987 / 0.6);
  --color-purple-900-50: oklch(38.1% 0.176 304.987 / 0.5);
  --color-purple-900-40: oklch(38.1% 0.176 304.987 / 0.4);
  --color-purple-900-30: oklch(38.1% 0.176 304.987 / 0.3);
  --color-purple-900-20: oklch(38.1% 0.176 304.987 / 0.2);
  --color-purple-900-10: oklch(38.1% 0.176 304.987 / 0.1);
  --color-purple-900-5: oklch(38.1% 0.176 304.987 / 0.05);
  /* --color-purple-950 */
  --color-purple-950-100: oklch(29.1% 0.149 302.717 / 1);
  --color-purple-950-90: oklch(29.1% 0.149 302.717 / 0.9);
  --color-purple-950-80: oklch(29.1% 0.149 302.717 / 0.8);
  --color-purple-950-70: oklch(29.1% 0.149 302.717 / 0.7);
  --color-purple-950-60: oklch(29.1% 0.149 302.717 / 0.6);
  --color-purple-950-50: oklch(29.1% 0.149 302.717 / 0.5);
  --color-purple-950-40: oklch(29.1% 0.149 302.717 / 0.4);
  --color-purple-950-30: oklch(29.1% 0.149 302.717 / 0.3);
  --color-purple-950-20: oklch(29.1% 0.149 302.717 / 0.2);
  --color-purple-950-10: oklch(29.1% 0.149 302.717 / 0.1);
  --color-purple-950-5: oklch(29.1% 0.149 302.717 / 0.05);
  /* Fuchsia */
  --color-fuchsia-50: oklch(97.7% 0.017 320.058);
  --color-fuchsia-100: oklch(95.2% 0.037 318.852);
  --color-fuchsia-200: oklch(90.3% 0.076 319.62);
  --color-fuchsia-300: oklch(83.3% 0.145 321.434);
  --color-fuchsia-400: oklch(74% 0.238 322.16);
  --color-fuchsia-500: oklch(66.7% 0.295 322.15);
  --color-fuchsia-600: oklch(59.1% 0.293 322.896);
  --color-fuchsia-700: oklch(51.8% 0.253 323.949);
  --color-fuchsia-800: oklch(45.2% 0.211 324.591);
  --color-fuchsia-900: oklch(40.1% 0.17 325.612);
  --color-fuchsia-950: oklch(29.3% 0.136 325.661);
  /* --color-fuchsia-50 */
  --color-fuchsia-50-100: oklch(97.7% 0.017 320.058 / 1);
  --color-fuchsia-50-90: oklch(97.7% 0.017 320.058 / 0.9);
  --color-fuchsia-50-80: oklch(97.7% 0.017 320.058 / 0.8);
  --color-fuchsia-50-70: oklch(97.7% 0.017 320.058 / 0.7);
  --color-fuchsia-50-60: oklch(97.7% 0.017 320.058 / 0.6);
  --color-fuchsia-50-50: oklch(97.7% 0.017 320.058 / 0.5);
  --color-fuchsia-50-40: oklch(97.7% 0.017 320.058 / 0.4);
  --color-fuchsia-50-30: oklch(97.7% 0.017 320.058 / 0.3);
  --color-fuchsia-50-20: oklch(97.7% 0.017 320.058 / 0.2);
  --color-fuchsia-50-10: oklch(97.7% 0.017 320.058 / 0.1);
  --color-fuchsia-50-5: oklch(97.7% 0.017 320.058 / 0.05);
  /* --color-fuchsia-100 */
  --color-fuchsia-100-100: oklch(95.2% 0.037 318.852 / 1);
  --color-fuchsia-100-90: oklch(95.2% 0.037 318.852 / 0.9);
  --color-fuchsia-100-80: oklch(95.2% 0.037 318.852 / 0.8);
  --color-fuchsia-100-70: oklch(95.2% 0.037 318.852 / 0.7);
  --color-fuchsia-100-60: oklch(95.2% 0.037 318.852 / 0.6);
  --color-fuchsia-100-50: oklch(95.2% 0.037 318.852 / 0.5);
  --color-fuchsia-100-40: oklch(95.2% 0.037 318.852 / 0.4);
  --color-fuchsia-100-30: oklch(95.2% 0.037 318.852 / 0.3);
  --color-fuchsia-100-20: oklch(95.2% 0.037 318.852 / 0.2);
  --color-fuchsia-100-10: oklch(95.2% 0.037 318.852 / 0.1);
  --color-fuchsia-100-5: oklch(95.2% 0.037 318.852 / 0.05);
  /* --color-fuchsia-200 */
  --color-fuchsia-200-100: oklch(90.3% 0.076 319.62 / 1);
  --color-fuchsia-200-90: oklch(90.3% 0.076 319.62 / 0.9);
  --color-fuchsia-200-80: oklch(90.3% 0.076 319.62 / 0.8);
  --color-fuchsia-200-70: oklch(90.3% 0.076 319.62 / 0.7);
  --color-fuchsia-200-60: oklch(90.3% 0.076 319.62 / 0.6);
  --color-fuchsia-200-50: oklch(90.3% 0.076 319.62 / 0.5);
  --color-fuchsia-200-40: oklch(90.3% 0.076 319.62 / 0.4);
  --color-fuchsia-200-30: oklch(90.3% 0.076 319.62 / 0.3);
  --color-fuchsia-200-20: oklch(90.3% 0.076 319.62 / 0.2);
  --color-fuchsia-200-10: oklch(90.3% 0.076 319.62 / 0.1);
  --color-fuchsia-200-5: oklch(90.3% 0.076 319.62 / 0.05);
  /* --color-fuchsia-300 */
  --color-fuchsia-300-100: oklch(83.3% 0.145 321.434 / 1);
  --color-fuchsia-300-90: oklch(83.3% 0.145 321.434 / 0.9);
  --color-fuchsia-300-80: oklch(83.3% 0.145 321.434 / 0.8);
  --color-fuchsia-300-70: oklch(83.3% 0.145 321.434 / 0.7);
  --color-fuchsia-300-60: oklch(83.3% 0.145 321.434 / 0.6);
  --color-fuchsia-300-50: oklch(83.3% 0.145 321.434 / 0.5);
  --color-fuchsia-300-40: oklch(83.3% 0.145 321.434 / 0.4);
  --color-fuchsia-300-30: oklch(83.3% 0.145 321.434 / 0.3);
  --color-fuchsia-300-20: oklch(83.3% 0.145 321.434 / 0.2);
  --color-fuchsia-300-10: oklch(83.3% 0.145 321.434 / 0.1);
  --color-fuchsia-300-5: oklch(83.3% 0.145 321.434 / 0.05);
  /* --color-fuchsia-400 */
  --color-fuchsia-400-100: oklch(74% 0.238 322.16 / 1);
  --color-fuchsia-400-90: oklch(74% 0.238 322.16 / 0.9);
  --color-fuchsia-400-80: oklch(74% 0.238 322.16 / 0.8);
  --color-fuchsia-400-70: oklch(74% 0.238 322.16 / 0.7);
  --color-fuchsia-400-60: oklch(74% 0.238 322.16 / 0.6);
  --color-fuchsia-400-50: oklch(74% 0.238 322.16 / 0.5);
  --color-fuchsia-400-40: oklch(74% 0.238 322.16 / 0.4);
  --color-fuchsia-400-30: oklch(74% 0.238 322.16 / 0.3);
  --color-fuchsia-400-20: oklch(74% 0.238 322.16 / 0.2);
  --color-fuchsia-400-10: oklch(74% 0.238 322.16 / 0.1);
  --color-fuchsia-400-5: oklch(74% 0.238 322.16 / 0.05);
  /* --color-fuchsia-500 */
  --color-fuchsia-500-100: oklch(66.7% 0.295 322.15 / 1);
  --color-fuchsia-500-90: oklch(66.7% 0.295 322.15 / 0.9);
  --color-fuchsia-500-80: oklch(66.7% 0.295 322.15 / 0.8);
  --color-fuchsia-500-70: oklch(66.7% 0.295 322.15 / 0.7);
  --color-fuchsia-500-60: oklch(66.7% 0.295 322.15 / 0.6);
  --color-fuchsia-500-50: oklch(66.7% 0.295 322.15 / 0.5);
  --color-fuchsia-500-40: oklch(66.7% 0.295 322.15 / 0.4);
  --color-fuchsia-500-30: oklch(66.7% 0.295 322.15 / 0.3);
  --color-fuchsia-500-20: oklch(66.7% 0.295 322.15 / 0.2);
  --color-fuchsia-500-10: oklch(66.7% 0.295 322.15 / 0.1);
  --color-fuchsia-500-5: oklch(66.7% 0.295 322.15 / 0.05);
  /* --color-fuchsia-600 */
  --color-fuchsia-600-100: oklch(59.1% 0.293 322.896 / 1);
  --color-fuchsia-600-90: oklch(59.1% 0.293 322.896 / 0.9);
  --color-fuchsia-600-80: oklch(59.1% 0.293 322.896 / 0.8);
  --color-fuchsia-600-70: oklch(59.1% 0.293 322.896 / 0.7);
  --color-fuchsia-600-60: oklch(59.1% 0.293 322.896 / 0.6);
  --color-fuchsia-600-50: oklch(59.1% 0.293 322.896 / 0.5);
  --color-fuchsia-600-40: oklch(59.1% 0.293 322.896 / 0.4);
  --color-fuchsia-600-30: oklch(59.1% 0.293 322.896 / 0.3);
  --color-fuchsia-600-20: oklch(59.1% 0.293 322.896 / 0.2);
  --color-fuchsia-600-10: oklch(59.1% 0.293 322.896 / 0.1);
  --color-fuchsia-600-5: oklch(59.1% 0.293 322.896 / 0.05);
  /* --color-fuchsia-700 */
  --color-fuchsia-700-100: oklch(51.8% 0.253 323.949 / 1);
  --color-fuchsia-700-90: oklch(51.8% 0.253 323.949 / 0.9);
  --color-fuchsia-700-80: oklch(51.8% 0.253 323.949 / 0.8);
  --color-fuchsia-700-70: oklch(51.8% 0.253 323.949 / 0.7);
  --color-fuchsia-700-60: oklch(51.8% 0.253 323.949 / 0.6);
  --color-fuchsia-700-50: oklch(51.8% 0.253 323.949 / 0.5);
  --color-fuchsia-700-40: oklch(51.8% 0.253 323.949 / 0.4);
  --color-fuchsia-700-30: oklch(51.8% 0.253 323.949 / 0.3);
  --color-fuchsia-700-20: oklch(51.8% 0.253 323.949 / 0.2);
  --color-fuchsia-700-10: oklch(51.8% 0.253 323.949 / 0.1);
  --color-fuchsia-700-5: oklch(51.8% 0.253 323.949 / 0.05);
  /* --color-fuchsia-800 */
  --color-fuchsia-800-100: oklch(45.2% 0.211 324.591 / 1);
  --color-fuchsia-800-90: oklch(45.2% 0.211 324.591 / 0.9);
  --color-fuchsia-800-80: oklch(45.2% 0.211 324.591 / 0.8);
  --color-fuchsia-800-70: oklch(45.2% 0.211 324.591 / 0.7);
  --color-fuchsia-800-60: oklch(45.2% 0.211 324.591 / 0.6);
  --color-fuchsia-800-50: oklch(45.2% 0.211 324.591 / 0.5);
  --color-fuchsia-800-40: oklch(45.2% 0.211 324.591 / 0.4);
  --color-fuchsia-800-30: oklch(45.2% 0.211 324.591 / 0.3);
  --color-fuchsia-800-20: oklch(45.2% 0.211 324.591 / 0.2);
  --color-fuchsia-800-10: oklch(45.2% 0.211 324.591 / 0.1);
  --color-fuchsia-800-5: oklch(45.2% 0.211 324.591 / 0.05);
  /* --color-fuchsia-900 */
  --color-fuchsia-900-100: oklch(40.1% 0.17 325.612 / 1);
  --color-fuchsia-900-90: oklch(40.1% 0.17 325.612 / 0.9);
  --color-fuchsia-900-80: oklch(40.1% 0.17 325.612 / 0.8);
  --color-fuchsia-900-70: oklch(40.1% 0.17 325.612 / 0.7);
  --color-fuchsia-900-60: oklch(40.1% 0.17 325.612 / 0.6);
  --color-fuchsia-900-50: oklch(40.1% 0.17 325.612 / 0.5);
  --color-fuchsia-900-40: oklch(40.1% 0.17 325.612 / 0.4);
  --color-fuchsia-900-30: oklch(40.1% 0.17 325.612 / 0.3);
  --color-fuchsia-900-20: oklch(40.1% 0.17 325.612 / 0.2);
  --color-fuchsia-900-10: oklch(40.1% 0.17 325.612 / 0.1);
  --color-fuchsia-900-5: oklch(40.1% 0.17 325.612 / 0.05);
  /* --color-fuchsia-950 */
  --color-fuchsia-950-100: oklch(29.3% 0.136 325.661 / 1);
  --color-fuchsia-950-90: oklch(29.3% 0.136 325.661 / 0.9);
  --color-fuchsia-950-80: oklch(29.3% 0.136 325.661 / 0.8);
  --color-fuchsia-950-70: oklch(29.3% 0.136 325.661 / 0.7);
  --color-fuchsia-950-60: oklch(29.3% 0.136 325.661 / 0.6);
  --color-fuchsia-950-50: oklch(29.3% 0.136 325.661 / 0.5);
  --color-fuchsia-950-40: oklch(29.3% 0.136 325.661 / 0.4);
  --color-fuchsia-950-30: oklch(29.3% 0.136 325.661 / 0.3);
  --color-fuchsia-950-20: oklch(29.3% 0.136 325.661 / 0.2);
  --color-fuchsia-950-10: oklch(29.3% 0.136 325.661 / 0.1);
  --color-fuchsia-950-5: oklch(29.3% 0.136 325.661 / 0.05);
  /* Pink */
  --color-pink-50: oklch(97.1% 0.014 343.198);
  --color-pink-100: oklch(94.8% 0.028 342.258);
  --color-pink-200: oklch(89.9% 0.061 343.231);
  --color-pink-300: oklch(82.3% 0.12 346.018);
  --color-pink-400: oklch(71.8% 0.202 349.761);
  --color-pink-500: oklch(65.6% 0.241 354.308);
  --color-pink-600: oklch(59.2% 0.249 0.584);
  --color-pink-700: oklch(52.5% 0.223 3.958);
  --color-pink-800: oklch(45.9% 0.187 3.815);
  --color-pink-900: oklch(40.8% 0.153 2.432);
  --color-pink-950: oklch(28.4% 0.109 3.907);
  /* --color-pink-50 */
  --color-pink-50-100: oklch(97.1% 0.014 343.198 / 1);
  --color-pink-50-90: oklch(97.1% 0.014 343.198 / 0.9);
  --color-pink-50-80: oklch(97.1% 0.014 343.198 / 0.8);
  --color-pink-50-70: oklch(97.1% 0.014 343.198 / 0.7);
  --color-pink-50-60: oklch(97.1% 0.014 343.198 / 0.6);
  --color-pink-50-50: oklch(97.1% 0.014 343.198 / 0.5);
  --color-pink-50-40: oklch(97.1% 0.014 343.198 / 0.4);
  --color-pink-50-30: oklch(97.1% 0.014 343.198 / 0.3);
  --color-pink-50-20: oklch(97.1% 0.014 343.198 / 0.2);
  --color-pink-50-10: oklch(97.1% 0.014 343.198 / 0.1);
  --color-pink-50-5: oklch(97.1% 0.014 343.198 / 0.05);
  /* --color-pink-100 */
  --color-pink-100-100: oklch(94.8% 0.028 342.258 / 1);
  --color-pink-100-90: oklch(94.8% 0.028 342.258 / 0.9);
  --color-pink-100-80: oklch(94.8% 0.028 342.258 / 0.8);
  --color-pink-100-70: oklch(94.8% 0.028 342.258 / 0.7);
  --color-pink-100-60: oklch(94.8% 0.028 342.258 / 0.6);
  --color-pink-100-50: oklch(94.8% 0.028 342.258 / 0.5);
  --color-pink-100-40: oklch(94.8% 0.028 342.258 / 0.4);
  --color-pink-100-30: oklch(94.8% 0.028 342.258 / 0.3);
  --color-pink-100-20: oklch(94.8% 0.028 342.258 / 0.2);
  --color-pink-100-10: oklch(94.8% 0.028 342.258 / 0.1);
  --color-pink-100-5: oklch(94.8% 0.028 342.258 / 0.05);
  /* --color-pink-200 */
  --color-pink-200-100: oklch(89.9% 0.061 343.231 / 1);
  --color-pink-200-90: oklch(89.9% 0.061 343.231 / 0.9);
  --color-pink-200-80: oklch(89.9% 0.061 343.231 / 0.8);
  --color-pink-200-70: oklch(89.9% 0.061 343.231 / 0.7);
  --color-pink-200-60: oklch(89.9% 0.061 343.231 / 0.6);
  --color-pink-200-50: oklch(89.9% 0.061 343.231 / 0.5);
  --color-pink-200-40: oklch(89.9% 0.061 343.231 / 0.4);
  --color-pink-200-30: oklch(89.9% 0.061 343.231 / 0.3);
  --color-pink-200-20: oklch(89.9% 0.061 343.231 / 0.2);
  --color-pink-200-10: oklch(89.9% 0.061 343.231 / 0.1);
  --color-pink-200-5: oklch(89.9% 0.061 343.231 / 0.05);
  /* --color-pink-300 */
  --color-pink-300-100: oklch(82.3% 0.12 346.018 / 1);
  --color-pink-300-90: oklch(82.3% 0.12 346.018 / 0.9);
  --color-pink-300-80: oklch(82.3% 0.12 346.018 / 0.8);
  --color-pink-300-70: oklch(82.3% 0.12 346.018 / 0.7);
  --color-pink-300-60: oklch(82.3% 0.12 346.018 / 0.6);
  --color-pink-300-50: oklch(82.3% 0.12 346.018 / 0.5);
  --color-pink-300-40: oklch(82.3% 0.12 346.018 / 0.4);
  --color-pink-300-30: oklch(82.3% 0.12 346.018 / 0.3);
  --color-pink-300-20: oklch(82.3% 0.12 346.018 / 0.2);
  --color-pink-300-10: oklch(82.3% 0.12 346.018 / 0.1);
  --color-pink-300-5: oklch(82.3% 0.12 346.018 / 0.05);
  /* --color-pink-400 */
  --color-pink-400-100: oklch(71.8% 0.202 349.761 / 1);
  --color-pink-400-90: oklch(71.8% 0.202 349.761 / 0.9);
  --color-pink-400-80: oklch(71.8% 0.202 349.761 / 0.8);
  --color-pink-400-70: oklch(71.8% 0.202 349.761 / 0.7);
  --color-pink-400-60: oklch(71.8% 0.202 349.761 / 0.6);
  --color-pink-400-50: oklch(71.8% 0.202 349.761 / 0.5);
  --color-pink-400-40: oklch(71.8% 0.202 349.761 / 0.4);
  --color-pink-400-30: oklch(71.8% 0.202 349.761 / 0.3);
  --color-pink-400-20: oklch(71.8% 0.202 349.761 / 0.2);
  --color-pink-400-10: oklch(71.8% 0.202 349.761 / 0.1);
  --color-pink-400-5: oklch(71.8% 0.202 349.761 / 0.05);
  /* --color-pink-500 */
  --color-pink-500-100: oklch(65.6% 0.241 354.308 / 1);
  --color-pink-500-90: oklch(65.6% 0.241 354.308 / 0.9);
  --color-pink-500-80: oklch(65.6% 0.241 354.308 / 0.8);
  --color-pink-500-70: oklch(65.6% 0.241 354.308 / 0.7);
  --color-pink-500-60: oklch(65.6% 0.241 354.308 / 0.6);
  --color-pink-500-50: oklch(65.6% 0.241 354.308 / 0.5);
  --color-pink-500-40: oklch(65.6% 0.241 354.308 / 0.4);
  --color-pink-500-30: oklch(65.6% 0.241 354.308 / 0.3);
  --color-pink-500-20: oklch(65.6% 0.241 354.308 / 0.2);
  --color-pink-500-10: oklch(65.6% 0.241 354.308 / 0.1);
  --color-pink-500-5: oklch(65.6% 0.241 354.308 / 0.05);
  /* --color-pink-600 */
  --color-pink-600-100: oklch(59.2% 0.249 0.584 / 1);
  --color-pink-600-90: oklch(59.2% 0.249 0.584 / 0.9);
  --color-pink-600-80: oklch(59.2% 0.249 0.584 / 0.8);
  --color-pink-600-70: oklch(59.2% 0.249 0.584 / 0.7);
  --color-pink-600-60: oklch(59.2% 0.249 0.584 / 0.6);
  --color-pink-600-50: oklch(59.2% 0.249 0.584 / 0.5);
  --color-pink-600-40: oklch(59.2% 0.249 0.584 / 0.4);
  --color-pink-600-30: oklch(59.2% 0.249 0.584 / 0.3);
  --color-pink-600-20: oklch(59.2% 0.249 0.584 / 0.2);
  --color-pink-600-10: oklch(59.2% 0.249 0.584 / 0.1);
  --color-pink-600-5: oklch(59.2% 0.249 0.584 / 0.05);
  /* --color-pink-700 */
  --color-pink-700-100: oklch(52.5% 0.223 3.958 / 1);
  --color-pink-700-90: oklch(52.5% 0.223 3.958 / 0.9);
  --color-pink-700-80: oklch(52.5% 0.223 3.958 / 0.8);
  --color-pink-700-70: oklch(52.5% 0.223 3.958 / 0.7);
  --color-pink-700-60: oklch(52.5% 0.223 3.958 / 0.6);
  --color-pink-700-50: oklch(52.5% 0.223 3.958 / 0.5);
  --color-pink-700-40: oklch(52.5% 0.223 3.958 / 0.4);
  --color-pink-700-30: oklch(52.5% 0.223 3.958 / 0.3);
  --color-pink-700-20: oklch(52.5% 0.223 3.958 / 0.2);
  --color-pink-700-10: oklch(52.5% 0.223 3.958 / 0.1);
  --color-pink-700-5: oklch(52.5% 0.223 3.958 / 0.05);
  /* --color-pink-800 */
  --color-pink-800-100: oklch(45.9% 0.187 3.815 / 1);
  --color-pink-800-90: oklch(45.9% 0.187 3.815 / 0.9);
  --color-pink-800-80: oklch(45.9% 0.187 3.815 / 0.8);
  --color-pink-800-70: oklch(45.9% 0.187 3.815 / 0.7);
  --color-pink-800-60: oklch(45.9% 0.187 3.815 / 0.6);
  --color-pink-800-50: oklch(45.9% 0.187 3.815 / 0.5);
  --color-pink-800-40: oklch(45.9% 0.187 3.815 / 0.4);
  --color-pink-800-30: oklch(45.9% 0.187 3.815 / 0.3);
  --color-pink-800-20: oklch(45.9% 0.187 3.815 / 0.2);
  --color-pink-800-10: oklch(45.9% 0.187 3.815 / 0.1);
  --color-pink-800-5: oklch(45.9% 0.187 3.815 / 0.05);
  /* --color-pink-900 */
  --color-pink-900-100: oklch(40.8% 0.153 2.432 / 1);
  --color-pink-900-90: oklch(40.8% 0.153 2.432 / 0.9);
  --color-pink-900-80: oklch(40.8% 0.153 2.432 / 0.8);
  --color-pink-900-70: oklch(40.8% 0.153 2.432 / 0.7);
  --color-pink-900-60: oklch(40.8% 0.153 2.432 / 0.6);
  --color-pink-900-50: oklch(40.8% 0.153 2.432 / 0.5);
  --color-pink-900-40: oklch(40.8% 0.153 2.432 / 0.4);
  --color-pink-900-30: oklch(40.8% 0.153 2.432 / 0.3);
  --color-pink-900-20: oklch(40.8% 0.153 2.432 / 0.2);
  --color-pink-900-10: oklch(40.8% 0.153 2.432 / 0.1);
  --color-pink-900-5: oklch(40.8% 0.153 2.432 / 0.05);
  /* --color-pink-950 */
  --color-pink-950-100: oklch(28.4% 0.109 3.907 / 1);
  --color-pink-950-90: oklch(28.4% 0.109 3.907 / 0.9);
  --color-pink-950-80: oklch(28.4% 0.109 3.907 / 0.8);
  --color-pink-950-70: oklch(28.4% 0.109 3.907 / 0.7);
  --color-pink-950-60: oklch(28.4% 0.109 3.907 / 0.6);
  --color-pink-950-50: oklch(28.4% 0.109 3.907 / 0.5);
  --color-pink-950-40: oklch(28.4% 0.109 3.907 / 0.4);
  --color-pink-950-30: oklch(28.4% 0.109 3.907 / 0.3);
  --color-pink-950-20: oklch(28.4% 0.109 3.907 / 0.2);
  --color-pink-950-10: oklch(28.4% 0.109 3.907 / 0.1);
  --color-pink-950-5: oklch(28.4% 0.109 3.907 / 0.05);
  /* Rose */
  --color-rose-50: oklch(96.9% 0.015 12.422);
  --color-rose-100: oklch(94.1% 0.03 12.58);
  --color-rose-200: oklch(89.2% 0.058 10.001);
  --color-rose-300: oklch(81% 0.117 11.638);
  --color-rose-400: oklch(71.2% 0.194 13.428);
  --color-rose-500: oklch(64.5% 0.246 16.439);
  --color-rose-600: oklch(58.6% 0.253 17.585);
  --color-rose-700: oklch(51.4% 0.222 16.935);
  --color-rose-800: oklch(45.5% 0.188 13.697);
  --color-rose-900: oklch(41% 0.159 10.272);
  --color-rose-950: oklch(27.1% 0.105 12.094);
  /* --color-rose-50 */
  --color-rose-50-100: oklch(96.9% 0.015 12.422 / 1);
  --color-rose-50-90: oklch(96.9% 0.015 12.422 / 0.9);
  --color-rose-50-80: oklch(96.9% 0.015 12.422 / 0.8);
  --color-rose-50-70: oklch(96.9% 0.015 12.422 / 0.7);
  --color-rose-50-60: oklch(96.9% 0.015 12.422 / 0.6);
  --color-rose-50-50: oklch(96.9% 0.015 12.422 / 0.5);
  --color-rose-50-40: oklch(96.9% 0.015 12.422 / 0.4);
  --color-rose-50-30: oklch(96.9% 0.015 12.422 / 0.3);
  --color-rose-50-20: oklch(96.9% 0.015 12.422 / 0.2);
  --color-rose-50-10: oklch(96.9% 0.015 12.422 / 0.1);
  --color-rose-50-5: oklch(96.9% 0.015 12.422 / 0.05);
  /* --color-rose-100 */
  --color-rose-100-100: oklch(94.1% 0.03 12.58 / 1);
  --color-rose-100-90: oklch(94.1% 0.03 12.58 / 0.9);
  --color-rose-100-80: oklch(94.1% 0.03 12.58 / 0.8);
  --color-rose-100-70: oklch(94.1% 0.03 12.58 / 0.7);
  --color-rose-100-60: oklch(94.1% 0.03 12.58 / 0.6);
  --color-rose-100-50: oklch(94.1% 0.03 12.58 / 0.5);
  --color-rose-100-40: oklch(94.1% 0.03 12.58 / 0.4);
  --color-rose-100-30: oklch(94.1% 0.03 12.58 / 0.3);
  --color-rose-100-20: oklch(94.1% 0.03 12.58 / 0.2);
  --color-rose-100-10: oklch(94.1% 0.03 12.58 / 0.1);
  --color-rose-100-5: oklch(94.1% 0.03 12.58 / 0.05);
  /* --color-rose-200 */
  --color-rose-200-100: oklch(89.2% 0.058 10.001 / 1);
  --color-rose-200-90: oklch(89.2% 0.058 10.001 / 0.9);
  --color-rose-200-80: oklch(89.2% 0.058 10.001 / 0.8);
  --color-rose-200-70: oklch(89.2% 0.058 10.001 / 0.7);
  --color-rose-200-60: oklch(89.2% 0.058 10.001 / 0.6);
  --color-rose-200-50: oklch(89.2% 0.058 10.001 / 0.5);
  --color-rose-200-40: oklch(89.2% 0.058 10.001 / 0.4);
  --color-rose-200-30: oklch(89.2% 0.058 10.001 / 0.3);
  --color-rose-200-20: oklch(89.2% 0.058 10.001 / 0.2);
  --color-rose-200-10: oklch(89.2% 0.058 10.001 / 0.1);
  --color-rose-200-5: oklch(89.2% 0.058 10.001 / 0.05);
  /* --color-rose-300 */
  --color-rose-300-100: oklch(81% 0.117 11.638 / 1);
  --color-rose-300-90: oklch(81% 0.117 11.638 / 0.9);
  --color-rose-300-80: oklch(81% 0.117 11.638 / 0.8);
  --color-rose-300-70: oklch(81% 0.117 11.638 / 0.7);
  --color-rose-300-60: oklch(81% 0.117 11.638 / 0.6);
  --color-rose-300-50: oklch(81% 0.117 11.638 / 0.5);
  --color-rose-300-40: oklch(81% 0.117 11.638 / 0.4);
  --color-rose-300-30: oklch(81% 0.117 11.638 / 0.3);
  --color-rose-300-20: oklch(81% 0.117 11.638 / 0.2);
  --color-rose-300-10: oklch(81% 0.117 11.638 / 0.1);
  --color-rose-300-5: oklch(81% 0.117 11.638 / 0.05);
  /* --color-rose-400 */
  --color-rose-400-100: oklch(71.2% 0.194 13.428 / 1);
  --color-rose-400-90: oklch(71.2% 0.194 13.428 / 0.9);
  --color-rose-400-80: oklch(71.2% 0.194 13.428 / 0.8);
  --color-rose-400-70: oklch(71.2% 0.194 13.428 / 0.7);
  --color-rose-400-60: oklch(71.2% 0.194 13.428 / 0.6);
  --color-rose-400-50: oklch(71.2% 0.194 13.428 / 0.5);
  --color-rose-400-40: oklch(71.2% 0.194 13.428 / 0.4);
  --color-rose-400-30: oklch(71.2% 0.194 13.428 / 0.3);
  --color-rose-400-20: oklch(71.2% 0.194 13.428 / 0.2);
  --color-rose-400-10: oklch(71.2% 0.194 13.428 / 0.1);
  --color-rose-400-5: oklch(71.2% 0.194 13.428 / 0.05);
  /* --color-rose-500 */
  --color-rose-500-100: oklch(64.5% 0.246 16.439 / 1);
  --color-rose-500-90: oklch(64.5% 0.246 16.439 / 0.9);
  --color-rose-500-80: oklch(64.5% 0.246 16.439 / 0.8);
  --color-rose-500-70: oklch(64.5% 0.246 16.439 / 0.7);
  --color-rose-500-60: oklch(64.5% 0.246 16.439 / 0.6);
  --color-rose-500-50: oklch(64.5% 0.246 16.439 / 0.5);
  --color-rose-500-40: oklch(64.5% 0.246 16.439 / 0.4);
  --color-rose-500-30: oklch(64.5% 0.246 16.439 / 0.3);
  --color-rose-500-20: oklch(64.5% 0.246 16.439 / 0.2);
  --color-rose-500-10: oklch(64.5% 0.246 16.439 / 0.1);
  --color-rose-500-5: oklch(64.5% 0.246 16.439 / 0.05);
  /* --color-rose-600 */
  --color-rose-600-100: oklch(58.6% 0.253 17.585 / 1);
  --color-rose-600-90: oklch(58.6% 0.253 17.585 / 0.9);
  --color-rose-600-80: oklch(58.6% 0.253 17.585 / 0.8);
  --color-rose-600-70: oklch(58.6% 0.253 17.585 / 0.7);
  --color-rose-600-60: oklch(58.6% 0.253 17.585 / 0.6);
  --color-rose-600-50: oklch(58.6% 0.253 17.585 / 0.5);
  --color-rose-600-40: oklch(58.6% 0.253 17.585 / 0.4);
  --color-rose-600-30: oklch(58.6% 0.253 17.585 / 0.3);
  --color-rose-600-20: oklch(58.6% 0.253 17.585 / 0.2);
  --color-rose-600-10: oklch(58.6% 0.253 17.585 / 0.1);
  --color-rose-600-5: oklch(58.6% 0.253 17.585 / 0.05);
  /* --color-rose-700 */
  --color-rose-700-100: oklch(51.4% 0.222 16.935 / 1);
  --color-rose-700-90: oklch(51.4% 0.222 16.935 / 0.9);
  --color-rose-700-80: oklch(51.4% 0.222 16.935 / 0.8);
  --color-rose-700-70: oklch(51.4% 0.222 16.935 / 0.7);
  --color-rose-700-60: oklch(51.4% 0.222 16.935 / 0.6);
  --color-rose-700-50: oklch(51.4% 0.222 16.935 / 0.5);
  --color-rose-700-40: oklch(51.4% 0.222 16.935 / 0.4);
  --color-rose-700-30: oklch(51.4% 0.222 16.935 / 0.3);
  --color-rose-700-20: oklch(51.4% 0.222 16.935 / 0.2);
  --color-rose-700-10: oklch(51.4% 0.222 16.935 / 0.1);
  --color-rose-700-5: oklch(51.4% 0.222 16.935 / 0.05);
  /* --color-rose-800 */
  --color-rose-800-100: oklch(45.5% 0.188 13.697 / 1);
  --color-rose-800-90: oklch(45.5% 0.188 13.697 / 0.9);
  --color-rose-800-80: oklch(45.5% 0.188 13.697 / 0.8);
  --color-rose-800-70: oklch(45.5% 0.188 13.697 / 0.7);
  --color-rose-800-60: oklch(45.5% 0.188 13.697 / 0.6);
  --color-rose-800-50: oklch(45.5% 0.188 13.697 / 0.5);
  --color-rose-800-40: oklch(45.5% 0.188 13.697 / 0.4);
  --color-rose-800-30: oklch(45.5% 0.188 13.697 / 0.3);
  --color-rose-800-20: oklch(45.5% 0.188 13.697 / 0.2);
  --color-rose-800-10: oklch(45.5% 0.188 13.697 / 0.1);
  --color-rose-800-5: oklch(45.5% 0.188 13.697 / 0.05);
  /* --color-rose-900 */
  --color-rose-900-100: oklch(41% 0.159 10.272 / 1);
  --color-rose-900-90: oklch(41% 0.159 10.272 / 0.9);
  --color-rose-900-80: oklch(41% 0.159 10.272 / 0.8);
  --color-rose-900-70: oklch(41% 0.159 10.272 / 0.7);
  --color-rose-900-60: oklch(41% 0.159 10.272 / 0.6);
  --color-rose-900-50: oklch(41% 0.159 10.272 / 0.5);
  --color-rose-900-40: oklch(41% 0.159 10.272 / 0.4);
  --color-rose-900-30: oklch(41% 0.159 10.272 / 0.3);
  --color-rose-900-20: oklch(41% 0.159 10.272 / 0.2);
  --color-rose-900-10: oklch(41% 0.159 10.272 / 0.1);
  --color-rose-900-5: oklch(41% 0.159 10.272 / 0.05);
  /* --color-rose-950 */
  --color-rose-950-100: oklch(27.1% 0.105 12.094 / 1);
  --color-rose-950-90: oklch(27.1% 0.105 12.094 / 0.9);
  --color-rose-950-80: oklch(27.1% 0.105 12.094 / 0.8);
  --color-rose-950-70: oklch(27.1% 0.105 12.094 / 0.7);
  --color-rose-950-60: oklch(27.1% 0.105 12.094 / 0.6);
  --color-rose-950-50: oklch(27.1% 0.105 12.094 / 0.5);
  --color-rose-950-40: oklch(27.1% 0.105 12.094 / 0.4);
  --color-rose-950-30: oklch(27.1% 0.105 12.094 / 0.3);
  --color-rose-950-20: oklch(27.1% 0.105 12.094 / 0.2);
  --color-rose-950-10: oklch(27.1% 0.105 12.094 / 0.1);
  --color-rose-950-5: oklch(27.1% 0.105 12.094 / 0.05);
  /* Slate */
  --color-slate-50: oklch(98.4% 0.003 247.858);
  --color-slate-100: oklch(96.8% 0.007 247.896);
  --color-slate-200: oklch(92.9% 0.013 255.508);
  --color-slate-300: oklch(86.9% 0.022 252.894);
  --color-slate-400: oklch(70.4% 0.04 256.788);
  --color-slate-500: oklch(55.4% 0.046 257.417);
  --color-slate-600: oklch(44.6% 0.043 257.281);
  --color-slate-700: oklch(37.2% 0.044 257.287);
  --color-slate-800: oklch(27.9% 0.041 260.031);
  --color-slate-900: oklch(20.8% 0.042 265.755);
  --color-slate-950: oklch(12.9% 0.042 264.695);
  /* --color-slate-50 */
  --color-slate-50-100: oklch(98.4% 0.003 247.858 / 1);
  --color-slate-50-90: oklch(98.4% 0.003 247.858 / 0.9);
  --color-slate-50-80: oklch(98.4% 0.003 247.858 / 0.8);
  --color-slate-50-70: oklch(98.4% 0.003 247.858 / 0.7);
  --color-slate-50-60: oklch(98.4% 0.003 247.858 / 0.6);
  --color-slate-50-50: oklch(98.4% 0.003 247.858 / 0.5);
  --color-slate-50-40: oklch(98.4% 0.003 247.858 / 0.4);
  --color-slate-50-30: oklch(98.4% 0.003 247.858 / 0.3);
  --color-slate-50-20: oklch(98.4% 0.003 247.858 / 0.2);
  --color-slate-50-10: oklch(98.4% 0.003 247.858 / 0.1);
  --color-slate-50-5: oklch(98.4% 0.003 247.858 / 0.05);
  /* --color-slate-100 */
  --color-slate-100-100: oklch(96.8% 0.007 247.896 / 1);
  --color-slate-100-90: oklch(96.8% 0.007 247.896 / 0.9);
  --color-slate-100-80: oklch(96.8% 0.007 247.896 / 0.8);
  --color-slate-100-70: oklch(96.8% 0.007 247.896 / 0.7);
  --color-slate-100-60: oklch(96.8% 0.007 247.896 / 0.6);
  --color-slate-100-50: oklch(96.8% 0.007 247.896 / 0.5);
  --color-slate-100-40: oklch(96.8% 0.007 247.896 / 0.4);
  --color-slate-100-30: oklch(96.8% 0.007 247.896 / 0.3);
  --color-slate-100-20: oklch(96.8% 0.007 247.896 / 0.2);
  --color-slate-100-10: oklch(96.8% 0.007 247.896 / 0.1);
  --color-slate-100-5: oklch(96.8% 0.007 247.896 / 0.05);
  /* --color-slate-200 */
  --color-slate-200-100: oklch(92.9% 0.013 255.508 / 1);
  --color-slate-200-90: oklch(92.9% 0.013 255.508 / 0.9);
  --color-slate-200-80: oklch(92.9% 0.013 255.508 / 0.8);
  --color-slate-200-70: oklch(92.9% 0.013 255.508 / 0.7);
  --color-slate-200-60: oklch(92.9% 0.013 255.508 / 0.6);
  --color-slate-200-50: oklch(92.9% 0.013 255.508 / 0.5);
  --color-slate-200-40: oklch(92.9% 0.013 255.508 / 0.4);
  --color-slate-200-30: oklch(92.9% 0.013 255.508 / 0.3);
  --color-slate-200-20: oklch(92.9% 0.013 255.508 / 0.2);
  --color-slate-200-10: oklch(92.9% 0.013 255.508 / 0.1);
  --color-slate-200-5: oklch(92.9% 0.013 255.508 / 0.05);
  /* --color-slate-300 */
  --color-slate-300-100: oklch(86.9% 0.022 252.894 / 1);
  --color-slate-300-90: oklch(86.9% 0.022 252.894 / 0.9);
  --color-slate-300-80: oklch(86.9% 0.022 252.894 / 0.8);
  --color-slate-300-70: oklch(86.9% 0.022 252.894 / 0.7);
  --color-slate-300-60: oklch(86.9% 0.022 252.894 / 0.6);
  --color-slate-300-50: oklch(86.9% 0.022 252.894 / 0.5);
  --color-slate-300-40: oklch(86.9% 0.022 252.894 / 0.4);
  --color-slate-300-30: oklch(86.9% 0.022 252.894 / 0.3);
  --color-slate-300-20: oklch(86.9% 0.022 252.894 / 0.2);
  --color-slate-300-10: oklch(86.9% 0.022 252.894 / 0.1);
  --color-slate-300-5: oklch(86.9% 0.022 252.894 / 0.05);
  /* --color-slate-400 */
  --color-slate-400-100: oklch(70.4% 0.04 256.788 / 1);
  --color-slate-400-90: oklch(70.4% 0.04 256.788 / 0.9);
  --color-slate-400-80: oklch(70.4% 0.04 256.788 / 0.8);
  --color-slate-400-70: oklch(70.4% 0.04 256.788 / 0.7);
  --color-slate-400-60: oklch(70.4% 0.04 256.788 / 0.6);
  --color-slate-400-50: oklch(70.4% 0.04 256.788 / 0.5);
  --color-slate-400-40: oklch(70.4% 0.04 256.788 / 0.4);
  --color-slate-400-30: oklch(70.4% 0.04 256.788 / 0.3);
  --color-slate-400-20: oklch(70.4% 0.04 256.788 / 0.2);
  --color-slate-400-10: oklch(70.4% 0.04 256.788 / 0.1);
  --color-slate-400-5: oklch(70.4% 0.04 256.788 / 0.05);
  /* --color-slate-500 */
  --color-slate-500-100: oklch(55.4% 0.046 257.417 / 1);
  --color-slate-500-90: oklch(55.4% 0.046 257.417 / 0.9);
  --color-slate-500-80: oklch(55.4% 0.046 257.417 / 0.8);
  --color-slate-500-70: oklch(55.4% 0.046 257.417 / 0.7);
  --color-slate-500-60: oklch(55.4% 0.046 257.417 / 0.6);
  --color-slate-500-50: oklch(55.4% 0.046 257.417 / 0.5);
  --color-slate-500-40: oklch(55.4% 0.046 257.417 / 0.4);
  --color-slate-500-30: oklch(55.4% 0.046 257.417 / 0.3);
  --color-slate-500-20: oklch(55.4% 0.046 257.417 / 0.2);
  --color-slate-500-10: oklch(55.4% 0.046 257.417 / 0.1);
  --color-slate-500-5: oklch(55.4% 0.046 257.417 / 0.05);
  /* --color-slate-600 */
  --color-slate-600-100: oklch(44.6% 0.043 257.281 / 1);
  --color-slate-600-90: oklch(44.6% 0.043 257.281 / 0.9);
  --color-slate-600-80: oklch(44.6% 0.043 257.281 / 0.8);
  --color-slate-600-70: oklch(44.6% 0.043 257.281 / 0.7);
  --color-slate-600-60: oklch(44.6% 0.043 257.281 / 0.6);
  --color-slate-600-50: oklch(44.6% 0.043 257.281 / 0.5);
  --color-slate-600-40: oklch(44.6% 0.043 257.281 / 0.4);
  --color-slate-600-30: oklch(44.6% 0.043 257.281 / 0.3);
  --color-slate-600-20: oklch(44.6% 0.043 257.281 / 0.2);
  --color-slate-600-10: oklch(44.6% 0.043 257.281 / 0.1);
  --color-slate-600-5: oklch(44.6% 0.043 257.281 / 0.05);
  /* --color-slate-700 */
  --color-slate-700-100: oklch(37.2% 0.044 257.287 / 1);
  --color-slate-700-90: oklch(37.2% 0.044 257.287 / 0.9);
  --color-slate-700-80: oklch(37.2% 0.044 257.287 / 0.8);
  --color-slate-700-70: oklch(37.2% 0.044 257.287 / 0.7);
  --color-slate-700-60: oklch(37.2% 0.044 257.287 / 0.6);
  --color-slate-700-50: oklch(37.2% 0.044 257.287 / 0.5);
  --color-slate-700-40: oklch(37.2% 0.044 257.287 / 0.4);
  --color-slate-700-30: oklch(37.2% 0.044 257.287 / 0.3);
  --color-slate-700-20: oklch(37.2% 0.044 257.287 / 0.2);
  --color-slate-700-10: oklch(37.2% 0.044 257.287 / 0.1);
  --color-slate-700-5: oklch(37.2% 0.044 257.287 / 0.05);
  /* --color-slate-800 */
  --color-slate-800-100: oklch(27.9% 0.041 260.031 / 1);
  --color-slate-800-90: oklch(27.9% 0.041 260.031 / 0.9);
  --color-slate-800-80: oklch(27.9% 0.041 260.031 / 0.8);
  --color-slate-800-70: oklch(27.9% 0.041 260.031 / 0.7);
  --color-slate-800-60: oklch(27.9% 0.041 260.031 / 0.6);
  --color-slate-800-50: oklch(27.9% 0.041 260.031 / 0.5);
  --color-slate-800-40: oklch(27.9% 0.041 260.031 / 0.4);
  --color-slate-800-30: oklch(27.9% 0.041 260.031 / 0.3);
  --color-slate-800-20: oklch(27.9% 0.041 260.031 / 0.2);
  --color-slate-800-10: oklch(27.9% 0.041 260.031 / 0.1);
  --color-slate-800-5: oklch(27.9% 0.041 260.031 / 0.05);
  /* --color-slate-900 */
  --color-slate-900-100: oklch(20.8% 0.042 265.755 / 1);
  --color-slate-900-90: oklch(20.8% 0.042 265.755 / 0.9);
  --color-slate-900-80: oklch(20.8% 0.042 265.755 / 0.8);
  --color-slate-900-70: oklch(20.8% 0.042 265.755 / 0.7);
  --color-slate-900-60: oklch(20.8% 0.042 265.755 / 0.6);
  --color-slate-900-50: oklch(20.8% 0.042 265.755 / 0.5);
  --color-slate-900-40: oklch(20.8% 0.042 265.755 / 0.4);
  --color-slate-900-30: oklch(20.8% 0.042 265.755 / 0.3);
  --color-slate-900-20: oklch(20.8% 0.042 265.755 / 0.2);
  --color-slate-900-10: oklch(20.8% 0.042 265.755 / 0.1);
  --color-slate-900-5: oklch(20.8% 0.042 265.755 / 0.05);
  /* --color-slate-950 */
  --color-slate-950-100: oklch(12.9% 0.042 264.695 / 1);
  --color-slate-950-90: oklch(12.9% 0.042 264.695 / 0.9);
  --color-slate-950-80: oklch(12.9% 0.042 264.695 / 0.8);
  --color-slate-950-70: oklch(12.9% 0.042 264.695 / 0.7);
  --color-slate-950-60: oklch(12.9% 0.042 264.695 / 0.6);
  --color-slate-950-50: oklch(12.9% 0.042 264.695 / 0.5);
  --color-slate-950-40: oklch(12.9% 0.042 264.695 / 0.4);
  --color-slate-950-30: oklch(12.9% 0.042 264.695 / 0.3);
  --color-slate-950-20: oklch(12.9% 0.042 264.695 / 0.2);
  --color-slate-950-10: oklch(12.9% 0.042 264.695 / 0.1);
  --color-slate-950-5: oklch(12.9% 0.042 264.695 / 0.05);
  /* Gray */
  --color-gray-50: oklch(98.5% 0.002 247.839);
  --color-gray-100: oklch(96.7% 0.003 264.542);
  --color-gray-200: oklch(92.8% 0.006 264.531);
  --color-gray-300: oklch(87.2% 0.01 258.338);
  --color-gray-400: oklch(70.7% 0.022 261.325);
  --color-gray-500: oklch(55.1% 0.027 264.364);
  --color-gray-600: oklch(44.6% 0.03 256.802);
  --color-gray-700: oklch(37.3% 0.034 259.733);
  --color-gray-800: oklch(27.8% 0.033 256.848);
  --color-gray-900: oklch(21% 0.034 264.665);
  --color-gray-950: oklch(13% 0.028 261.692);
  /* --color-gray-50 */
  --color-gray-50-100: oklch(98.5% 0.002 247.839 / 1);
  --color-gray-50-90: oklch(98.5% 0.002 247.839 / 0.9);
  --color-gray-50-80: oklch(98.5% 0.002 247.839 / 0.8);
  --color-gray-50-70: oklch(98.5% 0.002 247.839 / 0.7);
  --color-gray-50-60: oklch(98.5% 0.002 247.839 / 0.6);
  --color-gray-50-50: oklch(98.5% 0.002 247.839 / 0.5);
  --color-gray-50-40: oklch(98.5% 0.002 247.839 / 0.4);
  --color-gray-50-30: oklch(98.5% 0.002 247.839 / 0.3);
  --color-gray-50-20: oklch(98.5% 0.002 247.839 / 0.2);
  --color-gray-50-10: oklch(98.5% 0.002 247.839 / 0.1);
  --color-gray-50-5: oklch(98.5% 0.002 247.839 / 0.05);
  /* --color-gray-100 */
  --color-gray-100-100: oklch(96.7% 0.003 264.542 / 1);
  --color-gray-100-90: oklch(96.7% 0.003 264.542 / 0.9);
  --color-gray-100-80: oklch(96.7% 0.003 264.542 / 0.8);
  --color-gray-100-70: oklch(96.7% 0.003 264.542 / 0.7);
  --color-gray-100-60: oklch(96.7% 0.003 264.542 / 0.6);
  --color-gray-100-50: oklch(96.7% 0.003 264.542 / 0.5);
  --color-gray-100-40: oklch(96.7% 0.003 264.542 / 0.4);
  --color-gray-100-30: oklch(96.7% 0.003 264.542 / 0.3);
  --color-gray-100-20: oklch(96.7% 0.003 264.542 / 0.2);
  --color-gray-100-10: oklch(96.7% 0.003 264.542 / 0.1);
  --color-gray-100-5: oklch(96.7% 0.003 264.542 / 0.05);
  /* --color-gray-200 */
  --color-gray-200-100: oklch(92.8% 0.006 264.531 / 1);
  --color-gray-200-90: oklch(92.8% 0.006 264.531 / 0.9);
  --color-gray-200-80: oklch(92.8% 0.006 264.531 / 0.8);
  --color-gray-200-70: oklch(92.8% 0.006 264.531 / 0.7);
  --color-gray-200-60: oklch(92.8% 0.006 264.531 / 0.6);
  --color-gray-200-50: oklch(92.8% 0.006 264.531 / 0.5);
  --color-gray-200-40: oklch(92.8% 0.006 264.531 / 0.4);
  --color-gray-200-30: oklch(92.8% 0.006 264.531 / 0.3);
  --color-gray-200-20: oklch(92.8% 0.006 264.531 / 0.2);
  --color-gray-200-10: oklch(92.8% 0.006 264.531 / 0.1);
  --color-gray-200-5: oklch(92.8% 0.006 264.531 / 0.05);
  /* --color-gray-300 */
  --color-gray-300-100: oklch(87.2% 0.01 258.338 / 1);
  --color-gray-300-90: oklch(87.2% 0.01 258.338 / 0.9);
  --color-gray-300-80: oklch(87.2% 0.01 258.338 / 0.8);
  --color-gray-300-70: oklch(87.2% 0.01 258.338 / 0.7);
  --color-gray-300-60: oklch(87.2% 0.01 258.338 / 0.6);
  --color-gray-300-50: oklch(87.2% 0.01 258.338 / 0.5);
  --color-gray-300-40: oklch(87.2% 0.01 258.338 / 0.4);
  --color-gray-300-30: oklch(87.2% 0.01 258.338 / 0.3);
  --color-gray-300-20: oklch(87.2% 0.01 258.338 / 0.2);
  --color-gray-300-10: oklch(87.2% 0.01 258.338 / 0.1);
  --color-gray-300-5: oklch(87.2% 0.01 258.338 / 0.05);
  /* --color-gray-400 */
  --color-gray-400-100: oklch(70.7% 0.022 261.325 / 1);
  --color-gray-400-90: oklch(70.7% 0.022 261.325 / 0.9);
  --color-gray-400-80: oklch(70.7% 0.022 261.325 / 0.8);
  --color-gray-400-70: oklch(70.7% 0.022 261.325 / 0.7);
  --color-gray-400-60: oklch(70.7% 0.022 261.325 / 0.6);
  --color-gray-400-50: oklch(70.7% 0.022 261.325 / 0.5);
  --color-gray-400-40: oklch(70.7% 0.022 261.325 / 0.4);
  --color-gray-400-30: oklch(70.7% 0.022 261.325 / 0.3);
  --color-gray-400-20: oklch(70.7% 0.022 261.325 / 0.2);
  --color-gray-400-10: oklch(70.7% 0.022 261.325 / 0.1);
  --color-gray-400-5: oklch(70.7% 0.022 261.325 / 0.05);
  /* --color-gray-500 */
  --color-gray-500-100: oklch(55.1% 0.027 264.364 / 1);
  --color-gray-500-90: oklch(55.1% 0.027 264.364 / 0.9);
  --color-gray-500-80: oklch(55.1% 0.027 264.364 / 0.8);
  --color-gray-500-70: oklch(55.1% 0.027 264.364 / 0.7);
  --color-gray-500-60: oklch(55.1% 0.027 264.364 / 0.6);
  --color-gray-500-50: oklch(55.1% 0.027 264.364 / 0.5);
  --color-gray-500-40: oklch(55.1% 0.027 264.364 / 0.4);
  --color-gray-500-30: oklch(55.1% 0.027 264.364 / 0.3);
  --color-gray-500-20: oklch(55.1% 0.027 264.364 / 0.2);
  --color-gray-500-10: oklch(55.1% 0.027 264.364 / 0.1);
  --color-gray-500-5: oklch(55.1% 0.027 264.364 / 0.05);
  /* --color-gray-600 */
  --color-gray-600-100: oklch(44.6% 0.03 256.802 / 1);
  --color-gray-600-90: oklch(44.6% 0.03 256.802 / 0.9);
  --color-gray-600-80: oklch(44.6% 0.03 256.802 / 0.8);
  --color-gray-600-70: oklch(44.6% 0.03 256.802 / 0.7);
  --color-gray-600-60: oklch(44.6% 0.03 256.802 / 0.6);
  --color-gray-600-50: oklch(44.6% 0.03 256.802 / 0.5);
  --color-gray-600-40: oklch(44.6% 0.03 256.802 / 0.4);
  --color-gray-600-30: oklch(44.6% 0.03 256.802 / 0.3);
  --color-gray-600-20: oklch(44.6% 0.03 256.802 / 0.2);
  --color-gray-600-10: oklch(44.6% 0.03 256.802 / 0.1);
  --color-gray-600-5: oklch(44.6% 0.03 256.802 / 0.05);
  /* --color-gray-700 */
  --color-gray-700-100: oklch(37.3% 0.034 259.733 / 1);
  --color-gray-700-90: oklch(37.3% 0.034 259.733 / 0.9);
  --color-gray-700-80: oklch(37.3% 0.034 259.733 / 0.8);
  --color-gray-700-70: oklch(37.3% 0.034 259.733 / 0.7);
  --color-gray-700-60: oklch(37.3% 0.034 259.733 / 0.6);
  --color-gray-700-50: oklch(37.3% 0.034 259.733 / 0.5);
  --color-gray-700-40: oklch(37.3% 0.034 259.733 / 0.4);
  --color-gray-700-30: oklch(37.3% 0.034 259.733 / 0.3);
  --color-gray-700-20: oklch(37.3% 0.034 259.733 / 0.2);
  --color-gray-700-10: oklch(37.3% 0.034 259.733 / 0.1);
  --color-gray-700-5: oklch(37.3% 0.034 259.733 / 0.05);
  /* --color-gray-800 */
  --color-gray-800-100: oklch(27.8% 0.033 256.848 / 1);
  --color-gray-800-90: oklch(27.8% 0.033 256.848 / 0.9);
  --color-gray-800-80: oklch(27.8% 0.033 256.848 / 0.8);
  --color-gray-800-70: oklch(27.8% 0.033 256.848 / 0.7);
  --color-gray-800-60: oklch(27.8% 0.033 256.848 / 0.6);
  --color-gray-800-50: oklch(27.8% 0.033 256.848 / 0.5);
  --color-gray-800-40: oklch(27.8% 0.033 256.848 / 0.4);
  --color-gray-800-30: oklch(27.8% 0.033 256.848 / 0.3);
  --color-gray-800-20: oklch(27.8% 0.033 256.848 / 0.2);
  --color-gray-800-10: oklch(27.8% 0.033 256.848 / 0.1);
  --color-gray-800-5: oklch(27.8% 0.033 256.848 / 0.05);
  /* --color-gray-900 */
  --color-gray-900-100: oklch(21% 0.034 264.665 / 1);
  --color-gray-900-90: oklch(21% 0.034 264.665 / 0.9);
  --color-gray-900-80: oklch(21% 0.034 264.665 / 0.8);
  --color-gray-900-70: oklch(21% 0.034 264.665 / 0.7);
  --color-gray-900-60: oklch(21% 0.034 264.665 / 0.6);
  --color-gray-900-50: oklch(21% 0.034 264.665 / 0.5);
  --color-gray-900-40: oklch(21% 0.034 264.665 / 0.4);
  --color-gray-900-30: oklch(21% 0.034 264.665 / 0.3);
  --color-gray-900-20: oklch(21% 0.034 264.665 / 0.2);
  --color-gray-900-10: oklch(21% 0.034 264.665 / 0.1);
  --color-gray-900-5: oklch(21% 0.034 264.665 / 0.05);
  /* --color-gray-950 */
  --color-gray-950-100: oklch(13% 0.028 261.692 / 1);
  --color-gray-950-90: oklch(13% 0.028 261.692 / 0.9);
  --color-gray-950-80: oklch(13% 0.028 261.692 / 0.8);
  --color-gray-950-70: oklch(13% 0.028 261.692 / 0.7);
  --color-gray-950-60: oklch(13% 0.028 261.692 / 0.6);
  --color-gray-950-50: oklch(13% 0.028 261.692 / 0.5);
  --color-gray-950-40: oklch(13% 0.028 261.692 / 0.4);
  --color-gray-950-30: oklch(13% 0.028 261.692 / 0.3);
  --color-gray-950-20: oklch(13% 0.028 261.692 / 0.2);
  --color-gray-950-10: oklch(13% 0.028 261.692 / 0.1);
  --color-gray-950-5: oklch(13% 0.028 261.692 / 0.05);
  /* Zinc */
  --color-zinc-50: oklch(98.5% 0 0);
  --color-zinc-100: oklch(96.7% 0.001 286.375);
  --color-zinc-200: oklch(92% 0.004 286.32);
  --color-zinc-300: oklch(87.1% 0.006 286.286);
  --color-zinc-400: oklch(70.5% 0.015 286.067);
  --color-zinc-500: oklch(55.2% 0.016 285.938);
  --color-zinc-600: oklch(44.2% 0.017 285.786);
  --color-zinc-700: oklch(37% 0.013 285.805);
  --color-zinc-800: oklch(27.4% 0.006 286.033);
  --color-zinc-900: oklch(21% 0.006 285.885);
  --color-zinc-950: oklch(14.1% 0.005 285.823);
  /* --color-zinc-50 */
  --color-zinc-50-100: oklch(98.5% 0 0 / 1);
  --color-zinc-50-90: oklch(98.5% 0 0 / 0.9);
  --color-zinc-50-80: oklch(98.5% 0 0 / 0.8);
  --color-zinc-50-70: oklch(98.5% 0 0 / 0.7);
  --color-zinc-50-60: oklch(98.5% 0 0 / 0.6);
  --color-zinc-50-50: oklch(98.5% 0 0 / 0.5);
  --color-zinc-50-40: oklch(98.5% 0 0 / 0.4);
  --color-zinc-50-30: oklch(98.5% 0 0 / 0.3);
  --color-zinc-50-20: oklch(98.5% 0 0 / 0.2);
  --color-zinc-50-10: oklch(98.5% 0 0 / 0.1);
  --color-zinc-50-5: oklch(98.5% 0 0 / 0.05);
  /* --color-zinc-100 */
  --color-zinc-100-100: oklch(96.7% 0.001 286.375 / 1);
  --color-zinc-100-90: oklch(96.7% 0.001 286.375 / 0.9);
  --color-zinc-100-80: oklch(96.7% 0.001 286.375 / 0.8);
  --color-zinc-100-70: oklch(96.7% 0.001 286.375 / 0.7);
  --color-zinc-100-60: oklch(96.7% 0.001 286.375 / 0.6);
  --color-zinc-100-50: oklch(96.7% 0.001 286.375 / 0.5);
  --color-zinc-100-40: oklch(96.7% 0.001 286.375 / 0.4);
  --color-zinc-100-30: oklch(96.7% 0.001 286.375 / 0.3);
  --color-zinc-100-20: oklch(96.7% 0.001 286.375 / 0.2);
  --color-zinc-100-10: oklch(96.7% 0.001 286.375 / 0.1);
  --color-zinc-100-5: oklch(96.7% 0.001 286.375 / 0.05);
  /* --color-zinc-200 */
  --color-zinc-200-100: oklch(92% 0.004 286.32 / 1);
  --color-zinc-200-90: oklch(92% 0.004 286.32 / 0.9);
  --color-zinc-200-80: oklch(92% 0.004 286.32 / 0.8);
  --color-zinc-200-70: oklch(92% 0.004 286.32 / 0.7);
  --color-zinc-200-60: oklch(92% 0.004 286.32 / 0.6);
  --color-zinc-200-50: oklch(92% 0.004 286.32 / 0.5);
  --color-zinc-200-40: oklch(92% 0.004 286.32 / 0.4);
  --color-zinc-200-30: oklch(92% 0.004 286.32 / 0.3);
  --color-zinc-200-20: oklch(92% 0.004 286.32 / 0.2);
  --color-zinc-200-10: oklch(92% 0.004 286.32 / 0.1);
  --color-zinc-200-5: oklch(92% 0.004 286.32 / 0.05);
  /* --color-zinc-300 */
  --color-zinc-300-100: oklch(87.1% 0.006 286.286 / 1);
  --color-zinc-300-90: oklch(87.1% 0.006 286.286 / 0.9);
  --color-zinc-300-80: oklch(87.1% 0.006 286.286 / 0.8);
  --color-zinc-300-70: oklch(87.1% 0.006 286.286 / 0.7);
  --color-zinc-300-60: oklch(87.1% 0.006 286.286 / 0.6);
  --color-zinc-300-50: oklch(87.1% 0.006 286.286 / 0.5);
  --color-zinc-300-40: oklch(87.1% 0.006 286.286 / 0.4);
  --color-zinc-300-30: oklch(87.1% 0.006 286.286 / 0.3);
  --color-zinc-300-20: oklch(87.1% 0.006 286.286 / 0.2);
  --color-zinc-300-10: oklch(87.1% 0.006 286.286 / 0.1);
  --color-zinc-300-5: oklch(87.1% 0.006 286.286 / 0.05);
  /* --color-zinc-400 */
  --color-zinc-400-100: oklch(70.5% 0.015 286.067 / 1);
  --color-zinc-400-90: oklch(70.5% 0.015 286.067 / 0.9);
  --color-zinc-400-80: oklch(70.5% 0.015 286.067 / 0.8);
  --color-zinc-400-70: oklch(70.5% 0.015 286.067 / 0.7);
  --color-zinc-400-60: oklch(70.5% 0.015 286.067 / 0.6);
  --color-zinc-400-50: oklch(70.5% 0.015 286.067 / 0.5);
  --color-zinc-400-40: oklch(70.5% 0.015 286.067 / 0.4);
  --color-zinc-400-30: oklch(70.5% 0.015 286.067 / 0.3);
  --color-zinc-400-20: oklch(70.5% 0.015 286.067 / 0.2);
  --color-zinc-400-10: oklch(70.5% 0.015 286.067 / 0.1);
  --color-zinc-400-5: oklch(70.5% 0.015 286.067 / 0.05);
  /* --color-zinc-500 */
  --color-zinc-500-100: oklch(55.2% 0.016 285.938 / 1);
  --color-zinc-500-90: oklch(55.2% 0.016 285.938 / 0.9);
  --color-zinc-500-80: oklch(55.2% 0.016 285.938 / 0.8);
  --color-zinc-500-70: oklch(55.2% 0.016 285.938 / 0.7);
  --color-zinc-500-60: oklch(55.2% 0.016 285.938 / 0.6);
  --color-zinc-500-50: oklch(55.2% 0.016 285.938 / 0.5);
  --color-zinc-500-40: oklch(55.2% 0.016 285.938 / 0.4);
  --color-zinc-500-30: oklch(55.2% 0.016 285.938 / 0.3);
  --color-zinc-500-20: oklch(55.2% 0.016 285.938 / 0.2);
  --color-zinc-500-10: oklch(55.2% 0.016 285.938 / 0.1);
  --color-zinc-500-5: oklch(55.2% 0.016 285.938 / 0.05);
  /* --color-zinc-600 */
  --color-zinc-600-100: oklch(44.2% 0.017 285.786 / 1);
  --color-zinc-600-90: oklch(44.2% 0.017 285.786 / 0.9);
  --color-zinc-600-80: oklch(44.2% 0.017 285.786 / 0.8);
  --color-zinc-600-70: oklch(44.2% 0.017 285.786 / 0.7);
  --color-zinc-600-60: oklch(44.2% 0.017 285.786 / 0.6);
  --color-zinc-600-50: oklch(44.2% 0.017 285.786 / 0.5);
  --color-zinc-600-40: oklch(44.2% 0.017 285.786 / 0.4);
  --color-zinc-600-30: oklch(44.2% 0.017 285.786 / 0.3);
  --color-zinc-600-20: oklch(44.2% 0.017 285.786 / 0.2);
  --color-zinc-600-10: oklch(44.2% 0.017 285.786 / 0.1);
  --color-zinc-600-5: oklch(44.2% 0.017 285.786 / 0.05);
  /* --color-zinc-700 */
  --color-zinc-700-100: oklch(37% 0.013 285.805 / 1);
  --color-zinc-700-90: oklch(37% 0.013 285.805 / 0.9);
  --color-zinc-700-80: oklch(37% 0.013 285.805 / 0.8);
  --color-zinc-700-70: oklch(37% 0.013 285.805 / 0.7);
  --color-zinc-700-60: oklch(37% 0.013 285.805 / 0.6);
  --color-zinc-700-50: oklch(37% 0.013 285.805 / 0.5);
  --color-zinc-700-40: oklch(37% 0.013 285.805 / 0.4);
  --color-zinc-700-30: oklch(37% 0.013 285.805 / 0.3);
  --color-zinc-700-20: oklch(37% 0.013 285.805 / 0.2);
  --color-zinc-700-10: oklch(37% 0.013 285.805 / 0.1);
  --color-zinc-700-5: oklch(37% 0.013 285.805 / 0.05);
  /* --color-zinc-800 */
  --color-zinc-800-100: oklch(27.4% 0.006 286.033 / 1);
  --color-zinc-800-90: oklch(27.4% 0.006 286.033 / 0.9);
  --color-zinc-800-80: oklch(27.4% 0.006 286.033 / 0.8);
  --color-zinc-800-70: oklch(27.4% 0.006 286.033 / 0.7);
  --color-zinc-800-60: oklch(27.4% 0.006 286.033 / 0.6);
  --color-zinc-800-50: oklch(27.4% 0.006 286.033 / 0.5);
  --color-zinc-800-40: oklch(27.4% 0.006 286.033 / 0.4);
  --color-zinc-800-30: oklch(27.4% 0.006 286.033 / 0.3);
  --color-zinc-800-20: oklch(27.4% 0.006 286.033 / 0.2);
  --color-zinc-800-10: oklch(27.4% 0.006 286.033 / 0.1);
  --color-zinc-800-5: oklch(27.4% 0.006 286.033 / 0.05);
  /* --color-zinc-900 */
  --color-zinc-900-100: oklch(21% 0.006 285.885 / 1);
  --color-zinc-900-90: oklch(21% 0.006 285.885 / 0.9);
  --color-zinc-900-80: oklch(21% 0.006 285.885 / 0.8);
  --color-zinc-900-70: oklch(21% 0.006 285.885 / 0.7);
  --color-zinc-900-60: oklch(21% 0.006 285.885 / 0.6);
  --color-zinc-900-50: oklch(21% 0.006 285.885 / 0.5);
  --color-zinc-900-40: oklch(21% 0.006 285.885 / 0.4);
  --color-zinc-900-30: oklch(21% 0.006 285.885 / 0.3);
  --color-zinc-900-20: oklch(21% 0.006 285.885 / 0.2);
  --color-zinc-900-10: oklch(21% 0.006 285.885 / 0.1);
  --color-zinc-900-5: oklch(21% 0.006 285.885 / 0.05);
  /* --color-zinc-950 */
  --color-zinc-950-100: oklch(14.1% 0.005 285.823 / 1);
  --color-zinc-950-90: oklch(14.1% 0.005 285.823 / 0.9);
  --color-zinc-950-80: oklch(14.1% 0.005 285.823 / 0.8);
  --color-zinc-950-70: oklch(14.1% 0.005 285.823 / 0.7);
  --color-zinc-950-60: oklch(14.1% 0.005 285.823 / 0.6);
  --color-zinc-950-50: oklch(14.1% 0.005 285.823 / 0.5);
  --color-zinc-950-40: oklch(14.1% 0.005 285.823 / 0.4);
  --color-zinc-950-30: oklch(14.1% 0.005 285.823 / 0.3);
  --color-zinc-950-20: oklch(14.1% 0.005 285.823 / 0.2);
  --color-zinc-950-10: oklch(14.1% 0.005 285.823 / 0.1);
  --color-zinc-950-5: oklch(14.1% 0.005 285.823 / 0.05);
  /* Neutral */
  --color-neutral-50: oklch(98.5% 0 0);
  --color-neutral-100: oklch(97% 0 0);
  --color-neutral-200: oklch(92.2% 0 0);
  --color-neutral-300: oklch(87% 0 0);
  --color-neutral-400: oklch(70.8% 0 0);
  --color-neutral-500: oklch(55.6% 0 0);
  --color-neutral-600: oklch(43.9% 0 0);
  --color-neutral-700: oklch(37.1% 0 0);
  --color-neutral-750: oklch(29% 0 0);
  --color-neutral-800: oklch(26.9% 0 0);
  --color-neutral-850: oklch(23.5% 0 0);
  --color-neutral-900: oklch(20.5% 0 0);
  --color-neutral-950: oklch(14.5% 0 0);
  /* --color-neutral-50 */
  --color-neutral-50-100: oklch(98.5% 0 0 / 1);
  --color-neutral-50-90: oklch(98.5% 0 0 / 0.9);
  --color-neutral-50-80: oklch(98.5% 0 0 / 0.8);
  --color-neutral-50-70: oklch(98.5% 0 0 / 0.7);
  --color-neutral-50-60: oklch(98.5% 0 0 / 0.6);
  --color-neutral-50-50: oklch(98.5% 0 0 / 0.5);
  --color-neutral-50-40: oklch(98.5% 0 0 / 0.4);
  --color-neutral-50-30: oklch(98.5% 0 0 / 0.3);
  --color-neutral-50-20: oklch(98.5% 0 0 / 0.2);
  --color-neutral-50-10: oklch(98.5% 0 0 / 0.1);
  --color-neutral-50-5: oklch(98.5% 0 0 / 0.05);
  /* --color-neutral-100 */
  --color-neutral-100-100: oklch(97% 0 0 / 1);
  --color-neutral-100-90: oklch(97% 0 0 / 0.9);
  --color-neutral-100-80: oklch(97% 0 0 / 0.8);
  --color-neutral-100-70: oklch(97% 0 0 / 0.7);
  --color-neutral-100-60: oklch(97% 0 0 / 0.6);
  --color-neutral-100-50: oklch(97% 0 0 / 0.5);
  --color-neutral-100-40: oklch(97% 0 0 / 0.4);
  --color-neutral-100-30: oklch(97% 0 0 / 0.3);
  --color-neutral-100-20: oklch(97% 0 0 / 0.2);
  --color-neutral-100-10: oklch(97% 0 0 / 0.1);
  --color-neutral-100-5: oklch(97% 0 0 / 0.05);
  /* --color-neutral-200 */
  --color-neutral-200-100: oklch(92.2% 0 0 / 1);
  --color-neutral-200-90: oklch(92.2% 0 0 / 0.9);
  --color-neutral-200-80: oklch(92.2% 0 0 / 0.8);
  --color-neutral-200-70: oklch(92.2% 0 0 / 0.7);
  --color-neutral-200-60: oklch(92.2% 0 0 / 0.6);
  --color-neutral-200-50: oklch(92.2% 0 0 / 0.5);
  --color-neutral-200-40: oklch(92.2% 0 0 / 0.4);
  --color-neutral-200-30: oklch(92.2% 0 0 / 0.3);
  --color-neutral-200-20: oklch(92.2% 0 0 / 0.2);
  --color-neutral-200-10: oklch(92.2% 0 0 / 0.1);
  --color-neutral-200-5: oklch(92.2% 0 0 / 0.05);
  /* --color-neutral-300 */
  --color-neutral-300-100: oklch(87% 0 0 / 1);
  --color-neutral-300-90: oklch(87% 0 0 / 0.9);
  --color-neutral-300-80: oklch(87% 0 0 / 0.8);
  --color-neutral-300-70: oklch(87% 0 0 / 0.7);
  --color-neutral-300-60: oklch(87% 0 0 / 0.6);
  --color-neutral-300-50: oklch(87% 0 0 / 0.5);
  --color-neutral-300-40: oklch(87% 0 0 / 0.4);
  --color-neutral-300-30: oklch(87% 0 0 / 0.3);
  --color-neutral-300-20: oklch(87% 0 0 / 0.2);
  --color-neutral-300-10: oklch(87% 0 0 / 0.1);
  --color-neutral-300-5: oklch(87% 0 0 / 0.05);
  /* --color-neutral-400 */
  --color-neutral-400-100: oklch(70.8% 0 0 / 1);
  --color-neutral-400-90: oklch(70.8% 0 0 / 0.9);
  --color-neutral-400-80: oklch(70.8% 0 0 / 0.8);
  --color-neutral-400-70: oklch(70.8% 0 0 / 0.7);
  --color-neutral-400-60: oklch(70.8% 0 0 / 0.6);
  --color-neutral-400-50: oklch(70.8% 0 0 / 0.5);
  --color-neutral-400-40: oklch(70.8% 0 0 / 0.4);
  --color-neutral-400-30: oklch(70.8% 0 0 / 0.3);
  --color-neutral-400-20: oklch(70.8% 0 0 / 0.2);
  --color-neutral-400-10: oklch(70.8% 0 0 / 0.1);
  --color-neutral-400-5: oklch(70.8% 0 0 / 0.05);
  /* --color-neutral-500 */
  --color-neutral-500-100: oklch(55.6% 0 0 / 1);
  --color-neutral-500-90: oklch(55.6% 0 0 / 0.9);
  --color-neutral-500-80: oklch(55.6% 0 0 / 0.8);
  --color-neutral-500-70: oklch(55.6% 0 0 / 0.7);
  --color-neutral-500-60: oklch(55.6% 0 0 / 0.6);
  --color-neutral-500-50: oklch(55.6% 0 0 / 0.5);
  --color-neutral-500-40: oklch(55.6% 0 0 / 0.4);
  --color-neutral-500-30: oklch(55.6% 0 0 / 0.3);
  --color-neutral-500-20: oklch(55.6% 0 0 / 0.2);
  --color-neutral-500-10: oklch(55.6% 0 0 / 0.1);
  --color-neutral-500-5: oklch(55.6% 0 0 / 0.05);
  /* --color-neutral-600 */
  --color-neutral-600-100: oklch(43.9% 0 0 / 1);
  --color-neutral-600-90: oklch(43.9% 0 0 / 0.9);
  --color-neutral-600-80: oklch(43.9% 0 0 / 0.8);
  --color-neutral-600-70: oklch(43.9% 0 0 / 0.7);
  --color-neutral-600-60: oklch(43.9% 0 0 / 0.6);
  --color-neutral-600-50: oklch(43.9% 0 0 / 0.5);
  --color-neutral-600-40: oklch(43.9% 0 0 / 0.4);
  --color-neutral-600-30: oklch(43.9% 0 0 / 0.3);
  --color-neutral-600-20: oklch(43.9% 0 0 / 0.2);
  --color-neutral-600-10: oklch(43.9% 0 0 / 0.1);
  --color-neutral-600-5: oklch(43.9% 0 0 / 0.05);
  /* --color-neutral-700 */
  --color-neutral-700-100: oklch(37.1% 0 0 / 1);
  --color-neutral-700-90: oklch(37.1% 0 0 / 0.9);
  --color-neutral-700-80: oklch(37.1% 0 0 / 0.8);
  --color-neutral-700-70: oklch(37.1% 0 0 / 0.7);
  --color-neutral-700-60: oklch(37.1% 0 0 / 0.6);
  --color-neutral-700-50: oklch(37.1% 0 0 / 0.5);
  --color-neutral-700-40: oklch(37.1% 0 0 / 0.4);
  --color-neutral-700-30: oklch(37.1% 0 0 / 0.3);
  --color-neutral-700-20: oklch(37.1% 0 0 / 0.2);
  --color-neutral-700-10: oklch(37.1% 0 0 / 0.1);
  --color-neutral-700-5: oklch(37.1% 0 0 / 0.05);
  /* --color-neutral-750 */
  --color-neutral-750-100: oklch(32% 0 0 / 1);
  --color-neutral-750-90: oklch(32% 0 0 / 0.9);
  --color-neutral-750-80: oklch(32% 0 0 / 0.8);
  --color-neutral-750-70: oklch(32% 0 0 / 0.7);
  --color-neutral-750-60: oklch(32% 0 0 / 0.6);
  --color-neutral-750-50: oklch(32% 0 0 / 0.5);
  --color-neutral-750-40: oklch(32% 0 0 / 0.4);
  --color-neutral-750-30: oklch(32% 0 0 / 0.3);
  --color-neutral-750-20: oklch(32% 0 0 / 0.2);
  --color-neutral-750-10: oklch(32% 0 0 / 0.1);
  --color-neutral-750-5: oklch(32% 0 0 / 0.05);
  /* --color-neutral-800 */
  --color-neutral-800-100: oklch(26.9% 0 0 / 1);
  --color-neutral-800-90: oklch(26.9% 0 0 / 0.9);
  --color-neutral-800-80: oklch(26.9% 0 0 / 0.8);
  --color-neutral-800-70: oklch(26.9% 0 0 / 0.7);
  --color-neutral-800-60: oklch(26.9% 0 0 / 0.6);
  --color-neutral-800-50: oklch(26.9% 0 0 / 0.5);
  --color-neutral-800-40: oklch(26.9% 0 0 / 0.4);
  --color-neutral-800-30: oklch(26.9% 0 0 / 0.3);
  --color-neutral-800-20: oklch(26.9% 0 0 / 0.2);
  --color-neutral-800-10: oklch(26.9% 0 0 / 0.1);
  --color-neutral-800-5: oklch(26.9% 0 0 / 0.05);
  /* --color-neutral-850 */
  --color-neutral-800-100: oklch(23.5% 0 0 / 1);
  --color-neutral-800-90: oklch(23.5% 0 0 / 0.9);
  --color-neutral-800-80: oklch(23.5% 0 0 / 0.8);
  --color-neutral-800-70: oklch(23.5% 0 0 / 0.7);
  --color-neutral-800-60: oklch(23.5% 0 0 / 0.6);
  --color-neutral-800-50: oklch(23.5% 0 0 / 0.5);
  --color-neutral-800-40: oklch(23.5% 0 0 / 0.4);
  --color-neutral-800-30: oklch(23.5% 0 0 / 0.3);
  --color-neutral-800-20: oklch(23.5% 0 0 / 0.2);
  --color-neutral-800-10: oklch(23.5% 0 0 / 0.1);
  --color-neutral-800-5: oklch(23.5% 0 0 / 0.05);
  /* --color-neutral-900 */
  --color-neutral-900-100: oklch(20.5% 0 0 / 1);
  --color-neutral-900-90: oklch(20.5% 0 0 / 0.9);
  --color-neutral-900-80: oklch(20.5% 0 0 / 0.8);
  --color-neutral-900-70: oklch(20.5% 0 0 / 0.7);
  --color-neutral-900-60: oklch(20.5% 0 0 / 0.6);
  --color-neutral-900-50: oklch(20.5% 0 0 / 0.5);
  --color-neutral-900-40: oklch(20.5% 0 0 / 0.4);
  --color-neutral-900-30: oklch(20.5% 0 0 / 0.3);
  --color-neutral-900-20: oklch(20.5% 0 0 / 0.2);
  --color-neutral-900-10: oklch(20.5% 0 0 / 0.1);
  --color-neutral-900-5: oklch(20.5% 0 0 / 0.05);
  /* --color-neutral-950 */
  --color-neutral-950-100: oklch(14.5% 0 0 / 1);
  --color-neutral-950-90: oklch(14.5% 0 0 / 0.9);
  --color-neutral-950-80: oklch(14.5% 0 0 / 0.8);
  --color-neutral-950-70: oklch(14.5% 0 0 / 0.7);
  --color-neutral-950-60: oklch(14.5% 0 0 / 0.6);
  --color-neutral-950-50: oklch(14.5% 0 0 / 0.5);
  --color-neutral-950-40: oklch(14.5% 0 0 / 0.4);
  --color-neutral-950-30: oklch(14.5% 0 0 / 0.3);
  --color-neutral-950-20: oklch(14.5% 0 0 / 0.2);
  --color-neutral-950-10: oklch(14.5% 0 0 / 0.1);
  --color-neutral-950-5: oklch(14.5% 0 0 / 0.05);
  /* Stone */
  --color-stone-50: oklch(98.5% 0.001 106.423);
  --color-stone-100: oklch(97% 0.001 106.424);
  --color-stone-200: oklch(92.3% 0.003 48.717);
  --color-stone-300: oklch(86.9% 0.005 56.366);
  --color-stone-400: oklch(70.9% 0.01 56.259);
  --color-stone-500: oklch(55.3% 0.013 58.071);
  --color-stone-600: oklch(44.4% 0.011 73.639);
  --color-stone-700: oklch(37.4% 0.01 67.558);
  --color-stone-800: oklch(26.8% 0.007 34.298);
  --color-stone-900: oklch(21.6% 0.006 56.043);
  --color-stone-950: oklch(14.7% 0.004 49.25);
  /* --color-stone-50 */
  --color-stone-50-100: oklch(98.5% 0.001 106.423 / 1);
  --color-stone-50-90: oklch(98.5% 0.001 106.423 / 0.9);
  --color-stone-50-80: oklch(98.5% 0.001 106.423 / 0.8);
  --color-stone-50-70: oklch(98.5% 0.001 106.423 / 0.7);
  --color-stone-50-60: oklch(98.5% 0.001 106.423 / 0.6);
  --color-stone-50-50: oklch(98.5% 0.001 106.423 / 0.5);
  --color-stone-50-40: oklch(98.5% 0.001 106.423 / 0.4);
  --color-stone-50-30: oklch(98.5% 0.001 106.423 / 0.3);
  --color-stone-50-20: oklch(98.5% 0.001 106.423 / 0.2);
  --color-stone-50-10: oklch(98.5% 0.001 106.423 / 0.1);
  --color-stone-50-5: oklch(98.5% 0.001 106.423 / 0.05);
  /* --color-stone-100 */
  --color-stone-100-100: oklch(97% 0.001 106.424 / 1);
  --color-stone-100-90: oklch(97% 0.001 106.424 / 0.9);
  --color-stone-100-80: oklch(97% 0.001 106.424 / 0.8);
  --color-stone-100-70: oklch(97% 0.001 106.424 / 0.7);
  --color-stone-100-60: oklch(97% 0.001 106.424 / 0.6);
  --color-stone-100-50: oklch(97% 0.001 106.424 / 0.5);
  --color-stone-100-40: oklch(97% 0.001 106.424 / 0.4);
  --color-stone-100-30: oklch(97% 0.001 106.424 / 0.3);
  --color-stone-100-20: oklch(97% 0.001 106.424 / 0.2);
  --color-stone-100-10: oklch(97% 0.001 106.424 / 0.1);
  --color-stone-100-5: oklch(97% 0.001 106.424 / 0.05);
  /* --color-stone-200 */
  --color-stone-200-100: oklch(92.3% 0.003 48.717 / 1);
  --color-stone-200-90: oklch(92.3% 0.003 48.717 / 0.9);
  --color-stone-200-80: oklch(92.3% 0.003 48.717 / 0.8);
  --color-stone-200-70: oklch(92.3% 0.003 48.717 / 0.7);
  --color-stone-200-60: oklch(92.3% 0.003 48.717 / 0.6);
  --color-stone-200-50: oklch(92.3% 0.003 48.717 / 0.5);
  --color-stone-200-40: oklch(92.3% 0.003 48.717 / 0.4);
  --color-stone-200-30: oklch(92.3% 0.003 48.717 / 0.3);
  --color-stone-200-20: oklch(92.3% 0.003 48.717 / 0.2);
  --color-stone-200-10: oklch(92.3% 0.003 48.717 / 0.1);
  --color-stone-200-5: oklch(92.3% 0.003 48.717 / 0.05);
  /* --color-stone-300 */
  --color-stone-300-100: oklch(86.9% 0.005 56.366 / 1);
  --color-stone-300-90: oklch(86.9% 0.005 56.366 / 0.9);
  --color-stone-300-80: oklch(86.9% 0.005 56.366 / 0.8);
  --color-stone-300-70: oklch(86.9% 0.005 56.366 / 0.7);
  --color-stone-300-60: oklch(86.9% 0.005 56.366 / 0.6);
  --color-stone-300-50: oklch(86.9% 0.005 56.366 / 0.5);
  --color-stone-300-40: oklch(86.9% 0.005 56.366 / 0.4);
  --color-stone-300-30: oklch(86.9% 0.005 56.366 / 0.3);
  --color-stone-300-20: oklch(86.9% 0.005 56.366 / 0.2);
  --color-stone-300-10: oklch(86.9% 0.005 56.366 / 0.1);
  --color-stone-300-5: oklch(86.9% 0.005 56.366 / 0.05);
  /* --color-stone-400 */
  --color-stone-400-100: oklch(70.9% 0.01 56.259 / 1);
  --color-stone-400-90: oklch(70.9% 0.01 56.259 / 0.9);
  --color-stone-400-80: oklch(70.9% 0.01 56.259 / 0.8);
  --color-stone-400-70: oklch(70.9% 0.01 56.259 / 0.7);
  --color-stone-400-60: oklch(70.9% 0.01 56.259 / 0.6);
  --color-stone-400-50: oklch(70.9% 0.01 56.259 / 0.5);
  --color-stone-400-40: oklch(70.9% 0.01 56.259 / 0.4);
  --color-stone-400-30: oklch(70.9% 0.01 56.259 / 0.3);
  --color-stone-400-20: oklch(70.9% 0.01 56.259 / 0.2);
  --color-stone-400-10: oklch(70.9% 0.01 56.259 / 0.1);
  --color-stone-400-5: oklch(70.9% 0.01 56.259 / 0.05);
  /* --color-stone-500 */
  --color-stone-500-100: oklch(55.3% 0.013 58.071 / 1);
  --color-stone-500-90: oklch(55.3% 0.013 58.071 / 0.9);
  --color-stone-500-80: oklch(55.3% 0.013 58.071 / 0.8);
  --color-stone-500-70: oklch(55.3% 0.013 58.071 / 0.7);
  --color-stone-500-60: oklch(55.3% 0.013 58.071 / 0.6);
  --color-stone-500-50: oklch(55.3% 0.013 58.071 / 0.5);
  --color-stone-500-40: oklch(55.3% 0.013 58.071 / 0.4);
  --color-stone-500-30: oklch(55.3% 0.013 58.071 / 0.3);
  --color-stone-500-20: oklch(55.3% 0.013 58.071 / 0.2);
  --color-stone-500-10: oklch(55.3% 0.013 58.071 / 0.1);
  --color-stone-500-5: oklch(55.3% 0.013 58.071 / 0.05);
  /* --color-stone-600 */
  --color-stone-600-100: oklch(44.4% 0.011 73.639 / 1);
  --color-stone-600-90: oklch(44.4% 0.011 73.639 / 0.9);
  --color-stone-600-80: oklch(44.4% 0.011 73.639 / 0.8);
  --color-stone-600-70: oklch(44.4% 0.011 73.639 / 0.7);
  --color-stone-600-60: oklch(44.4% 0.011 73.639 / 0.6);
  --color-stone-600-50: oklch(44.4% 0.011 73.639 / 0.5);
  --color-stone-600-40: oklch(44.4% 0.011 73.639 / 0.4);
  --color-stone-600-30: oklch(44.4% 0.011 73.639 / 0.3);
  --color-stone-600-20: oklch(44.4% 0.011 73.639 / 0.2);
  --color-stone-600-10: oklch(44.4% 0.011 73.639 / 0.1);
  --color-stone-600-5: oklch(44.4% 0.011 73.639 / 0.05);
  /* --color-stone-700 */
  --color-stone-700-100: oklch(37.4% 0.01 67.558 / 1);
  --color-stone-700-90: oklch(37.4% 0.01 67.558 / 0.9);
  --color-stone-700-80: oklch(37.4% 0.01 67.558 / 0.8);
  --color-stone-700-70: oklch(37.4% 0.01 67.558 / 0.7);
  --color-stone-700-60: oklch(37.4% 0.01 67.558 / 0.6);
  --color-stone-700-50: oklch(37.4% 0.01 67.558 / 0.5);
  --color-stone-700-40: oklch(37.4% 0.01 67.558 / 0.4);
  --color-stone-700-30: oklch(37.4% 0.01 67.558 / 0.3);
  --color-stone-700-20: oklch(37.4% 0.01 67.558 / 0.2);
  --color-stone-700-10: oklch(37.4% 0.01 67.558 / 0.1);
  --color-stone-700-5: oklch(37.4% 0.01 67.558 / 0.05);
  /* --color-stone-800 */
  --color-stone-800-100: oklch(26.8% 0.007 34.298 / 1);
  --color-stone-800-90: oklch(26.8% 0.007 34.298 / 0.9);
  --color-stone-800-80: oklch(26.8% 0.007 34.298 / 0.8);
  --color-stone-800-70: oklch(26.8% 0.007 34.298 / 0.7);
  --color-stone-800-60: oklch(26.8% 0.007 34.298 / 0.6);
  --color-stone-800-50: oklch(26.8% 0.007 34.298 / 0.5);
  --color-stone-800-40: oklch(26.8% 0.007 34.298 / 0.4);
  --color-stone-800-30: oklch(26.8% 0.007 34.298 / 0.3);
  --color-stone-800-20: oklch(26.8% 0.007 34.298 / 0.2);
  --color-stone-800-10: oklch(26.8% 0.007 34.298 / 0.1);
  --color-stone-800-5: oklch(26.8% 0.007 34.298 / 0.05);
  /* --color-stone-900 */
  --color-stone-900-100: oklch(21.6% 0.006 56.043 / 1);
  --color-stone-900-90: oklch(21.6% 0.006 56.043 / 0.9);
  --color-stone-900-80: oklch(21.6% 0.006 56.043 / 0.8);
  --color-stone-900-70: oklch(21.6% 0.006 56.043 / 0.7);
  --color-stone-900-60: oklch(21.6% 0.006 56.043 / 0.6);
  --color-stone-900-50: oklch(21.6% 0.006 56.043 / 0.5);
  --color-stone-900-40: oklch(21.6% 0.006 56.043 / 0.4);
  --color-stone-900-30: oklch(21.6% 0.006 56.043 / 0.3);
  --color-stone-900-20: oklch(21.6% 0.006 56.043 / 0.2);
  --color-stone-900-10: oklch(21.6% 0.006 56.043 / 0.1);
  --color-stone-900-5: oklch(21.6% 0.006 56.043 / 0.05);
  /* --color-stone-950 */
  --color-stone-950-100: oklch(14.7% 0.004 49.25 / 1);
  --color-stone-950-90: oklch(14.7% 0.004 49.25 / 0.9);
  --color-stone-950-80: oklch(14.7% 0.004 49.25 / 0.8);
  --color-stone-950-70: oklch(14.7% 0.004 49.25 / 0.7);
  --color-stone-950-60: oklch(14.7% 0.004 49.25 / 0.6);
  --color-stone-950-50: oklch(14.7% 0.004 49.25 / 0.5);
  --color-stone-950-40: oklch(14.7% 0.004 49.25 / 0.4);
  --color-stone-950-30: oklch(14.7% 0.004 49.25 / 0.3);
  --color-stone-950-20: oklch(14.7% 0.004 49.25 / 0.2);
  --color-stone-950-10: oklch(14.7% 0.004 49.25 / 0.1);
  --color-stone-950-5: oklch(14.7% 0.004 49.25 / 0.05);
  /*Alpha Transparent*/
  --alpha-0: oklch(100% 0 0 / 0);
  --unset-0: oklch(100% 0 0 / 0);
  /*Alpha White*/
  --alpha-white-10: oklch(100% 0 0 / 0.1);
  --alpha-white-20: oklch(100% 0 0 / 0.2);
  --alpha-white-30: oklch(100% 0 0 / 0.3);
  --alpha-white-40: oklch(100% 0 0 / 0.4);
  --alpha-white-50: oklch(100% 0 0 / 0.5);
  --alpha-white-60: oklch(100% 0 0 / 0.6);
  --alpha-white-70: oklch(100% 0 0 / 0.7);
  --alpha-white-80: oklch(100% 0 0 / 0.8);
  --alpha-white-90: oklch(100% 0 0 / 0.9);
  --alpha-white-100: oklch(100% 0 0);
  /*Alpha Black*/
  --alpha-black-10: oklch(0% 0 0 / 0.1);
  --alpha-black-20: oklch(0% 0 0 / 0.2);
  --alpha-black-30: oklch(0% 0 0 / 0.3);
  --alpha-black-40: oklch(0% 0 0 / 0.4);
  --alpha-black-50: oklch(0% 0 0 / 0.5);
  --alpha-black-60: oklch(0% 0 0 / 0.6);
  --alpha-black-70: oklch(0% 0 0 / 0.7);
  --alpha-black-80: oklch(0% 0 0 / 0.8);
  --alpha-black-90: oklch(0% 0 0 / 0.9);
  --alpha-black-100: oklch(0% 0 0);
  /*Utility Red*/
  --utility-red-50: var(--color-red-50);
  --utility-red-100: var(--color-red-100);
  --utility-red-200: var(--color-red-200);
  --utility-red-300: var(--color-red-300);
  --utility-red-400: var(--color-red-400);
  --utility-red-500: var(--color-red-500);
  --utility-red-600: var(--color-red-600);
  --utility-red-700: var(--color-red-700);
  --utility-red-800: var(--color-red-800);
  --utility-red-900: var(--color-red-900);
  --utility-red-950: var(--color-red-950);
  /*Alpha Red*/
  --alpha-red-50-100: var(--color-red-50-100);
  --alpha-red-50-90: var(--color-red-50-90);
  --alpha-red-50-80: var(--color-red-50-80);
  --alpha-red-50-70: var(--color-red-50-70);
  --alpha-red-50-60: var(--color-red-50-60);
  --alpha-red-50-50: var(--color-red-50-50);
  --alpha-red-50-40: var(--color-red-50-40);
  --alpha-red-50-30: var(--color-red-50-30);
  --alpha-red-50-20: var(--color-red-50-20);
  --alpha-red-50-10: var(--color-red-50-10);
  --alpha-red-50-5: var(--color-red-50-5);
  --alpha-red-100-100: var(--color-red-100-100);
  --alpha-red-100-90: var(--color-red-100-90);
  --alpha-red-100-80: var(--color-red-100-80);
  --alpha-red-100-70: var(--color-red-100-70);
  --alpha-red-100-60: var(--color-red-100-60);
  --alpha-red-100-50: var(--color-red-100-50);
  --alpha-red-100-40: var(--color-red-100-40);
  --alpha-red-100-30: var(--color-red-100-30);
  --alpha-red-100-20: var(--color-red-100-20);
  --alpha-red-100-10: var(--color-red-100-10);
  --alpha-red-100-5: var(--color-red-100-5);
  --alpha-red-200-100: var(--color-red-200-100);
  --alpha-red-200-90: var(--color-red-200-90);
  --alpha-red-200-80: var(--color-red-200-80);
  --alpha-red-200-70: var(--color-red-200-70);
  --alpha-red-200-60: var(--color-red-200-60);
  --alpha-red-200-50: var(--color-red-200-50);
  --alpha-red-200-40: var(--color-red-200-40);
  --alpha-red-200-30: var(--color-red-200-30);
  --alpha-red-200-20: var(--color-red-200-20);
  --alpha-red-200-10: var(--color-red-200-10);
  --alpha-red-200-5: var(--color-red-200-5);
  --alpha-red-300-100: var(--color-red-300-100);
  --alpha-red-300-90: var(--color-red-300-90);
  --alpha-red-300-80: var(--color-red-300-80);
  --alpha-red-300-70: var(--color-red-300-70);
  --alpha-red-300-60: var(--color-red-300-60);
  --alpha-red-300-50: var(--color-red-300-50);
  --alpha-red-300-40: var(--color-red-300-40);
  --alpha-red-300-30: var(--color-red-300-30);
  --alpha-red-300-20: var(--color-red-300-20);
  --alpha-red-300-10: var(--color-red-300-10);
  --alpha-red-300-5: var(--color-red-300-5);
  --alpha-red-400-100: var(--color-red-400-100);
  --alpha-red-400-90: var(--color-red-400-90);
  --alpha-red-400-80: var(--color-red-400-80);
  --alpha-red-400-70: var(--color-red-400-70);
  --alpha-red-400-60: var(--color-red-400-60);
  --alpha-red-400-50: var(--color-red-400-50);
  --alpha-red-400-40: var(--color-red-400-40);
  --alpha-red-400-30: var(--color-red-400-30);
  --alpha-red-400-20: var(--color-red-400-20);
  --alpha-red-400-10: var(--color-red-400-10);
  --alpha-red-400-5: var(--color-red-400-5);
  --alpha-red-500-100: var(--color-red-500-100);
  --alpha-red-500-90: var(--color-red-500-90);
  --alpha-red-500-80: var(--color-red-500-80);
  --alpha-red-500-70: var(--color-red-500-70);
  --alpha-red-500-60: var(--color-red-500-60);
  --alpha-red-500-50: var(--color-red-500-50);
  --alpha-red-500-40: var(--color-red-500-40);
  --alpha-red-500-30: var(--color-red-500-30);
  --alpha-red-500-20: var(--color-red-500-20);
  --alpha-red-500-10: var(--color-red-500-10);
  --alpha-red-500-5: var(--color-red-500-5);
  --alpha-red-600-100: var(--color-red-600-100);
  --alpha-red-600-90: var(--color-red-600-90);
  --alpha-red-600-80: var(--color-red-600-80);
  --alpha-red-600-70: var(--color-red-600-70);
  --alpha-red-600-60: var(--color-red-600-60);
  --alpha-red-600-50: var(--color-red-600-50);
  --alpha-red-600-40: var(--color-red-600-40);
  --alpha-red-600-30: var(--color-red-600-30);
  --alpha-red-600-20: var(--color-red-600-20);
  --alpha-red-600-10: var(--color-red-600-10);
  --alpha-red-600-5: var(--color-red-600-5);
  --alpha-red-700-100: var(--color-red-700-100);
  --alpha-red-700-90: var(--color-red-700-90);
  --alpha-red-700-80: var(--color-red-700-80);
  --alpha-red-700-70: var(--color-red-700-70);
  --alpha-red-700-60: var(--color-red-700-60);
  --alpha-red-700-50: var(--color-red-700-50);
  --alpha-red-700-40: var(--color-red-700-40);
  --alpha-red-700-30: var(--color-red-700-30);
  --alpha-red-700-20: var(--color-red-700-20);
  --alpha-red-700-10: var(--color-red-700-10);
  --alpha-red-700-5: var(--color-red-700-5);
  --alpha-red-800-100: var(--color-red-800-100);
  --alpha-red-800-90: var(--color-red-800-90);
  --alpha-red-800-80: var(--color-red-800-80);
  --alpha-red-800-70: var(--color-red-800-70);
  --alpha-red-800-60: var(--color-red-800-60);
  --alpha-red-800-50: var(--color-red-800-50);
  --alpha-red-800-40: var(--color-red-800-40);
  --alpha-red-800-30: var(--color-red-800-30);
  --alpha-red-800-20: var(--color-red-800-20);
  --alpha-red-800-10: var(--color-red-800-10);
  --alpha-red-800-5: var(--color-red-800-5);
  --alpha-red-900-100: var(--color-red-900-100);
  --alpha-red-900-90: var(--color-red-900-90);
  --alpha-red-900-80: var(--color-red-900-80);
  --alpha-red-900-70: var(--color-red-900-70);
  --alpha-red-900-60: var(--color-red-900-60);
  --alpha-red-900-50: var(--color-red-900-50);
  --alpha-red-900-40: var(--color-red-900-40);
  --alpha-red-900-30: var(--color-red-900-30);
  --alpha-red-900-20: var(--color-red-900-20);
  --alpha-red-900-10: var(--color-red-900-10);
  --alpha-red-900-5: var(--color-red-900-5);
  --alpha-red-950-100: var(--color-red-950-100);
  --alpha-red-950-90: var(--color-red-950-90);
  --alpha-red-950-80: var(--color-red-950-80);
  --alpha-red-950-70: var(--color-red-950-70);
  --alpha-red-950-60: var(--color-red-950-60);
  --alpha-red-950-50: var(--color-red-950-50);
  --alpha-red-950-40: var(--color-red-950-40);
  --alpha-red-950-30: var(--color-red-950-30);
  --alpha-red-950-20: var(--color-red-950-20);
  --alpha-red-950-10: var(--color-red-950-10);
  --alpha-red-950-5: var(--color-red-950-5);
  /* Utility Orange */
  --utility-orange-50: var(--color-orange-50);
  --utility-orange-100: var(--color-orange-100);
  --utility-orange-200: var(--color-orange-200);
  --utility-orange-300: var(--color-orange-300);
  --utility-orange-400: var(--color-orange-400);
  --utility-orange-500: var(--color-orange-500);
  --utility-orange-600: var(--color-orange-600);
  --utility-orange-700: var(--color-orange-700);
  --utility-orange-800: var(--color-orange-800);
  --utility-orange-900: var(--color-orange-900);
  --utility-orange-950: var(--color-orange-950);
  --alpha-orange-50-100: var(--color-orange-50-100);
  --alpha-orange-50-90: var(--color-orange-50-90);
  --alpha-orange-50-80: var(--color-orange-50-80);
  --alpha-orange-50-70: var(--color-orange-50-70);
  --alpha-orange-50-60: var(--color-orange-50-60);
  --alpha-orange-50-50: var(--color-orange-50-50);
  --alpha-orange-50-40: var(--color-orange-50-40);
  --alpha-orange-50-30: var(--color-orange-50-30);
  --alpha-orange-50-20: var(--color-orange-50-20);
  --alpha-orange-50-10: var(--color-orange-50-10);
  --alpha-orange-50-5: var(--color-orange-50-5);
  --alpha-orange-100-100: var(--color-orange-100-100);
  --alpha-orange-100-90: var(--color-orange-100-90);
  --alpha-orange-100-80: var(--color-orange-100-80);
  --alpha-orange-100-70: var(--color-orange-100-70);
  --alpha-orange-100-60: var(--color-orange-100-60);
  --alpha-orange-100-50: var(--color-orange-100-50);
  --alpha-orange-100-40: var(--color-orange-100-40);
  --alpha-orange-100-30: var(--color-orange-100-30);
  --alpha-orange-100-20: var(--color-orange-100-20);
  --alpha-orange-100-10: var(--color-orange-100-10);
  --alpha-orange-100-5: var(--color-orange-100-5);
  --alpha-orange-200-100: var(--color-orange-200-100);
  --alpha-orange-200-90: var(--color-orange-200-90);
  --alpha-orange-200-80: var(--color-orange-200-80);
  --alpha-orange-200-70: var(--color-orange-200-70);
  --alpha-orange-200-60: var(--color-orange-200-60);
  --alpha-orange-200-50: var(--color-orange-200-50);
  --alpha-orange-200-40: var(--color-orange-200-40);
  --alpha-orange-200-30: var(--color-orange-200-30);
  --alpha-orange-200-20: var(--color-orange-200-20);
  --alpha-orange-200-10: var(--color-orange-200-10);
  --alpha-orange-200-5: var(--color-orange-200-5);
  --alpha-orange-300-100: var(--color-orange-300-100);
  --alpha-orange-300-90: var(--color-orange-300-90);
  --alpha-orange-300-80: var(--color-orange-300-80);
  --alpha-orange-300-70: var(--color-orange-300-70);
  --alpha-orange-300-60: var(--color-orange-300-60);
  --alpha-orange-300-50: var(--color-orange-300-50);
  --alpha-orange-300-40: var(--color-orange-300-40);
  --alpha-orange-300-30: var(--color-orange-300-30);
  --alpha-orange-300-20: var(--color-orange-300-20);
  --alpha-orange-300-10: var(--color-orange-300-10);
  --alpha-orange-300-5: var(--color-orange-300-5);
  --alpha-orange-400-100: var(--color-orange-400-100);
  --alpha-orange-400-90: var(--color-orange-400-90);
  --alpha-orange-400-80: var(--color-orange-400-80);
  --alpha-orange-400-70: var(--color-orange-400-70);
  --alpha-orange-400-60: var(--color-orange-400-60);
  --alpha-orange-400-50: var(--color-orange-400-50);
  --alpha-orange-400-40: var(--color-orange-400-40);
  --alpha-orange-400-30: var(--color-orange-400-30);
  --alpha-orange-400-20: var(--color-orange-400-20);
  --alpha-orange-400-10: var(--color-orange-400-10);
  --alpha-orange-400-5: var(--color-orange-400-5);
  --alpha-orange-500-100: var(--color-orange-500-100);
  --alpha-orange-500-90: var(--color-orange-500-90);
  --alpha-orange-500-80: var(--color-orange-500-80);
  --alpha-orange-500-70: var(--color-orange-500-70);
  --alpha-orange-500-60: var(--color-orange-500-60);
  --alpha-orange-500-50: var(--color-orange-500-50);
  --alpha-orange-500-40: var(--color-orange-500-40);
  --alpha-orange-500-30: var(--color-orange-500-30);
  --alpha-orange-500-20: var(--color-orange-500-20);
  --alpha-orange-500-10: var(--color-orange-500-10);
  --alpha-orange-500-5: var(--color-orange-500-5);
  --alpha-orange-600-100: var(--color-orange-600-100);
  --alpha-orange-600-90: var(--color-orange-600-90);
  --alpha-orange-600-80: var(--color-orange-600-80);
  --alpha-orange-600-70: var(--color-orange-600-70);
  --alpha-orange-600-60: var(--color-orange-600-60);
  --alpha-orange-600-50: var(--color-orange-600-50);
  --alpha-orange-600-40: var(--color-orange-600-40);
  --alpha-orange-600-30: var(--color-orange-600-30);
  --alpha-orange-600-20: var(--color-orange-600-20);
  --alpha-orange-600-10: var(--color-orange-600-10);
  --alpha-orange-600-5: var(--color-orange-600-5);
  --alpha-orange-700-100: var(--color-orange-700-100);
  --alpha-orange-700-90: var(--color-orange-700-90);
  --alpha-orange-700-80: var(--color-orange-700-80);
  --alpha-orange-700-70: var(--color-orange-700-70);
  --alpha-orange-700-60: var(--color-orange-700-60);
  --alpha-orange-700-50: var(--color-orange-700-50);
  --alpha-orange-700-40: var(--color-orange-700-40);
  --alpha-orange-700-30: var(--color-orange-700-30);
  --alpha-orange-700-20: var(--color-orange-700-20);
  --alpha-orange-700-10: var(--color-orange-700-10);
  --alpha-orange-700-5: var(--color-orange-700-5);
  --alpha-orange-800-100: var(--color-orange-800-100);
  --alpha-orange-800-90: var(--color-orange-800-90);
  --alpha-orange-800-80: var(--color-orange-800-80);
  --alpha-orange-800-70: var(--color-orange-800-70);
  --alpha-orange-800-60: var(--color-orange-800-60);
  --alpha-orange-800-50: var(--color-orange-800-50);
  --alpha-orange-800-40: var(--color-orange-800-40);
  --alpha-orange-800-30: var(--color-orange-800-30);
  --alpha-orange-800-20: var(--color-orange-800-20);
  --alpha-orange-800-10: var(--color-orange-800-10);
  --alpha-orange-800-5: var(--color-orange-800-5);
  --alpha-orange-900-100: var(--color-orange-900-100);
  --alpha-orange-900-90: var(--color-orange-900-90);
  --alpha-orange-900-80: var(--color-orange-900-80);
  --alpha-orange-900-70: var(--color-orange-900-70);
  --alpha-orange-900-60: var(--color-orange-900-60);
  --alpha-orange-900-50: var(--color-orange-900-50);
  --alpha-orange-900-40: var(--color-orange-900-40);
  --alpha-orange-900-30: var(--color-orange-900-30);
  --alpha-orange-900-20: var(--color-orange-900-20);
  --alpha-orange-900-10: var(--color-orange-900-10);
  --alpha-orange-900-5: var(--color-orange-900-5);
  --alpha-orange-950-100: var(--color-orange-950-100);
  --alpha-orange-950-90: var(--color-orange-950-90);
  --alpha-orange-950-80: var(--color-orange-950-80);
  --alpha-orange-950-70: var(--color-orange-950-70);
  --alpha-orange-950-60: var(--color-orange-950-60);
  --alpha-orange-950-50: var(--color-orange-950-50);
  --alpha-orange-950-40: var(--color-orange-950-40);
  --alpha-orange-950-30: var(--color-orange-950-30);
  --alpha-orange-950-20: var(--color-orange-950-20);
  --alpha-orange-950-10: var(--color-orange-950-10);
  --alpha-orange-950-5: var(--color-orange-950-5);
  /* Utility Amber */
  --utility-amber-50: var(--color-amber-50);
  --utility-amber-100: var(--color-amber-100);
  --utility-amber-200: var(--color-amber-200);
  --utility-amber-300: var(--color-amber-300);
  --utility-amber-400: var(--color-amber-400);
  --utility-amber-500: var(--color-amber-500);
  --utility-amber-600: var(--color-amber-600);
  --utility-amber-700: var(--color-amber-700);
  --utility-amber-800: var(--color-amber-800);
  --utility-amber-900: var(--color-amber-900);
  --utility-amber-950: var(--color-amber-950);
  --alpha-amber-50-100: var(--color-amber-50-100);
  --alpha-amber-50-90: var(--color-amber-50-90);
  --alpha-amber-50-80: var(--color-amber-50-80);
  --alpha-amber-50-70: var(--color-amber-50-70);
  --alpha-amber-50-60: var(--color-amber-50-60);
  --alpha-amber-50-50: var(--color-amber-50-50);
  --alpha-amber-50-40: var(--color-amber-50-40);
  --alpha-amber-50-30: var(--color-amber-50-30);
  --alpha-amber-50-20: var(--color-amber-50-20);
  --alpha-amber-50-10: var(--color-amber-50-10);
  --alpha-amber-50-5: var(--color-amber-50-5);
  --alpha-amber-100-100: var(--color-amber-100-100);
  --alpha-amber-100-90: var(--color-amber-100-90);
  --alpha-amber-100-80: var(--color-amber-100-80);
  --alpha-amber-100-70: var(--color-amber-100-70);
  --alpha-amber-100-60: var(--color-amber-100-60);
  --alpha-amber-100-50: var(--color-amber-100-50);
  --alpha-amber-100-40: var(--color-amber-100-40);
  --alpha-amber-100-30: var(--color-amber-100-30);
  --alpha-amber-100-20: var(--color-amber-100-20);
  --alpha-amber-100-10: var(--color-amber-100-10);
  --alpha-amber-100-5: var(--color-amber-100-5);
  --alpha-amber-200-100: var(--color-amber-200-100);
  --alpha-amber-200-90: var(--color-amber-200-90);
  --alpha-amber-200-80: var(--color-amber-200-80);
  --alpha-amber-200-70: var(--color-amber-200-70);
  --alpha-amber-200-60: var(--color-amber-200-60);
  --alpha-amber-200-50: var(--color-amber-200-50);
  --alpha-amber-200-40: var(--color-amber-200-40);
  --alpha-amber-200-30: var(--color-amber-200-30);
  --alpha-amber-200-20: var(--color-amber-200-20);
  --alpha-amber-200-10: var(--color-amber-200-10);
  --alpha-amber-200-5: var(--color-amber-200-5);
  --alpha-amber-300-100: var(--color-amber-300-100);
  --alpha-amber-300-90: var(--color-amber-300-90);
  --alpha-amber-300-80: var(--color-amber-300-80);
  --alpha-amber-300-70: var(--color-amber-300-70);
  --alpha-amber-300-60: var(--color-amber-300-60);
  --alpha-amber-300-50: var(--color-amber-300-50);
  --alpha-amber-300-40: var(--color-amber-300-40);
  --alpha-amber-300-30: var(--color-amber-300-30);
  --alpha-amber-300-20: var(--color-amber-300-20);
  --alpha-amber-300-10: var(--color-amber-300-10);
  --alpha-amber-300-5: var(--color-amber-300-5);
  --alpha-amber-400-100: var(--color-amber-400-100);
  --alpha-amber-400-90: var(--color-amber-400-90);
  --alpha-amber-400-80: var(--color-amber-400-80);
  --alpha-amber-400-70: var(--color-amber-400-70);
  --alpha-amber-400-60: var(--color-amber-400-60);
  --alpha-amber-400-50: var(--color-amber-400-50);
  --alpha-amber-400-40: var(--color-amber-400-40);
  --alpha-amber-400-30: var(--color-amber-400-30);
  --alpha-amber-400-20: var(--color-amber-400-20);
  --alpha-amber-400-10: var(--color-amber-400-10);
  --alpha-amber-400-5: var(--color-amber-400-5);
  --alpha-amber-500-100: var(--color-amber-500-100);
  --alpha-amber-500-90: var(--color-amber-500-90);
  --alpha-amber-500-80: var(--color-amber-500-80);
  --alpha-amber-500-70: var(--color-amber-500-70);
  --alpha-amber-500-60: var(--color-amber-500-60);
  --alpha-amber-500-50: var(--color-amber-500-50);
  --alpha-amber-500-40: var(--color-amber-500-40);
  --alpha-amber-500-30: var(--color-amber-500-30);
  --alpha-amber-500-20: var(--color-amber-500-20);
  --alpha-amber-500-10: var(--color-amber-500-10);
  --alpha-amber-500-5: var(--color-amber-500-5);
  --alpha-amber-600-100: var(--color-amber-600-100);
  --alpha-amber-600-90: var(--color-amber-600-90);
  --alpha-amber-600-80: var(--color-amber-600-80);
  --alpha-amber-600-70: var(--color-amber-600-70);
  --alpha-amber-600-60: var(--color-amber-600-60);
  --alpha-amber-600-50: var(--color-amber-600-50);
  --alpha-amber-600-40: var(--color-amber-600-40);
  --alpha-amber-600-30: var(--color-amber-600-30);
  --alpha-amber-600-20: var(--color-amber-600-20);
  --alpha-amber-600-10: var(--color-amber-600-10);
  --alpha-amber-600-5: var(--color-amber-600-5);
  --alpha-amber-700-100: var(--color-amber-700-100);
  --alpha-amber-700-90: var(--color-amber-700-90);
  --alpha-amber-700-80: var(--color-amber-700-80);
  --alpha-amber-700-70: var(--color-amber-700-70);
  --alpha-amber-700-60: var(--color-amber-700-60);
  --alpha-amber-700-50: var(--color-amber-700-50);
  --alpha-amber-700-40: var(--color-amber-700-40);
  --alpha-amber-700-30: var(--color-amber-700-30);
  --alpha-amber-700-20: var(--color-amber-700-20);
  --alpha-amber-700-10: var(--color-amber-700-10);
  --alpha-amber-700-5: var(--color-amber-700-5);
  --alpha-amber-800-100: var(--color-amber-800-100);
  --alpha-amber-800-90: var(--color-amber-800-90);
  --alpha-amber-800-80: var(--color-amber-800-80);
  --alpha-amber-800-70: var(--color-amber-800-70);
  --alpha-amber-800-60: var(--color-amber-800-60);
  --alpha-amber-800-50: var(--color-amber-800-50);
  --alpha-amber-800-40: var(--color-amber-800-40);
  --alpha-amber-800-30: var(--color-amber-800-30);
  --alpha-amber-800-20: var(--color-amber-800-20);
  --alpha-amber-800-10: var(--color-amber-800-10);
  --alpha-amber-800-5: var(--color-amber-800-5);
  --alpha-amber-900-100: var(--color-amber-900-100);
  --alpha-amber-900-90: var(--color-amber-900-90);
  --alpha-amber-900-80: var(--color-amber-900-80);
  --alpha-amber-900-70: var(--color-amber-900-70);
  --alpha-amber-900-60: var(--color-amber-900-60);
  --alpha-amber-900-50: var(--color-amber-900-50);
  --alpha-amber-900-40: var(--color-amber-900-40);
  --alpha-amber-900-30: var(--color-amber-900-30);
  --alpha-amber-900-20: var(--color-amber-900-20);
  --alpha-amber-900-10: var(--color-amber-900-10);
  --alpha-amber-900-5: var(--color-amber-900-5);
  --alpha-amber-950-100: var(--color-amber-950-100);
  --alpha-amber-950-90: var(--color-amber-950-90);
  --alpha-amber-950-80: var(--color-amber-950-80);
  --alpha-amber-950-70: var(--color-amber-950-70);
  --alpha-amber-950-60: var(--color-amber-950-60);
  --alpha-amber-950-50: var(--color-amber-950-50);
  --alpha-amber-950-40: var(--color-amber-950-40);
  --alpha-amber-950-30: var(--color-amber-950-30);
  --alpha-amber-950-20: var(--color-amber-950-20);
  --alpha-amber-950-10: var(--color-amber-950-10);
  --alpha-amber-950-5: var(--color-amber-950-5);
  /* Utility Yellow */
  --utility-yellow-50: var(--color-yellow-50);
  --utility-yellow-100: var(--color-yellow-100);
  --utility-yellow-200: var(--color-yellow-200);
  --utility-yellow-300: var(--color-yellow-300);
  --utility-yellow-400: var(--color-yellow-400);
  --utility-yellow-500: var(--color-yellow-500);
  --utility-yellow-600: var(--color-yellow-600);
  --utility-yellow-700: var(--color-yellow-700);
  --utility-yellow-800: var(--color-yellow-800);
  --utility-yellow-900: var(--color-yellow-900);
  --utility-yellow-950: var(--color-yellow-950);
  --alpha-yellow-50-100: var(--color-yellow-50-100);
  --alpha-yellow-50-90: var(--color-yellow-50-90);
  --alpha-yellow-50-80: var(--color-yellow-50-80);
  --alpha-yellow-50-70: var(--color-yellow-50-70);
  --alpha-yellow-50-60: var(--color-yellow-50-60);
  --alpha-yellow-50-50: var(--color-yellow-50-50);
  --alpha-yellow-50-40: var(--color-yellow-50-40);
  --alpha-yellow-50-30: var(--color-yellow-50-30);
  --alpha-yellow-50-20: var(--color-yellow-50-20);
  --alpha-yellow-50-10: var(--color-yellow-50-10);
  --alpha-yellow-50-5: var(--color-yellow-50-5);
  --alpha-yellow-100-100: var(--color-yellow-100-100);
  --alpha-yellow-100-90: var(--color-yellow-100-90);
  --alpha-yellow-100-80: var(--color-yellow-100-80);
  --alpha-yellow-100-70: var(--color-yellow-100-70);
  --alpha-yellow-100-60: var(--color-yellow-100-60);
  --alpha-yellow-100-50: var(--color-yellow-100-50);
  --alpha-yellow-100-40: var(--color-yellow-100-40);
  --alpha-yellow-100-30: var(--color-yellow-100-30);
  --alpha-yellow-100-20: var(--color-yellow-100-20);
  --alpha-yellow-100-10: var(--color-yellow-100-10);
  --alpha-yellow-100-5: var(--color-yellow-100-5);
  --alpha-yellow-200-100: var(--color-yellow-200-100);
  --alpha-yellow-200-90: var(--color-yellow-200-90);
  --alpha-yellow-200-80: var(--color-yellow-200-80);
  --alpha-yellow-200-70: var(--color-yellow-200-70);
  --alpha-yellow-200-60: var(--color-yellow-200-60);
  --alpha-yellow-200-50: var(--color-yellow-200-50);
  --alpha-yellow-200-40: var(--color-yellow-200-40);
  --alpha-yellow-200-30: var(--color-yellow-200-30);
  --alpha-yellow-200-20: var(--color-yellow-200-20);
  --alpha-yellow-200-10: var(--color-yellow-200-10);
  --alpha-yellow-200-5: var(--color-yellow-200-5);
  --alpha-yellow-300-100: var(--color-yellow-300-100);
  --alpha-yellow-300-90: var(--color-yellow-300-90);
  --alpha-yellow-300-80: var(--color-yellow-300-80);
  --alpha-yellow-300-70: var(--color-yellow-300-70);
  --alpha-yellow-300-60: var(--color-yellow-300-60);
  --alpha-yellow-300-50: var(--color-yellow-300-50);
  --alpha-yellow-300-40: var(--color-yellow-300-40);
  --alpha-yellow-300-30: var(--color-yellow-300-30);
  --alpha-yellow-300-20: var(--color-yellow-300-20);
  --alpha-yellow-300-10: var(--color-yellow-300-10);
  --alpha-yellow-300-5: var(--color-yellow-300-5);
  --alpha-yellow-400-100: var(--color-yellow-400-100);
  --alpha-yellow-400-90: var(--color-yellow-400-90);
  --alpha-yellow-400-80: var(--color-yellow-400-80);
  --alpha-yellow-400-70: var(--color-yellow-400-70);
  --alpha-yellow-400-60: var(--color-yellow-400-60);
  --alpha-yellow-400-50: var(--color-yellow-400-50);
  --alpha-yellow-400-40: var(--color-yellow-400-40);
  --alpha-yellow-400-30: var(--color-yellow-400-30);
  --alpha-yellow-400-20: var(--color-yellow-400-20);
  --alpha-yellow-400-10: var(--color-yellow-400-10);
  --alpha-yellow-400-5: var(--color-yellow-400-5);
  --alpha-yellow-500-100: var(--color-yellow-500-100);
  --alpha-yellow-500-90: var(--color-yellow-500-90);
  --alpha-yellow-500-80: var(--color-yellow-500-80);
  --alpha-yellow-500-70: var(--color-yellow-500-70);
  --alpha-yellow-500-60: var(--color-yellow-500-60);
  --alpha-yellow-500-50: var(--color-yellow-500-50);
  --alpha-yellow-500-40: var(--color-yellow-500-40);
  --alpha-yellow-500-30: var(--color-yellow-500-30);
  --alpha-yellow-500-20: var(--color-yellow-500-20);
  --alpha-yellow-500-10: var(--color-yellow-500-10);
  --alpha-yellow-500-5: var(--color-yellow-500-5);
  --alpha-yellow-600-100: var(--color-yellow-600-100);
  --alpha-yellow-600-90: var(--color-yellow-600-90);
  --alpha-yellow-600-80: var(--color-yellow-600-80);
  --alpha-yellow-600-70: var(--color-yellow-600-70);
  --alpha-yellow-600-60: var(--color-yellow-600-60);
  --alpha-yellow-600-50: var(--color-yellow-600-50);
  --alpha-yellow-600-40: var(--color-yellow-600-40);
  --alpha-yellow-600-30: var(--color-yellow-600-30);
  --alpha-yellow-600-20: var(--color-yellow-600-20);
  --alpha-yellow-600-10: var(--color-yellow-600-10);
  --alpha-yellow-600-5: var(--color-yellow-600-5);
  --alpha-yellow-700-100: var(--color-yellow-700-100);
  --alpha-yellow-700-90: var(--color-yellow-700-90);
  --alpha-yellow-700-80: var(--color-yellow-700-80);
  --alpha-yellow-700-70: var(--color-yellow-700-70);
  --alpha-yellow-700-60: var(--color-yellow-700-60);
  --alpha-yellow-700-50: var(--color-yellow-700-50);
  --alpha-yellow-700-40: var(--color-yellow-700-40);
  --alpha-yellow-700-30: var(--color-yellow-700-30);
  --alpha-yellow-700-20: var(--color-yellow-700-20);
  --alpha-yellow-700-10: var(--color-yellow-700-10);
  --alpha-yellow-700-5: var(--color-yellow-700-5);
  --alpha-yellow-800-100: var(--color-yellow-800-100);
  --alpha-yellow-800-90: var(--color-yellow-800-90);
  --alpha-yellow-800-80: var(--color-yellow-800-80);
  --alpha-yellow-800-70: var(--color-yellow-800-70);
  --alpha-yellow-800-60: var(--color-yellow-800-60);
  --alpha-yellow-800-50: var(--color-yellow-800-50);
  --alpha-yellow-800-40: var(--color-yellow-800-40);
  --alpha-yellow-800-30: var(--color-yellow-800-30);
  --alpha-yellow-800-20: var(--color-yellow-800-20);
  --alpha-yellow-800-10: var(--color-yellow-800-10);
  --alpha-yellow-800-5: var(--color-yellow-800-5);
  --alpha-yellow-900-100: var(--color-yellow-900-100);
  --alpha-yellow-900-90: var(--color-yellow-900-90);
  --alpha-yellow-900-80: var(--color-yellow-900-80);
  --alpha-yellow-900-70: var(--color-yellow-900-70);
  --alpha-yellow-900-60: var(--color-yellow-900-60);
  --alpha-yellow-900-50: var(--color-yellow-900-50);
  --alpha-yellow-900-40: var(--color-yellow-900-40);
  --alpha-yellow-900-30: var(--color-yellow-900-30);
  --alpha-yellow-900-20: var(--color-yellow-900-20);
  --alpha-yellow-900-10: var(--color-yellow-900-10);
  --alpha-yellow-900-5: var(--color-yellow-900-5);
  --alpha-yellow-950-100: var(--color-yellow-950-100);
  --alpha-yellow-950-90: var(--color-yellow-950-90);
  --alpha-yellow-950-80: var(--color-yellow-950-80);
  --alpha-yellow-950-70: var(--color-yellow-950-70);
  --alpha-yellow-950-60: var(--color-yellow-950-60);
  --alpha-yellow-950-50: var(--color-yellow-950-50);
  --alpha-yellow-950-40: var(--color-yellow-950-40);
  --alpha-yellow-950-30: var(--color-yellow-950-30);
  --alpha-yellow-950-20: var(--color-yellow-950-20);
  --alpha-yellow-950-10: var(--color-yellow-950-10);
  --alpha-yellow-950-5: var(--color-yellow-950-5);
  /* Utility Lime */
  --utility-lime-50: var(--color-lime-50);
  --utility-lime-100: var(--color-lime-100);
  --utility-lime-200: var(--color-lime-200);
  --utility-lime-300: var(--color-lime-300);
  --utility-lime-400: var(--color-lime-400);
  --utility-lime-500: var(--color-lime-500);
  --utility-lime-600: var(--color-lime-600);
  --utility-lime-700: var(--color-lime-700);
  --utility-lime-800: var(--color-lime-800);
  --utility-lime-900: var(--color-lime-900);
  --utility-lime-950: var(--color-lime-950);
  --alpha-lime-50-100: var(--color-lime-50-100);
  --alpha-lime-50-90: var(--color-lime-50-90);
  --alpha-lime-50-80: var(--color-lime-50-80);
  --alpha-lime-50-70: var(--color-lime-50-70);
  --alpha-lime-50-60: var(--color-lime-50-60);
  --alpha-lime-50-50: var(--color-lime-50-50);
  --alpha-lime-50-40: var(--color-lime-50-40);
  --alpha-lime-50-30: var(--color-lime-50-30);
  --alpha-lime-50-20: var(--color-lime-50-20);
  --alpha-lime-50-10: var(--color-lime-50-10);
  --alpha-lime-50-5: var(--color-lime-50-5);
  --alpha-lime-100-100: var(--color-lime-100-100);
  --alpha-lime-100-90: var(--color-lime-100-90);
  --alpha-lime-100-80: var(--color-lime-100-80);
  --alpha-lime-100-70: var(--color-lime-100-70);
  --alpha-lime-100-60: var(--color-lime-100-60);
  --alpha-lime-100-50: var(--color-lime-100-50);
  --alpha-lime-100-40: var(--color-lime-100-40);
  --alpha-lime-100-30: var(--color-lime-100-30);
  --alpha-lime-100-20: var(--color-lime-100-20);
  --alpha-lime-100-10: var(--color-lime-100-10);
  --alpha-lime-100-5: var(--color-lime-100-5);
  --alpha-lime-200-100: var(--color-lime-200-100);
  --alpha-lime-200-90: var(--color-lime-200-90);
  --alpha-lime-200-80: var(--color-lime-200-80);
  --alpha-lime-200-70: var(--color-lime-200-70);
  --alpha-lime-200-60: var(--color-lime-200-60);
  --alpha-lime-200-50: var(--color-lime-200-50);
  --alpha-lime-200-40: var(--color-lime-200-40);
  --alpha-lime-200-30: var(--color-lime-200-30);
  --alpha-lime-200-20: var(--color-lime-200-20);
  --alpha-lime-200-10: var(--color-lime-200-10);
  --alpha-lime-200-5: var(--color-lime-200-5);
  --alpha-lime-300-100: var(--color-lime-300-100);
  --alpha-lime-300-90: var(--color-lime-300-90);
  --alpha-lime-300-80: var(--color-lime-300-80);
  --alpha-lime-300-70: var(--color-lime-300-70);
  --alpha-lime-300-60: var(--color-lime-300-60);
  --alpha-lime-300-50: var(--color-lime-300-50);
  --alpha-lime-300-40: var(--color-lime-300-40);
  --alpha-lime-300-30: var(--color-lime-300-30);
  --alpha-lime-300-20: var(--color-lime-300-20);
  --alpha-lime-300-10: var(--color-lime-300-10);
  --alpha-lime-300-5: var(--color-lime-300-5);
  --alpha-lime-400-100: var(--color-lime-400-100);
  --alpha-lime-400-90: var(--color-lime-400-90);
  --alpha-lime-400-80: var(--color-lime-400-80);
  --alpha-lime-400-70: var(--color-lime-400-70);
  --alpha-lime-400-60: var(--color-lime-400-60);
  --alpha-lime-400-50: var(--color-lime-400-50);
  --alpha-lime-400-40: var(--color-lime-400-40);
  --alpha-lime-400-30: var(--color-lime-400-30);
  --alpha-lime-400-20: var(--color-lime-400-20);
  --alpha-lime-400-10: var(--color-lime-400-10);
  --alpha-lime-400-5: var(--color-lime-400-5);
  --alpha-lime-500-100: var(--color-lime-500-100);
  --alpha-lime-500-90: var(--color-lime-500-90);
  --alpha-lime-500-80: var(--color-lime-500-80);
  --alpha-lime-500-70: var(--color-lime-500-70);
  --alpha-lime-500-60: var(--color-lime-500-60);
  --alpha-lime-500-50: var(--color-lime-500-50);
  --alpha-lime-500-40: var(--color-lime-500-40);
  --alpha-lime-500-30: var(--color-lime-500-30);
  --alpha-lime-500-20: var(--color-lime-500-20);
  --alpha-lime-500-10: var(--color-lime-500-10);
  --alpha-lime-500-5: var(--color-lime-500-5);
  --alpha-lime-600-100: var(--color-lime-600-100);
  --alpha-lime-600-90: var(--color-lime-600-90);
  --alpha-lime-600-80: var(--color-lime-600-80);
  --alpha-lime-600-70: var(--color-lime-600-70);
  --alpha-lime-600-60: var(--color-lime-600-60);
  --alpha-lime-600-50: var(--color-lime-600-50);
  --alpha-lime-600-40: var(--color-lime-600-40);
  --alpha-lime-600-30: var(--color-lime-600-30);
  --alpha-lime-600-20: var(--color-lime-600-20);
  --alpha-lime-600-10: var(--color-lime-600-10);
  --alpha-lime-600-5: var(--color-lime-600-5);
  --alpha-lime-700-100: var(--color-lime-700-100);
  --alpha-lime-700-90: var(--color-lime-700-90);
  --alpha-lime-700-80: var(--color-lime-700-80);
  --alpha-lime-700-70: var(--color-lime-700-70);
  --alpha-lime-700-60: var(--color-lime-700-60);
  --alpha-lime-700-50: var(--color-lime-700-50);
  --alpha-lime-700-40: var(--color-lime-700-40);
  --alpha-lime-700-30: var(--color-lime-700-30);
  --alpha-lime-700-20: var(--color-lime-700-20);
  --alpha-lime-700-10: var(--color-lime-700-10);
  --alpha-lime-700-5: var(--color-lime-700-5);
  --alpha-lime-800-100: var(--color-lime-800-100);
  --alpha-lime-800-90: var(--color-lime-800-90);
  --alpha-lime-800-80: var(--color-lime-800-80);
  --alpha-lime-800-70: var(--color-lime-800-70);
  --alpha-lime-800-60: var(--color-lime-800-60);
  --alpha-lime-800-50: var(--color-lime-800-50);
  --alpha-lime-800-40: var(--color-lime-800-40);
  --alpha-lime-800-30: var(--color-lime-800-30);
  --alpha-lime-800-20: var(--color-lime-800-20);
  --alpha-lime-800-10: var(--color-lime-800-10);
  --alpha-lime-800-5: var(--color-lime-800-5);
  --alpha-lime-900-100: var(--color-lime-900-100);
  --alpha-lime-900-90: var(--color-lime-900-90);
  --alpha-lime-900-80: var(--color-lime-900-80);
  --alpha-lime-900-70: var(--color-lime-900-70);
  --alpha-lime-900-60: var(--color-lime-900-60);
  --alpha-lime-900-50: var(--color-lime-900-50);
  --alpha-lime-900-40: var(--color-lime-900-40);
  --alpha-lime-900-30: var(--color-lime-900-30);
  --alpha-lime-900-20: var(--color-lime-900-20);
  --alpha-lime-900-10: var(--color-lime-900-10);
  --alpha-lime-900-5: var(--color-lime-900-5);
  --alpha-lime-950-100: var(--color-lime-950-100);
  --alpha-lime-950-90: var(--color-lime-950-90);
  --alpha-lime-950-80: var(--color-lime-950-80);
  --alpha-lime-950-70: var(--color-lime-950-70);
  --alpha-lime-950-60: var(--color-lime-950-60);
  --alpha-lime-950-50: var(--color-lime-950-50);
  --alpha-lime-950-40: var(--color-lime-950-40);
  --alpha-lime-950-30: var(--color-lime-950-30);
  --alpha-lime-950-20: var(--color-lime-950-20);
  --alpha-lime-950-10: var(--color-lime-950-10);
  --alpha-lime-950-5: var(--color-lime-950-5);
  /* Utility Green */
  --utility-green-50: var(--color-green-50);
  --utility-green-100: var(--color-green-100);
  --utility-green-200: var(--color-green-200);
  --utility-green-300: var(--color-green-300);
  --utility-green-400: var(--color-green-400);
  --utility-green-500: var(--color-green-500);
  --utility-green-600: var(--color-green-600);
  --utility-green-700: var(--color-green-700);
  --utility-green-800: var(--color-green-800);
  --utility-green-900: var(--color-green-900);
  --utility-green-950: var(--color-green-950);
  --alpha-green-50-100: var(--color-green-50-100);
  --alpha-green-50-90: var(--color-green-50-90);
  --alpha-green-50-80: var(--color-green-50-80);
  --alpha-green-50-70: var(--color-green-50-70);
  --alpha-green-50-60: var(--color-green-50-60);
  --alpha-green-50-50: var(--color-green-50-50);
  --alpha-green-50-40: var(--color-green-50-40);
  --alpha-green-50-30: var(--color-green-50-30);
  --alpha-green-50-20: var(--color-green-50-20);
  --alpha-green-50-10: var(--color-green-50-10);
  --alpha-green-50-5: var(--color-green-50-5);
  --alpha-green-100-100: var(--color-green-100-100);
  --alpha-green-100-90: var(--color-green-100-90);
  --alpha-green-100-80: var(--color-green-100-80);
  --alpha-green-100-70: var(--color-green-100-70);
  --alpha-green-100-60: var(--color-green-100-60);
  --alpha-green-100-50: var(--color-green-100-50);
  --alpha-green-100-40: var(--color-green-100-40);
  --alpha-green-100-30: var(--color-green-100-30);
  --alpha-green-100-20: var(--color-green-100-20);
  --alpha-green-100-10: var(--color-green-100-10);
  --alpha-green-100-5: var(--color-green-100-5);
  --alpha-green-200-100: var(--color-green-200-100);
  --alpha-green-200-90: var(--color-green-200-90);
  --alpha-green-200-80: var(--color-green-200-80);
  --alpha-green-200-70: var(--color-green-200-70);
  --alpha-green-200-60: var(--color-green-200-60);
  --alpha-green-200-50: var(--color-green-200-50);
  --alpha-green-200-40: var(--color-green-200-40);
  --alpha-green-200-30: var(--color-green-200-30);
  --alpha-green-200-20: var(--color-green-200-20);
  --alpha-green-200-10: var(--color-green-200-10);
  --alpha-green-200-5: var(--color-green-200-5);
  --alpha-green-300-100: var(--color-green-300-100);
  --alpha-green-300-90: var(--color-green-300-90);
  --alpha-green-300-80: var(--color-green-300-80);
  --alpha-green-300-70: var(--color-green-300-70);
  --alpha-green-300-60: var(--color-green-300-60);
  --alpha-green-300-50: var(--color-green-300-50);
  --alpha-green-300-40: var(--color-green-300-40);
  --alpha-green-300-30: var(--color-green-300-30);
  --alpha-green-300-20: var(--color-green-300-20);
  --alpha-green-300-10: var(--color-green-300-10);
  --alpha-green-300-5: var(--color-green-300-5);
  --alpha-green-400-100: var(--color-green-400-100);
  --alpha-green-400-90: var(--color-green-400-90);
  --alpha-green-400-80: var(--color-green-400-80);
  --alpha-green-400-70: var(--color-green-400-70);
  --alpha-green-400-60: var(--color-green-400-60);
  --alpha-green-400-50: var(--color-green-400-50);
  --alpha-green-400-40: var(--color-green-400-40);
  --alpha-green-400-30: var(--color-green-400-30);
  --alpha-green-400-20: var(--color-green-400-20);
  --alpha-green-400-10: var(--color-green-400-10);
  --alpha-green-400-5: var(--color-green-400-5);
  --alpha-green-500-100: var(--color-green-500-100);
  --alpha-green-500-90: var(--color-green-500-90);
  --alpha-green-500-80: var(--color-green-500-80);
  --alpha-green-500-70: var(--color-green-500-70);
  --alpha-green-500-60: var(--color-green-500-60);
  --alpha-green-500-50: var(--color-green-500-50);
  --alpha-green-500-40: var(--color-green-500-40);
  --alpha-green-500-30: var(--color-green-500-30);
  --alpha-green-500-20: var(--color-green-500-20);
  --alpha-green-500-10: var(--color-green-500-10);
  --alpha-green-500-5: var(--color-green-500-5);
  --alpha-green-600-100: var(--color-green-600-100);
  --alpha-green-600-90: var(--color-green-600-90);
  --alpha-green-600-80: var(--color-green-600-80);
  --alpha-green-600-70: var(--color-green-600-70);
  --alpha-green-600-60: var(--color-green-600-60);
  --alpha-green-600-50: var(--color-green-600-50);
  --alpha-green-600-40: var(--color-green-600-40);
  --alpha-green-600-30: var(--color-green-600-30);
  --alpha-green-600-20: var(--color-green-600-20);
  --alpha-green-600-10: var(--color-green-600-10);
  --alpha-green-600-5: var(--color-green-600-5);
  --alpha-green-700-100: var(--color-green-700-100);
  --alpha-green-700-90: var(--color-green-700-90);
  --alpha-green-700-80: var(--color-green-700-80);
  --alpha-green-700-70: var(--color-green-700-70);
  --alpha-green-700-60: var(--color-green-700-60);
  --alpha-green-700-50: var(--color-green-700-50);
  --alpha-green-700-40: var(--color-green-700-40);
  --alpha-green-700-30: var(--color-green-700-30);
  --alpha-green-700-20: var(--color-green-700-20);
  --alpha-green-700-10: var(--color-green-700-10);
  --alpha-green-700-5: var(--color-green-700-5);
  --alpha-green-800-100: var(--color-green-800-100);
  --alpha-green-800-90: var(--color-green-800-90);
  --alpha-green-800-80: var(--color-green-800-80);
  --alpha-green-800-70: var(--color-green-800-70);
  --alpha-green-800-60: var(--color-green-800-60);
  --alpha-green-800-50: var(--color-green-800-50);
  --alpha-green-800-40: var(--color-green-800-40);
  --alpha-green-800-30: var(--color-green-800-30);
  --alpha-green-800-20: var(--color-green-800-20);
  --alpha-green-800-10: var(--color-green-800-10);
  --alpha-green-800-5: var(--color-green-800-5);
  --alpha-green-900-100: var(--color-green-900-100);
  --alpha-green-900-90: var(--color-green-900-90);
  --alpha-green-900-80: var(--color-green-900-80);
  --alpha-green-900-70: var(--color-green-900-70);
  --alpha-green-900-60: var(--color-green-900-60);
  --alpha-green-900-50: var(--color-green-900-50);
  --alpha-green-900-40: var(--color-green-900-40);
  --alpha-green-900-30: var(--color-green-900-30);
  --alpha-green-900-20: var(--color-green-900-20);
  --alpha-green-900-10: var(--color-green-900-10);
  --alpha-green-900-5: var(--color-green-900-5);
  --alpha-green-950-100: var(--color-green-950-100);
  --alpha-green-950-90: var(--color-green-950-90);
  --alpha-green-950-80: var(--color-green-950-80);
  --alpha-green-950-70: var(--color-green-950-70);
  --alpha-green-950-60: var(--color-green-950-60);
  --alpha-green-950-50: var(--color-green-950-50);
  --alpha-green-950-40: var(--color-green-950-40);
  --alpha-green-950-30: var(--color-green-950-30);
  --alpha-green-950-20: var(--color-green-950-20);
  --alpha-green-950-10: var(--color-green-950-10);
  --alpha-green-950-5: var(--color-green-950-5);
  /* Utility Emerald */
  --utility-emerald-50: var(--color-emerald-50);
  --utility-emerald-100: var(--color-emerald-100);
  --utility-emerald-200: var(--color-emerald-200);
  --utility-emerald-300: var(--color-emerald-300);
  --utility-emerald-400: var(--color-emerald-400);
  --utility-emerald-500: var(--color-emerald-500);
  --utility-emerald-600: var(--color-emerald-600);
  --utility-emerald-700: var(--color-emerald-700);
  --utility-emerald-800: var(--color-emerald-800);
  --utility-emerald-900: var(--color-emerald-900);
  --utility-emerald-950: var(--color-emerald-950);
  --alpha-emerald-50-100: var(--color-emerald-50-100);
  --alpha-emerald-50-90: var(--color-emerald-50-90);
  --alpha-emerald-50-80: var(--color-emerald-50-80);
  --alpha-emerald-50-70: var(--color-emerald-50-70);
  --alpha-emerald-50-60: var(--color-emerald-50-60);
  --alpha-emerald-50-50: var(--color-emerald-50-50);
  --alpha-emerald-50-40: var(--color-emerald-50-40);
  --alpha-emerald-50-30: var(--color-emerald-50-30);
  --alpha-emerald-50-20: var(--color-emerald-50-20);
  --alpha-emerald-50-10: var(--color-emerald-50-10);
  --alpha-emerald-50-5: var(--color-emerald-50-5);
  --alpha-emerald-100-100: var(--color-emerald-100-100);
  --alpha-emerald-100-90: var(--color-emerald-100-90);
  --alpha-emerald-100-80: var(--color-emerald-100-80);
  --alpha-emerald-100-70: var(--color-emerald-100-70);
  --alpha-emerald-100-60: var(--color-emerald-100-60);
  --alpha-emerald-100-50: var(--color-emerald-100-50);
  --alpha-emerald-100-40: var(--color-emerald-100-40);
  --alpha-emerald-100-30: var(--color-emerald-100-30);
  --alpha-emerald-100-20: var(--color-emerald-100-20);
  --alpha-emerald-100-10: var(--color-emerald-100-10);
  --alpha-emerald-100-5: var(--color-emerald-100-5);
  --alpha-emerald-200-100: var(--color-emerald-200-100);
  --alpha-emerald-200-90: var(--color-emerald-200-90);
  --alpha-emerald-200-80: var(--color-emerald-200-80);
  --alpha-emerald-200-70: var(--color-emerald-200-70);
  --alpha-emerald-200-60: var(--color-emerald-200-60);
  --alpha-emerald-200-50: var(--color-emerald-200-50);
  --alpha-emerald-200-40: var(--color-emerald-200-40);
  --alpha-emerald-200-30: var(--color-emerald-200-30);
  --alpha-emerald-200-20: var(--color-emerald-200-20);
  --alpha-emerald-200-10: var(--color-emerald-200-10);
  --alpha-emerald-200-5: var(--color-emerald-200-5);
  --alpha-emerald-300-100: var(--color-emerald-300-100);
  --alpha-emerald-300-90: var(--color-emerald-300-90);
  --alpha-emerald-300-80: var(--color-emerald-300-80);
  --alpha-emerald-300-70: var(--color-emerald-300-70);
  --alpha-emerald-300-60: var(--color-emerald-300-60);
  --alpha-emerald-300-50: var(--color-emerald-300-50);
  --alpha-emerald-300-40: var(--color-emerald-300-40);
  --alpha-emerald-300-30: var(--color-emerald-300-30);
  --alpha-emerald-300-20: var(--color-emerald-300-20);
  --alpha-emerald-300-10: var(--color-emerald-300-10);
  --alpha-emerald-300-5: var(--color-emerald-300-5);
  --alpha-emerald-400-100: var(--color-emerald-400-100);
  --alpha-emerald-400-90: var(--color-emerald-400-90);
  --alpha-emerald-400-80: var(--color-emerald-400-80);
  --alpha-emerald-400-70: var(--color-emerald-400-70);
  --alpha-emerald-400-60: var(--color-emerald-400-60);
  --alpha-emerald-400-50: var(--color-emerald-400-50);
  --alpha-emerald-400-40: var(--color-emerald-400-40);
  --alpha-emerald-400-30: var(--color-emerald-400-30);
  --alpha-emerald-400-20: var(--color-emerald-400-20);
  --alpha-emerald-400-10: var(--color-emerald-400-10);
  --alpha-emerald-400-5: var(--color-emerald-400-5);
  --alpha-emerald-500-100: var(--color-emerald-500-100);
  --alpha-emerald-500-90: var(--color-emerald-500-90);
  --alpha-emerald-500-80: var(--color-emerald-500-80);
  --alpha-emerald-500-70: var(--color-emerald-500-70);
  --alpha-emerald-500-60: var(--color-emerald-500-60);
  --alpha-emerald-500-50: var(--color-emerald-500-50);
  --alpha-emerald-500-40: var(--color-emerald-500-40);
  --alpha-emerald-500-30: var(--color-emerald-500-30);
  --alpha-emerald-500-20: var(--color-emerald-500-20);
  --alpha-emerald-500-10: var(--color-emerald-500-10);
  --alpha-emerald-500-5: var(--color-emerald-500-5);
  --alpha-emerald-600-100: var(--color-emerald-600-100);
  --alpha-emerald-600-90: var(--color-emerald-600-90);
  --alpha-emerald-600-80: var(--color-emerald-600-80);
  --alpha-emerald-600-70: var(--color-emerald-600-70);
  --alpha-emerald-600-60: var(--color-emerald-600-60);
  --alpha-emerald-600-50: var(--color-emerald-600-50);
  --alpha-emerald-600-40: var(--color-emerald-600-40);
  --alpha-emerald-600-30: var(--color-emerald-600-30);
  --alpha-emerald-600-20: var(--color-emerald-600-20);
  --alpha-emerald-600-10: var(--color-emerald-600-10);
  --alpha-emerald-600-5: var(--color-emerald-600-5);
  --alpha-emerald-700-100: var(--color-emerald-700-100);
  --alpha-emerald-700-90: var(--color-emerald-700-90);
  --alpha-emerald-700-80: var(--color-emerald-700-80);
  --alpha-emerald-700-70: var(--color-emerald-700-70);
  --alpha-emerald-700-60: var(--color-emerald-700-60);
  --alpha-emerald-700-50: var(--color-emerald-700-50);
  --alpha-emerald-700-40: var(--color-emerald-700-40);
  --alpha-emerald-700-30: var(--color-emerald-700-30);
  --alpha-emerald-700-20: var(--color-emerald-700-20);
  --alpha-emerald-700-10: var(--color-emerald-700-10);
  --alpha-emerald-700-5: var(--color-emerald-700-5);
  --alpha-emerald-800-100: var(--color-emerald-800-100);
  --alpha-emerald-800-90: var(--color-emerald-800-90);
  --alpha-emerald-800-80: var(--color-emerald-800-80);
  --alpha-emerald-800-70: var(--color-emerald-800-70);
  --alpha-emerald-800-60: var(--color-emerald-800-60);
  --alpha-emerald-800-50: var(--color-emerald-800-50);
  --alpha-emerald-800-40: var(--color-emerald-800-40);
  --alpha-emerald-800-30: var(--color-emerald-800-30);
  --alpha-emerald-800-20: var(--color-emerald-800-20);
  --alpha-emerald-800-10: var(--color-emerald-800-10);
  --alpha-emerald-800-5: var(--color-emerald-800-5);
  --alpha-emerald-900-100: var(--color-emerald-900-100);
  --alpha-emerald-900-90: var(--color-emerald-900-90);
  --alpha-emerald-900-80: var(--color-emerald-900-80);
  --alpha-emerald-900-70: var(--color-emerald-900-70);
  --alpha-emerald-900-60: var(--color-emerald-900-60);
  --alpha-emerald-900-50: var(--color-emerald-900-50);
  --alpha-emerald-900-40: var(--color-emerald-900-40);
  --alpha-emerald-900-30: var(--color-emerald-900-30);
  --alpha-emerald-900-20: var(--color-emerald-900-20);
  --alpha-emerald-900-10: var(--color-emerald-900-10);
  --alpha-emerald-900-5: var(--color-emerald-900-5);
  --alpha-emerald-950-100: var(--color-emerald-950-100);
  --alpha-emerald-950-90: var(--color-emerald-950-90);
  --alpha-emerald-950-80: var(--color-emerald-950-80);
  --alpha-emerald-950-70: var(--color-emerald-950-70);
  --alpha-emerald-950-60: var(--color-emerald-950-60);
  --alpha-emerald-950-50: var(--color-emerald-950-50);
  --alpha-emerald-950-40: var(--color-emerald-950-40);
  --alpha-emerald-950-30: var(--color-emerald-950-30);
  --alpha-emerald-950-20: var(--color-emerald-950-20);
  --alpha-emerald-950-10: var(--color-emerald-950-10);
  --alpha-emerald-950-5: var(--color-emerald-950-5);
  /* Utility Teal */
  --utility-teal-50: var(--color-teal-50);
  --utility-teal-100: var(--color-teal-100);
  --utility-teal-200: var(--color-teal-200);
  --utility-teal-300: var(--color-teal-300);
  --utility-teal-400: var(--color-teal-400);
  --utility-teal-500: var(--color-teal-500);
  --utility-teal-600: var(--color-teal-600);
  --utility-teal-700: var(--color-teal-700);
  --utility-teal-800: var(--color-teal-800);
  --utility-teal-900: var(--color-teal-900);
  --utility-teal-950: var(--color-teal-950);
  --alpha-teal-50-100: var(--color-teal-50-100);
  --alpha-teal-50-90: var(--color-teal-50-90);
  --alpha-teal-50-80: var(--color-teal-50-80);
  --alpha-teal-50-70: var(--color-teal-50-70);
  --alpha-teal-50-60: var(--color-teal-50-60);
  --alpha-teal-50-50: var(--color-teal-50-50);
  --alpha-teal-50-40: var(--color-teal-50-40);
  --alpha-teal-50-30: var(--color-teal-50-30);
  --alpha-teal-50-20: var(--color-teal-50-20);
  --alpha-teal-50-10: var(--color-teal-50-10);
  --alpha-teal-50-5: var(--color-teal-50-5);
  --alpha-teal-100-100: var(--color-teal-100-100);
  --alpha-teal-100-90: var(--color-teal-100-90);
  --alpha-teal-100-80: var(--color-teal-100-80);
  --alpha-teal-100-70: var(--color-teal-100-70);
  --alpha-teal-100-60: var(--color-teal-100-60);
  --alpha-teal-100-50: var(--color-teal-100-50);
  --alpha-teal-100-40: var(--color-teal-100-40);
  --alpha-teal-100-30: var(--color-teal-100-30);
  --alpha-teal-100-20: var(--color-teal-100-20);
  --alpha-teal-100-10: var(--color-teal-100-10);
  --alpha-teal-100-5: var(--color-teal-100-5);
  --alpha-teal-200-100: var(--color-teal-200-100);
  --alpha-teal-200-90: var(--color-teal-200-90);
  --alpha-teal-200-80: var(--color-teal-200-80);
  --alpha-teal-200-70: var(--color-teal-200-70);
  --alpha-teal-200-60: var(--color-teal-200-60);
  --alpha-teal-200-50: var(--color-teal-200-50);
  --alpha-teal-200-40: var(--color-teal-200-40);
  --alpha-teal-200-30: var(--color-teal-200-30);
  --alpha-teal-200-20: var(--color-teal-200-20);
  --alpha-teal-200-10: var(--color-teal-200-10);
  --alpha-teal-200-5: var(--color-teal-200-5);
  --alpha-teal-300-100: var(--color-teal-300-100);
  --alpha-teal-300-90: var(--color-teal-300-90);
  --alpha-teal-300-80: var(--color-teal-300-80);
  --alpha-teal-300-70: var(--color-teal-300-70);
  --alpha-teal-300-60: var(--color-teal-300-60);
  --alpha-teal-300-50: var(--color-teal-300-50);
  --alpha-teal-300-40: var(--color-teal-300-40);
  --alpha-teal-300-30: var(--color-teal-300-30);
  --alpha-teal-300-20: var(--color-teal-300-20);
  --alpha-teal-300-10: var(--color-teal-300-10);
  --alpha-teal-300-5: var(--color-teal-300-5);
  --alpha-teal-400-100: var(--color-teal-400-100);
  --alpha-teal-400-90: var(--color-teal-400-90);
  --alpha-teal-400-80: var(--color-teal-400-80);
  --alpha-teal-400-70: var(--color-teal-400-70);
  --alpha-teal-400-60: var(--color-teal-400-60);
  --alpha-teal-400-50: var(--color-teal-400-50);
  --alpha-teal-400-40: var(--color-teal-400-40);
  --alpha-teal-400-30: var(--color-teal-400-30);
  --alpha-teal-400-20: var(--color-teal-400-20);
  --alpha-teal-400-10: var(--color-teal-400-10);
  --alpha-teal-400-5: var(--color-teal-400-5);
  --alpha-teal-500-100: var(--color-teal-500-100);
  --alpha-teal-500-90: var(--color-teal-500-90);
  --alpha-teal-500-80: var(--color-teal-500-80);
  --alpha-teal-500-70: var(--color-teal-500-70);
  --alpha-teal-500-60: var(--color-teal-500-60);
  --alpha-teal-500-50: var(--color-teal-500-50);
  --alpha-teal-500-40: var(--color-teal-500-40);
  --alpha-teal-500-30: var(--color-teal-500-30);
  --alpha-teal-500-20: var(--color-teal-500-20);
  --alpha-teal-500-10: var(--color-teal-500-10);
  --alpha-teal-500-5: var(--color-teal-500-5);
  --alpha-teal-600-100: var(--color-teal-600-100);
  --alpha-teal-600-90: var(--color-teal-600-90);
  --alpha-teal-600-80: var(--color-teal-600-80);
  --alpha-teal-600-70: var(--color-teal-600-70);
  --alpha-teal-600-60: var(--color-teal-600-60);
  --alpha-teal-600-50: var(--color-teal-600-50);
  --alpha-teal-600-40: var(--color-teal-600-40);
  --alpha-teal-600-30: var(--color-teal-600-30);
  --alpha-teal-600-20: var(--color-teal-600-20);
  --alpha-teal-600-10: var(--color-teal-600-10);
  --alpha-teal-600-5: var(--color-teal-600-5);
  --alpha-teal-700-100: var(--color-teal-700-100);
  --alpha-teal-700-90: var(--color-teal-700-90);
  --alpha-teal-700-80: var(--color-teal-700-80);
  --alpha-teal-700-70: var(--color-teal-700-70);
  --alpha-teal-700-60: var(--color-teal-700-60);
  --alpha-teal-700-50: var(--color-teal-700-50);
  --alpha-teal-700-40: var(--color-teal-700-40);
  --alpha-teal-700-30: var(--color-teal-700-30);
  --alpha-teal-700-20: var(--color-teal-700-20);
  --alpha-teal-700-10: var(--color-teal-700-10);
  --alpha-teal-700-5: var(--color-teal-700-5);
  --alpha-teal-800-100: var(--color-teal-800-100);
  --alpha-teal-800-90: var(--color-teal-800-90);
  --alpha-teal-800-80: var(--color-teal-800-80);
  --alpha-teal-800-70: var(--color-teal-800-70);
  --alpha-teal-800-60: var(--color-teal-800-60);
  --alpha-teal-800-50: var(--color-teal-800-50);
  --alpha-teal-800-40: var(--color-teal-800-40);
  --alpha-teal-800-30: var(--color-teal-800-30);
  --alpha-teal-800-20: var(--color-teal-800-20);
  --alpha-teal-800-10: var(--color-teal-800-10);
  --alpha-teal-800-5: var(--color-teal-800-5);
  --alpha-teal-900-100: var(--color-teal-900-100);
  --alpha-teal-900-90: var(--color-teal-900-90);
  --alpha-teal-900-80: var(--color-teal-900-80);
  --alpha-teal-900-70: var(--color-teal-900-70);
  --alpha-teal-900-60: var(--color-teal-900-60);
  --alpha-teal-900-50: var(--color-teal-900-50);
  --alpha-teal-900-40: var(--color-teal-900-40);
  --alpha-teal-900-30: var(--color-teal-900-30);
  --alpha-teal-900-20: var(--color-teal-900-20);
  --alpha-teal-900-10: var(--color-teal-900-10);
  --alpha-teal-900-5: var(--color-teal-900-5);
  --alpha-teal-950-100: var(--color-teal-950-100);
  --alpha-teal-950-90: var(--color-teal-950-90);
  --alpha-teal-950-80: var(--color-teal-950-80);
  --alpha-teal-950-70: var(--color-teal-950-70);
  --alpha-teal-950-60: var(--color-teal-950-60);
  --alpha-teal-950-50: var(--color-teal-950-50);
  --alpha-teal-950-40: var(--color-teal-950-40);
  --alpha-teal-950-30: var(--color-teal-950-30);
  --alpha-teal-950-20: var(--color-teal-950-20);
  --alpha-teal-950-10: var(--color-teal-950-10);
  --alpha-teal-950-5: var(--color-teal-950-5);
  /* Utility Cyan */
  --utility-cyan-50: var(--color-cyan-50);
  --utility-cyan-100: var(--color-cyan-100);
  --utility-cyan-200: var(--color-cyan-200);
  --utility-cyan-300: var(--color-cyan-300);
  --utility-cyan-400: var(--color-cyan-400);
  --utility-cyan-500: var(--color-cyan-500);
  --utility-cyan-600: var(--color-cyan-600);
  --utility-cyan-700: var(--color-cyan-700);
  --utility-cyan-800: var(--color-cyan-800);
  --utility-cyan-900: var(--color-cyan-900);
  --utility-cyan-950: var(--color-cyan-950);
  --alpha-cyan-50-100: var(--color-cyan-50-100);
  --alpha-cyan-50-90: var(--color-cyan-50-90);
  --alpha-cyan-50-80: var(--color-cyan-50-80);
  --alpha-cyan-50-70: var(--color-cyan-50-70);
  --alpha-cyan-50-60: var(--color-cyan-50-60);
  --alpha-cyan-50-50: var(--color-cyan-50-50);
  --alpha-cyan-50-40: var(--color-cyan-50-40);
  --alpha-cyan-50-30: var(--color-cyan-50-30);
  --alpha-cyan-50-20: var(--color-cyan-50-20);
  --alpha-cyan-50-10: var(--color-cyan-50-10);
  --alpha-cyan-50-5: var(--color-cyan-50-5);
  --alpha-cyan-100-100: var(--color-cyan-100-100);
  --alpha-cyan-100-90: var(--color-cyan-100-90);
  --alpha-cyan-100-80: var(--color-cyan-100-80);
  --alpha-cyan-100-70: var(--color-cyan-100-70);
  --alpha-cyan-100-60: var(--color-cyan-100-60);
  --alpha-cyan-100-50: var(--color-cyan-100-50);
  --alpha-cyan-100-40: var(--color-cyan-100-40);
  --alpha-cyan-100-30: var(--color-cyan-100-30);
  --alpha-cyan-100-20: var(--color-cyan-100-20);
  --alpha-cyan-100-10: var(--color-cyan-100-10);
  --alpha-cyan-100-5: var(--color-cyan-100-5);
  --alpha-cyan-200-100: var(--color-cyan-200-100);
  --alpha-cyan-200-90: var(--color-cyan-200-90);
  --alpha-cyan-200-80: var(--color-cyan-200-80);
  --alpha-cyan-200-70: var(--color-cyan-200-70);
  --alpha-cyan-200-60: var(--color-cyan-200-60);
  --alpha-cyan-200-50: var(--color-cyan-200-50);
  --alpha-cyan-200-40: var(--color-cyan-200-40);
  --alpha-cyan-200-30: var(--color-cyan-200-30);
  --alpha-cyan-200-20: var(--color-cyan-200-20);
  --alpha-cyan-200-10: var(--color-cyan-200-10);
  --alpha-cyan-200-5: var(--color-cyan-200-5);
  --alpha-cyan-300-100: var(--color-cyan-300-100);
  --alpha-cyan-300-90: var(--color-cyan-300-90);
  --alpha-cyan-300-80: var(--color-cyan-300-80);
  --alpha-cyan-300-70: var(--color-cyan-300-70);
  --alpha-cyan-300-60: var(--color-cyan-300-60);
  --alpha-cyan-300-50: var(--color-cyan-300-50);
  --alpha-cyan-300-40: var(--color-cyan-300-40);
  --alpha-cyan-300-30: var(--color-cyan-300-30);
  --alpha-cyan-300-20: var(--color-cyan-300-20);
  --alpha-cyan-300-10: var(--color-cyan-300-10);
  --alpha-cyan-300-5: var(--color-cyan-300-5);
  --alpha-cyan-400-100: var(--color-cyan-400-100);
  --alpha-cyan-400-90: var(--color-cyan-400-90);
  --alpha-cyan-400-80: var(--color-cyan-400-80);
  --alpha-cyan-400-70: var(--color-cyan-400-70);
  --alpha-cyan-400-60: var(--color-cyan-400-60);
  --alpha-cyan-400-50: var(--color-cyan-400-50);
  --alpha-cyan-400-40: var(--color-cyan-400-40);
  --alpha-cyan-400-30: var(--color-cyan-400-30);
  --alpha-cyan-400-20: var(--color-cyan-400-20);
  --alpha-cyan-400-10: var(--color-cyan-400-10);
  --alpha-cyan-400-5: var(--color-cyan-400-5);
  --alpha-cyan-500-100: var(--color-cyan-500-100);
  --alpha-cyan-500-90: var(--color-cyan-500-90);
  --alpha-cyan-500-80: var(--color-cyan-500-80);
  --alpha-cyan-500-70: var(--color-cyan-500-70);
  --alpha-cyan-500-60: var(--color-cyan-500-60);
  --alpha-cyan-500-50: var(--color-cyan-500-50);
  --alpha-cyan-500-40: var(--color-cyan-500-40);
  --alpha-cyan-500-30: var(--color-cyan-500-30);
  --alpha-cyan-500-20: var(--color-cyan-500-20);
  --alpha-cyan-500-10: var(--color-cyan-500-10);
  --alpha-cyan-500-5: var(--color-cyan-500-5);
  --alpha-cyan-600-100: var(--color-cyan-600-100);
  --alpha-cyan-600-90: var(--color-cyan-600-90);
  --alpha-cyan-600-80: var(--color-cyan-600-80);
  --alpha-cyan-600-70: var(--color-cyan-600-70);
  --alpha-cyan-600-60: var(--color-cyan-600-60);
  --alpha-cyan-600-50: var(--color-cyan-600-50);
  --alpha-cyan-600-40: var(--color-cyan-600-40);
  --alpha-cyan-600-30: var(--color-cyan-600-30);
  --alpha-cyan-600-20: var(--color-cyan-600-20);
  --alpha-cyan-600-10: var(--color-cyan-600-10);
  --alpha-cyan-600-5: var(--color-cyan-600-5);
  --alpha-cyan-700-100: var(--color-cyan-700-100);
  --alpha-cyan-700-90: var(--color-cyan-700-90);
  --alpha-cyan-700-80: var(--color-cyan-700-80);
  --alpha-cyan-700-70: var(--color-cyan-700-70);
  --alpha-cyan-700-60: var(--color-cyan-700-60);
  --alpha-cyan-700-50: var(--color-cyan-700-50);
  --alpha-cyan-700-40: var(--color-cyan-700-40);
  --alpha-cyan-700-30: var(--color-cyan-700-30);
  --alpha-cyan-700-20: var(--color-cyan-700-20);
  --alpha-cyan-700-10: var(--color-cyan-700-10);
  --alpha-cyan-700-5: var(--color-cyan-700-5);
  --alpha-cyan-800-100: var(--color-cyan-800-100);
  --alpha-cyan-800-90: var(--color-cyan-800-90);
  --alpha-cyan-800-80: var(--color-cyan-800-80);
  --alpha-cyan-800-70: var(--color-cyan-800-70);
  --alpha-cyan-800-60: var(--color-cyan-800-60);
  --alpha-cyan-800-50: var(--color-cyan-800-50);
  --alpha-cyan-800-40: var(--color-cyan-800-40);
  --alpha-cyan-800-30: var(--color-cyan-800-30);
  --alpha-cyan-800-20: var(--color-cyan-800-20);
  --alpha-cyan-800-10: var(--color-cyan-800-10);
  --alpha-cyan-800-5: var(--color-cyan-800-5);
  --alpha-cyan-900-100: var(--color-cyan-900-100);
  --alpha-cyan-900-90: var(--color-cyan-900-90);
  --alpha-cyan-900-80: var(--color-cyan-900-80);
  --alpha-cyan-900-70: var(--color-cyan-900-70);
  --alpha-cyan-900-60: var(--color-cyan-900-60);
  --alpha-cyan-900-50: var(--color-cyan-900-50);
  --alpha-cyan-900-40: var(--color-cyan-900-40);
  --alpha-cyan-900-30: var(--color-cyan-900-30);
  --alpha-cyan-900-20: var(--color-cyan-900-20);
  --alpha-cyan-900-10: var(--color-cyan-900-10);
  --alpha-cyan-900-5: var(--color-cyan-900-5);
  --alpha-cyan-950-100: var(--color-cyan-950-100);
  --alpha-cyan-950-90: var(--color-cyan-950-90);
  --alpha-cyan-950-80: var(--color-cyan-950-80);
  --alpha-cyan-950-70: var(--color-cyan-950-70);
  --alpha-cyan-950-60: var(--color-cyan-950-60);
  --alpha-cyan-950-50: var(--color-cyan-950-50);
  --alpha-cyan-950-40: var(--color-cyan-950-40);
  --alpha-cyan-950-30: var(--color-cyan-950-30);
  --alpha-cyan-950-20: var(--color-cyan-950-20);
  --alpha-cyan-950-10: var(--color-cyan-950-10);
  --alpha-cyan-950-5: var(--color-cyan-950-5);
  /* Mint */
  --utility-mint-50: var(--color-mint-50);
  --utility-mint-100: var(--color-mint-100);
  --utility-mint-200: var(--color-mint-200);
  --utility-mint-300: var(--color-mint-300);
  --utility-mint-400: var(--color-mint-400);
  --utility-mint-500: var(--color-mint-500);
  --utility-mint-600: var(--color-mint-600);
  --utility-mint-700: var(--color-mint-700);
  --utility-mint-800: var(--color-mint-800);
  --utility-mint-900: var(--color-mint-900);
  --utility-mint-950: var(--color-mint-950);
  --alpha-mint-50-100: var(--color-mint-50-100);
  --alpha-mint-50-90: var(--color-mint-50-90);
  --alpha-mint-50-80: var(--color-mint-50-80);
  --alpha-mint-50-70: var(--color-mint-50-70);
  --alpha-mint-50-60: var(--color-mint-50-60);
  --alpha-mint-50-50: var(--color-mint-50-50);
  --alpha-mint-50-40: var(--color-mint-50-40);
  --alpha-mint-50-30: var(--color-mint-50-30);
  --alpha-mint-50-20: var(--color-mint-50-20);
  --alpha-mint-50-10: var(--color-mint-50-10);
  --alpha-mint-50-5: var(--color-mint-50-5);
  --alpha-mint-100-100: var(--color-mint-100-100);
  --alpha-mint-100-90: var(--color-mint-100-90);
  --alpha-mint-100-80: var(--color-mint-100-80);
  --alpha-mint-100-70: var(--color-mint-100-70);
  --alpha-mint-100-60: var(--color-mint-100-60);
  --alpha-mint-100-50: var(--color-mint-100-50);
  --alpha-mint-100-40: var(--color-mint-100-40);
  --alpha-mint-100-30: var(--color-mint-100-30);
  --alpha-mint-100-20: var(--color-mint-100-20);
  --alpha-mint-100-10: var(--color-mint-100-10);
  --alpha-mint-100-5: var(--color-mint-100-5);
  --alpha-mint-200-100: var(--color-mint-200-100);
  --alpha-mint-200-90: var(--color-mint-200-90);
  --alpha-mint-200-80: var(--color-mint-200-80);
  --alpha-mint-200-70: var(--color-mint-200-70);
  --alpha-mint-200-60: var(--color-mint-200-60);
  --alpha-mint-200-50: var(--color-mint-200-50);
  --alpha-mint-200-40: var(--color-mint-200-40);
  --alpha-mint-200-30: var(--color-mint-200-30);
  --alpha-mint-200-20: var(--color-mint-200-20);
  --alpha-mint-200-10: var(--color-mint-200-10);
  --alpha-mint-200-5: var(--color-mint-200-5);
  --alpha-mint-300-100: var(--color-mint-300-100);
  --alpha-mint-300-90: var(--color-mint-300-90);
  --alpha-mint-300-80: var(--color-mint-300-80);
  --alpha-mint-300-70: var(--color-mint-300-70);
  --alpha-mint-300-60: var(--color-mint-300-60);
  --alpha-mint-300-50: var(--color-mint-300-50);
  --alpha-mint-300-40: var(--color-mint-300-40);
  --alpha-mint-300-30: var(--color-mint-300-30);
  --alpha-mint-300-20: var(--color-mint-300-20);
  --alpha-mint-300-10: var(--color-mint-300-10);
  --alpha-mint-300-5: var(--color-mint-300-5);
  --alpha-mint-400-100: var(--color-mint-400-100);
  --alpha-mint-400-90: var(--color-mint-400-90);
  --alpha-mint-400-80: var(--color-mint-400-80);
  --alpha-mint-400-70: var(--color-mint-400-70);
  --alpha-mint-400-60: var(--color-mint-400-60);
  --alpha-mint-400-50: var(--color-mint-400-50);
  --alpha-mint-400-40: var(--color-mint-400-40);
  --alpha-mint-400-30: var(--color-mint-400-30);
  --alpha-mint-400-20: var(--color-mint-400-20);
  --alpha-mint-400-10: var(--color-mint-400-10);
  --alpha-mint-400-5: var(--color-mint-400-5);
  --alpha-mint-500-100: var(--color-mint-500-100);
  --alpha-mint-500-90: var(--color-mint-500-90);
  --alpha-mint-500-80: var(--color-mint-500-80);
  --alpha-mint-500-70: var(--color-mint-500-70);
  --alpha-mint-500-60: var(--color-mint-500-60);
  --alpha-mint-500-50: var(--color-mint-500-50);
  --alpha-mint-500-40: var(--color-mint-500-40);
  --alpha-mint-500-30: var(--color-mint-500-30);
  --alpha-mint-500-20: var(--color-mint-500-20);
  --alpha-mint-500-10: var(--color-mint-500-10);
  --alpha-mint-500-5: var(--color-mint-500-5);
  --alpha-mint-600-100: var(--color-mint-600-100);
  --alpha-mint-600-90: var(--color-mint-600-90);
  --alpha-mint-600-80: var(--color-mint-600-80);
  --alpha-mint-600-70: var(--color-mint-600-70);
  --alpha-mint-600-60: var(--color-mint-600-60);
  --alpha-mint-600-50: var(--color-mint-600-50);
  --alpha-mint-600-40: var(--color-mint-600-40);
  --alpha-mint-600-30: var(--color-mint-600-30);
  --alpha-mint-600-20: var(--color-mint-600-20);
  --alpha-mint-600-10: var(--color-mint-600-10);
  --alpha-mint-600-5: var(--color-mint-600-5);
  --alpha-mint-700-100: var(--color-mint-700-100);
  --alpha-mint-700-90: var(--color-mint-700-90);
  --alpha-mint-700-80: var(--color-mint-700-80);
  --alpha-mint-700-70: var(--color-mint-700-70);
  --alpha-mint-700-60: var(--color-mint-700-60);
  --alpha-mint-700-50: var(--color-mint-700-50);
  --alpha-mint-700-40: var(--color-mint-700-40);
  --alpha-mint-700-30: var(--color-mint-700-30);
  --alpha-mint-700-20: var(--color-mint-700-20);
  --alpha-mint-700-10: var(--color-mint-700-10);
  --alpha-mint-700-5: var(--color-mint-700-5);
  --alpha-mint-800-100: var(--color-mint-800-100);
  --alpha-mint-800-90: var(--color-mint-800-90);
  --alpha-mint-800-80: var(--color-mint-800-80);
  --alpha-mint-800-70: var(--color-mint-800-70);
  --alpha-mint-800-60: var(--color-mint-800-60);
  --alpha-mint-800-50: var(--color-mint-800-50);
  --alpha-mint-800-40: var(--color-mint-800-40);
  --alpha-mint-800-30: var(--color-mint-800-30);
  --alpha-mint-800-20: var(--color-mint-800-20);
  --alpha-mint-800-10: var(--color-mint-800-10);
  --alpha-mint-800-5: var(--color-mint-800-5);
  --alpha-mint-900-100: var(--color-mint-900-100);
  --alpha-mint-900-90: var(--color-mint-900-90);
  --alpha-mint-900-80: var(--color-mint-900-80);
  --alpha-mint-900-70: var(--color-mint-900-70);
  --alpha-mint-900-60: var(--color-mint-900-60);
  --alpha-mint-900-50: var(--color-mint-900-50);
  --alpha-mint-900-40: var(--color-mint-900-40);
  --alpha-mint-900-30: var(--color-mint-900-30);
  --alpha-mint-900-20: var(--color-mint-900-20);
  --alpha-mint-900-10: var(--color-mint-900-10);
  --alpha-mint-900-5: var(--color-mint-900-5);
  --alpha-mint-950-100: var(--color-mint-950-100);
  --alpha-mint-950-90: var(--color-mint-950-90);
  --alpha-mint-950-80: var(--color-mint-950-80);
  --alpha-mint-950-70: var(--color-mint-950-70);
  --alpha-mint-950-60: var(--color-mint-950-60);
  --alpha-mint-950-50: var(--color-mint-950-50);
  --alpha-mint-950-40: var(--color-mint-950-40);
  --alpha-mint-950-30: var(--color-mint-950-30);
  --alpha-mint-950-20: var(--color-mint-950-20);
  --alpha-mint-950-10: var(--color-mint-950-10);
  --alpha-mint-950-5: var(--color-mint-950-5);
  /* Utility Sky */
  --utility-sky-50: var(--color-sky-50);
  --utility-sky-100: var(--color-sky-100);
  --utility-sky-200: var(--color-sky-200);
  --utility-sky-300: var(--color-sky-300);
  --utility-sky-400: var(--color-sky-400);
  --utility-sky-500: var(--color-sky-500);
  --utility-sky-600: var(--color-sky-600);
  --utility-sky-700: var(--color-sky-700);
  --utility-sky-800: var(--color-sky-800);
  --utility-sky-900: var(--color-sky-900);
  --utility-sky-950: var(--color-sky-950);
  --alpha-sky-50-100: var(--color-sky-50-100);
  --alpha-sky-50-90: var(--color-sky-50-90);
  --alpha-sky-50-80: var(--color-sky-50-80);
  --alpha-sky-50-70: var(--color-sky-50-70);
  --alpha-sky-50-60: var(--color-sky-50-60);
  --alpha-sky-50-50: var(--color-sky-50-50);
  --alpha-sky-50-40: var(--color-sky-50-40);
  --alpha-sky-50-30: var(--color-sky-50-30);
  --alpha-sky-50-20: var(--color-sky-50-20);
  --alpha-sky-50-10: var(--color-sky-50-10);
  --alpha-sky-50-5: var(--color-sky-50-5);
  --alpha-sky-100-100: var(--color-sky-100-100);
  --alpha-sky-100-90: var(--color-sky-100-90);
  --alpha-sky-100-80: var(--color-sky-100-80);
  --alpha-sky-100-70: var(--color-sky-100-70);
  --alpha-sky-100-60: var(--color-sky-100-60);
  --alpha-sky-100-50: var(--color-sky-100-50);
  --alpha-sky-100-40: var(--color-sky-100-40);
  --alpha-sky-100-30: var(--color-sky-100-30);
  --alpha-sky-100-20: var(--color-sky-100-20);
  --alpha-sky-100-10: var(--color-sky-100-10);
  --alpha-sky-100-5: var(--color-sky-100-5);
  --alpha-sky-200-100: var(--color-sky-200-100);
  --alpha-sky-200-90: var(--color-sky-200-90);
  --alpha-sky-200-80: var(--color-sky-200-80);
  --alpha-sky-200-70: var(--color-sky-200-70);
  --alpha-sky-200-60: var(--color-sky-200-60);
  --alpha-sky-200-50: var(--color-sky-200-50);
  --alpha-sky-200-40: var(--color-sky-200-40);
  --alpha-sky-200-30: var(--color-sky-200-30);
  --alpha-sky-200-20: var(--color-sky-200-20);
  --alpha-sky-200-10: var(--color-sky-200-10);
  --alpha-sky-200-5: var(--color-sky-200-5);
  --alpha-sky-300-100: var(--color-sky-300-100);
  --alpha-sky-300-90: var(--color-sky-300-90);
  --alpha-sky-300-80: var(--color-sky-300-80);
  --alpha-sky-300-70: var(--color-sky-300-70);
  --alpha-sky-300-60: var(--color-sky-300-60);
  --alpha-sky-300-50: var(--color-sky-300-50);
  --alpha-sky-300-40: var(--color-sky-300-40);
  --alpha-sky-300-30: var(--color-sky-300-30);
  --alpha-sky-300-20: var(--color-sky-300-20);
  --alpha-sky-300-10: var(--color-sky-300-10);
  --alpha-sky-300-5: var(--color-sky-300-5);
  --alpha-sky-400-100: var(--color-sky-400-100);
  --alpha-sky-400-90: var(--color-sky-400-90);
  --alpha-sky-400-80: var(--color-sky-400-80);
  --alpha-sky-400-70: var(--color-sky-400-70);
  --alpha-sky-400-60: var(--color-sky-400-60);
  --alpha-sky-400-50: var(--color-sky-400-50);
  --alpha-sky-400-40: var(--color-sky-400-40);
  --alpha-sky-400-30: var(--color-sky-400-30);
  --alpha-sky-400-20: var(--color-sky-400-20);
  --alpha-sky-400-10: var(--color-sky-400-10);
  --alpha-sky-400-5: var(--color-sky-400-5);
  --alpha-sky-500-100: var(--color-sky-500-100);
  --alpha-sky-500-90: var(--color-sky-500-90);
  --alpha-sky-500-80: var(--color-sky-500-80);
  --alpha-sky-500-70: var(--color-sky-500-70);
  --alpha-sky-500-60: var(--color-sky-500-60);
  --alpha-sky-500-50: var(--color-sky-500-50);
  --alpha-sky-500-40: var(--color-sky-500-40);
  --alpha-sky-500-30: var(--color-sky-500-30);
  --alpha-sky-500-20: var(--color-sky-500-20);
  --alpha-sky-500-10: var(--color-sky-500-10);
  --alpha-sky-500-5: var(--color-sky-500-5);
  --alpha-sky-600-100: var(--color-sky-600-100);
  --alpha-sky-600-90: var(--color-sky-600-90);
  --alpha-sky-600-80: var(--color-sky-600-80);
  --alpha-sky-600-70: var(--color-sky-600-70);
  --alpha-sky-600-60: var(--color-sky-600-60);
  --alpha-sky-600-50: var(--color-sky-600-50);
  --alpha-sky-600-40: var(--color-sky-600-40);
  --alpha-sky-600-30: var(--color-sky-600-30);
  --alpha-sky-600-20: var(--color-sky-600-20);
  --alpha-sky-600-10: var(--color-sky-600-10);
  --alpha-sky-600-5: var(--color-sky-600-5);
  --alpha-sky-700-100: var(--color-sky-700-100);
  --alpha-sky-700-90: var(--color-sky-700-90);
  --alpha-sky-700-80: var(--color-sky-700-80);
  --alpha-sky-700-70: var(--color-sky-700-70);
  --alpha-sky-700-60: var(--color-sky-700-60);
  --alpha-sky-700-50: var(--color-sky-700-50);
  --alpha-sky-700-40: var(--color-sky-700-40);
  --alpha-sky-700-30: var(--color-sky-700-30);
  --alpha-sky-700-20: var(--color-sky-700-20);
  --alpha-sky-700-10: var(--color-sky-700-10);
  --alpha-sky-700-5: var(--color-sky-700-5);
  --alpha-sky-800-100: var(--color-sky-800-100);
  --alpha-sky-800-90: var(--color-sky-800-90);
  --alpha-sky-800-80: var(--color-sky-800-80);
  --alpha-sky-800-70: var(--color-sky-800-70);
  --alpha-sky-800-60: var(--color-sky-800-60);
  --alpha-sky-800-50: var(--color-sky-800-50);
  --alpha-sky-800-40: var(--color-sky-800-40);
  --alpha-sky-800-30: var(--color-sky-800-30);
  --alpha-sky-800-20: var(--color-sky-800-20);
  --alpha-sky-800-10: var(--color-sky-800-10);
  --alpha-sky-800-5: var(--color-sky-800-5);
  --alpha-sky-900-100: var(--color-sky-900-100);
  --alpha-sky-900-90: var(--color-sky-900-90);
  --alpha-sky-900-80: var(--color-sky-900-80);
  --alpha-sky-900-70: var(--color-sky-900-70);
  --alpha-sky-900-60: var(--color-sky-900-60);
  --alpha-sky-900-50: var(--color-sky-900-50);
  --alpha-sky-900-40: var(--color-sky-900-40);
  --alpha-sky-900-30: var(--color-sky-900-30);
  --alpha-sky-900-20: var(--color-sky-900-20);
  --alpha-sky-900-10: var(--color-sky-900-10);
  --alpha-sky-900-5: var(--color-sky-900-5);
  --alpha-sky-950-100: var(--color-sky-950-100);
  --alpha-sky-950-90: var(--color-sky-950-90);
  --alpha-sky-950-80: var(--color-sky-950-80);
  --alpha-sky-950-70: var(--color-sky-950-70);
  --alpha-sky-950-60: var(--color-sky-950-60);
  --alpha-sky-950-50: var(--color-sky-950-50);
  --alpha-sky-950-40: var(--color-sky-950-40);
  --alpha-sky-950-30: var(--color-sky-950-30);
  --alpha-sky-950-20: var(--color-sky-950-20);
  --alpha-sky-950-10: var(--color-sky-950-10);
  --alpha-sky-950-5: var(--color-sky-950-5);
  /* Utility Blue */
  --utility-blue-50: var(--color-blue-50);
  --utility-blue-100: var(--color-blue-100);
  --utility-blue-200: var(--color-blue-200);
  --utility-blue-300: var(--color-blue-300);
  --utility-blue-400: var(--color-blue-400);
  --utility-blue-500: var(--color-blue-500);
  --utility-blue-600: var(--color-blue-600);
  --utility-blue-700: var(--color-blue-700);
  --utility-blue-800: var(--color-blue-800);
  --utility-blue-900: var(--color-blue-900);
  --utility-blue-950: var(--color-blue-950);
  --alpha-blue-50-100: var(--color-blue-50-100);
  --alpha-blue-50-90: var(--color-blue-50-90);
  --alpha-blue-50-80: var(--color-blue-50-80);
  --alpha-blue-50-70: var(--color-blue-50-70);
  --alpha-blue-50-60: var(--color-blue-50-60);
  --alpha-blue-50-50: var(--color-blue-50-50);
  --alpha-blue-50-40: var(--color-blue-50-40);
  --alpha-blue-50-30: var(--color-blue-50-30);
  --alpha-blue-50-20: var(--color-blue-50-20);
  --alpha-blue-50-10: var(--color-blue-50-10);
  --alpha-blue-50-5: var(--color-blue-50-5);
  --alpha-blue-100-100: var(--color-blue-100-100);
  --alpha-blue-100-90: var(--color-blue-100-90);
  --alpha-blue-100-80: var(--color-blue-100-80);
  --alpha-blue-100-70: var(--color-blue-100-70);
  --alpha-blue-100-60: var(--color-blue-100-60);
  --alpha-blue-100-50: var(--color-blue-100-50);
  --alpha-blue-100-40: var(--color-blue-100-40);
  --alpha-blue-100-30: var(--color-blue-100-30);
  --alpha-blue-100-20: var(--color-blue-100-20);
  --alpha-blue-100-10: var(--color-blue-100-10);
  --alpha-blue-100-5: var(--color-blue-100-5);
  --alpha-blue-200-100: var(--color-blue-200-100);
  --alpha-blue-200-90: var(--color-blue-200-90);
  --alpha-blue-200-80: var(--color-blue-200-80);
  --alpha-blue-200-70: var(--color-blue-200-70);
  --alpha-blue-200-60: var(--color-blue-200-60);
  --alpha-blue-200-50: var(--color-blue-200-50);
  --alpha-blue-200-40: var(--color-blue-200-40);
  --alpha-blue-200-30: var(--color-blue-200-30);
  --alpha-blue-200-20: var(--color-blue-200-20);
  --alpha-blue-200-10: var(--color-blue-200-10);
  --alpha-blue-200-5: var(--color-blue-200-5);
  --alpha-blue-300-100: var(--color-blue-300-100);
  --alpha-blue-300-90: var(--color-blue-300-90);
  --alpha-blue-300-80: var(--color-blue-300-80);
  --alpha-blue-300-70: var(--color-blue-300-70);
  --alpha-blue-300-60: var(--color-blue-300-60);
  --alpha-blue-300-50: var(--color-blue-300-50);
  --alpha-blue-300-40: var(--color-blue-300-40);
  --alpha-blue-300-30: var(--color-blue-300-30);
  --alpha-blue-300-20: var(--color-blue-300-20);
  --alpha-blue-300-10: var(--color-blue-300-10);
  --alpha-blue-300-5: var(--color-blue-300-5);
  --alpha-blue-400-100: var(--color-blue-400-100);
  --alpha-blue-400-90: var(--color-blue-400-90);
  --alpha-blue-400-80: var(--color-blue-400-80);
  --alpha-blue-400-70: var(--color-blue-400-70);
  --alpha-blue-400-60: var(--color-blue-400-60);
  --alpha-blue-400-50: var(--color-blue-400-50);
  --alpha-blue-400-40: var(--color-blue-400-40);
  --alpha-blue-400-30: var(--color-blue-400-30);
  --alpha-blue-400-20: var(--color-blue-400-20);
  --alpha-blue-400-10: var(--color-blue-400-10);
  --alpha-blue-400-5: var(--color-blue-400-5);
  --alpha-blue-500-100: var(--color-blue-500-100);
  --alpha-blue-500-90: var(--color-blue-500-90);
  --alpha-blue-500-80: var(--color-blue-500-80);
  --alpha-blue-500-70: var(--color-blue-500-70);
  --alpha-blue-500-60: var(--color-blue-500-60);
  --alpha-blue-500-50: var(--color-blue-500-50);
  --alpha-blue-500-40: var(--color-blue-500-40);
  --alpha-blue-500-30: var(--color-blue-500-30);
  --alpha-blue-500-20: var(--color-blue-500-20);
  --alpha-blue-500-10: var(--color-blue-500-10);
  --alpha-blue-500-5: var(--color-blue-500-5);
  --alpha-blue-600-100: var(--color-blue-600-100);
  --alpha-blue-600-90: var(--color-blue-600-90);
  --alpha-blue-600-80: var(--color-blue-600-80);
  --alpha-blue-600-70: var(--color-blue-600-70);
  --alpha-blue-600-60: var(--color-blue-600-60);
  --alpha-blue-600-50: var(--color-blue-600-50);
  --alpha-blue-600-40: var(--color-blue-600-40);
  --alpha-blue-600-30: var(--color-blue-600-30);
  --alpha-blue-600-20: var(--color-blue-600-20);
  --alpha-blue-600-10: var(--color-blue-600-10);
  --alpha-blue-600-5: var(--color-blue-600-5);
  --alpha-blue-700-100: var(--color-blue-700-100);
  --alpha-blue-700-90: var(--color-blue-700-90);
  --alpha-blue-700-80: var(--color-blue-700-80);
  --alpha-blue-700-70: var(--color-blue-700-70);
  --alpha-blue-700-60: var(--color-blue-700-60);
  --alpha-blue-700-50: var(--color-blue-700-50);
  --alpha-blue-700-40: var(--color-blue-700-40);
  --alpha-blue-700-30: var(--color-blue-700-30);
  --alpha-blue-700-20: var(--color-blue-700-20);
  --alpha-blue-700-10: var(--color-blue-700-10);
  --alpha-blue-700-5: var(--color-blue-700-5);
  --alpha-blue-800-100: var(--color-blue-800-100);
  --alpha-blue-800-90: var(--color-blue-800-90);
  --alpha-blue-800-80: var(--color-blue-800-80);
  --alpha-blue-800-70: var(--color-blue-800-70);
  --alpha-blue-800-60: var(--color-blue-800-60);
  --alpha-blue-800-50: var(--color-blue-800-50);
  --alpha-blue-800-40: var(--color-blue-800-40);
  --alpha-blue-800-30: var(--color-blue-800-30);
  --alpha-blue-800-20: var(--color-blue-800-20);
  --alpha-blue-800-10: var(--color-blue-800-10);
  --alpha-blue-800-5: var(--color-blue-800-5);
  --alpha-blue-900-100: var(--color-blue-900-100);
  --alpha-blue-900-90: var(--color-blue-900-90);
  --alpha-blue-900-80: var(--color-blue-900-80);
  --alpha-blue-900-70: var(--color-blue-900-70);
  --alpha-blue-900-60: var(--color-blue-900-60);
  --alpha-blue-900-50: var(--color-blue-900-50);
  --alpha-blue-900-40: var(--color-blue-900-40);
  --alpha-blue-900-30: var(--color-blue-900-30);
  --alpha-blue-900-20: var(--color-blue-900-20);
  --alpha-blue-900-10: var(--color-blue-900-10);
  --alpha-blue-900-5: var(--color-blue-900-5);
  --alpha-blue-950-100: var(--color-blue-950-100);
  --alpha-blue-950-90: var(--color-blue-950-90);
  --alpha-blue-950-80: var(--color-blue-950-80);
  --alpha-blue-950-70: var(--color-blue-950-70);
  --alpha-blue-950-60: var(--color-blue-950-60);
  --alpha-blue-950-50: var(--color-blue-950-50);
  --alpha-blue-950-40: var(--color-blue-950-40);
  --alpha-blue-950-30: var(--color-blue-950-30);
  --alpha-blue-950-20: var(--color-blue-950-20);
  --alpha-blue-950-10: var(--color-blue-950-10);
  --alpha-blue-950-5: var(--color-blue-950-5);
  /* Utility Indigo */
  --utility-indigo-50: var(--color-indigo-50);
  --utility-indigo-100: var(--color-indigo-100);
  --utility-indigo-200: var(--color-indigo-200);
  --utility-indigo-300: var(--color-indigo-300);
  --utility-indigo-400: var(--color-indigo-400);
  --utility-indigo-500: var(--color-indigo-500);
  --utility-indigo-600: var(--color-indigo-600);
  --utility-indigo-700: var(--color-indigo-700);
  --utility-indigo-800: var(--color-indigo-800);
  --utility-indigo-900: var(--color-indigo-900);
  --utility-indigo-950: var(--color-indigo-950);
  --alpha-indigo-50-100: var(--color-indigo-50-100);
  --alpha-indigo-50-90: var(--color-indigo-50-90);
  --alpha-indigo-50-80: var(--color-indigo-50-80);
  --alpha-indigo-50-70: var(--color-indigo-50-70);
  --alpha-indigo-50-60: var(--color-indigo-50-60);
  --alpha-indigo-50-50: var(--color-indigo-50-50);
  --alpha-indigo-50-40: var(--color-indigo-50-40);
  --alpha-indigo-50-30: var(--color-indigo-50-30);
  --alpha-indigo-50-20: var(--color-indigo-50-20);
  --alpha-indigo-50-10: var(--color-indigo-50-10);
  --alpha-indigo-50-5: var(--color-indigo-50-5);
  --alpha-indigo-100-100: var(--color-indigo-100-100);
  --alpha-indigo-100-90: var(--color-indigo-100-90);
  --alpha-indigo-100-80: var(--color-indigo-100-80);
  --alpha-indigo-100-70: var(--color-indigo-100-70);
  --alpha-indigo-100-60: var(--color-indigo-100-60);
  --alpha-indigo-100-50: var(--color-indigo-100-50);
  --alpha-indigo-100-40: var(--color-indigo-100-40);
  --alpha-indigo-100-30: var(--color-indigo-100-30);
  --alpha-indigo-100-20: var(--color-indigo-100-20);
  --alpha-indigo-100-10: var(--color-indigo-100-10);
  --alpha-indigo-100-5: var(--color-indigo-100-5);
  --alpha-indigo-200-100: var(--color-indigo-200-100);
  --alpha-indigo-200-90: var(--color-indigo-200-90);
  --alpha-indigo-200-80: var(--color-indigo-200-80);
  --alpha-indigo-200-70: var(--color-indigo-200-70);
  --alpha-indigo-200-60: var(--color-indigo-200-60);
  --alpha-indigo-200-50: var(--color-indigo-200-50);
  --alpha-indigo-200-40: var(--color-indigo-200-40);
  --alpha-indigo-200-30: var(--color-indigo-200-30);
  --alpha-indigo-200-20: var(--color-indigo-200-20);
  --alpha-indigo-200-10: var(--color-indigo-200-10);
  --alpha-indigo-200-5: var(--color-indigo-200-5);
  --alpha-indigo-300-100: var(--color-indigo-300-100);
  --alpha-indigo-300-90: var(--color-indigo-300-90);
  --alpha-indigo-300-80: var(--color-indigo-300-80);
  --alpha-indigo-300-70: var(--color-indigo-300-70);
  --alpha-indigo-300-60: var(--color-indigo-300-60);
  --alpha-indigo-300-50: var(--color-indigo-300-50);
  --alpha-indigo-300-40: var(--color-indigo-300-40);
  --alpha-indigo-300-30: var(--color-indigo-300-30);
  --alpha-indigo-300-20: var(--color-indigo-300-20);
  --alpha-indigo-300-10: var(--color-indigo-300-10);
  --alpha-indigo-300-5: var(--color-indigo-300-5);
  --alpha-indigo-400-100: var(--color-indigo-400-100);
  --alpha-indigo-400-90: var(--color-indigo-400-90);
  --alpha-indigo-400-80: var(--color-indigo-400-80);
  --alpha-indigo-400-70: var(--color-indigo-400-70);
  --alpha-indigo-400-60: var(--color-indigo-400-60);
  --alpha-indigo-400-50: var(--color-indigo-400-50);
  --alpha-indigo-400-40: var(--color-indigo-400-40);
  --alpha-indigo-400-30: var(--color-indigo-400-30);
  --alpha-indigo-400-20: var(--color-indigo-400-20);
  --alpha-indigo-400-10: var(--color-indigo-400-10);
  --alpha-indigo-400-5: var(--color-indigo-400-5);
  --alpha-indigo-500-100: var(--color-indigo-500-100);
  --alpha-indigo-500-90: var(--color-indigo-500-90);
  --alpha-indigo-500-80: var(--color-indigo-500-80);
  --alpha-indigo-500-70: var(--color-indigo-500-70);
  --alpha-indigo-500-60: var(--color-indigo-500-60);
  --alpha-indigo-500-50: var(--color-indigo-500-50);
  --alpha-indigo-500-40: var(--color-indigo-500-40);
  --alpha-indigo-500-30: var(--color-indigo-500-30);
  --alpha-indigo-500-20: var(--color-indigo-500-20);
  --alpha-indigo-500-10: var(--color-indigo-500-10);
  --alpha-indigo-500-5: var(--color-indigo-500-5);
  --alpha-indigo-600-100: var(--color-indigo-600-100);
  --alpha-indigo-600-90: var(--color-indigo-600-90);
  --alpha-indigo-600-80: var(--color-indigo-600-80);
  --alpha-indigo-600-70: var(--color-indigo-600-70);
  --alpha-indigo-600-60: var(--color-indigo-600-60);
  --alpha-indigo-600-50: var(--color-indigo-600-50);
  --alpha-indigo-600-40: var(--color-indigo-600-40);
  --alpha-indigo-600-30: var(--color-indigo-600-30);
  --alpha-indigo-600-20: var(--color-indigo-600-20);
  --alpha-indigo-600-10: var(--color-indigo-600-10);
  --alpha-indigo-600-5: var(--color-indigo-600-5);
  --alpha-indigo-700-100: var(--color-indigo-700-100);
  --alpha-indigo-700-90: var(--color-indigo-700-90);
  --alpha-indigo-700-80: var(--color-indigo-700-80);
  --alpha-indigo-700-70: var(--color-indigo-700-70);
  --alpha-indigo-700-60: var(--color-indigo-700-60);
  --alpha-indigo-700-50: var(--color-indigo-700-50);
  --alpha-indigo-700-40: var(--color-indigo-700-40);
  --alpha-indigo-700-30: var(--color-indigo-700-30);
  --alpha-indigo-700-20: var(--color-indigo-700-20);
  --alpha-indigo-700-10: var(--color-indigo-700-10);
  --alpha-indigo-700-5: var(--color-indigo-700-5);
  --alpha-indigo-800-100: var(--color-indigo-800-100);
  --alpha-indigo-800-90: var(--color-indigo-800-90);
  --alpha-indigo-800-80: var(--color-indigo-800-80);
  --alpha-indigo-800-70: var(--color-indigo-800-70);
  --alpha-indigo-800-60: var(--color-indigo-800-60);
  --alpha-indigo-800-50: var(--color-indigo-800-50);
  --alpha-indigo-800-40: var(--color-indigo-800-40);
  --alpha-indigo-800-30: var(--color-indigo-800-30);
  --alpha-indigo-800-20: var(--color-indigo-800-20);
  --alpha-indigo-800-10: var(--color-indigo-800-10);
  --alpha-indigo-800-5: var(--color-indigo-800-5);
  --alpha-indigo-900-100: var(--color-indigo-900-100);
  --alpha-indigo-900-90: var(--color-indigo-900-90);
  --alpha-indigo-900-80: var(--color-indigo-900-80);
  --alpha-indigo-900-70: var(--color-indigo-900-70);
  --alpha-indigo-900-60: var(--color-indigo-900-60);
  --alpha-indigo-900-50: var(--color-indigo-900-50);
  --alpha-indigo-900-40: var(--color-indigo-900-40);
  --alpha-indigo-900-30: var(--color-indigo-900-30);
  --alpha-indigo-900-20: var(--color-indigo-900-20);
  --alpha-indigo-900-10: var(--color-indigo-900-10);
  --alpha-indigo-900-5: var(--color-indigo-900-5);
  --alpha-indigo-950-100: var(--color-indigo-950-100);
  --alpha-indigo-950-90: var(--color-indigo-950-90);
  --alpha-indigo-950-80: var(--color-indigo-950-80);
  --alpha-indigo-950-70: var(--color-indigo-950-70);
  --alpha-indigo-950-60: var(--color-indigo-950-60);
  --alpha-indigo-950-50: var(--color-indigo-950-50);
  --alpha-indigo-950-40: var(--color-indigo-950-40);
  --alpha-indigo-950-30: var(--color-indigo-950-30);
  --alpha-indigo-950-20: var(--color-indigo-950-20);
  --alpha-indigo-950-10: var(--color-indigo-950-10);
  --alpha-indigo-950-5: var(--color-indigo-950-5);
  /* Utility Violet */
  --utility-violet-50: var(--color-violet-50);
  --utility-violet-100: var(--color-violet-100);
  --utility-violet-200: var(--color-violet-200);
  --utility-violet-300: var(--color-violet-300);
  --utility-violet-400: var(--color-violet-400);
  --utility-violet-500: var(--color-violet-500);
  --utility-violet-600: var(--color-violet-600);
  --utility-violet-700: var(--color-violet-700);
  --utility-violet-800: var(--color-violet-800);
  --utility-violet-900: var(--color-violet-900);
  --utility-violet-950: var(--color-violet-950);
  --alpha-violet-50-100: var(--color-violet-50-100);
  --alpha-violet-50-90: var(--color-violet-50-90);
  --alpha-violet-50-80: var(--color-violet-50-80);
  --alpha-violet-50-70: var(--color-violet-50-70);
  --alpha-violet-50-60: var(--color-violet-50-60);
  --alpha-violet-50-50: var(--color-violet-50-50);
  --alpha-violet-50-40: var(--color-violet-50-40);
  --alpha-violet-50-30: var(--color-violet-50-30);
  --alpha-violet-50-20: var(--color-violet-50-20);
  --alpha-violet-50-10: var(--color-violet-50-10);
  --alpha-violet-50-5: var(--color-violet-50-5);
  --alpha-violet-100-100: var(--color-violet-100-100);
  --alpha-violet-100-90: var(--color-violet-100-90);
  --alpha-violet-100-80: var(--color-violet-100-80);
  --alpha-violet-100-70: var(--color-violet-100-70);
  --alpha-violet-100-60: var(--color-violet-100-60);
  --alpha-violet-100-50: var(--color-violet-100-50);
  --alpha-violet-100-40: var(--color-violet-100-40);
  --alpha-violet-100-30: var(--color-violet-100-30);
  --alpha-violet-100-20: var(--color-violet-100-20);
  --alpha-violet-100-10: var(--color-violet-100-10);
  --alpha-violet-100-5: var(--color-violet-100-5);
  --alpha-violet-200-100: var(--color-violet-200-100);
  --alpha-violet-200-90: var(--color-violet-200-90);
  --alpha-violet-200-80: var(--color-violet-200-80);
  --alpha-violet-200-70: var(--color-violet-200-70);
  --alpha-violet-200-60: var(--color-violet-200-60);
  --alpha-violet-200-50: var(--color-violet-200-50);
  --alpha-violet-200-40: var(--color-violet-200-40);
  --alpha-violet-200-30: var(--color-violet-200-30);
  --alpha-violet-200-20: var(--color-violet-200-20);
  --alpha-violet-200-10: var(--color-violet-200-10);
  --alpha-violet-200-5: var(--color-violet-200-5);
  --alpha-violet-300-100: var(--color-violet-300-100);
  --alpha-violet-300-90: var(--color-violet-300-90);
  --alpha-violet-300-80: var(--color-violet-300-80);
  --alpha-violet-300-70: var(--color-violet-300-70);
  --alpha-violet-300-60: var(--color-violet-300-60);
  --alpha-violet-300-50: var(--color-violet-300-50);
  --alpha-violet-300-40: var(--color-violet-300-40);
  --alpha-violet-300-30: var(--color-violet-300-30);
  --alpha-violet-300-20: var(--color-violet-300-20);
  --alpha-violet-300-10: var(--color-violet-300-10);
  --alpha-violet-300-5: var(--color-violet-300-5);
  --alpha-violet-400-100: var(--color-violet-400-100);
  --alpha-violet-400-90: var(--color-violet-400-90);
  --alpha-violet-400-80: var(--color-violet-400-80);
  --alpha-violet-400-70: var(--color-violet-400-70);
  --alpha-violet-400-60: var(--color-violet-400-60);
  --alpha-violet-400-50: var(--color-violet-400-50);
  --alpha-violet-400-40: var(--color-violet-400-40);
  --alpha-violet-400-30: var(--color-violet-400-30);
  --alpha-violet-400-20: var(--color-violet-400-20);
  --alpha-violet-400-10: var(--color-violet-400-10);
  --alpha-violet-400-5: var(--color-violet-400-5);
  --alpha-violet-500-100: var(--color-violet-500-100);
  --alpha-violet-500-90: var(--color-violet-500-90);
  --alpha-violet-500-80: var(--color-violet-500-80);
  --alpha-violet-500-70: var(--color-violet-500-70);
  --alpha-violet-500-60: var(--color-violet-500-60);
  --alpha-violet-500-50: var(--color-violet-500-50);
  --alpha-violet-500-40: var(--color-violet-500-40);
  --alpha-violet-500-30: var(--color-violet-500-30);
  --alpha-violet-500-20: var(--color-violet-500-20);
  --alpha-violet-500-10: var(--color-violet-500-10);
  --alpha-violet-500-5: var(--color-violet-500-5);
  --alpha-violet-600-100: var(--color-violet-600-100);
  --alpha-violet-600-90: var(--color-violet-600-90);
  --alpha-violet-600-80: var(--color-violet-600-80);
  --alpha-violet-600-70: var(--color-violet-600-70);
  --alpha-violet-600-60: var(--color-violet-600-60);
  --alpha-violet-600-50: var(--color-violet-600-50);
  --alpha-violet-600-40: var(--color-violet-600-40);
  --alpha-violet-600-30: var(--color-violet-600-30);
  --alpha-violet-600-20: var(--color-violet-600-20);
  --alpha-violet-600-10: var(--color-violet-600-10);
  --alpha-violet-600-5: var(--color-violet-600-5);
  --alpha-violet-700-100: var(--color-violet-700-100);
  --alpha-violet-700-90: var(--color-violet-700-90);
  --alpha-violet-700-80: var(--color-violet-700-80);
  --alpha-violet-700-70: var(--color-violet-700-70);
  --alpha-violet-700-60: var(--color-violet-700-60);
  --alpha-violet-700-50: var(--color-violet-700-50);
  --alpha-violet-700-40: var(--color-violet-700-40);
  --alpha-violet-700-30: var(--color-violet-700-30);
  --alpha-violet-700-20: var(--color-violet-700-20);
  --alpha-violet-700-10: var(--color-violet-700-10);
  --alpha-violet-700-5: var(--color-violet-700-5);
  --alpha-violet-800-100: var(--color-violet-800-100);
  --alpha-violet-800-90: var(--color-violet-800-90);
  --alpha-violet-800-80: var(--color-violet-800-80);
  --alpha-violet-800-70: var(--color-violet-800-70);
  --alpha-violet-800-60: var(--color-violet-800-60);
  --alpha-violet-800-50: var(--color-violet-800-50);
  --alpha-violet-800-40: var(--color-violet-800-40);
  --alpha-violet-800-30: var(--color-violet-800-30);
  --alpha-violet-800-20: var(--color-violet-800-20);
  --alpha-violet-800-10: var(--color-violet-800-10);
  --alpha-violet-800-5: var(--color-violet-800-5);
  --alpha-violet-900-100: var(--color-violet-900-100);
  --alpha-violet-900-90: var(--color-violet-900-90);
  --alpha-violet-900-80: var(--color-violet-900-80);
  --alpha-violet-900-70: var(--color-violet-900-70);
  --alpha-violet-900-60: var(--color-violet-900-60);
  --alpha-violet-900-50: var(--color-violet-900-50);
  --alpha-violet-900-40: var(--color-violet-900-40);
  --alpha-violet-900-30: var(--color-violet-900-30);
  --alpha-violet-900-20: var(--color-violet-900-20);
  --alpha-violet-900-10: var(--color-violet-900-10);
  --alpha-violet-900-5: var(--color-violet-900-5);
  --alpha-violet-950-100: var(--color-violet-950-100);
  --alpha-violet-950-90: var(--color-violet-950-90);
  --alpha-violet-950-80: var(--color-violet-950-80);
  --alpha-violet-950-70: var(--color-violet-950-70);
  --alpha-violet-950-60: var(--color-violet-950-60);
  --alpha-violet-950-50: var(--color-violet-950-50);
  --alpha-violet-950-40: var(--color-violet-950-40);
  --alpha-violet-950-30: var(--color-violet-950-30);
  --alpha-violet-950-20: var(--color-violet-950-20);
  --alpha-violet-950-10: var(--color-violet-950-10);
  --alpha-violet-950-5: var(--color-violet-950-5);
  /* Utility Purple */
  --utility-purple-50: var(--color-purple-50);
  --utility-purple-100: var(--color-purple-100);
  --utility-purple-200: var(--color-purple-200);
  --utility-purple-300: var(--color-purple-300);
  --utility-purple-400: var(--color-purple-400);
  --utility-purple-500: var(--color-purple-500);
  --utility-purple-600: var(--color-purple-600);
  --utility-purple-700: var(--color-purple-700);
  --utility-purple-800: var(--color-purple-800);
  --utility-purple-900: var(--color-purple-900);
  --utility-purple-950: var(--color-purple-950);
  --alpha-purple-50-100: var(--color-purple-50-100);
  --alpha-purple-50-90: var(--color-purple-50-90);
  --alpha-purple-50-80: var(--color-purple-50-80);
  --alpha-purple-50-70: var(--color-purple-50-70);
  --alpha-purple-50-60: var(--color-purple-50-60);
  --alpha-purple-50-50: var(--color-purple-50-50);
  --alpha-purple-50-40: var(--color-purple-50-40);
  --alpha-purple-50-30: var(--color-purple-50-30);
  --alpha-purple-50-20: var(--color-purple-50-20);
  --alpha-purple-50-10: var(--color-purple-50-10);
  --alpha-purple-50-5: var(--color-purple-50-5);
  --alpha-purple-100-100: var(--color-purple-100-100);
  --alpha-purple-100-90: var(--color-purple-100-90);
  --alpha-purple-100-80: var(--color-purple-100-80);
  --alpha-purple-100-70: var(--color-purple-100-70);
  --alpha-purple-100-60: var(--color-purple-100-60);
  --alpha-purple-100-50: var(--color-purple-100-50);
  --alpha-purple-100-40: var(--color-purple-100-40);
  --alpha-purple-100-30: var(--color-purple-100-30);
  --alpha-purple-100-20: var(--color-purple-100-20);
  --alpha-purple-100-10: var(--color-purple-100-10);
  --alpha-purple-100-5: var(--color-purple-100-5);
  --alpha-purple-200-100: var(--color-purple-200-100);
  --alpha-purple-200-90: var(--color-purple-200-90);
  --alpha-purple-200-80: var(--color-purple-200-80);
  --alpha-purple-200-70: var(--color-purple-200-70);
  --alpha-purple-200-60: var(--color-purple-200-60);
  --alpha-purple-200-50: var(--color-purple-200-50);
  --alpha-purple-200-40: var(--color-purple-200-40);
  --alpha-purple-200-30: var(--color-purple-200-30);
  --alpha-purple-200-20: var(--color-purple-200-20);
  --alpha-purple-200-10: var(--color-purple-200-10);
  --alpha-purple-200-5: var(--color-purple-200-5);
  --alpha-purple-300-100: var(--color-purple-300-100);
  --alpha-purple-300-90: var(--color-purple-300-90);
  --alpha-purple-300-80: var(--color-purple-300-80);
  --alpha-purple-300-70: var(--color-purple-300-70);
  --alpha-purple-300-60: var(--color-purple-300-60);
  --alpha-purple-300-50: var(--color-purple-300-50);
  --alpha-purple-300-40: var(--color-purple-300-40);
  --alpha-purple-300-30: var(--color-purple-300-30);
  --alpha-purple-300-20: var(--color-purple-300-20);
  --alpha-purple-300-10: var(--color-purple-300-10);
  --alpha-purple-300-5: var(--color-purple-300-5);
  --alpha-purple-400-100: var(--color-purple-400-100);
  --alpha-purple-400-90: var(--color-purple-400-90);
  --alpha-purple-400-80: var(--color-purple-400-80);
  --alpha-purple-400-70: var(--color-purple-400-70);
  --alpha-purple-400-60: var(--color-purple-400-60);
  --alpha-purple-400-50: var(--color-purple-400-50);
  --alpha-purple-400-40: var(--color-purple-400-40);
  --alpha-purple-400-30: var(--color-purple-400-30);
  --alpha-purple-400-20: var(--color-purple-400-20);
  --alpha-purple-400-10: var(--color-purple-400-10);
  --alpha-purple-400-5: var(--color-purple-400-5);
  --alpha-purple-500-100: var(--color-purple-500-100);
  --alpha-purple-500-90: var(--color-purple-500-90);
  --alpha-purple-500-80: var(--color-purple-500-80);
  --alpha-purple-500-70: var(--color-purple-500-70);
  --alpha-purple-500-60: var(--color-purple-500-60);
  --alpha-purple-500-50: var(--color-purple-500-50);
  --alpha-purple-500-40: var(--color-purple-500-40);
  --alpha-purple-500-30: var(--color-purple-500-30);
  --alpha-purple-500-20: var(--color-purple-500-20);
  --alpha-purple-500-10: var(--color-purple-500-10);
  --alpha-purple-500-5: var(--color-purple-500-5);
  --alpha-purple-600-100: var(--color-purple-600-100);
  --alpha-purple-600-90: var(--color-purple-600-90);
  --alpha-purple-600-80: var(--color-purple-600-80);
  --alpha-purple-600-70: var(--color-purple-600-70);
  --alpha-purple-600-60: var(--color-purple-600-60);
  --alpha-purple-600-50: var(--color-purple-600-50);
  --alpha-purple-600-40: var(--color-purple-600-40);
  --alpha-purple-600-30: var(--color-purple-600-30);
  --alpha-purple-600-20: var(--color-purple-600-20);
  --alpha-purple-600-10: var(--color-purple-600-10);
  --alpha-purple-600-5: var(--color-purple-600-5);
  --alpha-purple-700-100: var(--color-purple-700-100);
  --alpha-purple-700-90: var(--color-purple-700-90);
  --alpha-purple-700-80: var(--color-purple-700-80);
  --alpha-purple-700-70: var(--color-purple-700-70);
  --alpha-purple-700-60: var(--color-purple-700-60);
  --alpha-purple-700-50: var(--color-purple-700-50);
  --alpha-purple-700-40: var(--color-purple-700-40);
  --alpha-purple-700-30: var(--color-purple-700-30);
  --alpha-purple-700-20: var(--color-purple-700-20);
  --alpha-purple-700-10: var(--color-purple-700-10);
  --alpha-purple-700-5: var(--color-purple-700-5);
  --alpha-purple-800-100: var(--color-purple-800-100);
  --alpha-purple-800-90: var(--color-purple-800-90);
  --alpha-purple-800-80: var(--color-purple-800-80);
  --alpha-purple-800-70: var(--color-purple-800-70);
  --alpha-purple-800-60: var(--color-purple-800-60);
  --alpha-purple-800-50: var(--color-purple-800-50);
  --alpha-purple-800-40: var(--color-purple-800-40);
  --alpha-purple-800-30: var(--color-purple-800-30);
  --alpha-purple-800-20: var(--color-purple-800-20);
  --alpha-purple-800-10: var(--color-purple-800-10);
  --alpha-purple-800-5: var(--color-purple-800-5);
  --alpha-purple-900-100: var(--color-purple-900-100);
  --alpha-purple-900-90: var(--color-purple-900-90);
  --alpha-purple-900-80: var(--color-purple-900-80);
  --alpha-purple-900-70: var(--color-purple-900-70);
  --alpha-purple-900-60: var(--color-purple-900-60);
  --alpha-purple-900-50: var(--color-purple-900-50);
  --alpha-purple-900-40: var(--color-purple-900-40);
  --alpha-purple-900-30: var(--color-purple-900-30);
  --alpha-purple-900-20: var(--color-purple-900-20);
  --alpha-purple-900-10: var(--color-purple-900-10);
  --alpha-purple-900-5: var(--color-purple-900-5);
  --alpha-purple-950-100: var(--color-purple-950-100);
  --alpha-purple-950-90: var(--color-purple-950-90);
  --alpha-purple-950-80: var(--color-purple-950-80);
  --alpha-purple-950-70: var(--color-purple-950-70);
  --alpha-purple-950-60: var(--color-purple-950-60);
  --alpha-purple-950-50: var(--color-purple-950-50);
  --alpha-purple-950-40: var(--color-purple-950-40);
  --alpha-purple-950-30: var(--color-purple-950-30);
  --alpha-purple-950-20: var(--color-purple-950-20);
  --alpha-purple-950-10: var(--color-purple-950-10);
  --alpha-purple-950-5: var(--color-purple-950-5);
  /* Utility Fuchsia */
  --utility-fuchsia-50: var(--color-fuchsia-50);
  --utility-fuchsia-100: var(--color-fuchsia-100);
  --utility-fuchsia-200: var(--color-fuchsia-200);
  --utility-fuchsia-300: var(--color-fuchsia-300);
  --utility-fuchsia-400: var(--color-fuchsia-400);
  --utility-fuchsia-500: var(--color-fuchsia-500);
  --utility-fuchsia-600: var(--color-fuchsia-600);
  --utility-fuchsia-700: var(--color-fuchsia-700);
  --utility-fuchsia-800: var(--color-fuchsia-800);
  --utility-fuchsia-900: var(--color-fuchsia-900);
  --utility-fuchsia-950: var(--color-fuchsia-950);
  --alpha-fuchsia-50-100: var(--color-fuchsia-50-100);
  --alpha-fuchsia-50-90: var(--color-fuchsia-50-90);
  --alpha-fuchsia-50-80: var(--color-fuchsia-50-80);
  --alpha-fuchsia-50-70: var(--color-fuchsia-50-70);
  --alpha-fuchsia-50-60: var(--color-fuchsia-50-60);
  --alpha-fuchsia-50-50: var(--color-fuchsia-50-50);
  --alpha-fuchsia-50-40: var(--color-fuchsia-50-40);
  --alpha-fuchsia-50-30: var(--color-fuchsia-50-30);
  --alpha-fuchsia-50-20: var(--color-fuchsia-50-20);
  --alpha-fuchsia-50-10: var(--color-fuchsia-50-10);
  --alpha-fuchsia-50-5: var(--color-fuchsia-50-5);
  --alpha-fuchsia-100-100: var(--color-fuchsia-100-100);
  --alpha-fuchsia-100-90: var(--color-fuchsia-100-90);
  --alpha-fuchsia-100-80: var(--color-fuchsia-100-80);
  --alpha-fuchsia-100-70: var(--color-fuchsia-100-70);
  --alpha-fuchsia-100-60: var(--color-fuchsia-100-60);
  --alpha-fuchsia-100-50: var(--color-fuchsia-100-50);
  --alpha-fuchsia-100-40: var(--color-fuchsia-100-40);
  --alpha-fuchsia-100-30: var(--color-fuchsia-100-30);
  --alpha-fuchsia-100-20: var(--color-fuchsia-100-20);
  --alpha-fuchsia-100-10: var(--color-fuchsia-100-10);
  --alpha-fuchsia-100-5: var(--color-fuchsia-100-5);
  --alpha-fuchsia-200-100: var(--color-fuchsia-200-100);
  --alpha-fuchsia-200-90: var(--color-fuchsia-200-90);
  --alpha-fuchsia-200-80: var(--color-fuchsia-200-80);
  --alpha-fuchsia-200-70: var(--color-fuchsia-200-70);
  --alpha-fuchsia-200-60: var(--color-fuchsia-200-60);
  --alpha-fuchsia-200-50: var(--color-fuchsia-200-50);
  --alpha-fuchsia-200-40: var(--color-fuchsia-200-40);
  --alpha-fuchsia-200-30: var(--color-fuchsia-200-30);
  --alpha-fuchsia-200-20: var(--color-fuchsia-200-20);
  --alpha-fuchsia-200-10: var(--color-fuchsia-200-10);
  --alpha-fuchsia-200-5: var(--color-fuchsia-200-5);
  --alpha-fuchsia-300-100: var(--color-fuchsia-300-100);
  --alpha-fuchsia-300-90: var(--color-fuchsia-300-90);
  --alpha-fuchsia-300-80: var(--color-fuchsia-300-80);
  --alpha-fuchsia-300-70: var(--color-fuchsia-300-70);
  --alpha-fuchsia-300-60: var(--color-fuchsia-300-60);
  --alpha-fuchsia-300-50: var(--color-fuchsia-300-50);
  --alpha-fuchsia-300-40: var(--color-fuchsia-300-40);
  --alpha-fuchsia-300-30: var(--color-fuchsia-300-30);
  --alpha-fuchsia-300-20: var(--color-fuchsia-300-20);
  --alpha-fuchsia-300-10: var(--color-fuchsia-300-10);
  --alpha-fuchsia-300-5: var(--color-fuchsia-300-5);
  --alpha-fuchsia-400-100: var(--color-fuchsia-400-100);
  --alpha-fuchsia-400-90: var(--color-fuchsia-400-90);
  --alpha-fuchsia-400-80: var(--color-fuchsia-400-80);
  --alpha-fuchsia-400-70: var(--color-fuchsia-400-70);
  --alpha-fuchsia-400-60: var(--color-fuchsia-400-60);
  --alpha-fuchsia-400-50: var(--color-fuchsia-400-50);
  --alpha-fuchsia-400-40: var(--color-fuchsia-400-40);
  --alpha-fuchsia-400-30: var(--color-fuchsia-400-30);
  --alpha-fuchsia-400-20: var(--color-fuchsia-400-20);
  --alpha-fuchsia-400-10: var(--color-fuchsia-400-10);
  --alpha-fuchsia-400-5: var(--color-fuchsia-400-5);
  --alpha-fuchsia-500-100: var(--color-fuchsia-500-100);
  --alpha-fuchsia-500-90: var(--color-fuchsia-500-90);
  --alpha-fuchsia-500-80: var(--color-fuchsia-500-80);
  --alpha-fuchsia-500-70: var(--color-fuchsia-500-70);
  --alpha-fuchsia-500-60: var(--color-fuchsia-500-60);
  --alpha-fuchsia-500-50: var(--color-fuchsia-500-50);
  --alpha-fuchsia-500-40: var(--color-fuchsia-500-40);
  --alpha-fuchsia-500-30: var(--color-fuchsia-500-30);
  --alpha-fuchsia-500-20: var(--color-fuchsia-500-20);
  --alpha-fuchsia-500-10: var(--color-fuchsia-500-10);
  --alpha-fuchsia-500-5: var(--color-fuchsia-500-5);
  --alpha-fuchsia-600-100: var(--color-fuchsia-600-100);
  --alpha-fuchsia-600-90: var(--color-fuchsia-600-90);
  --alpha-fuchsia-600-80: var(--color-fuchsia-600-80);
  --alpha-fuchsia-600-70: var(--color-fuchsia-600-70);
  --alpha-fuchsia-600-60: var(--color-fuchsia-600-60);
  --alpha-fuchsia-600-50: var(--color-fuchsia-600-50);
  --alpha-fuchsia-600-40: var(--color-fuchsia-600-40);
  --alpha-fuchsia-600-30: var(--color-fuchsia-600-30);
  --alpha-fuchsia-600-20: var(--color-fuchsia-600-20);
  --alpha-fuchsia-600-10: var(--color-fuchsia-600-10);
  --alpha-fuchsia-600-5: var(--color-fuchsia-600-5);
  --alpha-fuchsia-700-100: var(--color-fuchsia-700-100);
  --alpha-fuchsia-700-90: var(--color-fuchsia-700-90);
  --alpha-fuchsia-700-80: var(--color-fuchsia-700-80);
  --alpha-fuchsia-700-70: var(--color-fuchsia-700-70);
  --alpha-fuchsia-700-60: var(--color-fuchsia-700-60);
  --alpha-fuchsia-700-50: var(--color-fuchsia-700-50);
  --alpha-fuchsia-700-40: var(--color-fuchsia-700-40);
  --alpha-fuchsia-700-30: var(--color-fuchsia-700-30);
  --alpha-fuchsia-700-20: var(--color-fuchsia-700-20);
  --alpha-fuchsia-700-10: var(--color-fuchsia-700-10);
  --alpha-fuchsia-700-5: var(--color-fuchsia-700-5);
  --alpha-fuchsia-800-100: var(--color-fuchsia-800-100);
  --alpha-fuchsia-800-90: var(--color-fuchsia-800-90);
  --alpha-fuchsia-800-80: var(--color-fuchsia-800-80);
  --alpha-fuchsia-800-70: var(--color-fuchsia-800-70);
  --alpha-fuchsia-800-60: var(--color-fuchsia-800-60);
  --alpha-fuchsia-800-50: var(--color-fuchsia-800-50);
  --alpha-fuchsia-800-40: var(--color-fuchsia-800-40);
  --alpha-fuchsia-800-30: var(--color-fuchsia-800-30);
  --alpha-fuchsia-800-20: var(--color-fuchsia-800-20);
  --alpha-fuchsia-800-10: var(--color-fuchsia-800-10);
  --alpha-fuchsia-800-5: var(--color-fuchsia-800-5);
  --alpha-fuchsia-900-100: var(--color-fuchsia-900-100);
  --alpha-fuchsia-900-90: var(--color-fuchsia-900-90);
  --alpha-fuchsia-900-80: var(--color-fuchsia-900-80);
  --alpha-fuchsia-900-70: var(--color-fuchsia-900-70);
  --alpha-fuchsia-900-60: var(--color-fuchsia-900-60);
  --alpha-fuchsia-900-50: var(--color-fuchsia-900-50);
  --alpha-fuchsia-900-40: var(--color-fuchsia-900-40);
  --alpha-fuchsia-900-30: var(--color-fuchsia-900-30);
  --alpha-fuchsia-900-20: var(--color-fuchsia-900-20);
  --alpha-fuchsia-900-10: var(--color-fuchsia-900-10);
  --alpha-fuchsia-900-5: var(--color-fuchsia-900-5);
  --alpha-fuchsia-950-100: var(--color-fuchsia-950-100);
  --alpha-fuchsia-950-90: var(--color-fuchsia-950-90);
  --alpha-fuchsia-950-80: var(--color-fuchsia-950-80);
  --alpha-fuchsia-950-70: var(--color-fuchsia-950-70);
  --alpha-fuchsia-950-60: var(--color-fuchsia-950-60);
  --alpha-fuchsia-950-50: var(--color-fuchsia-950-50);
  --alpha-fuchsia-950-40: var(--color-fuchsia-950-40);
  --alpha-fuchsia-950-30: var(--color-fuchsia-950-30);
  --alpha-fuchsia-950-20: var(--color-fuchsia-950-20);
  --alpha-fuchsia-950-10: var(--color-fuchsia-950-10);
  --alpha-fuchsia-950-5: var(--color-fuchsia-950-5);
  /* Utility Pink */
  --utility-pink-50: var(--color-pink-50);
  --utility-pink-100: var(--color-pink-100);
  --utility-pink-200: var(--color-pink-200);
  --utility-pink-300: var(--color-pink-300);
  --utility-pink-400: var(--color-pink-400);
  --utility-pink-500: var(--color-pink-500);
  --utility-pink-600: var(--color-pink-600);
  --utility-pink-700: var(--color-pink-700);
  --utility-pink-800: var(--color-pink-800);
  --utility-pink-900: var(--color-pink-900);
  --utility-pink-950: var(--color-pink-950);
  --alpha-pink-50-100: var(--color-pink-50-100);
  --alpha-pink-50-90: var(--color-pink-50-90);
  --alpha-pink-50-80: var(--color-pink-50-80);
  --alpha-pink-50-70: var(--color-pink-50-70);
  --alpha-pink-50-60: var(--color-pink-50-60);
  --alpha-pink-50-50: var(--color-pink-50-50);
  --alpha-pink-50-40: var(--color-pink-50-40);
  --alpha-pink-50-30: var(--color-pink-50-30);
  --alpha-pink-50-20: var(--color-pink-50-20);
  --alpha-pink-50-10: var(--color-pink-50-10);
  --alpha-pink-50-5: var(--color-pink-50-5);
  --alpha-pink-100-100: var(--color-pink-100-100);
  --alpha-pink-100-90: var(--color-pink-100-90);
  --alpha-pink-100-80: var(--color-pink-100-80);
  --alpha-pink-100-70: var(--color-pink-100-70);
  --alpha-pink-100-60: var(--color-pink-100-60);
  --alpha-pink-100-50: var(--color-pink-100-50);
  --alpha-pink-100-40: var(--color-pink-100-40);
  --alpha-pink-100-30: var(--color-pink-100-30);
  --alpha-pink-100-20: var(--color-pink-100-20);
  --alpha-pink-100-10: var(--color-pink-100-10);
  --alpha-pink-100-5: var(--color-pink-100-5);
  --alpha-pink-200-100: var(--color-pink-200-100);
  --alpha-pink-200-90: var(--color-pink-200-90);
  --alpha-pink-200-80: var(--color-pink-200-80);
  --alpha-pink-200-70: var(--color-pink-200-70);
  --alpha-pink-200-60: var(--color-pink-200-60);
  --alpha-pink-200-50: var(--color-pink-200-50);
  --alpha-pink-200-40: var(--color-pink-200-40);
  --alpha-pink-200-30: var(--color-pink-200-30);
  --alpha-pink-200-20: var(--color-pink-200-20);
  --alpha-pink-200-10: var(--color-pink-200-10);
  --alpha-pink-200-5: var(--color-pink-200-5);
  --alpha-pink-300-100: var(--color-pink-300-100);
  --alpha-pink-300-90: var(--color-pink-300-90);
  --alpha-pink-300-80: var(--color-pink-300-80);
  --alpha-pink-300-70: var(--color-pink-300-70);
  --alpha-pink-300-60: var(--color-pink-300-60);
  --alpha-pink-300-50: var(--color-pink-300-50);
  --alpha-pink-300-40: var(--color-pink-300-40);
  --alpha-pink-300-30: var(--color-pink-300-30);
  --alpha-pink-300-20: var(--color-pink-300-20);
  --alpha-pink-300-10: var(--color-pink-300-10);
  --alpha-pink-300-5: var(--color-pink-300-5);
  --alpha-pink-400-100: var(--color-pink-400-100);
  --alpha-pink-400-90: var(--color-pink-400-90);
  --alpha-pink-400-80: var(--color-pink-400-80);
  --alpha-pink-400-70: var(--color-pink-400-70);
  --alpha-pink-400-60: var(--color-pink-400-60);
  --alpha-pink-400-50: var(--color-pink-400-50);
  --alpha-pink-400-40: var(--color-pink-400-40);
  --alpha-pink-400-30: var(--color-pink-400-30);
  --alpha-pink-400-20: var(--color-pink-400-20);
  --alpha-pink-400-10: var(--color-pink-400-10);
  --alpha-pink-400-5: var(--color-pink-400-5);
  --alpha-pink-500-100: var(--color-pink-500-100);
  --alpha-pink-500-90: var(--color-pink-500-90);
  --alpha-pink-500-80: var(--color-pink-500-80);
  --alpha-pink-500-70: var(--color-pink-500-70);
  --alpha-pink-500-60: var(--color-pink-500-60);
  --alpha-pink-500-50: var(--color-pink-500-50);
  --alpha-pink-500-40: var(--color-pink-500-40);
  --alpha-pink-500-30: var(--color-pink-500-30);
  --alpha-pink-500-20: var(--color-pink-500-20);
  --alpha-pink-500-10: var(--color-pink-500-10);
  --alpha-pink-500-5: var(--color-pink-500-5);
  --alpha-pink-600-100: var(--color-pink-600-100);
  --alpha-pink-600-90: var(--color-pink-600-90);
  --alpha-pink-600-80: var(--color-pink-600-80);
  --alpha-pink-600-70: var(--color-pink-600-70);
  --alpha-pink-600-60: var(--color-pink-600-60);
  --alpha-pink-600-50: var(--color-pink-600-50);
  --alpha-pink-600-40: var(--color-pink-600-40);
  --alpha-pink-600-30: var(--color-pink-600-30);
  --alpha-pink-600-20: var(--color-pink-600-20);
  --alpha-pink-600-10: var(--color-pink-600-10);
  --alpha-pink-600-5: var(--color-pink-600-5);
  --alpha-pink-700-100: var(--color-pink-700-100);
  --alpha-pink-700-90: var(--color-pink-700-90);
  --alpha-pink-700-80: var(--color-pink-700-80);
  --alpha-pink-700-70: var(--color-pink-700-70);
  --alpha-pink-700-60: var(--color-pink-700-60);
  --alpha-pink-700-50: var(--color-pink-700-50);
  --alpha-pink-700-40: var(--color-pink-700-40);
  --alpha-pink-700-30: var(--color-pink-700-30);
  --alpha-pink-700-20: var(--color-pink-700-20);
  --alpha-pink-700-10: var(--color-pink-700-10);
  --alpha-pink-700-5: var(--color-pink-700-5);
  --alpha-pink-800-100: var(--color-pink-800-100);
  --alpha-pink-800-90: var(--color-pink-800-90);
  --alpha-pink-800-80: var(--color-pink-800-80);
  --alpha-pink-800-70: var(--color-pink-800-70);
  --alpha-pink-800-60: var(--color-pink-800-60);
  --alpha-pink-800-50: var(--color-pink-800-50);
  --alpha-pink-800-40: var(--color-pink-800-40);
  --alpha-pink-800-30: var(--color-pink-800-30);
  --alpha-pink-800-20: var(--color-pink-800-20);
  --alpha-pink-800-10: var(--color-pink-800-10);
  --alpha-pink-800-5: var(--color-pink-800-5);
  --alpha-pink-900-100: var(--color-pink-900-100);
  --alpha-pink-900-90: var(--color-pink-900-90);
  --alpha-pink-900-80: var(--color-pink-900-80);
  --alpha-pink-900-70: var(--color-pink-900-70);
  --alpha-pink-900-60: var(--color-pink-900-60);
  --alpha-pink-900-50: var(--color-pink-900-50);
  --alpha-pink-900-40: var(--color-pink-900-40);
  --alpha-pink-900-30: var(--color-pink-900-30);
  --alpha-pink-900-20: var(--color-pink-900-20);
  --alpha-pink-900-10: var(--color-pink-900-10);
  --alpha-pink-900-5: var(--color-pink-900-5);
  --alpha-pink-950-100: var(--color-pink-950-100);
  --alpha-pink-950-90: var(--color-pink-950-90);
  --alpha-pink-950-80: var(--color-pink-950-80);
  --alpha-pink-950-70: var(--color-pink-950-70);
  --alpha-pink-950-60: var(--color-pink-950-60);
  --alpha-pink-950-50: var(--color-pink-950-50);
  --alpha-pink-950-40: var(--color-pink-950-40);
  --alpha-pink-950-30: var(--color-pink-950-30);
  --alpha-pink-950-20: var(--color-pink-950-20);
  --alpha-pink-950-10: var(--color-pink-950-10);
  --alpha-pink-950-5: var(--color-pink-950-5);
  /* Utility Rose */
  --utility-rose-50: var(--color-rose-50);
  --utility-rose-100: var(--color-rose-100);
  --utility-rose-200: var(--color-rose-200);
  --utility-rose-300: var(--color-rose-300);
  --utility-rose-400: var(--color-rose-400);
  --utility-rose-500: var(--color-rose-500);
  --utility-rose-600: var(--color-rose-600);
  --utility-rose-700: var(--color-rose-700);
  --utility-rose-800: var(--color-rose-800);
  --utility-rose-900: var(--color-rose-900);
  --utility-rose-950: var(--color-rose-950);
  --alpha-rose-50-100: var(--color-rose-50-100);
  --alpha-rose-50-90: var(--color-rose-50-90);
  --alpha-rose-50-80: var(--color-rose-50-80);
  --alpha-rose-50-70: var(--color-rose-50-70);
  --alpha-rose-50-60: var(--color-rose-50-60);
  --alpha-rose-50-50: var(--color-rose-50-50);
  --alpha-rose-50-40: var(--color-rose-50-40);
  --alpha-rose-50-30: var(--color-rose-50-30);
  --alpha-rose-50-20: var(--color-rose-50-20);
  --alpha-rose-50-10: var(--color-rose-50-10);
  --alpha-rose-50-5: var(--color-rose-50-5);
  --alpha-rose-100-100: var(--color-rose-100-100);
  --alpha-rose-100-90: var(--color-rose-100-90);
  --alpha-rose-100-80: var(--color-rose-100-80);
  --alpha-rose-100-70: var(--color-rose-100-70);
  --alpha-rose-100-60: var(--color-rose-100-60);
  --alpha-rose-100-50: var(--color-rose-100-50);
  --alpha-rose-100-40: var(--color-rose-100-40);
  --alpha-rose-100-30: var(--color-rose-100-30);
  --alpha-rose-100-20: var(--color-rose-100-20);
  --alpha-rose-100-10: var(--color-rose-100-10);
  --alpha-rose-100-5: var(--color-rose-100-5);
  --alpha-rose-200-100: var(--color-rose-200-100);
  --alpha-rose-200-90: var(--color-rose-200-90);
  --alpha-rose-200-80: var(--color-rose-200-80);
  --alpha-rose-200-70: var(--color-rose-200-70);
  --alpha-rose-200-60: var(--color-rose-200-60);
  --alpha-rose-200-50: var(--color-rose-200-50);
  --alpha-rose-200-40: var(--color-rose-200-40);
  --alpha-rose-200-30: var(--color-rose-200-30);
  --alpha-rose-200-20: var(--color-rose-200-20);
  --alpha-rose-200-10: var(--color-rose-200-10);
  --alpha-rose-200-5: var(--color-rose-200-5);
  --alpha-rose-300-100: var(--color-rose-300-100);
  --alpha-rose-300-90: var(--color-rose-300-90);
  --alpha-rose-300-80: var(--color-rose-300-80);
  --alpha-rose-300-70: var(--color-rose-300-70);
  --alpha-rose-300-60: var(--color-rose-300-60);
  --alpha-rose-300-50: var(--color-rose-300-50);
  --alpha-rose-300-40: var(--color-rose-300-40);
  --alpha-rose-300-30: var(--color-rose-300-30);
  --alpha-rose-300-20: var(--color-rose-300-20);
  --alpha-rose-300-10: var(--color-rose-300-10);
  --alpha-rose-300-5: var(--color-rose-300-5);
  --alpha-rose-400-100: var(--color-rose-400-100);
  --alpha-rose-400-90: var(--color-rose-400-90);
  --alpha-rose-400-80: var(--color-rose-400-80);
  --alpha-rose-400-70: var(--color-rose-400-70);
  --alpha-rose-400-60: var(--color-rose-400-60);
  --alpha-rose-400-50: var(--color-rose-400-50);
  --alpha-rose-400-40: var(--color-rose-400-40);
  --alpha-rose-400-30: var(--color-rose-400-30);
  --alpha-rose-400-20: var(--color-rose-400-20);
  --alpha-rose-400-10: var(--color-rose-400-10);
  --alpha-rose-400-5: var(--color-rose-400-5);
  --alpha-rose-500-100: var(--color-rose-500-100);
  --alpha-rose-500-90: var(--color-rose-500-90);
  --alpha-rose-500-80: var(--color-rose-500-80);
  --alpha-rose-500-70: var(--color-rose-500-70);
  --alpha-rose-500-60: var(--color-rose-500-60);
  --alpha-rose-500-50: var(--color-rose-500-50);
  --alpha-rose-500-40: var(--color-rose-500-40);
  --alpha-rose-500-30: var(--color-rose-500-30);
  --alpha-rose-500-20: var(--color-rose-500-20);
  --alpha-rose-500-10: var(--color-rose-500-10);
  --alpha-rose-500-5: var(--color-rose-500-5);
  --alpha-rose-600-100: var(--color-rose-600-100);
  --alpha-rose-600-90: var(--color-rose-600-90);
  --alpha-rose-600-80: var(--color-rose-600-80);
  --alpha-rose-600-70: var(--color-rose-600-70);
  --alpha-rose-600-60: var(--color-rose-600-60);
  --alpha-rose-600-50: var(--color-rose-600-50);
  --alpha-rose-600-40: var(--color-rose-600-40);
  --alpha-rose-600-30: var(--color-rose-600-30);
  --alpha-rose-600-20: var(--color-rose-600-20);
  --alpha-rose-600-10: var(--color-rose-600-10);
  --alpha-rose-600-5: var(--color-rose-600-5);
  --alpha-rose-700-100: var(--color-rose-700-100);
  --alpha-rose-700-90: var(--color-rose-700-90);
  --alpha-rose-700-80: var(--color-rose-700-80);
  --alpha-rose-700-70: var(--color-rose-700-70);
  --alpha-rose-700-60: var(--color-rose-700-60);
  --alpha-rose-700-50: var(--color-rose-700-50);
  --alpha-rose-700-40: var(--color-rose-700-40);
  --alpha-rose-700-30: var(--color-rose-700-30);
  --alpha-rose-700-20: var(--color-rose-700-20);
  --alpha-rose-700-10: var(--color-rose-700-10);
  --alpha-rose-700-5: var(--color-rose-700-5);
  --alpha-rose-800-100: var(--color-rose-800-100);
  --alpha-rose-800-90: var(--color-rose-800-90);
  --alpha-rose-800-80: var(--color-rose-800-80);
  --alpha-rose-800-70: var(--color-rose-800-70);
  --alpha-rose-800-60: var(--color-rose-800-60);
  --alpha-rose-800-50: var(--color-rose-800-50);
  --alpha-rose-800-40: var(--color-rose-800-40);
  --alpha-rose-800-30: var(--color-rose-800-30);
  --alpha-rose-800-20: var(--color-rose-800-20);
  --alpha-rose-800-10: var(--color-rose-800-10);
  --alpha-rose-800-5: var(--color-rose-800-5);
  --alpha-rose-900-100: var(--color-rose-900-100);
  --alpha-rose-900-90: var(--color-rose-900-90);
  --alpha-rose-900-80: var(--color-rose-900-80);
  --alpha-rose-900-70: var(--color-rose-900-70);
  --alpha-rose-900-60: var(--color-rose-900-60);
  --alpha-rose-900-50: var(--color-rose-900-50);
  --alpha-rose-900-40: var(--color-rose-900-40);
  --alpha-rose-900-30: var(--color-rose-900-30);
  --alpha-rose-900-20: var(--color-rose-900-20);
  --alpha-rose-900-10: var(--color-rose-900-10);
  --alpha-rose-900-5: var(--color-rose-900-5);
  --alpha-rose-950-100: var(--color-rose-950-100);
  --alpha-rose-950-90: var(--color-rose-950-90);
  --alpha-rose-950-80: var(--color-rose-950-80);
  --alpha-rose-950-70: var(--color-rose-950-70);
  --alpha-rose-950-60: var(--color-rose-950-60);
  --alpha-rose-950-50: var(--color-rose-950-50);
  --alpha-rose-950-40: var(--color-rose-950-40);
  --alpha-rose-950-30: var(--color-rose-950-30);
  --alpha-rose-950-20: var(--color-rose-950-20);
  --alpha-rose-950-10: var(--color-rose-950-10);
  --alpha-rose-950-5: var(--color-rose-950-5);
  /* Utility Slate */
  --utility-slate-50: var(--color-slate-50);
  --utility-slate-100: var(--color-slate-100);
  --utility-slate-200: var(--color-slate-200);
  --utility-slate-300: var(--color-slate-300);
  --utility-slate-400: var(--color-slate-400);
  --utility-slate-500: var(--color-slate-500);
  --utility-slate-600: var(--color-slate-600);
  --utility-slate-700: var(--color-slate-700);
  --utility-slate-800: var(--color-slate-800);
  --utility-slate-900: var(--color-slate-900);
  --utility-slate-950: var(--color-slate-950);
  --alpha-slate-50-100: var(--color-slate-50-100);
  --alpha-slate-50-90: var(--color-slate-50-90);
  --alpha-slate-50-80: var(--color-slate-50-80);
  --alpha-slate-50-70: var(--color-slate-50-70);
  --alpha-slate-50-60: var(--color-slate-50-60);
  --alpha-slate-50-50: var(--color-slate-50-50);
  --alpha-slate-50-40: var(--color-slate-50-40);
  --alpha-slate-50-30: var(--color-slate-50-30);
  --alpha-slate-50-20: var(--color-slate-50-20);
  --alpha-slate-50-10: var(--color-slate-50-10);
  --alpha-slate-50-5: var(--color-slate-50-5);
  --alpha-slate-100-100: var(--color-slate-100-100);
  --alpha-slate-100-90: var(--color-slate-100-90);
  --alpha-slate-100-80: var(--color-slate-100-80);
  --alpha-slate-100-70: var(--color-slate-100-70);
  --alpha-slate-100-60: var(--color-slate-100-60);
  --alpha-slate-100-50: var(--color-slate-100-50);
  --alpha-slate-100-40: var(--color-slate-100-40);
  --alpha-slate-100-30: var(--color-slate-100-30);
  --alpha-slate-100-20: var(--color-slate-100-20);
  --alpha-slate-100-10: var(--color-slate-100-10);
  --alpha-slate-100-5: var(--color-slate-100-5);
  --alpha-slate-200-100: var(--color-slate-200-100);
  --alpha-slate-200-90: var(--color-slate-200-90);
  --alpha-slate-200-80: var(--color-slate-200-80);
  --alpha-slate-200-70: var(--color-slate-200-70);
  --alpha-slate-200-60: var(--color-slate-200-60);
  --alpha-slate-200-50: var(--color-slate-200-50);
  --alpha-slate-200-40: var(--color-slate-200-40);
  --alpha-slate-200-30: var(--color-slate-200-30);
  --alpha-slate-200-20: var(--color-slate-200-20);
  --alpha-slate-200-10: var(--color-slate-200-10);
  --alpha-slate-200-5: var(--color-slate-200-5);
  --alpha-slate-300-100: var(--color-slate-300-100);
  --alpha-slate-300-90: var(--color-slate-300-90);
  --alpha-slate-300-80: var(--color-slate-300-80);
  --alpha-slate-300-70: var(--color-slate-300-70);
  --alpha-slate-300-60: var(--color-slate-300-60);
  --alpha-slate-300-50: var(--color-slate-300-50);
  --alpha-slate-300-40: var(--color-slate-300-40);
  --alpha-slate-300-30: var(--color-slate-300-30);
  --alpha-slate-300-20: var(--color-slate-300-20);
  --alpha-slate-300-10: var(--color-slate-300-10);
  --alpha-slate-300-5: var(--color-slate-300-5);
  --alpha-slate-400-100: var(--color-slate-400-100);
  --alpha-slate-400-90: var(--color-slate-400-90);
  --alpha-slate-400-80: var(--color-slate-400-80);
  --alpha-slate-400-70: var(--color-slate-400-70);
  --alpha-slate-400-60: var(--color-slate-400-60);
  --alpha-slate-400-50: var(--color-slate-400-50);
  --alpha-slate-400-40: var(--color-slate-400-40);
  --alpha-slate-400-30: var(--color-slate-400-30);
  --alpha-slate-400-20: var(--color-slate-400-20);
  --alpha-slate-400-10: var(--color-slate-400-10);
  --alpha-slate-400-5: var(--color-slate-400-5);
  --alpha-slate-500-100: var(--color-slate-500-100);
  --alpha-slate-500-90: var(--color-slate-500-90);
  --alpha-slate-500-80: var(--color-slate-500-80);
  --alpha-slate-500-70: var(--color-slate-500-70);
  --alpha-slate-500-60: var(--color-slate-500-60);
  --alpha-slate-500-50: var(--color-slate-500-50);
  --alpha-slate-500-40: var(--color-slate-500-40);
  --alpha-slate-500-30: var(--color-slate-500-30);
  --alpha-slate-500-20: var(--color-slate-500-20);
  --alpha-slate-500-10: var(--color-slate-500-10);
  --alpha-slate-500-5: var(--color-slate-500-5);
  --alpha-slate-600-100: var(--color-slate-600-100);
  --alpha-slate-600-90: var(--color-slate-600-90);
  --alpha-slate-600-80: var(--color-slate-600-80);
  --alpha-slate-600-70: var(--color-slate-600-70);
  --alpha-slate-600-60: var(--color-slate-600-60);
  --alpha-slate-600-50: var(--color-slate-600-50);
  --alpha-slate-600-40: var(--color-slate-600-40);
  --alpha-slate-600-30: var(--color-slate-600-30);
  --alpha-slate-600-20: var(--color-slate-600-20);
  --alpha-slate-600-10: var(--color-slate-600-10);
  --alpha-slate-600-5: var(--color-slate-600-5);
  --alpha-slate-700-100: var(--color-slate-700-100);
  --alpha-slate-700-90: var(--color-slate-700-90);
  --alpha-slate-700-80: var(--color-slate-700-80);
  --alpha-slate-700-70: var(--color-slate-700-70);
  --alpha-slate-700-60: var(--color-slate-700-60);
  --alpha-slate-700-50: var(--color-slate-700-50);
  --alpha-slate-700-40: var(--color-slate-700-40);
  --alpha-slate-700-30: var(--color-slate-700-30);
  --alpha-slate-700-20: var(--color-slate-700-20);
  --alpha-slate-700-10: var(--color-slate-700-10);
  --alpha-slate-700-5: var(--color-slate-700-5);
  --alpha-slate-800-100: var(--color-slate-800-100);
  --alpha-slate-800-90: var(--color-slate-800-90);
  --alpha-slate-800-80: var(--color-slate-800-80);
  --alpha-slate-800-70: var(--color-slate-800-70);
  --alpha-slate-800-60: var(--color-slate-800-60);
  --alpha-slate-800-50: var(--color-slate-800-50);
  --alpha-slate-800-40: var(--color-slate-800-40);
  --alpha-slate-800-30: var(--color-slate-800-30);
  --alpha-slate-800-20: var(--color-slate-800-20);
  --alpha-slate-800-10: var(--color-slate-800-10);
  --alpha-slate-800-5: var(--color-slate-800-5);
  --alpha-slate-900-100: var(--color-slate-900-100);
  --alpha-slate-900-90: var(--color-slate-900-90);
  --alpha-slate-900-80: var(--color-slate-900-80);
  --alpha-slate-900-70: var(--color-slate-900-70);
  --alpha-slate-900-60: var(--color-slate-900-60);
  --alpha-slate-900-50: var(--color-slate-900-50);
  --alpha-slate-900-40: var(--color-slate-900-40);
  --alpha-slate-900-30: var(--color-slate-900-30);
  --alpha-slate-900-20: var(--color-slate-900-20);
  --alpha-slate-900-10: var(--color-slate-900-10);
  --alpha-slate-900-5: var(--color-slate-900-5);
  --alpha-slate-950-100: var(--color-slate-950-100);
  --alpha-slate-950-90: var(--color-slate-950-90);
  --alpha-slate-950-80: var(--color-slate-950-80);
  --alpha-slate-950-70: var(--color-slate-950-70);
  --alpha-slate-950-60: var(--color-slate-950-60);
  --alpha-slate-950-50: var(--color-slate-950-50);
  --alpha-slate-950-40: var(--color-slate-950-40);
  --alpha-slate-950-30: var(--color-slate-950-30);
  --alpha-slate-950-20: var(--color-slate-950-20);
  --alpha-slate-950-10: var(--color-slate-950-10);
  --alpha-slate-950-5: var(--color-slate-950-5);
  /* Utility Gray */
  --utility-gray-50: var(--color-gray-50);
  --utility-gray-100: var(--color-gray-100);
  --utility-gray-200: var(--color-gray-200);
  --utility-gray-300: var(--color-gray-300);
  --utility-gray-400: var(--color-gray-400);
  --utility-gray-500: var(--color-gray-500);
  --utility-gray-600: var(--color-gray-600);
  --utility-gray-700: var(--color-gray-700);
  --utility-gray-800: var(--color-gray-800);
  --utility-gray-900: var(--color-gray-900);
  --utility-gray-950: var(--color-gray-950);
  --alpha-gray-50-100: var(--color-gray-50-100);
  --alpha-gray-50-90: var(--color-gray-50-90);
  --alpha-gray-50-80: var(--color-gray-50-80);
  --alpha-gray-50-70: var(--color-gray-50-70);
  --alpha-gray-50-60: var(--color-gray-50-60);
  --alpha-gray-50-50: var(--color-gray-50-50);
  --alpha-gray-50-40: var(--color-gray-50-40);
  --alpha-gray-50-30: var(--color-gray-50-30);
  --alpha-gray-50-20: var(--color-gray-50-20);
  --alpha-gray-50-10: var(--color-gray-50-10);
  --alpha-gray-50-5: var(--color-gray-50-5);
  --alpha-gray-100-100: var(--color-gray-100-100);
  --alpha-gray-100-90: var(--color-gray-100-90);
  --alpha-gray-100-80: var(--color-gray-100-80);
  --alpha-gray-100-70: var(--color-gray-100-70);
  --alpha-gray-100-60: var(--color-gray-100-60);
  --alpha-gray-100-50: var(--color-gray-100-50);
  --alpha-gray-100-40: var(--color-gray-100-40);
  --alpha-gray-100-30: var(--color-gray-100-30);
  --alpha-gray-100-20: var(--color-gray-100-20);
  --alpha-gray-100-10: var(--color-gray-100-10);
  --alpha-gray-100-5: var(--color-gray-100-5);
  --alpha-gray-200-100: var(--color-gray-200-100);
  --alpha-gray-200-90: var(--color-gray-200-90);
  --alpha-gray-200-80: var(--color-gray-200-80);
  --alpha-gray-200-70: var(--color-gray-200-70);
  --alpha-gray-200-60: var(--color-gray-200-60);
  --alpha-gray-200-50: var(--color-gray-200-50);
  --alpha-gray-200-40: var(--color-gray-200-40);
  --alpha-gray-200-30: var(--color-gray-200-30);
  --alpha-gray-200-20: var(--color-gray-200-20);
  --alpha-gray-200-10: var(--color-gray-200-10);
  --alpha-gray-200-5: var(--color-gray-200-5);
  --alpha-gray-300-100: var(--color-gray-300-100);
  --alpha-gray-300-90: var(--color-gray-300-90);
  --alpha-gray-300-80: var(--color-gray-300-80);
  --alpha-gray-300-70: var(--color-gray-300-70);
  --alpha-gray-300-60: var(--color-gray-300-60);
  --alpha-gray-300-50: var(--color-gray-300-50);
  --alpha-gray-300-40: var(--color-gray-300-40);
  --alpha-gray-300-30: var(--color-gray-300-30);
  --alpha-gray-300-20: var(--color-gray-300-20);
  --alpha-gray-300-10: var(--color-gray-300-10);
  --alpha-gray-300-5: var(--color-gray-300-5);
  --alpha-gray-400-100: var(--color-gray-400-100);
  --alpha-gray-400-90: var(--color-gray-400-90);
  --alpha-gray-400-80: var(--color-gray-400-80);
  --alpha-gray-400-70: var(--color-gray-400-70);
  --alpha-gray-400-60: var(--color-gray-400-60);
  --alpha-gray-400-50: var(--color-gray-400-50);
  --alpha-gray-400-40: var(--color-gray-400-40);
  --alpha-gray-400-30: var(--color-gray-400-30);
  --alpha-gray-400-20: var(--color-gray-400-20);
  --alpha-gray-400-10: var(--color-gray-400-10);
  --alpha-gray-400-5: var(--color-gray-400-5);
  --alpha-gray-500-100: var(--color-gray-500-100);
  --alpha-gray-500-90: var(--color-gray-500-90);
  --alpha-gray-500-80: var(--color-gray-500-80);
  --alpha-gray-500-70: var(--color-gray-500-70);
  --alpha-gray-500-60: var(--color-gray-500-60);
  --alpha-gray-500-50: var(--color-gray-500-50);
  --alpha-gray-500-40: var(--color-gray-500-40);
  --alpha-gray-500-30: var(--color-gray-500-30);
  --alpha-gray-500-20: var(--color-gray-500-20);
  --alpha-gray-500-10: var(--color-gray-500-10);
  --alpha-gray-500-5: var(--color-gray-500-5);
  --alpha-gray-600-100: var(--color-gray-600-100);
  --alpha-gray-600-90: var(--color-gray-600-90);
  --alpha-gray-600-80: var(--color-gray-600-80);
  --alpha-gray-600-70: var(--color-gray-600-70);
  --alpha-gray-600-60: var(--color-gray-600-60);
  --alpha-gray-600-50: var(--color-gray-600-50);
  --alpha-gray-600-40: var(--color-gray-600-40);
  --alpha-gray-600-30: var(--color-gray-600-30);
  --alpha-gray-600-20: var(--color-gray-600-20);
  --alpha-gray-600-10: var(--color-gray-600-10);
  --alpha-gray-600-5: var(--color-gray-600-5);
  --alpha-gray-700-100: var(--color-gray-700-100);
  --alpha-gray-700-90: var(--color-gray-700-90);
  --alpha-gray-700-80: var(--color-gray-700-80);
  --alpha-gray-700-70: var(--color-gray-700-70);
  --alpha-gray-700-60: var(--color-gray-700-60);
  --alpha-gray-700-50: var(--color-gray-700-50);
  --alpha-gray-700-40: var(--color-gray-700-40);
  --alpha-gray-700-30: var(--color-gray-700-30);
  --alpha-gray-700-20: var(--color-gray-700-20);
  --alpha-gray-700-10: var(--color-gray-700-10);
  --alpha-gray-700-5: var(--color-gray-700-5);
  --alpha-gray-800-100: var(--color-gray-800-100);
  --alpha-gray-800-90: var(--color-gray-800-90);
  --alpha-gray-800-80: var(--color-gray-800-80);
  --alpha-gray-800-70: var(--color-gray-800-70);
  --alpha-gray-800-60: var(--color-gray-800-60);
  --alpha-gray-800-50: var(--color-gray-800-50);
  --alpha-gray-800-40: var(--color-gray-800-40);
  --alpha-gray-800-30: var(--color-gray-800-30);
  --alpha-gray-800-20: var(--color-gray-800-20);
  --alpha-gray-800-10: var(--color-gray-800-10);
  --alpha-gray-800-5: var(--color-gray-800-5);
  --alpha-gray-900-100: var(--color-gray-900-100);
  --alpha-gray-900-90: var(--color-gray-900-90);
  --alpha-gray-900-80: var(--color-gray-900-80);
  --alpha-gray-900-70: var(--color-gray-900-70);
  --alpha-gray-900-60: var(--color-gray-900-60);
  --alpha-gray-900-50: var(--color-gray-900-50);
  --alpha-gray-900-40: var(--color-gray-900-40);
  --alpha-gray-900-30: var(--color-gray-900-30);
  --alpha-gray-900-20: var(--color-gray-900-20);
  --alpha-gray-900-10: var(--color-gray-900-10);
  --alpha-gray-900-5: var(--color-gray-900-5);
  --alpha-gray-950-100: var(--color-gray-950-100);
  --alpha-gray-950-90: var(--color-gray-950-90);
  --alpha-gray-950-80: var(--color-gray-950-80);
  --alpha-gray-950-70: var(--color-gray-950-70);
  --alpha-gray-950-60: var(--color-gray-950-60);
  --alpha-gray-950-50: var(--color-gray-950-50);
  --alpha-gray-950-40: var(--color-gray-950-40);
  --alpha-gray-950-30: var(--color-gray-950-30);
  --alpha-gray-950-20: var(--color-gray-950-20);
  --alpha-gray-950-10: var(--color-gray-950-10);
  --alpha-gray-950-5: var(--color-gray-950-5);
  /* Utility Zinc */
  --utility-zinc-50: var(--color-zinc-50);
  --utility-zinc-100: var(--color-zinc-100);
  --utility-zinc-200: var(--color-zinc-200);
  --utility-zinc-300: var(--color-zinc-300);
  --utility-zinc-400: var(--color-zinc-400);
  --utility-zinc-500: var(--color-zinc-500);
  --utility-zinc-600: var(--color-zinc-600);
  --utility-zinc-700: var(--color-zinc-700);
  --utility-zinc-800: var(--color-zinc-800);
  --utility-zinc-900: var(--color-zinc-900);
  --utility-zinc-950: var(--color-zinc-950);
  --alpha-zinc-50-100: var(--color-zinc-50-100);
  --alpha-zinc-50-90: var(--color-zinc-50-90);
  --alpha-zinc-50-80: var(--color-zinc-50-80);
  --alpha-zinc-50-70: var(--color-zinc-50-70);
  --alpha-zinc-50-60: var(--color-zinc-50-60);
  --alpha-zinc-50-50: var(--color-zinc-50-50);
  --alpha-zinc-50-40: var(--color-zinc-50-40);
  --alpha-zinc-50-30: var(--color-zinc-50-30);
  --alpha-zinc-50-20: var(--color-zinc-50-20);
  --alpha-zinc-50-10: var(--color-zinc-50-10);
  --alpha-zinc-50-5: var(--color-zinc-50-5);
  --alpha-zinc-100-100: var(--color-zinc-100-100);
  --alpha-zinc-100-90: var(--color-zinc-100-90);
  --alpha-zinc-100-80: var(--color-zinc-100-80);
  --alpha-zinc-100-70: var(--color-zinc-100-70);
  --alpha-zinc-100-60: var(--color-zinc-100-60);
  --alpha-zinc-100-50: var(--color-zinc-100-50);
  --alpha-zinc-100-40: var(--color-zinc-100-40);
  --alpha-zinc-100-30: var(--color-zinc-100-30);
  --alpha-zinc-100-20: var(--color-zinc-100-20);
  --alpha-zinc-100-10: var(--color-zinc-100-10);
  --alpha-zinc-100-5: var(--color-zinc-100-5);
  --alpha-zinc-200-100: var(--color-zinc-200-100);
  --alpha-zinc-200-90: var(--color-zinc-200-90);
  --alpha-zinc-200-80: var(--color-zinc-200-80);
  --alpha-zinc-200-70: var(--color-zinc-200-70);
  --alpha-zinc-200-60: var(--color-zinc-200-60);
  --alpha-zinc-200-50: var(--color-zinc-200-50);
  --alpha-zinc-200-40: var(--color-zinc-200-40);
  --alpha-zinc-200-30: var(--color-zinc-200-30);
  --alpha-zinc-200-20: var(--color-zinc-200-20);
  --alpha-zinc-200-10: var(--color-zinc-200-10);
  --alpha-zinc-200-5: var(--color-zinc-200-5);
  --alpha-zinc-300-100: var(--color-zinc-300-100);
  --alpha-zinc-300-90: var(--color-zinc-300-90);
  --alpha-zinc-300-80: var(--color-zinc-300-80);
  --alpha-zinc-300-70: var(--color-zinc-300-70);
  --alpha-zinc-300-60: var(--color-zinc-300-60);
  --alpha-zinc-300-50: var(--color-zinc-300-50);
  --alpha-zinc-300-40: var(--color-zinc-300-40);
  --alpha-zinc-300-30: var(--color-zinc-300-30);
  --alpha-zinc-300-20: var(--color-zinc-300-20);
  --alpha-zinc-300-10: var(--color-zinc-300-10);
  --alpha-zinc-300-5: var(--color-zinc-300-5);
  --alpha-zinc-400-100: var(--color-zinc-400-100);
  --alpha-zinc-400-90: var(--color-zinc-400-90);
  --alpha-zinc-400-80: var(--color-zinc-400-80);
  --alpha-zinc-400-70: var(--color-zinc-400-70);
  --alpha-zinc-400-60: var(--color-zinc-400-60);
  --alpha-zinc-400-50: var(--color-zinc-400-50);
  --alpha-zinc-400-40: var(--color-zinc-400-40);
  --alpha-zinc-400-30: var(--color-zinc-400-30);
  --alpha-zinc-400-20: var(--color-zinc-400-20);
  --alpha-zinc-400-10: var(--color-zinc-400-10);
  --alpha-zinc-400-5: var(--color-zinc-400-5);
  --alpha-zinc-500-100: var(--color-zinc-500-100);
  --alpha-zinc-500-90: var(--color-zinc-500-90);
  --alpha-zinc-500-80: var(--color-zinc-500-80);
  --alpha-zinc-500-70: var(--color-zinc-500-70);
  --alpha-zinc-500-60: var(--color-zinc-500-60);
  --alpha-zinc-500-50: var(--color-zinc-500-50);
  --alpha-zinc-500-40: var(--color-zinc-500-40);
  --alpha-zinc-500-30: var(--color-zinc-500-30);
  --alpha-zinc-500-20: var(--color-zinc-500-20);
  --alpha-zinc-500-10: var(--color-zinc-500-10);
  --alpha-zinc-500-5: var(--color-zinc-500-5);
  --alpha-zinc-600-100: var(--color-zinc-600-100);
  --alpha-zinc-600-90: var(--color-zinc-600-90);
  --alpha-zinc-600-80: var(--color-zinc-600-80);
  --alpha-zinc-600-70: var(--color-zinc-600-70);
  --alpha-zinc-600-60: var(--color-zinc-600-60);
  --alpha-zinc-600-50: var(--color-zinc-600-50);
  --alpha-zinc-600-40: var(--color-zinc-600-40);
  --alpha-zinc-600-30: var(--color-zinc-600-30);
  --alpha-zinc-600-20: var(--color-zinc-600-20);
  --alpha-zinc-600-10: var(--color-zinc-600-10);
  --alpha-zinc-600-5: var(--color-zinc-600-5);
  --alpha-zinc-700-100: var(--color-zinc-700-100);
  --alpha-zinc-700-90: var(--color-zinc-700-90);
  --alpha-zinc-700-80: var(--color-zinc-700-80);
  --alpha-zinc-700-70: var(--color-zinc-700-70);
  --alpha-zinc-700-60: var(--color-zinc-700-60);
  --alpha-zinc-700-50: var(--color-zinc-700-50);
  --alpha-zinc-700-40: var(--color-zinc-700-40);
  --alpha-zinc-700-30: var(--color-zinc-700-30);
  --alpha-zinc-700-20: var(--color-zinc-700-20);
  --alpha-zinc-700-10: var(--color-zinc-700-10);
  --alpha-zinc-700-5: var(--color-zinc-700-5);
  --alpha-zinc-800-100: var(--color-zinc-800-100);
  --alpha-zinc-800-90: var(--color-zinc-800-90);
  --alpha-zinc-800-80: var(--color-zinc-800-80);
  --alpha-zinc-800-70: var(--color-zinc-800-70);
  --alpha-zinc-800-60: var(--color-zinc-800-60);
  --alpha-zinc-800-50: var(--color-zinc-800-50);
  --alpha-zinc-800-40: var(--color-zinc-800-40);
  --alpha-zinc-800-30: var(--color-zinc-800-30);
  --alpha-zinc-800-20: var(--color-zinc-800-20);
  --alpha-zinc-800-10: var(--color-zinc-800-10);
  --alpha-zinc-800-5: var(--color-zinc-800-5);
  --alpha-zinc-900-100: var(--color-zinc-900-100);
  --alpha-zinc-900-90: var(--color-zinc-900-90);
  --alpha-zinc-900-80: var(--color-zinc-900-80);
  --alpha-zinc-900-70: var(--color-zinc-900-70);
  --alpha-zinc-900-60: var(--color-zinc-900-60);
  --alpha-zinc-900-50: var(--color-zinc-900-50);
  --alpha-zinc-900-40: var(--color-zinc-900-40);
  --alpha-zinc-900-30: var(--color-zinc-900-30);
  --alpha-zinc-900-20: var(--color-zinc-900-20);
  --alpha-zinc-900-10: var(--color-zinc-900-10);
  --alpha-zinc-900-5: var(--color-zinc-900-5);
  --alpha-zinc-950-100: var(--color-zinc-950-100);
  --alpha-zinc-950-90: var(--color-zinc-950-90);
  --alpha-zinc-950-80: var(--color-zinc-950-80);
  --alpha-zinc-950-70: var(--color-zinc-950-70);
  --alpha-zinc-950-60: var(--color-zinc-950-60);
  --alpha-zinc-950-50: var(--color-zinc-950-50);
  --alpha-zinc-950-40: var(--color-zinc-950-40);
  --alpha-zinc-950-30: var(--color-zinc-950-30);
  --alpha-zinc-950-20: var(--color-zinc-950-20);
  --alpha-zinc-950-10: var(--color-zinc-950-10);
  --alpha-zinc-950-5: var(--color-zinc-950-5);
  /* Utility Neutral */
  --utility-neutral-50: var(--color-neutral-50);
  --utility-neutral-100: var(--color-neutral-100);
  --utility-neutral-200: var(--color-neutral-200);
  --utility-neutral-300: var(--color-neutral-300);
  --utility-neutral-400: var(--color-neutral-400);
  --utility-neutral-500: var(--color-neutral-500);
  --utility-neutral-600: var(--color-neutral-600);
  --utility-neutral-700: var(--color-neutral-700);
  --utility-neutral-750: var(--color-neutral-750);
  --utility-neutral-800: var(--color-neutral-800);
  --utility-neutral-850: var(--color-neutral-850);
  --utility-neutral-900: var(--color-neutral-900);
  --utility-neutral-950: var(--color-neutral-950);
  --alpha-neutral-50-100: var(--color-neutral-50-100);
  --alpha-neutral-50-90: var(--color-neutral-50-90);
  --alpha-neutral-50-80: var(--color-neutral-50-80);
  --alpha-neutral-50-70: var(--color-neutral-50-70);
  --alpha-neutral-50-60: var(--color-neutral-50-60);
  --alpha-neutral-50-50: var(--color-neutral-50-50);
  --alpha-neutral-50-40: var(--color-neutral-50-40);
  --alpha-neutral-50-30: var(--color-neutral-50-30);
  --alpha-neutral-50-20: var(--color-neutral-50-20);
  --alpha-neutral-50-10: var(--color-neutral-50-10);
  --alpha-neutral-50-5: var(--color-neutral-50-5);
  --alpha-neutral-100-100: var(--color-neutral-100-100);
  --alpha-neutral-100-90: var(--color-neutral-100-90);
  --alpha-neutral-100-80: var(--color-neutral-100-80);
  --alpha-neutral-100-70: var(--color-neutral-100-70);
  --alpha-neutral-100-60: var(--color-neutral-100-60);
  --alpha-neutral-100-50: var(--color-neutral-100-50);
  --alpha-neutral-100-40: var(--color-neutral-100-40);
  --alpha-neutral-100-30: var(--color-neutral-100-30);
  --alpha-neutral-100-20: var(--color-neutral-100-20);
  --alpha-neutral-100-10: var(--color-neutral-100-10);
  --alpha-neutral-100-5: var(--color-neutral-100-5);
  --alpha-neutral-200-100: var(--color-neutral-200-100);
  --alpha-neutral-200-90: var(--color-neutral-200-90);
  --alpha-neutral-200-80: var(--color-neutral-200-80);
  --alpha-neutral-200-70: var(--color-neutral-200-70);
  --alpha-neutral-200-60: var(--color-neutral-200-60);
  --alpha-neutral-200-50: var(--color-neutral-200-50);
  --alpha-neutral-200-40: var(--color-neutral-200-40);
  --alpha-neutral-200-30: var(--color-neutral-200-30);
  --alpha-neutral-200-20: var(--color-neutral-200-20);
  --alpha-neutral-200-10: var(--color-neutral-200-10);
  --alpha-neutral-200-5: var(--color-neutral-200-5);
  --alpha-neutral-300-100: var(--color-neutral-300-100);
  --alpha-neutral-300-90: var(--color-neutral-300-90);
  --alpha-neutral-300-80: var(--color-neutral-300-80);
  --alpha-neutral-300-70: var(--color-neutral-300-70);
  --alpha-neutral-300-60: var(--color-neutral-300-60);
  --alpha-neutral-300-50: var(--color-neutral-300-50);
  --alpha-neutral-300-40: var(--color-neutral-300-40);
  --alpha-neutral-300-30: var(--color-neutral-300-30);
  --alpha-neutral-300-20: var(--color-neutral-300-20);
  --alpha-neutral-300-10: var(--color-neutral-300-10);
  --alpha-neutral-300-5: var(--color-neutral-300-5);
  --alpha-neutral-400-100: var(--color-neutral-400-100);
  --alpha-neutral-400-90: var(--color-neutral-400-90);
  --alpha-neutral-400-80: var(--color-neutral-400-80);
  --alpha-neutral-400-70: var(--color-neutral-400-70);
  --alpha-neutral-400-60: var(--color-neutral-400-60);
  --alpha-neutral-400-50: var(--color-neutral-400-50);
  --alpha-neutral-400-40: var(--color-neutral-400-40);
  --alpha-neutral-400-30: var(--color-neutral-400-30);
  --alpha-neutral-400-20: var(--color-neutral-400-20);
  --alpha-neutral-400-10: var(--color-neutral-400-10);
  --alpha-neutral-400-5: var(--color-neutral-400-5);
  --alpha-neutral-500-100: var(--color-neutral-500-100);
  --alpha-neutral-500-90: var(--color-neutral-500-90);
  --alpha-neutral-500-80: var(--color-neutral-500-80);
  --alpha-neutral-500-70: var(--color-neutral-500-70);
  --alpha-neutral-500-60: var(--color-neutral-500-60);
  --alpha-neutral-500-50: var(--color-neutral-500-50);
  --alpha-neutral-500-40: var(--color-neutral-500-40);
  --alpha-neutral-500-30: var(--color-neutral-500-30);
  --alpha-neutral-500-20: var(--color-neutral-500-20);
  --alpha-neutral-500-10: var(--color-neutral-500-10);
  --alpha-neutral-500-5: var(--color-neutral-500-5);
  --alpha-neutral-600-100: var(--color-neutral-600-100);
  --alpha-neutral-600-90: var(--color-neutral-600-90);
  --alpha-neutral-600-80: var(--color-neutral-600-80);
  --alpha-neutral-600-70: var(--color-neutral-600-70);
  --alpha-neutral-600-60: var(--color-neutral-600-60);
  --alpha-neutral-600-50: var(--color-neutral-600-50);
  --alpha-neutral-600-40: var(--color-neutral-600-40);
  --alpha-neutral-600-30: var(--color-neutral-600-30);
  --alpha-neutral-600-20: var(--color-neutral-600-20);
  --alpha-neutral-600-10: var(--color-neutral-600-10);
  --alpha-neutral-600-5: var(--color-neutral-600-5);
  --alpha-neutral-700-100: var(--color-neutral-700-100);
  --alpha-neutral-700-90: var(--color-neutral-700-90);
  --alpha-neutral-700-80: var(--color-neutral-700-80);
  --alpha-neutral-700-70: var(--color-neutral-700-70);
  --alpha-neutral-700-60: var(--color-neutral-700-60);
  --alpha-neutral-700-50: var(--color-neutral-700-50);
  --alpha-neutral-700-40: var(--color-neutral-700-40);
  --alpha-neutral-700-30: var(--color-neutral-700-30);
  --alpha-neutral-700-20: var(--color-neutral-700-20);
  --alpha-neutral-700-10: var(--color-neutral-700-10);
  --alpha-neutral-700-5: var(--color-neutral-700-5);
  --alpha-neutral-750-100: var(--color-neutral-750-100);
  --alpha-neutral-750-90: var(--color-neutral-750-90);
  --alpha-neutral-750-80: var(--color-neutral-750-80);
  --alpha-neutral-750-70: var(--color-neutral-750-70);
  --alpha-neutral-750-60: var(--color-neutral-750-60);
  --alpha-neutral-750-50: var(--color-neutral-750-50);
  --alpha-neutral-750-40: var(--color-neutral-750-40);
  --alpha-neutral-750-30: var(--color-neutral-750-30);
  --alpha-neutral-750-20: var(--color-neutral-750-20);
  --alpha-neutral-750-10: var(--color-neutral-750-10);
  --alpha-neutral-750-5: var(--color-neutral-750-5);
  --alpha-neutral-800-100: var(--color-neutral-800-100);
  --alpha-neutral-800-90: var(--color-neutral-800-90);
  --alpha-neutral-800-80: var(--color-neutral-800-80);
  --alpha-neutral-800-70: var(--color-neutral-800-70);
  --alpha-neutral-800-60: var(--color-neutral-800-60);
  --alpha-neutral-800-50: var(--color-neutral-800-50);
  --alpha-neutral-800-40: var(--color-neutral-800-40);
  --alpha-neutral-800-30: var(--color-neutral-800-30);
  --alpha-neutral-800-20: var(--color-neutral-800-20);
  --alpha-neutral-800-10: var(--color-neutral-800-10);
  --alpha-neutral-800-5: var(--color-neutral-800-5);
  --alpha-neutral-850-100: var(--color-neutral-850-100);
  --alpha-neutral-850-90: var(--color-neutral-850-90);
  --alpha-neutral-850-80: var(--color-neutral-850-80);
  --alpha-neutral-850-70: var(--color-neutral-850-70);
  --alpha-neutral-850-60: var(--color-neutral-850-60);
  --alpha-neutral-850-50: var(--color-neutral-850-50);
  --alpha-neutral-850-40: var(--color-neutral-850-40);
  --alpha-neutral-850-30: var(--color-neutral-850-30);
  --alpha-neutral-850-20: var(--color-neutral-850-20);
  --alpha-neutral-850-10: var(--color-neutral-850-10);
  --alpha-neutral-850-5: var(--color-neutral-850-5);
  --alpha-neutral-900-100: var(--color-neutral-900-100);
  --alpha-neutral-900-90: var(--color-neutral-900-90);
  --alpha-neutral-900-80: var(--color-neutral-900-80);
  --alpha-neutral-900-70: var(--color-neutral-900-70);
  --alpha-neutral-900-60: var(--color-neutral-900-60);
  --alpha-neutral-900-50: var(--color-neutral-900-50);
  --alpha-neutral-900-40: var(--color-neutral-900-40);
  --alpha-neutral-900-30: var(--color-neutral-900-30);
  --alpha-neutral-900-20: var(--color-neutral-900-20);
  --alpha-neutral-900-10: var(--color-neutral-900-10);
  --alpha-neutral-900-5: var(--color-neutral-900-5);
  --alpha-neutral-950-100: var(--color-neutral-950-100);
  --alpha-neutral-950-90: var(--color-neutral-950-90);
  --alpha-neutral-950-80: var(--color-neutral-950-80);
  --alpha-neutral-950-70: var(--color-neutral-950-70);
  --alpha-neutral-950-60: var(--color-neutral-950-60);
  --alpha-neutral-950-50: var(--color-neutral-950-50);
  --alpha-neutral-950-40: var(--color-neutral-950-40);
  --alpha-neutral-950-30: var(--color-neutral-950-30);
  --alpha-neutral-950-20: var(--color-neutral-950-20);
  --alpha-neutral-950-10: var(--color-neutral-950-10);
  --alpha-neutral-950-5: var(--color-neutral-950-5);
  /* Utility Stone */
  --utility-stone-50: var(--color-stone-50);
  --utility-stone-100: var(--color-stone-100);
  --utility-stone-200: var(--color-stone-200);
  --utility-stone-300: var(--color-stone-300);
  --utility-stone-400: var(--color-stone-400);
  --utility-stone-500: var(--color-stone-500);
  --utility-stone-600: var(--color-stone-600);
  --utility-stone-700: var(--color-stone-700);
  --utility-stone-800: var(--color-stone-800);
  --utility-stone-900: var(--color-stone-900);
  --alpha-stone-50-100: var(--color-stone-50-100);
  --alpha-stone-50-90: var(--color-stone-50-90);
  --alpha-stone-50-80: var(--color-stone-50-80);
  --alpha-stone-50-70: var(--color-stone-50-70);
  --alpha-stone-50-60: var(--color-stone-50-60);
  --alpha-stone-50-50: var(--color-stone-50-50);
  --alpha-stone-50-40: var(--color-stone-50-40);
  --alpha-stone-50-30: var(--color-stone-50-30);
  --alpha-stone-50-20: var(--color-stone-50-20);
  --alpha-stone-50-10: var(--color-stone-50-10);
  --alpha-stone-50-5: var(--color-stone-50-5);
  --alpha-stone-100-100: var(--color-stone-100-100);
  --alpha-stone-100-90: var(--color-stone-100-90);
  --alpha-stone-100-80: var(--color-stone-100-80);
  --alpha-stone-100-70: var(--color-stone-100-70);
  --alpha-stone-100-60: var(--color-stone-100-60);
  --alpha-stone-100-50: var(--color-stone-100-50);
  --alpha-stone-100-40: var(--color-stone-100-40);
  --alpha-stone-100-30: var(--color-stone-100-30);
  --alpha-stone-100-20: var(--color-stone-100-20);
  --alpha-stone-100-10: var(--color-stone-100-10);
  --alpha-stone-100-5: var(--color-stone-100-5);
  --alpha-stone-200-100: var(--color-stone-200-100);
  --alpha-stone-200-90: var(--color-stone-200-90);
  --alpha-stone-200-80: var(--color-stone-200-80);
  --alpha-stone-200-70: var(--color-stone-200-70);
  --alpha-stone-200-60: var(--color-stone-200-60);
  --alpha-stone-200-50: var(--color-stone-200-50);
  --alpha-stone-200-40: var(--color-stone-200-40);
  --alpha-stone-200-30: var(--color-stone-200-30);
  --alpha-stone-200-20: var(--color-stone-200-20);
  --alpha-stone-200-10: var(--color-stone-200-10);
  --alpha-stone-200-5: var(--color-stone-200-5);
  --alpha-stone-300-100: var(--color-stone-300-100);
  --alpha-stone-300-90: var(--color-stone-300-90);
  --alpha-stone-300-80: var(--color-stone-300-80);
  --alpha-stone-300-70: var(--color-stone-300-70);
  --alpha-stone-300-60: var(--color-stone-300-60);
  --alpha-stone-300-50: var(--color-stone-300-50);
  --alpha-stone-300-40: var(--color-stone-300-40);
  --alpha-stone-300-30: var(--color-stone-300-30);
  --alpha-stone-300-20: var(--color-stone-300-20);
  --alpha-stone-300-10: var(--color-stone-300-10);
  --alpha-stone-300-5: var(--color-stone-300-5);
  --alpha-stone-400-100: var(--color-stone-400-100);
  --alpha-stone-400-90: var(--color-stone-400-90);
  --alpha-stone-400-80: var(--color-stone-400-80);
  --alpha-stone-400-70: var(--color-stone-400-70);
  --alpha-stone-400-60: var(--color-stone-400-60);
  --alpha-stone-400-50: var(--color-stone-400-50);
  --alpha-stone-400-40: var(--color-stone-400-40);
  --alpha-stone-400-30: var(--color-stone-400-30);
  --alpha-stone-400-20: var(--color-stone-400-20);
  --alpha-stone-400-10: var(--color-stone-400-10);
  --alpha-stone-400-5: var(--color-stone-400-5);
  --alpha-stone-500-100: var(--color-stone-500-100);
  --alpha-stone-500-90: var(--color-stone-500-90);
  --alpha-stone-500-80: var(--color-stone-500-80);
  --alpha-stone-500-70: var(--color-stone-500-70);
  --alpha-stone-500-60: var(--color-stone-500-60);
  --alpha-stone-500-50: var(--color-stone-500-50);
  --alpha-stone-500-40: var(--color-stone-500-40);
  --alpha-stone-500-30: var(--color-stone-500-30);
  --alpha-stone-500-20: var(--color-stone-500-20);
  --alpha-stone-500-10: var(--color-stone-500-10);
  --alpha-stone-500-5: var(--color-stone-500-5);
  --alpha-stone-600-100: var(--color-stone-600-100);
  --alpha-stone-600-90: var(--color-stone-600-90);
  --alpha-stone-600-80: var(--color-stone-600-80);
  --alpha-stone-600-70: var(--color-stone-600-70);
  --alpha-stone-600-60: var(--color-stone-600-60);
  --alpha-stone-600-50: var(--color-stone-600-50);
  --alpha-stone-600-40: var(--color-stone-600-40);
  --alpha-stone-600-30: var(--color-stone-600-30);
  --alpha-stone-600-20: var(--color-stone-600-20);
  --alpha-stone-600-10: var(--color-stone-600-10);
  --alpha-stone-600-5: var(--color-stone-600-5);
  --alpha-stone-700-100: var(--color-stone-700-100);
  --alpha-stone-700-90: var(--color-stone-700-90);
  --alpha-stone-700-80: var(--color-stone-700-80);
  --alpha-stone-700-70: var(--color-stone-700-70);
  --alpha-stone-700-60: var(--color-stone-700-60);
  --alpha-stone-700-50: var(--color-stone-700-50);
  --alpha-stone-700-40: var(--color-stone-700-40);
  --alpha-stone-700-30: var(--color-stone-700-30);
  --alpha-stone-700-20: var(--color-stone-700-20);
  --alpha-stone-700-10: var(--color-stone-700-10);
  --alpha-stone-700-5: var(--color-stone-700-5);
  --alpha-stone-800-100: var(--color-stone-800-100);
  --alpha-stone-800-90: var(--color-stone-800-90);
  --alpha-stone-800-80: var(--color-stone-800-80);
  --alpha-stone-800-70: var(--color-stone-800-70);
  --alpha-stone-800-60: var(--color-stone-800-60);
  --alpha-stone-800-50: var(--color-stone-800-50);
  --alpha-stone-800-40: var(--color-stone-800-40);
  --alpha-stone-800-30: var(--color-stone-800-30);
  --alpha-stone-800-20: var(--color-stone-800-20);
  --alpha-stone-800-10: var(--color-stone-800-10);
  --alpha-stone-800-5: var(--color-stone-800-5);
  --alpha-stone-900-100: var(--color-stone-900-100);
  --alpha-stone-900-90: var(--color-stone-900-90);
  --alpha-stone-900-80: var(--color-stone-900-80);
  --alpha-stone-900-70: var(--color-stone-900-70);
  --alpha-stone-900-60: var(--color-stone-900-60);
  --alpha-stone-900-50: var(--color-stone-900-50);
  --alpha-stone-900-40: var(--color-stone-900-40);
  --alpha-stone-900-30: var(--color-stone-900-30);
  --alpha-stone-900-20: var(--color-stone-900-20);
  --alpha-stone-900-10: var(--color-stone-900-10);
  --alpha-stone-900-5: var(--color-stone-900-5);
  --alpha-stone-950-100: var(--color-stone-950-100);
  --alpha-stone-950-90: var(--color-stone-950-90);
  --alpha-stone-950-80: var(--color-stone-950-80);
  --alpha-stone-950-70: var(--color-stone-950-70);
  --alpha-stone-950-60: var(--color-stone-950-60);
  --alpha-stone-950-50: var(--color-stone-950-50);
  --alpha-stone-950-40: var(--color-stone-950-40);
  --alpha-stone-950-30: var(--color-stone-950-30);
  --alpha-stone-950-20: var(--color-stone-950-20);
  --alpha-stone-950-10: var(--color-stone-950-10);
  --alpha-stone-950-5: var(--color-stone-950-5);
}

/*Border Colors*/

.border-red-50 { border-color: var(--color-red-50); }

.border-red-100 { border-color: var(--color-red-100); }

.border-red-200 { border-color: var(--color-red-200); }

.border-red-300 { border-color: var(--color-red-300); }

.border-red-400 { border-color: var(--color-red-400); }

.border-red-500 { border-color: var(--color-red-500); }

.border-red-600 { border-color: var(--color-red-600); }

.border-red-700 { border-color: var(--color-red-700); }

.border-red-800 { border-color: var(--color-red-800); }

.border-red-900 { border-color: var(--color-red-900); }

.border-red-950 { border-color: var(--color-red-950); }

.border-orange-50 { border-color: var(--color-orange-50); }

.border-orange-100 { border-color: var(--color-orange-100); }

.border-orange-200 { border-color: var(--color-orange-200); }

.border-orange-300 { border-color: var(--color-orange-300); }

.border-orange-400 { border-color: var(--color-orange-400); }

.border-orange-500 { border-color: var(--color-orange-500); }

.border-orange-600 { border-color: var(--color-orange-600); }

.border-orange-700 { border-color: var(--color-orange-700); }

.border-orange-800 { border-color: var(--color-orange-800); }

.border-orange-900 { border-color: var(--color-orange-900); }

.border-orange-950 { border-color: var(--color-orange-950); }

.border-amber-50 { border-color: var(--color-amber-50); }

.border-amber-100 { border-color: var(--color-amber-100); }

.border-amber-200 { border-color: var(--color-amber-200); }

.border-amber-300 { border-color: var(--color-amber-300); }

.border-amber-400 { border-color: var(--color-amber-400); }

.border-amber-500 { border-color: var(--color-amber-500); }

.border-amber-600 { border-color: var(--color-amber-600); }

.border-amber-700 { border-color: var(--color-amber-700); }

.border-amber-800 { border-color: var(--color-amber-800); }

.border-amber-900 { border-color: var(--color-amber-900); }

.border-amber-950 { border-color: var(--color-amber-950); }

.border-yellow-50 { border-color: var(--color-yellow-50); }

.border-yellow-100 { border-color: var(--color-yellow-100); }

.border-yellow-200 { border-color: var(--color-yellow-200); }

.border-yellow-300 { border-color: var(--color-yellow-300); }

.border-yellow-400 { border-color: var(--color-yellow-400); }

.border-yellow-500 { border-color: var(--color-yellow-500); }

.border-yellow-600 { border-color: var(--color-yellow-600); }

.border-yellow-700 { border-color: var(--color-yellow-700); }

.border-yellow-800 { border-color: var(--color-yellow-800); }

.border-yellow-900 { border-color: var(--color-yellow-900); }

.border-yellow-950 { border-color: var(--color-yellow-950); }

.border-lime-50 { border-color: var(--color-lime-50); }

.border-lime-100 { border-color: var(--color-lime-100); }

.border-lime-200 { border-color: var(--color-lime-200); }

.border-lime-300 { border-color: var(--color-lime-300); }

.border-lime-400 { border-color: var(--color-lime-400); }

.border-lime-500 { border-color: var(--color-lime-500); }

.border-lime-600 { border-color: var(--color-lime-600); }

.border-lime-700 { border-color: var(--color-lime-700); }

.border-lime-800 { border-color: var(--color-lime-800); }

.border-lime-900 { border-color: var(--color-lime-900); }

.border-lime-950 { border-color: var(--color-lime-950); }

.border-green-50 { border-color: var(--color-green-50); }

.border-green-100 { border-color: var(--color-green-100); }

.border-green-200 { border-color: var(--color-green-200); }

.border-green-300 { border-color: var(--color-green-300); }

.border-green-400 { border-color: var(--color-green-400); }

.border-green-500 { border-color: var(--color-green-500); }

.border-green-600 { border-color: var(--color-green-600); }

.border-green-700 { border-color: var(--color-green-700); }

.border-green-800 { border-color: var(--color-green-800); }

.border-green-900 { border-color: var(--color-green-900); }

.border-green-950 { border-color: var(--color-green-950); }

.border-emerald-50 { border-color: var(--color-emerald-50); }

.border-emerald-100 { border-color: var(--color-emerald-100); }

.border-emerald-200 { border-color: var(--color-emerald-200); }

.border-emerald-300 { border-color: var(--color-emerald-300); }

.border-emerald-400 { border-color: var(--color-emerald-400); }

.border-emerald-500 { border-color: var(--color-emerald-500); }

.border-emerald-600 { border-color: var(--color-emerald-600); }

.border-emerald-700 { border-color: var(--color-emerald-700); }

.border-emerald-800 { border-color: var(--color-emerald-800); }

.border-emerald-900 { border-color: var(--color-emerald-900); }

.border-emerald-950 { border-color: var(--color-emerald-950); }

.border-teal-50 { border-color: var(--color-teal-50); }

.border-teal-100 { border-color: var(--color-teal-100); }

.border-teal-200 { border-color: var(--color-teal-200); }

.border-teal-300 { border-color: var(--color-teal-300); }

.border-teal-400 { border-color: var(--color-teal-400); }

.border-teal-500 { border-color: var(--color-teal-500); }

.border-teal-600 { border-color: var(--color-teal-600); }

.border-teal-700 { border-color: var(--color-teal-700); }

.border-teal-800 { border-color: var(--color-teal-800); }

.border-teal-900 { border-color: var(--color-teal-900); }

.border-teal-950 { border-color: var(--color-teal-950); }

.border-cyan-50 { border-color: var(--color-cyan-50); }

.border-cyan-100 { border-color: var(--color-cyan-100); }

.border-cyan-200 { border-color: var(--color-cyan-200); }

.border-cyan-300 { border-color: var(--color-cyan-300); }

.border-cyan-400 { border-color: var(--color-cyan-400); }

.border-cyan-500 { border-color: var(--color-cyan-500); }

.border-cyan-600 { border-color: var(--color-cyan-600); }

.border-cyan-700 { border-color: var(--color-cyan-700); }

.border-cyan-800 { border-color: var(--color-cyan-800); }

.border-cyan-900 { border-color: var(--color-cyan-900); }

.border-cyan-950 { border-color: var(--color-cyan-950); }

.border-sky-50 { border-color: var(--color-sky-50); }

.border-sky-100 { border-color: var(--color-sky-100); }

.border-sky-200 { border-color: var(--color-sky-200); }

.border-sky-300 { border-color: var(--color-sky-300); }

.border-sky-400 { border-color: var(--color-sky-400); }

.border-sky-500 { border-color: var(--color-sky-500); }

.border-sky-600 { border-color: var(--color-sky-600); }

.border-sky-700 { border-color: var(--color-sky-700); }

.border-sky-800 { border-color: var(--color-sky-800); }

.border-sky-900 { border-color: var(--color-sky-900); }

.border-sky-950 { border-color: var(--color-sky-950); }

.border-blue-50 { border-color: var(--color-blue-50); }

.border-blue-100 { border-color: var(--color-blue-100); }

.border-blue-200 { border-color: var(--color-blue-200); }

.border-blue-300 { border-color: var(--color-blue-300); }

.border-blue-400 { border-color: var(--color-blue-400); }

.border-blue-500 { border-color: var(--color-blue-500); }

.border-blue-600 { border-color: var(--color-blue-600); }

.border-blue-700 { border-color: var(--color-blue-700); }

.border-blue-800 { border-color: var(--color-blue-800); }

.border-blue-900 { border-color: var(--color-blue-900); }

.border-blue-950 { border-color: var(--color-blue-950); }

.border-indigo-50 { border-color: var(--color-indigo-50); }

.border-indigo-100 { border-color: var(--color-indigo-100); }

.border-indigo-200 { border-color: var(--color-indigo-200); }

.border-indigo-300 { border-color: var(--color-indigo-300); }

.border-indigo-400 { border-color: var(--color-indigo-400); }

.border-indigo-500 { border-color: var(--color-indigo-500); }

.border-indigo-600 { border-color: var(--color-indigo-600); }

.border-indigo-700 { border-color: var(--color-indigo-700); }

.border-indigo-800 { border-color: var(--color-indigo-800); }

.border-indigo-900 { border-color: var(--color-indigo-900); }

.border-indigo-950 { border-color: var(--color-indigo-950); }

.border-violet-50 { border-color: var(--color-violet-50); }

.border-violet-100 { border-color: var(--color-violet-100); }

.border-violet-200 { border-color: var(--color-violet-200); }

.border-violet-300 { border-color: var(--color-violet-300); }

.border-violet-400 { border-color: var(--color-violet-400); }

.border-violet-500 { border-color: var(--color-violet-500); }

.border-violet-600 { border-color: var(--color-violet-600); }

.border-violet-700 { border-color: var(--color-violet-700); }

.border-violet-800 { border-color: var(--color-violet-800); }

.border-violet-900 { border-color: var(--color-violet-900); }

.border-violet-950 { border-color: var(--color-violet-950); }

.border-purple-50 { border-color: var(--color-purple-50); }

.border-purple-100 { border-color: var(--color-purple-100); }

.border-purple-200 { border-color: var(--color-purple-200); }

.border-purple-300 { border-color: var(--color-purple-300); }

.border-purple-400 { border-color: var(--color-purple-400); }

.border-purple-500 { border-color: var(--color-purple-500); }

.border-purple-600 { border-color: var(--color-purple-600); }

.border-purple-700 { border-color: var(--color-purple-700); }

.border-purple-800 { border-color: var(--color-purple-800); }

.border-purple-900 { border-color: var(--color-purple-900); }

.border-purple-950 { border-color: var(--color-purple-950); }

.border-fuchsia-50 { border-color: var(--color-fuchsia-50); }

.border-fuchsia-100 { border-color: var(--color-fuchsia-100); }

.border-fuchsia-200 { border-color: var(--color-fuchsia-200); }

.border-fuchsia-300 { border-color: var(--color-fuchsia-300); }

.border-fuchsia-400 { border-color: var(--color-fuchsia-400); }

.border-fuchsia-500 { border-color: var(--color-fuchsia-500); }

.border-fuchsia-600 { border-color: var(--color-fuchsia-600); }

.border-fuchsia-700 { border-color: var(--color-fuchsia-700); }

.border-fuchsia-800 { border-color: var(--color-fuchsia-800); }

.border-fuchsia-900 { border-color: var(--color-fuchsia-900); }

.border-fuchsia-950 { border-color: var(--color-fuchsia-950); }

.border-pink-50 { border-color: var(--color-pink-50); }

.border-pink-100 { border-color: var(--color-pink-100); }

.border-pink-200 { border-color: var(--color-pink-200); }

.border-pink-300 { border-color: var(--color-pink-300); }

.border-pink-400 { border-color: var(--color-pink-400); }

.border-pink-500 { border-color: var(--color-pink-500); }

.border-pink-600 { border-color: var(--color-pink-600); }

.border-pink-700 { border-color: var(--color-pink-700); }

.border-pink-800 { border-color: var(--color-pink-800); }

.border-pink-900 { border-color: var(--color-pink-900); }

.border-pink-950 { border-color: var(--color-pink-950); }

.border-rose-50 { border-color: var(--color-rose-50); }

.border-rose-100 { border-color: var(--color-rose-100); }

.border-rose-200 { border-color: var(--color-rose-200); }

.border-rose-300 { border-color: var(--color-rose-300); }

.border-rose-400 { border-color: var(--color-rose-400); }

.border-rose-500 { border-color: var(--color-rose-500); }

.border-rose-600 { border-color: var(--color-rose-600); }

.border-rose-700 { border-color: var(--color-rose-700); }

.border-rose-800 { border-color: var(--color-rose-800); }

.border-rose-900 { border-color: var(--color-rose-900); }

.border-rose-950 { border-color: var(--color-rose-950); }

.border-slate-50 { border-color: var(--color-slate-50); }

.border-slate-100 { border-color: var(--color-slate-100); }

.border-slate-200 { border-color: var(--color-slate-200); }

.border-slate-300 { border-color: var(--color-slate-300); }

.border-slate-400 { border-color: var(--color-slate-400); }

.border-slate-500 { border-color: var(--color-slate-500); }

.border-slate-600 { border-color: var(--color-slate-600); }

.border-slate-700 { border-color: var(--color-slate-700); }

.border-slate-800 { border-color: var(--color-slate-800); }

.border-slate-900 { border-color: var(--color-slate-900); }

.border-slate-950 { border-color: var(--color-slate-950); }

.border-gray-50 { border-color: var(--color-gray-50); }

.border-gray-100 { border-color: var(--color-gray-100); }

.border-gray-200 { border-color: var(--color-gray-200); }

.border-gray-300 { border-color: var(--color-gray-300); }

.border-gray-400 { border-color: var(--color-gray-400); }

.border-gray-500 { border-color: var(--color-gray-500); }

.border-gray-600 { border-color: var(--color-gray-600); }

.border-gray-700 { border-color: var(--color-gray-700); }

.border-gray-800 { border-color: var(--color-gray-800); }

.border-gray-900 { border-color: var(--color-gray-900); }

.border-gray-950 { border-color: var(--color-gray-950); }

.border-natural-50 { border-color: var(--color-natural-50); }

.border-natural-100 { border-color: var(--color-natural-100); }

.border-natural-200 { border-color: var(--color-natural-200); }

.border-natural-300 { border-color: var(--color-natural-300); }

.border-natural-400 { border-color: var(--color-natural-400); }

.border-natural-500 { border-color: var(--color-natural-500); }

.border-natural-600 { border-color: var(--color-natural-600); }

.border-natural-700 { border-color: var(--color-natural-700); }

.border-natural-800 { border-color: var(--color-natural-800); }

.border-natural-900 { border-color: var(--color-natural-900); }

.border-natural-950 { border-color: var(--color-natural-950); }

.border-stone-50 { border-color: var(--color-stone-50); }

.border-stone-100 { border-color: var(--color-stone-100); }

.border-stone-200 { border-color: var(--color-stone-200); }

.border-stone-300 { border-color: var(--color-stone-300); }

.border-stone-400 { border-color: var(--color-stone-400); }

.border-stone-500 { border-color: var(--color-stone-500); }

.border-stone-600 { border-color: var(--color-stone-600); }

.border-stone-700 { border-color: var(--color-stone-700); }

.border-stone-800 { border-color: var(--color-stone-800); }

.border-stone-900 { border-color: var(--color-stone-900); }

.border-stone-950 { border-color: var(--color-stone-950); }

/*Text Colors*/

.text-red-50 { color: var(--color-red-50); }

.text-red-100 { color: var(--color-red-100); }

.text-red-200 { color: var(--color-red-200); }

.text-red-300 { color: var(--color-red-300); }

.text-red-400 { color: var(--color-red-400); }

.text-red-500 { color: var(--color-red-500); }

.text-red-600 { color: var(--color-red-600); }

.text-red-700 { color: var(--color-red-700); }

.text-red-800 { color: var(--color-red-800); }

.text-red-900 { color: var(--color-red-900); }

.text-red-950 { color: var(--color-red-950); }

.text-orange-50 { color: var(--color-orange-50); }

.text-orange-100 { color: var(--color-orange-100); }

.text-orange-200 { color: var(--color-orange-200); }

.text-orange-300 { color: var(--color-orange-300); }

.text-orange-400 { color: var(--color-orange-400); }

.text-orange-500 { color: var(--color-orange-500); }

.text-orange-600 { color: var(--color-orange-600); }

.text-orange-700 { color: var(--color-orange-700); }

.text-orange-800 { color: var(--color-orange-800); }

.text-orange-900 { color: var(--color-orange-900); }

.text-orange-950 { color: var(--color-orange-950); }

.text-amber-50 { color: var(--color-amber-50); }

.text-amber-100 { color: var(--color-amber-100); }

.text-amber-200 { color: var(--color-amber-200); }

.text-amber-300 { color: var(--color-amber-300); }

.text-amber-400 { color: var(--color-amber-400); }

.text-amber-500 { color: var(--color-amber-500); }

.text-amber-600 { color: var(--color-amber-600); }

.text-amber-700 { color: var(--color-amber-700); }

.text-amber-800 { color: var(--color-amber-800); }

.text-amber-900 { color: var(--color-amber-900); }

.text-amber-950 { color: var(--color-amber-950); }

.text-yellow-50 { color: var(--color-yellow-50); }

.text-yellow-100 { color: var(--color-yellow-100); }

.text-yellow-200 { color: var(--color-yellow-200); }

.text-yellow-300 { color: var(--color-yellow-300); }

.text-yellow-400 { color: var(--color-yellow-400); }

.text-yellow-500 { color: var(--color-yellow-500); }

.text-yellow-600 { color: var(--color-yellow-600); }

.text-yellow-700 { color: var(--color-yellow-700); }

.text-yellow-800 { color: var(--color-yellow-800); }

.text-yellow-900 { color: var(--color-yellow-900); }

.text-yellow-950 { color: var(--color-yellow-950); }

.text-lime-50 { color: var(--color-lime-50); }

.text-lime-100 { color: var(--color-lime-100); }

.text-lime-200 { color: var(--color-lime-200); }

.text-lime-300 { color: var(--color-lime-300); }

.text-lime-400 { color: var(--color-lime-400); }

.text-lime-500 { color: var(--color-lime-500); }

.text-lime-600 { color: var(--color-lime-600); }

.text-lime-700 { color: var(--color-lime-700); }

.text-lime-800 { color: var(--color-lime-800); }

.text-lime-900 { color: var(--color-lime-900); }

.text-lime-950 { color: var(--color-lime-950); }

.text-green-50 { color: var(--color-green-50); }

.text-green-100 { color: var(--color-green-100); }

.text-green-200 { color: var(--color-green-200); }

.text-green-300 { color: var(--color-green-300); }

.text-green-400 { color: var(--color-green-400); }

.text-green-500 { color: var(--color-green-500); }

.text-green-600 { color: var(--color-green-600); }

.text-green-700 { color: var(--color-green-700); }

.text-green-800 { color: var(--color-green-800); }

.text-green-900 { color: var(--color-green-900); }

.text-green-950 { color: var(--color-green-950); }

.text-emerald-50 { color: var(--color-emerald-50); }

.text-emerald-100 { color: var(--color-emerald-100); }

.text-emerald-200 { color: var(--color-emerald-200); }

.text-emerald-300 { color: var(--color-emerald-300); }

.text-emerald-400 { color: var(--color-emerald-400); }

.text-emerald-500 { color: var(--color-emerald-500); }

.text-emerald-600 { color: var(--color-emerald-600); }

.text-emerald-700 { color: var(--color-emerald-700); }

.text-emerald-800 { color: var(--color-emerald-800); }

.text-emerald-900 { color: var(--color-emerald-900); }

.text-emerald-950 { color: var(--color-emerald-950); }

.text-teal-50 { color: var(--color-teal-50); }

.text-teal-100 { color: var(--color-teal-100); }

.text-teal-200 { color: var(--color-teal-200); }

.text-teal-300 { color: var(--color-teal-300); }

.text-teal-400 { color: var(--color-teal-400); }

.text-teal-500 { color: var(--color-teal-500); }

.text-teal-600 { color: var(--color-teal-600); }

.text-teal-700 { color: var(--color-teal-700); }

.text-teal-800 { color: var(--color-teal-800); }

.text-teal-900 { color: var(--color-teal-900); }

.text-teal-950 { color: var(--color-teal-950); }

.text-cyan-50 { color: var(--color-cyan-50); }

.text-cyan-100 { color: var(--color-cyan-100); }

.text-cyan-200 { color: var(--color-cyan-200); }

.text-cyan-300 { color: var(--color-cyan-300); }

.text-cyan-400 { color: var(--color-cyan-400); }

.text-cyan-500 { color: var(--color-cyan-500); }

.text-cyan-600 { color: var(--color-cyan-600); }

.text-cyan-700 { color: var(--color-cyan-700); }

.text-cyan-800 { color: var(--color-cyan-800); }

.text-cyan-900 { color: var(--color-cyan-900); }

.text-cyan-950 { color: var(--color-cyan-950); }

.text-sky-50 { color: var(--color-sky-50); }

.text-sky-100 { color: var(--color-sky-100); }

.text-sky-200 { color: var(--color-sky-200); }

.text-sky-300 { color: var(--color-sky-300); }

.text-sky-400 { color: var(--color-sky-400); }

.text-sky-500 { color: var(--color-sky-500); }

.text-sky-600 { color: var(--color-sky-600); }

.text-sky-700 { color: var(--color-sky-700); }

.text-sky-800 { color: var(--color-sky-800); }

.text-sky-900 { color: var(--color-sky-900); }

.text-sky-950 { color: var(--color-sky-950); }

.text-blue-50 { color: var(--color-blue-50); }

.text-blue-100 { color: var(--color-blue-100); }

.text-blue-200 { color: var(--color-blue-200); }

.text-blue-300 { color: var(--color-blue-300); }

.text-blue-400 { color: var(--color-blue-400); }

.text-blue-500 { color: var(--color-blue-500); }

.text-blue-600 { color: var(--color-blue-600); }

.text-blue-700 { color: var(--color-blue-700); }

.text-blue-800 { color: var(--color-blue-800); }

.text-blue-900 { color: var(--color-blue-900); }

.text-blue-950 { color: var(--color-blue-950); }

.text-indigo-50 { color: var(--color-indigo-50); }

.text-indigo-100 { color: var(--color-indigo-100); }

.text-indigo-200 { color: var(--color-indigo-200); }

.text-indigo-300 { color: var(--color-indigo-300); }

.text-indigo-400 { color: var(--color-indigo-400); }

.text-indigo-500 { color: var(--color-indigo-500); }

.text-indigo-600 { color: var(--color-indigo-600); }

.text-indigo-700 { color: var(--color-indigo-700); }

.text-indigo-800 { color: var(--color-indigo-800); }

.text-indigo-900 { color: var(--color-indigo-900); }

.text-indigo-950 { color: var(--color-indigo-950); }

.text-violet-50 { color: var(--color-violet-50); }

.text-violet-100 { color: var(--color-violet-100); }

.text-violet-200 { color: var(--color-violet-200); }

.text-violet-300 { color: var(--color-violet-300); }

.text-violet-400 { color: var(--color-violet-400); }

.text-violet-500 { color: var(--color-violet-500); }

.text-violet-600 { color: var(--color-violet-600); }

.text-violet-700 { color: var(--color-violet-700); }

.text-violet-800 { color: var(--color-violet-800); }

.text-violet-900 { color: var(--color-violet-900); }

.text-violet-950 { color: var(--color-violet-950); }

.text-purple-50 { color: var(--color-purple-50); }

.text-purple-100 { color: var(--color-purple-100); }

.text-purple-200 { color: var(--color-purple-200); }

.text-purple-300 { color: var(--color-purple-300); }

.text-purple-400 { color: var(--color-purple-400); }

.text-purple-500 { color: var(--color-purple-500); }

.text-purple-600 { color: var(--color-purple-600); }

.text-purple-700 { color: var(--color-purple-700); }

.text-purple-800 { color: var(--color-purple-800); }

.text-purple-900 { color: var(--color-purple-900); }

.text-purple-950 { color: var(--color-purple-950); }

.text-fuchsia-50 { color: var(--color-fuchsia-50); }

.text-fuchsia-100 { color: var(--color-fuchsia-100); }

.text-fuchsia-200 { color: var(--color-fuchsia-200); }

.text-fuchsia-300 { color: var(--color-fuchsia-300); }

.text-fuchsia-400 { color: var(--color-fuchsia-400); }

.text-fuchsia-500 { color: var(--color-fuchsia-500); }

.text-fuchsia-600 { color: var(--color-fuchsia-600); }

.text-fuchsia-700 { color: var(--color-fuchsia-700); }

.text-fuchsia-800 { color: var(--color-fuchsia-800); }

.text-fuchsia-900 { color: var(--color-fuchsia-900); }

.text-fuchsia-950 { color: var(--color-fuchsia-950); }

.text-pink-50 { color: var(--color-pink-50); }

.text-pink-100 { color: var(--color-pink-100); }

.text-pink-200 { color: var(--color-pink-200); }

.text-pink-300 { color: var(--color-pink-300); }

.text-pink-400 { color: var(--color-pink-400); }

.text-pink-500 { color: var(--color-pink-500); }

.text-pink-600 { color: var(--color-pink-600); }

.text-pink-700 { color: var(--color-pink-700); }

.text-pink-800 { color: var(--color-pink-800); }

.text-pink-900 { color: var(--color-pink-900); }

.text-pink-950 { color: var(--color-pink-950); }

.text-rose-50 { color: var(--color-rose-50); }

.text-rose-100 { color: var(--color-rose-100); }

.text-rose-200 { color: var(--color-rose-200); }

.text-rose-300 { color: var(--color-rose-300); }

.text-rose-400 { color: var(--color-rose-400); }

.text-rose-500 { color: var(--color-rose-500); }

.text-rose-600 { color: var(--color-rose-600); }

.text-rose-700 { color: var(--color-rose-700); }

.text-rose-800 { color: var(--color-rose-800); }

.text-rose-900 { color: var(--color-rose-900); }

.text-rose-950 { color: var(--color-rose-950); }

.text-slate-50 { color: var(--color-slate-50); }

.text-slate-100 { color: var(--color-slate-100); }

.text-slate-200 { color: var(--color-slate-200); }

.text-slate-300 { color: var(--color-slate-300); }

.text-slate-400 { color: var(--color-slate-400); }

.text-slate-500 { color: var(--color-slate-500); }

.text-slate-600 { color: var(--color-slate-600); }

.text-slate-700 { color: var(--color-slate-700); }

.text-slate-800 { color: var(--color-slate-800); }

.text-slate-900 { color: var(--color-slate-900); }

.text-slate-950 { color: var(--color-slate-950); }

.text-gray-50 { color: var(--color-gray-50); }

.text-gray-100 { color: var(--color-gray-100); }

.text-gray-200 { color: var(--color-gray-200); }

.text-gray-300 { color: var(--color-gray-300); }

.text-gray-400 { color: var(--color-gray-400); }

.text-gray-500 { color: var(--color-gray-500); }

.text-gray-600 { color: var(--color-gray-600); }

.text-gray-700 { color: var(--color-gray-700); }

.text-gray-800 { color: var(--color-gray-800); }

.text-gray-900 { color: var(--color-gray-900); }

.text-gray-950 { color: var(--color-gray-950); }

.text-natural-50 { color: var(--color-natural-50); }

.text-natural-100 { color: var(--color-natural-100); }

.text-natural-200 { color: var(--color-natural-200); }

.text-natural-300 { color: var(--color-natural-300); }

.text-natural-400 { color: var(--color-natural-400); }

.text-natural-500 { color: var(--color-natural-500); }

.text-natural-600 { color: var(--color-natural-600); }

.text-natural-700 { color: var(--color-natural-700); }

.text-natural-800 { color: var(--color-natural-800); }

.text-natural-900 { color: var(--color-natural-900); }

.text-natural-950 { color: var(--color-natural-950); }

.text-stone-50 { color: var(--color-stone-50); }

.text-stone-100 { color: var(--color-stone-100); }

.text-stone-200 { color: var(--color-stone-200); }

.text-stone-300 { color: var(--color-stone-300); }

.text-stone-400 { color: var(--color-stone-400); }

.text-stone-500 { color: var(--color-stone-500); }

.text-stone-600 { color: var(--color-stone-600); }

.text-stone-700 { color: var(--color-stone-700); }

.text-stone-800 { color: var(--color-stone-800); }

.text-stone-900 { color: var(--color-stone-900); }

.text-stone-950 { color: var(--color-stone-950); }

/*Background Colors*/

.bg-red-50 { background-color: var(--color-red-50); }

.bg-red-100 { background-color: var(--color-red-100); }

.bg-red-200 { background-color: var(--color-red-200); }

.bg-red-300 { background-color: var(--color-red-300); }

.bg-red-400 { background-color: var(--color-red-400); }

.bg-red-500 { background-color: var(--color-red-500); }

.bg-red-600 { background-color: var(--color-red-600); }

.bg-red-700 { background-color: var(--color-red-700); }

.bg-red-800 { background-color: var(--color-red-800); }

.bg-red-900 { background-color: var(--color-red-900); }

.bg-red-950 { background-color: var(--color-red-950); }

.bg-orange-50 { background-color: var(--color-orange-50); }

.bg-orange-100 { background-color: var(--color-orange-100); }

.bg-orange-200 { background-color: var(--color-orange-200); }

.bg-orange-300 { background-color: var(--color-orange-300); }

.bg-orange-400 { background-color: var(--color-orange-400); }

.bg-orange-500 { background-color: var(--color-orange-500); }

.bg-orange-600 { background-color: var(--color-orange-600); }

.bg-orange-700 { background-color: var(--color-orange-700); }

.bg-orange-800 { background-color: var(--color-orange-800); }

.bg-orange-900 { background-color: var(--color-orange-900); }

.bg-orange-950 { background-color: var(--color-orange-950); }

.bg-amber-50 { background-color: var(--color-amber-50); }

.bg-amber-100 { background-color: var(--color-amber-100); }

.bg-amber-200 { background-color: var(--color-amber-200); }

.bg-amber-300 { background-color: var(--color-amber-300); }

.bg-amber-400 { background-color: var(--color-amber-400); }

.bg-amber-500 { background-color: var(--color-amber-500); }

.bg-amber-600 { background-color: var(--color-amber-600); }

.bg-amber-700 { background-color: var(--color-amber-700); }

.bg-amber-800 { background-color: var(--color-amber-800); }

.bg-amber-900 { background-color: var(--color-amber-900); }

.bg-amber-950 { background-color: var(--color-amber-950); }

.bg-yellow-50 { background-color: var(--color-yellow-50); }

.bg-yellow-100 { background-color: var(--color-yellow-100); }

.bg-yellow-200 { background-color: var(--color-yellow-200); }

.bg-yellow-300 { background-color: var(--color-yellow-300); }

.bg-yellow-400 { background-color: var(--color-yellow-400); }

.bg-yellow-500 { background-color: var(--color-yellow-500); }

.bg-yellow-600 { background-color: var(--color-yellow-600); }

.bg-yellow-700 { background-color: var(--color-yellow-700); }

.bg-yellow-800 { background-color: var(--color-yellow-800); }

.bg-yellow-900 { background-color: var(--color-yellow-900); }

.bg-yellow-950 { background-color: var(--color-yellow-950); }

.bg-lime-50 { background-color: var(--color-lime-50); }

.bg-lime-100 { background-color: var(--color-lime-100); }

.bg-lime-200 { background-color: var(--color-lime-200); }

.bg-lime-300 { background-color: var(--color-lime-300); }

.bg-lime-400 { background-color: var(--color-lime-400); }

.bg-lime-500 { background-color: var(--color-lime-500); }

.bg-lime-600 { background-color: var(--color-lime-600); }

.bg-lime-700 { background-color: var(--color-lime-700); }

.bg-lime-800 { background-color: var(--color-lime-800); }

.bg-lime-900 { background-color: var(--color-lime-900); }

.bg-lime-950 { background-color: var(--color-lime-950); }

.bg-green-50 { background-color: var(--color-green-50); }

.bg-green-100 { background-color: var(--color-green-100); }

.bg-green-200 { background-color: var(--color-green-200); }

.bg-green-300 { background-color: var(--color-green-300); }

.bg-green-400 { background-color: var(--color-green-400); }

.bg-green-500 { background-color: var(--color-green-500); }

.bg-green-600 { background-color: var(--color-green-600); }

.bg-green-700 { background-color: var(--color-green-700); }

.bg-green-800 { background-color: var(--color-green-800); }

.bg-green-900 { background-color: var(--color-green-900); }

.bg-green-950 { background-color: var(--color-green-950); }

.bg-emerald-50 { background-color: var(--color-emerald-50); }

.bg-emerald-100 { background-color: var(--color-emerald-100); }

.bg-emerald-200 { background-color: var(--color-emerald-200); }

.bg-emerald-300 { background-color: var(--color-emerald-300); }

.bg-emerald-400 { background-color: var(--color-emerald-400); }

.bg-emerald-500 { background-color: var(--color-emerald-500); }

.bg-emerald-600 { background-color: var(--color-emerald-600); }

.bg-emerald-700 { background-color: var(--color-emerald-700); }

.bg-emerald-800 { background-color: var(--color-emerald-800); }

.bg-emerald-900 { background-color: var(--color-emerald-900); }

.bg-emerald-950 { background-color: var(--color-emerald-950); }

.bg-teal-50 { background-color: var(--color-teal-50); }

.bg-teal-100 { background-color: var(--color-teal-100); }

.bg-teal-200 { background-color: var(--color-teal-200); }

.bg-teal-300 { background-color: var(--color-teal-300); }

.bg-teal-400 { background-color: var(--color-teal-400); }

.bg-teal-500 { background-color: var(--color-teal-500); }

.bg-teal-600 { background-color: var(--color-teal-600); }

.bg-teal-700 { background-color: var(--color-teal-700); }

.bg-teal-800 { background-color: var(--color-teal-800); }

.bg-teal-900 { background-color: var(--color-teal-900); }

.bg-teal-950 { background-color: var(--color-teal-950); }

.bg-cyan-50 { background-color: var(--color-cyan-50); }

.bg-cyan-100 { background-color: var(--color-cyan-100); }

.bg-cyan-200 { background-color: var(--color-cyan-200); }

.bg-cyan-300 { background-color: var(--color-cyan-300); }

.bg-cyan-400 { background-color: var(--color-cyan-400); }

.bg-cyan-500 { background-color: var(--color-cyan-500); }

.bg-cyan-600 { background-color: var(--color-cyan-600); }

.bg-cyan-700 { background-color: var(--color-cyan-700); }

.bg-cyan-800 { background-color: var(--color-cyan-800); }

.bg-cyan-900 { background-color: var(--color-cyan-900); }

.bg-cyan-950 { background-color: var(--color-cyan-950); }

.bg-sky-50 { background-color: var(--color-sky-50); }

.bg-sky-100 { background-color: var(--color-sky-100); }

.bg-sky-200 { background-color: var(--color-sky-200); }

.bg-sky-300 { background-color: var(--color-sky-300); }

.bg-sky-400 { background-color: var(--color-sky-400); }

.bg-sky-500 { background-color: var(--color-sky-500); }

.bg-sky-600 { background-color: var(--color-sky-600); }

.bg-sky-700 { background-color: var(--color-sky-700); }

.bg-sky-800 { background-color: var(--color-sky-800); }

.bg-sky-900 { background-color: var(--color-sky-900); }

.bg-sky-950 { background-color: var(--color-sky-950); }

.bg-blue-50 { background-color: var(--color-blue-50); }

.bg-blue-100 { background-color: var(--color-blue-100); }

.bg-blue-200 { background-color: var(--color-blue-200); }

.bg-blue-300 { background-color: var(--color-blue-300); }

.bg-blue-400 { background-color: var(--color-blue-400); }

.bg-blue-500 { background-color: var(--color-blue-500); }

.bg-blue-600 { background-color: var(--color-blue-600); }

.bg-blue-700 { background-color: var(--color-blue-700); }

.bg-blue-800 { background-color: var(--color-blue-800); }

.bg-blue-900 { background-color: var(--color-blue-900); }

.bg-blue-950 { background-color: var(--color-blue-950); }

.bg-indigo-50 { background-color: var(--color-indigo-50); }

.bg-indigo-100 { background-color: var(--color-indigo-100); }

.bg-indigo-200 { background-color: var(--color-indigo-200); }

.bg-indigo-300 { background-color: var(--color-indigo-300); }

.bg-indigo-400 { background-color: var(--color-indigo-400); }

.bg-indigo-500 { background-color: var(--color-indigo-500); }

.bg-indigo-600 { background-color: var(--color-indigo-600); }

.bg-indigo-700 { background-color: var(--color-indigo-700); }

.bg-indigo-800 { background-color: var(--color-indigo-800); }

.bg-indigo-900 { background-color: var(--color-indigo-900); }

.bg-indigo-950 { background-color: var(--color-indigo-950); }

.bg-violet-50 { background-color: var(--color-violet-50); }

.bg-violet-100 { background-color: var(--color-violet-100); }

.bg-violet-200 { background-color: var(--color-violet-200); }

.bg-violet-300 { background-color: var(--color-violet-300); }

.bg-violet-400 { background-color: var(--color-violet-400); }

.bg-violet-500 { background-color: var(--color-violet-500); }

.bg-violet-600 { background-color: var(--color-violet-600); }

.bg-violet-700 { background-color: var(--color-violet-700); }

.bg-violet-800 { background-color: var(--color-violet-800); }

.bg-violet-900 { background-color: var(--color-violet-900); }

.bg-violet-950 { background-color: var(--color-violet-950); }

.bg-purple-50 { background-color: var(--color-purple-50); }

.bg-purple-100 { background-color: var(--color-purple-100); }

.bg-purple-200 { background-color: var(--color-purple-200); }

.bg-purple-300 { background-color: var(--color-purple-300); }

.bg-purple-400 { background-color: var(--color-purple-400); }

.bg-purple-500 { background-color: var(--color-purple-500); }

.bg-purple-600 { background-color: var(--color-purple-600); }

.bg-purple-700 { background-color: var(--color-purple-700); }

.bg-purple-800 { background-color: var(--color-purple-800); }

.bg-purple-900 { background-color: var(--color-purple-900); }

.bg-purple-950 { background-color: var(--color-purple-950); }

.bg-fuchsia-50 { background-color: var(--color-fuchsia-50); }

.bg-fuchsia-100 { background-color: var(--color-fuchsia-100); }

.bg-fuchsia-200 { background-color: var(--color-fuchsia-200); }

.bg-fuchsia-300 { background-color: var(--color-fuchsia-300); }

.bg-fuchsia-400 { background-color: var(--color-fuchsia-400); }

.bg-fuchsia-500 { background-color: var(--color-fuchsia-500); }

.bg-fuchsia-600 { background-color: var(--color-fuchsia-600); }

.bg-fuchsia-700 { background-color: var(--color-fuchsia-700); }

.bg-fuchsia-800 { background-color: var(--color-fuchsia-800); }

.bg-fuchsia-900 { background-color: var(--color-fuchsia-900); }

.bg-fuchsia-950 { background-color: var(--color-fuchsia-950); }

.bg-pink-50 { background-color: var(--color-pink-50); }

.bg-pink-100 { background-color: var(--color-pink-100); }

.bg-pink-200 { background-color: var(--color-pink-200); }

.bg-pink-300 { background-color: var(--color-pink-300); }

.bg-pink-400 { background-color: var(--color-pink-400); }

.bg-pink-500 { background-color: var(--color-pink-500); }

.bg-pink-600 { background-color: var(--color-pink-600); }

.bg-pink-700 { background-color: var(--color-pink-700); }

.bg-pink-800 { background-color: var(--color-pink-800); }

.bg-pink-900 { background-color: var(--color-pink-900); }

.bg-pink-950 { background-color: var(--color-pink-950); }

.bg-rose-50 { background-color: var(--color-rose-50); }

.bg-rose-100 { background-color: var(--color-rose-100); }

.bg-rose-200 { background-color: var(--color-rose-200); }

.bg-rose-300 { background-color: var(--color-rose-300); }

.bg-rose-400 { background-color: var(--color-rose-400); }

.bg-rose-500 { background-color: var(--color-rose-500); }

.bg-rose-600 { background-color: var(--color-rose-600); }

.bg-rose-700 { background-color: var(--color-rose-700); }

.bg-rose-800 { background-color: var(--color-rose-800); }

.bg-rose-900 { background-color: var(--color-rose-900); }

.bg-rose-950 { background-color: var(--color-rose-950); }

.bg-slate-50 { background-color: var(--color-slate-50); }

.bg-slate-100 { background-color: var(--color-slate-100); }

.bg-slate-200 { background-color: var(--color-slate-200); }

.bg-slate-300 { background-color: var(--color-slate-300); }

.bg-slate-400 { background-color: var(--color-slate-400); }

.bg-slate-500 { background-color: var(--color-slate-500); }

.bg-slate-600 { background-color: var(--color-slate-600); }

.bg-slate-700 { background-color: var(--color-slate-700); }

.bg-slate-800 { background-color: var(--color-slate-800); }

.bg-slate-900 { background-color: var(--color-slate-900); }

.bg-slate-950 { background-color: var(--color-slate-950); }

.bg-gray-50 { background-color: var(--color-gray-50); }

.bg-gray-100 { background-color: var(--color-gray-100); }

.bg-gray-200 { background-color: var(--color-gray-200); }

.bg-gray-300 { background-color: var(--color-gray-300); }

.bg-gray-400 { background-color: var(--color-gray-400); }

.bg-gray-500 { background-color: var(--color-gray-500); }

.bg-gray-600 { background-color: var(--color-gray-600); }

.bg-gray-700 { background-color: var(--color-gray-700); }

.bg-gray-800 { background-color: var(--color-gray-800); }

.bg-gray-900 { background-color: var(--color-gray-900); }

.bg-gray-950 { background-color: var(--color-gray-950); }

.bg-natural-50 { background-color: var(--color-natural-50); }

.bg-natural-100 { background-color: var(--color-natural-100); }

.bg-natural-200 { background-color: var(--color-natural-200); }

.bg-natural-300 { background-color: var(--color-natural-300); }

.bg-natural-400 { background-color: var(--color-natural-400); }

.bg-natural-500 { background-color: var(--color-natural-500); }

.bg-natural-600 { background-color: var(--color-natural-600); }

.bg-natural-700 { background-color: var(--color-natural-700); }

.bg-natural-800 { background-color: var(--color-natural-800); }

.bg-natural-900 { background-color: var(--color-natural-900); }

.bg-natural-950 { background-color: var(--color-natural-950); }

.bg-stone-50 { background-color: var(--color-stone-50); }

.bg-stone-100 { background-color: var(--color-stone-100); }

.bg-stone-200 { background-color: var(--color-stone-200); }

.bg-stone-300 { background-color: var(--color-stone-300); }

.bg-stone-400 { background-color: var(--color-stone-400); }

.bg-stone-500 { background-color: var(--color-stone-500); }

.bg-stone-600 { background-color: var(--color-stone-600); }

.bg-stone-700 { background-color: var(--color-stone-700); }

.bg-stone-800 { background-color: var(--color-stone-800); }

.bg-stone-900 { background-color: var(--color-stone-900); }

.bg-stone-950 { background-color: var(--color-stone-950); }

/* Tailwind base imports */

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(47 111 228 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::-ms-backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(47 111 228 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(47 111 228 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #dee1e6; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
  tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  -webkit-font-feature-settings: inherit;
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  opacity: 1; /* 1 */
  color: #9196a4; /* 2 */
}

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9196a4; /* 2 */
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  opacity: 1; /* 1 */
  color: #9196a4; /* 2 */
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
  opacity: 1; /* 1 */
  color: #9196a4; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9196a4; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

input:where([type='text']),input:where(:not([type])),input:where([type='email']),input:where([type='url']),input:where([type='password']),input:where([type='number']),input:where([type='date']),input:where([type='datetime-local']),input:where([type='month']),input:where([type='search']),input:where([type='tel']),input:where([type='time']),input:where([type='week']),select:where([multiple]),textarea,select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  border-color: #5c5f6b;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}

input:where([type='text']):focus, input:where(:not([type])):focus, input:where([type='email']):focus, input:where([type='url']):focus, input:where([type='password']):focus, input:where([type='number']):focus, input:where([type='date']):focus, input:where([type='datetime-local']):focus, input:where([type='month']):focus, input:where([type='search']):focus, input:where([type='tel']):focus, input:where([type='time']):focus, input:where([type='week']):focus, select:where([multiple]):focus, textarea:focus, select:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2058c1;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-color: #2058c1;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #5c5f6b;
  opacity: 1;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #5c5f6b;
  opacity: 1;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #5c5f6b;
  opacity: 1;
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
  color: #5c5f6b;
  opacity: 1;
}

input::placeholder,textarea::placeholder {
  color: #5c5f6b;
  opacity: 1;
}

::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

::-webkit-date-and-time-value {
  min-height: 1.5em;
  text-align: inherit;
}

::-webkit-datetime-edit {
  display: -webkit-inline-box;
  display: inline-flex;
}

::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field {
  padding-top: 0;
  padding-bottom: 0;
}

select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%235c5f6b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

select:where([multiple]),select:where([size]:not([size="1"])) {
  background-image: initial;
  background-position: initial;
  background-repeat: unset;
  background-size: initial;
  padding-right: 0.75rem;
  -webkit-print-color-adjust: unset;
  print-color-adjust: unset;
}

input:where([type='checkbox']),input:where([type='radio']) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  display: inline-block;
  vertical-align: middle;
  background-origin: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  height: 1rem;
  width: 1rem;
  color: #2058c1;
  background-color: #fff;
  border-color: #5c5f6b;
  border-width: 1px;
  --tw-shadow: 0 0 #0000;
}

input:where([type='checkbox']) {
  border-radius: 0px;
}

input:where([type='radio']) {
  border-radius: 100%;
}

input:where([type='checkbox']):focus,input:where([type='radio']):focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 2px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2058c1;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

input:where([type='checkbox']):checked,input:where([type='radio']):checked {
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

input:where([type='checkbox']):checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}

@media (forced-colors: active)  {

  input:where([type='checkbox']):checked {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
  }
}

input:where([type='radio']):checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
}

@media (forced-colors: active)  {

  input:where([type='radio']):checked {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
  }
}

input:where([type='checkbox']):checked:hover,input:where([type='checkbox']):checked:focus,input:where([type='radio']):checked:hover,input:where([type='radio']):checked:focus {
  border-color: transparent;
  background-color: currentColor;
}

input:where([type='checkbox']):indeterminate {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

@media (forced-colors: active)  {

  input:where([type='checkbox']):indeterminate {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
  }
}

input:where([type='checkbox']):indeterminate:hover,input:where([type='checkbox']):indeterminate:focus {
  border-color: transparent;
  background-color: currentColor;
}

input:where([type='file']) {
  background: unset;
  border-color: inherit;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-size: unset;
  line-height: inherit;
}

input:where([type='file']):focus {
  outline: 1px solid ButtonText;
  outline: 1px auto -webkit-focus-ring-color;
}

* {
  scrollbar-color: initial;
  scrollbar-width: initial;
}

.\!container {
  width: 100% !important;
}

.container {
  width: 100%;
}

@media (min-width: 640px) {

  .\!container {
    max-width: 640px !important;
  }

  .container {
    max-width: 640px;
  }
}

@media (min-width: 768px) {

  .\!container {
    max-width: 768px !important;
  }

  .container {
    max-width: 768px;
  }
}

@media (min-width: 1024px) {

  .\!container {
    max-width: 1024px !important;
  }

  .container {
    max-width: 1024px;
  }
}

@media (min-width: 1280px) {

  .\!container {
    max-width: 1280px !important;
  }

  .container {
    max-width: 1280px;
  }
}

@media (min-width: 1536px) {

  .\!container {
    max-width: 1536px !important;
  }

  .container {
    max-width: 1536px;
  }
}

.form-input,.form-textarea,.form-select,.form-multiselect {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  border-color: #5c5f6b;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}

.form-input:focus, .form-textarea:focus, .form-select:focus, .form-multiselect:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2058c1;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-color: #2058c1;
}

.form-input::-webkit-input-placeholder, .form-textarea::-webkit-input-placeholder {
  color: #5c5f6b;
  opacity: 1;
}

.form-input::-moz-placeholder, .form-textarea::-moz-placeholder {
  color: #5c5f6b;
  opacity: 1;
}

.form-input:-ms-input-placeholder, .form-textarea:-ms-input-placeholder {
  color: #5c5f6b;
  opacity: 1;
}

.form-input::-ms-input-placeholder, .form-textarea::-ms-input-placeholder {
  color: #5c5f6b;
  opacity: 1;
}

.form-input::placeholder,.form-textarea::placeholder {
  color: #5c5f6b;
  opacity: 1;
}

.form-input::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

.form-input::-webkit-date-and-time-value {
  min-height: 1.5em;
  text-align: inherit;
}

.form-input::-webkit-datetime-edit {
  display: -webkit-inline-box;
  display: inline-flex;
}

.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-year-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-second-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-meridiem-field {
  padding-top: 0;
  padding-bottom: 0;
}

.form-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%235c5f6b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.form-select:where([size]:not([size="1"])) {
  background-image: initial;
  background-position: initial;
  background-repeat: unset;
  background-size: initial;
  padding-right: 0.75rem;
  -webkit-print-color-adjust: unset;
  print-color-adjust: unset;
}

.form-checkbox,.form-radio {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  display: inline-block;
  vertical-align: middle;
  background-origin: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  height: 1rem;
  width: 1rem;
  color: #2058c1;
  background-color: #fff;
  border-color: #5c5f6b;
  border-width: 1px;
  --tw-shadow: 0 0 #0000;
}

.form-checkbox {
  border-radius: 0px;
}

.form-checkbox:focus,.form-radio:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 2px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2058c1;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

.form-checkbox:checked,.form-radio:checked {
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

.form-checkbox:checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}

@media (forced-colors: active)  {

  .form-checkbox:checked {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
  }
}

.form-checkbox:checked:hover,.form-checkbox:checked:focus,.form-radio:checked:hover,.form-radio:checked:focus {
  border-color: transparent;
  background-color: currentColor;
}

.form-checkbox:indeterminate {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

@media (forced-colors: active)  {

  .form-checkbox:indeterminate {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
  }
}

.form-checkbox:indeterminate:hover,.form-checkbox:indeterminate:focus {
  border-color: transparent;
  background-color: currentColor;
}

.form-input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  font-size: [object Object];
  line-height: 1.5;
}

.form-input::-webkit-input-placeholder {
  color: #6b7280;
  opacity: 1;
}

.form-input::-moz-placeholder {
  color: #6b7280;
  opacity: 1;
}

.form-input:-ms-input-placeholder {
  color: #6b7280;
  opacity: 1;
}

.form-input::-ms-input-placeholder {
  color: #6b7280;
  opacity: 1;
}

.form-input::placeholder {
  color: #6b7280;
  opacity: 1;
}

.form-input:focus {
  outline: none;
  border-color: #60a5fa;
}

.form-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236b7280'%3e%3cpath d='M15.3 9.3a1 1 0 0 1 1.4 1.4l-4 4a1 1 0 0 1-1.4 0l-4-4a1 1 0 0 1 1.4-1.4l3.3 3.29 3.3-3.3z'/%3e%3c/svg%3e");
}

.form-select::-ms-expand {
  color: #6b7280;
  border: none;
}

@media not print {

  .form-select::-ms-expand {
    display: none;
  }
}

@media print and (-ms-high-contrast: active), print and (-ms-high-contrast: none) {

  .form-select {
    padding-right: 0.75rem;
  }
}

.form-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-print-color-adjust: exact;
  color-adjust: exact;
  background-repeat: no-repeat;
  background-color: #fff;
  padding-top: 0.5rem;
  padding-right: 2.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  font-size: [object Object];
  line-height: 1.5;
  background-position: right 0.5rem center;
  background-size: 1.5em 1.5em;
}

.form-select:focus {
  outline: none;
  border-color: #60a5fa;
}

.form-checkbox:checked {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3e%3c/svg%3e");
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

@media not print {

  .form-checkbox::-ms-check {
    color: transparent;
    background: inherit;
    border-color: inherit;
    border-radius: inherit;
  }
}

.form-checkbox {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-print-color-adjust: exact;
  color-adjust: exact;
  display: inline-block;
  vertical-align: middle;
  background-origin: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  height: 1em;
  width: 1em;
  color: #3b82f6;
  background-color: #fff;
}

.form-checkbox:focus {
  outline: none;
  border-color: #60a5fa;
}

::-moz-selection {
  padding: 0.5rem;
  background-color: var(--bg-selection);
  color: var(--text-selection);
}

::selection {
  padding: 0.5rem;
  background-color: var(--bg-selection);
  color: var(--text-selection);
}

a {
  display: block;
}

/*CUSTOM COMPONENTS*/

.autoprefixer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#isDark:checked ~ label span.toggle-dot {
  --tw-translate-x: 1rem;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* ==========================================================================
   Z-INDEX SCALE
   ========================================================================== */

:root {
  --z-base: 0;
  --z-sticky: 10;
  --z-filter: 20;
  --z-dropdown: 30;
  --z-sidebar-edge: 40;
  --z-tray: 50;
  --z-sidebar-panel: 60;
  --z-modal: 70;
  --z-modal-overlay: 80;
  --z-modal-dialog: 90;
  --z-modal-content: 100;
  --z-toast: 1080;
  --z-lightbox: 1090;
  --z-command: 9999;
}

/* ==========================================================================
   LAYOUT TOKENS
   ========================================================================== */

:root {
  --width-sidebar-default: 240px;
  --width-filter-sidebar: 280px;
  --height-chrome: 51px;
  --split-min-size: 120px;
  --split-divider-width: 1px;
  --split-divider-width-active: 2px;
  --split-mini-rail-width: 36px;
  --transition-layout: 260ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-panel: 200ms ease;
}

/* ==========================================================================
   APP SHELL + FRAME
   ========================================================================== */

/* App: sidebar + workspace */

.app-shell {
  display: grid;
  height: 100vh;
  width: 100vw;
  grid-template-columns: auto minmax(0, 1fr);
}

/* No sidebar present — single-column full width */

.app-shell:not(:has(.app-sidebar)) {
  grid-template-columns: minmax(0, 1fr);
}

.app-sidebar {
  height: 100%;
}

/* Workspace: chrome + frame */

.app-workspace {
  display: grid;
  height: 100%;
  min-height: 0px;
  min-width: 0px;
  grid-template-rows: auto minmax(0, 1fr);
}

/* Top chrome (topbar + tabbar) */

.app-chrome {
  min-width: 0px;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
}

/* Hero chrome — no height constraint (landing pages with hero imagery) */

.app-chrome--hero {
  height: auto;
}

/* Your existing TopBarContainer can just use these */

.topbar {
  position: relative;
  display: grid;
  min-width: 0px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 12px 16px;
}

.topbar-left {
  grid-column: span 6 / span 6;
  min-width: 0px;
}

.topbar-right {
  grid-column: span 6 / span 6;
  min-width: 0px;
}

.topbar-right > * {
  margin-left: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 0.25rem;
  -moz-column-gap: 0.25rem;
  column-gap: 0.25rem;
}

/* Frame: rails around a main canvas */

.app-frame {
  position: relative;
  display: grid;
  height: 100%;
  min-height: 0px;
  min-width: 0px;
  overflow: hidden;
  border-top-width: 1px;
  border-color: var(--border-divider);
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

/* Rail base */

.frame-rail {
  min-height: 0px;
  min-width: 0px;
}

/* Placement */

.rail-top {
  grid-column: span 3 / span 3;
  grid-row: 1;
}

.rail-left {
  grid-column: 1;
  grid-row: 2;
}

.rail-right {
  grid-column: 3;
  grid-row: 2;
}

.rail-bottom {
  grid-column: span 3 / span 3;
  grid-row: 3;
}

/* Canvas and stage (main content viewport) */

.frame-canvas {
  min-height: 0px;
  min-width: 0px;
  grid-column: 2;
  grid-row: 2;
}

/* Single scroll container for the “page” inside the canvas */

.frame-stage {
  height: 100%;
  min-height: 0px;
  width: 100%;
  min-width: 0px;
}

/* Hide rails that have no child elements (whitespace-safe — works even when Razor leaves text nodes) */

.frame-rail:not(:has(*)) {
  display: none;
}

/* ==========================================================================
   PAGE + CONTAINER + PANEL PRIMITIVES
   (These are used inside .frame-stage / @RenderBody())
   ========================================================================== */

/* Page root inside frame-stage */

.container-page {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  width: 100%;
  min-width: 0px;
  overflow: hidden;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.collapse.show.container-page {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .container-page {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* 12-col view canvas */

.container-wrapper {
  display: grid;
  height: 100%;
  min-height: 0px;
  width: 100%;
  min-width: 0px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0px;
  overflow: hidden;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

/* Optional helper if you sometimes use non-grid views */

.container-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  width: 100%;
  min-width: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.container-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .container-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* Panel slot (put col-span-* on this element) */

.container-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  min-width: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.container-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .container-panel {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* Panel regions */

.panel-header {
  min-width: 0px;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
}

.panel-footer {
  min-width: 0px;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
}

/* Recommended: ONE scroll container per panel */

.panel-body {
  height: 100%;
  min-height: 0px;
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow: hidden;
}

.menu--collapsed .menu-link .panel-body {
      display: none;
    }

/* Content wrapper INSIDE body (non-scrolling by default)
   Use it for padding, stacks, etc. */

.panel-content {
  height: 100%;
  min-height: 0px;
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow-x: auto;
  overflow-y: auto;
}

.menu--collapsed .menu-link .panel-content {
      display: none;
    }

/* If you truly need nested scrolling:
   - add .panel-body--no-scroll on the body
   - add .panel-content--scroll on the content
*/

.panel-body--no-scroll {
  overflow: hidden;
}

.panel-content--scroll {
  min-height: 0px;
  overflow-y: auto;
  overflow-x: hidden;
}

.scrollbar.panel-content--scroll {
  overflow-x: hidden;
}

.scrollbar-thin.panel-content--scroll {
  overflow-x: hidden;
}

/* Tabs region wrapper */

.panel-tab-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  width: 100%;
  min-width: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.panel-tab-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .panel-tab-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* Footer pager */

.panel-pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-top-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.panel-pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .panel-pager {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.panel-pager {
  border-color: var(--border-secondary);
}

/* ==========================================================================
   SCROLLBAR (SCOPED)
   Add class="scroll-area" to any element that scrolls.
   ========================================================================== */

.scroll-area {
  --scrollbar-track: initial;
  --scrollbar-thumb: initial;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
  overflow: overlay;
}

.scroll-area.overflow-x-hidden {
  overflow-x: hidden;
}

.scroll-area.overflow-y-hidden {
  overflow-y: hidden;
}

.scroll-area::-webkit-scrollbar-track {
  background-color: var(--scrollbar-track);
}

.scroll-area::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb);
}

.scroll-area {
  scrollbar-width: thin;
}

.scroll-area::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.scroll-area {
  scrollbar-color: var(--scroll-thumb) var(--scroll-track); /* Firefox */
}

.scroll-area::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }

.scroll-area::-webkit-scrollbar-track {
    background-color: var(--scroll-track);
  }

.scroll-area::-webkit-scrollbar-thumb {
    background-color: var(--scroll-thumb);
    border-radius: 10px;
  }

.scroll-area::-webkit-scrollbar-thumb:hover {
      background-color: var(--scroll-thumb);
    }

.sidebar-edge-hitbox {
  width: 20px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 200ms;
  transition-duration: 200ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.sidebar-edge-hitbox:hover {
  width: 20px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 200ms;
  transition-duration: 200ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

/* ==========================================================================
   OPTIONAL GLOBAL SCROLLBAR
   If you keep this, you usually don't need per-element scrollbar rules.
   I recommend keeping ONLY one of: (scoped .scroll-area) OR (global rules).
   ========================================================================== */

::-webkit-scrollbar { width: 8px; height: 8px; }

::-webkit-scrollbar-track { background-color: var(--scroll-track); }

::-webkit-scrollbar-thumb { background-color: var(--scroll-thumb); border-radius: 10px; }

::-webkit-scrollbar-thumb:hover { background-color: var(--scroll-thumb); }

* {
  scrollbar-width: thin;
  scrollbar-color: var(--scroll-thumb) var(--scroll-track);
}

/* ==========================================================================
   PAGE TEMPLATE CLASSES
   Standardised page shells to reduce nesting and boilerplate.
   Use inside @RenderBody() / .frame-stage.
   ========================================================================== */

/* Standard list page: header + toolbar + scrollable table + pager */

.page-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  min-width: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.page-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .page-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.page-list {
  background-color: var(--bg-panel);
}

/* Detail page: header + scrollable content body */

.page-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  min-width: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.page-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .page-detail {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.page-detail {
  background-color: var(--bg-panel);
}

/* Form page: header + scrollable form + sticky footer */

.page-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  min-width: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.page-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .page-form {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.page-form {
  background-color: var(--bg-panel);
}

/* Dashboard page: header + scrollable widget grid */

.page-dashboard {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  min-width: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.page-dashboard {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .page-dashboard {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.page-dashboard {
  background-color: var(--bg-panel);
}

/* Page with filter sidebar alongside main content */

.page-filtered {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  min-width: 0px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  overflow: hidden;
}

.collapse.show.page-filtered {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .page-filtered {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* Allow the main content area to grow and fill remaining space */

.page-filtered > :not(.filter-sidebar) {
  min-height: 0px;
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .page-filtered > :not(.filter-sidebar) {
      display: none;
    }

/* ==========================================================================
   SCROLL UTILITIES
   Short helpers for scroll containers.
   ========================================================================== */

.scroll-y {
  min-height: 0px;
  overflow-y: auto;
  overflow-x: hidden;
}

.scrollbar.scroll-y {
  overflow-x: hidden;
}

.scrollbar-thin.scroll-y {
  overflow-x: hidden;
}

.scroll-x {
  min-width: 0px;
  overflow-x: auto;
  overflow-y: hidden;
}

.scrollbar.scroll-x {
  overflow-y: hidden;
}

.scrollbar-thin.scroll-x {
  overflow-y: hidden;
}

.scroll-both {
  min-height: 0px;
  min-width: 0px;
  overflow: auto;
}

/* ==========================================================================
   PIN UTILITIES
   ========================================================================== */

.pin-top {
  position: sticky;
  top: 0px;
  z-index: var(--z-sticky);
}

.pin-bottom {
  position: sticky;
  bottom: 0px;
  z-index: var(--z-sticky);
}

/* ==========================================================================
   RESPONSIVE SHELL RULES
   Adapt the shell layout at different viewport sizes.
   The responsive.js module sets data-breakpoint on .app-shell.
   ========================================================================== */

/* ── Mobile: < 640px ────────────────────────────────────────────────────── */

@media (max-width: 639px) {
  /* Collapse the sidebar column entirely */
  .app-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .app-sidebar {
    display: none;
  }

  .sidebar-edge-hitbox {
    display: none;
  }

  /* Hide frame rails on mobile */
  .frame-rail {
    display: none !important;
  }

  /* Stack split panes vertically */
  .split-pane--vertical {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .split-pane--vertical > .split-pane__divider {
    width: auto;
    height: var(--split-divider-width, 1px);
    cursor: row-resize;
  }

  .split-pane--vertical > .split-pane__divider::after {
    left: 0;
    right: 0;
    top: -3px;
    bottom: -3px;
  }

  /* Full-width topbar */
  .topbar {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}

/* ── Tablet: 640–1023px ─────────────────────────────────────────────────── */

@media (min-width: 640px) and (max-width: 1023px) {
  /* Prevent sidebar from being pinned — overlay only */
  .app-shell[data-sidebar-state="pinned"] .app-sidebar {
    width: 0;
  }

  .app-shell[data-sidebar-state="pinned"] .sidebar-panel {
    position: fixed;
    top: 0px;
    left: 0px;
    height: 100vh;
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
    z-index: var(--z-sidebar-panel, 60);
  }
   
  /* Show the toggle button even when "pinned" on tablet */
  .app-shell[data-sidebar-state="pinned"] [data-sidebar-role="toggle"] {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
}

/* =========================================================
   Typography: Enodia role classes + modifiers
   - Roles describe *what it is* (page-title, label, caption)
   - Modifiers describe *how it behaves* (is-muted, is-semibold)
   ========================================================= */

/* ---------- Optional: mono utility ---------- */

/* Prefer ONE mono class with optional modifiers, instead of 4 separate classes */

.font-mono {
  font-family: "Space Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* ---------- Element defaults (map semantic tags to roles) ---------- */

h1 {
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 300;
  letter-spacing: -0.025em;
  color: var(--text-primary-solid);
}

h2 {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 300;
  letter-spacing: -0.025em;
  color: var(--text-primary);
}

h3 {
  font-size: 1.125rem;
  line-height: 2rem;
  font-weight: 300;
  letter-spacing: -0.025em;
  color: var(--text-primary-alt);
}

h4 {
  font-size: 1.125rem;
  line-height: 2rem;
  font-weight: 300;
  letter-spacing: -0.025em;
  color: var(--text-primary);
}

h5 {
  font-size: 0.875rem;
  line-height: 1.5rem;
  font-weight: 400;
  color: var(--text-secondary-alt);
}

h6 {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait h6 {
  line-height: 1.3;
}

h6 {
  color: var(--text-secondary-alt);
}

/* ---------- Roles ---------- */

/* Page */

.page-title {
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 300;
  letter-spacing: -0.025em;
  color: var(--text-primary-solid);
}

.page-subtitle {
  font-size: 1.125rem;
  line-height: 2rem;
  font-weight: 300;
  color: var(--text-secondary);
}

/* Section */

.panel-title {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 300;
  letter-spacing: -0.025em;
  color: var(--text-primary);
}

/* Panels / containers */

.section-title {
  font-size: 1.125rem;
  line-height: 2rem;
  font-weight: 300;
  letter-spacing: -0.025em;
  color: var(--text-primary-alt);
}

.section-subtitle {
  font-size: 1.125rem;
  line-height: 2rem;
  font-weight: 300;
  letter-spacing: -0.025em;
  color: var(--text-secondary);
}

.modal-title,
.drawer-title {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 300;
  color: var(--text-primary);
}

/* General titles (when you *don’t* want a heading tag) */

.title {
  font-size: 1.125rem;
  line-height: 2rem;
  font-weight: 300;
  letter-spacing: -0.025em;
  color: var(--text-primary);
}

.subtitle {
  font-size: 0.875rem;
  line-height: 1.5rem;
  font-weight: 400;
  color: var(--text-secondary-alt);
}

/* Body */

.body {
  font-size: 0.875rem;
  line-height: 1.5rem;
  font-weight: 400;
  color: var(--text-primary);
}

.body-sm {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
}

.wizard-card--trait .body-sm {
  line-height: 1.3;
}

.body-sm {
  color: var(--text-primary);
}

/* Labels / captions */

.label {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .label {
  line-height: 1.3;
}

.label {
  color: var(--text-secondary-alt);
}

.hint {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 400;
  color: var(--text-tertiary-alt);
}

.caption {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
}

.wizard-card--trait .caption {
  line-height: 1.3;
}

.caption {
  color: var(--text-tertiary);
}

.caption-sm {
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 400;
  color: var(--text-tertiary);
}

.overline {
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--text-tertiary-alt);
}

/* ---------- Modifiers ---------- */

/* Weight */

.text-regular {
  font-weight: 400;
}

.text-medium {
  font-weight: 500;
}

.text-semibold {
  font-weight: 600;
}

.text-bold {
  font-weight: 700;
}

.text-black {
  font-weight: 900;
}

/* Tone */

.text-primary {
  color: var(--text-primary) !important;
}

.text-secondary {
  color: var(--text-secondary) !important;
}

.text-muted {
  color: var(--text-tertiary) !important;
}

.text-disabled {
  color: var(--text-disabled) !important;
}

/* Status */

.text-danger {
  color: var(--text-danger) !important;
}

.text-warning {
  color: var(--text-warning) !important;
}

.text-success {
  color: var(--text-success) !important;
}

.text-info {
  color: var(--text-info) !important;
}

.text-purple {
  color: var(--text-purple) !important;
}

.text-indigo {
  color: var(--text-indigo) !important;
}

.text-teal {
  color: var(--text-teal) !important;
}

.text-pink {
  color: var(--text-pink) !important;
}

.text-mint {
  color: var(--text-mint) !important;
}

/* Behavior */

.text-truncate {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.text-clamp-1 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.text-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.text-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.text-numeric {
  font-variant-numeric: tabular-nums;
}

/* ---------- Background helpers (keep if you truly need them) ---------- */

/* If you can, prefer Tailwind bg utilities wired to tokens, but this is fine */

.bg-neutral {
  background-color: var(--bg-gray) !important;
}

.bg-success {
  background-color: var(--bg-success) !important;
}

.bg-warning {
  background-color: var(--bg-warning) !important;
}

.bg-danger {
  background-color: var(--bg-danger) !important;
}

.bg-info {
  background-color: var(--bg-info) !important;
}

.bg-purple {
  background-color: var(--bg-purple) !important;
}

.bg-indigo {
  background-color: var(--bg-indigo) !important;
}

.bg-teal {
  background-color: var(--bg-teal) !important;
}

.bg-pink {
  background-color: var(--bg-pink) !important;
}

/* Enodia Anim — CSS Helpers (v1.7)
   - Layout-safe defaults for [data-anim]
   - Letter splitting (intro-title)
   - Optional bleed/mask wrappers (legacy-safe)
   - Odometer reels, Split-flap ticker, Text-scramble
   - Prefers-reduced-motion hardening
*/

/* ========== Root tokens (tweak as needed) ========== */

:root {
  --bleed: 3px; /* anti-clip wrapper padding */
  --eno-blur: 3px; /* default blur */
  --eno-odometer-gap: 0.02em; /* space between digit reels */
  --eno-slot-gap: 0.03em; /* space between ticker/scramble slots */
  --eno-slot-width: 1ch; /* width of one slot (approx one glyph) */
  --eno-slot-radius: 2px; /* ticker slot rounding (if you want bg) */
  --eno-slot-bg: transparent; /* ticker slot background */
  --eno-ticker-persp: 700px; /* depth for split-flap flip feel */
}

/* ========== Base animation helper ========== */

[data-anim] {
  visibility: hidden; /* prevent FOUC */
  will-change: transform, opacity, filter, clip-path;
}

/* Inline letter splitting (intro-title) */

.wd {
  white-space: nowrap;
}

.ch {
  display: inline-block;
}

/* Optional wrappers for anti-clip effects (kept for compatibility) */

.mask-wrap .mask,
.filter-bleed {
  padding: var(--bleed) .06em; /* expands inner paint box */
  margin: calc(var(--bleed) * -1) -.06em; /* cancels outer shift */
  will-change: clip-path, opacity, transform, filter;
}

/* Utility: fixed-width numerals where supported */

.eno-fixednums {
  font-variant-numeric: tabular-nums lining-nums;
  -webkit-font-feature-settings: "tnum" 1, "lnum" 1;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

/* ========== Odometer (numeric counter) ========== */

.eno-odometer {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  gap: var(--eno-odometer-gap);
  line-height: 1;
  font-variant-numeric: tabular-nums lining-nums;
  -webkit-font-feature-settings: "tnum" 1, "lnum" 1;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

.eno-odometer .eno-reel {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    overflow: hidden;
    height: 1em; /* one glyph tall */
    line-height: 1;
    min-width: 0.6em; /* avoid width jitter by narrow digits */
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    contain: strict;
  }

.eno-odometer .eno-reel-track {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    will-change: transform;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); /* JS animates in em units */
  }

.eno-odometer .eno-glyph {
    display: block;
    height: 1em;
    line-height: 1;
    text-align: center;
  }

.eno-odometer .eno-sep {
    display: inline-block;
    line-height: 1;
    padding: 0 .02em;
    opacity: .85;
  }

/* ========== Split-flap Ticker (alphanumeric) ========== */

.eno-ticker {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  gap: var(--eno-slot-gap);
  -webkit-perspective: var(--eno-ticker-persp);
  perspective: var(--eno-ticker-persp);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  line-height: 1;
  font-variant-numeric: tabular-nums lining-nums;
  -webkit-font-feature-settings: "tnum" 1, "lnum" 1;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

.eno-ticker .eno-slot {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: var(--eno-slot-width);
    height: 1em;
    overflow: hidden;
    border-radius: var(--eno-slot-radius);
    background: var(--eno-slot-bg);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    contain: strict;
  }

.eno-ticker .eno-slot-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transform: translateZ(0);
    transform: translateZ(0); /* avoid 3D flicker */
    will-change: transform, opacity;
  }

.eno-ticker .eno-char {
    display: inline-block;
    line-height: 1;
  }

.eno-ticker .eno-sep {
    display: inline-block;
    opacity: .8;
    line-height: 1;
    padding: 0 .02em;
  }

/* Optional: add a subtle flap seam (feel free to delete if you want flat) */

.eno-ticker .eno-slot::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 1px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(rgba(0,0,0,.12)), to(transparent));
    background: linear-gradient(90deg, transparent, rgba(0,0,0,.12), transparent);
    pointer-events: none;
  }

/* ========== Text Scramble ========== */

.eno-scramble {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  gap: var(--eno-slot-gap);
  line-height: 1;
  font-variant-numeric: tabular-nums lining-nums;
  -webkit-font-feature-settings: "tnum" 1, "lnum" 1;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

.eno-scramble .eno-slot {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: var(--eno-slot-width);
    height: 1em;
    overflow: hidden;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

.eno-scramble .eno-slot-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    will-change: contents, transform;
  }

.eno-scramble .eno-sep {
    display: inline-block;
    opacity: .8;
    line-height: 1;
    padding: 0 .02em;
  }

/* ========== Accessibility: Reduced Motion ========== */

@media (prefers-reduced-motion: reduce) {
  [data-anim],
  .mask-wrap .mask,
  .filter-bleed,
  .eno-odometer .eno-reel-track,
  .eno-ticker .eno-slot-inner,
  .eno-scramble .eno-slot-inner {
    visibility: visible !important;
    -webkit-animation: none !important;
    animation: none !important;
    -webkit-transition: none !important;
    transition: none !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-filter: none !important;
    filter: none !important;
  }
}

.eno-odometer, .eno-ticker, .eno-scramble {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline
}

.eno-odometer .eno-reel {
    position: relative;
    display: inline-block;
    height: 1em;
    overflow: hidden
  }

.eno-odometer .eno-reel-track {
    display: block;
    line-height: 1;
    will-change: transform
  }

.eno-slot {
  display: inline-block;
  -webkit-perspective: 600px;
  perspective: 600px
}

.eno-slot-inner {
  display: inline-block;
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center;
  will-change: transform,opacity
}

@media (prefers-reduced-motion: reduce) {
  [data-anim], .eno-odometer .eno-reel-track {
    visibility: visible !important;
    -webkit-animation: none !important;
    animation: none !important;
    -webkit-transition: none !important;
    transition: none !important;
    -webkit-filter: none !important;
    filter: none !important
  }
}

/* ========================================
   Component: Media Object
   ======================================== */

.media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.collapse.show.media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .media {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.media {
  gap: var(--gap-media, 0.75rem);
}

.media__figure {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.media__body {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .media__body {
      display: none;
    }

.media__title {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .media__title {
  line-height: 1.3;
}

.media__title {
  color: var(--text-media-title, var(--text-primary));
}

.media__description {
  margin-top: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .media__description {
  line-height: 1.3;
}

.media__description {
  color: var(--text-media-description, var(--text-secondary));
}

.media__actions {
  margin-top: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.media__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .media__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* --- Variants --- */

.media--center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.media--reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.media--stacked {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.media--stacked .media__figure {
  margin-bottom: 0.5rem;
}

/* --- Sizes (figure dimensions) --- */

.media--sm .media__figure {
  height: 2rem;
  width: 2rem;
}

.media--md .media__figure {
  height: 3rem;
  width: 3rem;
}

.media--lg .media__figure {
  height: 4rem;
  width: 4rem;
}

/* ========================================
   Component: Dashboard Grid
   ======================================== */

.dashboard-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, 1fr);
}

@media (min-width: 640px) {
  .dashboard-grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 768px) {
  .dashboard-grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 1024px) {
  .dashboard-grid--cols-4 { grid-template-columns: repeat(4, 1fr); }
}

.dashboard-grid__widget {
  min-width: 0px;
}

.dashboard-grid__widget--span-2 {
  grid-column: span 2;
}

.dashboard-grid__widget--span-3 {
  grid-column: span 3;
}

.dashboard-grid__widget--span-full {
  grid-column: 1 / -1;
}

/* ==========================================================================
   SPLIT PANE — Resizable multi-panel layout primitive
   ========================================================================== */

.split-pane {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  width: 100%;
  min-width: 0px;
  overflow: hidden;
}

.collapse.show.split-pane {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .split-pane {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.split-pane--vertical {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}

.split-pane--horizontal {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

/* Panel slot */

.split-pane__panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 0px;
  min-width: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.split-pane__panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .split-pane__panel {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.split-pane__panel {
  -webkit-box-flex: var(--split-flex, 1 1 0%);
  -ms-flex: var(--split-flex, 1 1 0%);
  flex: var(--split-flex, 1 1 0%);
}

.split-pane__panel--fixed {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: var(--split-size, 280px);
}

.split-pane--horizontal > .split-pane__panel--fixed {
  width: auto;
  height: var(--split-size, 280px);
}

/* Divider (drag handle) */

.split-pane__divider {
  position: relative;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: var(--border-split, var(--border-secondary));
  z-index: var(--z-sticky, 10);
  -webkit-transition: background-color 100ms ease;
  transition: background-color 100ms ease;
}

.split-pane--vertical > .split-pane__divider {
  cursor: col-resize;
  width: var(--split-divider-width, 1px);
}

.split-pane--horizontal > .split-pane__divider {
  cursor: row-resize;
  height: var(--split-divider-width, 1px);
}

/* Invisible grab area (easier to grab than 1px) */

.split-pane__divider::after {
  content: "";
  position: absolute;
}

.split-pane--vertical > .split-pane__divider::after {
  top: 0px;
  bottom: 0px;
  left: -2px;
  right: -2px;
}

.split-pane--horizontal > .split-pane__divider::after {
  left: 0px;
  right: 0px;
  top: -2px;
  bottom: -2px;
}

/* Hover / active states */

.split-pane__divider:hover:not(.is-acting) {
  background-color: var(--border-split-hover, var(--color-info));
}

.split-pane__divider.is-dragging {
  background-color: var(--border-split-active, var(--color-info));
}

.split-pane--vertical > .split-pane__divider:hover:not(.is-acting),
.split-pane--vertical > .split-pane__divider.is-dragging {
  width: var(--split-divider-width-active, 2px);
  margin-left: -0.5px;
  margin-right: -0.5px;
}

.split-pane--horizontal > .split-pane__divider:hover:not(.is-acting),
.split-pane--horizontal > .split-pane__divider.is-dragging {
  height: var(--split-divider-width-active, 2px);
  margin-top: -0.5px;
  margin-bottom: -0.5px;
}

/* Collapsed panel */

.split-pane__panel.is-collapsed {
  -webkit-box-flex: 0 !important;
  -ms-flex: none !important;
  flex: none !important;
  overflow: hidden !important;
}

.split-pane--vertical > .split-pane__panel.is-collapsed {
  width: 0 !important;
  min-width: 0 !important;
}

.split-pane--horizontal > .split-pane__panel.is-collapsed {
  height: 0 !important;
  min-height: 0 !important;
}

/* Hide divider next to collapsed panel (except dividers with action buttons) */

.split-pane__panel.is-collapsed + .split-pane__divider:not(:has(.split-pane__actions)),
.split-pane__divider:not(:has(.split-pane__actions)):has(+ .split-pane__panel.is-collapsed) {
  display: none;
}

/* Divider rail — expanded state when adjacent panel is collapsed.
   JS toggles .is-rail on the divider; this widens it to contain action buttons
   without overflow clipping from the .split-pane container. */

.split-pane__divider.is-rail {
  background-color: transparent;
  cursor: default;
}

.split-pane--vertical > .split-pane__divider.is-rail {
  width: 28px;
}

.split-pane--horizontal > .split-pane__divider.is-rail {
  height: 28px;
}

/* Override hover/active expansion — rail stays at fixed size */

.split-pane--vertical > .split-pane__divider.is-rail:hover,
.split-pane--vertical > .split-pane__divider.is-rail.is-dragging {
  width: 28px;
  margin-left: 0;
  margin-right: 0;
  background-color: transparent;
}

.split-pane--horizontal > .split-pane__divider.is-rail:hover,
.split-pane--horizontal > .split-pane__divider.is-rail.is-dragging {
  height: 28px;
  margin-top: 0;
  margin-bottom: 0;
  background-color: transparent;
}

/* Disable invisible grab area on rail — no drag resize in collapsed state */

.split-pane__divider.is-rail::after {
  display: none;
}

/* Always show action buttons on rail (not just on hover) */

.split-pane__divider.is-rail .split-pane__actions {
  opacity: 1;
  pointer-events: auto;
}

/* Suppress all visual transitions during action clicks to prevent flash */

.split-pane__divider.is-acting {
  -webkit-transition: none !important;
  transition: none !important;
}

.split-pane__divider.is-acting .split-pane__actions {
  opacity: 0 !important;
  pointer-events: none !important;
  -webkit-transition: none !important;
  transition: none !important;
}

/* Mini-rail: optional collapsed strip with expand button */

.split-pane__mini-rail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.split-pane__mini-rail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .split-pane__mini-rail {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.split-pane__mini-rail {
  width: var(--split-mini-rail-width, 36px);
  background-color: var(--bg-surface, var(--canvas-secondary));
  border: 1px solid var(--border-secondary);
}

.split-pane--horizontal > .split-pane__mini-rail {
  width: auto;
  height: var(--split-mini-rail-width, 36px);
}

/* Prevent text selection during resize */

.split-pane.is-resizing,
.split-pane.is-resizing * {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
  cursor: col-resize !important;
}

.split-pane--horizontal.is-resizing,
.split-pane--horizontal.is-resizing * {
  cursor: row-resize !important;
}

/* Divider actions container (group of action buttons)
   Revealed by JS proximity detection — .is-nearby is toggled when cursor
   enters within the configured threshold (default 60px) of a divider.
   Uses asymmetric timing: instant show (0ms), delayed hide (75ms). */

.split-pane__actions {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.125rem;
}

.collapse.show.split-pane__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .split-pane__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.split-pane__actions {
  z-index: calc(var(--z-sticky, 10) + 1);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 200ms ease 100ms;
  transition: opacity 200ms ease 100ms;
}

.split-pane__divider.is-nearby .split-pane__actions,
.split-pane__actions:focus-within {
  opacity: 1;
  pointer-events: auto;
  -webkit-transition: opacity 150ms ease;
  transition: opacity 150ms ease;
}

/* Hide actions during active drag — user is resizing, not clicking buttons */

.split-pane.is-resizing > .split-pane__divider .split-pane__actions {
  opacity: 0 !important;
  pointer-events: none !important;
}

.split-pane--vertical > .split-pane__divider > .split-pane__actions {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.split-pane--horizontal > .split-pane__divider > .split-pane__actions {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/* Individual action button */

.split-pane__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
}

.collapse.show.split-pane__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .split-pane__action {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.split-pane__action {
  width: 20px;
  height: 20px;
  background-color: var(--bg-surface, var(--canvas-secondary));
  border: 1px solid var(--border-secondary);
  color: var(--text-tertiary);
  font-size: 10px;
  cursor: pointer;
  -webkit-transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.split-pane__action:hover {
  background-color: var(--bg-info-subtle);
  border-color: var(--border-info, var(--color-info));
  color: var(--text-info, var(--color-info));
}

.split-pane__action:focus-visible {
  outline: 2px solid var(--color-info);
  outline-offset: 1px;
}

/* Disabled state — panel already at min/max limit */

.split-pane__action.is-disabled,
.split-pane__action:disabled {
  opacity: 0.3;
  pointer-events: none;
  cursor: default;
}

/* Animated snap transition (applied temporarily by JS) */

.split-pane__panel.is-transitioning {
  -webkit-transition: -webkit-flex-basis 200ms ease;
  transition: -webkit-flex-basis 200ms ease;
  transition: flex-basis 200ms ease;
  transition: flex-basis 200ms ease, -webkit-flex-basis 200ms ease, -ms-flex-preferred-size 200ms ease;
}

@media (prefers-reduced-motion: reduce) {
  .split-pane__panel.is-transitioning {
    -webkit-transition: none;
    transition: none;
  }
}

/* Divider action button (collapse/expand chevron on hover) — DEPRECATED: use .split-pane__actions */

.split-pane__divider-action {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
}

.collapse.show.split-pane__divider-action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .split-pane__divider-action {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.split-pane__divider-action {
  width: 20px;
  height: 20px;
  background-color: var(--bg-surface, var(--canvas-secondary));
  border: 1px solid var(--border-secondary);
  color: var(--text-tertiary);
  font-size: 10px;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 150ms ease 75ms;
  transition: opacity 150ms ease 75ms;
  cursor: pointer;
  z-index: calc(var(--z-sticky, 10) + 1);
}

.split-pane__divider.is-nearby .split-pane__divider-action,
.split-pane__divider-action:focus-visible {
  opacity: 1;
  pointer-events: auto;
  -webkit-transition-delay: 0ms;
  transition-delay: 0ms;
}

.split-pane__divider-action:hover {
  background-color: var(--bg-info-subtle);
  border-color: var(--border-info, var(--color-info));
  color: var(--text-info, var(--color-info));
}

.split-pane--vertical > .split-pane__divider > .split-pane__divider-action {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.split-pane--horizontal > .split-pane__divider > .split-pane__divider-action {
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/* ==========================================================================
   SIZE VARIANTS — min/max constraints on panels
   Use on .split-pane__panel: e.g. <div class="split-pane__panel split-panel-w-sm">
   ========================================================================== */

/* --- Width constraints (for vertical split panels) --- */

.split-panel-w-xs  { min-width: 120px; max-width: 240px; }

.split-panel-w-sm  { min-width: 180px; max-width: 320px; }

.split-panel-w-md  { min-width: 240px; max-width: 480px; }

.split-panel-w-lg  { min-width: 320px; max-width: 640px; }

.split-panel-w-xl  { min-width: 400px; max-width: 800px; }

.split-panel-w-2xl { min-width: 480px; max-width: 1024px; }

.split-panel-w-3xl { min-width: 560px; max-width: 1280px; }

/* --- Height constraints (for horizontal split panels) --- */

.split-panel-h-xs  { min-height: 80px;  max-height: 160px; }

.split-panel-h-sm  { min-height: 120px; max-height: 240px; }

.split-panel-h-md  { min-height: 160px; max-height: 360px; }

.split-panel-h-lg  { min-height: 200px; max-height: 480px; }

.split-panel-h-xl  { min-height: 280px; max-height: 640px; }

.split-panel-h-2xl { min-height: 360px; max-height: 800px; }

.split-panel-h-3xl { min-height: 440px; max-height: 1024px; }

/* --- Min-only variants --- */

.split-panel-min-w-xs  { min-width: 120px; }

.split-panel-min-w-sm  { min-width: 180px; }

.split-panel-min-w-md  { min-width: 240px; }

.split-panel-min-w-lg  { min-width: 320px; }

.split-panel-min-w-xl  { min-width: 400px; }

.split-panel-min-h-xs  { min-height: 80px; }

.split-panel-min-h-sm  { min-height: 120px; }

.split-panel-min-h-md  { min-height: 160px; }

.split-panel-min-h-lg  { min-height: 200px; }

.split-panel-min-h-xl  { min-height: 280px; }

/* --- Max-only variants --- */

.split-panel-max-w-xs  { max-width: 240px; }

.split-panel-max-w-sm  { max-width: 320px; }

.split-panel-max-w-md  { max-width: 480px; }

.split-panel-max-w-lg  { max-width: 640px; }

.split-panel-max-w-xl  { max-width: 800px; }

.split-panel-max-h-xs  { max-height: 160px; }

.split-panel-max-h-sm  { max-height: 240px; }

.split-panel-max-h-md  { max-height: 360px; }

.split-panel-max-h-lg  { max-height: 480px; }

.split-panel-max-h-xl  { max-height: 640px; }

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
  .split-pane__divider {
    -webkit-transition: none;
    transition: none;
  }
}

/* ==========================================================================
   POWERSHELL — Composable Shell Layout System

   Shell classes for frame-based layouts, toolbars, filter bars,
   and embedded contexts (modals, trays, popovers).

   Extends: layout.css page templates (page-list, page-detail, etc.)
   Works with: split-pane.css, filter.css, modal.css, tray.css
   ========================================================================== */

/* ==========================================================================
   TOKENS
   ========================================================================== */

:root {
  /* Shell surface */
  --bg-shell: var(--bg-panel, var(--alpha-white-100));
  --border-shell: var(--border-panel, var(--border-primary));
  --border-shell-toolbar: var(--border-panel, var(--border-primary));
  --border-shell-footer: var(--border-panel, var(--border-primary));

  /* Filter bar (expandable row) */
  --height-filter-bar: 200px;
  --transition-filter-bar: var(--transition-panel, 200ms ease);
}

/* ==========================================================================
   PS-FRAME — Frame-based shell (no card wrapper)
   Use instead of .page-list.card for full-area content.
   ========================================================================== */

.ps-frame {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  min-width: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.ps-frame {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .ps-frame {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.ps-frame {
  background-color: var(--bg-shell);
}

/* ==========================================================================
   PS-TOOLBAR — Standardized toolbar region
   Replaces ad-hoc panel-header form patterns.
   Works as both <form> and <div>.
   ========================================================================== */

.ps-toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0px;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.ps-toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .ps-toolbar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* Toolbar regions */

.ps-toolbar__left {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  min-width: 0px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.ps-toolbar__center {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
}

.menu--collapsed .menu-link .ps-toolbar__center {
      display: none;
    }

.ps-toolbar__right {
  margin-left: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  min-width: 0px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 0.5rem;
}

/* Nav-tabs variant — border + zero bottom padding so tabs sit on the line.
   Skip when tabs live inside a ribbon (they don't need underline treatment). */

.ps-toolbar:has(> .nav-tabs) {
  padding-bottom: 0;
  border-bottom: 1px solid var(--border-shell-toolbar);
}

/* Neutralise nav-tabs own border/background when hosted inside a ps-toolbar */

.ps-toolbar > .nav-tabs {
  margin-bottom: 0;
  border-bottom: none;
  background-color: transparent;
}

/* Dense variant — tighter for embedded contexts */

.ps-toolbar--dense {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

/* ==========================================================================
   PS-FOOTER — Standardized footer region
   ========================================================================== */

.ps-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0px;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.ps-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .ps-footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.ps-footer {
  border-top: 1px solid var(--border-shell-footer);
}

/* ==========================================================================
   PS-FILTER-BAR — Expandable filter row
   Sits between toolbar and body. Slides open/closed with max-height.
   ========================================================================== */

.ps-filter-bar {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  overflow: hidden;
  max-height: 0;
  -webkit-transition: max-height var(--transition-filter-bar) ease,
              border-color var(--transition-filter-bar) ease;
  transition: max-height var(--transition-filter-bar) ease,
              border-color var(--transition-filter-bar) ease;
  border-bottom: 1px solid transparent;
}

.ps-filter-bar.is-open {
  max-height: var(--height-filter-bar);
  border-bottom-color: var(--border-shell);
}

.ps-filter-bar__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.collapse.show.ps-filter-bar__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .ps-filter-bar__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ==========================================================================
   PS-STATUS-BAR — Bottom status bar (counts, timestamps, etc.)
   ========================================================================== */

.ps-status-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0px;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.collapse.show.ps-status-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .ps-status-bar {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .ps-status-bar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.ps-status-bar {
  color: var(--text-tertiary);
  border-top: 1px solid var(--border-shell-footer);
}

/* ==========================================================================
   EMBEDDED CONTEXT MODIFIERS
   Optimize shells for overlay/embedded contexts.
   ========================================================================== */

/* Modal context — no outer bg needed, modal provides it */

.ps--modal {
  background-color: transparent;
}

/* Tray context — compact spacing */

.ps--tray .ps-toolbar {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.ps--tray .ps-footer {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

/* Popover context — minimal chrome */

.ps--popover .ps-toolbar {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .ps--popover .ps-toolbar {
  line-height: 1.3;
}

.ps--popover .ps-footer {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

/* Nested context — inherits parent borders */

.ps--nested {
  background-color: transparent;
  border: none;
}

/* ==========================================================================
   SURFACE VARIANTS — Card-like panel backgrounds
   Mirror card variants for consistent panel styling.
   ========================================================================== */

/* Default: solid panel surface */

.ps--surface {
  background-color: var(--bg-panel);
}

/* Raised: slightly elevated look */

.ps--raised {
  background-color: var(--bg-panel-raised, var(--bg-panel));
  -webkit-box-shadow: var(--shadow-xs, 0 1px 2px rgba(0,0,0,.05));
  box-shadow: var(--shadow-xs, 0 1px 2px rgba(0,0,0,.05));
}

/* Sunken: recessed into the canvas */

.ps--sunken {
  background-color: var(--bg-panel-sunken, var(--canvas-primary));
}

/* Bordered: adds a visible border around the panel */

.ps--bordered {
  border: 1px solid var(--border-panel, var(--border-primary));
  border-radius: var(--radius-panel, 0);
}

/* Card: full card treatment (border + radius + shadow) */

.ps--card {
  background-color: var(--bg-panel, var(--bg-card));
  border: 1px solid var(--border-panel, var(--border-card));
  border-radius: var(--radius-panel, 0.5rem);
  -webkit-box-shadow: var(--shadow-xs, 0 1px 2px rgba(0,0,0,.05));
  box-shadow: var(--shadow-xs, 0 1px 2px rgba(0,0,0,.05));
  overflow: hidden;
}

/* Ghost: transparent with border only */

.ps--ghost {
  background-color: transparent;
  border: 1px solid var(--border-panel, var(--border-primary));
}

/* ==========================================================================
   FRAME RAIL PATTERNS — Persistent side panels in app-frame grid
   Use inside .app-frame rails for navigation, inspector, or activity panels.
   ========================================================================== */

/* Rail panel — persistent side panel in a frame rail */

.ps-rail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  min-width: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.ps-rail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .ps-rail {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.ps-rail {
  border-right: 1px solid var(--border-shell);
}

.ps-rail--right {
  border-right: none;
  border-left: 1px solid var(--border-shell);
}

/* Rail widths */

.ps-rail--xs  { width: 200px; min-width: 200px; }

.ps-rail--sm  { width: 260px; min-width: 260px; }

.ps-rail--md  { width: 320px; min-width: 320px; }

.ps-rail--lg  { width: 400px; min-width: 400px; }

/* Rail header/body/footer inherit ps-toolbar/ps-footer styles */

.ps-rail .ps-toolbar {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.ps-rail .ps-footer {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .ps-rail .ps-footer {
  line-height: 1.3;
}

/* ==========================================================================
   PS-SEARCH — Search input with shortcut hint
   Wraps an input + optional kbd badge for Ctrl+K focus.
   ========================================================================== */

.ps-search {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.ps-search .form-control {
  padding-right: 4rem;
}

.ps-search__shortcut {
  pointer-events: none;
  position: absolute;
  right: 0.5rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.125rem;
  -webkit-transition: opacity 150ms ease;
  transition: opacity 150ms ease;
}

/* Use .kbd-sm inside search shortcut hints */

/* Clear button inside search — hidden by default, shown via .has-value */

.ps-search__clear {
  position: absolute;
  right: 0.5rem;
  width: 1.25rem;
  height: 1.25rem;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .ps-search__clear {
  line-height: 1.3;
}

.ps-search__clear {
  display: none;
  color: var(--text-tertiary);
  background: transparent;
  border: none;
  -webkit-transition: color 100ms ease, background-color 100ms ease;
  transition: color 100ms ease, background-color 100ms ease;
}

.ps-search__clear:hover {
  color: var(--text-primary);
  background-color: var(--bg-primary-subtle);
}

/* When clear is visible, push shortcut out */

.ps-search.has-value .ps-search__clear {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.ps-search.has-value .ps-search__shortcut {
  display: none;
}

/* Hide shortcut hint when input has focus */

.ps-search:focus-within .ps-search__shortcut {
  opacity: 0;
}

/* Inline spinner shown while a search is in progress */

.ps-search__spinner {
  pointer-events: none;
  position: absolute;
  right: 2rem;
  display: none;
  color: var(--text-tertiary);
}

.ps-search.is-searching .ps-search__spinner {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.ps-search.is-searching .ps-search__shortcut {
  display: none;
}

/* Adjust input padding when clear button is present */

.ps-search:has(.ps-search__clear) .form-control {
  padding-right: 2rem;
}

/* ==========================================================================
   ACCESSIBILITY — Focus styles for interactive shell regions
   ========================================================================== */

/* Divider focus ring for keyboard users */

.split-pane__divider:focus-visible {
  outline: 2px solid var(--ring-primary, var(--color-primary-500));
  outline-offset: -1px;
  z-index: 1;
}

/* Toolbar button focus ring */

.ps-toolbar button:focus-visible,
.ps-toolbar input:focus-visible {
  outline: 2px solid var(--ring-primary, var(--color-primary-500));
  outline-offset: -1px;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 639px) {
  /* Filter bar hidden on mobile — use tray/overlay instead */
  .ps-filter-bar {
    display: none;
  }

  /* Toolbar wraps on mobile */
  .ps-toolbar {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}

/* Theme: Light */

[data-theme="theme-light"] {
  /* Canvas & Scrollbars */
  --scroll-thumb: rgba(0, 0, 0, 0.18);
  --scroll-track: var(--utility-neutral-300);
  --canvas-primary: var(--alpha-neutral-50-50);
  --canvas-secondary: var(--alpha-white-100);
  --bg-alpha-0: var(--alpha-0);
  --bg-sidebar-edge-hitbox-hover: var(--utility-neutral-100);
  /* Typography */
  --text-primary: var(--utility-neutral-900);
  --text-primary-alt: var(--utility-neutral-850);
  --text-primary-hover: var(--utility-neutral-950);
  --text-primary-subtle: var(--utility-neutral-800);
  --text-primary-solid: var(--utility-neutral-950);
  --text-secondary: var(--utility-neutral-700);
  --text-secondary-alt: var(--utility-neutral-800);
  --text-secondary-hover: var(--utility-neutral-800);
  --text-secondary-subtle: var(--utility-neutral-600);
  --text-secondary-solid: var(--utility-neutral-800);
  --text-tertiary: var(--utility-neutral-600);
  --text-tertiary-alt: var(--utility-neutral-700);
  --text-tertiary-hover: var(--utility-neutral-700);
  --text-tertiary-subtle: var(--utility-neutral-500);
  --text-tertiary-solid: var(--utility-neutral-700);
  --text-quaternary: var(--utility-neutral-500);
  --text-quaternary-alt: var(--utility-neutral-600);
  --text-quaternary-hover: var(--utility-neutral-600);
  --text-quaternary-subtle: var(--utility-neutral-400);
  --text-quaternary-solid: var(--utility-neutral-600);
  --text-disabled: var(--utility-neutral-500);
  --text-placeholder: var(--utility-neutral-400);
  /* Semantic text */
  --text-danger: var(--utility-red-600);
  --text-danger-alt: var(--utility-red-500);
  --text-danger-hover: var(--utility-red-700);
  --text-danger-subtle: var(--utility-red-400);
  --text-danger-solid: var(--utility-red-800);
  --text-warning: var(--utility-yellow-600);
  --text-warning-alt: var(--utility-yellow-500);
  --text-warning-hover: var(--utility-yellow-700);
  --text-warning-subtle: var(--utility-yellow-400);
  --text-warning-solid: var(--utility-yellow-800);
  --text-success: var(--utility-green-600);
  --text-success-alt: var(--utility-green-500);
  --text-success-hover: var(--utility-green-700);
  --text-success-subtle: var(--utility-green-400);
  --text-success-solid: var(--utility-green-800);
  --text-info: var(--utility-blue-600);
  --text-info-alt: var(--utility-blue-500);
  --text-info-hover: var(--utility-blue-700);
  --text-info-subtle: var(--utility-blue-400);
  --text-info-solid: var(--utility-blue-800);
  --text-purple: var(--utility-purple-600);
  --text-purple-alt: var(--utility-purple-500);
  --text-purple-hover: var(--utility-purple-700);
  --text-purple-subtle: var(--utility-purple-400);
  --text-purple-solid: var(--utility-purple-800);
  --text-indigo: var(--utility-indigo-600);
  --text-indigo-alt: var(--utility-indigo-500);
  --text-indigo-hover: var(--utility-indigo-700);
  --text-indigo-subtle: var(--utility-indigo-400);
  --text-indigo-solid: var(--utility-indigo-800);
  --text-teal: var(--utility-teal-600);
  --text-teal-alt: var(--utility-teal-500);
  --text-teal-hover: var(--utility-teal-700);
  --text-teal-subtle: var(--utility-teal-400);
  --text-teal-solid: var(--utility-teal-800);
  --text-pink: var(--utility-pink-600);
  --text-pink-alt: var(--utility-pink-500);
  --text-pink-hover: var(--utility-pink-700);
  --text-pink-subtle: var(--utility-pink-400);
  --text-pink-solid: var(--utility-pink-800);
  --text-mint: var(--utility-mint-600);
  --text-mint-alt: var(--utility-mint-500);
  --text-mint-hover: var(--utility-mint-700);
  --text-mint-subtle: var(--utility-mint-400);
  --text-mint-solid: var(--utility-mint-800);
  /* Borders */
  --border-primary: var(--utility-neutral-200);
  --border-primary-alt: var(--utility-neutral-300);
  --border-primary-hover: var(--utility-neutral-300);
  --border-primary-subtle: var(--utility-neutral-100);
  --border-primary-solid: var(--utility-neutral-400);
  --border-secondary: var(--utility-neutral-200);
  --border-secondary-alt: var(--utility-neutral-300);
  --border-secondary-hover: var(--utility-neutral-300);
  --border-secondary-subtle: var(--utility-neutral-100);
  --border-secondary-solid: var(--utility-neutral-400);
  --border-tertiary: var(--utility-neutral-400);
  --border-tertiary-alt: var(--utility-neutral-400);
  --border-tertiary-hover: var(--utility-neutral-400);
  --border-tertiary-subtle: var(--utility-neutral-300);
  --border-tertiary-solid: var(--utility-neutral-600);
  --border-quaternary: var(--utility-neutral-500);
  --border-quaternary-alt: var(--utility-neutral-600);
  --border-quaternary-hover: var(--utility-neutral-600);
  --border-quaternary-subtle: var(--utility-neutral-400);
  --border-quaternary-solid: var(--utility-neutral-700);
  --border-danger: var(--utility-red-400);
  --border-danger-alt: var(--utility-red-500);
  --border-danger-hover: var(--utility-red-500);
  --border-danger-subtle: var(--utility-red-200);
  --border-danger-solid: var(--utility-red-800);
  --border-warning: var(--utility-yellow-400);
  --border-warning-alt: var(--utility-yellow-500);
  --border-warning-hover: var(--utility-yellow-500);
  --border-warning-subtle: var(--utility-yellow-200);
  --border-warning-solid: var(--utility-yellow-800);
  --border-success: var(--utility-green-400);
  --border-success-alt: var(--utility-green-500);
  --border-success-hover: var(--utility-green-500);
  --border-success-subtle: var(--utility-green-200);
  --border-success-solid: var(--utility-green-800);
  --border-info: var(--utility-blue-400);
  --border-info-alt: var(--utility-blue-500);
  --border-info-hover: var(--utility-blue-500);
  --border-info-subtle: var(--utility-blue-200);
  --border-info-solid: var(--utility-blue-800);
  --border-purple: var(--utility-purple-400);
  --border-purple-alt: var(--utility-purple-500);
  --border-purple-hover: var(--utility-purple-500);
  --border-purple-subtle: var(--utility-purple-200);
  --border-purple-solid: var(--utility-purple-800);
  --border-indigo: var(--utility-indigo-400);
  --border-indigo-alt: var(--utility-indigo-500);
  --border-indigo-hover: var(--utility-indigo-500);
  --border-indigo-subtle: var(--utility-indigo-200);
  --border-indigo-solid: var(--utility-indigo-800);
  --border-teal: var(--utility-teal-400);
  --border-teal-alt: var(--utility-teal-500);
  --border-teal-hover: var(--utility-teal-500);
  --border-teal-subtle: var(--utility-teal-200);
  --border-teal-solid: var(--utility-teal-800);
  --border-pink: var(--utility-pink-400);
  --border-pink-alt: var(--utility-pink-500);
  --border-pink-hover: var(--utility-pink-500);
  --border-pink-subtle: var(--utility-pink-200);
  --border-pink-solid: var(--utility-pink-800);
  /* Backgrounds */
  --bg-black: var(--utility-neutral-900);
  --bg-black-hover: var(--utility-neutral-950);
  --bg-primary: var(--utility-neutral-100);
  --bg-primary-alt: var(--utility-neutral-200);
  --bg-primary-hover: var(--utility-neutral-200);
  --bg-primary-subtle: var(--utility-neutral-50);
  --bg-primary-solid: var(--utility-neutral-950);
  --bg-secondary: var(--utility-neutral-200);
  --bg-secondary-alt: var(--utility-neutral-300);
  --bg-secondary-hover: var(--utility-neutral-300);
  --bg-secondary-subtle: var(--utility-neutral-100);
  --bg-secondary-solid: var(--utility-neutral-800);
  --bg-tertiary: var(--utility-neutral-300);
  --bg-tertiary-alt: var(--utility-neutral-400);
  --bg-tertiary-hover: var(--utility-neutral-400);
  --bg-tertiary-subtle: var(--utility-neutral-200);
  --bg-tertiary-solid: var(--utility-neutral-700);
  --bg-quaternary: var(--utility-neutral-400);
  --bg-quaternary-alt: var(--utility-neutral-500);
  --bg-quaternary-hover: var(--utility-neutral-500);
  --bg-quaternary-subtle: var(--utility-neutral-300);
  --bg-quaternary-solid: var(--utility-neutral-600);
  --bg-overlay: var(--utility-neutral-950);
  --bg-gray: var(--utility-neutral-500);
  --bg-gray-alt: var(--utility-neutral-600);
  --bg-gray-hover: var(--utility-neutral-600);
  --bg-gray-subtle: var(--utility-neutral-100);
  --bg-gray-solid: var(--utility-neutral-800);
  --bg-danger: var(--utility-red-500);
  --bg-danger-alt: var(--utility-red-600);
  --bg-danger-hover: var(--utility-red-600);
  --bg-danger-subtle: var(--utility-red-100);
  --bg-danger-solid: var(--utility-red-800);
  --bg-warning: var(--utility-yellow-400);
  --bg-warning-alt: var(--utility-yellow-500);
  --bg-warning-hover: var(--utility-yellow-500);
  --bg-warning-subtle: var(--utility-yellow-100);
  --bg-warning-solid: var(--utility-yellow-800);
  --bg-success: var(--utility-green-400);
  --bg-success-alt: var(--utility-green-500);
  --bg-success-hover: var(--utility-green-500);
  --bg-success-subtle: var(--utility-green-100);
  --bg-success-solid: var(--utility-green-800);
  --bg-info: var(--utility-blue-400);
  --bg-info-alt: var(--utility-blue-500);
  --bg-info-hover: var(--utility-blue-500);
  --bg-info-subtle: var(--utility-blue-100);
  --bg-info-solid: var(--utility-blue-800);
  --bg-purple: var(--utility-purple-400);
  --bg-purple-alt: var(--utility-purple-500);
  --bg-purple-hover: var(--utility-purple-500);
  --bg-purple-subtle: var(--utility-purple-100);
  --bg-purple-solid: var(--utility-purple-800);
  --bg-indigo: var(--utility-indigo-400);
  --bg-indigo-alt: var(--utility-indigo-500);
  --bg-indigo-hover: var(--utility-indigo-500);
  --bg-indigo-subtle: var(--utility-indigo-100);
  --bg-indigo-solid: var(--utility-indigo-800);
  --bg-teal: var(--utility-teal-400);
  --bg-teal-alt: var(--utility-teal-500);
  --bg-teal-hover: var(--utility-teal-500);
  --bg-teal-subtle: var(--utility-teal-100);
  --bg-teal-solid: var(--utility-teal-800);
  --bg-pink: var(--utility-pink-400);
  --bg-pink-alt: var(--utility-pink-500);
  --bg-pink-hover: var(--utility-pink-500);
  --bg-pink-subtle: var(--utility-pink-100);
  --bg-pink-solid: var(--utility-pink-800);
  /* Theme Swatches */
  --text-theme-label: var(--text-tertiary);
  /* Light theme swatches */
  --theme-light-base-swatch: var(--utility-neutral-900);
  --theme-light-primary-swatch: var(--utility-indigo-500);
  --theme-light-secondary-swatch: var(--utility-pink-400);
  --theme-light-accent-swatch: var(--utility-teal-400);
  --bg-theme-light-swatch: var(--alpha-white-100);
  --border-theme-light-swatch: var(--utility-neutral-200);
  /* Dark theme swatches */
  --theme-dark-base-swatch: var(--utility-neutral-100);
  --theme-dark-primary-swatch: var(--utility-indigo-300);
  --theme-dark-secondary-swatch: var(--utility-pink-300);
  --theme-dark-accent-swatch: var(--utility-teal-300);
  --bg-theme-dark-swatch: var(--utility-neutral-900);
  --border-theme-dark-swatch: var(--utility-neutral-700);
  /* Sidebar */
  --width-sidebar-expanded: 240px;
  --bg-sidebar: var(--utility-neutral-50);
  --bg-sidebar-hover: var(--alpha-white-100);
  --bg-sidebar-header: var(--alpha-0);
  --bg-sidebar-avatar: var(--alpha-white-100);
  --border-sidebar: var(--border-primary);
  --border-sidebar-divider: var(--utility-neutral-100);
  --bg-sidebar-item-hover: var(--utility-neutral-100);
  --bg-sidebar-item-active: var(--utility-neutral-100);
  --text-sidebar: var(--text-primary);
  --text-sidebar-muted: var(--text-secondary);
  --text-sidebar-subtle: var(--text-quaternary);
  --bg-sidebar-dot-muted: var(--utility-neutral-300);
  --bg-sidebar-dot-active: var(--utility-neutral-900);
  /* Split Pane */
  --border-split: var(--border-secondary);
  --border-split-hover: var(--utility-blue-400);
  --border-split-active: var(--utility-blue-500);
  /* Menu */
  --width-menu-expanded: 224px;
  --width-menu-collapsed: 54px;
  --menu-indent: 12px;
  --bg-menu: var(--alpha-0);
  --bg-menu-hover: var(--utility-neutral-100);
  --bg-menu-active: var(--utility-neutral-100);
  --bg-menu-open: var(--utility-neutral-100);
  --bg-menu-dot: var(--utility-neutral-400);
  --bg-menu-dot-muted: var(--utility-neutral-400);
  --bg-menu-dot-active: var(--utility-neutral-950);
  --bg-menu-badge: var(--utility-neutral-900);
  --text-menu-badge: var(--utility-neutral-50);
  --bg-menu-badge-muted: var(--utility-neutral-200);
  --text-menu-badge-muted: var(--utility-neutral-700);
  --text-menu: var(--utility-neutral-800);
  --text-menu-strong: var(--utility-neutral-900);
  --text-menu-hover: var(--utility-neutral-950);
  --text-menu-active: var(--utility-neutral-950);
  --text-menu-muted: var(--utility-neutral-600);
  --border-menu: var(--alpha-0);
  --border-menu-muted: var(--alpha-0);
  --icon-menu: var(--utility-neutral-800);
  --icon-menu-muted: var(--utility-neutral-600);
  --focus-menu: var(--border-info);
  /* Breadcrumbs / Page Header */
  --text-page-header: var(--text-primary);
  --text-page-title: var(--text-primary);
  --text-breadcrumb: var(--text-tertiary);
  --text-breadcrumb-separator: var(--text-tertiary);
  --bg-page-header: var(--alpha-0);
  --bg-page-header-hover: var(--bg-secondary); /* optional: if you ever use it */
  --bg-breadcrumb: var(--alpha-0);
  --bg-breadcrumb-hover: var(--bg-secondary-subtle);
  --border-breadcrumb: var(--border-primary-subtle);
  /* Tabs */
  --bg-tab: var(--alpha-0);
  --bg-tab-hover: var(--alpha-0);
  --text-tab: var(--utility-neutral-500);
  --text-tab-hover: var(--utility-neutral-950);
  --text-tab-active: var(--utility-neutral-950);
  --border-tab: var(--alpha-0);
  --border-tab-hover: var(--utility-neutral-900);
  --border-tab-active: var(--utility-neutral-900);
  --text-tab-badge: var(--text-primary);
  --bg-tab-ribbon: var(--utility-neutral-100);
  --bg-tab-ribbon-hover: var(--utility-neutral-100);
  --bg-tab-ribbon-item: var(--alpha-0);
  --bg-tab-ribbon-active: var(--alpha-white-100);
  --text-tab-ribbon: var(--utility-neutral-800);
  --text-tab-ribbon-active: var(--utility-neutral-950);
  --border-tab-ribbon: var(--utility-neutral-200);
  --bg-tab-menu-hover: var(--utility-neutral-100);
  --bg-tab-menu-active: var(--utility-neutral-100);
  --text-tab-menu: var(--utility-neutral-700);
  --text-tab-menu-hover: var(--utility-neutral-950);
  --text-tab-menu-active: var(--utility-neutral-950);
  --bg-tab-browser: var(--utility-neutral-50);
  --border-tab-browser: var(--utility-neutral-200);
  --bg-tab-browser-item: var(--alpha-0);
  --bg-tab-browser-hover: var(--utility-neutral-100);
  --bg-tab-browser-active: var(--alpha-white-100);
  --text-tab-browser: var(--utility-neutral-800);
  --text-tab-browser-hover: var(--utility-neutral-800);
  --text-tab-browser-active: var(--utility-neutral-950);
  --border-tab-browser-hover: var(--alpha-0);
  --bg-tab-browser-divider: var(--utility-neutral-200);
  /* Toolbars */
  --bg-toolbar: var(--alpha-0);
  --border-toolbar: var(--border-primary-subtle);
  --text-toolbar: var(--text-secondary);
  --text-toolbar-strong: var(--text-primary);
  --text-toolbar-muted: var(--text-tertiary);
  --bg-toolbar-group: var(--alpha-0);
  --border-toolbar-group: var(--alpha-0);
  --border-toolbar-divider: var(--border-primary-subtle);
  --bg-toolbar-btn: var(--alpha-0);
  --bg-toolbar-btn-hover: var(--utility-neutral-200);
  --bg-toolbar-btn-active: var(--utility-neutral-200);
  --bg-toolbar-btn-selected: var(--utility-neutral-200);
  --border-toolbar-btn: var(--alpha-0);
  --border-toolbar-btn-hover: var(--border-primary);
  --border-toolbar-btn-selected: var(--border-primary);
  --text-toolbar-hover: var(--text-primary);
  --icon-toolbar: var(--text-secondary);
  --icon-toolbar-hover: var(--text-primary);
  --bg-toolbar-badge: var(--utility-neutral-900);
  --text-toolbar-badge: var(--utility-neutral-50);
  --bg-toolbar-input: var(--alpha-0);
  --border-toolbar-input: var(--border-primary-subtle);
  --focus-toolbar: var(--border-info);
  /* Drawer */
  --text-drawer: var(--text-primary);
  --border-drawer: var(--border-primary);
  --bg-drawer: var(--alpha-white-100);
  /* Tray */
  --bg-tray: var(--alpha-white-100);
  --bg-tray-body: var(--utility-neutral-50);
  --bg-tray-header: var(--alpha-0);
  --bg-tray-footer: var(--alpha-0);
  --bg-tray-overlay: var(--alpha-neutral-950-20);
  --border-tray: var(--border-primary-subtle);
  --border-tray-divider: var(--border-primary-subtle);
  --text-tray: var(--text-primary);
  --text-tray-muted: var(--text-tertiary);
  --text-tray-heading: var(--text-primary);
  --icon-tray: var(--text-secondary);
  --icon-tray-close: var(--text-secondary);
  --bg-tray-close-hover: var(--utility-neutral-100);
  --icon-tray-pin: var(--text-tertiary);
  --bg-tray-pin-hover: var(--utility-neutral-100);
  --icon-tray-pin-active: var(--color-info);
  --bg-tray-pin-active: var(--bg-info-subtle);
  --border-tray-pin-active: transparent;
  /* Buttons */
  /* Primary */
  --text-button-primary: var(--alpha-white-100);
  --bg-button-primary: var(--utility-neutral-900);
  --bg-button-primary-hover: var(--utility-neutral-700);
  --bg-button-primary-active: var(--utility-neutral-900);
  --border-button-primary: var(--alpha-0);
  /* Secondary */
  --text-button-secondary: var(--text-primary);
  --bg-button-secondary: var(--alpha-0);
  --bg-button-secondary-hover: var(--bg-primary);
  --bg-button-secondary-active: var(--utility-neutral-50);
  --bg-button-secondary-active-state: var(--utility-neutral-100);
  --border-button-secondary: var(--alpha-0);
  /* Soft */
  --text-button-soft: var(--text-primary);
  --bg-button-soft: var(--utility-neutral-50);
  --bg-button-soft-hover: var(--utility-neutral-100);
  --bg-button-soft-active: var(--utility-neutral-50);
  --border-button-soft: var(--alpha-0);
  /* Ghost */
  --text-button-ghost: var(--text-primary);
  --bg-button-ghost: var(--alpha-0);
  --bg-button-ghost-hover: var(--utility-neutral-100);
  --bg-button-ghost-active: var(--utility-neutral-50);
  --border-button-ghost: var(--alpha-0);
  /* Link */
  --text-button-link: var(--text-primary);
  --text-button-link-hover: var(--text-primary);
  /* Light */
  --text-button-light: var(--text-primary);
  --bg-button-light: var(--utility-neutral-50);
  --bg-button-light-hover: var(--utility-neutral-100);
  --bg-button-light-active: var(--utility-neutral-200);
  --border-button-light: var(--border-primary);
  /* Input-style button */
  --text-button-input: var(--utility-neutral-950);
  --bg-button-input: var(--utility-neutral-50);
  --bg-button-input-hover: var(--utility-neutral-100);
  --bg-button-input-active: var(--utility-neutral-50);
  --border-button-input: var(--alpha-0);
  /* Topbar */
  --text-button-topbar: var(--utility-neutral-900);
  --bg-button-topbar: var(--alpha-0);
  --bg-button-topbar-hover: var(--utility-neutral-200);
  --bg-button-topbar-active: var(--utility-neutral-100);
  --border-button-topbar: var(--alpha-0);
  --border-button-topbar-hover: var(--alpha-0);
  /* Danger */
  --text-button-danger: var(--alpha-white-100);
  --bg-button-danger: var(--utility-red-600);
  --bg-button-danger-hover: var(--utility-red-700);
  --bg-button-danger-active: var(--utility-red-800);
  --border-button-danger: var(--alpha-0);
  --text-button-danger-outline: var(--utility-red-700);
  --bg-button-danger-outline: var(--alpha-0);
  --bg-button-danger-outline-hover: var(--utility-red-100);
  --bg-button-danger-outline-active: var(--utility-red-50);
  --border-button-danger-outline: var(--alpha-0);
  /* Glass */
  --text-button-glass: var(--alpha-white-100);
  --bg-button-glass: var(--alpha-white-20);
  --border-button-glass: var(--alpha-white-30);
  --text-button-glass-hover: var(--alpha-white-100);
  --bg-button-glass-hover: var(--alpha-white-30);
  --border-button-glass-hover: var(--alpha-white-30);
  --text-button-glass-active: var(--alpha-white-100);
  --bg-button-glass-active: var(--alpha-white-20);
  --border-button-glass-active: var(--alpha-white-30);
  /* Grain */
  --opacity-button-grain: 0.2;
  /* Focus */
  --border-button-focus: var(--utility-emerald-800);
  --ring-button-focus-offset: var(--bg-body);
  /* Input & Forms */
  /* Text */
  --text-input: var(--utility-neutral-950);
  --text-input-primary: var(--utility-neutral-950);
  --text-input-placeholder: var(--utility-neutral-400);
  --text-input-disabled: var(--utility-neutral-500);
  --text-input-tertiary: var(--utility-neutral-500);
  /* Readonly */
  --text-input-readonly: var(--text-input);
  /* Backgrounds */
  --bg-input: var(--utility-neutral-50);
  --bg-input-select: var(--utility-neutral-50);
  --bg-input-disabled: var(--utility-neutral-100);
  /* Soft variant */
  --bg-input-soft: var(--utility-neutral-50);
  --bg-input-soft-hover: var(--utility-neutral-50);
  --bg-input-soft-active: var(--utility-neutral-100);
  /* Borderless variant */
  --bg-input-borderless: var(--utility-neutral-100);
  --bg-input-borderless-hover: var(--utility-neutral-100);
  --bg-input-borderless-active: var(--utility-neutral-100);
  /* Ghost variant */
  --bg-input-ghost-hover: var(--utility-neutral-100);
  --bg-input-ghost-active: var(--utility-neutral-50);
  /* Readonly */
  --bg-input-readonly: var(--utility-neutral-100);
  /* Addon/group */
  --bg-input-addon: var(--utility-neutral-100);
  --bg-input-group-hover: var(--utility-neutral-100); /* hovered input inside input-group */
  --bg-input-group-focus: var(--utility-neutral-100); /* focused input inside input-group */
  /* Borders */
  --border-input: var(--utility-neutral-200);
  --border-input-hover: var(--utility-neutral-400);
  --border-input-active: var(--utility-emerald-800);
  --border-input-disabled: var(--utility-neutral-300);
  --border-input-transparent: var(--alpha-0);
  /* Addon/group borders */
  --border-input-addon: var(--border-input);
  /* Stack */
  --border-input-stack: var(--border-input);
  --border-input-stack-hover: var(--border-input-hover);
  --border-input-stack-active: var(--border-input-active);
  /* Slightly stronger divider improves clarity in light UI */
  --border-input-stack-divider: var(--border-input);
  /* Group Validation */
  --border-input-group-error: var(--border-input-error);
  --border-input-group-error-focus: var(--border-input-error-focus);
  /* Semantic states */
  --border-input-error: var(--border-danger);
  --border-input-error-focus: var(--border-danger);
  --border-input-success: var(--border-success);
  --border-input-success-focus: var(--border-success);
  /* Warning/info */
  --border-input-warning: var(--border-warning);
  --border-input-warning-focus: var(--border-warning);
  --border-input-info: var(--border-info);
  --border-input-info-focus: var(--border-info);
  /* Focus helpers */
  --border-input-focus: var(--border-input-active);
  --ring-input-focus: var(--alpha-emerald-800-20);
  --ring-input-focus-offset: var(--bg-body);
  /* Forms */
  /* Labels */
  --text-form-label: var(--utility-neutral-600);
  --text-form-label-strong: var(--utility-neutral-600);
  --text-form-label-muted: var(--utility-neutral-400);
  --text-form-label-required: var(--utility-red-500);
  /* Help / meta */
  --text-form-hint: var(--utility-neutral-400);
  --text-form-hint-muted: var(--utility-neutral-400);
  /* Messages */
  --text-form-error: var(--text-danger);
  --text-form-success: var(--text-success);
  --text-form-warning: var(--text-warning);
  --text-form-info: var(--text-info);
  /* Info button */
  --text-form-info-btn: var(--utility-neutral-500);
  --bg-form-info-btn-hover: var(--utility-neutral-100);
  --border-form-info-btn: var(--alpha-0);
  /* Validation borders (ties into your input tokens) */
  --border-form-error: var(--border-danger);
  --border-form-success: var(--border-success);
  --border-form-warning: var(--border-warning);
  --border-form-info: var(--border-info);
  /* Layout helpers */
  --border-form-divider: var(--utility-neutral-100);
  /* Theme tokens – Checkbox & Toggle V2 */
  /* Shared label/meta */
  --text-check-label: var(--text-primary);
  --text-check-label-muted: var(--utility-neutral-500);
  /* Checkbox tokens */
  /* text/icon */
  --text-checkbox: var(--utility-neutral-900);
  --text-checkbox-checked: var(--alpha-white-100);
  --text-checkbox-disabled: var(--utility-neutral-500);
  /* backgrounds */
  --bg-checkbox: var(--alpha-0);
  --bg-checkbox-active: var(--utility-neutral-100);
  --bg-checkbox-checked: var(--utility-neutral-900);
  --bg-checkbox-disabled: var(--utility-neutral-100);
  /* Disabled checked */
  --bg-checkbox-disabled-checked: var(--utility-neutral-400);
  /* borders */
  --border-checkbox: var(--utility-neutral-200);
  --border-checkbox-hover: var(--utility-neutral-500);
  --border-checkbox-active: var(--utility-neutral-900);
  --border-checkbox-checked: var(--utility-neutral-900);
  --border-checkbox-disabled: var(--utility-neutral-300);
  /* Disabled checked */
  --border-checkbox-disabled-checked: var(--utility-neutral-400);
  /* semantic */
  --border-checkbox-error: var(--border-danger);
  --border-checkbox-success: var(--border-success);
  /* Toggle tokens */
  /* track */
  --bg-toggle-track: var(--utility-neutral-200);
  --bg-toggle-track-hover: var(--utility-neutral-300);
  --bg-toggle-track-checked: var(--utility-blue-500);
  --bg-toggle-track-disabled: var(--utility-neutral-300);
  /* thumb */
  --bg-toggle-thumb: var(--alpha-white-100);
  --shadow-toggle-thumb: var(--shadow-sm);
  /* border */
  --border-toggle-track: var(--alpha-0);
  /* Radio tokens */
  /* text (kept for consistency) */
  --text-radio: var(--utility-neutral-900);
  /* backgrounds */
  --bg-radio: var(--alpha-0);
  --bg-radio-active: var(--utility-neutral-100);
  --bg-radio-disabled: var(--utility-neutral-100);
  /* dot */
  --bg-radio-dot: var(--alpha-0);
  --bg-radio-dot-checked: var(--utility-neutral-900);
  --bg-radio-dot-disabled: var(--utility-neutral-400);
  /* borders */
  --border-radio: var(--utility-neutral-300);
  --border-radio-hover: var(--utility-neutral-500);
  --border-radio-active: var(--utility-neutral-500);
  --border-radio-checked: var(--utility-neutral-900);
  --border-radio-disabled: var(--utility-neutral-300);
  /* variant borders */
  --border-radio-soft: var(--utility-neutral-200);
  --border-radio-ghost: var(--utility-neutral-200);
  /* semantic */
  --border-radio-error: var(--border-danger);
  --border-radio-success: var(--border-success);
  --bg-radio-dot-error: var(--utility-red-600);
  --bg-radio-dot-success: var(--utility-green-600);
  /* Stepper / Wizard */
  /* Step indicator (default) */
  --text-step-indicator: var(--utility-neutral-700);
  --bg-step-indicator: var(--utility-neutral-50);
  --border-step-indicator: var(--utility-neutral-200);
  --shadow-step-indicator: var(--shadow-sm);
  /* Titles */
  --text-step-title: var(--text-primary);
  --text-step-subtitle: var(--utility-neutral-500);
  /* Connector */
  --bg-step-connector: var(--utility-neutral-200);
  --bg-step-connector-fill: var(--utility-neutral-900);
  /* Hover (default — light indicator) */
  --bg-step-hover: var(--utility-neutral-200);
  --bg-step-active: var(--utility-neutral-300);
  /* Hover (current/completed — dark indicator, lighten like btn-primary) */
  --bg-step-current-hover: var(--utility-neutral-700);
  --bg-step-current-active: var(--utility-neutral-900);
  --bg-step-completed-hover: var(--utility-neutral-700);
  --bg-step-completed-active: var(--utility-neutral-900);
  /* Current */
  --text-step-current: var(--alpha-white-100);
  --bg-step-current: var(--utility-neutral-900);
  --border-step-current: var(--alpha-0);
  --text-step-title-current: var(--text-primary);
  /* Completed */
  --text-step-completed: var(--alpha-white-100);
  --bg-step-completed: var(--utility-neutral-900);
  --border-step-completed: var(--alpha-0);
  /* Disabled */
  --text-step-disabled: var(--utility-neutral-400);
  --bg-step-disabled: var(--utility-neutral-100);
  --border-step-disabled: var(--utility-neutral-200);
  /* Error */
  --text-step-error: var(--alpha-white-100);
  --bg-step-error: var(--utility-red-600);
  --border-step-error: var(--alpha-0);
  --text-step-title-error: var(--utility-red-700);
  /* Success */
  --text-step-success: var(--alpha-white-100);
  --bg-step-success: var(--utility-green-600);
  --border-step-success: var(--alpha-0);
  /* Wizard shell */
  --bg-wizard: var(--bg-primary, var(--alpha-0));
  --border-wizard: var(--border-default, var(--utility-neutral-200));
  --border-wizard-divider: var(--border-default, var(--utility-neutral-200));
  --text-wizard-title: var(--text-primary);
  --text-wizard-subtitle: var(--utility-neutral-500);
  /* Dropdown */
  /* Base menu */
  --bg-dropdown: var(--alpha-white-100);
  --border-dropdown: var(--border-primary);
  --shadow-dropdown: var(--shadow-lg);
  --blur-dropdown-backdrop: none;
  --opacity-dropdown-grain: 0;
  /* Text */
  --text-dropdown: var(--text-primary);
  --text-dropdown-item: var(--text-primary);
  --text-dropdown-icon: var(--utility-neutral-500);
  --text-dropdown-end: var(--utility-neutral-500);
  --text-dropdown-title: var(--utility-neutral-500);
  --text-dropdown-hint: var(--utility-neutral-400);
  /* Hover / active */
  --bg-dropdown-hover: var(--utility-neutral-100);
  --bg-dropdown-active: var(--utility-neutral-200);
  /* Divider */
  --border-dropdown-divider: var(--utility-neutral-100);
  /* Selected */
  --bg-dropdown-selected: var(--utility-neutral-100);
  --text-dropdown-selected: var(--text-primary);
  /* Danger */
  --text-dropdown-danger: var(--text-danger);
  --bg-dropdown-danger-hover: var(--utility-red-50);
  /* Glass */
  --bg-dropdown-glass: var(--alpha-white-80);
  --border-dropdown-glass: var(--alpha-neutral-900-10);
  --shadow-dropdown-glass: var(--shadow-lg);
  --blur-dropdown-glass: blur(20px);
  --opacity-dropdown-glass-grain: 0.1;
  --text-dropdown-glass: var(--utility-neutral-950);
  --text-dropdown-item-glass: var(--utility-neutral-950);
  --text-dropdown-icon-glass: var(--utility-neutral-700);
  --text-dropdown-end-glass: var(--utility-neutral-700);
  --bg-dropdown-glass-hover: var(--alpha-white-60);
  --bg-dropdown-glass-active: var(--alpha-white-50);
  --bg-dropdown-selected-glass: var(--alpha-white-60);
  --text-dropdown-selected-glass: var(--utility-neutral-950);
  --text-dropdown-danger-glass: var(--text-danger);
  --bg-dropdown-danger-hover-glass: var(--alpha-red-500-10, rgba(239,68,68,0.10));
  /* Table */
  /* Container / Surface */
  --bg-table: var(--alpha-white-100);
  --bg-table-surface: var(--bg-primary-subtle);
  --border-table-container: var(--border-primary);
  --radius-table: var(--radius-md, 0.375rem);
  --shadow-table: var(--shadow-sm);
  /* Header */
  --bg-table-header: var(--bg-primary);
  --bg-table-header-hover: var(--bg-primary-hover);
  /* Active (sorted) */
  --bg-table-header-active: var(--bg-secondary);
  --text-table-header-active: var(--text-primary);
  --shadow-table-header-active: var(--shadow-table-header-pressed);
  /* Pressed (mousedown on .sort) */
  --bg-table-header-pressed: var(--bg-tertiary);
  --shadow-table-header-pressed: inset 0 1px 0 rgba(0,0,0,.06);
  --bg-table-header-sticky: var(--bg-table-header);
  --text-table-header: var(--text-secondary);
  --icon-table-header: var(--text-tertiary);
  --border-table-header: var(--border-primary);
  /* Body / Footer Text */
  --text-table: var(--text-primary);
  --text-table-active: var(--text-primary);
  --text-table-footer: var(--text-secondary-alt);
  --text-table-disabled: var(--text-disabled);
  /* Row States */
  --bg-table-row-hover: var(--bg-primary-subtle); /* default hover */
  --bg-table-row-zebra: var(--bg-primary-subtle);
  --bg-table-row-selected: var(--bg-info-subtle);
  --bg-table-row-active: var(--bg-primary);
  /* Focus within row */
  --bg-table-row-focus: var(--bg-info-subtle);
  --ring-table-row-focus: 0 0 0 2px var(--border-info-subtle);
  /* Disabled */
  --bg-table-row-disabled: var(--bg-primary-subtle);
  /* Intent rows */
  --bg-table-row-success: var(--bg-success-subtle);
  --bg-table-row-warning: var(--bg-warning-subtle);
  --bg-table-row-danger: var(--bg-danger-subtle);
  --text-table-row-success: var(--text-success-solid);
  --text-table-row-warning: var(--text-warning-solid);
  --text-table-row-danger: var(--text-danger-solid);
  /* Row Sweep — transient feedback */
  --bg-row-sweep-success: rgba(22, 163, 74, 0.10);
  --bg-row-sweep-info: rgba(37, 99, 235, 0.10);
  --bg-row-sweep-warning: rgba(217, 119, 6, 0.10);
  --bg-row-sweep-danger: rgba(220, 38, 38, 0.10);
  --duration-row-sweep: 800ms;
  --duration-row-sweep-fade: 600ms;
  --ease-row-sweep: cubic-bezier(0.25, 0.1, 0.25, 1);
  /* Cell Micro-states (optional) */
  --bg-table-cell-hover: var(--bg-primary-subtle);
  --bg-table-cell-focus: var(--bg-info-subtle);
  --ring-table-cell-focus: 0 0 0 2px var(--border-info-subtle);
  /* Hover opt-out (td/th.no-hover while row hovered) */
  --bg-table-cell-no-hover: var(--bg-table);
  /* Footer */
  --bg-table-footer: var(--bg-primary-subtle);
  --bg-table-footer-sticky: var(--bg-table-footer);
  /* Borders */
  --border-table: var(--border-primary-subtle);
  --border-table-grid: var(--border-primary);
  --border-table-grid-strong: var(--border-primary-alt);
  --border-table-sticky-divider: var(--border-primary-solid);
  /* Sticky Columns */
  --bg-table-sticky: var(--bg-table);
  --bg-table-sticky-hover: var(--bg-table-row-hover);
  --bg-table-sticky-selected: var(--bg-table-row-selected);
  --bg-table-sticky-active: var(--bg-table-row-active);
  --bg-table-sticky-focus: var(--bg-table-row-focus);
  /* Sticky Shadows / Separators */
  --shadow-table-sticky-header: inset 0 -1px 0 var(--border-table-header);
  --shadow-table-sticky-footer: inset 0 1px 0 var(--border-table);
  --shadow-table-sticky-col: inset -1px 0 0 var(--border-table-sticky-divider);
  --shadow-table-sticky-col-right: inset 1px 0 0 var(--border-table-sticky-divider);
  /* Column Hover (optional / JS) */
  --bg-table-col-hover: var(--bg-info-subtle);
  /* Editable Controls Inside Table */
  --bg-table-control: var(--alpha-0);
  --bg-table-control-focus: var(--bg-input-select);
  --border-table-control: var(--border-table);
  /* Panel surfaces (powershell frame bg) */
  --bg-panel: var(--alpha-white-100);
  --bg-panel-raised: var(--alpha-white-100);
  --bg-panel-sunken: var(--alpha-neutral-50-50);
  --border-panel: var(--border-primary);
  /* Card */
  /* Base card */
  --bg-card: var(--alpha-white-100);
  --bg-card-alt: var(--alpha-white-100);
  --bg-card-hover: var(--bg-primary-subtle); /* was utility-neutral-50 */
  --bg-card-hover-surface: var(--alpha-emerald-900-10);
  --bg-card-pressed: var(--bg-primary-hover);
  --text-card: var(--text-primary);
  --border-card: var(--border-primary);
  --border-card-active: var(--border-secondary);
  --shadow-card: var(--shadow-sm);
  --shadow-card-active: var(--shadow-sm);
  --shadow-card-pressed: inset 0 1px 0 rgba(0,0,0,.06);
  /* Backdrop + grain */
  --blur-card-backdrop: none;
  --opacity-card-grain: 0;
  /* Dividers + focus */
  --border-card-divider: var(--border-primary-subtle);
  --border-card-focus: var(--alpha-0);
  --ring-card-focus: 0 0 0 1px var(--alpha-0);
  /* Disabled */
  --opacity-card-disabled: 0.65;
  --filter-card-disabled: none;
  /* Sizing */
  --radius-card-sm: var(--radius-lg, 0.5rem);
  --radius-card-md: var(--radius-xl, 0.75rem);
  --radius-card-lg: var(--radius-2xl, 1rem);
  /* Flat */
  --bg-card-flat: var(--alpha-white-100);
  --border-card-flat: var(--border-primary);
  --opacity-card-flat-grain: 0;
  /* Light */
  --bg-card-light: var(--utility-neutral-100);
  --border-card-light: var(--border-primary);
  --opacity-card-light-grain: 0;
  /* Soft */
  --bg-card-soft: var(--bg-primary-subtle);
  --border-card-soft: var(--alpha-0);
  /* Ghost */
  --bg-card-ghost: var(--alpha-0);
  --border-card-ghost: var(--border-primary);
  --shadow-card-ghost: none;
  /* Strong outline */
  --border-card-strong: var(--border-primary-solid);
  /* Mini */
  --bg-card-mini: var(--bg-card);
  --border-card-mini: var(--border-card);
  --text-card-mini: var(--text-card);
  --opacity-card-mini-grain: 0;
  /* Glass */
  --bg-glass-card: var(--alpha-white-20);
  --border-glass-card: var(--alpha-white-20);
  --text-glass-card: var(--text-primary);
  --blur-glass-card: blur(20px);
  --shadow-glass-card: var(--shadow-md);
  --opacity-glass-card-grain: 0.15;
  --opacity-glass-grain-sm: 0.15;
  --opacity-glass-grain-md: 0.2;
  --opacity-glass-grain-lg: 0.25;
  --opacity-glass-grain-xl: 0.3;
  /* Glass blur per size */
  --blur-glass-card-sm: blur(10px);
  --blur-glass-card-md: blur(16px);
  --blur-glass-card-lg: blur(22px);
  --blur-glass-card-xl: blur(28px);
  /* List */
  /* Container */
  --bg-list: var(--alpha-white-100);
  --border-list: var(--border-primary);
  --radius-list: var(--radius-md, 0.375rem);
  /* Header */
  --text-list-header: var(--text-secondary);
  --border-list-header: var(--border-primary-subtle);
  --bg-list-header: var(--bg-primary-subtle);
  /* Items */
  --bg-list-item: var(--bg-list);
  --bg-list-item-hover: var(--bg-primary-subtle);
  --bg-list-item-active: var(--bg-secondary-subtle);
  --bg-list-item-selected: var(--bg-info-subtle);
  --bg-list-item-focus: var(--bg-info-subtle);
  --text-list-item: var(--text-primary);
  --text-list-item-title: var(--text-primary);
  --text-list-item-subtitle: var(--text-tertiary);
  --text-list-item-leading: var(--text-tertiary);
  --text-list-item-trailing: var(--text-tertiary);
  /* Dividers */
  --border-list-divider: var(--utility-neutral-100);
  --space-list-inset: 3rem;
  /* Active indicator (optional) */
  --size-list-indicator: 3px;
  --bg-list-indicator: var(--bg-info);
  /* Focus ring */
  --ring-list-item-focus: 0 0 0 2px var(--border-info-subtle);
  /* Density */
  --space-list-item-x: 1rem;
  --space-list-item-y: 0.5rem;
  --space-list-item-y-compact: 0.375rem;
  --space-list-item-y-relaxed: 0.75rem;
  /* Disabled */
  --opacity-list-item-disabled: 0.6;
  --bg-list-item-disabled: var(--bg-primary-subtle);
  --text-list-item-disabled: var(--text-disabled);
  /* Intent items */
  --bg-list-item-success: var(--bg-success-subtle);
  --bg-list-item-warning: var(--bg-warning-subtle);
  --bg-list-item-danger: var(--bg-danger-subtle);
  --bg-list-item-info: var(--bg-info-subtle);
  /* Tree View */
  --bg-tree-surface: var(--alpha-0);
  --text-tree: var(--text-primary);
  --bg-tree-row: var(--alpha-0);
  --bg-tree-row-hover: var(--bg-primary-subtle);
  --bg-tree-row-active: var(--utility-neutral-100);
  --text-tree-row-active: var(--text-primary);
  --bg-tree-row-selected: var(--utility-neutral-100);
  --text-tree-row-selected: var(--text-primary);
  --bg-tree-row-disabled: var(--bg-primary-subtle);
  --text-tree-row-disabled: var(--text-disabled);
  --opacity-tree-disabled: 0.6;
  --bg-tree-line: var(--border-primary);
  --opacity-tree-line: 0.9;
  --bg-tree-toggle: var(--bg-primary);
  --border-tree-toggle: var(--border-primary);
  --text-tree-toggle: var(--text-tertiary);
  --text-tree-icon: var(--text-tertiary);
  --text-tree-label: var(--text-primary);
  --text-tree-meta: var(--text-tertiary);
  --text-tree-actions: var(--text-tertiary);
  --ring-tree-row: var(--alpha-0);
  --radius-tree-row: var(--radius-md, 0.5rem);
  /* Badge */
  /* Base */
  --text-badge: var(--text-primary);
  --bg-badge: var(--bg-primary-subtle);
  --bg-badge-hover: var(--bg-primary-hover);
  --bg-badge-pressed: var(--bg-primary);
  /* Alt / white */
  --bg-badge-alt: var(--alpha-white-100);
  /* Pressed shadow */
  --shadow-badge-pressed: inset 0 1px 0 rgba(0,0,0,.06);
  /* Close */
  --text-badge-close: var(--text-tertiary);
  --text-badge-close-hover: var(--text-primary);
  --bg-badge-close-hover: var(--bg-badge-hover);
  --bg-badge-close-pressed: var(--bg-badge);
  /* Style variants */
  --text-badge-solid: var(--alpha-white-100);
  --bg-badge-solid: var(--bg-primary-solid);
  --bg-badge-solid-hover: var(--bg-primary-solid);
  --bg-badge-solid-pressed: var(--bg-primary-solid);
  /* Outline */
  --bg-badge-outline: var(--alpha-0);
  --border-badge-outline: var(--border-primary);
  --text-badge-outline: var(--text-primary);
  --bg-badge-outline-hover: var(--bg-primary-subtle);
  --bg-badge-outline-pressed: var(--bg-primary-hover);
  /* Ghost */
  --text-badge-ghost: var(--text-secondary);
  --bg-badge-ghost-hover: var(--bg-primary-subtle);
  --bg-badge-ghost-pressed: var(--bg-primary-hover);
  /* Intent: semantic */
  --text-badge-danger: var(--text-danger);
  --bg-badge-danger: var(--bg-danger-subtle);
  --bg-badge-danger-hover: var(--bg-danger-subtle);
  --bg-badge-danger-pressed: var(--bg-danger-subtle);
  --text-badge-warning: var(--text-warning-solid);
  --bg-badge-warning: var(--bg-warning-subtle);
  --bg-badge-warning-hover: var(--bg-warning-subtle);
  --bg-badge-warning-pressed: var(--bg-warning-subtle);
  --text-badge-success: var(--text-success);
  --bg-badge-success: var(--bg-success-subtle);
  --bg-badge-success-hover: var(--bg-success-subtle);
  --bg-badge-success-pressed: var(--bg-success-subtle);
  --text-badge-info: var(--text-info);
  --bg-badge-info: var(--bg-info-subtle);
  --bg-badge-info-hover: var(--bg-info-subtle);
  --bg-badge-info-pressed: var(--bg-info-subtle);
  /* Accent colors (foundation) */
  --text-badge-indigo: var(--text-indigo);
  --bg-badge-indigo: var(--bg-indigo-subtle);
  --bg-badge-indigo-hover: var(--bg-indigo-subtle);
  --bg-badge-indigo-pressed: var(--bg-indigo-subtle);
  --text-badge-purple: var(--text-purple);
  --bg-badge-purple: var(--bg-purple-subtle);
  --bg-badge-purple-hover: var(--bg-purple-subtle);
  --bg-badge-purple-pressed: var(--bg-purple-subtle);
  --text-badge-pink: var(--text-pink);
  --bg-badge-pink: var(--bg-pink-subtle);
  --bg-badge-pink-hover: var(--bg-pink-subtle);
  --bg-badge-pink-pressed: var(--bg-pink-subtle);
  --text-badge-teal: var(--text-teal);
  --bg-badge-teal: var(--bg-teal-subtle);
  --bg-badge-teal-hover: var(--bg-teal-subtle);
  --bg-badge-teal-pressed: var(--bg-teal-subtle);
  --text-badge-mint: var(--text-mint);
  --bg-badge-mint: var(--bg-mint-subtle, var(--bg-teal-subtle)); /* if mint bg tokens exist */
  --bg-badge-mint-hover: var(--bg-mint-subtle, var(--bg-teal-subtle));
  --bg-badge-mint-pressed: var(--bg-mint-subtle, var(--bg-teal-subtle));
  /* Notification */
  --text-badge-notification: var(--alpha-white-100);
  --bg-badge-notification: var(--bg-danger);
  /* Dot/status */
  --text-badge-status: var(--text-primary);
  --text-badge-dot: var(--text-primary);
  --bg-badge-dot: var(--bg-primary);
  /* Dots */
  --dot-light: var(--bg-secondary-alt);
  --dot-danger: var(--bg-danger);
  --dot-warning: var(--bg-warning);
  --dot-success: var(--bg-success);
  --dot-info: var(--bg-info);
  --dot-indigo: var(--bg-indigo);
  --dot-purple: var(--bg-purple);
  --dot-pink: var(--bg-pink);
  --dot-teal: var(--bg-teal);
  --dot-mint: var(--bg-mint, var(--bg-teal)); /* fallback if mint solid token differs */
  /* Avatar */
  /* Base */
  --text-avatar: var(--text-primary);
  --bg-avatar: var(--bg-secondary-subtle);
  --ring-avatar: var(--border-primary);
  /* Style variants */
  --bg-avatar-soft: var(--bg-secondary-subtle);
  --text-avatar-soft: var(--text-primary);
  --bg-avatar-solid: var(--bg-primary-solid);
  --text-avatar-solid: var(--alpha-white-100);
  --text-avatar-outline: var(--text-primary);
  --border-avatar-outline: var(--border-primary);
  --text-avatar-ghost: var(--text-primary);
  /* Presence badge */
  --bg-avatar-badge-ring: var(--bg-avatar);
  --border-avatar-badge: var(--border-primary);
  --bg-avatar-online: var(--bg-success-alt);
  --bg-avatar-away: var(--bg-warning-alt);
  --bg-avatar-busy: var(--bg-danger-alt);
  --bg-avatar-ooo: var(--utility-fuchsia-400);
  --bg-avatar-offline: var(--utility-neutral-400);
  /* Group stacking ring */
  --ring-avatar-stack: var(--alpha-white-20);
  /* Overflow pill (+N) */
  --bg-avatar-more: var(--bg-primary-subtle);
  --text-avatar-more: var(--text-secondary);
  --ring-avatar-more: var(--border-primary);
  /* Semantic fills (optional) */
  --bg-avatar-info: var(--bg-info-subtle);
  --text-avatar-info: var(--text-info-solid);
  --ring-avatar-info: var(--border-info-subtle);
  --bg-avatar-success: var(--bg-success-subtle);
  --text-avatar-success: var(--text-success-solid);
  --ring-avatar-success: var(--border-success-subtle);
  --bg-avatar-warning: var(--bg-warning-subtle);
  --text-avatar-warning: var(--text-warning-solid);
  --ring-avatar-warning: var(--border-warning-subtle);
  --bg-avatar-danger: var(--bg-danger-subtle);
  --text-avatar-danger: var(--text-danger-solid);
  --ring-avatar-danger: var(--border-danger-subtle);
  /* Extra semantic families */
  --bg-avatar-indigo: var(--bg-indigo-subtle);
  --text-avatar-indigo: var(--text-indigo-solid);
  --bg-avatar-purple: var(--bg-purple-subtle);
  --text-avatar-purple: var(--text-purple-solid);
  --bg-avatar-pink: var(--bg-pink-subtle);
  --text-avatar-pink: var(--text-pink-solid);
  --bg-avatar-teal: var(--bg-teal-subtle);
  --text-avatar-teal: var(--text-teal-solid);
  --bg-avatar-mint: var(--bg-mint-subtle);
  --text-avatar-mint: var(--text-mint-solid);
  /* Persona */
  /* Base */
  --bg-persona: var(--alpha-white-100);
  --border-persona: var(--border-primary);
  --text-persona: var(--text-primary);
  --text-persona-title: var(--text-primary);
  --text-persona-subtitle: var(--text-tertiary);
  --text-persona-meta: var(--text-quaternary);
  /* Tag (optional) */
  --bg-persona-tag: var(--bg-primary-subtle);
  --text-persona-tag: var(--text-secondary);
  --border-persona-tag: var(--border-primary-subtle);
  /* Surface variants */
  --bg-persona-soft: var(--bg-primary-subtle);
  --border-persona-soft: var(--alpha-0);
  --bg-persona-ghost: var(--alpha-0);
  --border-persona-ghost: var(--border-primary-subtle);
  --border-persona-strong: var(--border-primary-solid);
  --shadow-persona: var(--shadow-sm);
  /* Interaction */
  --bg-persona-hover: var(--bg-primary-subtle);
  --border-persona-hover: var(--border-primary);
  --bg-persona-pressed: var(--bg-primary-hover);
  --border-persona-pressed: var(--border-primary-alt);
  /* NEW: pressed shadow (button-like) */
  --shadow-persona-pressed: inset 0 1px 0 rgba(0,0,0,.06);
  /* Selected */
  --bg-persona-selected: var(--bg-info-subtle);
  --border-persona-selected: var(--border-info-subtle);
  /* Focus */
  --ring-persona-focus: 0 0 0 2px var(--border-info-subtle);
  /* Disabled */
  --opacity-persona-disabled: 0.65;
  --filter-persona-disabled: none;
  /* Status pill */
  --bg-persona-status: var(--bg-primary-subtle);
  --border-persona-status: var(--border-primary-subtle);
  --text-persona-status: var(--text-secondary);
  --bg-persona-status-dot: var(--bg-secondary-solid);
  /* Status intent dots */
  --bg-persona-dot-success: var(--bg-success-alt);
  --bg-persona-dot-warning: var(--bg-warning-alt);
  --bg-persona-dot-danger: var(--bg-danger-alt);
  --bg-persona-dot-info: var(--bg-info-alt);
  /* Divider */
  /* Base */
  --border-divider: var(--utility-neutral-100);
  --border-divider-subtle: var(--utility-neutral-50);
  --border-divider-strong: var(--utility-neutral-100);
  --border-divider-ghost: var(--alpha-neutral-100-80);
  --text-divider: var(--text-tertiary);
  /* Optional */
  --bg-divider: var(--bg-primary);
  /* Progress */
  /* Linear — Track + Bar */

  --height-progress-track: 4px;
  --bg-progress: var(--utility-neutral-200); 
  --bg-progress-bar: var(--utility-blue-500);
  --text-progress: var(--alpha-white-100);
  /* Intent bars */
  --bg-progress-bar-success: var(--bg-success);
  --bg-progress-bar-warning: var(--bg-warning);
  --bg-progress-bar-danger: var(--bg-danger);
  --bg-progress-bar-info: var(--bg-info);
  --bg-progress-bar-neutral: var(--utility-neutral-500);
  /* Radial / Circular */

  --bg-progress-radial-inner: var(--alpha-white-100);
  --text-progress-radial: var(--text-primary);
  /* Track inside radial */
  --bg-progress-radial-track: var(--bg-progress);
  /* Cap / Dot marker */
  --size-progress-cap: 10px;
  --shadow-progress-cap: 0 0 0 2px var(--bg-progress-radial-inner);
  /* Optional glow */
  --shadow-progress-cap-glow: 0 0 8px var(--bg-progress-bar), 0 0 0 2px var(--bg-progress-radial-inner);
  /* Indeterminate */

  --duration-progress-indeterminate: 1.2s;
  --easing-progress-indeterminate: ease-in-out;
  /* Stack */

  --gap-progress-stack: 2px;
  /* Size System (Radial Defaults) */

  --size-progress-radial-xs: 28px;
  --size-progress-radial-sm: 36px;
  --size-progress-radial-md: 48px;
  --size-progress-radial-lg: 64px;
  --size-progress-radial-xl: 84px;
  --thickness-progress-radial-xs: 4px;
  --thickness-progress-radial-sm: 5px;
  --thickness-progress-radial-md: 6px;
  --thickness-progress-radial-lg: 8px;
  --thickness-progress-radial-xl: 10px;
  /* Accessibility Contrast Overrides */

  --text-progress-success: var(--alpha-white-100);
  --text-progress-warning: var(--text-primary);
  --text-progress-danger: var(--alpha-white-100);
  --text-progress-info: var(--alpha-white-100);
  --text-progress-neutral: var(--alpha-white-100);
  /* Busy Spinner */
  /* Sizes */
  --size-spinner-sm: 16px;
  --size-spinner-md: 20px;
  --size-spinner-lg: 24px;
  --size-spinner-xl: 32px;
  --size-spinner: var(--size-spinner-lg);
  /* Stroke scaling */
  --stroke-spinner-sm: 2;
  --stroke-spinner-md: 2.5;
  --stroke-spinner-lg: 3;
  --stroke-spinner-xl: 4;
  --stroke-spinner: 2px;
  /* Color */
  --text-spinner: var(--utility-blue-500);
  /* Track */
  --opacity-spinner-track: 0.14;
  /* Overlay */
  --bg-spinner-overlay: var(--alpha-white-80);
  --blur-spinner-overlay: 4px;
  /* Motion */
  --duration-spinner-rotate: 1.2s;
  --duration-spinner-dash: 1.5s;
  --ease-spinner-dash: cubic-bezier(.4, 0, .2, 1);
  /* Overlay transition */
  --duration-spinner-overlay: 180ms;
  --ease-spinner-overlay: cubic-bezier(.2, 0, .2, 1);
  /* Pop */
  --duration-spinner-pop: 160ms;
  --ease-spinner-pop: cubic-bezier(.2, 0, .2, 1);
  /* Links V2 */
  --text-link: var(--utility-blue-800);
  --text-link-hover: var(--utility-blue-900);
  --text-link-secondary: var(--utility-neutral-700);
  --text-link-secondary-hover: var(--alpha-black-100);
  --text-link-muted: var(--utility-neutral-500);
  --text-link-muted-hover: var(--utility-neutral-700);
  --text-link-danger: var(--utility-red-600);
  --text-link-danger-hover: var(--utility-red-700);
  --border-link-focus: var(--utility-blue-500);
  /* Tags */
  /* Motion */
  --duration-tag: 140ms;
  --ease-tag: cubic-bezier(.2, 0, .2, 1);
  /* Base sizing */
  --radius-tag: 999px;
  --padding-tag-y: 4px;
  --padding-tag-x: 10px;
  --size-tag-icon: 14px;
  --text-tag-icon: 12px;
  --opacity-tag-icon: 0.9;
  --size-tag-dismiss: 18px;
  --opacity-tag-disabled: 0.55;
  /* Size presets */
  --text-tag-sm: 11px;
  --text-tag-md: 12px;
  --text-tag-lg: 13px;
  --padding-tag-sm-y: 3px;
  --padding-tag-sm-x: 8px;
  --radius-tag-sm: 999px;
  --padding-tag-md-y: 4px;
  --padding-tag-md-x: 10px;
  --radius-tag-md: 999px;
  --padding-tag-lg-y: 6px;
  --padding-tag-lg-x: 12px;
  --radius-tag-lg: 999px;
  /* Neutral (default) */
  --bg-tag-neutral: var(--alpha-neutral-950-6);
  --bg-tag-neutral-hover: var(--alpha-neutral-950-10);
  --text-tag-neutral: var(--text-muted);
  --text-tag-neutral-hover: var(--text-primary);
  --border-tag-neutral: var(--alpha-neutral-950-10);
  --border-tag-neutral-hover: var(--alpha-neutral-950-16);
  --border-tag-neutral-focus: var(--utility-blue-300);
  --bg-tag-neutral-dismiss-hover: var(--alpha-neutral-950-10);
  /* Primary */
  --bg-tag-primary: var(--alpha-blue-500-12);
  --bg-tag-primary-hover: var(--alpha-blue-500-16);
  --text-tag-primary: var(--utility-blue-600);
  --text-tag-primary-hover: var(--utility-blue-700);
  --border-tag-primary: var(--alpha-blue-500-18);
  --border-tag-primary-hover: var(--alpha-blue-500-24);
  --border-tag-primary-focus: var(--utility-blue-300);
  --bg-tag-primary-dismiss-hover: var(--alpha-blue-500-12);
  /* Success */
  --bg-tag-success: var(--alpha-green-500-12);
  --bg-tag-success-hover: var(--alpha-green-500-16);
  --text-tag-success: var(--utility-green-600);
  --text-tag-success-hover: var(--utility-green-700);
  --border-tag-success: var(--alpha-green-500-18);
  --border-tag-success-hover: var(--alpha-green-500-24);
  --border-tag-success-focus: var(--utility-green-300);
  --bg-tag-success-dismiss-hover: var(--alpha-green-500-12);
  /* Warning */
  --bg-tag-warning: var(--alpha-amber-500-14);
  --bg-tag-warning-hover: var(--alpha-amber-500-18);
  --text-tag-warning: var(--utility-amber-700);
  --text-tag-warning-hover: var(--utility-amber-800);
  --border-tag-warning: var(--alpha-amber-500-22);
  --border-tag-warning-hover: var(--alpha-amber-500-28);
  --border-tag-warning-focus: var(--utility-amber-300);
  --bg-tag-warning-dismiss-hover: var(--alpha-amber-500-14);
  /* Danger */
  --bg-tag-danger: var(--alpha-red-500-12);
  --bg-tag-danger-hover: var(--alpha-red-500-16);
  --text-tag-danger: var(--utility-red-600);
  --text-tag-danger-hover: var(--utility-red-700);
  --border-tag-danger: var(--alpha-red-500-18);
  --border-tag-danger-hover: var(--alpha-red-500-24);
  --border-tag-danger-focus: var(--utility-red-300);
  --bg-tag-danger-dismiss-hover: var(--alpha-red-500-12);
  /* Soft / Outline */
  --bg-tag-soft: var(--alpha-neutral-950-6);
  --border-tag-soft: var(--alpha-neutral-950-10);
  --border-tag-outline: var(--alpha-neutral-950-16);
  /* Selected */
  --bg-tag-selected: var(--alpha-blue-500-16);
  --border-tag-selected: var(--alpha-blue-500-24);
  --text-tag-selected: var(--utility-blue-700);
  /* Dismiss button (defaults; variant blocks override bg) */
  --text-tag-dismiss: var(--text-muted);
  --text-tag-dismiss-hover: var(--text-primary);
  --bg-tag-dismiss-hover: var(--alpha-neutral-950-10);
  /* Filter */
  /* Base Item */

  --text-filter: var(--text-primary);
  --text-filter-hover: var(--text-primary-hover);
  --text-filter-disabled: var(--text-disabled);
  --bg-filter: var(--alpha-white-100);
  --bg-filter-hover: var(--utility-neutral-100);
  --bg-filter-active: var(--utility-neutral-100);
  --bg-filter-selected: var(--bg-info-subtle);
  --bg-filter-pressed: var(--utility-neutral-200);
  --opacity-filter-disabled: 0.65;
  /* Collapsible Section (Header Row) */

  --bg-filter-section: var(--bg-filter);
  --bg-filter-section-open: var(--bg-filter-hover);
  --bg-filter-section-pressed: var(--bg-filter-pressed);
  --text-filter-chevron: var(--text-tertiary);
  /* Collapse Body */

  --bg-filter-collapse: var(--bg-filter);
  --bg-filter-collapse-inner: var(--alpha-0);
  --border-filter: var(--border-primary);
  --border-filter-collapse: var(--border-filter);
  --border-filter-focus: var(--border-info-subtle);
  --ring-filter-focus: 0 0 0 2px var(--border-info-subtle);
  /* Nested Filter Items (inside collapse) */

  --bg-filter-nested: var(--alpha-0);
  --bg-filter-nested-hover: var(--bg-filter-hover);
  /* Filter Menu (thin header strip) */

  --text-filter-menu: var(--text-secondary);
  --bg-filter-menu: var(--alpha-0);
  /* Labels / Group Headings */

  --text-filter-label: var(--text-tertiary);
  /* Intent Rows (Optional Semantic States) */

  --bg-filter-success: var(--bg-success-subtle);
  --bg-filter-warning: var(--bg-warning-subtle);
  --bg-filter-danger: var(--bg-danger-subtle);
  --bg-filter-info: var(--bg-info-subtle);
  /* Density */

  --space-filter-item-x: 1rem; /* matches px-4 */
  --space-filter-item-y: 0.5rem; /* base vertical rhythm */
  --space-filter-item-y-compact: 0.375rem;
  --space-filter-item-y-relaxed: 0.75rem;
  /* Photo Viewer */
  --text-photo-viewer: var(--text-primary);
  --bg-photo-viewer-main: var(--alpha-white-100);
  --border-photo-viewer-main: var(--border-primary);
  --shadow-photo-viewer-main: var(--shadow-sm);
  --bg-photo-viewer-image: var(--utility-neutral-100);
  --bg-photo-viewer-bar: var(--alpha-0);
  --border-photo-viewer-bar: var(--border-primary-subtle);
  --text-photo-viewer-bar: var(--text-secondary);
  --text-photo-viewer-title: var(--text-primary);
  --text-photo-viewer-meta: var(--text-tertiary);
  --bg-photo-viewer-action: var(--alpha-0);
  --bg-photo-viewer-action-hover: var(--bg-primary-subtle);
  --bg-photo-viewer-action-active: var(--bg-primary-hover);
  --border-photo-viewer-action: var(--border-primary-subtle);
  --border-photo-viewer-action-hover: var(--border-primary);
  --text-photo-viewer-action: var(--text-secondary);
  --text-photo-viewer-action-hover: var(--text-primary);
  --bg-photo-viewer-content: var(--alpha-0);
  --border-photo-viewer-content: var(--border-primary-subtle);
  --text-photo-viewer-content: var(--text-secondary);
  --text-photo-viewer-content-meta: var(--text-tertiary);
  --text-photo-viewer-content-body: var(--text-primary);
  --bg-photo-viewer-strip: var(--alpha-0);
  --border-photo-viewer-strip: var(--border-primary-subtle);
  --bg-photo-viewer-thumb: var(--alpha-0);
  --bg-photo-viewer-thumb-hover: var(--bg-primary-subtle);
  --bg-photo-viewer-thumb-active: var(--bg-primary-hover);
  --border-photo-viewer-thumb: var(--border-primary-subtle);
  --border-photo-viewer-thumb-hover: var(--border-primary);
  --border-photo-viewer-thumb-active: var(--border-primary);
  --border-photo-viewer-thumb-selected: var(--border-info);
  --shadow-photo-viewer-thumb: none;
  --ring-photo-viewer-thumb-focus: 0 0 0 2px var(--border-info-subtle);
  --opacity-photo-viewer-thumb: 0.92;
  --opacity-photo-viewer-thumb-disabled: 0.6;
  --filter-photo-viewer-thumb-disabled: none;
  /* Apex Sparkline */
  --stroke-spark-width: 2;
  --stroke-spark: var(--utility-blue-500);
  --fill-spark-area: var(--alpha-0);
  --border-spark-grid: var(--utility-neutral-700);
  --marker-spark: var(--stroke-spark);
  --size-spark-marker: 0;
  --size-spark-marker-hover: 3;
  --border-spark-setpoint: var(--utility-neutral-200);
  --border-spark-deadband: var(--utility-neutral-100);
  --border-spark-warn: var(--utility-yellow-500);
  --bg-spark-tooltip: var(--alpha-white-100);
  --text-spark-tooltip: var(--utility-neutral-900);
  --border-spark-tooltip: var(--utility-neutral-300);
  /* Apex Master */
  --apex-text: var(--utility-neutral-900);
  --apex-text-muted: var(--utility-neutral-900);
  --apex-border: var(--utility-neutral-200);
  --apex-border-accent: var(--utility-neutral-300);
  --apex-bg-surface: transparent;
  --apex-bg-subtle: var(--utility-neutral-100);
  --apex-bg-popover: var(--alpha-white-100);
  --apex-legend-text: var(--utility-neutral-900);
  --apex-tooltip-text: var(--utility-neutral-900);
  --apex-tooltip-bg: var(--alpha-white-100);
  --apex-tooltip-border: var(--utility-neutral-200);
  --apex-tooltip-shadow: var(--shadow-xl);
  --apex-tooltip-marker-border: transparent;
  --apex-crosshair-opacity: 0.35;
  --apex-selection-fill-opacity: 0.08;
  --apex-selection-stroke-opacity: 0.35;
  --apex-datalabel-text: var(--utility-neutral-900);
  --apex-nodata-text: var(--utility-neutral-900);
  --apex-loading-text: var(--utility-neutral-900);
  --apex-toolbar-ink: var(--utility-neutral-900);
  --apex-pie-label-text: var(--utility-neutral-900);
  --apex-radial-value-text: var(--utility-neutral-900);
  --apex-radial-track: var(--utility-neutral-200);
  --apex-heatmap-stroke: var(--utility-neutral-100);
  --apex-annotation-text: var(--utility-neutral-900);
  --apex-annotation-bg: var(--alpha-white-100);
  --apex-annotation-border: var(--utility-neutral-200);
  --apex-series-1: var(--utility-blue-400);
  --apex-series-2: var(--utility-green-400);
  --apex-series-3: var(--utility-yellow-400);
  --apex-series-4: var(--utility-teal-400);
  --apex-series-5: var(--utility-indigo-400);
  --apex-series-6: var(--utility-pink-400);
  --apex-series-7: var(--utility-amber-400);
  --apex-series-8: var(--utility-red-400);
  --apex-series-9: var(--utility-purple-400);
  --apex-series-10: var(--utility-neutral-400);
  --apex-series-11: var(--utility-orange-400);
  --apex-series-12: var(--utility-lime-400);
  --apex-series-line-1: var(--utility-red-400);
  --apex-series-line-2: var(--utility-yellow-400);
  --apex-series-line-3: var(--utility-yellow-400);
  --apex-series-line-4: var(--utility-teal-400);
  --apex-series-line-5: var(--utility-indigo-400);
  --apex-series-line-6: var(--utility-pink-400);
  --apex-series-line-7: var(--utility-amber-400);
  --apex-series-line-8: var(--utility-red-400);
  --apex-series-line-9: var(--utility-purple-400);
  --apex-series-line-10: var(--utility-neutral-400);
  --apex-series-line-11: var(--utility-orange-400);
  --apex-series-line-12: var(--utility-lime-400);
  --apex-series-pie-1: var(--utility-blue-400);
  --apex-series-pie-2: var(--utility-green-400);
  --apex-series-pie-3: var(--utility-yellow-400);
  --apex-series-pie-4: var(--utility-teal-400);
  --apex-series-pie-5: var(--utility-indigo-400);
  --apex-series-pie-6: var(--utility-pink-400);
  --apex-series-pie-7: var(--utility-amber-400);
  --apex-series-pie-8: var(--utility-red-400);
  --apex-series-pie-9: var(--utility-purple-400);
  --apex-series-pie-10: var(--utility-neutral-400);
  --apex-series-pie-11: var(--utility-orange-400);
  --apex-series-pie-12: var(--utility-lime-400);
  --apex-series-bar-1: var(--utility-blue-400);
  --apex-series-bar-2: var(--utility-green-400);
  --apex-series-bar-3: var(--utility-yellow-400);
  --apex-series-bar-4: var(--utility-teal-400);
  --apex-series-bar-5: var(--utility-indigo-400);
  --apex-series-bar-6: var(--utility-pink-400);
  --apex-series-bar-7: var(--utility-amber-400);
  --apex-series-bar-8: var(--utility-red-400);
  --apex-series-bar-9: var(--utility-purple-400);
  --apex-series-bar-10: var(--utility-neutral-400);
  --apex-series-bar-11: var(--utility-orange-400);
  --apex-series-bar-12: var(--utility-lime-400);
  --apex-series-radial-1: var(--utility-blue-400);
  --apex-series-radial-2: var(--utility-green-400);
  --apex-series-radial-3: var(--utility-yellow-400);
  --apex-series-radial-4: var(--utility-teal-400);
  --apex-series-radial-5: var(--utility-indigo-400);
  --apex-series-radial-6: var(--utility-pink-400);
  --apex-series-radial-7: var(--utility-amber-400);
  --apex-series-radial-8: var(--utility-red-400);
  --apex-series-radial-9: var(--utility-purple-400);
  --apex-series-radial-10: var(--utility-neutral-400);
  --apex-series-radial-11: var(--utility-orange-400);
  --apex-series-radial-12: var(--utility-lime-400);
  --apex-series-heatmap-1: var(--utility-blue-400);
  --apex-series-heatmap-2: var(--utility-green-400);
  --apex-series-heatmap-3: var(--utility-yellow-400);
  --apex-series-heatmap-4: var(--utility-teal-400);
  --apex-series-heatmap-5: var(--utility-indigo-400);
  --apex-series-heatmap-6: var(--utility-pink-400);
  --apex-series-heatmap-7: var(--utility-amber-400);
  --apex-series-heatmap-8: var(--utility-red-400);
  --apex-series-heatmap-9: var(--utility-purple-400);
  --apex-series-heatmap-10: var(--utility-neutral-400);
  --apex-series-heatmap-11: var(--utility-orange-400);
  --apex-series-heatmap-12: var(--utility-lime-400);
  --apex-fill-opacity-from: 0.35;
  --apex-fill-opacity-to: 0.05;
  --apex-marker-size: 2;
  --apex-marker-stroke: 1;
  --apex-marker-hover-offset: 2;
  --apex-line-stroke: 1;
  --apex-donut-value-size: 12;
  --apex-donut-name-size: 11;
  --apex-donut-total-size: 12;
  --apex-bar-column-width: 40%;
  --apex-bar-radius: 0px; /* fixed: was empty */
  --apex-bar-ending-shape: flat;
  --apex-bar-datalabels: off;
  /* Autocomplete */
  --text-autocomplete: var(--utility-neutral-950);
  --bg-autocomplete: var(--alpha-white-100);
  --border-autocomplete: var(--border-primary);
  --text-autocomplete-item: var(--utility-neutral-950); /* fixed: removed 950S */
  --text-autocomplete-active: var(--alpha-white-100);
  --bg-autocomplete-active: var(--utility-blue-500);
  /* Chat */
  --bg-activity-log-header: var(--alpha-white-100);
  --bg-activity-log-panel: var(--alpha-white-100);
  --bg-activity-log-footer: var(--alpha-white-100);
  --text-post-owner: var(--utility-neutral-950); /* fixed */
  --text-post-public: var(--utility-neutral-950); /* fixed */
  --text-post-system: var(--utility-neutral-600); /* fixed */
  --text-post-date: var(--utility-neutral-700); /* fixed */

  --bg-post-owner: var(--utility-indigo-100);
  --bg-post-public: var(--utility-neutral-100);
  --bg-post-actions: var(--alpha-white-100);
  --border-post-actions: var(--utility-neutral-100);
  /* Color Picker */
  --text-colorpicker: var(--alpha-0);
  --border-colorpicker: var(--alpha-0);
  --bg-colorpicker: var(--alpha-0);
  /* Thumbnail */
  --bg-thumbnail: var(--alpha-0); /* fixed: was --var(...) */
  --border-thumbnail: var(--alpha-0);
  --bg-thumbnail-img: var(--alpha-0);
  --bg-thumbnail-remove: var(--alpha-neutral-950-60);
  --bg-thumbnail-remove-hover: var(--utility-neutral-600);
  --text-thumbnail-remove: var(--alpha-white-100);
  --border-thumbnail-remove: var(--alpha-0);
  /* Kanban */
  --bg-kanban: var(--utility-neutral-50);
  --bg-kanban-header: var(--utility-neutral-50);
  --bg-kanban-list: var(--utility-neutral-50);
  --bg-kanban-card: var(--alpha-white-100);
  --bg-kanban-card-hover: var(--utility-neutral-50);
  --bg-kanban-card-active: var(--utility-neutral-100);
  --border-kanban: var(--utility-neutral-200);
  --border-kanban-card: var(--utility-neutral-200);
  --icon-kanban-muted: var(--text-tertiary);
  --dot-planned: var(--utility-neutral-200);
  --dot-progress: var(--color-warning);
  --dot-done: var(--color-success);
  --radius-kanban: var(--radius-lg);
  --radius-kanban-card: var(--radius-lg);
  --gap-kanban: var(--space-2);
  --pad-kanban: var(--space-4);
  --pad-kanban-header: var(--space-4);
  --pad-kanban-card: var(--space-3) var(--space-4);
  --shadow-kanban-card: var(--shadow-sm);
  --shadow-kanban-card-hover: var(--shadow-md);
  --shadow-kanban-card-drag: var(--shadow-xl);
  --bg-kanban-col: var(--utility-neutral-50);
  --w-kanban-col: 300px;
  --bg-kanban-drop-target: color-mix(in oklab, var(--utility-neutral-50), var(--color-info) 6%);
  --border-drop-target: var(--color-info);
  --bg-kanban-drop-invalid: color-mix(in oklab, var(--utility-neutral-50), var(--color-danger) 6%);
  --border-drop-invalid: var(--color-danger);
  --bg-kanban-wip-full: var(--bg-danger-subtle);
  --text-kanban-wip-full: var(--color-danger);
  --text-kanban-wip: var(--text-tertiary);
  --bg-kanban-wip: transparent;
  --border-kanban-selected: var(--color-info);
  --bg-kanban-card-media: var(--utility-neutral-100);
  --text-kanban-accent: hsl(220 90% 56%);
  /* Mapbox */
  --text-mapbox: var(--text-primary);
  --border-mapbox-origin-marker: var(--alpha-neutral-900-30);
  --border-mapbox-destination-marker: var(--alpha-neutral-900-30);
  --border-mapbox-origin-marker-disc: var(--alpha-neutral-950-30);
  --border-mapbox-destination-marker-disc: var(--alpha-neutral-900-30);
  --border-mapbox-stop-marker: var(--alpha-neutral-900-30);
  --border-mapbox-stop-marker-disc: var(--alpha-neutral-900-30);
  --bg-mapbox-origin-marker: var(--utility-neutral-950);
  --bg-mapbox-destination-marker: var(--utility-neutral-950);
  --bg-mapbox-stop-marker: var(--utility-neutral-950);
  --bg-mapbox-origin-marker-disc: var(--alpha-neutral-400-30);
  --bg-mapbox-destination-marker-disc: var(--alpha-neutral-400-30);
  --bg-mapbox-stop-marker-disc: var(--alpha-neutral-400-30);
  --bg-origin-marker: var(--utility-neutral-900);
  --bg-destination-marker: var(--utility-neutral-900);
  --bg-stop-marker: var(--utility-neutral-900);
  --bg-route-connector: var(--utility-neutral-400);
  /* Modal */
  --bg-modal: var(--alpha-white-100);
  --text-modal: var(--text-primary);
  --border-modal: var(--alpha-0);
  --border-modal-header: var(--border-primary);
  --blur-modal-backdrop: 0;
  --opacity-modal-grain: 0;
  --bg-modal-overlay: var(--alpha-neutral-950-20);
  /* Notification Tray */
  --bg-notification-header: var(--alpha-white-100);
  --bg-notification-card: var(--alpha-white-100);
  --bg-notification-card-hover: var(--utility-neutral-100);
  /* Section */
  --text-section: var(--utility-gray-900);
  --border-section: var(--utility-gray-200);
  --bg-section: var(--utility-neutral-100);
  /* Selection */
  --bg-selection: var(--utility-emerald-800);
  --text-selection: var(--alpha-white-100);
  --bg-input-selection: var(--alpha-emerald-800-20);
  --text-input-selection: var(--text-primary);
  /* Tooltip */
  --text-tooltip: var(--text-primary);
  --bg-tooltip: var(--alpha-white-100);
  /* Plugin: Dropzone */
  --border-dropzone: var(--utility-neutral-300);
  --text-dropzone: var(--utility-neutral-600);
  --bg-dropzone: var(--utility-neutral-200);
  /* Plugin: Flatpickr */
  --bg-flatpickr-calendar: var(--alpha-white-100);
  --border-flatpickr-calendar: var(--utility-neutral-200);
  --text-flatpickr-primary: var(--utility-neutral-800);
  --text-flatpickr-months: var(--utility-neutral-600);
  --text-flatpickr-months-hover: var(--utility-neutral-900);
  --text-flatpickr: var(--utility-neutral-700);
  --text-flatpickr-hover: var(--utility-neutral-900);
  --text-flatpickr-disabled: var(--utility-neutral-300);
  --text-flatpickr-selected: var(--alpha-white-100);
  --text-flatpickr-selected-hover: var(--alpha-white-100);
  --text-flatpickr-time: var(--utility-neutral-500);
  --bg-flatpickr: var(--alpha-0);
  --bg-flatpickr-primary: var(--alpha-neutral-100-20);
  --bg-flatpickr-hover: var(--utility-neutral-200);
  --bg-flatpickr-selected: var(--utility-blue-500);
  --bg-flatpickr-selected-hover: var(--utility-blue-600);
  --bg-flatpickr-time-hover: var(--utility-neutral-100);
  --border-flatpickr-hover: var(--utility-neutral-300);
  --border-flatpickr-selected: var(--utility-blue-500);
  --border-flatpickr-selected-hover: var(--utility-blue-600);
  --border-flatpickr-time: var(--utility-neutral-200);
  /* Plugin: Quill */
  --bg-quill-editor: var(--utility-gray-100);
  --text-quill-editor: var(--utility-neutral-900);
  --border-quill-editor: var(--alpha-0);
  --text-quill-placeholder: var(--utility-neutral-500);
  --border-quill-container: var(--alpha-0);
  --bg-quill-content: var(--alpha-0);
  --text-quill-content: var(--utility-neutral-900);
  --text-quill-checkbox: var(--utility-neutral-900);
  --bg-quill-black: var(--utility-neutral-900);
  --bg-quill-red: var(--utility-red-500);
  --bg-quill-orange: var(--utility-orange-500);
  --bg-quill-yellow: var(--utility-yellow-500);
  --bg-quill-green: var(--utility-green-500);
  --bg-quill-blue: var(--utility-blue-500);
  --bg-quill-purple: var(--utility-purple-500);
  --text-quill-white: var(--alpha-white-100);
  --text-quill-red: var(--utility-red-500);
  --text-quill-orange: var(--utility-orange-500);
  --text-quill-yellow: var(--utility-yellow-500);
  --text-quill-green: var(--utility-green-500);
  --text-quill-blue: var(--utility-blue-500);
  --text-quill-purple: var(--utility-purple-500);
  --bg-quill-toolbar: var(--alpha-0);
  --text-quill-toolbar: var(--utility-neutral-900);
  --border-quill-toolbar: var(--alpha-0);
  --text-quill-button: var(--utility-neutral-700);
  --text-quill-button-hover: var(--utility-neutral-900);
  --text-quill-button-touch-hover: var(--utility-neutral-700);
  --fill-quill-touch-hover: var(--utility-neutral-900);
  --stroke-quill-touch-hover: var(--utility-neutral-900);
  --text-quill-picker-hover: var(--utility-neutral-900);
  --bg-quill-tooltip: var(--alpha-0);
  --text-quill-tooltip: var(--utility-neutral-700);
  --border-quill-tooltip: var(--alpha-0);
  --text-quill-link: var(--utility-neutral-700);
  --text-quill-link-hover: var(--utility-neutral-800);
  --text-quill-link-active: var(--utility-neutral-900);
  --bg-quill-input: var(--utility-neutral-100);
  --text-quill-input: var(--utility-neutral-900);
  --border-quill-input: var(--border-input);
  --border-quill-input-hover: var(--border-input-hover);
  --border-quill-input-focus: var(--border-input-focus);
  --stroke-quill-default: var(--utility-neutral-600);
  --stroke-quill-hover: var(--utility-neutral-800);
  --fill-quill-default: var(--utility-neutral-600);
  --fill-quill-hover: var(--utility-neutral-800);
  --bg-quill-code: var(--alpha-0);
  /* Plugin: Select2 (namespaced to avoid collisions) */
  --bg-select2: var(--alpha-white-100);
  --text-select2: var(--text-default);
  --border-select2: var(--border-primary);
  --text-select2-rendered: var(--text-default);
  --text-select2-placeholder: var(--text-muted);
  --text-select2-remove: var(--text-link);
  --text-select2-remove-hover: var(--text-link-hover);
  --bg-select2-multiselect: var(--alpha-white-100);
  --text-select2-multiselect: var(--text-default);
  --border-select2-multiselect: var(--border-primary);
  --bg-select2-choice: var(--bg-info-subtle);
  --text-select2-choice: var(--text-info);
  --border-select2-choice: transparent;
  --bg-select2-dropdown: var(--alpha-white-100);
  --text-select2-dropdown: var(--text-default);
  --border-select2-dropdown: var(--border-primary);
  --bg-select2-mask: var(--bg-surface);
  --bg-select2-search: var(--alpha-white-100);
  --text-select2-search: var(--text-default);
  --border-select2-search: var(--border-primary);
  --bg-select2-option: transparent;
  --text-select2-option: var(--text-muted);
  --bg-select2-option-selected: var(--bg-subtle-hover);
  --text-select2-option-selected: var(--text-default);
  --bg-select2-option-highlighted: var(--bg-info-soft);
  --text-select2-option-highlighted: var(--text-info-strong);
  /* App: Calendar */
  --bg-calendar-container: var(--alpha-white-100);
  --border-calendar-divider: var(--utility-neutral-200);
  --border-calendar-divider-header: var(--utility-neutral-200);
  --border-calendar-divider-time: var(--utility-neutral-200);
  --text-calendar-time-label: var(--utility-neutral-800);
  --text-calendar-time: var(--utility-neutral-700);
  --text-calendar-day-label: var(--utility-neutral-950);
  --text-calendar-day-date: var(--utility-neutral-700);
  --text-calendar-day-header: var(--utility-neutral-950);
  --text-calendar-closed: var(--text-disabled);
  --bg-calendar-day-header: var(--alpha-white-100);
  --bg-calendar-time-slot: var(--alpha-white-100);
  --bg-calendar-day-slot: var(--utility-neutral-50);
  --bg-calendar-indicator-today: var(--utility-neutral-950);
  --bg-calendar-footer: var(--alpha-white-100);
  /* Appointment card */
  --bg-appointment-card: var(--alpha-white-100);
  --bg-appointment-card-hover: var(--utility-neutral-50);
  --border-appointment-card: var(--utility-neutral-200);
  --text-appointment-card: var(--text-primary);
  --text-appointment-number: var(--utility-neutral-950);
  --text-appointment-gap: var(--text-danger);
  --text-appointment-note: var(--text-danger);
  --text-appointment-carrier: var(--utility-neutral-800);
  --text-appointment-comment: var(--utility-neutral-800);
  --text-appointment-origin: var(--utility-neutral-900);
  --text-appointment-refs: var(--utility-neutral-700);
  --text-appointment-equipment-id: var(--utility-neutral-950);
  --text-appointment-toggle-btn: var(--text-button);
  --bg-appointment-category: var(--border-category);
  --bg-appointment-comment: var(--utility-neutral-100);
  --border-appointment-comment: var(--utility-neutral-200);
  --border-appointment-toggle-btn: var(--utility-neutral-100);
  --text-appointment-icon-float: var(--utility-yellow-500);
  --text-appointment-icon-log: var(--utility-orange-400);
  --text-appointment-icon-secondary: var(--utility-neutral-600);
  --text-appointment-icon-audit: var(--utility-blue-500);
  /* Schedule mini-calendar */
  --text-schedule-day-label: var(--utility-neutral-600);
  --text-schedule-day: var(--utility-neutral-950);
  --text-schedule-day-available: var(--utility-neutral-950);
  --text-schedule-day-active: var(--alpha-white-100);
  --bg-schedule-day: var(--alpha-0);
  --bg-schedule-day-hover: var(--utility-neutral-100);
  --bg-schedule-day-available: var(--utility-neutral-50);
  --bg-schedule-day-available-hover: var(--utility-neutral-100);
  --bg-schedule-day-available-active: var(--utility-neutral-100);
  --bg-schedule-day-active: var(--utility-neutral-900);
  --bg-schedule-day-active-hover: var(--utility-neutral-900);
  --bg-schedule-day-active-pressed: var(--utility-neutral-950);
  --bg-schedule-indicator-current: var(--utility-neutral-950);
  --border-schedule-day-available: var(--utility-neutral-100);
  /* Calendar Schedule (reusable component) */
  --h-calendar-schedule-day-header: 48px;
  --w-calendar-schedule-time-axis: 56px;
  --h-calendar-schedule-hour: 64px;
  --w-calendar-schedule-day: 180px;
  --gap-calendar-schedule: 0px;
  --radius-calendar-schedule: var(--radius-lg, 0.5rem);
  --shadow-calendar-schedule: var(--shadow-sm);
  --bg-calendar-schedule: var(--alpha-white-100);
  --bg-calendar-schedule-surface: var(--alpha-white-100);
  --bg-calendar-schedule-muted: var(--utility-neutral-50);
  --text-calendar-schedule: var(--text-secondary);
  --border-calendar-schedule: var(--utility-neutral-200);
  --border-calendar-schedule-soft: var(--utility-neutral-100);
  --bg-calendar-schedule-today: var(--utility-blue-50);
  --bg-calendar-schedule-hover: var(--utility-blue-100);
  --bg-calendar-schedule-now: var(--bg-info-solid);
  --border-calendar-schedule-now: var(--bg-info-solid);
  --bg-calendar-schedule-event: var(--alpha-white-100);
  --border-calendar-schedule-event: var(--border-primary);
  --text-calendar-schedule-event: var(--text-primary);
  /* Calendar Schedule V2 */
  --w-calendar-schedule-day-min: 80px;
  --w-calendar-schedule-day-max: none;
  --bg-calendar-schedule-today-col: var(--utility-blue-50);
  --bg-calendar-schedule-hour-stripe: var(--utility-neutral-50);
  --bg-calendar-schedule-working-hours: transparent;
  --bg-calendar-schedule-nonworking-hours: var(--utility-neutral-50);
  --bg-calendar-schedule-weekend: var(--utility-neutral-50);
  --outline-calendar-schedule-focus: var(--color-info);
  --shadow-calendar-schedule-header: var(--shadow-md);
  --shadow-calendar-event: var(--shadow-sm);
  --shadow-calendar-event-hover: var(--shadow-md);
  --shadow-calendar-event-selected: 0 0 0 2px var(--color-info);
  --bg-calendar-event-primary: var(--alpha-white-100);
  --border-calendar-event-primary: var(--border-primary);
  --bg-calendar-event-warning: var(--utility-yellow-50);
  --border-calendar-event-warning: var(--color-warning);
  --bg-calendar-event-danger: var(--utility-red-50);
  --border-calendar-event-danger: var(--color-danger);
  --bg-calendar-event-success: var(--utility-green-50);
  --border-calendar-event-success: var(--color-success);
  --bg-calendar-event-neutral: var(--utility-neutral-50);
  --border-calendar-event-neutral: var(--utility-neutral-400);
  --bg-calendar-event-hover: var(--utility-neutral-100);
  --bg-calendar-event-primary-hover: var(--utility-neutral-100);
  --bg-calendar-event-success-hover: var(--utility-green-100);
  --bg-calendar-event-warning-hover: var(--utility-yellow-100);
  --bg-calendar-event-danger-hover: var(--utility-red-100);
  --bg-calendar-event-neutral-hover: var(--utility-neutral-200);
  --ring-calendar-event-focus: 0 0 0 4px var(--utility-blue-100);
  /* Calendar Schedule — Now Indicator */
  --bg-calendar-now-dot: var(--utility-red-500);
  --bg-calendar-now-line: var(--alpha-red-500-30);
  --bg-calendar-today-line: var(--alpha-red-500-10);
  --bg-calendar-now-dot-danger: var(--utility-red-500);
  --bg-calendar-now-line-danger: var(--alpha-red-500-30);
  --bg-calendar-today-line-danger: var(--alpha-red-500-10);
  --bg-calendar-now-dot-primary: var(--utility-neutral-900);
  --bg-calendar-now-line-primary: var(--alpha-neutral-900-20);
  --bg-calendar-today-line-primary: var(--alpha-neutral-900-5);
  --bg-calendar-now-dot-info: var(--utility-blue-500);
  --bg-calendar-now-line-info: var(--alpha-blue-500-30);
  --bg-calendar-today-line-info: var(--alpha-blue-500-10);
  --bg-calendar-now-dot-success: var(--utility-green-500);
  --bg-calendar-now-line-success: var(--alpha-green-500-30);
  --bg-calendar-today-line-success: var(--alpha-green-500-10);
  --bg-calendar-now-dot-warning: var(--utility-yellow-500);
  --bg-calendar-now-line-warning: var(--alpha-yellow-500-30);
  --bg-calendar-today-line-warning: var(--alpha-yellow-500-10);
  /* Calendar Schedule — Stacked slot variant */
  --h-calendar-schedule-slot: 64px;
  --h-calendar-slot-max: none;
  --gap-calendar-schedule-slot: 2px;
  --bg-calendar-schedule-cell-alt: var(--utility-neutral-50);
  --bg-calendar-schedule-closed: var(--utility-neutral-200);
  /* Calendar Schedule — Frame layout */
  --w-calendar-schedule-frame-right: 240px;
  --h-calendar-schedule-frame-bottom: 48px;
  --bg-calendar-schedule-frame: var(--alpha-white-100);
  --border-calendar-schedule-frame: var(--alpha-neutral-200-60);
  --w-calendar-schedule-day-carousel: 200px;
  /* App: Inventory */
  --bg-inventory-grid-panel: var(--alpha-white-100);
  --bg-inventory-card: transparent;
  --bg-inventory-card-hover: var(--utility-neutral-100);
  --border-inventory-card: transparent;
  --border-inventory-card-hover: transparent;
  --bg-inventory-image: var(--utility-neutral-100);
  --text-inventory-info: var(--utility-neutral-950);
  --text-inventory-secondary: var(--utility-neutral-600);
  --bg-inventory-popover: var(--alpha-white-100);
  --bg-inventory-popover-hover: var(--utility-neutral-100);
  --text-inventory-tertiary: var(--utility-neutral-500);
  /* App: Landing / Navbar */
  --bg-navbar: var(--alpha-0);
  --border-navbar: var(--alpha-0);
  --text-navbar: var(--utility-neutral-900);
  --text-navbar-link: var(--utility-neutral-600);
  --text-navbar-link-hover: var(--utility-neutral-950);
  --text-navbar-link-active: var(--utility-neutral-950);
  --bg-navbar-link-hover: var(--alpha-0);
  --bg-navbar-link-active: var(--alpha-0);
  --bg-navbar-dropdown: var(--alpha-white-100);
  --border-navbar-dropdown: var(--utility-neutral-100);
  --bg-navbar-card: var(--alpha-white-100);
  --bg-navbar-card-hover: var(--utility-platinum-300);
  --bg-navbar-card-active: var(--utility-neutral-200);
  --border-navbar-card: var(--border-neutral-200);
  --radius-navbar-card: var(--radius-md);
  --text-navbar-card-title: var(--text-primary);
  --text-navbar-card-caption: var(--text-secondary);
  --bg-bars-menu: var(--utility-neutral-900);
  --bg-navbar-mobile: transparent;
  --text-navbar-mobile-link: var(--text-neutral-800);
  --text-navbar-mobile-link-hover: var(--text-neutral-950);
  --bg-navbar-layer: var(--alpha-white-90);
  --bg-navbar-toggle: var(--bg-neutral-900);
  --bg-navbar-toggle-dark: var(--bg-neutral-300);
  /* App: Mobile Nav */
  --bg-mobile-nav: var(--alpha-white-100);
  --bg-mobile-nav-overlay: var(--alpha-neutral-950-20);
  --bg-mobile-toggle-bar: var(--utility-neutral-950);
  --bg-mobile-nav-item: var(--alpha-0);
  --bg-mobile-nav-item-hover: var(--utility-neutral-100);
  --bg-mobile-nav-item-active: var(--utility-neutral-100);
  --text-mobile-nav: var(--utility-neutral-900);
  --text-mobile-nav-item: var(--utility-neutral-900);
  --text-mobile-nav-item-hover: var(--utility-neutral-900);
  --text-mobile-nav-item-active: var(--utility-neutral-900);
  --bg-mobile-subnav-item: var(--alpha-0);
  --bg-mobile-subnav-item-hover: var(--alpha-0);
  --bg-mobile-subnav-active: var(--alpha-0);
  --text-mobile-subnav: var(--utility-neutral-800);
  --text-mobile-subnav-hover: var(--utility-neutral-800);
  --text-mobile-subnav-active: var(--utility-neutral-900);
  --border-mobile-nav-divider: var(--utility-neutral-300);
  --border-mobile-menu-items: var(--utility-neutral-200);
  --border-mobile-subnav-hover: var(--utility-neutral-600);
  --border-mobile-subnav-active: var(--utility-neutral-900);
  --text-mobile-nav-muted: var(--utility-neutral-400);
  --text-mobile-nav-label: var(--utility-neutral-400);
  --icon-mobile-nav: var(--utility-neutral-600);
  --text-mobile-avatar: var(--utility-neutral-900);
  --text-mobile-danger: var(--color-danger-600);
  /* Line Toast */
  --bg-line-toast-success: var(--utility-green-400);
  --bg-line-toast-error: var(--utility-red-400);
  --bg-line-toast-warning: var(--utility-yellow-400);
  --bg-line-toast-info: var(--utility-blue-400);
  --bg-line-toast-loading: var(--utility-blue-400);
  /* =========================================
     Foundation Scales
     ========================================= */
  /* Shadow Scale */
  --shadow-xs: 0 1px 1px 0 oklch(0% 0 0 / 0.03);
  --shadow-sm: 0 1px 3px 0 oklch(0% 0 0 / 0.1), 0 1px 2px -1px oklch(0% 0 0 / 0.1);
  --shadow-md: 0 4px 6px -1px oklch(0% 0 0 / 0.1), 0 2px 4px -2px oklch(0% 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px oklch(0% 0 0 / 0.1), 0 4px 6px -4px oklch(0% 0 0 / 0.1);
  --shadow-xl: 0 20px 25px -5px oklch(0% 0 0 / 0.1), 0 8px 10px -6px oklch(0% 0 0 / 0.1);
  --shadow-2xl: 0 25px 50px -12px oklch(0% 0 0 / 0.25);
  --shadow-inner: inset 0 2px 4px 0 oklch(0% 0 0 / 0.05);
  --shadow-none: 0 0 0 0 transparent;
  /* Radius Scale */
  --radius-none: 0;
  --radius-xs: 0.125rem;
  --radius-sm: 0.25rem;
  --radius-md: 0.375rem;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
  --radius-3xl: 1.5rem;
  --radius-full: 9999px;
  /* Z-Index Scale */
  --z-hide: -1;
  --z-base: 0;
  --z-dropdown: 10;
  --z-sticky: 20;
  --z-fixed: 30;
  --z-sidebar: 35;
  --z-modal-backdrop: 40;
  --z-modal: 50;
  --z-popover: 60;
  --z-toast: 70;
  --z-tooltip: 80;
  --z-max: 9999;
  /* Duration Scale */
  --duration-instant: 0ms;
  --duration-fast: 100ms;
  --duration-normal: 200ms;
  --duration-slow: 300ms;
  --duration-slower: 500ms;
  /* Easing Scale */
  --ease-default: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  /* Spacing Scale */
  --space-0: 0;
  --space-px: 1px;
  --space-0-5: 0.125rem;
  --space-1: 0.25rem;
  --space-1-5: 0.375rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  /* Button: Success */
  --bg-button-success: var(--utility-green-600);
  --bg-button-success-hover: var(--utility-green-700);
  --bg-button-success-active: var(--utility-green-800);
  --text-button-success: var(--alpha-white-100);
  --border-button-success: var(--alpha-0);
  /* Empty State */
  --bg-empty-state-icon: var(--utility-neutral-100);
  /* Skeleton */
  --bg-skeleton: var(--utility-neutral-200);
  --bg-skeleton-highlight: var(--utility-neutral-100);
  /* Combobox */
  --bg-combobox: var(--bg-input);
  --bg-combobox-search: var(--utility-neutral-100);
  --bg-combobox-listbox: var(--alpha-white-100);
  --bg-combobox-option-hover: var(--bg-dropdown-hover);
  --bg-combobox-option-active: var(--bg-dropdown-active);
  --bg-combobox-option-selected: var(--bg-dropdown-selected);
  --text-combobox: var(--text-input);
  --text-combobox-placeholder: var(--text-input-placeholder);
  --text-combobox-option: var(--text-primary);
  --text-combobox-option-selected: var(--text-dropdown-selected);
  --text-combobox-option-meta: var(--text-tertiary);
  --text-combobox-option-check: var(--text-success);
  --border-combobox: var(--border-input);
  --border-combobox-hover: var(--border-input-hover);
  --border-combobox-focus: var(--border-input-active);
  --shadow-combobox-listbox: var(--shadow-dropdown);
  --ring-combobox-focus: var(--ring-input-focus);
  --bg-combobox-header: var(--alpha-white-100);
  --border-combobox-header: var(--border-dropdown-divider);
  --bg-combobox-footer: var(--alpha-white-100);
  --border-combobox-footer: var(--border-dropdown-divider);
  --opacity-combobox-grain: var(--opacity-dropdown-grain, 0);
  /* Popover */
  --bg-popover: var(--bg-surface);
  --bg-popover-modal: #fff;
  --text-popover: var(--text-primary);
  --border-popover: var(--border-primary);
  --shadow-popover: var(--shadow-lg);
  --radius-popover: var(--radius-lg);
  --bg-popover-arrow: var(--bg-surface);
  --border-popover-arrow: var(--border-primary);
  /* Command Palette */
  --bg-command-palette: var(--bg-surface);
  --bg-command-palette-backdrop: oklch(0% 0 0 / 0.4);
  --bg-command-palette-item-hover: var(--bg-hover);
  --bg-command-palette-item-active: var(--bg-active);
  --text-command-palette: var(--text-primary);
  --text-command-palette-muted: var(--text-tertiary);
  --border-command-palette: var(--border-primary);
  --shadow-command-palette: var(--shadow-xl);
  --radius-command-palette: var(--radius-xl);
  /* Messaging */
  --bg-msg-panel: var(--alpha-white-100);
  --bg-msg-composer-area: var(--alpha-white-100);
  --border-msg-panel: var(--border-secondary);
  --bg-msg-inbound: var(--utility-neutral-100);
  --text-msg-inbound: var(--text-primary);
  --border-msg-inbound: transparent;
  --bg-msg-outbound: var(--utility-indigo-50);
  --text-msg-outbound: var(--text-primary);
  --border-msg-outbound: transparent;
  --bg-msg-system: var(--utility-neutral-100);
  --text-msg-system: var(--text-tertiary);
  --text-msg-sender: var(--text-primary);
  --text-msg-time: var(--text-quaternary);
  --bg-msg-reaction: var(--utility-neutral-100);
  --border-msg-reaction: var(--border-secondary);
  --bg-msg-reaction-active: var(--bg-info-subtle);
  --border-msg-reaction-active: var(--border-info);
  --text-msg-reaction-active: var(--text-info);
  --bg-msg-composer: var(--bg-input);
  --border-msg-composer: var(--border-input);
  --border-msg-composer-focus: var(--border-input-focus);
  --bg-msg-send: var(--bg-primary-solid);
  --text-msg-send: var(--alpha-white-100);
  --bg-msg-actions: var(--alpha-white-100);
  --border-msg-actions: var(--border-secondary);
  --bg-msg-conversation-hover: var(--bg-hover);
  --bg-msg-conversation-active: var(--bg-active);
  --bg-msg-conversation-unread: var(--bg-info-subtle);
  --bg-msg-badge: var(--bg-primary-solid);
  --text-msg-badge: var(--alpha-white-100);
  /* Bulk Action Bar */
  --bg-bulk-action-bar: var(--alpha-white-100);
  --text-bulk-action-bar: var(--text-primary);
  --border-bulk-action-bar: var(--border-primary);
  --shadow-bulk-action-bar: 0 -4px 24px -4px oklch(0% 0 0 / 0.12), 0 -2px 8px -2px oklch(0% 0 0 / 0.06);
  /* Kbd */
  --bg-kbd: var(--utility-neutral-100);
  --text-kbd: var(--text-secondary);
  --border-kbd: var(--utility-neutral-300);
  --shadow-kbd: 0 1px 0 0 var(--utility-neutral-200);
  /* Inline Edit */
  --bg-inline-edit: transparent;
  --bg-inline-edit-hover: var(--bg-hover);
  --bg-inline-edit-editing: var(--bg-input);
  --border-inline-edit-editing: var(--border-input-focus);
  --text-inline-edit: var(--text-primary);
  --text-inline-edit-placeholder: var(--text-tertiary);
  --text-inline-link-edit: var(--text-link);
  --text-inline-link-edit-hover: var(--text-link-hover);
  /* Range Slider */
  --bg-range-track: var(--utility-neutral-200);
  --bg-range-fill: var(--bg-primary-solid);
  --bg-range-thumb: var(--alpha-white-100);
  --border-range-thumb: var(--bg-primary-solid);
  --shadow-range-thumb: var(--shadow-sm);
  /* Timeline */
  --bg-timeline-marker: var(--bg-primary-solid);
  --bg-timeline-marker-completed: var(--bg-success-solid);
  --bg-timeline-marker-error: var(--bg-danger-solid);
  --border-timeline-connector: var(--utility-neutral-200);
  --text-timeline-time: var(--text-tertiary);
  /* Activity Feed */
  --bg-activity-feed-item: var(--bg-surface);
  --bg-activity-feed-item-hover: var(--bg-hover);
  --bg-activity-feed-item-unread: var(--bg-info-subtle);
  --text-activity-feed-action: var(--text-secondary);
  --text-activity-feed-target: var(--text-link);
  --text-activity-feed-meta: var(--text-tertiary);
  --border-activity-feed-item: var(--border-secondary);
  /* Stat Card */
  --bg-stat-card: var(--bg-card);
  --text-stat-card-value: var(--text-primary);
  --text-stat-card-label: var(--text-secondary);
  --text-stat-card-trend-up: var(--text-success);
  --text-stat-card-trend-down: var(--text-danger);
  --border-stat-card: var(--border-card);
  --shadow-stat-card: var(--shadow-card);
  /* Table Resize */
  --bg-table-resize-handle: transparent;
  --bg-table-resize-handle-hover: var(--utility-blue-400);
  --bg-table-resize-handle-active: var(--utility-blue-500);
  /* Table Detail Row */
  --bg-table-row-detail: var(--utility-neutral-50);

  /* =========================================
     Legacy aliases (temporary — Reinly only)
     Keep these while you migrate component CSS.
     Remove once usage is updated.
     ========================================= */
  /* underscore -> kebab aliases */
  --text-primary_hover: var(--text-primary-hover);
  --text-secondary_hover: var(--text-secondary-hover);
  --text-tertiary_hover: var(--text-tertiary-hover);
  --text-quaternary_hover: var(--text-quaternary-hover);
  --text-danger_hover: var(--text-danger-hover);
  --text-warning_hover: var(--text-warning-hover);
  --text-success_hover: var(--text-success-hover);
  --text-info_hover: var(--text-info-hover);
  --text-purple_hover: var(--text-purple-hover);
  --text-indigo_hover: var(--text-indigo-hover);
  --text-teal_hover: var(--text-teal-hover);
  --text-pink_hover: var(--text-pink-hover);
  --text-mint_hover: var(--text-mint-hover);
  --border-primary_hover: var(--border-primary-hover);
  --border-secondary_hover: var(--border-secondary-hover);
  --border-tertiary_hover: var(--border-tertiary-hover);
  --border-quaternary_hover: var(--border-quaternary-hover);
  --border-danger_hover: var(--border-danger-hover);
  --border-warning_hover: var(--border-warning-hover);
  --border-success_hover: var(--border-success-hover);
  --border-info_hover: var(--border-info-hover);
  --border-purple_hover: var(--border-purple-hover);
  --border-indigo_hover: var(--border-indigo-hover);
  --border-teal_hover: var(--border-teal-hover);
  --border-pink_hover: var(--border-pink-hover);
  --bg-black_hover: var(--bg-black-hover);
  --bg-primary_hover: var(--bg-primary-hover);
  --bg-secondary_hover: var(--bg-secondary-hover);
  --bg-tertiary_hover: var(--bg-tertiary-hover);
  --bg-quaternary_hover: var(--bg-quaternary-hover);
  --bg-gray_hover: var(--bg-gray-hover);
  --bg-danger_hover: var(--bg-danger-hover);
  --bg-warning_hover: var(--bg-warning-hover);
  --bg-success_hover: var(--bg-success-hover);
  --bg-info_hover: var(--bg-info-hover);
  --bg-purple_hover: var(--bg-purple-hover);
  --bg-indigo_hover: var(--bg-indigo-hover);
  --bg-teal_hover: var(--bg-teal-hover);
  --bg-pink_hover: var(--bg-pink-hover);
  --bg-page-header_hover: var(--bg-page-header-hover);
  --bg-breadcrumb_hover: var(--bg-breadcrumb-hover);
  /* old button active naming */
  --bg-button-primary_active: var(--bg-button-primary-active);
  --bg-button-secondary_hover: var(--bg-button-secondary-hover);
  --bg-button-secondary_active: var(--bg-button-secondary-active);
  --bg-button-light_hover: var(--bg-button-light-hover);
  --bg-button-light_active: var(--bg-button-light-active);
  --bg-button-input_hover: var(--bg-button-input-hover);
  --bg-button-input_active: var(--bg-button-input-active);
  --bg-button-topbar_hover: var(--bg-button-topbar-hover);
  --bg-button-topbar_active: var(--bg-button-topbar-active);
  /* dropdown legacy naming */
  --dropdown-text: var(--text-dropdown);
  --dropdown-shadow: var(--shadow-dropdown);
  --dropdown-backdrop-blur: var(--blur-dropdown-backdrop);
  --dropdown-grain-opacity: var(--opacity-dropdown-grain);
  --dropdown-glass-text: var(--text-dropdown-glass);
  --dropdown-glass-shadow: var(--shadow-dropdown-glass);
  --dropdown-glass-blur: var(--blur-dropdown-glass);
  --dropdown-glass-grain-opacity: var(--opacity-dropdown-glass-grain);
  /* filter legacy */
  --text-filter_hover: var(--text-filter-hover);
  --bg-filter_hover: var(--bg-filter-hover);
  --bg-filter_active: var(--bg-filter-active);
  /* list group legacy */
  --bg-list-group_hover: var(--bg-list-group-hover);
  --bg-list-group_active: var(--bg-list-group-active);
  /* tab legacy */
  --bg-tab-menu_hover: var(--bg-tab-menu-hover);
  --bg-tab-menu_active: var(--bg-tab-menu-active);
  --bg-tab-ribbon_hover: var(--bg-tab-ribbon-hover);
  --bg-tab-ribbon_active: var(--bg-tab-ribbon-active);
  --text-tab-menu_hover: var(--text-tab-menu-hover);
  --text-tab-menu_active: var(--text-tab-menu-active);
  --text-tab-ribbon_active: var(--text-tab-ribbon-active);
  /* tab browser legacy */
  --bg-tab-browser_hover: var(--bg-tab-browser-hover);
  --bg-tab-browser_active: var(--bg-tab-browser-active);
  --border-tab-browser_hover: var(--border-tab-browser-hover);
  --text-tab-browser_hover: var(--text-tab-browser-hover);
  --text-tab-browser_active: var(--text-tab-browser-active);
  /* flatpickr legacy */
  --text-flatpickr-months_hover: var(--text-flatpickr-months-hover);
  --text-flatpickr-selected_hover: var(--text-flatpickr-selected-hover);
  --bg-flatpickr-selected_hover: var(--bg-flatpickr-selected-hover);
  --bg-flatpickr-time_hover: var(--bg-flatpickr-time-hover);
  --border-flatpickr-selected_hover: var(--border-flatpickr-selected-hover);
}

/* =========================================
   Mica Light — translucent surfaces
   ========================================= */

[data-theme="theme-mica-light"] {
  /* Inherit all light theme tokens, override surfaces */
  --canvas-primary: oklch(97% 0.005 250 / 0.85);
  --canvas-secondary: oklch(100% 0 0 / 0.8);
  --bg-surface: oklch(100% 0 0 / 0.78);
  --bg-body: oklch(98% 0.003 250 / 0.75);
  --bg-card: oklch(100% 0 0 / 0.72);
  --bg-sidebar: oklch(97% 0.005 250 / 0.82);
  --bg-dropdown: oklch(100% 0 0 / 0.88);
  --bg-modal: oklch(100% 0 0 / 0.92);
  --bg-popover: oklch(100% 0 0 / 0.88);
  --bg-command-palette: oklch(100% 0 0 / 0.92);
  --bg-mica-tint: oklch(97% 0.005 250);
}

/* =========================================
   Density Modes
   ========================================= */

[data-density="compact"] {
  --density-factor: 0.75;
  --space-list-item-y: 0.375rem;
  --space-list-item-x: 0.75rem;
  --padding-tag-y: 2px;
  --padding-tag-x: 6px;
}

[data-density="spacious"] {
  --density-factor: 1.25;
  --space-list-item-y: 0.75rem;
  --space-list-item-x: 1.25rem;
  --padding-tag-y: 6px;
  --padding-tag-x: 14px;
}

/* =========================================
   High Contrast
   ========================================= */

[data-contrast="high"] {
  --text-primary: oklch(0% 0 0);
  --text-secondary: oklch(15% 0 0);
  --text-tertiary: oklch(25% 0 0);
  --text-quaternary: oklch(35% 0 0);
  --border-primary: oklch(30% 0 0);
  --border-input: oklch(20% 0 0);
  --border-input-hover: oklch(10% 0 0);
  --border-card: oklch(30% 0 0);
  --border-table: oklch(30% 0 0);
}

/* =========================================
   Accent Color System
   Preset via [data-accent] attribute
   ========================================= */

[data-accent="purple"] {
  --bg-primary-solid: var(--utility-purple-600);
  --bg-primary-solid-hover: var(--utility-purple-700);
  --bg-primary-solid-active: var(--utility-purple-800);
  --border-primary-solid: var(--utility-purple-600);
  --text-link: var(--utility-purple-600);
  --text-link-hover: var(--utility-purple-700);
}

[data-accent="teal"] {
  --bg-primary-solid: var(--utility-teal-600);
  --bg-primary-solid-hover: var(--utility-teal-700);
  --bg-primary-solid-active: var(--utility-teal-800);
  --border-primary-solid: var(--utility-teal-600);
  --text-link: var(--utility-teal-600);
  --text-link-hover: var(--utility-teal-700);
}

[data-accent="green"] {
  --bg-primary-solid: var(--utility-green-600);
  --bg-primary-solid-hover: var(--utility-green-700);
  --bg-primary-solid-active: var(--utility-green-800);
  --border-primary-solid: var(--utility-green-600);
  --text-link: var(--utility-green-600);
  --text-link-hover: var(--utility-green-700);
}

[data-accent="orange"] {
  --bg-primary-solid: var(--utility-orange-600);
  --bg-primary-solid-hover: var(--utility-orange-700);
  --bg-primary-solid-active: var(--utility-orange-800);
  --border-primary-solid: var(--utility-orange-600);
  --text-link: var(--utility-orange-600);
  --text-link-hover: var(--utility-orange-700);
}

[data-accent="pink"] {
  --bg-primary-solid: var(--utility-pink-600);
  --bg-primary-solid-hover: var(--utility-pink-700);
  --bg-primary-solid-active: var(--utility-pink-800);
  --border-primary-solid: var(--utility-pink-600);
  --text-link: var(--utility-pink-600);
  --text-link-hover: var(--utility-pink-700);
}

/* Theme: Dark */

.floating-appointment {
  border-color: var(--border-warning);
}

[data-theme="theme-dark"] {
  /* Canvas & Scrollbars */
  --scroll-thumb: var(--utility-neutral-700);
  --scroll-track: var(--utility-neutral-850);
  --canvas-primary: var(--utility-neutral-900);
  --canvas-secondary: var(--utility-neutral-950);
  --bg-alpha-0: var(--alpha-0);
  /* Typography */
  --text-primary: var(--utility-neutral-100);
  --text-primary-alt: var(--utility-neutral-200);
  --text-primary-hover: var(--utility-neutral-50);
  --text-primary-subtle: var(--utility-neutral-300);
  --text-primary-solid: var(--utility-neutral-50);
  --text-secondary: var(--utility-neutral-300);
  --text-secondary-alt: var(--utility-neutral-200);
  --text-secondary-hover: var(--utility-neutral-200);
  --text-secondary-subtle: var(--utility-neutral-400);
  --text-secondary-solid: var(--utility-neutral-200);
  --text-tertiary: var(--utility-neutral-400);
  --text-tertiary-alt: var(--utility-neutral-300);
  --text-tertiary-hover: var(--utility-neutral-300);
  --text-tertiary-subtle: var(--utility-neutral-500);
  --text-tertiary-solid: var(--utility-neutral-300);
  --text-quaternary: var(--utility-neutral-500);
  --text-quaternary-alt: var(--utility-neutral-400);
  --text-quaternary-hover: var(--utility-neutral-400);
  --text-quaternary-subtle: var(--utility-neutral-600);
  --text-quaternary-solid: var(--utility-neutral-400);
  --text-disabled: var(--utility-neutral-500);
  --text-placeholder: var(--utility-neutral-600);
  --text-danger: var(--utility-red-300);
  --text-danger-alt: var(--utility-red-400);
  --text-danger-hover: var(--utility-red-200);
  --text-danger-subtle: var(--utility-red-500);
  --text-danger-solid: var(--utility-red-100);
  --text-warning: var(--utility-amber-300);
  --text-warning-alt: var(--utility-amber-400);
  --text-warning-hover: var(--utility-amber-200);
  --text-warning-subtle: var(--utility-amber-500);
  --text-warning-solid: var(--utility-amber-100);
  --text-success: var(--utility-green-300);
  --text-success-alt: var(--utility-green-400);
  --text-success-hover: var(--utility-green-200);
  --text-success-subtle: var(--utility-green-500);
  --text-success-solid: var(--utility-green-100);
  --text-info: var(--utility-blue-300);
  --text-info-alt: var(--utility-blue-400);
  --text-info-hover: var(--utility-blue-200);
  --text-info-subtle: var(--utility-blue-500);
  --text-info-solid: var(--utility-blue-100);
  --text-purple: var(--utility-purple-300);
  --text-purple-alt: var(--utility-purple-400);
  --text-purple-hover: var(--utility-purple-200);
  --text-purple-subtle: var(--utility-purple-500);
  --text-purple-solid: var(--utility-purple-100);
  --text-indigo: var(--utility-indigo-300);
  --text-indigo-alt: var(--utility-indigo-400);
  --text-indigo-hover: var(--utility-indigo-200);
  --text-indigo-subtle: var(--utility-indigo-500);
  --text-indigo-solid: var(--utility-indigo-100);
  --text-teal: var(--utility-teal-300);
  --text-teal-alt: var(--utility-teal-400);
  --text-teal-hover: var(--utility-teal-200);
  --text-teal-subtle: var(--utility-teal-500);
  --text-teal-solid: var(--utility-teal-100);
  --text-pink: var(--utility-pink-300);
  --text-pink-alt: var(--utility-pink-400);
  --text-pink-hover: var(--utility-pink-200);
  --text-pink-subtle: var(--utility-pink-500);
  --text-pink-solid: var(--utility-pink-100);
  --text-mint: var(--utility-mint-300);
  --text-mint-alt: var(--utility-mint-400);
  --text-mint-hover: var(--utility-mint-200);
  --text-mint-subtle: var(--utility-mint-500);
  --text-mint-solid: var(--utility-mint-100);
  /* Borders */
  --border-primary: var(--utility-neutral-800);
  --border-primary-alt: var(--utility-neutral-700);
  --border-primary-hover: var(--utility-neutral-700);
  --border-primary-subtle: var(--utility-neutral-900);
  --border-primary-solid: var(--utility-neutral-600);
  --border-secondary: var(--utility-neutral-800);
  --border-secondary-alt: var(--utility-neutral-700);
  --border-secondary-hover: var(--utility-neutral-600);
  --border-secondary-subtle: var(--utility-neutral-900);
  --border-secondary-solid: var(--utility-neutral-600);
  --border-tertiary: var(--utility-neutral-600);
  --border-tertiary-alt: var(--utility-neutral-600);
  --border-tertiary-hover: var(--utility-neutral-600);
  --border-tertiary-subtle: var(--utility-neutral-700);
  --border-tertiary-solid: var(--utility-neutral-400);
  --border-quaternary: var(--utility-neutral-500);
  --border-quaternary-alt: var(--utility-neutral-400);
  --border-quaternary-hover: var(--utility-neutral-400);
  --border-quaternary-subtle: var(--utility-neutral-600);
  --border-quaternary-solid: var(--utility-neutral-300);
  /* Semantic borders */
  --border-danger: var(--utility-red-500);
  --border-danger-alt: var(--utility-red-400);
  --border-danger-hover: var(--utility-red-600);
  --border-danger-subtle: var(--utility-red-700);
  --border-danger-solid: var(--utility-red-300);
  --border-warning: var(--utility-yellow-500);
  --border-warning-alt: var(--utility-yellow-400);
  --border-warning-hover: var(--utility-yellow-600);
  --border-warning-subtle: var(--utility-yellow-700);
  --border-warning-solid: var(--utility-yellow-300);
  --border-success: var(--utility-green-500);
  --border-success-alt: var(--utility-green-400);
  --border-success-hover: var(--utility-green-600);
  --border-success-subtle: var(--utility-green-700);
  --border-success-solid: var(--utility-green-300);
  --border-info: var(--utility-blue-500);
  --border-info-alt: var(--utility-blue-400);
  --border-info-hover: var(--utility-blue-600);
  --border-info-subtle: var(--utility-blue-700);
  --border-info-solid: var(--utility-blue-300);
  --border-purple: var(--utility-purple-500);
  --border-purple-alt: var(--utility-purple-400);
  --border-purple-hover: var(--utility-purple-600);
  --border-purple-subtle: var(--utility-purple-700);
  --border-purple-solid: var(--utility-purple-300);
  --border-indigo: var(--utility-indigo-500);
  --border-indigo-alt: var(--utility-indigo-400);
  --border-indigo-hover: var(--utility-indigo-600);
  --border-indigo-subtle: var(--utility-indigo-700);
  --border-indigo-solid: var(--utility-indigo-300);
  --border-teal: var(--utility-teal-500);
  --border-teal-alt: var(--utility-teal-400);
  --border-teal-hover: var(--utility-teal-600);
  --border-teal-subtle: var(--utility-teal-700);
  --border-teal-solid: var(--utility-teal-300);
  --border-pink: var(--utility-pink-500);
  --border-pink-alt: var(--utility-pink-400);
  --border-pink-hover: var(--utility-pink-600);
  --border-pink-subtle: var(--utility-pink-700);
  --border-pink-solid: var(--utility-pink-300);
  /* Backgrounds */
  --bg-black: var(--utility-neutral-900);
  --bg-black-hover: var(--utility-neutral-800);
  --bg-primary: var(--utility-neutral-900);
  --bg-primary-alt: var(--utility-neutral-800);
  --bg-primary-hover: var(--utility-neutral-800);
  --bg-primary-subtle: var(--utility-neutral-950);
  --bg-primary-solid: var(--utility-neutral-100);
  --bg-secondary: var(--utility-neutral-800);
  --bg-secondary-alt: var(--utility-neutral-700);
  --bg-secondary-hover: var(--utility-neutral-700);
  --bg-secondary-subtle: var(--utility-neutral-900);
  --bg-secondary-solid: var(--utility-neutral-200);
  --bg-tertiary: var(--utility-neutral-700);
  --bg-tertiary-alt: var(--utility-neutral-600);
  --bg-tertiary-hover: var(--utility-neutral-600);
  --bg-tertiary-subtle: var(--utility-neutral-800);
  --bg-tertiary-solid: var(--utility-neutral-300);
  --bg-quaternary: var(--utility-neutral-600);
  --bg-quaternary-alt: var(--utility-neutral-500);
  --bg-quaternary-hover: var(--utility-neutral-500);
  --bg-quaternary-subtle: var(--utility-neutral-700);
  --bg-quaternary-solid: var(--utility-neutral-400);
  --bg-overlay: var(--utility-neutral-950);
  --bg-gray: var(--utility-neutral-400);
  --bg-gray-alt: var(--utility-neutral-300);
  --bg-gray-hover: var(--utility-neutral-500);
  --bg-gray-subtle: var(--utility-neutral-900);
  --bg-gray-solid: var(--utility-neutral-200);
  /* Semantic backgrounds */
  --bg-danger: var(--utility-red-400);
  --bg-danger-alt: var(--utility-red-300);
  --bg-danger-hover: var(--utility-red-500);
  --bg-danger-subtle: var(--utility-red-900);
  --bg-danger-solid: var(--utility-red-200);
  --bg-warning: var(--utility-yellow-400);
  --bg-warning-alt: var(--utility-yellow-300);
  --bg-warning-hover: var(--utility-yellow-500);
  --bg-warning-subtle: var(--utility-yellow-900);
  --bg-warning-solid: var(--utility-yellow-200);
  --bg-success: var(--utility-green-400);
  --bg-success-alt: var(--utility-green-300);
  --bg-success-hover: var(--utility-green-500);
  --bg-success-subtle: var(--utility-green-900);
  --bg-success-solid: var(--utility-green-200);
  --bg-info: var(--utility-blue-400);
  --bg-info-alt: var(--utility-blue-300);
  --bg-info-hover: var(--utility-blue-500);
  --bg-info-subtle: var(--utility-blue-900);
  --bg-info-solid: var(--utility-blue-200);
  --bg-purple: var(--utility-purple-400);
  --bg-purple-alt: var(--utility-purple-300);
  --bg-purple-hover: var(--utility-purple-500);
  --bg-purple-subtle: var(--utility-purple-900);
  --bg-purple-solid: var(--utility-purple-200);
  --bg-indigo: var(--utility-indigo-400);
  --bg-indigo-alt: var(--utility-indigo-300);
  --bg-indigo-hover: var(--utility-indigo-500);
  --bg-indigo-subtle: var(--utility-indigo-900);
  --bg-indigo-solid: var(--utility-indigo-200);
  --bg-teal: var(--utility-teal-400);
  --bg-teal-alt: var(--utility-teal-300);
  --bg-teal-hover: var(--utility-teal-500);
  --bg-teal-subtle: var(--utility-teal-900);
  --bg-teal-solid: var(--utility-teal-200);
  --bg-pink: var(--utility-pink-400);
  --bg-pink-alt: var(--utility-pink-300);
  --bg-pink-hover: var(--utility-pink-500);
  --bg-pink-subtle: var(--utility-pink-900);
  --bg-pink-solid: var(--utility-pink-200);
  /* Theme Swatches */
  --text-theme-label: var(--text-tertiary);
  /* Light theme swatches */
  --theme-light-base-swatch: var(--utility-neutral-900);
  --theme-light-primary-swatch: var(--utility-indigo-500);
  --theme-light-secondary-swatch: var(--utility-pink-400);
  --theme-light-accent-swatch: var(--utility-teal-400);
  --bg-theme-light-swatch: var(--alpha-white-100);
  --border-theme-light-swatch: var(--utility-neutral-200);
  /* Dark theme swatches */
  --theme-dark-base-swatch: var(--utility-neutral-100);
  --theme-dark-primary-swatch: var(--utility-indigo-300);
  --theme-dark-secondary-swatch: var(--utility-pink-300);
  --theme-dark-accent-swatch: var(--utility-teal-300);
  --bg-theme-dark-swatch: var(--utility-neutral-900);
  --border-theme-dark-swatch: var(--utility-neutral-700);
  /* Sidebar */
  --width-sidebar-expanded: 240px;
  --bg-sidebar: var(--utility-neutral-950);
  --bg-sidebar-hover: var(--utility-neutral-850);
  --bg-sidebar-header: var(--alpha-0);
  --bg-sidebar-avatar: var(--utility-neutral-800);
  --border-sidebar: var(--utility-neutral-800);
  --border-sidebar-divider: var(--utility-neutral-900);
  --bg-sidebar-item-hover: var(--utility-neutral-800);
  --bg-sidebar-item-active: var(--utility-neutral-800);
  --text-sidebar: var(--text-primary);
  --text-sidebar-muted: var(--text-secondary);
  --text-sidebar-subtle: var(--text-quaternary);
  --bg-sidebar-dot-muted: var(--utility-neutral-600);
  --bg-sidebar-dot-active: var(--utility-neutral-100);
  /* Split Pane */
  --border-split: var(--border-secondary);
  --border-split-hover: var(--utility-blue-400);
  --border-split-active: var(--utility-blue-500);
  /* Menu */
  --width-menu-expanded: 224px;
  --width-menu-collapsed: 54px;
  --menu-indent: 12px;
  --bg-menu: var(--alpha-0);
  --bg-menu-hover: var(--utility-neutral-900);
  --bg-menu-active: var(--utility-neutral-800);
  --bg-menu-open: var(--utility-neutral-800);
  --bg-menu-dot: var(--utility-neutral-500);
  --bg-menu-dot-muted: var(--utility-neutral-500);
  --bg-menu-dot-active: var(--utility-neutral-100);
  --bg-menu-badge: var(--utility-neutral-700);
  --text-menu-badge: var(--utility-neutral-50);
  --bg-menu-badge-muted: var(--utility-neutral-800);
  --text-menu-badge-muted: var(--utility-neutral-400);
  --text-menu: var(--alpha-white-100);
  --text-menu-strong: var(--alpha-white-100);
  --text-menu-hover: var(--alpha-white-100);
  --text-menu-active: var(--alpha-white-100);
  --text-menu-muted: var(--utility-neutral-400);
  --border-menu: var(--alpha-0);
  --border-menu-muted: var(--alpha-0);
  --icon-menu: var(--utility-neutral-300);
  --icon-menu-muted: var(--utility-neutral-400);
  --focus-menu: var(--alpha-0);
  /* Breadcrumbs / Page Header */
  --text-page-header: var(--text-primary);
  --text-page-title: var(--text-primary);
  --text-breadcrumb: var(--text-tertiary);
  --text-breadcrumb-separator: var(--text-tertiary-alt);
  --bg-page-header: var(--alpha-0);
  --bg-page-header-hover: var(--bg-secondary-alt);
  --bg-breadcrumb: var(--alpha-0);
  --bg-breadcrumb-hover: var(--bg-secondary);
  --border-breadcrumb: var(--alpha-0);
  /* Tabs */
  --bg-tab: var(--alpha-0);
  --bg-tab-hover: var(--alpha-0);
  --text-tab: var(--utility-neutral-400);
  --text-tab-hover: var(--utility-neutral-50);
  --text-tab-active: var(--utility-neutral-50);
  --border-tab: var(--alpha-0);
  --border-tab-hover: var(--utility-neutral-400);
  --border-tab-active: var(--utility-neutral-300);
  --text-tab-badge: var(--utility-neutral-50);
  --bg-tab-ribbon: var(--utility-neutral-900);
  --bg-tab-ribbon-hover: var(--utility-neutral-800);
  --bg-tab-ribbon-item: var(--alpha-0);
  --bg-tab-ribbon-active: var(--utility-neutral-700);
  --text-tab-ribbon: var(--utility-neutral-200);
  --text-tab-ribbon-active: var(--utility-neutral-50);
  --border-tab-ribbon: var(--utility-neutral-700);
  --bg-tab-menu-hover: var(--utility-neutral-800);
  --bg-tab-menu-active: var(--utility-neutral-800);
  --text-tab-menu: var(--utility-neutral-300);
  --text-tab-menu-hover: var(--utility-neutral-50);
  --text-tab-menu-active: var(--utility-neutral-50);
  --bg-tab-browser: var(--alpha-0);
  --border-tab-browser: var(--utility-neutral-700);
  --bg-tab-browser-item: var(--alpha-0);
  --bg-tab-browser-hover: var(--utility-neutral-800);
  --bg-tab-browser-active: var(--utility-neutral-800);
  --text-tab-browser: var(--utility-neutral-300);
  --text-tab-browser-hover: var(--utility-neutral-50);
  --text-tab-browser-active: var(--utility-neutral-50);
  --border-tab-browser-hover: var(--utility-neutral-600);
  --bg-tab-browser-divider: var(--utility-neutral-700);
  /* Toolbars */
  --bg-toolbar: var(--alpha-0);
  --border-toolbar: var(--border-primary-subtle);
  --text-toolbar: var(--text-tertiary);
  --text-toolbar-strong: var(--text-primary);
  --text-toolbar-muted: var(--text-quaternary);
  --bg-toolbar-group: var(--alpha-0);
  --border-toolbar-group: var(--alpha-0);
  --border-toolbar-divider: var(--border-primary-subtle);
  --bg-toolbar-btn: var(--alpha-0);
  --bg-toolbar-btn-hover: var(--bg-secondary-subtle);
  --bg-toolbar-btn-active: var(--bg-secondary-subtle);
  --bg-toolbar-btn-selected: var(--bg-secondary);
  --border-toolbar-btn: var(--alpha-0);
  --border-toolbar-btn-hover: var(--border-primary);
  --border-toolbar-btn-selected: var(--border-primary);
  --text-toolbar-hover: var(--text-primary);
  --icon-toolbar: var(--text-tertiary);
  --icon-toolbar-hover: var(--text-primary);
  --bg-toolbar-badge: var(--utility-neutral-50);
  --text-toolbar-badge: var(--utility-neutral-950);
  --bg-toolbar-input: var(--alpha-0);
  --border-toolbar-input: var(--border-primary-subtle);
  --focus-toolbar: var(--border-info);
  /* Drawer */
  --text-drawer: var(--utility-neutral-100);
  --border-drawer: var(--utility-neutral-800);
  --bg-drawer: var(--utility-neutral-900);
  /* Tray */
  --bg-tray: var(--utility-neutral-800);
  --bg-tray-body: var(--utility-neutral-850);
  --bg-tray-header: var(--alpha-0);
  --bg-tray-footer: var(--alpha-0);
  --bg-tray-overlay: var(--alpha-neutral-950-20);
  --border-tray: var(--alpha-0);
  --border-tray-divider: var(--alpha-0);
  --text-tray: var(--alpha-white-100);
  --text-tray-muted: var(--utility-neutral-300);
  --text-tray-heading: var(--alpha-white-100);
  --icon-tray: var(--utility-neutral-200);
  --icon-tray-close: var(--utility-neutral-200);
  --bg-tray-close-hover: var(--utility-neutral-700);
  --icon-tray-pin: var(--text-tertiary);
  --bg-tray-pin-hover: var(--utility-neutral-850);
  --icon-tray-pin-active: var(--color-info);
  --bg-tray-pin-active: var(--bg-info-subtle);
  --border-tray-pin-active: transparent;
  /* Buttons */
  /* Primary */
  --text-button-primary: var(--alpha-white-100);
  --bg-button-primary: var(--utility-blue-600);
  --bg-button-primary-hover: var(--utility-blue-500);
  --bg-button-primary-active: var(--utility-blue-700);
  --border-button-primary: var(--alpha-0);
  /* Secondary */
  --text-button-secondary: var(--text-primary);
  --bg-button-secondary: var(--alpha-0);
  --bg-button-secondary-hover: var(--utility-neutral-800);
  --bg-button-secondary-active: var(--utility-neutral-850);
  --bg-button-secondary-active-state: var(--utility-neutral-700);
  --border-button-secondary: var(--alpha-0);
  /* Soft */
  --text-button-soft: var(--text-primary);
  --bg-button-soft: var(--utility-neutral-800);
  --bg-button-soft-hover: var(--utility-neutral-700);
  --bg-button-soft-active: var(--utility-neutral-800);
  --border-button-soft: var(--alpha-0);
  /* Ghost */
  --text-button-ghost: var(--text-primary);
  --bg-button-ghost: var(--alpha-0);
  --bg-button-ghost-hover: var(--utility-neutral-800);
  --bg-button-ghost-active: var(--utility-neutral-850);
  --border-button-ghost: var(--alpha-0);
  /* Link */
  --text-button-link: var(--text-primary);
  --text-button-link-hover: var(--alpha-white-100);
  /* Light */
  --text-button-light: var(--text-primary);
  --bg-button-light: var(--utility-neutral-800);
  --bg-button-light-hover: var(--utility-neutral-700);
  --bg-button-light-active: var(--utility-neutral-600);
  --border-button-light: var(--border-primary);
  /* Input-style button */
  --text-button-input: var(--text-primary);
  --bg-button-input: var(--utility-neutral-800);
  --bg-button-input-hover: var(--utility-neutral-700);
  --bg-button-input-active: var(--utility-neutral-800);
  --border-button-input: var(--alpha-0);
  /* Topbar */
  --text-button-topbar: var(--text-primary);
  --bg-button-topbar: var(--alpha-0);
  --bg-button-topbar-hover: var(--utility-neutral-700);
  --bg-button-topbar-active: var(--utility-neutral-600);
  --border-button-topbar: var(--alpha-0);
  --border-button-topbar-hover: var(--alpha-0);
  /* Danger */
  --text-button-danger: var(--alpha-white-100);
  --bg-button-danger: var(--utility-red-600);
  --bg-button-danger-hover: var(--utility-red-500);
  --bg-button-danger-active: var(--utility-red-700);
  --border-button-danger: var(--alpha-0);
  --text-button-danger-outline: var(--utility-red-400);
  --bg-button-danger-outline: var(--alpha-0);
  --bg-button-danger-outline-hover: var(--alpha-red-900-50);
  --bg-button-danger-outline-active: var(--utility-red-950);
  --border-button-danger-outline: var(--alpha-0);
  /* Warning */
  --bg-button-warning: var(--utility-amber-600);
  --bg-button-warning-hover: var(--utility-amber-500);
  --bg-button-warning-active: var(--utility-amber-400);
  --text-button-warning: var(--utility-amber-950);
  --border-button-warning: var(--alpha-0);
  /* Warning outline */
  --text-button-warning-outline: var(--utility-amber-400);
  --bg-button-warning-outline: var(--alpha-0);
  --bg-button-warning-outline-hover: var(--alpha-amber-900-50);
  --bg-button-warning-outline-active: var(--utility-amber-950);
  --border-button-warning-outline: var(--alpha-0);
  /* Success outline */
  --text-button-success-outline: var(--utility-green-400);
  --bg-button-success-outline: var(--alpha-0);
  --bg-button-success-outline-hover: var(--alpha-green-900-50);
  --bg-button-success-outline-active: var(--utility-green-950);
  --border-button-success-outline: var(--alpha-0);
  /* Info */
  --bg-button-info: var(--utility-blue-600);
  --bg-button-info-hover: var(--utility-blue-500);
  --bg-button-info-active: var(--utility-blue-400);
  --text-button-info: var(--alpha-white-100);
  --border-button-info: var(--alpha-0);
  /* Info outline */
  --text-button-info-outline: var(--utility-blue-400);
  --bg-button-info-outline: var(--alpha-0);
  --bg-button-info-outline-hover: var(--alpha-blue-900-50);
  --bg-button-info-outline-active: var(--utility-blue-950);
  --border-button-info-outline: var(--alpha-0);
  /* Glass */
  --text-button-glass: var(--alpha-white-100);
  --bg-button-glass: var(--alpha-white-10);
  --border-button-glass: var(--alpha-white-20);
  --text-button-glass-hover: var(--alpha-white-100);
  --bg-button-glass-hover: var(--alpha-white-20);
  --border-button-glass-hover: var(--alpha-white-30);
  --text-button-glass-active: var(--alpha-white-100);
  --bg-button-glass-active: var(--alpha-white-15);
  --border-button-glass-active: var(--alpha-white-30);
  /* Grain */
  --opacity-button-grain: 0.25;
  /* Focus */
  --border-button-focus: var(--utility-emerald-500);
  --ring-button-focus-offset: var(--bg-body);
  /* Text */
  --text-input: var(--utility-neutral-50);
  --text-input-primary: var(--utility-neutral-50);
  --text-input-placeholder: var(--utility-neutral-500);
  --text-input-disabled: var(--utility-neutral-500);
  --text-input-tertiary: var(--utility-neutral-500);
  /* Readonly */
  --text-input-readonly: var(--text-input);
  /* Backgrounds */
  --bg-input: var(--utility-neutral-800);
  --bg-input-select: var(--utility-neutral-800);
  --bg-input-disabled: var(--utility-neutral-800);
  /* Soft variant */
  --bg-input-soft: var(--utility-neutral-800);
  --bg-input-soft-hover: var(--utility-neutral-750, var(--utility-neutral-800));
  --bg-input-soft-active: var(--utility-neutral-750, var(--utility-neutral-800));
  /* Borderless variant */
  --bg-input-borderless: var(--utility-neutral-850);
  --bg-input-borderless-hover: var(--utility-neutral-800);
  --bg-input-borderless-active: var(--utility-neutral-800);
  /* Ghost variant */
  --bg-input-ghost-hover: var(--utility-neutral-800);
  --bg-input-ghost-active: var(--utility-neutral-800);
  /* Readonly */
  --bg-input-readonly: var(--utility-neutral-800);
  /* Addon / group */
  --bg-input-addon: var(--utility-neutral-800);
  --bg-input-group-hover: var(--utility-neutral-750); /* hovered input inside input-group */
  --bg-input-group-focus: var(--utility-neutral-750); /* focused input inside input-group */
  /* Borders */
  --border-input: var(--utility-neutral-700);
  --border-input-hover: var(--utility-neutral-600);
  --border-input-active: var(--utility-emerald-500);
  --border-input-disabled: var(--utility-neutral-700);
  --border-input-transparent: var(--alpha-0);
  /* Addon/group borders */
  --border-input-addon: var(--border-input);
  /* Stack */
  /* Outer outline */
  --border-input-stack: var(--border-input);
  --border-input-stack-hover: var(--border-input-hover);
  --border-input-stack-active: var(--border-input-active);
  /* Inner dividers (slightly stronger for dark contrast) */
  --border-input-stack-divider: var(--utility-neutral-700);
  /* Semantic states */
  --border-input-error: var(--utility-red-500);
  --border-input-error-focus: var(--utility-red-400);
  --border-input-success: var(--utility-green-500);
  --border-input-success-focus: var(--utility-green-400);
  /* Warning / Info */
  --border-input-warning: var(--utility-yellow-500);
  --border-input-warning-focus: var(--utility-yellow-400);
  --border-input-info: var(--utility-blue-500);
  --border-input-info-focus: var(--utility-blue-400);
  /* Group Validation */
  --border-input-group-error: var(--border-input-error);
  --border-input-group-error-focus: var(--border-input-error-focus);
  /* Focus helpers */
  --border-input-focus: var(--border-input-active);
  --ring-input-focus: var(--alpha-emerald-500-20);
  --ring-input-focus-offset: var(--bg-body);
  /* Forms */
  /* Labels */
  --text-form-label: var(--utility-neutral-400);
  --text-form-label-strong: var(--utility-neutral-300);
  --text-form-label-muted: var(--utility-neutral-500);
  --text-form-label-required: var(--utility-red-400);
  /* Help / meta */
  --text-form-hint: var(--utility-neutral-500);
  --text-form-hint-muted: var(--utility-neutral-600);
  /* Messages */
  --text-form-error: var(--utility-red-400);
  --text-form-success: var(--utility-green-400);
  --text-form-warning: var(--utility-yellow-400);
  --text-form-info: var(--utility-blue-400);
  /* Info button */
  --text-form-info-btn: var(--utility-neutral-500);
  --bg-form-info-btn-hover: var(--utility-neutral-800);
  --bg-form-info-btn-active: var(--utility-neutral-700);
  --border-form-info-btn: var(--alpha-0);
  /* Validation borders */
  --border-form-error: var(--utility-red-500);
  --border-form-success: var(--utility-green-500);
  --border-form-warning: var(--utility-yellow-500);
  --border-form-info: var(--utility-blue-500);
  /* Layout helpers */
  --border-form-divider: var(--utility-neutral-800);
  /* Theme tokens – Checkbox & Toggle V2 */
  /* Shared label/meta */
  --text-check-label: var(--utility-neutral-50);
  --text-check-label-muted: var(--utility-neutral-500);
  /* Checkbox tokens */
  /* text / icon */
  --text-checkbox: var(--utility-neutral-50);
  --text-checkbox-checked: var(--utility-neutral-950);
  --text-checkbox-disabled: var(--utility-neutral-600);
  /* backgrounds */
  --bg-checkbox: var(--alpha-0);
  --bg-checkbox-active: var(--utility-neutral-800);
  --bg-checkbox-checked: var(--utility-blue-500);
  --bg-checkbox-disabled: var(--utility-neutral-850);
  /* Disabled checked */
  --bg-checkbox-disabled-checked: var(--utility-neutral-700);
  /* borders */
  --border-checkbox: var(--utility-neutral-600);
  --border-checkbox-hover: var(--utility-neutral-500);
  --border-checkbox-active: var(--utility-neutral-400);
  --border-checkbox-checked: var(--utility-blue-500);
  --border-checkbox-disabled: var(--utility-neutral-700);
  /* Disabled checked */
  --border-checkbox-disabled-checked: var(--utility-neutral-700);
  /* semantic */
  --border-checkbox-error: var(--utility-red-500);
  --border-checkbox-success: var(--utility-green-500);
  /* Toggle tokens */
  /* track */
  --bg-toggle-track: var(--utility-neutral-700);
  --bg-toggle-track-hover: var(--utility-neutral-600);
  --bg-toggle-track-checked: var(--utility-blue-500);
  --bg-toggle-track-disabled: var(--utility-neutral-700);
  /* thumb */
  --bg-toggle-thumb: var(--utility-neutral-50);
  --shadow-toggle-thumb: var(--shadow-sm);
  /* border */
  --border-toggle-track: var(--alpha-0);
  /* Radio tokens */
  /* text (kept for consistency) */
  --text-radio: var(--utility-neutral-50);
  /* backgrounds */
  --bg-radio: var(--alpha-0);
  --bg-radio-active: var(--utility-neutral-800);
  --bg-radio-disabled: var(--utility-neutral-800);
  /* dot */
  --bg-radio-dot: var(--alpha-0);
  --bg-radio-dot-checked: var(--utility-neutral-50);
  --bg-radio-dot-disabled: var(--utility-neutral-600);
  /* borders */
  --border-radio: var(--utility-neutral-600);
  --border-radio-hover: var(--utility-neutral-500);
  --border-radio-active: var(--utility-neutral-400);
  --border-radio-checked: var(--utility-neutral-50);
  --border-radio-disabled: var(--utility-neutral-700);
  /* variant borders */
  --border-radio-soft: var(--utility-neutral-700);
  --border-radio-ghost: var(--utility-neutral-700);
  /* semantic */
  --border-radio-error: var(--utility-red-500);
  --border-radio-success: var(--utility-green-500);
  --bg-radio-dot-error: var(--utility-red-400);
  --bg-radio-dot-success: var(--utility-green-400);
  /* Stepper / Wizard */
  /* Step indicator (default) */
  --text-step-indicator: var(--utility-neutral-200);
  --bg-step-indicator: var(--utility-neutral-900);
  --border-step-indicator: var(--utility-neutral-700);
  --shadow-step-indicator: var(--shadow-sm);
  /* Titles */
  --text-step-title: var(--utility-neutral-50);
  --text-step-subtitle: var(--utility-neutral-400);
  /* Connector */
  --bg-step-connector: var(--utility-neutral-700);
  --bg-step-connector-fill: var(--utility-blue-500);
  /* Hover (default — dark indicator) */
  --bg-step-hover: var(--utility-neutral-800);
  --bg-step-active: var(--utility-neutral-700);
  /* Hover (current/completed — blue indicator, lighten like btn-primary) */
  --bg-step-current-hover: var(--utility-blue-500);
  --bg-step-current-active: var(--utility-blue-700);
  --bg-step-completed-hover: var(--utility-blue-500);
  --bg-step-completed-active: var(--utility-blue-700);
  /* Current */
  --text-step-current: var(--alpha-white-100);
  --bg-step-current: var(--utility-blue-600);
  --border-step-current: var(--alpha-0);
  --text-step-title-current: var(--utility-neutral-50);
  /* Completed */
  --text-step-completed: var(--alpha-white-100);
  --bg-step-completed: var(--utility-blue-600);
  --border-step-completed: var(--alpha-0);
  /* Disabled */
  --text-step-disabled: var(--utility-neutral-600);
  --bg-step-disabled: var(--utility-neutral-900);
  --border-step-disabled: var(--utility-neutral-800);
  /* Error */
  --text-step-error: var(--alpha-white-100);
  --bg-step-error: var(--utility-red-500);
  --border-step-error: var(--alpha-0);
  --text-step-title-error: var(--utility-red-400);
  /* Success */
  --text-step-success: var(--alpha-white-100);
  --bg-step-success: var(--utility-green-500);
  --border-step-success: var(--alpha-0);
  /* Wizard shell */
  --bg-wizard: var(--utility-neutral-950);
  --border-wizard: var(--utility-neutral-800);
  --border-wizard-divider: var(--utility-neutral-800);
  --text-wizard-title: var(--utility-neutral-50);
  --text-wizard-subtitle: var(--utility-neutral-400);
  /* Dropdown */
  /* Base menu */
  --bg-dropdown: var(--utility-neutral-850);
  --border-dropdown: var(--utility-neutral-700);
  --shadow-dropdown: var(--shadow-lg);
  --blur-dropdown-backdrop: none;
  --opacity-dropdown-grain: 0;
  /* Text */
  --text-dropdown: var(--utility-neutral-100);
  --text-dropdown-item: var(--utility-neutral-100);
  --text-dropdown-icon: var(--utility-neutral-400);
  --text-dropdown-end: var(--utility-neutral-400);
  --text-dropdown-title: var(--utility-neutral-400);
  --text-dropdown-hint: var(--utility-neutral-500);
  /* Hover / active */
  --bg-dropdown-hover: var(--utility-neutral-700);
  --bg-dropdown-active: var(--utility-neutral-800);
  /* Divider */
  --border-dropdown-divider: var(--utility-neutral-800);
  /* Selected */
  --bg-dropdown-selected: var(--utility-neutral-800);
  --text-dropdown-selected: var(--utility-neutral-50);
  /* Danger */
  --text-dropdown-danger: var(--utility-red-400);
  --bg-dropdown-danger-hover: var(--alpha-red-900-50);
  /* Glass */
  /* Glass base */
  --bg-dropdown-glass: var(--alpha-neutral-900-70);
  --border-dropdown-glass: var(--alpha-white-10);
  --shadow-dropdown-glass: var(--shadow-lg);
  --blur-dropdown-glass: blur(20px);
  --opacity-dropdown-glass-grain: 0.15;
  /* Glass text */
  --text-dropdown-glass: var(--utility-neutral-50);
  --text-dropdown-item-glass: var(--utility-neutral-50);
  --text-dropdown-icon-glass: var(--utility-neutral-300);
  --text-dropdown-end-glass: var(--utility-neutral-400);
  /* Glass hover / active */
  --bg-dropdown-glass-hover: var(--alpha-neutral-800-60);
  --bg-dropdown-glass-active: var(--alpha-neutral-700-60);
  /* Glass selected */
  --bg-dropdown-selected-glass: var(--alpha-neutral-800-60);
  --text-dropdown-selected-glass: var(--utility-neutral-50);
  /* Glass danger */
  --text-dropdown-danger-glass: var(--utility-red-400);
  --bg-dropdown-danger-hover-glass: var(--alpha-red-500-20, rgba(239,68,68,0.2));
  /* Table */
  /* Container / Surface */
  --bg-table: var(--utility-neutral-850);
  --bg-table-surface: var(--utility-neutral-850);
  --border-table-container: var(--utility-neutral-800);
  --radius-table: var(--radius-md, 0.375rem);
  /* Header */
  --bg-table-header: var(--utility-neutral-800);
  --bg-table-header-hover: var(--alpha-neutral-700-50);
  /* Active (sorted) */
  --bg-table-header-active: var(--utility-neutral-800);
  --text-table-header-active: var(--text-primary);
  --shadow-table-header-active: var(--shadow-table-header-pressed);
  /* Pressed (mousedown on .sort) */
  --bg-table-header-pressed: var(--bg-secondary);
  /* Dark “pressed” reads better with a subtle inset shadow */
  --shadow-table-header-pressed: inset 0 1px 0 rgba(0,0,0,.35);
  --bg-table-header-sticky: var(--bg-table-header);
  --text-table-header: var(--text-secondary);
  --icon-table-header: var(--text-tertiary);
  --border-table-header: var(--border-primary);
  /* Body / Footer Text */
  --text-table: var(--text-primary);
  --text-table-active: var(--text-primary);
  --text-table-footer: var(--text-secondary-alt);
  --text-table-disabled: var(--text-disabled);
  /* Row States */
  /* In dark mode, hover usually needs to be a *slightly lighter* layer */
  --bg-table-row-hover: var(--alpha-neutral-700-10);
  --bg-table-row-zebra: var(--bg-primary);
  --bg-table-row-selected: var(--bg-info-subtle);
  --bg-table-row-active: var(--bg-secondary);
  /* Focus within row */
  --bg-table-row-focus: var(--bg-info-subtle);
  --ring-table-row-focus: 0 0 0 2px var(--border-info-subtle);
  /* Disabled */
  --bg-table-row-disabled: var(--bg-primary);
  /* Intent rows */
  --bg-table-row-success: var(--bg-success-subtle);
  --bg-table-row-warning: var(--bg-warning-subtle);
  --bg-table-row-danger: var(--bg-danger-subtle);
  --text-table-row-success: var(--text-success-solid);
  --text-table-row-warning: var(--text-warning-solid);
  --text-table-row-danger: var(--text-danger-solid);
  /* Row Sweep — transient feedback */
  --bg-row-sweep-success: rgba(74, 222, 128, 0.12);
  --bg-row-sweep-info: rgba(96, 165, 250, 0.12);
  --bg-row-sweep-warning: rgba(251, 191, 36, 0.12);
  --bg-row-sweep-danger: rgba(248, 113, 113, 0.12);
  --duration-row-sweep: 800ms;
  --duration-row-sweep-fade: 600ms;
  --ease-row-sweep: cubic-bezier(0.25, 0.1, 0.25, 1);
  /* Cell Micro-states (optional) */
  --bg-table-cell-hover: var(--bg-primary-hover);
  --bg-table-cell-focus: var(--bg-info-subtle);
  --ring-table-cell-focus: 0 0 0 2px var(--border-info-subtle);
  /* Hover opt-out (td/th.no-hover while row hovered) */
  --bg-table-cell-no-hover: var(--bg-table);
  /* Footer */
  --bg-table-footer: var(--utility-neutral-850);
  --bg-table-footer-sticky: var(--utility-neutral-850);
  /* Borders */
  --border-table: var(--border-primary-subtle);
  --border-table-grid: var(--border-primary);
  --border-table-grid-strong: var(--border-primary-alt);
  --border-table-sticky-divider: var(--border-primary-solid);
  /* Sticky Columns */
  --bg-table-sticky: var(--bg-table);
  --bg-table-sticky-hover: var(--bg-table-row-hover);
  --bg-table-sticky-selected: var(--bg-table-row-selected);
  --bg-table-sticky-active: var(--bg-table-row-active);
  --bg-table-sticky-focus: var(--bg-table-row-focus);
  /* Sticky Shadows / Separators */
  --shadow-table-sticky-header: inset 0 -1px 0 var(--border-table-header);
  --shadow-table-sticky-footer: inset 0 1px 0 var(--border-table);
  --shadow-table-sticky-col: inset -1px 0 0 var(--border-table-sticky-divider);
  --shadow-table-sticky-col-right: inset 1px 0 0 var(--border-table-sticky-divider);
  /* Column Hover (optional / JS) */
  --bg-table-col-hover: var(--bg-info-subtle);
  /* Editable Controls Inside Table */
  --bg-table-control: var(--alpha-0);
  --bg-table-control-focus: var(--bg-input-select);
  --border-table-control: var(--border-table);
  /* Panel surfaces (powershell frame bg) */
  --bg-panel: var(--utility-neutral-850);
  --bg-panel-raised: var(--utility-neutral-800);
  --bg-panel-sunken: var(--utility-neutral-900);
  --border-panel: var(--alpha-neutral-700-50);
  /* Card */
  /* Base card */
  --bg-card: var(--utility-neutral-850);
  --bg-card-alt: var(--utility-neutral-900);
  --bg-card-hover: var(--utility-neutral-800);
  --bg-card-hover-surface: var(--alpha-emerald-900-10);
  --bg-card-pressed: var(--utility-neutral-750, var(--utility-neutral-800));
  --text-card: var(--text-primary);
  --border-card: var(--alpha-neutral-700-50);
  --border-card-active: var(--border-secondary);
  --shadow-card: var(--shadow-sm);
  --shadow-card-active: var(--shadow-sm);
  --shadow-card-pressed: inset 0 1px 0 rgba(255,255,255,.04);
  /* Backdrop + Grain */
  --blur-card-backdrop: none;
  --opacity-card-grain: 0;
  /* Dividers + Focus */
  --border-card-divider: var(--border-primary-subtle);
  --border-card-focus: var(--alpha-0);
  --ring-card-focus: var(--alpha-0);
  /* Disabled */
  --opacity-card-disabled: 0.55;
  --filter-card-disabled: none;
  /* Sizing */
  --radius-card-sm: var(--radius-lg, 0.5rem);
  --radius-card-md: var(--radius-xl, 0.75rem);
  --radius-card-lg: var(--radius-2xl, 1rem);
  /* Flat */
  --bg-card-flat: var(--utility-neutral-900);
  --border-card-flat: var(--border-primary-subtle);
  --opacity-card-flat-grain: 0;
  /* Light */
  --bg-card-light: var(--utility-neutral-800);
  --border-card-light: var(--border-primary-subtle);
  --opacity-card-light-grain: 0;
  /* Soft */
  --bg-card-soft: var(--utility-neutral-850, var(--utility-neutral-800));
  --border-card-soft: var(--alpha-0);
  /* Ghost */
  --bg-card-ghost: var(--alpha-0);
  --border-card-ghost: var(--border-primary-subtle);
  --shadow-card-ghost: none;
  /* Strong outline */
  --border-card-strong: var(--border-primary-solid);
  /* Mini */
  --bg-card-mini: var(--bg-card);
  --border-card-mini: var(--border-card);
  --text-card-mini: var(--text-card);
  --opacity-card-mini-grain: 0;
  /* Glass */
  --bg-glass-card: var(--alpha-white-10);
  --border-glass-card: var(--alpha-white-10);
  --text-glass-card: var(--text-primary);
  --blur-glass-card: blur(20px);
  --shadow-glass-card: var(--shadow-md);
  --opacity-glass-card-grain: 0.12;
  --opacity-glass-grain-sm: 0.12;
  --opacity-glass-grain-md: 0.16;
  --opacity-glass-grain-lg: 0.20;
  --opacity-glass-grain-xl: 0.25;
  /* Glass blur per size */
  --blur-glass-card-sm: blur(10px);
  --blur-glass-card-md: blur(16px);
  --blur-glass-card-lg: blur(22px);
  --blur-glass-card-xl: blur(28px);
  /* List */
  /* Container */
  --bg-list: var(--alpha-0);
  --border-list: var(--border-primary-subtle);
  --radius-list: var(--radius-md, 0.375rem);
  /* Header */
  --text-list-header: var(--text-secondary);
  --border-list-header: var(--border-primary-subtle);
  --bg-list-header: var(--utility-neutral-850, var(--utility-neutral-800));
  /* Items */
  --bg-list-item: var(--bg-list);
  --bg-list-item-hover: var(--utility-neutral-800);
  --bg-list-item-active: var(--utility-neutral-800);
  --bg-list-item-selected: var(--bg-info-subtle);
  --bg-list-item-focus: var(--bg-info-subtle);
  --text-list-item: var(--text-primary);
  --text-list-item-title: var(--text-primary);
  --text-list-item-subtitle: var(--text-tertiary);
  --text-list-item-leading: var(--text-tertiary);
  --text-list-item-trailing: var(--text-tertiary);
  /* Dividers */
  --border-list-divider: var(--border-primary-subtle);
  --space-list-inset: 3rem;
  /* Active Indicator (optional) */
  --size-list-indicator: 3px;
  --bg-list-indicator: var(--bg-info);
  /* Focus Ring*/
  --ring-list-item-focus: 0 0 0 2px var(--border-info);
  /* Density */
  --space-list-item-x: 1rem;
  --space-list-item-y: 0.5rem;
  --space-list-item-y-compact: 0.375rem;
  --space-list-item-y-relaxed: 0.75rem;
  /* Disabled */
  --opacity-list-item-disabled: 0.55;
  --bg-list-item-disabled: var(--utility-neutral-850, var(--utility-neutral-800));
  --text-list-item-disabled: var(--text-disabled);
  /* Intent items */
  --bg-list-item-success: var(--bg-success-subtle);
  --bg-list-item-warning: var(--bg-warning-subtle);
  --bg-list-item-danger: var(--bg-danger-subtle);
  --bg-list-item-info: var(--bg-info-subtle);
  /* Tree */
  --bg-tree-surface: var(--alpha-0);
  --text-tree: var(--text-primary);
  --bg-tree-row: var(--alpha-0);
  --bg-tree-row-hover: var(--utility-neutral-800);
  --bg-tree-row-active: var(--utility-neutral-800);
  --text-tree-row-active: var(--text-primary);
  --bg-tree-row-selected: var(--utility-neutral-800);
  --text-tree-row-selected: var(--text-primary);
  --bg-tree-row-disabled: var(--utility-neutral-850, var(--utility-neutral-800));
  --text-tree-row-disabled: var(--text-disabled);
  --opacity-tree-disabled: 0.55;
  --bg-tree-line: var(--utility-neutral-700);
  --opacity-tree-line: 0.8;
  --bg-tree-toggle: var(--utility-neutral-800);
  --border-tree-toggle: var(--utility-neutral-700);
  --text-tree-toggle: var(--text-tertiary);
  --text-tree-icon: var(--text-tertiary);
  --text-tree-label: var(--text-primary);
  --text-tree-meta: var(--text-tertiary);
  --text-tree-actions: var(--text-tertiary);
  --ring-tree-row: var(--alpha-0);
  --radius-tree-row: var(--radius-md, 0.5rem);
  /* Badge */
  /* Base */
  --text-badge: var(--utility-neutral-200);
  --text-badge-icon: var(--utility-neutral-300);
  --bg-badge: var(--utility-neutral-800);
  --bg-badge-hover: var(--utility-neutral-700);
  --bg-badge-pressed: var(--utility-neutral-750, var(--utility-neutral-700));
  --shadow-badge-pressed: inset 0 1px 0 rgba(0,0,0,.4);
  /* White / Alt */
  --bg-badge-alt: var(--utility-neutral-900);
  /* Close */
  --text-badge-close: var(--utility-neutral-400);
  --text-badge-close-hover: var(--utility-neutral-100);
  --bg-badge-close-hover: var(--utility-neutral-700);
  --bg-badge-close-pressed: var(--utility-neutral-750, var(--utility-neutral-700));
  /* Solid */
  --text-badge-solid: var(--alpha-white-100);
  --bg-badge-solid: var(--utility-neutral-600);
  --bg-badge-solid-hover: var(--utility-neutral-500);
  --bg-badge-solid-pressed: var(--utility-neutral-550, var(--utility-neutral-500));
  /* Outline */
  --bg-badge-outline: var(--alpha-0);
  --border-badge-outline: var(--utility-neutral-600);
  --text-badge-outline: var(--utility-neutral-200);
  --bg-badge-outline-hover: var(--utility-neutral-800);
  --bg-badge-outline-pressed: var(--utility-neutral-750, var(--utility-neutral-700));
  /* Ghost */
  --text-badge-ghost: var(--utility-neutral-300);
  --bg-badge-ghost-hover: var(--utility-neutral-800);
  --bg-badge-ghost-pressed: var(--utility-neutral-750, var(--utility-neutral-700));
  /* Intent: semantic */
  /* Danger */
  --text-badge-danger: var(--utility-red-300);
  --bg-badge-danger: var(--utility-red-950);
  --bg-badge-danger-hover: var(--utility-red-900);
  --bg-badge-danger-pressed: var(--utility-red-850, var(--utility-red-900));
  /* Warning */
  --text-badge-warning: var(--utility-yellow-300);
  --bg-badge-warning: var(--utility-yellow-950);
  --bg-badge-warning-hover: var(--utility-yellow-900);
  --bg-badge-warning-pressed: var(--utility-yellow-850, var(--utility-yellow-900));
  /* Success */
  --text-badge-success: var(--utility-green-300);
  --bg-badge-success: var(--utility-green-950);
  --bg-badge-success-hover: var(--utility-green-900);
  --bg-badge-success-pressed: var(--utility-green-850, var(--utility-green-900));
  /* Info */
  --text-badge-info: var(--utility-blue-300);
  --bg-badge-info: var(--utility-blue-950);
  --bg-badge-info-hover: var(--utility-blue-900);
  --bg-badge-info-pressed: var(--utility-blue-850, var(--utility-blue-900));
  /* Indigo */
  --text-badge-indigo: var(--utility-indigo-300);
  --bg-badge-indigo: var(--utility-indigo-950);
  --bg-badge-indigo-hover: var(--utility-indigo-900);
  --bg-badge-indigo-pressed: var(--utility-indigo-850, var(--utility-indigo-900));
  /* Purple */
  --text-badge-purple: var(--utility-purple-300);
  --bg-badge-purple: var(--utility-purple-950);
  --bg-badge-purple-hover: var(--utility-purple-900);
  --bg-badge-purple-pressed: var(--utility-purple-850, var(--utility-purple-900));
  /* Pink */
  --text-badge-pink: var(--utility-pink-300);
  --bg-badge-pink: var(--utility-pink-950);
  --bg-badge-pink-hover: var(--utility-pink-900);
  --bg-badge-pink-pressed: var(--utility-pink-850, var(--utility-pink-900));
  /* Teal */
  --text-badge-teal: var(--utility-teal-300);
  --bg-badge-teal: var(--utility-teal-950);
  --bg-badge-teal-hover: var(--utility-teal-900);
  --bg-badge-teal-pressed: var(--utility-teal-850, var(--utility-teal-900));
  /* Mint */
  --text-badge-mint: var(--utility-mint-300);
  --bg-badge-mint: var(--utility-mint-950);
  --bg-badge-mint-hover: var(--utility-mint-900);
  --bg-badge-mint-pressed: var(--utility-mint-850, var(--utility-mint-900));
  /* Notification */
  --text-badge-notification: var(--alpha-white-100);
  --bg-badge-notification: var(--utility-red-600);
  /* Dot/status */
  --text-badge-status: var(--utility-neutral-200);
  --text-badge-dot: var(--utility-neutral-200);
  --bg-badge-dot: var(--utility-neutral-800);
  /* Dots */
  --dot-light: var(--utility-neutral-400);
  --dot-danger: var(--utility-red-500);
  --dot-warning: var(--utility-yellow-500);
  --dot-success: var(--utility-green-500);
  --dot-info: var(--utility-blue-500);
  --dot-indigo: var(--utility-indigo-500);
  --dot-purple: var(--utility-purple-500);
  --dot-pink: var(--utility-pink-500);
  --dot-teal: var(--utility-teal-500);
  --dot-mint: var(--utility-mint-500);
  /* Avatar */
  /* Base */
  --text-avatar: var(--text-primary);
  --bg-avatar: var(--utility-neutral-700);
  --ring-avatar: var(--border-primary);
  /* Style variants */
  --bg-avatar-soft: var(--utility-neutral-800);
  --text-avatar-soft: var(--text-primary);
  --bg-avatar-solid: var(--utility-neutral-950);
  --text-avatar-solid: var(--alpha-white-100);
  --text-avatar-outline: var(--text-primary);
  --border-avatar-outline: var(--border-primary);
  --text-avatar-ghost: var(--text-primary);
  /* Presence badge */
  --bg-avatar-badge-ring: var(--bg-avatar);
  --border-avatar-badge: var(--border-primary);
  /* Presence colors */
  --bg-avatar-online: var(--bg-success-alt);
  --bg-avatar-away: var(--bg-warning-alt);
  --bg-avatar-busy: var(--bg-danger-alt);
  --bg-avatar-ooo: var(--utility-fuchsia-400);
  --bg-avatar-offline: var(--utility-neutral-500);
  /* Group stacking ring */
  --ring-avatar-stack: var(--alpha-white-50);
  /* Overflow pill (+N) */
  --bg-avatar-more: var(--bg-primary-subtle);
  --text-avatar-more: var(--text-secondary);
  --ring-avatar-more: var(--alpha-white-50);
  /* Semantic fills (optional) */
  --bg-avatar-info: var(--bg-info-subtle);
  --text-avatar-info: var(--text-info-solid);
  --ring-avatar-info: var(--border-info-subtle);
  --bg-avatar-success: var(--bg-success-subtle);
  --text-avatar-success: var(--text-success-solid);
  --ring-avatar-success: var(--border-success-subtle);
  --bg-avatar-warning: var(--bg-warning-subtle);
  --text-avatar-warning: var(--text-warning-solid);
  --ring-avatar-warning: var(--border-warning-subtle);
  --bg-avatar-danger: var(--bg-danger-subtle);
  --text-avatar-danger: var(--text-danger-solid);
  --ring-avatar-danger: var(--border-danger-subtle);
  /* Extra semantic families */
  --bg-avatar-indigo: var(--bg-indigo-subtle);
  --text-avatar-indigo: var(--text-indigo-solid);
  --bg-avatar-purple: var(--bg-purple-subtle);
  --text-avatar-purple: var(--text-purple-solid);
  --bg-avatar-pink: var(--bg-pink-subtle);
  --text-avatar-pink: var(--text-pink-solid);
  --bg-avatar-teal: var(--bg-teal-subtle);
  --text-avatar-teal: var(--text-teal-solid);
  --bg-avatar-mint: var(--bg-mint-subtle);
  --text-avatar-mint: var(--text-mint-solid);
  /* Persona */
  /* Base */
  --bg-persona: var(--bg-primary);
  --border-persona: var(--border-primary);
  --text-persona: var(--text-primary);
  --text-persona-title: var(--text-primary);
  --text-persona-subtitle: var(--text-tertiary);
  --text-persona-meta: var(--text-quaternary);
  /* Tag (optional) */
  --bg-persona-tag: var(--bg-primary-subtle);
  --text-persona-tag: var(--text-secondary);
  --border-persona-tag: var(--border-primary-subtle);
  /* Surface variants */
  --bg-persona-soft: var(--bg-primary-subtle);
  --border-persona-soft: var(--alpha-0);
  --bg-persona-ghost: var(--alpha-0);
  --border-persona-ghost: var(--border-primary-subtle);
  --border-persona-strong: var(--border-primary-solid);
  --shadow-persona: var(--shadow-sm);
  /* Interaction */
  --bg-persona-hover: var(--bg-primary-hover);
  --border-persona-hover: var(--border-primary-alt);
  --bg-persona-pressed: var(--bg-secondary);
  --border-persona-pressed: var(--border-primary-solid);
  /* NEW: pressed shadow (button-like) */
  --shadow-persona-pressed: inset 0 1px 0 rgba(0,0,0,.18);
  /* Selected */
  --bg-persona-selected: var(--bg-info-subtle);
  --border-persona-selected: var(--border-info-subtle);
  /* Focus */
  --ring-persona-focus: 0 0 0 2px var(--border-info-subtle);
  /* Disabled */
  --opacity-persona-disabled: 0.6;
  --filter-persona-disabled: none;
  /* Status pill */
  --bg-persona-status: var(--bg-primary-subtle);
  --border-persona-status: var(--border-primary-subtle);
  --text-persona-status: var(--text-secondary);
  --bg-persona-status-dot: var(--bg-secondary-solid);
  /* Status intent dots */
  --bg-persona-dot-success: var(--bg-success-alt);
  --bg-persona-dot-warning: var(--bg-warning-alt);
  --bg-persona-dot-danger: var(--bg-danger-alt);
  --bg-persona-dot-info: var(--bg-info-alt);
  /* Divider */
  /* Base */
  --border-divider: var(--border-primary);
  --border-divider-subtle: var(--border-primary-subtle);
  --border-divider-strong: var(--border-primary-solid);
  --border-divider-ghost: var(--alpha-neutral-900-60);
  --text-divider: var(--text-tertiary);
  /* Optional */
  --bg-divider: var(--bg-primary);
  /* Progress */
  /* Linear — Track + Bar */

  --height-progress-track: 4px;
  --bg-progress: var(--utility-neutral-800);
  --bg-progress-bar: var(--utility-blue-500);
  --text-progress: var(--alpha-white-100);
  /* Intent bars */
  --bg-progress-bar-success: var(--bg-success);
  --bg-progress-bar-warning: var(--bg-warning);
  --bg-progress-bar-danger: var(--bg-danger);
  --bg-progress-bar-info: var(--bg-info);
  --bg-progress-bar-neutral: var(--utility-neutral-600);
  /* Radial / Circular */

  --bg-progress-radial-inner: var(--bg-primary);
  --text-progress-radial: var(--text-primary);
  /* Track inside radial */
  --bg-progress-radial-track: var(--bg-progress);
  /* Cap / Dot marker */
  --size-progress-cap: 10px;
  --shadow-progress-cap: 0 0 0 2px var(--bg-progress-radial-inner);
  /* Optional glow */
  --shadow-progress-cap-glow: 0 0 10px var(--bg-progress-bar), 0 0 0 2px var(--bg-progress-radial-inner);
  /* Indeterminate */

  --duration-progress-indeterminate: 1.2s;
  --easing-progress-indeterminate: ease-in-out;
  /* Stack */

  --gap-progress-stack: 2px;
  /* Size System (Radial Defaults) */

  --size-progress-radial-xs: 28px;
  --size-progress-radial-sm: 36px;
  --size-progress-radial-md: 48px;
  --size-progress-radial-lg: 64px;
  --size-progress-radial-xl: 84px;
  --thickness-progress-radial-xs: 4px;
  --thickness-progress-radial-sm: 5px;
  --thickness-progress-radial-md: 6px;
  --thickness-progress-radial-lg: 8px;
  --thickness-progress-radial-xl: 10px;
  /* Accessibility Contrast Overrides */

  --text-progress-success: var(--alpha-white-100);
  --text-progress-warning: var(--text-primary);
  --text-progress-danger: var(--alpha-white-100);
  --text-progress-info: var(--alpha-white-100);
  --text-progress-neutral: var(--alpha-white-100);
  /* Busy Spinner */
  /* Sizes */
  --size-spinner-sm: 16px;
  --size-spinner-md: 20px;
  --size-spinner-lg: 24px;
  --size-spinner-xl: 32px;
  --size-spinner: var(--size-spinner-lg);
  /* Stroke scaling */
  --stroke-spinner-sm: 2;
  --stroke-spinner-md: 2.5;
  --stroke-spinner-lg: 3;
  --stroke-spinner-xl: 4;
  --stroke-spinner: var(--stroke-spinner-lg);
  /* Color */
  --text-spinner: var(--utility-blue-400);
  /* Track */
  --opacity-spinner-track: 0.18;
  /* Overlay */
  --bg-spinner-overlay: var(--alpha-neutral-950-60);
  --blur-spinner-overlay: 5px;
  /* Motion */
  --duration-spinner-rotate: 1.35s;
  --duration-spinner-dash: 1.6s;
  --ease-spinner-dash: cubic-bezier(.4, 0, .2, 1);
  --duration-spinner-overlay: 180ms;
  --ease-spinner-overlay: cubic-bezier(.2, 0, .2, 1);
  --duration-spinner-pop: 160ms;
  --ease-spinner-pop: cubic-bezier(.2, 0, .2, 1);
  /* Links V2 */
  --text-link: var(--utility-blue-200);
  --text-link-hover: var(--utility-blue-100);
  --text-link-secondary: var(--utility-neutral-300);
  --text-link-secondary-hover: var(--utility-neutral-100);
  --text-link-muted: var(--utility-neutral-400);
  --text-link-muted-hover: var(--utility-neutral-200);
  --text-link-danger: var(--utility-red-400);
  --text-link-danger-hover: var(--utility-red-300);
  --border-link-focus: var(--utility-blue-200);
  /* Tags */
  /* Neutral (default) */
  --bg-tag-neutral: var(--alpha-white-8);
  --bg-tag-neutral-hover: var(--alpha-white-12);
  --text-tag-neutral: var(--utility-neutral-200);
  --text-tag-neutral-hover: var(--alpha-white-100);
  --border-tag-neutral: var(--alpha-white-10);
  --border-tag-neutral-hover: var(--alpha-white-16);
  --border-tag-neutral-focus: var(--utility-blue-200);
  --bg-tag-neutral-dismiss-hover: var(--alpha-white-10);
  /* Primary */
  --bg-tag-primary: var(--alpha-blue-500-18);
  --bg-tag-primary-hover: var(--alpha-blue-500-24);
  --text-tag-primary: var(--utility-blue-200);
  --text-tag-primary-hover: var(--utility-blue-100);
  --border-tag-primary: var(--alpha-blue-500-26);
  --border-tag-primary-hover: var(--alpha-blue-500-34);
  --border-tag-primary-focus: var(--utility-blue-200);
  --bg-tag-primary-dismiss-hover: var(--alpha-blue-500-18);
  /* Success */
  --bg-tag-success: var(--alpha-green-500-18);
  --bg-tag-success-hover: var(--alpha-green-500-24);
  --text-tag-success: var(--utility-green-200);
  --text-tag-success-hover: var(--utility-green-100);
  --border-tag-success: var(--alpha-green-500-26);
  --border-tag-success-hover: var(--alpha-green-500-34);
  --border-tag-success-focus: var(--utility-green-200);
  --bg-tag-success-dismiss-hover: var(--alpha-green-500-18);
  /* Warning */
  --bg-tag-warning: var(--alpha-amber-500-20);
  --bg-tag-warning-hover: var(--alpha-amber-500-26);
  --text-tag-warning: var(--utility-amber-200);
  --text-tag-warning-hover: var(--utility-amber-100);
  --border-tag-warning: var(--alpha-amber-500-30);
  --border-tag-warning-hover: var(--alpha-amber-500-38);
  --border-tag-warning-focus: var(--utility-amber-200);
  --bg-tag-warning-dismiss-hover: var(--alpha-amber-500-20);
  /* Danger */
  --bg-tag-danger: var(--alpha-red-500-18);
  --bg-tag-danger-hover: var(--alpha-red-500-24);
  --text-tag-danger: var(--utility-red-200);
  --text-tag-danger-hover: var(--utility-red-100);
  --border-tag-danger: var(--alpha-red-500-26);
  --border-tag-danger-hover: var(--alpha-red-500-34);
  --border-tag-danger-focus: var(--utility-red-200);
  --bg-tag-danger-dismiss-hover: var(--alpha-red-500-18);
  /* Soft / Outline */
  --bg-tag-soft: var(--alpha-white-8);
  --border-tag-soft: var(--alpha-white-10);
  --border-tag-outline: var(--alpha-white-16);
  /* Selected */
  --bg-tag-selected: var(--alpha-blue-500-26);
  --border-tag-selected: var(--alpha-blue-500-36);
  --text-tag-selected: var(--utility-blue-100);
  /* Dismiss button (defaults; variant blocks override bg) */
  --text-tag-dismiss: var(--utility-neutral-200);
  --text-tag-dismiss-hover: var(--alpha-white-100);
  --bg-tag-dismiss-hover: var(--alpha-white-10);
  /* Filter */
  /* Base Item */

  --text-filter: var(--text-primary);
  --text-filter-hover: var(--text-primary-hover);
  --text-filter-disabled: var(--text-disabled);
  --bg-filter: var(--alpha-0);
  --bg-filter-hover: var(--utility-neutral-800);
  --bg-filter-active: var(--utility-neutral-800);
  --bg-filter-selected: var(--bg-info-subtle);
  --bg-filter-pressed: var(--utility-neutral-850);
  --opacity-filter-disabled: 0.6;
  /* Collapsible Section (Header Row) */

  --bg-filter-section: var(--bg-filter);
  --bg-filter-section-open: var(--bg-filter-hover);
  --bg-filter-section-pressed: var(--bg-filter-pressed);
  --text-filter-chevron: var(--text-tertiary);
  /* Collapse Body */

  --bg-filter-collapse: var(--bg-primary-subtle);
  --bg-filter-collapse-inner: var(--bg-secondary-subtle);
  --border-filter: var(--border-primary-subtle);
  --border-filter-collapse: var(--border-primary-subtle);
  --border-filter-focus: var(--border-info);
  --ring-filter-focus: 0 0 0 2px var(--border-info);
  /* Nested Filter Items (inside collapse) */

  --bg-filter-nested: var(--alpha-0);
  --bg-filter-nested-hover: var(--bg-secondary-subtle);
  /* Filter Menu (thin header strip) */

  --text-filter-menu: var(--text-secondary);
  --bg-filter-menu: var(--bg-primary-subtle);
  /* Labels / Group Headings */

  --text-filter-label: var(--text-tertiary);
  /* Intent Rows (Optional Semantic States) */

  --bg-filter-success: var(--bg-success-subtle);
  --bg-filter-warning: var(--bg-warning-subtle);
  --bg-filter-danger: var(--bg-danger-subtle);
  --bg-filter-info: var(--bg-info-subtle);
  /* Density */

  --space-filter-item-x: 1rem;
  --space-filter-item-y: 0.5rem;
  --space-filter-item-y-compact: 0.375rem;
  --space-filter-item-y-relaxed: 0.75rem;
  /* Photo Viewer */

  --text-photo-viewer: var(--text-primary);
  /* Main viewport */
  --bg-photo-viewer-main: var(--alpha-0);
  --border-photo-viewer-main: var(--utility-neutral-800);
  --shadow-photo-viewer-main: var(--shadow-sm);
  --bg-photo-viewer-image: var(--utility-neutral-850);
  /* Bar */
  --bg-photo-viewer-bar: var(--alpha-0);
  --border-photo-viewer-bar: var(--border-primary-subtle);
  --text-photo-viewer-bar: var(--text-secondary);
  --text-photo-viewer-title: var(--text-primary);
  --text-photo-viewer-meta: var(--text-tertiary);
  /* Actions */
  --bg-photo-viewer-action: var(--alpha-0);
  --bg-photo-viewer-action-hover: var(--bg-primary-hover);
  --bg-photo-viewer-action-active: var(--bg-secondary);
  --border-photo-viewer-action: var(--border-primary-subtle);
  --border-photo-viewer-action-hover: var(--border-primary);
  --text-photo-viewer-action: var(--text-secondary);
  --text-photo-viewer-action-hover: var(--text-primary);
  /* Content */
  --bg-photo-viewer-content: var(--alpha-0);
  --border-photo-viewer-content: var(--border-primary-subtle);
  --text-photo-viewer-content: var(--text-secondary);
  --text-photo-viewer-content-meta: var(--text-tertiary);
  --text-photo-viewer-content-body: var(--text-primary);
  /* Strip */
  --bg-photo-viewer-strip: var(--alpha-0);
  --border-photo-viewer-strip: var(--utility-neutral-800);
  /* Thumbnail */
  --bg-photo-viewer-thumb: var(--utility-neutral-800);
  --bg-photo-viewer-thumb-hover: var(--bg-primary-hover);
  --bg-photo-viewer-thumb-active: var(--bg-secondary);
  --border-photo-viewer-flat: var(--utility-neutral-700);
  --border-photo-viewer-thumb: var(--border-primary-subtle);
  --border-photo-viewer-thumb-hover: var(--border-primary);
  --border-photo-viewer-thumb-active: var(--border-primary);
  --border-photo-viewer-thumb-selected: var(--border-info);
  --shadow-photo-viewer-thumb: none;
  --ring-photo-viewer-thumb-focus: 0 0 0 2px var(--border-info-subtle);
  --opacity-photo-viewer-thumb: 0.92;
  --opacity-photo-viewer-thumb-disabled: 0.6;
  --filter-photo-viewer-thumb-disabled: none;
  /* Apex Sparkline */
  --stroke-spark-width: 2;
  --stroke-spark: var(--utility-blue-400);
  --fill-spark-area: var(--alpha-0);
  --border-spark-grid: var(--utility-neutral-700);
  --marker-spark: var(--stroke-spark);
  --size-spark-marker: 0;
  --size-spark-marker-hover: 3;
  --border-spark-setpoint: var(--alpha-neutral-400-40);
  --border-spark-deadband: var(--alpha-neutral-400-40);
  --border-spark-warn: var(--alpha-yellow-300-50);
  --bg-spark-tooltip: var(--utility-neutral-800);
  --text-spark-tooltip: var(--alpha-white-100);
  --border-spark-tooltip: var(--utility-neutral-700);
  /* Apex Master */
  --apex-text: var(--utility-neutral-200);
  --apex-text-muted: var(--utility-neutral-400);
  --apex-border: var(--utility-neutral-700);
  --apex-border-accent: var(--utility-neutral-300);
  --apex-bg-surface: transparent;
  --apex-bg-subtle: var(--utility-neutral-800);
  --apex-bg-popover: var(--utility-neutral-800);
  --apex-legend-text: var(--utility-neutral-200);
  --apex-tooltip-text: var(--alpha-white-100);
  --apex-tooltip-bg: var(--utility-neutral-800);
  --apex-tooltip-border: var(--utility-neutral-700);
  --apex-tooltip-shadow: var(--shadow-xl);
  --apex-tooltip-marker-border: transparent;
  --apex-crosshair-opacity: .35;
  --apex-selection-fill-opacity: .08;
  --apex-selection-stroke-opacity: .35;
  --apex-datalabel-text: var(--utility-neutral-200);
  --apex-nodata-text: var(--utility-neutral-400);
  --apex-loading-text: var(--utility-neutral-400);
  --apex-toolbar-ink: var(--utility-neutral-200);
  --apex-pie-label-text: var(--alpha-white-100);
  --apex-radial-value-text: var(--utility-neutral-200);
  --apex-radial-track: var(--utility-neutral-700);
  --apex-heatmap-stroke: var(--utility-neutral-800);
  --apex-annotation-text: var(--utility-neutral-200);
  --apex-annotation-bg: var(--utility-neutral-800);
  --apex-annotation-border: var(--utility-neutral-700);
  /* Series */
  --apex-series-1: var(--utility-blue-400);
  --apex-series-2: var(--utility-green-400);
  --apex-series-3: var(--utility-yellow-400);
  --apex-series-4: var(--utility-teal-400);
  --apex-series-5: var(--utility-indigo-400);
  --apex-series-6: var(--utility-pink-400);
  --apex-series-7: var(--utility-amber-400);
  --apex-series-8: var(--utility-red-400);
  --apex-series-9: var(--utility-purple-400);
  --apex-series-10: var(--utility-neutral-400);
  --apex-series-11: var(--utility-orange-400);
  --apex-series-12: var(--utility-lime-400);
  --apex-series-line-1: var(--utility-neutral-200);
  --apex-series-line-2: var(--utility-blue-300);
  --apex-series-line-3: var(--utility-yellow-400);
  --apex-series-line-4: var(--utility-teal-400);
  --apex-series-line-5: var(--utility-indigo-400);
  --apex-series-line-6: var(--utility-pink-400);
  --apex-series-line-7: var(--utility-amber-400);
  --apex-series-line-8: var(--utility-red-400);
  --apex-series-line-9: var(--utility-purple-400);
  --apex-series-line-10: var(--utility-neutral-400);
  --apex-series-line-11: var(--utility-orange-400);
  --apex-series-line-12: var(--utility-lime-400);
  --apex-series-pie-1: var(--utility-blue-400);
  --apex-series-pie-2: var(--utility-green-400);
  --apex-series-pie-3: var(--utility-yellow-400);
  --apex-series-pie-4: var(--utility-teal-400);
  --apex-series-pie-5: var(--utility-indigo-400);
  --apex-series-pie-6: var(--utility-pink-400);
  --apex-series-pie-7: var(--utility-amber-400);
  --apex-series-pie-8: var(--utility-red-400);
  --apex-series-pie-9: var(--utility-purple-400);
  --apex-series-pie-10: var(--utility-neutral-400);
  --apex-series-pie-11: var(--utility-orange-400);
  --apex-series-pie-12: var(--utility-lime-400);
  --apex-series-bar-1: var(--utility-blue-400);
  --apex-series-bar-2: var(--utility-green-400);
  --apex-series-bar-3: var(--utility-yellow-400);
  --apex-series-bar-4: var(--utility-teal-400);
  --apex-series-bar-5: var(--utility-indigo-400);
  --apex-series-bar-6: var(--utility-pink-400);
  --apex-series-bar-7: var(--utility-amber-400);
  --apex-series-bar-8: var(--utility-red-400);
  --apex-series-bar-9: var(--utility-purple-400);
  --apex-series-bar-10: var(--utility-neutral-400);
  --apex-series-bar-11: var(--utility-orange-400);
  --apex-series-bar-12: var(--utility-lime-400);
  --apex-series-radial-1: var(--utility-blue-400);
  --apex-series-radial-2: var(--utility-green-400);
  --apex-series-radial-3: var(--utility-yellow-400);
  --apex-series-radial-4: var(--utility-teal-400);
  --apex-series-radial-5: var(--utility-indigo-400);
  --apex-series-radial-6: var(--utility-pink-400);
  --apex-series-radial-7: var(--utility-amber-400);
  --apex-series-radial-8: var(--utility-red-400);
  --apex-series-radial-9: var(--utility-purple-400);
  --apex-series-radial-10: var(--utility-neutral-400);
  --apex-series-radial-11: var(--utility-orange-400);
  --apex-series-radial-12: var(--utility-lime-400);
  --apex-series-heatmap-1: var(--utility-blue-400);
  --apex-series-heatmap-2: var(--utility-green-400);
  --apex-series-heatmap-3: var(--utility-yellow-400);
  --apex-series-heatmap-4: var(--utility-teal-400);
  --apex-series-heatmap-5: var(--utility-indigo-400);
  --apex-series-heatmap-6: var(--utility-pink-400);
  --apex-series-heatmap-7: var(--utility-amber-400);
  --apex-series-heatmap-8: var(--utility-red-400);
  --apex-series-heatmap-9: var(--utility-purple-400);
  --apex-series-heatmap-10: var(--utility-neutral-400);
  --apex-series-heatmap-11: var(--utility-orange-400);
  --apex-series-heatmap-12: var(--utility-lime-400);
  --apex-fill-opacity-from: 0.35;
  --apex-fill-opacity-to: 0.05;
  --apex-marker-size: 2;
  --apex-marker-stroke: 1;
  --apex-marker-hover-offset: 2;
  --apex-line-stroke: 1;
  --apex-donut-value-size: 12;
  --apex-donut-name-size: 11;
  --apex-donut-total-size: 12;
  --apex-bar-column-width: 55%;
  --apex-bar-radius: 0; /* fixed empty value */
  --apex-bar-ending-shape: flat;
  --apex-bar-datalabels: off;
  /* Autocomplete */
  --text-autocomplete: var(--utility-neutral-100);
  --bg-autocomplete: var(--utility-neutral-800);
  --border-autocomplete: var(--utility-neutral-800);
  --text-autocomplete-item: var(--alpha-white-100);
  --text-autocomplete-active: var(--alpha-white-100);
  --bg-autocomplete-active: var(--utility-blue-500);
  /* Chat */
  --bg-activity-log-header: var(--utility-neutral-800);
  --bg-activity-log-panel: var(--utility-neutral-900);
  --bg-activity-log-footer: var(--utility-neutral-800);
  --text-post-owner: var(--alpha-white-100);
  --text-post-public: var(--alpha-white-100);
  --text-post-system: var(--utility-neutral-400); /* fixed utility-400 */
  --text-post-date: var(--utility-neutral-300); /* fixed utility-300 */
  --bg-post-owner: var(--alpha-indigo-900-80);
  --bg-post-public: var(--alpha-neutral-700-60);
  --bg-post-actions: var(--utility-neutral-900);
  --border-post-actions: var(--utility-neutral-800);
  /* Thumbnail */
  --bg-thumbnail: var(--alpha-0);
  --border-thumbnail: var(--alpha-0);
  --bg-thumbnail-img: var(--alpha-0);
  --bg-thumbnail-remove: var(--alpha-neutral-950-60);
  --bg-thumbnail-remove-hover: var(--utility-neutral-600);
  --text-thumbnail-remove: var(--alpha-white-100);
  --border-thumbnail-remove: var(--alpha-0);
  /* Gallery */
  --bg-gallery: var(--utility-neutral-900);
  --bg-gallery-header: var(--utility-neutral-900);
  --text-gallery-header: var(--utility-neutral-100);
  --border-gallery-header: var(--alpha-0);
  --bg-gallery-card: var(--utility-neutral-800);
  --border-gallery-card: var(--utility-neutral-700);
  --text-gallery-card: var(--alpha-white-100);
  --bg-gallery-card-hover: var(--utility-neutral-700);
  --bg-gallery-card-active: var(--utility-neutral-800);
  --border-gallery-card-hover: var(--utility-neutral-700);
  /* Kanban */
  --bg-kanban: var(--alpha-neutral-950-20);
  --bg-kanban-header: var(--alpha-neutral-950-20);
  --bg-kanban-list: var(--alpha-neutral-950-20);
  --bg-kanban-card: var(--utility-neutral-800);
  --bg-kanban-card-hover: var(--alpha-neutral-700-60);
  --bg-kanban-card-active: var(--utility-neutral-800);
  --border-kanban: var(--utility-neutral-700);
  --border-kanban-card: var(--utility-neutral-700);
  --icon-kanban-muted: var(--text-tertiary);
  --shadow-kanban-card-drag: var(--shadow-xl);
  --bg-kanban-col: var(--alpha-neutral-950-20);
  --bg-kanban-drop-target: color-mix(in oklab, var(--alpha-neutral-950-20), var(--color-info) 8%);
  --border-drop-target: var(--color-info);
  --bg-kanban-drop-invalid: color-mix(in oklab, var(--alpha-neutral-950-20), var(--color-danger) 8%);
  --border-drop-invalid: var(--color-danger);
  --bg-kanban-wip-full: var(--bg-danger-subtle);
  --text-kanban-wip-full: var(--color-danger);
  --text-kanban-wip: var(--text-tertiary);
  --bg-kanban-wip: transparent;
  --border-kanban-selected: var(--color-info);
  --bg-kanban-card-media: var(--utility-neutral-700);
  --text-kanban-accent: hsl(220 85% 68%);
  /* Mapbox */
  --text-mapbox: var(--text-primary);
  --border-mapbox-origin-marker: var(--alpha-white-30);
  --border-mapbox-destination-marker: var(--alpha-white-30);
  --border-mapbox-origin-marker-disc: var(--alpha-white-30);
  --border-mapbox-destination-marker-disc: var(--alpha-white-30);
  --bg-mapbox-origin-marker: var(--alpha-white-100);
  --bg-mapbox-destination-marker: var(--alpha-white-100);
  --bg-mapbox-origin-marker-disc: var(--alpha-white-30);
  --bg-mapbox-destination-marker-disc: var(--alpha-white-30);
  --bg-origin-marker: var(--utility-neutral-300);
  --bg-destination-marker: var(--utility-neutral-300);
  --bg-route-connector: var(--utility-neutral-500);
  /* Modal */
  --bg-modal: var(--utility-neutral-850);
  --text-modal: var(--alpha-white-100);
  --border-modal: var(--alpha-neutral-700-60);
  --border-modal-header: var(--border-primary);
  --border-modal-divider: var(--utility-neutral-800);
  --modal-backdrop-blur: 0;
  --modal-grain-opacity: 0;
  --bg-modal-overlay: var(--alpha-neutral-950-60);
  /* Notification Tray */
  --bg-notification-header: var(--utility-neutral-800);
  --bg-notification-card: var(--utility-neutral-800);
  --bg-notification-card-hover: var(--alpha-neutral-700-60);
  /* Selection */
  --bg-selection: var(--utility-emerald-500);
  --text-selection: var(--alpha-white-100);
  --bg-input-selection: var(--utility-emerald-500);
  --text-input-selection: var(--alpha-white-100);
  /* Tooltip */
  --text-tooltip: var(--text-primary);
  --bg-tooltip: var(--utility-neutral-800);
  /* Plugin: Dropzone */
  --border-dropzone: var(--utility-neutral-600);
  --text-dropzone: var(--utility-neutral-400);
  --bg-dropzone: var(--utility-neutral-700);
  /* Plugin: Flatpickr */
  --bg-flatpickr-calendar: var(--utility-neutral-800);
  --border-flatpickr-calendar: var(--utility-neutral-700);
  --text-flatpickr-primary: var(--utility-neutral-100);
  --text-flatpickr-months: var(--utility-neutral-300);
  --text-flatpickr-months-hover: var(--alpha-white-100); /* fixed invalid utility-white */
  --text-flatpickr: var(--utility-neutral-100);
  --text-flatpickr-hover: var(--alpha-white-100);
  --text-flatpickr-disabled: var(--utility-neutral-600);
  --text-flatpickr-selected: var(--alpha-white-100);
  --text-flatpickr-selected-hover: var(--alpha-white-100);
  --text-flatpickr-time: var(--utility-neutral-200);
  --bg-flatpickr: var(--alpha-0);
  --bg-flatpickr-primary: var(--utility-neutral-800);
  --flatpickr-color-scheme: dark;
  --bg-flatpickr-hover: var(--utility-neutral-700);
  --bg-flatpickr-selected: var(--utility-blue-500);
  --bg-flatpickr-selected-hover: var(--utility-blue-400);
  --bg-flatpickr-time-hover: var(--alpha-neutral-700-30);
  --border-flatpickr-hover: var(--utility-neutral-600);
  --border-flatpickr-selected: var(--utility-blue-500);
  --border-flatpickr-selected-hover: var(--utility-blue-400);
  --border-flatpickr-time: var(--utility-neutral-700);
  /* Plugin: Quill */
  --bg-quill-editor: var(--alpha-neutral-700-60);
  --text-quill-editor: var(--alpha-white-100);
  --border-quill-editor: var(--alpha-0);
  --text-quill-placeholder: var(--utility-neutral-500);
  --border-quill-container: var(--alpha-0);
  --bg-quill-content: var(--alpha-0);
  --text-quill-content: var(--alpha-white-100);
  --text-quill-checkbox: var(--alpha-white-100);
  --bg-quill-black: var(--utility-neutral-900);
  --bg-quill-red: var(--utility-red-500);
  --bg-quill-orange: var(--utility-orange-500);
  --bg-quill-yellow: var(--utility-yellow-500);
  --bg-quill-green: var(--utility-green-500);
  --bg-quill-blue: var(--utility-blue-500);
  --bg-quill-purple: var(--utility-purple-500);
  --text-quill-white: var(--alpha-white-100);
  --text-quill-red: var(--utility-red-500);
  --text-quill-orange: var(--utility-orange-500);
  --text-quill-yellow: var(--utility-yellow-500);
  --text-quill-green: var(--utility-green-500);
  --text-quill-blue: var(--utility-blue-500);
  --text-quill-purple: var(--utility-purple-500);
  --bg-quill-toolbar: var(--alpha-0);
  --text-quill-toolbar: var(--utility-neutral-100);
  --border-quill-toolbar: var(--alpha-0);
  --text-quill-button: var(--utility-neutral-300);
  --text-quill-button-hover: var(--utility-neutral-100);
  --text-quill-button-touch-hover: var(--utility-neutral-300);
  --fill-quill-touch-hover: var(--utility-neutral-100);
  --stroke-quill-touch-hover: var(--utility-neutral-100);
  --text-quill-picker-hover: var(--utility-neutral-100);
  --bg-quill-tooltip: var(--alpha-0);
  --text-quill-tooltip: var(--utility-neutral-300);
  --border-quill-tooltip: var(--alpha-0);
  --text-quill-link: var(--utility-neutral-300);
  --text-quill-link-hover: var(--utility-neutral-200);
  --text-quill-link-active: var(--utility-neutral-300);
  --bg-quill-input: var(--utility-neutral-100);
  --text-quill-input: var(--utility-neutral-100);
  --border-quill-input: var(--border-input);
  --border-quill-input-hover: var(--border-input-hover);
  --border-quill-input-focus: var(--border-input-active); /* fixed missing token */

  --stroke-quill-default: var(--utility-neutral-400);
  --stroke-quill-hover: var(--utility-neutral-200);
  --fill-quill-default: var(--utility-neutral-400);
  --fill-quill-hover: var(--utility-neutral-200);
  --bg-quill-code: var(--alpha-0);
  /* App: Calendar */
  --bg-calendar-container: var(--utility-neutral-800);
  --border-calendar-divider: var(--utility-neutral-800);
  --border-calendar-divider-header: var(--alpha-neutral-700-60);
  --border-calendar-divider-time: var(--alpha-neutral-700-60);
  --text-calendar-time-label: var(--alpha-white-100);
  --text-calendar-time: var(--alpha-white-100);
  --text-calendar-day-label: var(--utility-neutral-100);
  --text-calendar-day-date: var(--utility-neutral-300);
  --text-calendar-day-header: var(--alpha-white-100);
  --text-calendar-closed: var(--text-disabled);
  --bg-calendar-day-header: var(--utility-neutral-800);
  --bg-calendar-time-slot: var(--utility-neutral-800);
  --bg-calendar-day-slot: var(--utility-neutral-900);
  --bg-calendar-indicator-today: var(--alpha-white-100);
  --bg-calendar-footer: var(--alpha-0);
  --bg-appointment-card: var(--utility-neutral-800);
  --bg-appointment-card-hover: var(--alpha-neutral-700-60);
  --border-appointment-card: var(--utility-neutral-700);
  --text-appointment-card: var(--alpha-white-100);
  --text-appointment-number: var(--alpha-white-100);
  --text-appointment-gap: var(--text-danger);
  --text-appointment-note: var(--text-danger);
  --text-appointment-carrier: var(--utility-neutral-200);
  --text-appointment-comment: var(--alpha-white-100);
  --text-appointment-origin: var(--utility-neutral-300);
  --text-appointment-refs: var(--utility-neutral-400);
  --text-appointment-equipment-id: var(--alpha-white-100);
  --bg-appointment-comment: var(--alpha-neutral-700-60);
  --border-appointment-comment: var(--utility-neutral-700);
  --border-appointment-toggle-btn: var(--utility-neutral-800);
  --text-appointment-icon-float: var(--utility-yellow-300);
  --text-appointment-icon-log: var(--utility-orange-300);
  --text-appointment-icon-secondary: var(--utility-neutral-300);
  --text-appointment-icon-audit: var(--utility-blue-300);
  --text-schedule-day-label: var(--utility-neutral-400); /* fixed weird alias */
  --text-schedule-day: var(--alpha-white-100);
  --text-schedule-day-available: var(--alpha-white-100);
  --text-schedule-day-active: var(--alpha-white-100);
  --bg-schedule-day: var(--alpha-0);
  --bg-schedule-day-hover: var(--utility-neutral-700);
  --bg-schedule-day-available: var(--utility-neutral-700);
  --bg-schedule-day-available-hover: var(--utility-neutral-700);
  --bg-schedule-day-available-active: var(--utility-neutral-700);
  --bg-schedule-day-active: var(--utility-blue-500);
  --bg-schedule-day-active-hover: var(--utility-blue-500);
  --bg-schedule-day-active-pressed: var(--utility-blue-500);
  --bg-schedule-indicator-current: var(--alpha-white-100);
  --border-schedule-day-available: var(--utility-neutral-700);
  /* Calendar Schedule (reusable component) */
  --h-calendar-schedule-day-header: 48px;
  --w-calendar-schedule-time-axis: 56px;
  --h-calendar-schedule-hour: 64px;
  --w-calendar-schedule-day: 180px;
  --gap-calendar-schedule: 0px;
  --radius-calendar-schedule: var(--radius-lg, 0.5rem);
  --shadow-calendar-schedule: var(--shadow-md);
  --bg-calendar-schedule: var(--utility-neutral-900);
  --bg-calendar-schedule-surface: var(--utility-neutral-850);
  --bg-calendar-schedule-muted: var(--utility-neutral-800);
  --text-calendar-schedule: var(--utility-neutral-300);
  --border-calendar-schedule: var(--utility-neutral-700);
  --border-calendar-schedule-soft: var(--utility-neutral-800);
  --bg-calendar-schedule-today: var(--utility-blue-950);
  --bg-calendar-schedule-hover: var(--utility-blue-900);
  --bg-calendar-schedule-now: var(--bg-info-solid);
  --border-calendar-schedule-now: var(--bg-info-solid);
  --bg-calendar-schedule-event: var(--utility-neutral-800);
  --border-calendar-schedule-event: var(--border-primary);
  --text-calendar-schedule-event: var(--alpha-white-100);
  /* Calendar Schedule V2 */
  --w-calendar-schedule-day-min: 80px;
  --w-calendar-schedule-day-max: none;
  --bg-calendar-schedule-today-col: var(--utility-blue-950);
  --bg-calendar-schedule-hour-stripe: var(--utility-neutral-850);
  --bg-calendar-schedule-working-hours: transparent;
  --bg-calendar-schedule-nonworking-hours: rgba(0,0,0,0.12);
  --bg-calendar-schedule-weekend: rgba(255,255,255,0.02);
  --outline-calendar-schedule-focus: var(--color-info);
  --shadow-calendar-schedule-header: var(--shadow-md);
  --shadow-calendar-event: var(--shadow-sm);
  --shadow-calendar-event-hover: var(--shadow-md);
  --shadow-calendar-event-selected: 0 0 0 2px var(--color-info);
  --bg-calendar-event-primary: var(--utility-neutral-800);
  --border-calendar-event-primary: var(--border-primary);
  --bg-calendar-event-warning: var(--utility-yellow-950);
  --border-calendar-event-warning: var(--color-warning);
  --bg-calendar-event-danger: var(--utility-red-950);
  --border-calendar-event-danger: var(--color-danger);
  --bg-calendar-event-success: var(--utility-green-950);
  --border-calendar-event-success: var(--color-success);
  --bg-calendar-event-neutral: var(--utility-neutral-850);
  --border-calendar-event-neutral: var(--utility-neutral-500);
  --bg-calendar-event-hover: var(--utility-neutral-700);
  --bg-calendar-event-primary-hover: var(--utility-neutral-700);
  --bg-calendar-event-success-hover: var(--utility-green-900);
  --bg-calendar-event-warning-hover: var(--utility-yellow-900);
  --bg-calendar-event-danger-hover: var(--utility-red-900);
  --bg-calendar-event-neutral-hover: var(--utility-neutral-700);
  --ring-calendar-event-focus: 0 0 0 4px var(--utility-blue-800);
  /* Calendar Schedule — Now Indicator */
  --bg-calendar-now-dot: var(--utility-red-400);
  --bg-calendar-now-line: var(--alpha-red-500-30);
  --bg-calendar-today-line: var(--alpha-red-500-10);
  --bg-calendar-now-dot-danger: var(--utility-red-400);
  --bg-calendar-now-line-danger: var(--alpha-red-500-30);
  --bg-calendar-today-line-danger: var(--alpha-red-500-10);
  --bg-calendar-now-dot-primary: var(--utility-neutral-100);
  --bg-calendar-now-line-primary: var(--alpha-neutral-100-20);
  --bg-calendar-today-line-primary: var(--alpha-neutral-100-10);
  --bg-calendar-now-dot-info: var(--utility-blue-400);
  --bg-calendar-now-line-info: var(--alpha-blue-500-30);
  --bg-calendar-today-line-info: var(--alpha-blue-500-10);
  --bg-calendar-now-dot-success: var(--utility-green-400);
  --bg-calendar-now-line-success: var(--alpha-green-500-30);
  --bg-calendar-today-line-success: var(--alpha-green-500-10);
  --bg-calendar-now-dot-warning: var(--utility-yellow-400);
  --bg-calendar-now-line-warning: var(--alpha-yellow-500-30);
  --bg-calendar-today-line-warning: var(--alpha-yellow-500-10);
  /* Calendar Schedule — Stacked slot variant */
  --h-calendar-schedule-slot: 64px;
  --h-calendar-slot-max: none;
  --gap-calendar-schedule-slot: 2px;
  --bg-calendar-schedule-cell-alt: rgba(255,255,255,0.02);
  --bg-calendar-schedule-closed: var(--utility-neutral-750, var(--utility-neutral-700));
  /* Calendar Schedule — Frame layout */
  --w-calendar-schedule-frame-right: 240px;
  --h-calendar-schedule-frame-bottom: 48px;
  --bg-calendar-schedule-frame: var(--utility-neutral-900);
  --border-calendar-schedule-frame: var(--alpha-neutral-700-60);
  --w-calendar-schedule-day-carousel: 200px;
  /* App: Inventory */
  --bg-inventory-grid-panel: var(--utility-neutral-900);
  --bg-inventory-card: transparent;
  --bg-inventory-card-hover: var(--utility-neutral-800);
  --border-inventory-card: transparent;
  --border-inventory-card-hover: transparent;
  --bg-inventory-image: var(--utility-neutral-800);
  --text-inventory-info: var(--alpha-white-100);
  --text-inventory-secondary: var(--utility-neutral-400);
  --bg-inventory-popover: var(--utility-neutral-800);
  --bg-inventory-popover-hover: var(--alpha-neutral-700-60);
  --text-inventory-tertiary: var(--utility-neutral-500);
  /* App: Landing / Navbar */
  --bg-navbar: var(--alpha-0);
  --border-navbar: var(--alpha-0);
  --text-navbar: var(--alpha-white-100);
  --text-navbar-link: var(--utility-neutral-300);
  --text-navbar-link-hover: var(--alpha-white-100);
  --text-navbar-link-active: var(--alpha-white-100);
  --bg-navbar-link-hover: var(--alpha-0);
  --bg-navbar-link-active: var(--alpha-0);
  --bg-navbar-dropdown: var(--utility-neutral-900);
  --border-navbar-dropdown: var(--utility-neutral-800);
  --bg-navbar-card: var(--utility-neutral-900);
  --bg-navbar-card-hover: var(--utility-neutral-800);
  --bg-navbar-card-active: var(--utility-neutral-800);
  --border-navbar-card: var(--utility-neutral-800);
  --radius-navbar-card: var(--radius-md);
  --text-navbar-card-title: var(--text-primary);
  --text-navbar-card-caption: var(--text-secondary);
  --bg-bars-menu: var(--alpha-white-100);
  --bg-navbar-mobile: transparent;
  --text-navbar-mobile-link: var(--utility-neutral-300);
  --text-navbar-mobile-link-hover: var(--alpha-white-100);
  --bg-navbar-layer: var(--alpha-neutral-950-60);
  --bg-navbar-toggle: var(--utility-neutral-100);
  --bg-navbar-toggle-dark: var(--utility-neutral-300);
  /* App: Mobile Nav */
  --bg-mobile-nav: var(--utility-neutral-900);
  --bg-mobile-nav-overlay: var(--alpha-neutral-950-20);
  --bg-mobile-toggle-bar: var(--alpha-white-100);
  --bg-mobile-nav-item: var(--alpha-0);
  --bg-mobile-nav-item-hover: var(--utility-neutral-800);
  --bg-mobile-nav-item-active: var(--utility-neutral-800);
  --text-mobile-nav: var(--alpha-white-100);
  --text-mobile-nav-item: var(--alpha-white-100);
  --text-mobile-nav-item-hover: var(--alpha-white-100);
  --text-mobile-nav-item-active: var(--alpha-white-100);
  --bg-mobile-subnav-item: var(--alpha-0);
  --bg-mobile-subnav-item-hover: var(--alpha-0);
  --bg-mobile-subnav-active: var(--alpha-0);
  --text-mobile-subnav: var(--utility-neutral-300);
  --text-mobile-subnav-hover: var(--utility-neutral-300);
  --text-mobile-subnav-active: var(--utility-neutral-300);
  --border-mobile-nav-divider: var(--utility-neutral-500);
  --border-mobile-menu-items: var(--utility-neutral-500);
  --border-mobile-subnav-hover: var(--utility-neutral-500);
  --border-mobile-subnav-active: var(--alpha-white-100);
  --text-mobile-nav-muted: var(--utility-neutral-500);
  --text-mobile-nav-label: var(--utility-neutral-500);
  --icon-mobile-nav: var(--utility-neutral-200);
  --text-mobile-avatar: var(--neutral-0);
  --text-mobile-danger: var(--color-danger-600);

  /* =========================================
     Foundation Scales
     ========================================= */

  /* Shadow Scale (dark: higher opacity) */
  --shadow-xs: 0 1px 1px 0 oklch(0% 0 0 / 0.15);
  --shadow-sm: 0 1px 3px 0 oklch(0% 0 0 / 0.3), 0 1px 2px -1px oklch(0% 0 0 / 0.3);
  --shadow-md: 0 4px 6px -1px oklch(0% 0 0 / 0.3), 0 2px 4px -2px oklch(0% 0 0 / 0.3);
  --shadow-lg: 0 10px 15px -3px oklch(0% 0 0 / 0.3), 0 4px 6px -4px oklch(0% 0 0 / 0.3);
  --shadow-xl: 0 20px 25px -5px oklch(0% 0 0 / 0.3), 0 8px 10px -6px oklch(0% 0 0 / 0.3);
  --shadow-2xl: 0 25px 50px -12px oklch(0% 0 0 / 0.5);
  --shadow-inner: inset 0 2px 4px 0 oklch(0% 0 0 / 0.2);
  --shadow-none: 0 0 0 0 transparent;

  /* Radius Scale */
  --radius-none: 0;
  --radius-xs: 0.125rem;
  --radius-sm: 0.25rem;
  --radius-md: 0.375rem;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
  --radius-3xl: 1.5rem;
  --radius-full: 9999px;

  /* Z-Index Scale */
  --z-hide: -1;
  --z-base: 0;
  --z-dropdown: 10;
  --z-sticky: 20;
  --z-fixed: 30;
  --z-sidebar: 35;
  --z-modal-backdrop: 40;
  --z-modal: 50;
  --z-popover: 60;
  --z-toast: 70;
  --z-tooltip: 80;
  --z-max: 9999;

  /* Duration Scale */
  --duration-instant: 0ms;
  --duration-fast: 100ms;
  --duration-normal: 200ms;
  --duration-slow: 300ms;
  --duration-slower: 500ms;

  /* Easing Scale */
  --ease-default: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Spacing Scale */
  --space-0: 0;
  --space-px: 1px;
  --space-0-5: 0.125rem;
  --space-1: 0.25rem;
  --space-1-5: 0.375rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;

  /* Button: Success */
  --bg-button-success: var(--utility-green-600);
  --bg-button-success-hover: var(--utility-green-500);
  --bg-button-success-active: var(--utility-green-400);
  --text-button-success: var(--alpha-white-100);
  --border-button-success: var(--alpha-0);

  /* Empty State */
  --bg-empty-state-icon: var(--utility-neutral-800);

  /* Skeleton */
  --bg-skeleton: var(--utility-neutral-800);
  --bg-skeleton-highlight: var(--utility-neutral-700);

  /* Combobox */
  --bg-combobox: var(--bg-input);
  --bg-combobox-search: var(--utility-neutral-850);
  --bg-combobox-listbox: var(--bg-input);
  --bg-combobox-option-hover: var(--bg-dropdown-hover);
  --bg-combobox-option-active: var(--bg-dropdown-active);
  --bg-combobox-option-selected: var(--bg-dropdown-selected);
  --text-combobox: var(--text-input);
  --text-combobox-placeholder: var(--text-input-placeholder);
  --text-combobox-option: var(--text-primary);
  --text-combobox-option-selected: var(--text-dropdown-selected);
  --text-combobox-option-meta: var(--text-tertiary);
  --text-combobox-option-check: var(--text-success);
  --border-combobox: var(--border-input);
  --border-combobox-hover: var(--border-input-hover);
  --border-combobox-focus: var(--border-input-active);
  --shadow-combobox-listbox: var(--shadow-dropdown);
  --ring-combobox-focus: var(--ring-input-focus);
  --bg-combobox-header: var(--bg-input);
  --border-combobox-header: var(--border-dropdown-divider);
  --bg-combobox-footer: var(--bg-input);
  --border-combobox-footer: var(--border-dropdown-divider);
  --opacity-combobox-grain: var(--opacity-dropdown-grain, 0);

  /* Popover */
  --bg-popover: var(--bg-surface);
  --bg-popover-modal: var(--utility-neutral-750);
  --text-popover: var(--text-primary);
  --border-popover: var(--border-primary);
  --shadow-popover: var(--shadow-lg);
  --radius-popover: var(--radius-lg);
  --bg-popover-arrow: var(--bg-surface);
  --border-popover-arrow: var(--border-primary);

  /* Command Palette */
  --bg-command-palette: var(--bg-surface);
  --bg-command-palette-backdrop: oklch(0% 0 0 / 0.6);
  --bg-command-palette-item-hover: var(--bg-hover);
  --bg-command-palette-item-active: var(--bg-active);
  --text-command-palette: var(--text-primary);
  --text-command-palette-muted: var(--text-tertiary);
  --border-command-palette: var(--border-primary);
  --shadow-command-palette: var(--shadow-xl);
  --radius-command-palette: var(--radius-xl);

  /* Messaging */
  --bg-msg-panel: var(--utility-neutral-900);
  --bg-msg-composer-area: var(--bg-surface);
  --border-msg-panel: var(--border-secondary);
  --bg-msg-inbound: var(--utility-neutral-800);
  --text-msg-inbound: var(--text-primary);
  --border-msg-inbound: var(--utility-neutral-700);
  --bg-msg-outbound: var(--utility-indigo-900);
  --text-msg-outbound: var(--utility-indigo-100);
  --border-msg-outbound: transparent;
  --bg-msg-system: var(--utility-neutral-800);
  --text-msg-system: var(--text-tertiary);
  --text-msg-sender: var(--text-primary);
  --text-msg-time: var(--text-quaternary);
  --bg-msg-reaction: var(--utility-neutral-800);
  --border-msg-reaction: var(--utility-neutral-700);
  --bg-msg-reaction-active: var(--bg-info-subtle);
  --border-msg-reaction-active: var(--border-info);
  --text-msg-reaction-active: var(--text-info);
  --bg-msg-composer: var(--bg-input);
  --border-msg-composer: var(--border-input);
  --border-msg-composer-focus: var(--border-input-focus);
  --bg-msg-send: var(--bg-primary-solid);
  --text-msg-send: var(--alpha-white-100);
  --bg-msg-actions: var(--utility-neutral-800);
  --border-msg-actions: var(--utility-neutral-700);
  --bg-msg-conversation-hover: var(--bg-hover);
  --bg-msg-conversation-active: var(--bg-active);
  --bg-msg-conversation-unread: var(--bg-info-subtle);
  --bg-msg-badge: var(--bg-primary-solid);
  --text-msg-badge: var(--alpha-white-100);

  /* Bulk Action Bar */
  --bg-bulk-action-bar: var(--utility-neutral-850);
  --text-bulk-action-bar: var(--text-primary);
  --border-bulk-action-bar: var(--border-primary);
  --shadow-bulk-action-bar: 0 -4px 24px -4px oklch(0% 0 0 / 0.4), 0 -2px 8px -2px oklch(0% 0 0 / 0.2);

  /* Kbd */
  --bg-kbd: var(--utility-neutral-800);
  --text-kbd: var(--utility-neutral-200);
  --border-kbd: var(--utility-neutral-700);
  --shadow-kbd: 0 1px 0 0 var(--utility-neutral-900);

  /* Inline Edit */
  --bg-inline-edit: transparent;
  --bg-inline-edit-hover: var(--bg-hover);
  --bg-inline-edit-editing: var(--bg-input);
  --border-inline-edit-editing: var(--border-input-focus);
  --text-inline-edit: var(--text-primary);
  --text-inline-edit-placeholder: var(--text-tertiary);
  --text-inline-link-edit: var(--text-link);
  --text-inline-link-edit-hover: var(--text-link-hover);

  /* Range Slider */
  --bg-range-track: var(--utility-neutral-700);
  --bg-range-fill: var(--bg-primary-solid);
  --bg-range-thumb: var(--utility-neutral-200);
  --border-range-thumb: var(--bg-primary-solid);
  --shadow-range-thumb: var(--shadow-sm);

  /* Line Toast */
  --bg-line-toast-success: var(--utility-green-400);
  --bg-line-toast-error: var(--utility-red-400);
  --bg-line-toast-warning: var(--utility-yellow-400);
  --bg-line-toast-info: var(--utility-blue-400);
  --bg-line-toast-loading: var(--utility-blue-400);

  /* Timeline */
  --bg-timeline-marker: var(--bg-primary-solid);
  --bg-timeline-marker-completed: var(--bg-success-solid);
  --bg-timeline-marker-error: var(--bg-danger-solid);
  --border-timeline-connector: var(--utility-neutral-700);
  --text-timeline-time: var(--text-tertiary);

  /* Activity Feed */
  --bg-activity-feed-item: var(--bg-surface);
  --bg-activity-feed-item-hover: var(--bg-hover);
  --bg-activity-feed-item-unread: var(--bg-info-subtle);
  --text-activity-feed-action: var(--text-secondary);
  --text-activity-feed-target: var(--text-link);
  --text-activity-feed-meta: var(--text-tertiary);
  --border-activity-feed-item: var(--border-secondary);

  /* Stat Card */
  --bg-stat-card: var(--bg-card);
  --text-stat-card-value: var(--text-primary);
  --text-stat-card-label: var(--text-secondary);
  --text-stat-card-trend-up: var(--text-success);
  --text-stat-card-trend-down: var(--text-danger);
  --border-stat-card: var(--border-card);
  --shadow-stat-card: var(--shadow-card);

  /* Table Resize */
  --bg-table-resize-handle: transparent;
  --bg-table-resize-handle-hover: var(--utility-blue-400);
  --bg-table-resize-handle-active: var(--utility-blue-500);

  /* Table Detail Row */
  --bg-table-row-detail: var(--utility-neutral-850);
}

/* =========================================
   Mica Dark — translucent surfaces
   ========================================= */

[data-theme="theme-mica-dark"] {
  --canvas-primary: oklch(15% 0.005 250 / 0.85);
  --canvas-secondary: oklch(10% 0 0 / 0.8);
  --bg-surface: oklch(18% 0.005 250 / 0.78);
  --bg-body: oklch(12% 0.003 250 / 0.75);
  --bg-card: oklch(20% 0.005 250 / 0.72);
  --bg-sidebar: oklch(14% 0.005 250 / 0.82);
  --bg-dropdown: oklch(22% 0.005 250 / 0.88);
  --bg-modal: oklch(18% 0.005 250 / 0.92);
  --bg-popover: oklch(22% 0.005 250 / 0.88);
  --bg-command-palette: oklch(18% 0.005 250 / 0.92);
  --bg-mica-tint: oklch(15% 0.005 250);
}

/* Accent presets for dark theme */

[data-theme="theme-dark"][data-accent="purple"],
[data-theme="theme-mica-dark"][data-accent="purple"] {
  --bg-primary-solid: var(--utility-purple-500);
  --bg-primary-solid-hover: var(--utility-purple-400);
  --bg-primary-solid-active: var(--utility-purple-300);
  --border-primary-solid: var(--utility-purple-500);
  --text-link: var(--utility-purple-300);
  --text-link-hover: var(--utility-purple-200);
}

[data-theme="theme-dark"][data-accent="teal"],
[data-theme="theme-mica-dark"][data-accent="teal"] {
  --bg-primary-solid: var(--utility-teal-500);
  --bg-primary-solid-hover: var(--utility-teal-400);
  --bg-primary-solid-active: var(--utility-teal-300);
  --border-primary-solid: var(--utility-teal-500);
  --text-link: var(--utility-teal-300);
  --text-link-hover: var(--utility-teal-200);
}

[data-theme="theme-dark"][data-accent="green"],
[data-theme="theme-mica-dark"][data-accent="green"] {
  --bg-primary-solid: var(--utility-green-500);
  --bg-primary-solid-hover: var(--utility-green-400);
  --bg-primary-solid-active: var(--utility-green-300);
  --border-primary-solid: var(--utility-green-500);
  --text-link: var(--utility-green-300);
  --text-link-hover: var(--utility-green-200);
}

[data-theme="theme-dark"][data-accent="orange"],
[data-theme="theme-mica-dark"][data-accent="orange"] {
  --bg-primary-solid: var(--utility-orange-500);
  --bg-primary-solid-hover: var(--utility-orange-400);
  --bg-primary-solid-active: var(--utility-orange-300);
  --border-primary-solid: var(--utility-orange-500);
  --text-link: var(--utility-orange-300);
  --text-link-hover: var(--utility-orange-200);
}

[data-theme="theme-dark"][data-accent="pink"],
[data-theme="theme-mica-dark"][data-accent="pink"] {
  --bg-primary-solid: var(--utility-pink-500);
  --bg-primary-solid-hover: var(--utility-pink-400);
  --bg-primary-solid-active: var(--utility-pink-300);
  --border-primary-solid: var(--utility-pink-500);
  --text-link: var(--utility-pink-300);
  --text-link-hover: var(--utility-pink-200);
}

/* Dark high contrast */

[data-theme="theme-dark"][data-contrast="high"],
[data-theme="theme-mica-dark"][data-contrast="high"] {
  --text-primary: oklch(100% 0 0);
  --text-secondary: oklch(90% 0 0);
  --text-tertiary: oklch(80% 0 0);
  --text-quaternary: oklch(70% 0 0);
  --border-primary: oklch(60% 0 0);
  --border-input: oklch(65% 0 0);
  --border-input-hover: oklch(75% 0 0);
  --border-card: oklch(55% 0 0);
  --border-table: oklch(55% 0 0);
}

/*Buttons*/

/* -----------------------------------------
 * Base Button (abstract; not required in markup)
 * ----------------------------------------- */

.btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.wizard-card--trait .btn {
  line-height: 1.3;
}

.btn:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn {
  -webkit-tap-highlight-color: transparent;
}

.btn:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
    ring-color: var(--border-button-focus, var(--border-primary));
}

/* -----------------------------------------
 * Variants (each one includes `.btn`)
 * ----------------------------------------- */

/* Primary */

.btn-primary {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.wizard-card--trait .btn-primary {
  line-height: 1.3;
}

.btn-primary:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-primary {
  -webkit-tap-highlight-color: transparent;
}

.btn-primary:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
    ring-color: var(--border-button-focus, var(--border-primary));
}

.btn-primary > .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .btn-primary > .badge {
  line-height: 1.3;
}

.btn-primary {
  color: var(--text-button-primary);
  background-color: var(--bg-button-primary);
  border-color: var(--border-button-primary);
}

.btn-primary:hover {
    background-color: var(--bg-button-primary-hover);
  }

.btn-primary:active {
    background-color: var(--bg-button-primary-active);
  }

/* Secondary */

.btn-secondary {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.wizard-card--trait .btn-secondary {
  line-height: 1.3;
}

.btn-secondary:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-secondary {
  -webkit-tap-highlight-color: transparent;
}

.btn-secondary:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
    ring-color: var(--border-button-focus, var(--border-primary));
}

.btn-secondary > .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .btn-secondary > .badge {
  line-height: 1.3;
}

.btn-secondary {
  color: var(--text-button-secondary);
  background-color: var(--bg-button-secondary);
  border-color: var(--border-button-secondary);
}

.btn-secondary:hover {
    background-color: var(--bg-button-secondary-hover);
  }

.btn-secondary:active {
    background-color: var(--bg-button-secondary-active);
  }

.btn-secondary.is-active,
  .btn-secondary[aria-pressed="true"] {
    background-color: var(--bg-button-secondary-active-state);
  }

/* Soft */

.btn-soft {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.wizard-card--trait .btn-soft {
  line-height: 1.3;
}

.btn-soft:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-soft {
  -webkit-tap-highlight-color: transparent;
}

.btn-soft:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
    ring-color: var(--border-button-focus, var(--border-primary));
}

.btn-soft > .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .btn-soft > .badge {
  line-height: 1.3;
}

.btn-soft {
  color: var(--text-button-soft, var(--text-primary));
  background-color: var(--bg-button-soft, var(--utility-neutral-50));
  border-color: var(--border-button-soft, var(--alpha-0));
}

.btn-soft:hover {
    background-color: var(--bg-button-soft-hover, var(--utility-neutral-100));
  }

.btn-soft:active {
    background-color: var(--bg-button-soft-active, var(--utility-neutral-200));
  }

/* Ghost */

.btn-ghost {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.wizard-card--trait .btn-ghost {
  line-height: 1.3;
}

.btn-ghost:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-ghost {
  -webkit-tap-highlight-color: transparent;
}

.btn-ghost:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
    ring-color: var(--border-button-focus, var(--border-primary));
}

.btn-ghost > .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .btn-ghost > .badge {
  line-height: 1.3;
}

.btn-ghost {
  color: var(--text-button-ghost, var(--text-primary));
  background-color: var(--bg-button-ghost, var(--alpha-0));
  border-color: var(--border-button-ghost, var(--alpha-0));
}

.btn-ghost:hover {
    background-color: var(--bg-button-ghost-hover, var(--utility-neutral-100));
  }

.btn-ghost:active {
    background-color: var(--bg-button-ghost-active, var(--utility-neutral-200));
  }

/* Link */

.btn-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.125rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  text-decoration-line: underline;
  text-underline-offset: 4px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.wizard-card--trait .btn-link {
  line-height: 1.3;
}

.btn-link:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-link {
  color: var(--text-button-link, var(--text-primary));
}

.btn-link:hover {
  text-decoration-line: none;
}

/* Light */

.btn-light {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.wizard-card--trait .btn-light {
  line-height: 1.3;
}

.btn-light:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-light {
  -webkit-tap-highlight-color: transparent;
}

.btn-light:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
    ring-color: var(--border-button-focus, var(--border-primary));
}

.btn-light > .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .btn-light > .badge {
  line-height: 1.3;
}

.btn-light {
  color: var(--text-button-light, var(--text-primary));
  background-color: var(--bg-button-light, var(--utility-neutral-50));
  border-color: var(--border-button-light, var(--border-primary));
}

.btn-light:hover {
    background-color: var(--bg-button-light-hover, var(--utility-neutral-100));
  }

.btn-light:active {
    background-color: var(--bg-button-light-active, var(--utility-neutral-200));
  }

/* Danger */

.btn-danger {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.wizard-card--trait .btn-danger {
  line-height: 1.3;
}

.btn-danger:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-danger {
  -webkit-tap-highlight-color: transparent;
}

.btn-danger:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
    ring-color: var(--border-button-focus, var(--border-primary));
}

.btn-danger > .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .btn-danger > .badge {
  line-height: 1.3;
}

.btn-danger {
  color: var(--text-button-danger, var(--alpha-white-100));
  background-color: var(--bg-button-danger, var(--utility-red-600, #dc2626));
  border-color: var(--border-button-danger, var(--alpha-0));
}

.btn-danger:hover {
    background-color: var(--bg-button-danger-hover, var(--utility-red-700, #b91c1c));
  }

.btn-danger:active {
    background-color: var(--bg-button-danger-active, var(--utility-red-800, #991b1b));
  }

/* Danger outline */

.btn-danger-outline {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.wizard-card--trait .btn-danger-outline {
  line-height: 1.3;
}

.btn-danger-outline:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-danger-outline {
  -webkit-tap-highlight-color: transparent;
}

.btn-danger-outline:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
    ring-color: var(--border-button-focus, var(--border-primary));
}

.btn-danger-outline > .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .btn-danger-outline > .badge {
  line-height: 1.3;
}

.btn-danger-outline {
  color: var(--text-button-danger-outline, var(--utility-red-700, #b91c1c));
  background-color: var(--bg-button-danger-outline, var(--alpha-0));
  border-color: var(--border-button-danger-outline, var(--alpha-0));
}

.btn-danger-outline:hover {
    background-color: var(--bg-button-danger-outline-hover, var(--utility-red-50, #fef2f2));
  }

.btn-danger-outline:active {
    background-color: var(--bg-button-danger-outline-active, var(--utility-red-100, #fee2e2));
  }

/* Success */

.btn-success {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.wizard-card--trait .btn-success {
  line-height: 1.3;
}

.btn-success:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-success {
  -webkit-tap-highlight-color: transparent;
}

.btn-success:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
    ring-color: var(--border-button-focus, var(--border-primary));
}

.btn-success > .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .btn-success > .badge {
  line-height: 1.3;
}

.btn-success {
  color: var(--text-button-success, var(--text-on-success, var(--alpha-white-100)));
  background-color: var(--bg-button-success, var(--bg-success-solid, var(--utility-green-600, #16a34a)));
  border-color: var(--border-button-success, var(--border-success-solid, var(--alpha-0)));
}

.btn-success:hover {
    background-color: var(--bg-button-success-hover, var(--bg-success-solid-hover, var(--utility-green-700, #15803d)));
  }

.btn-success:active {
    background-color: var(--bg-button-success-active, var(--bg-success-solid-active, var(--utility-green-800, #166534)));
  }

/* Success outline */

.btn-success-outline {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.wizard-card--trait .btn-success-outline {
  line-height: 1.3;
}

.btn-success-outline:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-success-outline {
  -webkit-tap-highlight-color: transparent;
}

.btn-success-outline:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
    ring-color: var(--border-button-focus, var(--border-primary));
}

.btn-success-outline > .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .btn-success-outline > .badge {
  line-height: 1.3;
}

.btn-success-outline {
  color: var(--text-button-success-outline, var(--utility-green-700, #15803d));
  background-color: var(--bg-button-success-outline, var(--alpha-0));
  border-color: var(--border-button-success-outline, var(--alpha-0));
}

.btn-success-outline:hover {
    background-color: var(--bg-button-success-outline-hover, var(--utility-green-50, #f0fdf4));
  }

.btn-success-outline:active {
    background-color: var(--bg-button-success-outline-active, var(--utility-green-100, #dcfce7));
  }

/* Warning */

.btn-warning {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.wizard-card--trait .btn-warning {
  line-height: 1.3;
}

.btn-warning:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-warning {
  -webkit-tap-highlight-color: transparent;
}

.btn-warning:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
    ring-color: var(--border-button-focus, var(--border-primary));
}

.btn-warning > .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .btn-warning > .badge {
  line-height: 1.3;
}

.btn-warning {
  color: var(--text-button-warning, var(--text-on-warning, var(--alpha-white-100)));
  background-color: var(--bg-button-warning, var(--bg-warning-solid, var(--utility-amber-600, #d97706)));
  border-color: var(--border-button-warning, var(--border-warning-solid, var(--alpha-0)));
}

.btn-warning:hover {
    background-color: var(--bg-button-warning-hover, var(--bg-warning-solid-hover, var(--utility-amber-700, #b45309)));
  }

.btn-warning:active {
    background-color: var(--bg-button-warning-active, var(--bg-warning-solid-active, var(--utility-amber-800, #92400e)));
  }

/* Warning outline */

.btn-warning-outline {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.wizard-card--trait .btn-warning-outline {
  line-height: 1.3;
}

.btn-warning-outline:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-warning-outline {
  -webkit-tap-highlight-color: transparent;
}

.btn-warning-outline:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
    ring-color: var(--border-button-focus, var(--border-primary));
}

.btn-warning-outline > .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .btn-warning-outline > .badge {
  line-height: 1.3;
}

.btn-warning-outline {
  color: var(--text-button-warning-outline, var(--utility-amber-700, #b45309));
  background-color: var(--bg-button-warning-outline, var(--alpha-0));
  border-color: var(--border-button-warning-outline, var(--alpha-0));
}

.btn-warning-outline:hover {
    background-color: var(--bg-button-warning-outline-hover, var(--utility-amber-50, #fffbeb));
  }

.btn-warning-outline:active {
    background-color: var(--bg-button-warning-outline-active, var(--utility-amber-100, #fef3c7));
  }

/* Info */

.btn-info {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.wizard-card--trait .btn-info {
  line-height: 1.3;
}

.btn-info:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-info {
  -webkit-tap-highlight-color: transparent;
}

.btn-info:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
    ring-color: var(--border-button-focus, var(--border-primary));
}

.btn-info > .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .btn-info > .badge {
  line-height: 1.3;
}

.btn-info {
  color: var(--text-button-info, var(--alpha-white-100));
  background-color: var(--bg-button-info, var(--bg-info-solid, var(--utility-blue-600, #2563eb)));
  border-color: var(--border-button-info, var(--alpha-0));
}

.btn-info:hover {
    background-color: var(--bg-button-info-hover, var(--utility-blue-700, #1d4ed8));
  }

.btn-info:active {
    background-color: var(--bg-button-info-active, var(--utility-blue-800, #1e40af));
  }

/* Info outline */

.btn-info-outline {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.wizard-card--trait .btn-info-outline {
  line-height: 1.3;
}

.btn-info-outline:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-info-outline {
  -webkit-tap-highlight-color: transparent;
}

.btn-info-outline:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
    ring-color: var(--border-button-focus, var(--border-primary));
}

.btn-info-outline > .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .btn-info-outline > .badge {
  line-height: 1.3;
}

.btn-info-outline {
  color: var(--text-button-info-outline, var(--utility-blue-700, #1d4ed8));
  background-color: var(--bg-button-info-outline, var(--alpha-0));
  border-color: var(--border-button-info-outline, var(--alpha-0));
}

.btn-info-outline:hover {
    background-color: var(--bg-button-info-outline-hover, var(--utility-blue-50, #eff6ff));
  }

.btn-info-outline:active {
    background-color: var(--bg-button-info-outline-active, var(--utility-blue-100, #dbeafe));
  }

/* Glass */

.btn-glass {
  position: relative;
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.wizard-card--trait .btn-glass {
  line-height: 1.3;
}

.btn-glass:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-glass {
  -webkit-tap-highlight-color: transparent;
}

.btn-glass:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
    ring-color: var(--border-button-focus, var(--border-primary));
}

.btn-glass > .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .btn-glass > .badge {
  line-height: 1.3;
}

.btn-glass {
  overflow: hidden;
  z-index: 0;
  color: var(--text-button-glass);
  background-color: var(--bg-button-glass);
  border-color: var(--border-button-glass);
}

.btn-glass::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><filter id='noiseFilter'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23noiseFilter)' opacity='1'/></svg>");
    background-repeat: repeat;
    mix-blend-mode: overlay;
    opacity: var(--opacity-button-grain, 0);
    pointer-events: none;
    z-index: 0;
    border-radius: inherit;
  }

.btn-glass > * {
    position: relative;
    z-index: 1;
  }

.btn-glass:hover {
    color: var(--text-button-glass-hover);
    background-color: var(--bg-button-glass-hover);
    border-color: var(--border-button-glass-hover);
  }

.btn-glass:active {
    color: var(--text-button-glass-active);
    background-color: var(--bg-button-glass-active);
    border-color: var(--border-button-glass-active);
  }

/* -----------------------------------------
 * Sizes (stackable with any variant)
 * ----------------------------------------- */

.btn-xs {
  border-radius: 0.25rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 3px;
  padding-bottom: 3px;
  font-size: 0.6875rem;
  line-height: 1rem;
}

.btn-sm {
  border-radius: 0.375rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 5px;
  padding-bottom: 5px;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .btn-sm {
  line-height: 1.3;
}

.btn-md {
  border-radius: 0.375rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

/* default */

.btn-lg {
  border-radius: 0.375rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 0.875rem;
  line-height: 1.5rem;
}

/* -----------------------------------------
 * Shapes / Formats
 * ----------------------------------------- */

.btn-pill {
  border-radius: 9999px;
}

/* icon + label spacing helper */

.btn-with-icon > i,
.btn-with-icon > svg {
  margin-left: -0.125rem;
}

/* -----------------------------------------
 * Icon Buttons (Font Awesome–friendly)
 *   Pair with a variant class for colors, e.g.:
 *     class="btn-secondary btn-icon btn-icon-md"
 *     class="btn-primary btn-icon btn-icon-sm"
 * ----------------------------------------- */

.btn-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.375rem;
  border-width: 1px;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.btn-icon:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-icon {
  padding: 0; /* ensures perfect squares */
  line-height: 1;
}

.btn-icon-xs {
  height: 1.5rem;
  width: 1.5rem;
  padding: 0px;
  font-size: 0.625rem;
  line-height: 0.875rem;
  line-height: 1;
}

.btn-icon-sm {
  height: 1.75rem;
  width: 1.75rem;
  padding: 0px;
  font-size: 0.75rem;
  line-height: 1rem;
  line-height: 1;
}

.wizard-card--trait .btn-icon-sm {
  line-height: 1.3;
}

.btn-icon-md {
  height: 2rem;
  width: 2rem;
  padding: 0px;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  line-height: 1;
}

.btn-icon-lg {
  height: 2.25rem;
  width: 2.25rem;
  padding: 0px;
  font-size: 1rem;
  line-height: 1.5rem;
  line-height: 1;
}

.btn-icon i {
  line-height: 1;
  font-size: 1em;
}

/* cleaner combos */

.btn-icon.btn-secondary,
.btn-icon.btn-soft,
.btn-icon.btn-ghost,
.btn-icon.btn-danger-outline,
.btn-icon.btn-success-outline,
.btn-icon.btn-warning-outline,
.btn-icon.btn-info-outline {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/* -----------------------------------------
 * Loading State
 * ----------------------------------------- */

.is-loading {
  pointer-events: none;
}

.btn-spinner {
  display: inline-block;
}

@-webkit-keyframes spin {

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes spin {

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.btn-spinner {
  -webkit-animation: spin 1s linear infinite;
  animation: spin 1s linear infinite;
}

/* -----------------------------------------
 * Button Group / Split Buttons
 * ----------------------------------------- */

.btn-group {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: middle;
}

/* ----------------------------------------------------
 * Segment targeting
 * Supports:
 *  - direct child buttons/anchors: .btn-group > .btn-*
 *  - bootstrap dropdown wrapper:  .btn-group > .dropdown > .btn-*
 * ---------------------------------------------------- */

/* segments (direct children) */

.btn-group > :is( [class^="btn-"], [class*=" btn-"], a[class^="btn-"], a[class*=" btn-"] ) {
  margin-left: -1px;
  border-radius: 0px;
    -webkit-box-shadow: none;
    box-shadow: none;
}

/* segments (inside a dropdown wrapper) */

.btn-group > .dropdown > :is( [class^="btn-"], [class*=" btn-"], a[class^="btn-"], a[class*=" btn-"] ) {
  margin-left: -1px;
  border-radius: 0px;
    -webkit-box-shadow: none;
    box-shadow: none;
}

/* Preserve left outer radius */

.btn-group > :is( [class^="btn-"], [class*=" btn-"], a[class^="btn-"], a[class*=" btn-"] ):first-child {
  margin-left: 0px;
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}

.btn-group > .dropdown:first-child > :is( [class^="btn-"], [class*=" btn-"], a[class^="btn-"], a[class*=" btn-"] ) {
  margin-left: 0px;
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}

/* Preserve right outer radius */

.btn-group > :is( [class^="btn-"], [class*=" btn-"], a[class^="btn-"], a[class*=" btn-"] ):last-child {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}

.btn-group > .dropdown:last-child > :is( [class^="btn-"], [class*=" btn-"], a[class^="btn-"], a[class*=" btn-"] ) {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}

/* Pill groups */

.btn-group.btn-group-pill > :is( [class^="btn-"], [class*=" btn-"], a[class^="btn-"], a[class*=" btn-"] ):first-child {
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
}

.btn-group.btn-group-pill > .dropdown:first-child > :is( [class^="btn-"], [class*=" btn-"], a[class^="btn-"], a[class*=" btn-"] ) {
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
}

.btn-group.btn-group-pill > :is( [class^="btn-"], [class*=" btn-"], a[class^="btn-"], a[class*=" btn-"] ):last-child {
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}

.btn-group.btn-group-pill > .dropdown:last-child > :is( [class^="btn-"], [class*=" btn-"], a[class^="btn-"], a[class*=" btn-"] ) {
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}

/* Hover / focus layering so active segment sits above seam */

.btn-group > * {
    position: relative;
    z-index: 0;
  }

.btn-group > *:hover,
    .btn-group > *:focus-visible {
      z-index: 1;
    }

/* Elevate dropdown when open so the menu escapes the z-0 stacking context */

.btn-group > .dropdown:has(.show) {
      z-index: 2;
    }

/* One outer shadow */

.btn-group.btn-group-shadow {
  border-radius: 0.375rem;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-group.btn-group-shadow > * {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/* Compact groups */

.btn-group.btn-group-compact > :is(.btn-primary,.btn-secondary,.btn-soft,.btn-ghost,.btn-danger,.btn-danger-outline,.btn-success,.btn-success-outline,.btn-warning,.btn-warning-outline,.btn-info,.btn-info-outline,.btn-glass) {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.btn-group.btn-group-compact > :is(.btn-primary,.btn-secondary,.btn-soft,.btn-ghost,.btn-danger,.btn-danger-outline,.btn-success,.btn-success-outline,.btn-warning,.btn-warning-outline,.btn-info,.btn-info-outline,.btn-glass).btn-xs {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}

.btn-group.btn-group-compact > :is(.btn-primary,.btn-secondary,.btn-soft,.btn-ghost,.btn-danger,.btn-danger-outline,.btn-success,.btn-success-outline,.btn-warning,.btn-warning-outline,.btn-info,.btn-info-outline,.btn-glass).btn-sm {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.btn-group.btn-group-compact > :is(.btn-primary,.btn-secondary,.btn-soft,.btn-ghost,.btn-danger,.btn-danger-outline,.btn-success,.btn-success-outline,.btn-warning,.btn-warning-outline,.btn-info,.btn-info-outline,.btn-glass).btn-md {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

.btn-group.btn-group-compact > :is(.btn-primary,.btn-secondary,.btn-soft,.btn-ghost,.btn-danger,.btn-danger-outline,.btn-success,.btn-success-outline,.btn-warning,.btn-warning-outline,.btn-info,.btn-info-outline,.btn-glass).btn-lg {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

/* Compact icon buttons (slightly smaller squares) */

.btn-group.btn-group-compact > .btn-icon.btn-icon-lg {
  height: 2rem;
  width: 2rem;
}

.btn-group.btn-group-compact > .btn-icon.btn-icon-md {
  height: 1.75rem;
  width: 1.75rem;
}

.btn-group.btn-group-compact > .btn-icon.btn-icon-sm {
  height: 1.5rem;
  width: 1.5rem;
}

.btn-group.btn-group-compact > .btn-icon.btn-icon-xs {
  height: 1.25rem;
  width: 1.25rem;
}

/* Equal-width groups */

.btn-group.btn-group-equal {
  width: 100%;
}

.btn-group.btn-group-equal > * {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .btn-group.btn-group-equal > * {
      display: none;
    }

/* Prevent icon buttons from collapsing too far */

.btn-group.btn-group-equal > .btn-icon {
  min-width: 2.5rem;
}

/*Case for Buttons with Badge Elements*/

.btn > .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .btn > .badge {
  line-height: 1.3;
}

/*Data*/

/* ========================================
   Component: Accordion
   Uses native <details>/<summary> for zero-JS behavior
   ======================================== */

.accordion > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}

.accordion {
  border-color: var(--border-primary);
}

.accordion__item {
  border-color: var(--border-primary-subtle);
}

.accordion__item > summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  list-style-type: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.collapse.show.accordion__item > summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .accordion__item > summary {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .accordion__item > summary {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.accordion__item > summary {
  color: var(--text-primary);
  -webkit-transition: background-color var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: background-color var(--duration-fast, 100ms) var(--ease-default, ease);
}

.accordion__item > summary:hover {
  background-color: var(--bg-hover);
}

.accordion__item > summary:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-inset: inset;
  ring-color: var(--border-info);
}

/* Hide the default marker */

.accordion__item > summary::-webkit-details-marker {
  display: none;
}

/* Chevron icon */

.accordion__item > summary::after {
  content: "\f078";
  font-family: "Font Awesome 6 Pro";
  font-weight: 300;
  font-size: 0.6875rem;
  line-height: 1rem;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  color: var(--text-tertiary);
}

.accordion__item[open] > summary::after {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

/* Content area */

.accordion__body {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 0.75rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .accordion__body {
  line-height: 1.3;
}

.accordion__body {
  color: var(--text-secondary);
}

/* Flush variant (no outer borders) */

.accordion--flush > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(0px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(0px * var(--tw-divide-y-reverse));
}

.accordion--flush .accordion__item {
  border-bottom-width: 1px;
  border-color: var(--border-primary-subtle);
}

/* Bordered variant */

.accordion--bordered {
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  border-color: var(--border-primary);
}

.accordion--bordered .accordion__item:last-child {
  border-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
  .accordion__item > summary::after {
    -webkit-transition: none;
    transition: none;
  }
}

/* Tooltip visuals (Apex injects the element; we theme it via tokens) */

.spark .apexcharts-tooltip {
  background: var(--bg-spark-tooltip) !important;
  color: var(--text-spark-tooltip) !important;
  border: 1px solid var(--border-spark-tooltip) !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.spark .apexcharts-tooltip .apexcharts-tooltip-title {
    background: transparent !important;
    border-bottom: none !important;
    color: inherit !important;
  }

/* Optional per-instance variants */

.spark--thick {
  --stroke-spark-width: 3;
}

.spark--no-area {
  --fill-spark-area: transparent;
}

.spark--warning {
  --stroke-spark: var(--color-warning-500, #eab308);
}

/* Color variants (if you want utility-like classes) */

.sparkline--success {
  --stroke-spark: var(--color-success-500, #10b981);
}

.sparkline--danger {
  --stroke-spark: var(--color-danger-500, #ef4444);
}

.sparkline--muted {
  --stroke-spark: var(--color-neutral-400, #9ca3af);
}

/* Marker helpers */

.spark--markers {
  --size-spark-marker: 2;
  --size-spark-marker-hover: 3;
}

/* font size, padding, etc. */

.spark .apexcharts-tooltip {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.25rem;
  padding-bottom: 0px;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

/* value text */

.spark .apexcharts-tooltip-text {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 400;
  line-height: 1;
}

/* the colored circle in tooltip */

.spark .apexcharts-tooltip-marker {
  height: 0.375rem;
  width: 0.375rem;
  border-radius: 9999px;
}

.spark {
  --spark-warn-margin: 0.02;
}

/* ========= 2) GLOBAL CHART STYLING ========= */

.enodia-chart .apexcharts-canvas {
  font-family: inherit;
}

.enodia-chart .apexcharts-svg {
  overflow: visible;
  background: var(--apex-bg-surface);
}

/* Titles / subtitles */

.enodia-chart .apexcharts-title-text {
  font-size: 15px !important;
  fill: var(--apex-text);
}

.enodia-chart .apexcharts-subtitle-text {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
  fill: var(--apex-text);
}

/* ========= 3) TOOLTIPS ========= */

/* Main series tooltip */

.enodia-chart .apexcharts-tooltip,
.enodia-chart .apexcharts-tooltip.apexcharts-theme-light,
.enodia-chart .apexcharts-tooltip.apexcharts-theme-dark {
  border-radius: 0.5rem !important;
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
  padding-bottom: 0px !important;
  font-size: 0.8125rem !important;
  line-height: 1.5rem !important;
  background: var(--apex-tooltip-bg) !important;
  border: 1px solid var(--apex-tooltip-border) !important;
  color: var(--apex-tooltip-text) !important;
  -webkit-box-shadow: var(--apex-tooltip-shadow) !important;
  box-shadow: var(--apex-tooltip-shadow) !important;
}

.enodia-chart .apexcharts-tooltip-title {
  border-top-left-radius: 0.5rem !important;
  border-top-right-radius: 0.5rem !important;
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
  padding-top: 0.125rem !important;
  padding-bottom: 0.125rem !important;
  padding-bottom: 0px !important;
  font-size: 0.8125rem !important;
  line-height: 1.5rem !important;
  font-weight: 500 !important;
  background: var(--apex-bg-subtle) !important;
  border-bottom: 1px solid var(--apex-tooltip-border) !important;
  color: var(--apex-tooltip-text) !important;
}

.enodia-chart .apexcharts-tooltip-series-group {
}

.enodia-chart .apexcharts-tooltip-text-label,
.enodia-chart .apexcharts-tooltip-text-value,
.enodia-chart .apexcharts-tooltip-y-label,
.enodia-chart .apexcharts-tooltip-y-value,
.enodia-chart .apexcharts-tooltip-x-value {
  font-size: 0.8125rem !important;
  line-height: 1.5rem !important;
  color: var(--apex-tooltip-text) !important;
}

.enodia-chart .apexcharts-tooltip-marker {
  width: 0.375rem !important;
  height: 0.375rem !important;
  border-radius: 9999px !important;
  border-color: var(--apex-tooltip-marker-border) !important;
}

/* X-axis tooltip (the small date popover) */

.enodia-chart .apexcharts-xaxistooltip,
.enodia-chart .apexcharts-xaxistooltip-bottom,
.enodia-chart .apexcharts-xaxistooltip-top {
  border-radius: 0.375rem !important;
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
  padding-bottom: 0px !important;
  font-size: 0.75rem !important;
  line-height: 1rem !important;
  background: var(--apex-tooltip-bg) !important;
  border: 1px solid var(--apex-tooltip-border) !important;
  color: var(--apex-tooltip-text) !important;
  -webkit-box-shadow: var(--apex-tooltip-shadow) !important;
  box-shadow: var(--apex-tooltip-shadow) !important;
}

.enodia-chart .apexcharts-xaxistooltip .apexcharts-xaxistooltip-text {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
    color: var(--apex-tooltip-text) !important;
}

.enodia-chart .apexcharts-xaxistooltip:before,
  .enodia-chart .apexcharts-xaxistooltip:after {
    border-bottom-color: var(--apex-tooltip-border) !important; /* arrow border */
  }

.enodia-chart .apexcharts-xaxistooltip-bottom:after {
    border-bottom-color: var(--apex-tooltip-bg) !important; /* arrow fill */
  }

/* Y-axis tooltip */

.enodia-chart .apexcharts-yaxistooltip,
.enodia-chart .apexcharts-yaxistooltip-left,
.enodia-chart .apexcharts-yaxistooltip-right {
  border-radius: 0.375rem !important;
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
  padding-top: 0.125rem !important;
  padding-bottom: 0.125rem !important;
  padding-bottom: 0px !important;
  font-size: 0.75rem !important;
  line-height: 1rem !important;
  background: var(--apex-tooltip-bg) !important;
  border: 1px solid var(--apex-tooltip-border) !important;
  color: var(--apex-tooltip-text) !important;
  -webkit-box-shadow: var(--apex-tooltip-shadow) !important;
  box-shadow: var(--apex-tooltip-shadow) !important;
}

.enodia-chart .apexcharts-yaxistooltip .apexcharts-yaxistooltip-text {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
    color: var(--apex-tooltip-text) !important;
}

.enodia-chart .apexcharts-yaxistooltip:before,
  .enodia-chart .apexcharts-yaxistooltip:after {
    border-right-color: var(--apex-tooltip-border) !important; /* left arrow border */
  }

.enodia-chart .apexcharts-yaxistooltip-left:after {
    border-right-color: var(--apex-tooltip-bg) !important; /* left arrow fill */
  }

.enodia-chart .apexcharts-yaxistooltip-right:before,
  .enodia-chart .apexcharts-yaxistooltip-right:after {
    border-left-color: var(--apex-tooltip-border) !important; /* right arrow border */
  }

.enodia-chart .apexcharts-yaxistooltip-right:after {
    border-left-color: var(--apex-tooltip-bg) !important; /* right arrow fill */
  }

/* ========= 4) AXES, GRID, CROSSHAIRS ========= */

.enodia-chart .apexcharts-gridline,
.enodia-chart .apexcharts-grid-borders line {
  stroke: var(--apex-border);
}

.enodia-chart .apexcharts-xaxis-tick,
.enodia-chart .apexcharts-yaxis-tick,
.enodia-chart .apexcharts-axis-border {
  stroke: var(--apex-border);
}

.enodia-chart .apexcharts-xaxis-label,
.enodia-chart .apexcharts-yaxis-label,
.enodia-chart .apexcharts-xaxis-title-text,
.enodia-chart .apexcharts-yaxis-title-text {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
  fill: var(--apex-text);
}

.enodia-chart .apexcharts-xcrosshairs,
.enodia-chart .apexcharts-ycrosshairs {
  stroke: var(--apex-border-accent);
  opacity: var(--apex-crosshair-opacity);
}

/* ========= 5) LEGEND, DATALABELS, MARKERS, MENU/TOOLBAR ========= */

.enodia-chart .apexcharts-legend {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
  row-gap: 0.25rem;
}

.enodia-chart .apexcharts-legend-text {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
  color: var(--apex-legend-text);
}

.enodia-chart .apexcharts-legend-marker {
  margin-right: 0.25rem;
  height: 0.375rem !important;
  width: 0.375rem !important;
  border-radius: 9999px !important;
  border-color: transparent;
}

.enodia-chart .apexcharts-datalabel,
.enodia-chart .apexcharts-datalabel-label,
.enodia-chart .apexcharts-datalabel-value {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
  fill: var(--apex-datalabel-text);
}

.enodia-chart .apexcharts-marker {
  /* Marker size is set via JS (markers.size). */
  stroke: var(--apex-bg-surface);
}

.enodia-chart .apexcharts-menu {
  border-radius: 0.5rem !important;
  background: var(--apex-bg-popover);
  border: 1px solid var(--apex-border);
  color: var(--apex-text);
}

.enodia-chart .apexcharts-zoom-icon,
.enodia-chart .apexcharts-reset-zoom-icon,
.enodia-chart .apexcharts-pan-icon,
.enodia-chart .apexcharts-menu-icon {
  font-size: 0.8125rem !important;
  line-height: 1.5rem !important;
  color: var(--apex-toolbar-ink);
  fill: var(--apex-toolbar-ink);
}

/* Selection / brush / zoom rectangle */

.enodia-chart .apexcharts-selection-rect {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  fill: var(--apex-border-accent);
  fill-opacity: var(--apex-selection-fill-opacity);
  stroke: var(--apex-border-accent);
  stroke-opacity: var(--apex-selection-stroke-opacity);
}

/* ========= 6) PIE / DONUT / RADIAL / HEATMAP ========= */

.enodia-chart .apexcharts-pie-label,
.enodia-chart .apexcharts-datalabels-group text {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
  fill: var(--apex-pie-label-text);
}

.enodia-chart .apexcharts-radialbar .apexcharts-datalabel-value {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 600 !important;
  fill: var(--apex-radial-value-text);
}

.enodia-chart .apexcharts-radialbar .apexcharts-radialbar-tracks line,
.enodia-chart .apexcharts-radialbar .apexcharts-radialbar-track path {
  stroke: var(--apex-radial-track);
}

.enodia-chart .apexcharts-heatmap-rect {
  stroke: var(--apex-heatmap-stroke);
}

/* ========= 7) ANNOTATIONS, NO-DATA, LOADING ========= */

.enodia-chart .apexcharts-annotation-label {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
  fill: var(--apex-annotation-text);
}

.enodia-chart .apexcharts-annotation-rect,
.enodia-chart .apexcharts-annotation-line {
  stroke: var(--apex-annotation-border);
}

.enodia-chart .apexcharts-annotation-label-box {
  border-radius: 0.375rem !important;
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
  fill: var(--apex-annotation-bg);
  stroke: var(--apex-annotation-border);
}

.enodia-chart .apexcharts-text.apexcharts-no-data {
  font-size: 0.8125rem !important;
  line-height: 1.5rem !important;
  fill: var(--apex-nodata-text);
}

.enodia-chart .apexcharts-loading-text {
  font-size: 0.8125rem !important;
  line-height: 1.5rem !important;
  color: var(--apex-loading-text);
}

/* Brush (when using brush charts) */

.enodia-chart .apexcharts-brush .apexcharts-brush-select {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  fill: var(--apex-border-accent) !important;
  fill-opacity: var(--apex-selection-fill-opacity) !important;
}

/* Any Apex chart that contains a pie/donut OR a radial (semi-circle) gauge */

.enodia-chart:has(.apexcharts-pie) .apexcharts-xcrosshairs,
.enodia-chart:has(.apexcharts-pie) .apexcharts-ycrosshairs,
.enodia-chart:has(.apexcharts-pie) .apexcharts-grid,
.enodia-chart:has(.apexcharts-pie) .apexcharts-gridline,
.enodia-chart:has(.apexcharts-pie) .apexcharts-grid-borders,
.enodia-chart:has(.apexcharts-pie) .apexcharts-grid-borders line,
.enodia-chart:has(.apexcharts-radialbar) .apexcharts-xcrosshairs,
.enodia-chart:has(.apexcharts-radialbar) .apexcharts-ycrosshairs,
.enodia-chart:has(.apexcharts-radialbar) .apexcharts-grid,
.enodia-chart:has(.apexcharts-radialbar) .apexcharts-gridline,
.enodia-chart:has(.apexcharts-radialbar) .apexcharts-grid-borders,
.enodia-chart:has(.apexcharts-radialbar) .apexcharts-grid-borders line,
.enodia-chart:has(.apexcharts-radialbar) .apexcharts-xaxis,
.enodia-chart:has(.apexcharts-radialbar) .apexcharts-yaxis,
.enodia-chart:has(.apexcharts-radialbar) .apexcharts-xaxis-tick,
.enodia-chart:has(.apexcharts-radialbar) .apexcharts-axis-border {
  display: none !important;
}

/* Hide grid + the top/bottom "grid-borders" for AREA charts */

.enodia-chart:has(.apexcharts-area) .apexcharts-ycrosshairs,
.enodia-chart:has(.apexcharts-area) .apexcharts-grid-borders,
.enodia-chart:has(.apexcharts-area) .apexcharts-grid-borders line {

  stroke: transparent !important; /* in case Apex injects stroke attrs */
}

/* Hide grid + the top/bottom "grid-borders" for AREA charts */

.enodia-chart:has(.apexcharts-bar-series) .apexcharts-ycrosshairs,
.enodia-chart:has(.apexcharts-bar-series) .apexcharts-grid,
.enodia-chart:has(.apexcharts-bar-series) .apexcharts-gridline,
.enodia-chart:has(.apexcharts-bar) .apexcharts-grid-borders,
.enodia-chart:has(.apexcharts-bar) .apexcharts-grid-borders line {
  stroke: transparent !important; /* in case Apex injects stroke attrs */
}

/* (Optional) In case an x-axis border sneaks in at the bottom */

.enodia-chart:has(.apexcharts-area) .apexcharts-axis-border,
  .enodia-chart:has(.apexcharts-bar) .apexcharts-axis-border {
    display: none !important;
    stroke: transparent !important;
  }

/* ==========================================================================
   BASE
   ========================================================================== */

.avatar {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-weight: 500;
  line-height: 1;
  color: var(--text-avatar, var(--text-primary));
  background-color: var(--bg-avatar, var(--bg-secondary-subtle));
  -webkit-box-shadow: 0 0 0 2px var(--ring-avatar, var(--border-primary));
  box-shadow: 0 0 0 2px var(--ring-avatar, var(--border-primary));
  overflow: hidden;
}

.avatar img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* Optional: initials/text */

.avatar > .avatar-initials {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 100%;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/* If you want "no ring" (image-only look) */

.avatar.avatar-image {
    -webkit-box-shadow: none;
    box-shadow: none;
  }

/* ==========================================================================
   SIZES
   ========================================================================== */

.avatar.avatar-xs {
  height: 24px;
  width: 24px;
  font-size: 0.625rem;
  line-height: 0.875rem;
}

.avatar.avatar-sm {
  height: 32px;
  width: 32px;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.avatar.avatar-md {
  height: 38px;
  width: 38px;
  font-size: 0.875rem;
  line-height: 1.5rem;
}

.avatar.avatar-lg {
  height: 46px;
  width: 46px;
  font-size: 1.125rem;
  line-height: 2rem;
}

.avatar.avatar-xl {
  height: 56px;
  width: 56px;
  font-size: 1.25rem;
  line-height: 2rem;
}

.avatar.avatar-2xl {
  height: 72px;
  width: 72px;
  font-size: 1.5rem;
  line-height: 2rem;
  letter-spacing: -0.01em;
}

/* ==========================================================================
   SHAPES
   ========================================================================== */

.avatar-rounded {
  border-radius: 0.75rem;
}

.avatar-square {
  border-radius: 0.375rem;
}

/* ==========================================================================
   STYLE VARIANTS
   ========================================================================== */

.avatar-soft {
  background-color: var(--bg-avatar-soft, var(--bg-secondary-subtle));
  color: var(--text-avatar-soft, var(--text-primary));
}

.avatar-solid {
  background-color: var(--bg-avatar-solid, var(--bg-primary-solid));
  color: var(--text-avatar-solid, var(--alpha-white-100));
}

.avatar-outline {
  background-color: var(--alpha-0);
  color: var(--text-avatar-outline, var(--text-primary));
  -webkit-box-shadow: 0 0 0 2px var(--border-avatar-outline, var(--border-primary));
  box-shadow: 0 0 0 2px var(--border-avatar-outline, var(--border-primary));
}

.avatar-ghost {
  background-color: var(--alpha-0);
  color: var(--text-avatar-ghost, var(--text-primary));
  -webkit-box-shadow: none;
  box-shadow: none;
}

/* ==========================================================================
   SEMANTIC COLOR VARIANTS (optional)
   - Use for non-photo avatars (initials / icon avatars)
   ========================================================================== */

.avatar-info {
  background-color: var(--bg-avatar-info, var(--bg-info-subtle));
  color: var(--text-avatar-info, var(--text-info-solid));
}

.avatar-success {
  background-color: var(--bg-avatar-success, var(--bg-success-subtle));
  color: var(--text-avatar-success, var(--text-success-solid));
}

.avatar-warning {
  background-color: var(--bg-avatar-warning, var(--bg-warning-subtle));
  color: var(--text-avatar-warning, var(--text-warning-solid));
}

.avatar-danger {
  background-color: var(--bg-avatar-danger, var(--bg-danger-subtle));
  color: var(--text-avatar-danger, var(--text-danger-solid));
}

.avatar-indigo {
  background-color: var(--bg-avatar-indigo, var(--bg-indigo-subtle));
  color: var(--text-avatar-indigo, var(--text-indigo-solid));
}

.avatar-purple {
  background-color: var(--bg-avatar-purple, var(--bg-purple-subtle));
  color: var(--text-avatar-purple, var(--text-purple-solid));
}

.avatar-pink {
  background-color: var(--bg-avatar-pink, var(--bg-pink-subtle));
  color: var(--text-avatar-pink, var(--text-pink-solid));
}

.avatar-teal {
  background-color: var(--bg-avatar-teal, var(--bg-teal-subtle));
  color: var(--text-avatar-teal, var(--text-teal-solid));
}

.avatar-mint {
  background-color: var(--bg-avatar-mint, var(--bg-mint-subtle));
  color: var(--text-avatar-mint, var(--text-mint-solid));
}

/* Ring tint for semantic (optional) */

.avatar.ring-info {
  -webkit-box-shadow: 0 0 0 2px var(--ring-avatar-info, var(--border-info-subtle));
  box-shadow: 0 0 0 2px var(--ring-avatar-info, var(--border-info-subtle));
}

.avatar.ring-success {
  -webkit-box-shadow: 0 0 0 2px var(--ring-avatar-success, var(--border-success-subtle));
  box-shadow: 0 0 0 2px var(--ring-avatar-success, var(--border-success-subtle));
}

.avatar.ring-warning {
  -webkit-box-shadow: 0 0 0 2px var(--ring-avatar-warning, var(--border-warning-subtle));
  box-shadow: 0 0 0 2px var(--ring-avatar-warning, var(--border-warning-subtle));
}

.avatar.ring-danger {
  -webkit-box-shadow: 0 0 0 2px var(--ring-avatar-danger, var(--border-danger-subtle));
  box-shadow: 0 0 0 2px var(--ring-avatar-danger, var(--border-danger-subtle));
}

/* ==========================================================================
   STATUS BADGE (presence)
   - Place: <span class="avatar-badge badge-online"></span>
   - Optional outline ring: add .avatar-badge-outline
   ========================================================================== */

.avatar-badge {
  position: absolute;
  border-radius: 9999px;
  background-color: var(--bg-avatar-offline, var(--utility-neutral-400));
  -webkit-box-shadow: 0 0 0 2px var(--bg-avatar-badge-ring, var(--bg-avatar, var(--bg-secondary-subtle)));
  box-shadow: 0 0 0 2px var(--bg-avatar-badge-ring, var(--bg-avatar, var(--bg-secondary-subtle)));
}

/* Optional: badge outline instead of ring cutout */

.avatar-badge.avatar-badge-outline {
    -webkit-box-shadow: 0 0 0 2px var(--border-avatar-badge, var(--border-primary));
    box-shadow: 0 0 0 2px var(--border-avatar-badge, var(--border-primary));
  }

/* Badge sizes/position per avatar size */

.avatar.avatar-xs .avatar-badge {
  right: 0px;
  bottom: 0px;
  height: 0.375rem;
  width: 0.375rem;
}

.avatar.avatar-sm .avatar-badge {
  right: 0px;
  bottom: 0px;
  height: 0.5rem;
  width: 0.5rem;
}

.avatar.avatar-md .avatar-badge {
  right: 2px;
  bottom: 0px;
  height: 0.5rem;
  width: 0.5rem;
}

.avatar.avatar-lg .avatar-badge {
  right: 3px;
  bottom: 0px;
  height: 0.625rem;
  width: 0.625rem;
}

.avatar.avatar-xl .avatar-badge {
  right: 4px;
  bottom: 0px;
  height: 0.75rem;
  width: 0.75rem;
}

.avatar.avatar-2xl .avatar-badge {
  right: 5px;
  bottom: 0px;
  height: 0.875rem;
  width: 0.875rem;
}

/* Presence colors */

.avatar-badge.badge-online {
  background-color: var(--bg-avatar-online);
}

.avatar-badge.badge-away {
  background-color: var(--bg-avatar-away);
}

.avatar-badge.badge-busy {
  background-color: var(--bg-avatar-busy);
}

.avatar-badge.badge-ooo {
  background-color: var(--bg-avatar-ooo);
}

.avatar-badge.badge-offline {
  background-color: var(--bg-avatar-offline);
}

/* ==========================================================================
   GROUPS
   ========================================================================== */

.avatar-group {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

/* Overlap/stack */

.avatar-group-stack {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.avatar-group-stack > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(-0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)));
}

.avatar-group-stack .avatar {
    -webkit-box-shadow: 0 0 0 2px var(--ring-avatar-stack, var(--alpha-white-20));
    box-shadow: 0 0 0 2px var(--ring-avatar-stack, var(--alpha-white-20));
  }

/* Tighter stack */

.avatar-group-stack-tight {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.avatar-group-stack-tight > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(-1rem * var(--tw-space-x-reverse));
  margin-left: calc(-1rem * calc(1 - var(--tw-space-x-reverse)));
}

/* Grid style (optional) */

.avatar-group-grid {
  display: grid;
  grid-auto-columns: -webkit-max-content;
  grid-auto-columns: max-content;
  grid-auto-flow: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

/* Overflow pill (+N) */

.avatar-more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-weight: 500;
  line-height: 1;
  color: var(--text-avatar-more, var(--text-secondary));
  background-color: var(--bg-avatar-more, var(--bg-primary-subtle));
  -webkit-box-shadow: 0 0 0 2px var(--ring-avatar-more, var(--border-primary));
  box-shadow: 0 0 0 2px var(--ring-avatar-more, var(--border-primary));
}

.avatar-more.avatar-xs {
  height: 24px;
  width: 24px;
  font-size: 0.625rem;
  line-height: 0.875rem;
}

.avatar-more.avatar-sm {
  height: 32px;
  width: 32px;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.avatar-more.avatar-md {
  height: 38px;
  width: 38px;
  font-size: 0.875rem;
  line-height: 1.5rem;
}

.avatar-more.avatar-lg {
  height: 46px;
  width: 46px;
  font-size: 1.125rem;
  line-height: 2rem;
}

.avatar-more.avatar-xl {
  height: 56px;
  width: 56px;
  font-size: 1.25rem;
  line-height: 2rem;
}

.avatar-more.avatar-2xl {
  height: 72px;
  width: 72px;
  font-size: 1.5rem;
  line-height: 2rem;
  letter-spacing: -0.01em;
}

/* ==========================================================================
   GLASS VARIANT (Reinly-specific)
   ========================================================================== */

/* Glass */

.avatar-glass {
  position: relative;
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  z-index: 0;
  color: var(--text-avatar-glass, var(--alpha-white-100));
  background-color: var(--bg-avatar-glass, var(--alpha-white-20));
  -webkit-box-shadow: 0 0 0 1px var(--ring-avatar-glass, var(--alpha-white-30));
  box-shadow: 0 0 0 1px var(--ring-avatar-glass, var(--alpha-white-30));
}

.avatar-glass::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><filter id='noiseFilter'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23noiseFilter)' opacity='1'/></svg>");
    background-repeat: repeat;
    mix-blend-mode: overlay;
    opacity: var(--opacity-avatar-grain, 0);
    pointer-events: none;
    z-index: 0;
    border-radius: inherit;
  }

.avatar-glass > * {
    position: relative;
    z-index: 1;
  }

/* ==========================================================================
   VERIFIED BADGE (Reinly-specific)
   - Positioned on the parent (e.g. <a> or wrapper) — not inside .avatar
   - Shows a small checkmark icon at bottom-right of the avatar
   ========================================================================== */

.avatar-verified-badge {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
}

.collapse.show.avatar-verified-badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .avatar-verified-badge {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.avatar-verified-badge {
  bottom: -1px;
  right: -1px;
  width: 12px;
  height: 12px;
  font-size: 12px;
  line-height: 1;
  color: var(--utility-blue-500, #3b82f6);
  background: var(--bg-primary, #fff);
  border-radius: 50%;
  pointer-events: none;
  z-index: 2;
}

/* ==========================================================================
   Badges – Complete Component (V2)
   Updates in this version:
   - Outline badges are transparent (no fill), with border + text matching variant
   - Dots reliably render (badge-dot + status-dot support)
   - Dismiss "X" uses the same tone as badge text; hover/active background is tinted per variant
   - Clickable badges (.btn-badge) use variant-aware hover + active shades
   ========================================================================== */

/* ==========================================================================
   BASE BADGE
   ========================================================================== */

.badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 0.25rem;
  -moz-column-gap: 0.25rem;
  column-gap: 0.25rem;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: .75rem;
  letter-spacing: 0.025em;
  color: var(--text-badge);
  background-color: var(--bg-badge);
}

.badge > i,
.badge > [class*="fa-"] {
  color: var(--text-badge-icon, currentColor);
}

.badge-sm {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.badge-pill {
  border-radius: 9999px;
}

/* Alternate surface */

.badge-white {
  background-color: var(--bg-badge-alt);
}

/* ==========================================================================
   DISMISS (CLOSE)
   - X inherits the badge text color
   - Hover/active background uses badge-tinted variables
   ========================================================================== */

.badge > .badge-close {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  margin-right: -0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1.25rem;
  height: 1.25rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  border-radius: 9999px;
}

.collapse.show.badge > .badge-close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .badge > .badge-close {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.badge > .badge-close {
  color: currentColor; /* match badge text tone */
}

.badge .badge-close i {
  padding-top: 1px;
  color: currentColor; /* ensure icon matches text tone */
}

.badge > .badge-close:hover {
  cursor: pointer;
  background-color: var(--bg-badge-close-hover, var(--bg-badge-hover));
}

.badge > .badge-close:active {
  background-color: var(--bg-badge-close-pressed, var(--bg-badge));
}

/* ==========================================================================
   CLICKABLE BADGES (btn-badge)
   - Hover + active use variant-aware colors
   ========================================================================== */

.badge.btn-badge {
  cursor: pointer;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Neutral */

.badge.btn-badge:hover {
    background-color: var(--bg-badge-hover);
  }

.badge.btn-badge:active {
    background-color: var(--bg-badge-pressed, var(--bg-badge-hover));
  }

/* ==========================================================================
   SEMANTIC VARIANTS
   ========================================================================== */

.badge-danger {
  color: var(--text-badge-danger);
  background-color: var(--bg-badge-danger);
}

.badge-warning {
  color: var(--text-badge-warning);
  background-color: var(--bg-badge-warning);
}

.badge-success {
  color: var(--text-badge-success);
  background-color: var(--bg-badge-success);
}

.badge-info {
  color: var(--text-badge-info);
  background-color: var(--bg-badge-info);
}

.badge-indigo {
  color: var(--text-badge-indigo);
  background-color: var(--bg-badge-indigo);
}

.badge-purple {
  color: var(--text-badge-purple);
  background-color: var(--bg-badge-purple);
}

.badge-pink {
  color: var(--text-badge-pink);
  background-color: var(--bg-badge-pink);
}

.badge-teal {
  color: var(--text-badge-teal);
  background-color: var(--bg-badge-teal);
}

.badge-mint {
  color: var(--text-badge-mint);
  background-color: var(--bg-badge-mint);
}

/* ==========================================================================
   OUTLINE BADGES (transparent fill)
   - Border + text match variant tone
   ========================================================================== */

.badge-outline {
  background-color: var(--alpha-0) !important;
  border: 1px solid var(--border-badge, var(--border-primary));
  color: var(--text-badge);
}

.badge-outline.badge-danger {
    border-color: var(--border-badge-danger, var(--text-badge-danger));
    color: var(--text-badge-danger);
  }

.badge-outline.badge-warning {
    border-color: var(--border-badge-warning, var(--text-badge-warning));
    color: var(--text-badge-warning);
  }

.badge-outline.badge-success {
    border-color: var(--border-badge-success, var(--text-badge-success));
    color: var(--text-badge-success);
  }

.badge-outline.badge-info {
    border-color: var(--border-badge-info, var(--text-badge-info));
    color: var(--text-badge-info);
  }

.badge-outline.badge-indigo {
    border-color: var(--border-badge-indigo, var(--text-badge-indigo));
    color: var(--text-badge-indigo);
  }

.badge-outline.badge-purple {
    border-color: var(--border-badge-purple, var(--text-badge-purple));
    color: var(--text-badge-purple);
  }

.badge-outline.badge-pink {
    border-color: var(--border-badge-pink, var(--text-badge-pink));
    color: var(--text-badge-pink);
  }

.badge-outline.badge-teal {
    border-color: var(--border-badge-teal, var(--text-badge-teal));
    color: var(--text-badge-teal);
  }

.badge-outline.badge-mint {
    border-color: var(--border-badge-mint, var(--text-badge-mint));
    color: var(--text-badge-mint);
  }

/* ==========================================================================
   OPTIONAL: GHOST BADGE
   ========================================================================== */

.badge-ghost {
  background-color: var(--alpha-0);
  border: 1px solid var(--alpha-0);
}

/* ==========================================================================
   CLICKABLE SEMANTIC HOVER + ACTIVE
   ========================================================================== */

/* Danger */

.badge-danger.btn-badge:hover {
  background-color: var(--bg-badge-danger-hover);
}

.badge-danger.btn-badge:active {
  background-color: var(--bg-badge-danger-pressed, var(--bg-badge-danger-hover));
}

/* Warning */

.badge-warning.btn-badge:hover {
  background-color: var(--bg-badge-warning-hover);
}

.badge-warning.btn-badge:active {
  background-color: var(--bg-badge-warning-pressed, var(--bg-badge-warning-hover));
}

/* Success */

.badge-success.btn-badge:hover {
  background-color: var(--bg-badge-success-hover);
}

.badge-success.btn-badge:active {
  background-color: var(--bg-badge-success-pressed, var(--bg-badge-success-hover));
}

/* Info */

.badge-info.btn-badge:hover {
  background-color: var(--bg-badge-info-hover);
}

.badge-info.btn-badge:active {
  background-color: var(--bg-badge-info-pressed, var(--bg-badge-info-hover));
}

/* Indigo */

.badge-indigo.btn-badge:hover {
  background-color: var(--bg-badge-indigo-hover);
}

.badge-indigo.btn-badge:active {
  background-color: var(--bg-badge-indigo-pressed, var(--bg-badge-indigo-hover));
}

/* Purple */

.badge-purple.btn-badge:hover {
  background-color: var(--bg-badge-purple-hover);
}

.badge-purple.btn-badge:active {
  background-color: var(--bg-badge-purple-pressed, var(--bg-badge-purple-hover));
}

/* Pink */

.badge-pink.btn-badge:hover {
  background-color: var(--bg-badge-pink-hover);
}

.badge-pink.btn-badge:active {
  background-color: var(--bg-badge-pink-pressed, var(--bg-badge-pink-hover));
}

/* Teal */

.badge-teal.btn-badge:hover {
  background-color: var(--bg-badge-teal-hover);
}

.badge-teal.btn-badge:active {
  background-color: var(--bg-badge-teal-pressed, var(--bg-badge-teal-hover));
}

/* Mint */

.badge-mint.btn-badge:hover {
  background-color: var(--bg-badge-mint-hover);
}

.badge-mint.btn-badge:active {
  background-color: var(--bg-badge-mint-pressed, var(--bg-badge-mint-hover));
}

/* ==========================================================================
   OUTLINE CLICKABLE (tinted hover fill)
   ========================================================================== */

.badge-outline.btn-badge:hover {
  background-color: var(--bg-badge-hover) !important;
}

.badge-outline.badge-danger.btn-badge:hover {
  background-color: var(--bg-badge-danger-hover) !important;
}

.badge-outline.badge-warning.btn-badge:hover {
  background-color: var(--bg-badge-warning-hover) !important;
}

.badge-outline.badge-success.btn-badge:hover {
  background-color: var(--bg-badge-success-hover) !important;
}

.badge-outline.badge-info.btn-badge:hover {
  background-color: var(--bg-badge-info-hover) !important;
}

.badge-outline.badge-indigo.btn-badge:hover {
  background-color: var(--bg-badge-indigo-hover) !important;
}

.badge-outline.badge-purple.btn-badge:hover {
  background-color: var(--bg-badge-purple-hover) !important;
}

.badge-outline.badge-pink.btn-badge:hover {
  background-color: var(--bg-badge-pink-hover) !important;
}

.badge-outline.badge-teal.btn-badge:hover {
  background-color: var(--bg-badge-teal-hover) !important;
}

.badge-outline.badge-mint.btn-badge:hover {
  background-color: var(--bg-badge-mint-hover) !important;
}

/* ==========================================================================
   DISMISS (CLOSE) – VARIANT-TINTED HOVER / PRESSED
   ========================================================================== */

/* Neutral close */

.badge {
  --bg-badge-close-hover: var(--bg-badge-hover);
  --bg-badge-close-pressed: var(--bg-badge-pressed, var(--bg-badge-hover));
}

/* Danger close */

.badge-danger {
  --bg-badge-close-hover: var(--bg-badge-danger-hover);
  --bg-badge-close-pressed: var(--bg-badge-danger-pressed, var(--bg-badge-danger-hover));
}

/* Warning close */

.badge-warning {
  --bg-badge-close-hover: var(--bg-badge-warning-hover);
  --bg-badge-close-pressed: var(--bg-badge-warning-pressed, var(--bg-badge-warning-hover));
}

/* Success close */

.badge-success {
  --bg-badge-close-hover: var(--bg-badge-success-hover);
  --bg-badge-close-pressed: var(--bg-badge-success-pressed, var(--bg-badge-success-hover));
}

/* Info close */

.badge-info {
  --bg-badge-close-hover: var(--bg-badge-info-hover);
  --bg-badge-close-pressed: var(--bg-badge-info-pressed, var(--bg-badge-info-hover));
}

/* Indigo close */

.badge-indigo {
  --bg-badge-close-hover: var(--bg-badge-indigo-hover);
  --bg-badge-close-pressed: var(--bg-badge-indigo-pressed, var(--bg-badge-indigo-hover));
}

/* Purple close */

.badge-purple {
  --bg-badge-close-hover: var(--bg-badge-purple-hover);
  --bg-badge-close-pressed: var(--bg-badge-purple-pressed, var(--bg-badge-purple-hover));
}

/* Pink close */

.badge-pink {
  --bg-badge-close-hover: var(--bg-badge-pink-hover);
  --bg-badge-close-pressed: var(--bg-badge-pink-pressed, var(--bg-badge-pink-hover));
}

/* Teal close */

.badge-teal {
  --bg-badge-close-hover: var(--bg-badge-teal-hover);
  --bg-badge-close-pressed: var(--bg-badge-teal-pressed, var(--bg-badge-teal-hover));
}

/* Mint close */

.badge-mint {
  --bg-badge-close-hover: var(--bg-badge-mint-hover);
  --bg-badge-close-pressed: var(--bg-badge-mint-pressed, var(--bg-badge-mint-hover));
}

/* Outline close should still tint correctly on hover */

.badge-outline {
  --bg-badge-close-hover: var(--bg-badge-hover);
  --bg-badge-close-pressed: var(--bg-badge-pressed, var(--bg-badge-hover));
}

.badge-outline.badge-danger {
    --bg-badge-close-hover: var(--bg-badge-danger-hover);
    --bg-badge-close-pressed: var(--bg-badge-danger-pressed, var(--bg-badge-danger-hover));
  }

.badge-outline.badge-warning {
    --bg-badge-close-hover: var(--bg-badge-warning-hover);
    --bg-badge-close-pressed: var(--bg-badge-warning-pressed, var(--bg-badge-warning-hover));
  }

.badge-outline.badge-success {
    --bg-badge-close-hover: var(--bg-badge-success-hover);
    --bg-badge-close-pressed: var(--bg-badge-success-pressed, var(--bg-badge-success-hover));
  }

.badge-outline.badge-info {
    --bg-badge-close-hover: var(--bg-badge-info-hover);
    --bg-badge-close-pressed: var(--bg-badge-info-pressed, var(--bg-badge-info-hover));
  }

.badge-outline.badge-indigo {
    --bg-badge-close-hover: var(--bg-badge-indigo-hover);
    --bg-badge-close-pressed: var(--bg-badge-indigo-pressed, var(--bg-badge-indigo-hover));
  }

.badge-outline.badge-purple {
    --bg-badge-close-hover: var(--bg-badge-purple-hover);
    --bg-badge-close-pressed: var(--bg-badge-purple-pressed, var(--bg-badge-purple-hover));
  }

.badge-outline.badge-pink {
    --bg-badge-close-hover: var(--bg-badge-pink-hover);
    --bg-badge-close-pressed: var(--bg-badge-pink-pressed, var(--bg-badge-pink-hover));
  }

.badge-outline.badge-teal {
    --bg-badge-close-hover: var(--bg-badge-teal-hover);
    --bg-badge-close-pressed: var(--bg-badge-teal-pressed, var(--bg-badge-teal-hover));
  }

.badge-outline.badge-mint {
    --bg-badge-close-hover: var(--bg-badge-mint-hover);
    --bg-badge-close-pressed: var(--bg-badge-mint-pressed, var(--bg-badge-mint-hover));
  }

/* ==========================================================================
   NOTIFICATION BADGES
   ========================================================================== */

.badge-notification,
.badge-notification-inline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  min-width: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -webkit-column-gap: 0.375rem;
  -moz-column-gap: 0.375rem;
  column-gap: 0.375rem;
  border-radius: 9999px;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  line-height: 1;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.wizard-card--trait .badge-notification,.wizard-card--trait 
.badge-notification-inline {
  line-height: 1.3;
}

.badge-notification,
.badge-notification-inline {
  color: var(--text-badge-notification);
  background-color: var(--bg-badge-notification);
}

.badge-notification .count,
  .badge-notification-inline .count {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  letter-spacing: -0.025em;
}

.wizard-card--trait .badge-notification .count,.wizard-card--trait 
  .badge-notification-inline .count {
  line-height: 1.3;
}

.badge-notification .count,
  .badge-notification-inline .count {
    color: var(--text-badge-notification);
  }

.badge-notification-dot {
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 9999px;
  background-color: var(--bg-badge-notification);
}

/* ==========================================================================
   STATUS (label + dot)
   - Use: <span class="badge-status"><span class="status-dot success"></span>Online</span>
   ========================================================================== */

.badge-status {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 0.375rem;
  -moz-column-gap: 0.375rem;
  column-gap: 0.375rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-primary);
}

.status-dot,
.status-dot-sm {
  width: 0.25rem;
  height: 0.25rem;
  -ms-flex-item-align: center;
  align-self: center;
  border-radius: 9999px;
  background-color: var(--dot-light);
}

/* ==========================================================================
   BADGE DOT (pill badge with colored dot)
   - Use: <span class="badge-dot"><span class="success"></span>Active</span>
   ========================================================================== */

.badge-dot {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 0.375rem;
  -moz-column-gap: 0.375rem;
  column-gap: 0.375rem;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.625rem;
  font-weight: 500;
  line-height: .75rem;
  color: var(--text-primary);
  background-color: var(--bg-primary);
}

.badge-dot .light,
  .status-dot.light {
    background-color: var(--dot-light);
  }

.badge-dot .danger,
  .status-dot.danger {
    background-color: var(--dot-danger);
  }

.badge-dot .warning,
  .status-dot.warning {
    background-color: var(--dot-warning);
  }

.badge-dot .success,
  .status-dot.success {
    background-color: var(--dot-success);
  }

.badge-dot .info,
  .status-dot.info {
    background-color: var(--dot-info);
  }

.badge-dot .indigo,
  .status-dot.indigo {
    background-color: var(--dot-indigo);
  }

.badge-dot .purple,
  .status-dot.purple {
    background-color: var(--dot-purple);
  }

.badge-dot .pink,
  .status-dot.pink {
    background-color: var(--dot-pink);
  }

.badge-dot .teal,
  .status-dot.teal {
    background-color: var(--dot-teal);
  }

.badge-dot .mint,
  .status-dot.mint {
    background-color: var(--dot-mint);
  }

/* ==========================================================================
   ICON BADGE — Decorative icon container with tinted background
   Usage: <span class="icon-badge icon-badge-info"><i class="fa-light fa-user"></i></span>
   ========================================================================== */

/* ==========================================================================
   BASE
   ========================================================================== */

.icon-badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.5rem;
  /* Default: neutral */
  background-color: var(--bg-primary-subtle);
  color: var(--text-secondary);
}

.icon-badge > i,
.icon-badge > [class*="fa-"] {
  color: inherit;
}

/* ==========================================================================
   SIZES
   ========================================================================== */

.icon-badge-xs {
  width: 1.25rem;
  height: 1.25rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  border-radius: var(--radius-sm, 0.25rem);
}

.icon-badge-sm {
  width: 1.5rem;
  height: 1.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .icon-badge-sm {
  line-height: 1.3;
}

.icon-badge-md {
  width: 2rem;
  height: 2rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.icon-badge-lg {
  width: 2.5rem;
  height: 2.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
}

.icon-badge-xl {
  width: 3rem;
  height: 3rem;
  font-size: 1.125rem;
  line-height: 2rem;
}

/* ==========================================================================
   COLOR VARIANTS — Use semantic tokens
   ========================================================================== */

.icon-badge-info {
  background-color: var(--bg-info-subtle);
  color: var(--text-info);
}

.icon-badge-success {
  background-color: var(--bg-success-subtle);
  color: var(--text-success);
}

.icon-badge-warning {
  background-color: var(--bg-warning-subtle);
  color: var(--text-warning);
}

.icon-badge-danger {
  background-color: var(--bg-danger-subtle);
  color: var(--text-danger);
}

.icon-badge-purple {
  background-color: var(--bg-purple-subtle);
  color: var(--text-purple);
}

.icon-badge-indigo {
  background-color: var(--bg-indigo-subtle);
  color: var(--text-indigo);
}

.icon-badge-pink {
  background-color: var(--bg-pink-subtle);
  color: var(--text-pink);
}

.icon-badge-neutral {
  background-color: var(--bg-primary-subtle);
  color: var(--text-secondary);
}

/* =========================================
   Component: Calendar Schedule
   A reusable week/day calendar grid with
   sticky headers, time axis, and event blocks.

   Sections:
     A) Root layout, tokens, elevated variant
     B) Topbar, viewport, corner
     C) Day headers, time axis
     D) Grid, background lines, now indicator
     E) Events layer (absolute-position mode)
     F) View variants  (data-calendar-view)
     G) Density variants (compact / cozy)
     H) Grid / visual variants
     I) Snap / scroll hooks
     J) Today column + crosshair overlays
     K) All-day row
     L) Event semantic variants + states
     M) Loading + empty states
       N) Stacked slot variant (auto-grow cells)
       O) Frame layout + carousel scroll-snap
       P) Now Indicator variants (Y-axis + X-axis)
     ========================================= */

/* =========================================
   A) Root layout, tokens, elevated variant
   ========================================= */

.calendar-schedule {
  --_h-day-header: var(--h-calendar-schedule-day-header, 48px);
  --_w-time-axis:  var(--w-calendar-schedule-time-axis, 56px);
  --_h-hour:       var(--h-calendar-schedule-hour, 64px);
  --_w-day:        var(--w-calendar-schedule-day, 180px);
  --_day-count:    var(--calendar-schedule-day-count, 7);
  --_gap:          var(--gap-calendar-schedule, 0px);

  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  background: var(--bg-calendar-schedule, var(--canvas-secondary));
  color: var(--text-calendar-schedule, var(--text-primary));
  overflow: hidden;
}

/* Elevated variant */

.calendar-schedule--elevated {
  border: 1px solid var(--border-calendar-schedule, var(--border-tertiary));
  border-radius: var(--radius-calendar-schedule, 0.5rem);
  -webkit-box-shadow: var(--shadow-calendar-schedule);
  box-shadow: var(--shadow-calendar-schedule);
}

/* Muted variant — tinted surface for headers and time axis */

.calendar-schedule--muted {
  --bg-calendar-schedule-surface: var(--bg-calendar-schedule-muted, var(--canvas-tertiary));
}

/* Dashed indicator lines variant — applies to both */

.calendar-schedule--dashed .calendar-schedule__now::after {
  background: repeating-linear-gradient(
    to right,
    var(--_now-line) 0,
    var(--_now-line) 4px,
    transparent 4px,
    transparent 8px
  );
}

.calendar-schedule--dashed .calendar-schedule__today-line,
.calendar-schedule--today-dashed .calendar-schedule__today-line {
  background: repeating-linear-gradient(
    to bottom,
    var(--_now-line) 0,
    var(--_now-line) 4px,
    transparent 4px,
    transparent 8px
  );
}

/* Now-line only dashed */

.calendar-schedule--now-dashed .calendar-schedule__now::after {
  background: repeating-linear-gradient(
    to right,
    var(--_now-line) 0,
    var(--_now-line) 4px,
    transparent 4px,
    transparent 8px
  );
}

/* Indicator line thickness variants
   Default is 1px. Apply on root alongside --dashed if desired. */

.calendar-schedule--line-thin .calendar-schedule__now::after   { height: 1px; }

.calendar-schedule--line-thin .calendar-schedule__today-line   { width: 1px; }

.calendar-schedule--line-md .calendar-schedule__now::after     { height: 2px; }

.calendar-schedule--line-md .calendar-schedule__today-line     { width: 2px; }

.calendar-schedule--line-bold .calendar-schedule__now::after   { height: 3px; }

.calendar-schedule--line-bold .calendar-schedule__today-line   { width: 3px; }

/* =========================================
   B) Topbar, viewport, corner
   ========================================= */

.calendar-schedule__topbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.calendar-schedule__topbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .calendar-schedule__topbar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-schedule__topbar {
  border-bottom: 1px solid var(--border-calendar-schedule, var(--border-tertiary));
}

.calendar-schedule__viewport {
  display: grid;
  grid-template-columns: var(--_w-time-axis) 1fr;
  grid-template-rows: var(--_h-day-header) 1fr;
  overflow: auto;
  position: relative;
  scrollbar-width: thin;
  scrollbar-color: var(--scroll-thumb) var(--scroll-track);
}

/* Snap-to-day variant */

.calendar-schedule[data-calendar-snap="day"] .calendar-schedule__viewport {
  -ms-scroll-snap-type: x mandatory;
  scroll-snap-type: x mandatory;
}

.calendar-schedule__corner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 1rem;
  padding-right: 1rem;
}

.collapse.show.calendar-schedule__corner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .calendar-schedule__corner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-schedule__corner {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 30;
  width: var(--_w-time-axis);
  height: var(--_h-day-header);
  background: var(--bg-calendar-schedule-surface, var(--canvas-secondary));
  border-bottom: 1px solid var(--border-calendar-schedule, var(--border-tertiary));
  border-right: 1px solid var(--border-calendar-schedule, var(--border-tertiary));
}

.calendar-schedule__corner-label {
  font-size: 10px;
  font-weight: 500;
  color: var(--text-calendar-schedule, var(--text-tertiary));
}

/* =========================================
   C) Day headers, time axis
   ========================================= */

.calendar-schedule__days {
  position: sticky;
  top: 0;
  z-index: 20;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: var(--bg-calendar-schedule-surface, var(--canvas-secondary));
  border-bottom: 1px solid var(--border-calendar-schedule, var(--border-tertiary));
}

.calendar-schedule__day {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.collapse.show.calendar-schedule__day {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .calendar-schedule__day {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .calendar-schedule__day {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-schedule__day {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0;
  min-width: 0;
  color: var(--text-calendar-schedule, var(--text-secondary));
  scroll-snap-align: start;
}

.calendar-schedule__day.is-today {
  color: var(--text-primary);
}

/* Today date number — bold, inherits primary text color
   (The today-x dot indicator is defined in section P below) */

.calendar-schedule__day.is-today .calendar-schedule__day-num {
  font-weight: 600;
}

.calendar-schedule__times {
  position: sticky;
  left: 0;
  z-index: 10;
  width: var(--_w-time-axis);
  background: var(--bg-calendar-schedule-surface, var(--canvas-secondary));
  border-right: 1px solid var(--border-calendar-schedule, var(--border-tertiary));
}

.calendar-schedule__time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding-right: 0.5rem;
  font-size: 10px;
  font-weight: 500;
}

.collapse.show.calendar-schedule__time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .calendar-schedule__time {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-schedule__time {
  height: var(--_h-hour);
  color: var(--text-calendar-schedule, var(--text-tertiary));
  -webkit-transform: translateY(-0.5em);
  -ms-transform: translateY(-0.5em);
  transform: translateY(-0.5em);
}

/* =========================================
   D) Grid, background lines, now indicator
   ========================================= */

.calendar-schedule__grid {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

/* Background lines */

.calendar-schedule__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    repeating-linear-gradient(
      to bottom,
      var(--border-calendar-schedule, var(--border-tertiary)) 0,
      var(--border-calendar-schedule, var(--border-tertiary)) 1px,
      transparent 1px,
      transparent var(--_h-hour)
    ),
    linear-gradient(
      to right,
      var(--border-calendar-schedule, var(--border-tertiary)) 0,
      var(--border-calendar-schedule, var(--border-tertiary)) 1px,
      transparent 1px
    );
  background-size: 100% auto, calc(100% / var(--_day-count, 7)) 100%;
}

/* Now indicator (Y-axis) – toggle via .calendar-schedule--now-y */

.calendar-schedule__now {
  position: absolute;
  left: 0;
  right: 0;
  top: var(--now-y);
  z-index: 5;
  height: 0;
  pointer-events: none;
  display: none;
}

/* Drift smoothly between 30 s JS updates — only after first placement */

.calendar-schedule.is-now-ready .calendar-schedule__now {
  -webkit-transition: top 30s linear;
  transition: top 30s linear;
}

/* Show via toggle class or backward-compat attribute */

.calendar-schedule--now-y .calendar-schedule__now,
.calendar-schedule .calendar-schedule__now[data-calendar-now] {
  display: block;
}

/* Dot */

.calendar-schedule__now::before {
  content: '';
  position: absolute;
  left: -4px;
  top: -5px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--_now-dot);
}

/* Translucent line */

.calendar-schedule__now::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: var(--_now-line);
  opacity: 0.7;
}

/* =========================================
   E) Events layer (absolute-position mode)
   ========================================= */

.calendar-schedule__events {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.calendar-schedule__event {
  position: absolute;
  left: calc(var(--day, 0) * (100% / var(--_day-count, 7)) + 4px);
  top: calc(var(--start, 0) * var(--_h-hour));
  width: calc(100% / var(--_day-count, 7) - 8px);
  height: calc(var(--dur, 1) * var(--_h-hour));
  pointer-events: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.125rem;
  overflow: hidden;
  border-radius: 0.375rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.collapse.show.calendar-schedule__event {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .calendar-schedule__event {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .calendar-schedule__event {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-schedule__event {
  background: var(--bg-calendar-schedule-event);
  border-left: 3px solid var(--border-calendar-schedule-event);
  color: var(--text-calendar-schedule-event);
  -webkit-transition: background 0.15s ease, -webkit-box-shadow 0.15s ease, -webkit-transform 0.15s ease;
  transition: background 0.15s ease, -webkit-box-shadow 0.15s ease, -webkit-transform 0.15s ease;
  transition: box-shadow 0.15s ease, background 0.15s ease, transform 0.15s ease;
  transition: box-shadow 0.15s ease, background 0.15s ease, transform 0.15s ease, -webkit-box-shadow 0.15s ease, -webkit-transform 0.15s ease;
}

.calendar-schedule__event:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  background: var(--bg-calendar-event-hover);
  -webkit-transform: translateY(-1px);
  -ms-transform: translateY(-1px);
  transform: translateY(-1px);
  z-index: 4;
}

.calendar-schedule__event-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
}

.calendar-schedule__event-meta {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0.7;
}

.calendar-schedule__event-time {
  font-size: 10px;
  opacity: 0.5;
}

.calendar-schedule__event-badge {
  margin-top: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-item-align: start;
  align-self: flex-start;
  border-radius: 0.25rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 1px;
  padding-bottom: 1px;
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  background: var(--border-calendar-schedule-event);
  color: #fff;
}

/* =========================================
   F) View variants (data-calendar-view)
   ========================================= */

/* Day view — single column */

.calendar-schedule[data-calendar-view="day"] {
  --_day-count: 1;
}

/* Work-week — 5 columns */

.calendar-schedule[data-calendar-view="workweek"] {
  --_day-count: 5;
}

/* Week — 7 columns (default) */

.calendar-schedule[data-calendar-view="week"] {
  --_day-count: 7;
}

/* Multi-day — driven by external --days-visible */

.calendar-schedule[data-calendar-view="multiday"] {
  --_day-count: var(--days-visible, 3);
}

/* Resources — column per resource */

.calendar-schedule[data-calendar-view="resources"] {
  --_day-count: var(--resources-visible, 4);
}

/* Dynamic day widths using clamp */

.calendar-schedule[data-calendar-view] .calendar-schedule__day {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0;
  min-width: var(--w-calendar-schedule-day-min, 80px);
  max-width: var(--w-calendar-schedule-day-max, none);
}

/* =========================================
   G) Density variants
   ========================================= */

/* Compact */

.calendar-schedule--compact {
  --_h-day-header: 36px;
  --_w-time-axis: 44px;
  --_h-hour: 44px;
}

.calendar-schedule--compact .calendar-schedule__topbar {
  gap: 0.25rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.calendar-schedule--compact .calendar-schedule__event {
  gap: 0px;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  font-size: 10px;
}

.calendar-schedule--compact .calendar-schedule__time {
  padding-right: 0.25rem;
  font-size: 9px;
}

.calendar-schedule--compact .calendar-schedule__day {
  font-size: 10px;
}

/* Cozy */

.calendar-schedule--cozy {
  --_h-day-header: 56px;
  --_w-time-axis: 64px;
  --_h-hour: 80px;
}

.calendar-schedule--cozy .calendar-schedule__topbar {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.calendar-schedule--cozy .calendar-schedule__event {
  gap: 0.25rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .calendar-schedule--cozy .calendar-schedule__event {
  line-height: 1.3;
}

.calendar-schedule--cozy .calendar-schedule__time {
  padding-right: 0.75rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .calendar-schedule--cozy .calendar-schedule__time {
  line-height: 1.3;
}

.calendar-schedule--cozy .calendar-schedule__day {
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

/* =========================================
   H) Grid / visual variants
   ========================================= */

/* Soft grid — lighter border */

.calendar-schedule--grid-soft .calendar-schedule__bg {
  opacity: 0.4;
}

/* Soft grid — subtler cell borders in stack mode */

.calendar-schedule--grid-soft .calendar-schedule__cell,
.calendar-schedule--grid-soft .calendar-schedule__cell-time {
  border-color: var(--border-calendar-schedule-soft, var(--border-tertiary));
}

/* Strong grid — opaque border */

.calendar-schedule--grid-strong .calendar-schedule__bg {
  opacity: 1;
  background-image:
    repeating-linear-gradient(
      to bottom,
      var(--border-calendar-schedule, var(--border-tertiary)) 0,
      var(--border-calendar-schedule, var(--border-tertiary)) 1px,
      transparent 1px,
      transparent var(--_h-hour)
    ),
    linear-gradient(
      to right,
      var(--border-calendar-schedule, var(--border-tertiary)) 0,
      var(--border-calendar-schedule, var(--border-tertiary)) 2px,
      transparent 2px
    );
  background-size: 100% auto, calc(100% / var(--_day-count, 7)) 100%;
}

/* Striped hours — alternating hour shading */

.calendar-schedule--striped-hours .calendar-schedule__grid::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    repeating-linear-gradient(
      to bottom,
      transparent 0,
      transparent var(--_h-hour),
      var(--bg-calendar-schedule-hour-stripe, rgba(0,0,0,0.02)) var(--_h-hour),
      var(--bg-calendar-schedule-hour-stripe, rgba(0,0,0,0.02)) calc(var(--_h-hour) * 2)
    );
}

/* Working hours — shade outside working range */

.calendar-schedule--working-hours .calendar-schedule__grid::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  z-index: 0;
  pointer-events: none;
  /* Top region (before work start) */
  top: 0;
  height: calc(var(--work-start, 2) * var(--_h-hour));
  background: var(--bg-calendar-schedule-nonworking-hours, rgba(0,0,0,0.03));
}

/* Bottom non-working region via sentinel element */

.calendar-schedule--working-hours .calendar-schedule__grid-nonwork-end {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 0;
  pointer-events: none;
  top: calc(var(--work-end, 12) * var(--_h-hour));
  bottom: 0;
  background: var(--bg-calendar-schedule-nonworking-hours, rgba(0,0,0,0.03));
}

/* Weekend dim */

.calendar-schedule--weekend-dim .calendar-schedule__day.is-weekend {
  background: var(--bg-calendar-schedule-weekend, rgba(0,0,0,0.02));
}

/* Weekend column overlay in grid */

.calendar-schedule--weekend-dim .calendar-schedule__weekend-overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 0;
  pointer-events: none;
  background: var(--bg-calendar-schedule-weekend, rgba(0,0,0,0.02));
}

/* Header shadow on scroll */

.calendar-schedule.is-scrolled .calendar-schedule__days {
  -webkit-box-shadow: var(--shadow-calendar-schedule-header);
  box-shadow: var(--shadow-calendar-schedule-header);
}

.calendar-schedule.is-scrolled .calendar-schedule__corner {
  -webkit-box-shadow: var(--shadow-calendar-schedule-header);
  box-shadow: var(--shadow-calendar-schedule-header);
}

/* =========================================
   I) Snap / scroll variant hooks
   ========================================= */

.calendar-schedule[data-calendar-snap="15m"] .calendar-schedule__viewport {
  -ms-scroll-snap-type: y proximity;
  scroll-snap-type: y proximity;
}

.calendar-schedule[data-calendar-snap="30m"] .calendar-schedule__viewport {
  -ms-scroll-snap-type: y proximity;
  scroll-snap-type: y proximity;
}

.calendar-schedule[data-calendar-snap="60m"] .calendar-schedule__viewport {
  -ms-scroll-snap-type: y mandatory;
  scroll-snap-type: y mandatory;
}

/* Infinite scroll sentinels (hook for future JS) */

.calendar-schedule[data-calendar-infinite="true"] .calendar-schedule__sentinel {
  position: absolute;
  width: 1px;
  height: 100%;
  pointer-events: none;
  visibility: hidden;
}

.calendar-schedule__sentinel--start { left: 0; }

.calendar-schedule__sentinel--end   { right: 0; }

/* =========================================
   J) Today column + crosshair overlays
   ========================================= */

/* Today column stripe in grid body */

.calendar-schedule__today-col {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
  left: calc(var(--today-index, -1) * (100% / var(--_day-count, 7)));
  width: calc(100% / var(--_day-count, 7));
  background: var(--bg-calendar-schedule-today-col, rgba(59,130,246,0.04));
}

/* Hide when index is negative (no today visible) */

.calendar-schedule__today-col[style*="--today-index:-"] {
  display: none;
}

/* Now line label (optional) */

.calendar-schedule__now-label {
  position: absolute;
  right: 4px;
  top: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 0.25rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  font-size: 9px;
  font-weight: 600;
  background: var(--_now-dot);
  color: var(--alpha-white-100);
  white-space: nowrap;
  z-index: 1;
}

/* Crosshair overlays */

.calendar-schedule--crosshair .calendar-schedule__crosshair-x,
.calendar-schedule--crosshair .calendar-schedule__crosshair-y {
  position: absolute;
  pointer-events: none;
  z-index: 4;
}

.calendar-schedule--crosshair .calendar-schedule__crosshair-x {
  top: var(--hover-y, -999px);
  left: 0;
  right: 0;
  height: 1px;
  background: var(--border-calendar-schedule-now, var(--bg-info-solid));
  opacity: 0.25;
}

.calendar-schedule--crosshair .calendar-schedule__crosshair-y {
  left: var(--hover-x, -999px);
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--border-calendar-schedule-now, var(--bg-info-solid));
  opacity: 0.25;
}

/* =========================================
   K) All-day row
   ========================================= */

.calendar-schedule__allday {
  position: sticky;
  top: var(--_h-day-header);
  z-index: 15;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: var(--bg-calendar-schedule-surface, var(--canvas-secondary));
  border-bottom: 1px solid var(--border-calendar-schedule, var(--border-tertiary));
  grid-column: 1 / -1;
}

.calendar-schedule__allday-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding-right: 0.5rem;
  font-size: 10px;
  font-weight: 500;
}

.collapse.show.calendar-schedule__allday-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .calendar-schedule__allday-label {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-schedule__allday-label {
  position: sticky;
  left: 0;
  width: var(--_w-time-axis);
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: var(--text-calendar-schedule, var(--text-tertiary));
  background: var(--bg-calendar-schedule-surface, var(--canvas-secondary));
  border-right: 1px solid var(--border-calendar-schedule, var(--border-tertiary));
  z-index: 1;
}

.calendar-schedule__allday-lanes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0;
  min-width: 0;
  min-height: 28px;
  position: relative;
}

.calendar-schedule__allday-lane {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.125rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.collapse.show.calendar-schedule__allday-lane {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .calendar-schedule__allday-lane {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-schedule__allday-event {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 0.25rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 1px;
  padding-bottom: 1px;
  font-size: 10px;
  font-weight: 500;
  background: var(--bg-calendar-schedule-event);
  border-left: 2px solid var(--border-calendar-schedule-event);
  color: var(--text-calendar-schedule-event);
  max-width: 100%;
  -webkit-transition: background 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: background 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: background 0.15s ease, box-shadow 0.15s ease;
  transition: background 0.15s ease, box-shadow 0.15s ease, -webkit-box-shadow 0.15s ease;
}

.calendar-schedule__allday-event:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  background: var(--bg-calendar-event-hover);
}

/* Viewport with all-day row adjusts grid rows */

.calendar-schedule__viewport:has(.calendar-schedule__allday) {
  grid-template-rows: var(--_h-day-header) auto 1fr;
}

/* =========================================
   L) Event semantic variants + states
   ========================================= */

/* --- Semantic variants --- */

.calendar-schedule__event.is-primary {
  background: var(--bg-calendar-event-primary);
  border-left-color: var(--border-calendar-event-primary);
}

.calendar-schedule__event.is-success {
  background: var(--bg-calendar-event-success);
  border-left-color: var(--border-calendar-event-success);
}

.calendar-schedule__event.is-warning {
  background: var(--bg-calendar-event-warning);
  border-left-color: var(--border-calendar-event-warning);
}

.calendar-schedule__event.is-danger {
  background: var(--bg-calendar-event-danger);
  border-left-color: var(--border-calendar-event-danger);
}

.calendar-schedule__event.is-info {
  background: var(--bg-calendar-event-primary);
  border-left-color: var(--border-calendar-event-primary);
}

.calendar-schedule__event.is-neutral {
  background: var(--bg-calendar-event-neutral);
  border-left-color: var(--border-calendar-event-neutral);
}

/* Semantic hover overrides */

.calendar-schedule__event.is-primary:hover,
.calendar-schedule__event.is-info:hover {
  background: var(--bg-calendar-event-primary-hover);
}

.calendar-schedule__event.is-success:hover {
  background: var(--bg-calendar-event-success-hover);
}

.calendar-schedule__event.is-warning:hover {
  background: var(--bg-calendar-event-warning-hover);
}

.calendar-schedule__event.is-danger:hover {
  background: var(--bg-calendar-event-danger-hover);
}

.calendar-schedule__event.is-neutral:hover {
  background: var(--bg-calendar-event-neutral-hover);
}

/* --- Plain variant (no status bar) --- */

.calendar-schedule__event--plain {
  border-left: none;
}

.calendar-schedule__allday-event--plain {
  border-left: none;
}

/* --- State classes --- */

/* Selected */

.calendar-schedule__event.is-selected {
  -webkit-box-shadow: var(--shadow-calendar-event-selected);
  box-shadow: var(--shadow-calendar-event-selected);
  z-index: 6;
}

/* Dragging */

.calendar-schedule__event.is-dragging {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  opacity: 0.85;
  z-index: 50;
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* Resizing */

.calendar-schedule__event.is-resizing {
  opacity: 0.9;
  z-index: 50;
  cursor: ns-resize;
}

/* Ghost (drag placeholder) */

.calendar-schedule__event.is-ghost {
  opacity: 0.35;
  border-style: dashed;
  pointer-events: none;
}

/* Blocked */

.calendar-schedule__event.is-blocked {
  background: repeating-linear-gradient(
    135deg,
    transparent,
    transparent 4px,
    rgba(0,0,0,0.04) 4px,
    rgba(0,0,0,0.04) 8px
  );
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

/* Read-only */

.calendar-schedule__event.is-readonly {
  cursor: default;
  opacity: 0.7;
}

.calendar-schedule__event.is-readonly:hover {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

/* Conflict — pulse ring */

.calendar-schedule__event.is-conflict {
  -webkit-box-shadow: var(--shadow-calendar-event-selected), var(--shadow-calendar-event);
  box-shadow: var(--shadow-calendar-event-selected), var(--shadow-calendar-event);
  z-index: 6;
}

/* --- Resize handles --- */

.calendar-schedule__event-handle--top,
.calendar-schedule__event-handle--bottom {
  position: absolute;
  left: 0;
  right: 0;
  height: 6px;
  cursor: ns-resize;
  opacity: 0;
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
  z-index: 2;
}

.calendar-schedule__event-handle--top {
  top: 0;
  border-radius: 6px 6px 0 0;
}

.calendar-schedule__event-handle--bottom {
  bottom: 0;
  border-radius: 0 0 6px 6px;
}

.calendar-schedule__event:hover .calendar-schedule__event-handle--top,
.calendar-schedule__event:hover .calendar-schedule__event-handle--bottom,
.calendar-schedule__event:focus-within .calendar-schedule__event-handle--top,
.calendar-schedule__event:focus-within .calendar-schedule__event-handle--bottom {
  opacity: 1;
  background: var(--border-calendar-schedule-event);
}

/* --- Focus-visible accessibility --- */

.calendar-schedule__event:focus-visible {
  outline: 2px solid var(--outline-calendar-schedule-focus);
  outline-offset: 1px;
  -webkit-box-shadow: var(--ring-calendar-event-focus);
  box-shadow: var(--ring-calendar-event-focus);
  z-index: 6;
}

/* =========================================
   M) Loading + empty states
   ========================================= */

/* Empty state */

.calendar-schedule__empty {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 2rem;
  text-align: center;
}

.collapse.show.calendar-schedule__empty {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .calendar-schedule__empty {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-schedule__empty {
  color: var(--text-calendar-schedule, var(--text-tertiary));
  grid-column: 1 / -1;
  grid-row: 2 / -1;
}

.calendar-schedule__empty-icon {
  font-size: 1.75rem;
  line-height: 2.5rem;
  letter-spacing: -0.01em;
  opacity: 0.3;
}

.calendar-schedule__empty-title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 600;
}

.calendar-schedule__empty-desc {
  font-size: 0.75rem;
  line-height: 1rem;
  opacity: 0.6;
}

.wizard-card--trait .calendar-schedule__empty-desc {
  line-height: 1.3;
}

/* Skeleton shimmer */

@-webkit-keyframes calendar-shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

@keyframes calendar-shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.calendar-schedule__skeleton {
  position: relative;
  overflow: hidden;
}

.calendar-schedule__skeleton .calendar-schedule__events {
  display: none;
}

.calendar-schedule__skeleton .calendar-schedule__bg::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--bg-calendar-schedule-surface, rgba(255,255,255,0.4)) 40%,
    transparent 80%
  );
  background-size: 200% 100%;
  -webkit-animation: calendar-shimmer 1.5s ease-in-out infinite;
  animation: calendar-shimmer 1.5s ease-in-out infinite;
}

.calendar-schedule__skeleton-bar {
  position: absolute;
  border-radius: 0.25rem;
  background: var(--bg-calendar-schedule-hour-stripe, rgba(0,0,0,0.04));
  pointer-events: none;
}

/* =========================================
   N) Stacked slot variant (auto-grow cells)
   Activated via data-calendar-events="stack".
   Replaces absolute-position events with a
   CSS Grid of slot cells that auto-grow to
   fit stacked appointment cards.
   ========================================= */

/* --- Root tokens for stack mode --- */

.calendar-schedule[data-calendar-events="stack"] {
  --_h-slot: var(--h-calendar-schedule-slot, 64px);
  --_gap-slot: var(--gap-calendar-schedule-slot, 4px);
  --_slot-max: var(--h-calendar-slot-max, none);
}

/* --- Hide the absolute-position events layer in stack mode --- */

.calendar-schedule[data-calendar-events="stack"] .calendar-schedule__events {
  display: none;
}

/* --- Hide gradient bg lines (cell borders take over) --- */

.calendar-schedule[data-calendar-events="stack"] .calendar-schedule__bg {
  background-image: none;
}

/*
 * FIX: Force auto height on the grid container in stack mode.
 * The absolute-position calendar uses a fixed inline `height`
 * (e.g. calc(12 * var(--_h-hour))).  When stack mode is toggled on,
 * that fixed height constrains the cells grid and prevents rows
 * from growing — causing cards to overlay instead of stacking.
 * `!important` is required to override the inline style.
 */

.calendar-schedule[data-calendar-events="stack"] .calendar-schedule__grid {
  height: auto !important;
  grid-column: 1 / -1;
}

/* Stack mode: hide standalone time axis — time labels are integrated
   into the cells grid so that label rows and day-cell rows share the
   same grid-row tracks and grow together (auto-grow alignment). */

.calendar-schedule[data-calendar-events="stack"] .calendar-schedule__times {
  display: none;
}

/* --- Cells grid container --- */

.calendar-schedule__cells {
  display: none;
}

.calendar-schedule[data-calendar-events="stack"] .calendar-schedule__cells {
  display: grid;
  grid-template-columns: var(--_w-time-axis) repeat(var(--_day-count, 7), 1fr);
  grid-auto-rows: minmax(var(--_h-slot), auto);
  position: relative;
  z-index: 3;
  width: 100%;
}

/* --- Row wrapper (optional, for explicit slot rows) --- */

.calendar-schedule__row {
  display: contents;
}

/* --- Individual slot cell --- */

.calendar-schedule__cell {
  min-height: var(--_h-slot);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: var(--_gap-slot);
  padding: var(--_gap-slot);
  border-right: 1px solid var(--border-calendar-schedule, var(--border-tertiary));
  border-bottom: 1px solid var(--border-calendar-schedule, var(--border-tertiary));
  overflow: visible;
  position: relative;
}

/* Remove right border on last cell in each row */

.calendar-schedule__row > .calendar-schedule__cell:last-child {
  border-right: none;
}

/* Closed cell — subtle diagonal stripe pattern */

.calendar-schedule__cell.is-closed {
  background-image: repeating-linear-gradient(
    -45deg,
    transparent,
    transparent 4px,
    var(--bg-calendar-schedule-closed, var(--utility-neutral-100)) 4px,
    var(--bg-calendar-schedule-closed, var(--utility-neutral-100)) 5px
  );
}

/* --- Integrated time label cell (stack mode only) ---
   In stack mode the time label lives inside the cells grid as the first
   column of each row.  Because it shares the same grid-row track as the
   day cells, it automatically matches the tallest cell in that row. */

.calendar-schedule__cell-time {
  display: none;
}

.calendar-schedule[data-calendar-events="stack"] .calendar-schedule__cell-time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding-left: 1rem;
  padding-right: 0.5rem;
  font-size: 10px;
  font-weight: 500;
}

.collapse.show.calendar-schedule[data-calendar-events="stack"] .calendar-schedule__cell-time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .calendar-schedule[data-calendar-events="stack"] .calendar-schedule__cell-time {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-schedule[data-calendar-events="stack"] .calendar-schedule__cell-time {
  padding-top: var(--_gap-slot);
  min-height: var(--_h-slot);
  color: var(--text-calendar-schedule, var(--text-tertiary));
  position: sticky;
  left: 0;
  z-index: 10;
  background: var(--bg-calendar-schedule-surface, var(--canvas-secondary));
  border-right: 1px solid var(--border-calendar-schedule, var(--border-tertiary));
  border-bottom: 1px solid var(--border-calendar-schedule, var(--border-tertiary));
}

/* Compact density for cell-time */

.calendar-schedule--compact .calendar-schedule__cell-time {
  padding-right: 0.25rem;
  font-size: 9px;
}

/* Cozy density for cell-time */

.calendar-schedule--cozy .calendar-schedule__cell-time {
  padding-right: 0.75rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .calendar-schedule--cozy .calendar-schedule__cell-time {
  line-height: 1.3;
}

/* Alternating row stripe (every other row via nth-child on explicit rows) */

.calendar-schedule__row:nth-child(even) .calendar-schedule__cell {
  background-color: var(--bg-calendar-schedule-cell-alt, transparent);
}

/* --- Stack mode: Now and Today-line adjustments ---
   In stack mode, __now and __today-line are positioned by JS using
   actual DOM measurements. The now line must start after the time
   axis column, and the dot sits at that junction. */

.calendar-schedule[data-calendar-events="stack"] .calendar-schedule__now {
  left: var(--_w-time-axis);
  -webkit-transition: opacity 150ms ease !important;
  transition: opacity 150ms ease !important;
}

.calendar-schedule[data-calendar-events="stack"] .calendar-schedule__now::before {
  left: -4px;
  top: -5px;
}

/* --- Scroll overflow cap (optional) --- */

.calendar-schedule[data-calendar-slot-overflow="scroll"] .calendar-schedule__cell {
  max-height: var(--_slot-max, 192px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--scroll-thumb) transparent;
}

/* --- Appointment card (stack-friendly) --- */

.calendar-schedule__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.125rem;
  border-radius: 0.25rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.collapse.show.calendar-schedule__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .calendar-schedule__card {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .calendar-schedule__card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-schedule__card {
  position: relative;
  background: var(--bg-calendar-schedule-event);
  border-left: 3px solid var(--border-calendar-schedule-event);
  color: var(--text-calendar-schedule-event);
  -webkit-transition: background 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: background 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: box-shadow 0.15s ease, background 0.15s ease;
  transition: box-shadow 0.15s ease, background 0.15s ease, -webkit-box-shadow 0.15s ease;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.calendar-schedule__card:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  background: var(--bg-calendar-event-hover);
}

/* Card sub-elements */

.calendar-schedule__card-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
}

.calendar-schedule__card-meta {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0.7;
}

.calendar-schedule__card-time {
  font-size: 10px;
  opacity: 0.5;
}

.calendar-schedule__card-badge {
  margin-top: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-item-align: start;
  align-self: flex-start;
  border-radius: 0.25rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 1px;
  padding-bottom: 1px;
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  background: var(--border-calendar-schedule-event);
  color: #fff;
}

/* --- Card semantic variants (reuse event colors) --- */

.calendar-schedule__card.is-primary {
  background: var(--bg-calendar-event-primary);
  border-left-color: var(--border-calendar-event-primary);
}

.calendar-schedule__card.is-success {
  background: var(--bg-calendar-event-success);
  border-left-color: var(--border-calendar-event-success);
}

.calendar-schedule__card.is-warning {
  background: var(--bg-calendar-event-warning);
  border-left-color: var(--border-calendar-event-warning);
}

.calendar-schedule__card.is-danger {
  background: var(--bg-calendar-event-danger);
  border-left-color: var(--border-calendar-event-danger);
}

.calendar-schedule__card.is-info {
  background: var(--bg-calendar-event-primary);
  border-left-color: var(--border-calendar-event-primary);
}

.calendar-schedule__card.is-neutral {
  background: var(--bg-calendar-event-neutral);
  border-left-color: var(--border-calendar-event-neutral);
}

/* Card semantic hover overrides */

.calendar-schedule__card.is-primary:hover,
.calendar-schedule__card.is-info:hover {
  background: var(--bg-calendar-event-primary-hover);
}

.calendar-schedule__card.is-success:hover {
  background: var(--bg-calendar-event-success-hover);
}

.calendar-schedule__card.is-warning:hover {
  background: var(--bg-calendar-event-warning-hover);
}

.calendar-schedule__card.is-danger:hover {
  background: var(--bg-calendar-event-danger-hover);
}

.calendar-schedule__card.is-neutral:hover {
  background: var(--bg-calendar-event-neutral-hover);
}

/* Card badge color per semantic variant */

.calendar-schedule__card.is-primary .calendar-schedule__card-badge,
.calendar-schedule__card.is-info .calendar-schedule__card-badge {
  background: var(--border-calendar-event-primary);
}

.calendar-schedule__card.is-success .calendar-schedule__card-badge {
  background: var(--border-calendar-event-success);
}

.calendar-schedule__card.is-warning .calendar-schedule__card-badge {
  background: var(--border-calendar-event-warning);
}

.calendar-schedule__card.is-danger .calendar-schedule__card-badge {
  background: var(--border-calendar-event-danger);
}

.calendar-schedule__card.is-neutral .calendar-schedule__card-badge {
  background: var(--border-calendar-event-neutral);
}

/* --- Density support for stack mode --- */

.calendar-schedule--compact .calendar-schedule__card {
  gap: 0px;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  font-size: 10px;
}

.calendar-schedule--cozy .calendar-schedule__card {
  gap: 0.25rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .calendar-schedule--cozy .calendar-schedule__card {
  line-height: 1.3;
}

/* --- Focus-visible accessibility for cards --- */

.calendar-schedule__card:focus-visible {
  outline: 2px solid var(--outline-calendar-schedule-focus);
  outline-offset: 1px;
  -webkit-box-shadow: var(--ring-calendar-event-focus);
  box-shadow: var(--ring-calendar-event-focus);
  z-index: 6;
}

/* =========================================
   O) Frame layout + carousel scroll-snap
   Optional fixed right / bottom frame regions
   and carousel-style horizontal day-column
   snapping.
   ========================================= */

/* --- Frame wrapper --- */

.calendar-schedule__frame {
  display: grid;
  grid-template-columns: 1fr var(--_w-frame-right, 0px);
  grid-template-rows: 1fr var(--_h-frame-bottom, 0px);
  min-height: 0;
  overflow: hidden;
}

/* Map component tokens when frame regions are visible */

.calendar-schedule:has(.calendar-schedule__frame-right:not(.is-hidden)) {
  --_w-frame-right: var(--w-calendar-schedule-frame-right, 240px);
}

.calendar-schedule:has(.calendar-schedule__frame-bottom:not(.is-hidden)) {
  --_h-frame-bottom: var(--h-calendar-schedule-frame-bottom, 48px);
}

/* Viewport placement inside frame */

.calendar-schedule__frame > .calendar-schedule__viewport {
  grid-row: 1;
  grid-column: 1;
  min-height: 0;
  min-width: 0;
}

/* Right frame region */

.calendar-schedule__frame-right {
  grid-row: 1;
  grid-column: 2;
  overflow-y: auto;
  scrollbar-width: thin;
  border-left: 1px solid var(--border-calendar-schedule-frame, var(--border-calendar-schedule, var(--border-tertiary)));
  background: var(--bg-calendar-schedule-frame, var(--bg-calendar-schedule-surface, var(--canvas-secondary)));
}

/* Bottom frame region */

.calendar-schedule__frame-bottom {
  grid-row: 2;
  grid-column: 1;
  overflow-x: auto;
  scrollbar-width: thin;
  border-top: 1px solid var(--border-calendar-schedule-frame, var(--border-calendar-schedule, var(--border-tertiary)));
  background: var(--bg-calendar-schedule-frame, var(--bg-calendar-schedule-surface, var(--canvas-secondary)));
}

/* Corner fill when both right + bottom exist */

.calendar-schedule__frame-corner {
  grid-row: 2;
  grid-column: 2;
  border-left: 1px solid var(--border-calendar-schedule-frame, var(--border-calendar-schedule, var(--border-tertiary)));
  border-top: 1px solid var(--border-calendar-schedule-frame, var(--border-calendar-schedule, var(--border-tertiary)));
  background: var(--bg-calendar-schedule-frame, var(--bg-calendar-schedule-surface, var(--canvas-secondary)));
}

/* Hide frame regions with .is-hidden */

.calendar-schedule__frame-right.is-hidden,
.calendar-schedule__frame-bottom.is-hidden,
.calendar-schedule__frame-corner.is-hidden {
  display: none;
}

/* --- Carousel mode --- */

.calendar-schedule[data-calendar-carousel="true"] .calendar-schedule__viewport {
  -ms-scroll-snap-type: x mandatory;
  scroll-snap-type: x mandatory;
  scroll-padding-left: var(--_w-time-axis);
}

/* Fixed-width day columns in carousel */

.calendar-schedule[data-calendar-carousel="true"] .calendar-schedule__day {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 var(--w-calendar-schedule-day-carousel, 200px);
  flex: 0 0 var(--w-calendar-schedule-day-carousel, 200px);
  min-width: var(--w-calendar-schedule-day-carousel, 200px);
}

/* Grid width to match fixed columns */

.calendar-schedule[data-calendar-carousel="true"] .calendar-schedule__grid {
  width: calc(var(--_day-count, 7) * var(--w-calendar-schedule-day-carousel, 200px));
}

/* Bg lines sized to carousel day width */

.calendar-schedule[data-calendar-carousel="true"] .calendar-schedule__bg {
  background-size: 100% auto, var(--w-calendar-schedule-day-carousel, 200px) 100%;
}

/* Stacked cells in carousel mode */

.calendar-schedule[data-calendar-carousel="true"][data-calendar-events="stack"] .calendar-schedule__cells {
  grid-template-columns: repeat(var(--_day-count, 7), var(--w-calendar-schedule-day-carousel, 200px));
}

/* Today column in carousel mode */

.calendar-schedule[data-calendar-carousel="true"] .calendar-schedule__today-col {
  left: calc(var(--today-index, -1) * var(--w-calendar-schedule-day-carousel, 200px));
  width: var(--w-calendar-schedule-day-carousel, 200px);
}

/* All-day lanes in carousel mode */

.calendar-schedule[data-calendar-carousel="true"] .calendar-schedule__allday-lanes {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 calc(var(--_day-count, 7) * var(--w-calendar-schedule-day-carousel, 200px));
  flex: 0 0 calc(var(--_day-count, 7) * var(--w-calendar-schedule-day-carousel, 200px));
}

.calendar-schedule[data-calendar-carousel="true"] .calendar-schedule__allday-lane {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 var(--w-calendar-schedule-day-carousel, 200px);
  flex: 0 0 var(--w-calendar-schedule-day-carousel, 200px);
}

/* =========================================
   P) Now Indicator variants (Y-axis + X-axis)
   Toggleable time/date indicators with
   semantic colour variants.

   Modifier classes (root):
     .calendar-schedule--now-y            Show Y-axis (time) line + dot
     .calendar-schedule--today-x          Show X-axis (today) line + dot

   Variant classes (root):
     .calendar-schedule--now-danger       Red   (default)
     .calendar-schedule--now-primary      Neutral / dark
     .calendar-schedule--now-info         Blue
     .calendar-schedule--now-success      Green
     .calendar-schedule--now-warning      Yellow
   ========================================= */

/* Internal token mapping – default = base (danger) */

.calendar-schedule {
  --now-y: -999px;
  --_today-x-index: -1;
  --_now-dot: var(--bg-calendar-now-dot);
  --_now-line: var(--bg-calendar-now-line);
  --_today-line: var(--bg-calendar-today-line);
}

/* --- Variant overrides --- */

.calendar-schedule--now-danger {
  --_now-dot: var(--bg-calendar-now-dot-danger);
  --_now-line: var(--bg-calendar-now-line-danger);
  --_today-line: var(--bg-calendar-today-line-danger);
}

.calendar-schedule--now-primary {
  --_now-dot: var(--bg-calendar-now-dot-primary);
  --_now-line: var(--bg-calendar-now-line-primary);
  --_today-line: var(--bg-calendar-today-line-primary);
}

.calendar-schedule--now-info {
  --_now-dot: var(--bg-calendar-now-dot-info);
  --_now-line: var(--bg-calendar-now-line-info);
  --_today-line: var(--bg-calendar-today-line-info);
}

.calendar-schedule--now-success {
  --_now-dot: var(--bg-calendar-now-dot-success);
  --_now-line: var(--bg-calendar-now-line-success);
  --_today-line: var(--bg-calendar-today-line-success);
}

.calendar-schedule--now-warning {
  --_now-dot: var(--bg-calendar-now-dot-warning);
  --_now-line: var(--bg-calendar-now-line-warning);
  --_today-line: var(--bg-calendar-today-line-warning);
}

/* --- Today-X: header dot on is-today column --- */

.calendar-schedule--today-x .calendar-schedule__day.is-today {
  position: relative;
}

.calendar-schedule--today-x .calendar-schedule__day.is-today::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 50%);
  -ms-transform: translate(-50%, 50%);
  transform: translate(-50%, 50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--_now-dot);
  z-index: 1;
}

/* --- Today-X: vertical line in grid --- */

.calendar-schedule__today-line {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 4;
  pointer-events: none;
  width: 1px;
  left: calc((var(--_today-x-index) + 0.5) * (100% / var(--_day-count)) - 1px);
  background: var(--_now-line);
  opacity: 0.5;
  display: none;
}

.calendar-schedule--today-x .calendar-schedule__today-line {
  display: block;
}

/* Carousel mode support for today-line */

.calendar-schedule[data-calendar-carousel="true"] .calendar-schedule__today-line {
  left: calc((var(--_today-x-index) + 0.5) * var(--w-calendar-schedule-day-carousel) - 1px);
}

/* ==========================================================================
   BASE CARD
   ========================================================================== */

.card {
  position: relative;
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-shadow: 0 1px 1px 0 rgb(0 0 0 / 0.03);
  --tw-shadow-colored: 0 1px 1px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  background-color: var(--bg-card, var(--alpha-white-100));
  border-color: var(--border-card, var(--border-primary));
  color: var(--text-card, var(--text-primary));
}

/* Optional blur hook */

.card {
  backdrop-filter: var(--blur-card-backdrop, none);
}

/* Grain overlay (shared) */

.card::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><filter id='noiseFilter'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23noiseFilter)' opacity='1'/></svg>");
    background-repeat: repeat;
    mix-blend-mode: overlay;
    opacity: var(--opacity-card-grain, 0);
    pointer-events: none; 
    z-index: 0;
    border-radius: inherit;
  }

.card > * {
    position: relative;
    z-index: 1;
  }

/* ==========================================================================
   CARD LAYOUT SLOTS (optional but recommended)
   ========================================================================== */

.card-header {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.card-body {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.card-footer {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

/* Optional dividers */

.card.card-dividers .card-header,
.card.card-dividers .card-body {
  border-bottom: 1px solid var(--border-card-divider, var(--border-primary-subtle));
}

/* ==========================================================================
   SIZING + PADDING VARIANTS
   ========================================================================== */

.card.card-sm {
  border-radius: 0.5rem;
  border-radius: var(--radius-card-sm, 0.5rem);
}

.card.card-md {
  border-radius: 0.75rem;
  border-radius: var(--radius-card-md, 0.75rem);
}

.card.card-lg {
  border-radius: 1rem;
  border-radius: var(--radius-card-lg, 1rem);
}

/* Padding utilities (when not using header/body/footer slots) */

.card.card-pad-sm {
  padding: 0.75rem;
}

.card.card-pad-md {
  padding: 1rem;
}

.card.card-pad-lg {
  padding: 1.5rem;
}

/* ==========================================================================
   EDGE / JOIN HELPERS
   ========================================================================== */

.card.card-b-0 {
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
  border-bottom-width: 0px;
}

.card.card-l-0 {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  border-left-width: 0px;
}

.card.card-r-0 {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-right-width: 0px;
}

.card.card-t-0 {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-top-width: 0px;
}

/* ==========================================================================
   INTERACTION VARIANTS
   ========================================================================== */

.card.card-clickable {
  cursor: pointer;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.card.card-clickable:hover {
    background-color: var(--bg-card-hover, var(--bg-primary-subtle));
  }

.card.card-clickable:active {
    background-color: var(--bg-card-pressed, var(--bg-primary-hover));
    -webkit-box-shadow: var(--shadow-card-pressed, inset 0 1px 0 rgba(0,0,0,.06));
    box-shadow: var(--shadow-card-pressed, inset 0 1px 0 rgba(0,0,0,.06));
  }

/* Selected / Active (persistent) */

.card.card-active,
.card[aria-selected="true"],
.card.is-selected {
  border-color: var(--border-card-active, var(--border-secondary));
  -webkit-box-shadow: var(--shadow-card-active, var(--shadow-sm));
  box-shadow: var(--shadow-card-active, var(--shadow-sm));
}

/* Focus within (forms, inputs inside cards) */

/*.card:focus-within {
  border-color: var(--border-card-focus, var(--border-info-subtle));
  box-shadow: var(--ring-card-focus, 0 0 0 2px var(--border-info-subtle));
}*/

/* Disabled */

.card.is-disabled,
.card[aria-disabled="true"] {
  opacity: var(--opacity-card-disabled, 0.65);
  -webkit-filter: var(--filter-card-disabled, none);
  filter: var(--filter-card-disabled, none);
}

.card.is-disabled,
  .card[aria-disabled="true"],
  .card.is-disabled *,
  .card[aria-disabled="true"] * {
    pointer-events: none;
  }

/* ==========================================================================
   HOVER SURFACE – Background scale-in on hover
   ========================================================================== */

.card--hover-surface {
  position: relative;
}

.card--hover-surface::before {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: var(--radius-card-hover, 1.25rem);
    background: var(--bg-card-hover-surface);
    opacity: 0;
    -webkit-transform: scale(0.96);
    -ms-transform: scale(0.96);
    transform: scale(0.96);
    -webkit-transition: opacity var(--duration-card-hover, 200ms) var(--ease-card-hover, cubic-bezier(.4, 0, .2, 1)),
               -webkit-transform var(--duration-card-hover, 200ms) var(--ease-card-hover, cubic-bezier(.4, 0, .2, 1));
    transition: opacity var(--duration-card-hover, 200ms) var(--ease-card-hover, cubic-bezier(.4, 0, .2, 1)),
               -webkit-transform var(--duration-card-hover, 200ms) var(--ease-card-hover, cubic-bezier(.4, 0, .2, 1));
    transition: opacity var(--duration-card-hover, 200ms) var(--ease-card-hover, cubic-bezier(.4, 0, .2, 1)),
               transform var(--duration-card-hover, 200ms) var(--ease-card-hover, cubic-bezier(.4, 0, .2, 1));
    transition: opacity var(--duration-card-hover, 200ms) var(--ease-card-hover, cubic-bezier(.4, 0, .2, 1)),
               transform var(--duration-card-hover, 200ms) var(--ease-card-hover, cubic-bezier(.4, 0, .2, 1)),
               -webkit-transform var(--duration-card-hover, 200ms) var(--ease-card-hover, cubic-bezier(.4, 0, .2, 1));
    pointer-events: none;
    z-index: 0;
  }

.card--hover-surface > * {
    position: relative;
    z-index: 1;
  }

/* Active states */

.card--hover-surface:hover::before,
  .card--hover-surface:focus-within::before {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }

/* Optional shadow raise on hover */

.card--hover-raise:hover {
  -webkit-box-shadow: var(--shadow-card-hover);
  box-shadow: var(--shadow-card-hover);
}

/* Disable hover surface entirely */

.card--hover-none::before {
  display: none;
}

/* Drag / drop safety */

.card--hover-surface.is-dragging::before,
.card--hover-surface.is-ghost::before {
  opacity: 0 !important;
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
  .card--hover-surface::before {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    -webkit-transition: opacity var(--duration-card-hover, 200ms) var(--ease-card-hover, cubic-bezier(.4, 0, .2, 1));
    transition: opacity var(--duration-card-hover, 200ms) var(--ease-card-hover, cubic-bezier(.4, 0, .2, 1));
  }
}

/* ==========================================================================
   STYLE VARIANTS
   ========================================================================== */

/* Flat */

.card.card-flat {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  background-color: var(--bg-card-flat, var(--bg-card));
  border-color: var(--border-card-flat, var(--border-card));
}

.card.card-flat::after {
    opacity: var(--opacity-card-flat-grain, 0);
  }

/* Light / Subtle surface */

.card.card-light {
  background-color: var(--bg-card-light, var(--bg-primary));
  border-color: var(--border-card-light, var(--border-card));
}

.card.card-light::after {
    opacity: var(--opacity-card-light-grain, 0);
  }

/* Soft (nice for panels) */

.card.card-soft {
  background-color: var(--bg-card-soft, var(--bg-primary-subtle));
  border-color: var(--border-card-soft, var(--border-primary));
}

/* Ghost (border-only, transparent surface) */

.card.card-ghost {
  background-color: var(--bg-card-ghost, var(--alpha-0));
  border-color: var(--border-card-ghost, var(--border-primary));
  -webkit-box-shadow: var(--shadow-card-ghost, none);
  box-shadow: var(--shadow-card-ghost, none);
}

/* Outline emphasis */

.card.card-outline-strong {
  border-color: var(--border-card-strong, var(--border-primary-solid));
}

/* ==========================================================================
   MINI CARD (kept as separate preset)
   ========================================================================== */

.card-mini {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  overflow: hidden;
  border-radius: 0.375rem;
  border-width: 1px;
  padding: 0.5rem;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.collapse.show.card-mini {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .card-mini {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.card-mini {
  background-color: var(--bg-card-mini, var(--bg-card));
  border-color: var(--border-card-mini, var(--border-card));
  color: var(--text-card-mini, var(--text-card));
}

.card-mini:hover {
    background-color: var(--bg-card-hover, var(--bg-primary-subtle));
  }

.card-mini::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><filter id='noiseFilter'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23noiseFilter)' opacity='1'/></svg>");
    background-repeat: repeat;
    mix-blend-mode: overlay;
    opacity: var(--opacity-card-mini-grain, 0);
    pointer-events: none;
    z-index: 0;
    border-radius: inherit;
  }

/* ==========================================================================
   GLASS CARD (unified + size variants)
   ========================================================================== */

.card-glass {
  position: relative;
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  background-color: var(--bg-glass-card, var(--alpha-white-20));
  border-color: var(--border-glass-card, var(--alpha-white-20));
  color: var(--text-glass-card, var(--text-primary));
  backdrop-filter: var(--blur-glass-card, blur(20px));
  -webkit-box-shadow: var(--shadow-glass-card, var(--shadow-md));
  box-shadow: var(--shadow-glass-card, var(--shadow-md));
}

.card-glass::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><filter id='noiseFilter'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23noiseFilter)' opacity='1'/></svg>");
    background-repeat: repeat;
    mix-blend-mode: overlay;
    opacity: var(--opacity-glass-card-grain, 0.15);
    pointer-events: none;
    z-index: 0;
    border-radius: inherit;
  }

/* Glass sizes: adjust blur + shadow + grain (wired to your tokens) */

.card-glass-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  backdrop-filter: var(--blur-glass-card-sm, blur(10px));
}

.card-glass-sm::after {
    opacity: var(--opacity-glass-grain-sm, var(--opacity-glass-card-grain, 0.15));
  }

.card-glass-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  backdrop-filter: var(--blur-glass-card-md, blur(16px));
}

.card-glass-md::after {
    opacity: var(--opacity-glass-grain-md, var(--opacity-glass-card-grain, 0.15));
  }

.card-glass-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  backdrop-filter: var(--blur-glass-card-lg, blur(22px));
}

.card-glass-lg::after {
    opacity: var(--opacity-glass-grain-lg, var(--opacity-glass-card-grain, 0.15));
  }

.card-glass-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  backdrop-filter: var(--blur-glass-card-xl, blur(28px));
}

.card-glass-xl::after {
    opacity: var(--opacity-glass-grain-xl, var(--opacity-glass-card-grain, 0.15));
  }

/* ==========================================================================
   LOGIN — gentle background fade + animated sunlight aura
   ========================================================================== */

.login-bg-fade {
  opacity: 0;
  -webkit-animation: login-bg-reveal 2.4s cubic-bezier(0.2, 0.8, 0.2, 1) 0.1s forwards;
  animation: login-bg-reveal 2.4s cubic-bezier(0.2, 0.8, 0.2, 1) 0.1s forwards;
}

@-webkit-keyframes login-bg-reveal {
  to { opacity: 1; }
}

@keyframes login-bg-reveal {
  to { opacity: 1; }
}

/*  Cursor aura — follows mouse, soft sunlight glow behind glass card
   -------------------------------------------------------------------------- */

.login-aura {
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255, 200, 120, 0.6) 0%, rgba(255, 180, 80, 0.28) 35%, transparent 65%);
  -webkit-filter: blur(50px);
  filter: blur(50px);
  -webkit-transition: opacity 0.8s ease-out;
  transition: opacity 0.8s ease-out;
  will-change: transform;
}

.login-aura.is-active { opacity: 1; }

[data-theme*="dark"] .login-aura {
  background: radial-gradient(circle, rgba(255, 190, 100, 0.3) 0%, rgba(200, 160, 80, 0.14) 40%, transparent 70%);
}

/*  Edge glow — border highlight nearest to cursor
   -------------------------------------------------------------------------- */

.login-card-glow {
  --glow-x: 50%;
  --glow-y: 50%;
  --glow-opacity: 0;
}

.login-card-glow::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 1;
    opacity: var(--glow-opacity);
    background: radial-gradient(
      600px circle at var(--glow-x) var(--glow-y),
      rgba(255, 200, 120, 0.18) 0%,
      transparent 60%
    );
    -webkit-transition: opacity 0.4s ease-out;
    transition: opacity 0.4s ease-out;
  }

[data-theme*="dark"] .login-card-glow::before {
  background: radial-gradient(
    600px circle at var(--glow-x) var(--glow-y),
    rgba(255, 190, 100, 0.12) 0%,
    transparent 60%
  );
}

@media (prefers-reduced-motion: reduce) {
  .login-aura { display: none; }
  .login-card-glow::before { display: none; }
}

/* ==========================================================================
   SECTION (kept as-is, but token-forward)
   ========================================================================== */

.section {
  border-radius: 0.375rem;
  padding: 1rem;
  color: var(--text-primary);
  background-color: var(--bg-primary);
}

.section-content {
  padding: 1rem;
}

/* ========================================
   Component: Collapse
   Smooth expand / collapse using CSS transitions.
   States:
     .collapse          → hidden (no space taken)
     .collapse.show     → fully visible
     .collapsing        → animating (JS sets explicit height/width)
     .collapse-horizontal → horizontal variant
   ======================================== */

/* --- Vertical (default) -------------------------------- */

.collapse:not(.show) {
  display: none;
}

.collapse.show {
  display: block;
  visibility: visible;
}

/* Preserve flex layout when a collapse container also uses .flex */

.collapse.show.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.collapsing {
  height: 0;
  overflow: hidden;
  -webkit-transition: height 0.35s ease;
  transition: height 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
  .collapsing {
    -webkit-transition: none;
    transition: none;
  }
}

/* --- Horizontal --------------------------------------- */

.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  overflow: hidden;
  -webkit-transition: width 0.35s ease;
  transition: width 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
  .collapsing.collapse-horizontal {
    -webkit-transition: none;
    transition: none;
  }
}

/* When shown horizontally, ensure inline-block so width
   is dictated by content rather than block-level 100%. */

.collapse-horizontal.collapse.show {
  display: inline-block;
}

/* ==========================================================================
   Divider v2
   - Horizontal + vertical
   - With / without content
   - Inset / padded / strong / dashed
   - Semantic variants
   ========================================================================== */

/* ==========================================================================
   BASE WRAPPER (with optional content)
   ========================================================================== */

.divider-wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.collapse.show.divider-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .divider-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* Default horizontal divider (primary — matches panel/resize borders) */

.divider {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  border-top-width: 1px;
  border-color: var(--border-primary);
}

/* Secondary divider (lighter) */

.divider-secondary {
  border-color: var(--border-divider);
}

/* Center content */

.divider-content {
  margin-left: 1rem;
  margin-right: 1rem;
  -ms-flex-negative: 1;
  flex-shrink: 1;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .divider-content {
  line-height: 1.3;
}

.divider-content {
  color: var(--text-divider);
}

/* ==========================================================================
   SIMPLE DIVIDER (no wrapper required)
   ========================================================================== */

.divider-simple {
  width: 100%;
  border-top-width: 1px;
  border-color: var(--border-primary);
}

.divider-simple.divider-secondary {
  border-color: var(--border-divider);
}

/* ==========================================================================
   VERTICAL DIVIDER
   ========================================================================== */

.divider-vertical {
  height: 100%;
  border-left-width: 1px;
  border-color: var(--border-primary);
}

.divider-vertical.divider-secondary {
  border-color: var(--border-divider);
}

/* ==========================================================================
   INSET VARIANTS
   ========================================================================== */

.divider-inset {
  margin-left: 1rem;
  margin-right: 1rem;
}

.divider-inset-sm {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.divider-inset-lg {
  margin-left: 2rem;
  margin-right: 2rem;
}

/* Vertical inset */

.divider-vertical.divider-inset {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.divider-vertical.divider-inset-sm {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.divider-vertical.divider-inset-lg {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

/* ==========================================================================
   STYLE VARIANTS
   ========================================================================== */

/* Strong (thicker / higher contrast) */

.divider-strong {
  border-color: var(--border-divider-strong);
}

/* Dashed */

.divider-dashed {
  border-style: dashed;
}

/* Dotted */

.divider-dotted {
  border-style: dotted;
}

/* Subtle */

.divider-subtle {
  border-color: var(--border-divider-subtle);
}

/* ==========================================================================
   SEMANTIC VARIANTS
   ========================================================================== */

.divider-danger {
  border-color: var(--border-danger);
}

.divider-warning {
  border-color: var(--border-warning);
}

.divider-success {
  border-color: var(--border-success);
}

.divider-info {
  border-color: var(--border-info);
}

.divider-indigo {
  border-color: var(--border-indigo);
}

.divider-purple {
  border-color: var(--border-purple);
}

.divider-pink {
  border-color: var(--border-pink);
}

.divider-teal {
  border-color: var(--border-teal);
}

.divider-mint {
  border-color: var(--border-mint);
}

/* ==========================================================================
   BORDER UTILITY HOOK
   ========================================================================== */

.border-default, .border-divider {
  border-color: var(--border-divider) !important;
}

.border-success {
  border-color: var(--border-success);
}

.border-info {
  border-color: var(--border-info);
}

.border-purple {
  border-color: var(--border-purple);
}

.border-pink {
  border-color: var(--border-pink);
}

.border-danger {
  border-color: var(--border-danger);
}

.border-warning {
  border-color: var(--border-warning);
}

.thumbnail-image {
  position: relative;
  border-radius: 0.375rem;
  opacity: 0.9;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.thumbnail-image:hover {
  cursor: pointer;
  opacity: 1;
}

.thumbnail-image {
  background-color: var(--bg-thumbnail, transparent);
  border: 1px solid var(--border-thumbnail, var(--border-default));
}

.thumbnail-link {
  display: block;
  height: 100%;
  width: 100%;
}

.thumbnail-img {
  height: 100%;
  width: 100%;
  border-radius: 0.375rem;
  -o-object-fit: cover;
  object-fit: cover;
  background-color: var(--bg-thumbnail-img);
}

.thumbnail-remove-btn {
  position: absolute;
  top: 0px;
  right: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 1.25rem;
  width: 1.25rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-top-right-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
  border-width: 1px;
  padding: 0.25rem;
  font-size: 0.625rem;
  line-height: 0.875rem;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.collapse.show.thumbnail-remove-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .thumbnail-remove-btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.thumbnail-remove-btn {
  background-color: var(--bg-thumbnail-remove);
  color: var(--text-thumbnail-remove);
  border: 1px solid var(--border-thumbnail-remove);
}

.thumbnail-remove-btn:hover {
  background-color: var(--bg-thumbnail-remove-hover);
}

/* Size Variants */

.thumbnail-sm {
  height: 4rem;
  width: 4rem; /* 64px */
}

.thumbnail-md {
  height: 6rem;
  width: 6rem; /* 96px */
}

.thumbnail-lg {
  height: 8rem;
  width: 8rem; /* 128px */
}

.thumbnail-xl {
  height: 10rem;
  width: 10rem; /* 160px */
}

.thumbnail-preview {
  position: relative;
  height: 64px;
  width: 100%;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(222 225 230 / var(--tw-ring-opacity, 1)); background-color: var(--color-gray-50);
}

.thumbnail-preview:hover {
  cursor: pointer;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(91 142 255 / var(--tw-ring-opacity, 1));
}

.thumbnail-preview:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(47 48 56 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.thumbnail-preview:hover:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(47 111 228 / var(--tw-ring-opacity, 1));
}

.thumbnail-preview.active {
  position: relative;
  height: 64px;
  width: 100%;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(222 225 230 / var(--tw-ring-opacity, 1));
  --tw-ring-opacity: 1 !important;
  --tw-ring-color: rgb(91 142 255 / var(--tw-ring-opacity, 1)) !important; background-color: var(--color-gray-50);
}

.thumbnail-preview.active:hover {
  cursor: pointer;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.thumbnail-preview.active:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(47 48 56 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --tw-ring-opacity: 1 !important;
  --tw-ring-color: rgb(47 111 228 / var(--tw-ring-opacity, 1)) !important;
}

/* Main gallery container */

.gallery-view {
  background-color: var(--bg-gallery);
}

/* Sticky date group header */

.gallery-group-header {
  position: sticky;
  top: 0px;
  z-index: 8;
  padding: 1rem;
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.015em;
  font-weight: 500;
  background-color: var(--bg-gallery-header);
  color: var(--text-gallery-header);
  border-bottom: 1px solid var(--border-gallery-header);
}

/* Optional: Headline styling for the group label */

.gallery-group-header {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 400;
  letter-spacing: -0.025em;
}

/* Responsive card layout wrapper (each item) */

.gallery-card {
  grid-column: auto;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 0px;
  padding-bottom: 1rem;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  background-color: var(--bg-gallery-card);
  border-color: var(--border-gallery-card);
  color: var(--text-gallery-card);
}

/* Optional hover/focus states */

.gallery-card:hover {
  cursor: pointer;
    background-color: var(--bg-gallery-card-hover);
    border-color: var(--border-gallery-card-hover);
}

/* Optional active states */

.gallery-card:active {
    background-color: var(--bg-gallery-card-active);
  }

.gallery-card-header {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
}

.gallery-card-number {
  grid-column: span 3 / span 3;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  gap: 0.25rem;
  color: var(--text-gallery-card-number);
}

.gallery-card-date {
  grid-column: span 9 / span 9;
  text-align: right;
  text-transform: uppercase;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 400;
  color: var(--text-tertiary);
  color: var(--text-gallery-card-date);
}

.gallery-card-refrow {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
}

.gallery-card-reference {
  grid-column: span 6 / span 6;
  font-size: 0.875rem;
  line-height: 1.5rem;
  color: var(--text-primary);
  font-weight: 600;
  color: var(--text-gallery-card-ref);
}

.gallery-card-notes {
  margin-top: 0.5rem;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 0.5rem;
  color: var(--text-gallery-card-notes);
}

/* ==========================================================================
   HERO HEADER – full-bleed background image with overlaid navigation
   ========================================================================== */

.rnly-hero {
  position: relative;
  min-height: 320px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

/* Hero mode: strip chrome padding so hero fills the header edge-to-edge */

.app-chrome--hero {
  padding: 0 !important;
}

/* ── Background image ── */

.rnly-hero__image {
  position: absolute;
  inset: 0px;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center 35%;
  object-position: center 35%;
  pointer-events: none;
}

/* ── Gradient overlay for text readability ── */

.rnly-hero__overlay {
  position: absolute;
  inset: 0px;
  background: -webkit-gradient(
    linear,
    left top, left bottom,
    from(rgba(0,0,0,.18)),
    color-stop(50%, rgba(0,0,0,.40)),
    to(rgba(0,0,0,.55))
  );
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.18) 0%,
    rgba(0,0,0,.40) 50%,
    rgba(0,0,0,.55) 100%
  );
  pointer-events: none;
}

/* ── Navigation bar (sits at the top of the hero) ── */

.rnly-hero__nav {
  position: relative;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.collapse.show.rnly-hero__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .rnly-hero__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.rnly-hero__nav {
  padding: 12px 16px 0;
}

.rnly-hero__nav-left {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.rnly-hero__nav-right {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

/* Compact search pill container – absolutely centered within the nav */

.rnly-hero__nav-center {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity var(--hero-dur-fast, 180ms) ease;
  transition: opacity var(--hero-dur-fast, 180ms) ease;
  will-change: opacity;
}

/* Glass-ify any standard buttons rendered inside the hero nav (e.g. SetTheme) */

.rnly-hero__nav .btn-secondary,
.rnly-hero__nav .dropdown-toggle.btn-secondary {
  color: var(--text-button-glass);
  background-color: var(--bg-button-glass);
  border-color: var(--border-button-glass);
  backdrop-filter: blur(12px);
}

.rnly-hero__nav .btn-secondary:hover,
.rnly-hero__nav .dropdown-toggle.btn-secondary:hover {
  color: var(--text-button-glass-hover);
  background-color: var(--bg-button-glass-hover);
  border-color: var(--border-button-glass-hover);
}

/* ── Hero body (title + subtitle, vertically centered) ── */

.rnly-hero__body {
  position: relative;
  z-index: 1;
  width: 100%;
  text-align: center;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.rnly-hero__body-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
  padding: 1rem 1rem 0;
}

.rnly-hero__title {
  margin-bottom: 0.5rem;
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 600;
  letter-spacing: -0.025em;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  text-shadow: 0 2px 12px rgba(0,0,0,.3);
}

.rnly-hero__subtitle {
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.5rem;
  color: rgba(255,255,255,.8);
  text-shadow: 0 1px 6px rgba(0,0,0,.25);
}

/* ── Hero inner content (search bar, CTAs – rendered below body) ── */

.rnly-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  text-align: center;
  padding: 0 1rem 1.5rem;
}

/* ── Unsplash credit ── */

.rnly-hero__credit {
  position: absolute;
  z-index: 1;
  bottom: 12px;
  right: 16px;
  font-size: 0.6875rem;
  opacity: 0.55;
  color: rgba(255,255,255,.85);
}

.rnly-hero__credit a {
  color: rgba(255,255,255,.85);
  text-decoration: none;
}

.rnly-hero__credit a:hover {
  text-decoration: underline;
}

/* ========================================
   Component: Carousel
   Horizontal image/content slider
   ======================================== */

.carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  background-color: var(--bg-carousel, var(--bg-surface));
  border-color: var(--border-carousel, var(--border-primary));
}

/* Slide track */

.carousel__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}

.collapse.show.carousel__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .carousel__track {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.carousel__track {
  -webkit-transition-duration: var(--duration-normal, 300ms);
  transition-duration: var(--duration-normal, 300ms);
  -webkit-transition-timing-function: var(--ease-default, ease);
  transition-timing-function: var(--ease-default, ease);
}

.carousel__slide {
  position: relative;
  width: 100%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.carousel__slide img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* Navigation arrows */

.carousel__prev,
.carousel__next {
  position: absolute;
  top: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  --tw-translate-y: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
}

.collapse.show.carousel__prev,.collapse.show
.carousel__next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .carousel__prev,.ach-card > 
.carousel__next {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.carousel__prev,
.carousel__next {
  width: 36px;
  height: 36px;
  background-color: var(--bg-carousel-nav, rgba(0, 0, 0, 0.3));
  color: var(--text-carousel-nav, #fff);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(4px);
  -webkit-transition: background-color 150ms ease;
  transition: background-color 150ms ease;
  z-index: 2;
}

.carousel__prev:hover,
.carousel__next:hover {
  background-color: var(--bg-carousel-nav-hover, rgba(0, 0, 0, 0.5));
}

.carousel__prev {
  left: 0.75rem;
}

.carousel__next {
  right: 0.75rem;
}

/* Dot indicators */

.carousel__dots {
  position: absolute;
  bottom: 0.75rem;
  left: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  --tw-translate-x: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
}

.collapse.show.carousel__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .carousel__dots {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.carousel__dots {
  z-index: 2;
}

.carousel__dot {
  cursor: pointer;
  border-radius: 9999px;
  width: 8px;
  height: 8px;
  background-color: rgba(255, 255, 255, 0.4);
  border: none;
  -webkit-transition: background-color 150ms ease, -webkit-transform 150ms ease;
  transition: background-color 150ms ease, -webkit-transform 150ms ease;
  transition: background-color 150ms ease, transform 150ms ease;
  transition: background-color 150ms ease, transform 150ms ease, -webkit-transform 150ms ease;
}

.carousel__dot:hover {
  background-color: rgba(255, 255, 255, 0.7);
}

.carousel__dot.is-active {
  background-color: #fff;
  -webkit-transform: scale(1.25);
  -ms-transform: scale(1.25);
  transform: scale(1.25);
}

/* Caption overlay */

.carousel__caption {
  position: absolute;
  bottom: 2.5rem;
  left: 0px;
  right: 0px;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  text-align: center;
  color: rgba(255, 255, 255, 0.9);
  z-index: 2;
}

.carousel__caption-title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
}

.carousel__caption-text {
  margin-top: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  opacity: 0.7;
}

.wizard-card--trait .carousel__caption-text {
  line-height: 1.3;
}

/* Aspect ratios */

.carousel--16-9 .carousel__slide { aspect-ratio: 16 / 9; }

.carousel--4-3 .carousel__slide  { aspect-ratio: 4 / 3; }

.carousel--square .carousel__slide { aspect-ratio: 1 / 1; }

/* Sizes */

.carousel--sm { max-width: 24rem; }

.carousel--md { max-width: 36rem; }

.carousel--lg { max-width: 48rem; }

/* Autoplay indicator */

.carousel__autoplay {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
}

.collapse.show.carousel__autoplay {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .carousel__autoplay {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.carousel__autoplay {
  width: 28px;
  height: 28px;
  background-color: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.7);
  border: none;
  z-index: 2;
  font-size: 0.625rem;
}

.carousel__autoplay:hover {
  background-color: rgba(0, 0, 0, 0.5);
}

/* Touch interaction */

.carousel {
  -ms-touch-action: pan-y pinch-zoom;
  touch-action: pan-y pinch-zoom;
}

.carousel__track.is-swiping {
  -webkit-transition: none !important;
  transition: none !important;
}

/* Larger touch targets on mobile */

@media (pointer: coarse) {
  .carousel__prev,
  .carousel__next {
    width: 44px;
    height: 44px;
  }

  .carousel__dot {
    width: 10px;
    height: 10px;
  }
}

/* Focus-visible for keyboard nav */

.carousel:focus-visible {
  outline: 2px solid var(--color-info, #3b82f6);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .carousel__track {
    -webkit-transition: none;
    transition: none;
  }
}

.kanban-header {
  color: var(--text-kanban-header);
  background: var(--bg-kanban-header);
}

.kanban-list {
  height: 100%;
  width: 100%;
}

.kanban-list > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.kanban-list {
  overflow-y: auto;
  padding: 0.5rem;
  padding-bottom: 8rem;
  --scrollbar-track: initial;
  --scrollbar-thumb: initial;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
  overflow: overlay;
}

.kanban-list.overflow-x-hidden {
  overflow-x: hidden;
}

.kanban-list.overflow-y-hidden {
  overflow-y: hidden;
}

.kanban-list::-webkit-scrollbar-track {
  background-color: var(--scrollbar-track);
}

.kanban-list::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb);
}

.kanban-list {
  scrollbar-width: thin;
}

.kanban-list::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.kanban-list {
  background: var(--bg-kanban-list);
  scrollbar-color: var(--scroll-thumb) var(--scroll-track); /* Firefox */
}

/* Droppable/drag-over states */

.kanban-list.is-droppable {
    outline: 2px dashed var(--border-kanban);
    outline-offset: 4px;
  }

.kanban-list.is-over {
    background: color-mix(in oklab, var(--bg-kanban-list), white 6%);
  }

/* Optional density modifier */

.kanban-list.board-sm .kanban-card-body {
    padding: calc(0.875 * 1rem) calc(1rem);
  }

/* --------------------------------------------------
Cards
-------------------------------------------------- */

.kanban-card {
  position: relative;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  background: var(--bg-kanban-card);
  color: var(--text-kanban);
  border-color: var(--border-kanban-card);
}

.kanban-card:hover {
  cursor: pointer;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    background: var(--bg-kanban-card-hover);
}

.kanban-card:active {
    background: var(--bg-kanban-card-active);
  }

.kanban-card-disabled {
  opacity: 0.6;
}

.kanban-card-disabled:hover {
  opacity: 1;
}

.kanban-card-body {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.kanban-actions .btn-on-hover {
    visibility: hidden;
  }

.kanban-card:hover .btn-on-hover {
  visibility: visible;
}

/* Handle zone you can place anywhere inside the card header row */

.kanban-handle {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: -webkit-grab;
  cursor: grab;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  color: var(--icon-kanban-muted);
}

.kanban-handle:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* Drag states */

.kanban-card.is-dragging {
  opacity: 0.8;
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  -webkit-transform: rotate(-0.5deg) scale(1.01);
  -ms-transform: rotate(-0.5deg) scale(1.01);
  transform: rotate(-0.5deg) scale(1.01);
}

.kanban-card.is-ghost {
  opacity: 0.5;
}

/* Placeholder occupying the card footprint during drag */

.kanban-placeholder {
  border: 1px dashed var(--border-kanban);
  background: transparent;
  border-radius: var(--radius-kanban-card);
  height: 4rem;
}

/* Drop indicator (thin line between cards) */

.kanban-drop-indicator {
  height: 4px;
  background: var(--border-kanban);
  border-radius: 9999px;
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

/* Optional focus ring if you enable keyboard reordering */

.kanban-card:focus-visible {
  outline: 2px solid var(--text-kanban-accent, hsl(220 90% 70%));
  outline-offset: 2px;
}

/* ==========================================================================
   BOARD CONTAINER
   ========================================================================== */

.kanban {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  overflow-x: auto;
}

.collapse.show.kanban {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .kanban {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.kanban {
  background: var(--bg-kanban);
  border-radius: var(--radius-kanban);
  min-height: 200px;
}

/* Board-level class added while a drag is in progress */

.kanban.kanban--dragging {
    cursor: -webkit-grabbing;
    cursor: grabbing;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }

/* ==========================================================================
   COLUMNS
   ========================================================================== */

.kanban-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.kanban-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .kanban-col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.kanban-col {
  width: var(--w-kanban-col, 300px);
  min-width: 240px;
  border-radius: var(--radius-kanban);
  background: var(--bg-kanban-col, var(--bg-kanban));
}

.kanban-col__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 600;
}

.collapse.show.kanban-col__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .kanban-col__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.kanban-col__header {
  color: var(--text-kanban-header);
  background: var(--bg-kanban-header);
  border-radius: var(--radius-kanban) var(--radius-kanban) 0 0;
}

.kanban-col__body {
  min-height: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .kanban-col__body {
      display: none;
    }

/* WIP badge inside column header */

.kanban-wip-badge {
  border-radius: 0.375rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
}

.wizard-card--trait .kanban-wip-badge {
  line-height: 1.3;
}

.kanban-wip-badge {
  color: var(--text-kanban-wip, var(--text-tertiary));
  background: var(--bg-kanban-wip, transparent);
}

/* Column at WIP limit */

.kanban-col.is-wip-full .kanban-wip-badge,
[data-kanban-column].is-wip-full .kanban-wip-badge {
  color: var(--text-kanban-wip-full, var(--color-danger));
  background: var(--bg-kanban-wip-full, var(--bg-danger-subtle, hsl(0 80% 95%)));
  font-weight: 600;
}

/* ==========================================================================
   DROP STATES (on .kanban-list)
   ========================================================================== */

.kanban-list.is-drop-target {
  background: var(--bg-kanban-drop-target, color-mix(in oklab, var(--bg-kanban-list), var(--color-info, hsl(210 90% 60%)) 6%));
  outline: 2px dashed var(--border-drop-target, var(--color-info, hsl(210 90% 60%)));
  outline-offset: -2px;
}

.kanban-list.is-drop-invalid {
  background: var(--bg-kanban-drop-invalid, color-mix(in oklab, var(--bg-kanban-list), var(--color-danger, hsl(0 80% 55%)) 6%));
  outline: 2px dashed var(--border-drop-invalid, var(--color-danger, hsl(0 80% 55%)));
  outline-offset: -2px;
  cursor: not-allowed;
}

/* ==========================================================================
   SELECTED CARD (multi-select)
   ========================================================================== */

.kanban-card.is-selected {
  border-color: var(--border-kanban-selected, var(--color-info, hsl(210 90% 60%)));
  -webkit-box-shadow: 0 0 0 2px var(--border-kanban-selected, var(--color-info, hsl(210 90% 60%)));
  box-shadow: 0 0 0 2px var(--border-kanban-selected, var(--color-info, hsl(210 90% 60%)));
}

/* ==========================================================================
   FLOATING DRAG CLONE (appended to body by JS)
   ========================================================================== */

.kanban-drag-clone {
  border-radius: 0.5rem;
  border-width: 1px;
  background: var(--bg-kanban-card);
  border-color: var(--border-kanban-card);
  -webkit-box-shadow: var(--shadow-kanban-card-drag);
  box-shadow: var(--shadow-kanban-card-drag);
  opacity: 0.95;
}

/* ==========================================================================
   IMAGE CARD VARIANT
   ========================================================================== */

.kanban-card--image {
  overflow: hidden;
}

.kanban-card__media {
  width: 100%;
  overflow: hidden;
  background: var(--bg-kanban-card-media, var(--bg-primary-subtle));
}

.kanban-card__media img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.kanban-card__content {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.kanban-card__badges {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.25rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 0.5rem;
}

.collapse.show.kanban-card__badges {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .kanban-card__badges {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.kanban-card__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-top-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.kanban-card__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .kanban-card__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.kanban-card__actions {
  border-color: var(--border-kanban-card);
}

/* Title overlay on image cards (optional) */

.kanban-card__media-overlay {
  position: absolute;
  bottom: 0px;
  left: 0px;
  right: 0px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0,0,0,.6)), to(transparent));
  background: linear-gradient(to top, rgba(0,0,0,.6), transparent);
  color: #fff;
}

/* Aspect ratio variants */

.kanban-card--media-16x9 .kanban-card__media { aspect-ratio: 16 / 9; }

.kanban-card--media-4x3  .kanban-card__media { aspect-ratio: 4 / 3; }

.kanban-card--media-1x1  .kanban-card__media { aspect-ratio: 1 / 1; }

/* ==========================================================================
   DENSITY VARIANTS
   ========================================================================== */

/* Compact: tighter padding on cards + list */

.kanban--compact .kanban-card-body,
.kanban--compact .kanban-card__content {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.kanban--compact .kanban-list > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}

.kanban--compact .kanban-list {
  padding: 0.375rem;
}

.kanban--compact .kanban-col__header {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .kanban--compact .kanban-col__header {
  line-height: 1.3;
}

/* Dense: minimal chrome */

.kanban--dense .kanban-card-body,
.kanban--dense .kanban-card__content {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .kanban--dense .kanban-card-body,.wizard-card--trait 
.kanban--dense .kanban-card__content {
  line-height: 1.3;
}

.kanban--dense .kanban-list > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1px * var(--tw-space-y-reverse));
}

.kanban--dense .kanban-list {
  padding: 0.25rem;
}

.kanban--dense .kanban-col__header {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .kanban--dense .kanban-col__header {
  line-height: 1.3;
}

.kanban--dense .kanban-card {
  border-radius: 0.375rem;
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .kanban-card,
  .kanban-card.is-dragging,
  .kanban-drag-clone,
  .kanban-placeholder {
    -webkit-transition: none !important;
    transition: none !important;
    -webkit-animation: none !important;
    animation: none !important;
  }
}

/*Lists*/

/* ==========================================================================
   List v2 – Panel List / List Group (Foundation-first)
   - Container added (surface/border/radius)
   - Hover ON by default (opt-out with .no-hover)
   - Density variants: list-compact, list-relaxed
   - Item states: hover, active, selected, disabled, focus-visible
   - Slots: leading / content / trailing
   - Variants: borderless, inset-dividers
   - Intent items: success/warning/danger/info
   ========================================================================== */

/* ==========================================================================
   LIST CONTAINER
   ========================================================================== */

.panel-list {
  width: 100%;
  overflow: hidden;
  background-color: var(--bg-list, var(--alpha-white-100));
  /*border-color: var(--border-list, var(--border-primary));*/
}

/* Optional list header (sticky friendly if used inside a scroll container) */

.panel-list-header {
  border-bottom-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 400;
  color: var(--text-list-header, var(--text-secondary));
  border-color: var(--border-list-header, var(--border-primary-subtle));
  background-color: var(--bg-list-header, var(--bg-primary-subtle));
}

/* ==========================================================================
   LIST ITEMS
   ========================================================================== */

.panel-item {
  position: relative;
  cursor: pointer;
  border-radius: 0px;
  border-bottom-width: 1px;
  padding: var(--space-list-item-y, 0.5rem) var(--space-list-item-x, 1rem);
  border-color: var(--border-list-divider, var(--border-primary-subtle));
  background-color: var(--bg-list-item, var(--bg-list, var(--alpha-white-100)));
  color: var(--text-list-item, var(--text-primary));
}

/* Remove last divider */

.panel-item:last-child {
    border-bottom-color: var(--alpha-0);
  }

/* Hover ON by default (opt-out with .no-hover on container or item) */

.panel-list:not(.no-hover) .panel-item:not(.no-hover):hover {
  background-color: var(--bg-list-item-hover, var(--bg-primary-subtle));
}

/* Active / Selected states */

.panel-item.active,
.panel-item[aria-current="true"] {
  background-color: var(--bg-list-item-active, var(--bg-secondary));
}

.panel-item.selected,
.panel-item[aria-selected="true"] {
  background-color: var(--bg-list-item-selected, var(--bg-info-subtle));
}

/* Optional active indicator bar (opt-in via .list-indicator on container) */

.panel-list.list-indicator .panel-item.active::before,
.panel-list.list-indicator .panel-item[aria-current="true"]::before {
  content: "";
  position: absolute; 
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--size-list-indicator, 3px);
  background-color: var(--bg-list-indicator, var(--bg-info));
}

/* Keyboard focus */

.panel-item:focus-visible {
  outline: none;
  -webkit-box-shadow: var(--ring-list-item-focus, 0 0 0 2px var(--border-info-subtle));
  box-shadow: var(--ring-list-item-focus, 0 0 0 2px var(--border-info-subtle));
  z-index: 1;
}

/* Focus within (useful when item contains an input/button) */

.panel-item:focus-within {
  background-color: var(--bg-list-item-focus, var(--bg-info-subtle));
}

/* ==========================================================================
   ITEM CONTENT
   ========================================================================== */

.panel-item-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-list-item-title, var(--text-primary));
}

/* Optional subtitle */

.panel-item-subtitle {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
  opacity: 0.7;
}

.wizard-card--trait .panel-item-subtitle {
  line-height: 1.3;
}

.panel-item-subtitle {
  color: var(--text-list-item-subtitle, var(--text-tertiary));
}

/* Slots */

.panel-item-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
}

.collapse.show.panel-item-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .panel-item-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.panel-item-leading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.collapse.show.panel-item-leading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .panel-item-leading {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.panel-item-leading {
  color: var(--text-list-item-leading, var(--text-tertiary));
}

.panel-item-content {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .panel-item-content {
      display: none;
    }

.panel-item-trailing {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.panel-item-trailing {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .panel-item-trailing {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.panel-item-trailing {
  color: var(--text-list-item-trailing, var(--text-tertiary));
}

/* ==========================================================================
   DENSITY VARIANTS
   ========================================================================== */

.panel-list.list-compact .panel-item {
  padding: var(--space-list-item-y-compact, 0.375rem) var(--space-list-item-x, 1rem);
}

.panel-list.list-relaxed .panel-item {
  padding: var(--space-list-item-y-relaxed, 0.75rem) var(--space-list-item-x, 1rem);
}

/* ==========================================================================
   DIVIDER VARIANTS
   ========================================================================== */

.panel-list.list-borderless {
  border-color: var(--alpha-0);
}

.panel-list.list-borderless .panel-item {
    border-color: var(--alpha-0);
  }

/* Inset dividers (leave left padding gutter for icons/avatars) */

.panel-list.list-inset-dividers .panel-item {
  border-bottom-color: var(--alpha-0);
}

.panel-list.list-inset-dividers .panel-item::after {
    content: "";
    position: absolute;
    left: var(--space-list-inset, 3rem);
    right: 0;
    bottom: 0;
    height: 1px;
    background-color: var(--border-list-divider, var(--border-primary-subtle));
    opacity: 1;
  }

/* ==========================================================================
   DISABLED
   ========================================================================== */

.panel-item.is-disabled,
.panel-item[aria-disabled="true"] {
  cursor: default;
  opacity: var(--opacity-list-item-disabled, 0.6);
  color: var(--text-list-item-disabled, var(--text-disabled));
  background-color: var(--bg-list-item-disabled, var(--bg-primary-subtle));
}

.panel-item.is-disabled *,
  .panel-item[aria-disabled="true"] * {
    pointer-events: none;
  }

/* ==========================================================================
   INTENT ITEMS (optional)
   ========================================================================== */

.panel-item.item-success {
  background-color: var(--bg-list-item-success, var(--bg-success-subtle));
}

.panel-item.item-warning {
  background-color: var(--bg-list-item-warning, var(--bg-warning-subtle));
}

.panel-item.item-danger {
  background-color: var(--bg-list-item-danger, var(--bg-danger-subtle));
}

.panel-item.item-info {
  background-color: var(--bg-list-item-info, var(--bg-info-subtle));
}

/* ========================================
   Component: Pagination
   ======================================== */

.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.collapse.show.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .pagination {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.pager {
  position: relative;
  z-index: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 0.375rem;
  gap: 2px;
}

.page-item {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
}

.wizard-card--trait .page-item {
  line-height: 1.3;
}

.page-item {
  min-width: 28px;
  height: 28px;
  padding: 0 6px;
  color: var(--text-secondary);
  background-color: transparent;
  cursor: pointer;
}

.page-item:hover {
  background-color: var(--bg-hover);
  color: var(--text-primary);
}

.page-item:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
  ring-color: var(--border-info);
}

.page-item.active {
  background-color: var(--bg-primary-solid);
  color: var(--alpha-white-100);
}

.page-item.disabled {
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.4;
}

.page-prev,
.page-next {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
}

.wizard-card--trait .page-prev,.wizard-card--trait 
.page-next {
  line-height: 1.3;
}

.page-prev,
.page-next {
  min-width: 28px;
  height: 28px;
  color: var(--text-secondary);
}

.page-prev:hover,
.page-next:hover {
  background-color: var(--bg-hover);
  color: var(--text-primary);
}

.page-prev.disabled,
.page-next.disabled {
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.4;
}

/* Ellipsis */

.page-ellipsis {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .page-ellipsis {
  line-height: 1.3;
}

.page-ellipsis {
  min-width: 28px;
  height: 28px;
  color: var(--text-tertiary);
  cursor: default;
}

/* Info text */

.pagination__info {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .pagination__info {
  line-height: 1.3;
}

.pagination__info {
  color: var(--text-tertiary);
}

/* Per-page selector */

.pagination__per-page {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .pagination__per-page {
  line-height: 1.3;
}

.pagination__per-page {
  color: var(--text-secondary);
}

/* ==========================================================================
   Persona v1 – Component (Avatar-powered) — UPDATED
   Update:
   - Click/pressed state acts like a button (NO SHIFT / NO translate)
   ========================================================================== */

/* ==========================================================================
   BASE
   ========================================================================== */

.persona {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.75rem;
  border-width: 1px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.persona {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .persona {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.persona {
  background-color: var(--bg-persona);
  border-color: var(--border-persona);
  color: var(--text-persona);
}

.persona-media {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.persona-body {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .persona-body {
      display: none;
    }

.persona-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.25rem;
  color: var(--text-persona-title);
}

.persona-subtitle {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .persona-subtitle {
  line-height: 1.3;
}

.persona-subtitle {
  color: var(--text-persona-subtitle);
}

.persona-meta {
  margin-top: 0.125rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .persona-meta {
  line-height: 1.3;
}

.persona-meta {
  color: var(--text-persona-meta);
}

.persona-actions {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.persona-badges {
  margin-top: 0.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.collapse.show.persona-badges {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .persona-badges {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.persona-tag {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.625rem;
  line-height: 0.875rem;
  background-color: var(--bg-persona-tag);
  color: var(--text-persona-tag);
  border: 1px solid var(--border-persona-tag);
}

/* ==========================================================================
   SIZES
   ========================================================================== */

.persona.persona-sm {
  gap: 0.5rem;
  border-radius: 0.5rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.persona.persona-sm .persona-title {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .persona.persona-sm .persona-title {
  line-height: 1.3;
}

.persona.persona-sm .persona-subtitle {
  font-size: 0.6875rem;
  line-height: 1rem;
}

.persona.persona-md {
  /* default */
}

.persona.persona-lg {
  gap: 1rem;
  border-radius: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.persona.persona-lg .persona-title {
  font-size: 1rem;
  line-height: 1.5rem;
}

.persona.persona-lg .persona-subtitle {
  font-size: 0.8125rem;
  line-height: 1.25rem;
}

.persona.persona-lg .persona-meta {
  font-size: 0.8125rem;
  line-height: 1.25rem;
}

/* ==========================================================================
   LAYOUT VARIANTS
   ========================================================================== */

.persona.persona-row { /* default */
}

.persona.persona-stack {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.persona.persona-stack .persona-body {
  padding-top: 0.125rem;
}

.persona.persona-media-right {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

/* ==========================================================================
   INLINE (no container chrome — for embedding in forms, detail views, tables)
   ========================================================================== */

.persona.persona-inline {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  border-radius: 0px;
  border-width: 0px;
  padding: 0px;
  background: transparent;
}

/* Nudge avatar down so it visually centers against the name + first meta line */

.persona.persona-inline .persona-media {
  padding-top: 0.125rem;
}

.persona.persona-inline:focus-within {
    -webkit-box-shadow: none;
    box-shadow: none;
  }

/* ==========================================================================
   SURFACE VARIANTS
   ========================================================================== */

.persona.persona-soft {
  background-color: var(--bg-persona-soft);
  border-color: var(--border-persona-soft);
}

.persona.persona-ghost {
  background-color: var(--bg-persona-ghost);
  border-color: var(--border-persona-ghost);
}

.persona.persona-outline-strong {
  border-color: var(--border-persona-strong);
}

.persona.persona-elevated {
  -webkit-box-shadow: var(--shadow-persona);
  box-shadow: var(--shadow-persona);
}

/* ==========================================================================
   INTERACTION VARIANTS (button-like, no shifting)
   ========================================================================== */

.persona.persona-clickable {
  cursor: pointer;
  -webkit-transition: background-color 120ms ease, border-color 120ms ease, -webkit-box-shadow 120ms ease;
  transition: background-color 120ms ease, border-color 120ms ease, -webkit-box-shadow 120ms ease;
  transition: background-color 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
  transition: background-color 120ms ease, border-color 120ms ease, box-shadow 120ms ease, -webkit-box-shadow 120ms ease;
}

.persona.persona-clickable:hover {
    background-color: var(--bg-persona-hover);
    border-color: var(--border-persona-hover);
  }

/* Pressed (mousedown) – NO transform/shift */

.persona.persona-clickable:active {
    background-color: var(--bg-persona-pressed);
    border-color: var(--border-persona-pressed);
    -webkit-box-shadow: var(--shadow-persona-pressed);
    box-shadow: var(--shadow-persona-pressed);
  }

/* Selected */

.persona.is-selected,
.persona[aria-selected="true"] {
  background-color: var(--bg-persona-selected);
  border-color: var(--border-persona-selected);
}

/* Focus ring */

.persona:focus-within {
  -webkit-box-shadow: var(--ring-persona-focus);
  box-shadow: var(--ring-persona-focus);
}

/* Disabled */

.persona.is-disabled,
.persona[aria-disabled="true"] {
  opacity: var(--opacity-persona-disabled);
  -webkit-filter: var(--filter-persona-disabled);
  filter: var(--filter-persona-disabled);
  pointer-events: none;
}

/* ==========================================================================
   STATUS (optional pill)
   ========================================================================== */

.persona-status {
  margin-left: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
  border-radius: 9999px;
  border-width: 1px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.625rem;
  line-height: 0.875rem;
  background-color: var(--bg-persona-status);
  border-color: var(--border-persona-status);
  color: var(--text-persona-status);
}

.persona-status-dot {
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 9999px;
  background-color: var(--bg-persona-status-dot);
}

/* Intent helpers */

.persona-status.status-success {
  --bg-persona-status-dot: var(--bg-persona-dot-success);
}

.persona-status.status-warning {
  --bg-persona-status-dot: var(--bg-persona-dot-warning);
}

.persona-status.status-danger {
  --bg-persona-status-dot: var(--bg-persona-dot-danger);
}

.persona-status.status-info {
  --bg-persona-status-dot: var(--bg-persona-dot-info);
}

/* ==========================================================================
   DENSITY
   ========================================================================== */

.persona.persona-compact {
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

/* ==========================================================================
   Progress v2 — Linear + Radial + Dot Cap
   ========================================================================== */

/* =========================================================
   LINEAR PROGRESS
   ========================================================= */

.track {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  overflow: hidden;
  border-radius: 9999px;
}

.collapse.show.track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .track {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.track {
  height: var(--height-progress-track, 4px);
  background-color: var(--bg-progress);
}

.bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  overflow: hidden;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.collapse.show.bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .bar {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .bar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.bar {
  color: var(--text-progress);
  background-color: var(--bg-progress-bar);
  border-radius: inherit;
}

.bar-label {
  position: relative;
  z-index: 10;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

/* Sizes */

.bar-sm {
  height: 4px;
}

.bar-md {
  height: 6px;
}

.bar-lg {
  height: 8px;
}

/* Shape */

.bar-rounded {
  border-radius: 0.375rem;
}

.bar-pill {
  border-radius: 9999px;
}

/* Intent */

.bar-success {
  background-color: var(--bg-progress-bar-success);
}

.bar-warning {
  background-color: var(--bg-progress-bar-warning);
}

.bar-danger {
  background-color: var(--bg-progress-bar-danger);
}

.bar-info {
  background-color: var(--bg-progress-bar-info);
}

.bar-neutral {
  background-color: var(--bg-progress-bar-neutral);
}

/* Indeterminate */

.bar-indeterminate {
  position: absolute;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 30%;
  -webkit-animation: progress-indeterminate 1.2s infinite ease-in-out;
  animation: progress-indeterminate 1.2s infinite ease-in-out;
}

@-webkit-keyframes progress-indeterminate {
  0% {
    left: -30%;
  }

  50% {
    left: 50%;
  }

  100% {
    left: 100%;
  }
}

@keyframes progress-indeterminate {
  0% {
    left: -30%;
  }

  50% {
    left: 50%;
  }

  100% {
    left: 100%;
  }
}

/* Stacked */

.progress-stack {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2px;
}

.collapse.show.progress-stack {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .progress-stack {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* =========================================================
   RADIAL / CIRCULAR PROGRESS
   ========================================================= */

.progress-radial {
  --size-radial: 48px;
  --thickness-radial: 6px;
  --value-radial: 0;
  --color-radial: var(--bg-progress-bar);
  --track-radial: var(--bg-progress);
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  width: var(--size-radial);
  height: var(--size-radial);
  background: conic-gradient( var(--color-radial) calc(var(--value-radial) * 1%), var(--track-radial) 0 );
}

/* Inner cutout ring */

.progress-radial::before {
    content: "";
    position: absolute;
    inset: var(--thickness-radial);
    border-radius: 9999px;
    background-color: var(--bg-progress-radial-inner);
  }

/* Center label */

.progress-radial .radial-label {
  position: relative;
  z-index: 10;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.wizard-card--trait .progress-radial .radial-label {
  line-height: 1.3;
}

.progress-radial .radial-label {
    color: var(--text-progress-radial);
  }

/* =========================================================
   DOT CAP MARKER
   - Add .progress-radial-cap
   ========================================================= */

.progress-radial.progress-radial-cap::after {
    content: "";
    position: absolute;
    width: var(--size-radial-cap, 10px);
    height: var(--size-radial-cap, 10px);
    background-color: var(--color-radial);
    border-radius: 9999px;
    /* Centre the dot on the arc at the current value angle.
       1. Place at centre of the ring (top:50% / left:50%)
       2. Offset own centre (-50% x -50%)
       3. Rotate by value angle (conic starts at 12-o'clock)
       4. Pull outward along the rotated Y axis by the arc radius
          (half the outer size minus half the track thickness) */
    top: 50%;
    left: 50%;
    -webkit-transform:
      translate(-50%, -50%)
      rotate(calc(var(--value-radial) * 3.6deg))
      translateY(calc(-1 * (var(--size-radial) / 2 - var(--thickness-radial) / 2)));
    -ms-transform:
      translate(-50%, -50%)
      rotate(calc(var(--value-radial) * 3.6deg))
      translateY(calc(-1 * (var(--size-radial) / 2 - var(--thickness-radial) / 2)));
    transform:
      translate(-50%, -50%)
      rotate(calc(var(--value-radial) * 3.6deg))
      translateY(calc(-1 * (var(--size-radial) / 2 - var(--thickness-radial) / 2)));
    -webkit-box-shadow: var(--shadow-progress-cap, 0 0 0 2px var(--bg-progress-radial-inner));
    box-shadow: var(--shadow-progress-cap, 0 0 0 2px var(--bg-progress-radial-inner));
  }

/* Optional glow */

.progress-radial.progress-radial-cap.progress-radial-cap-glow::after {
    -webkit-box-shadow: 0 0 8px var(--color-radial), 0 0 0 2px var(--bg-progress-radial-inner);
    box-shadow: 0 0 8px var(--color-radial), 0 0 0 2px var(--bg-progress-radial-inner);
  }

/* =========================================================
   RADIAL SIZES
   ========================================================= */

.progress-radial-xs {
  --size-radial: 28px;
  --thickness-radial: 4px;
}

.progress-radial-sm {
  --size-radial: 36px;
  --thickness-radial: 5px;
}

.progress-radial-md {
  --size-radial: 48px;
  --thickness-radial: 6px;
}

.progress-radial-lg {
  --size-radial: 64px;
  --thickness-radial: 8px;
}

.progress-radial-xl {
  --size-radial: 84px;
  --thickness-radial: 10px;
}

/* Thickness overrides */

.progress-radial-thin {
  --thickness-radial: 4px;
}

.progress-radial-thick {
  --thickness-radial: 10px;
}

/* Intent */

.progress-radial-success {
  --color-radial: var(--bg-progress-bar-success);
}

.progress-radial-warning {
  --color-radial: var(--bg-progress-bar-warning);
}

.progress-radial-danger {
  --color-radial: var(--bg-progress-bar-danger);
}

.progress-radial-info {
  --color-radial: var(--bg-progress-bar-info);
}

.progress-radial-neutral {
  --color-radial: var(--bg-progress-bar-neutral);
}

/* Indeterminate */

.progress-radial-indeterminate {
  --value-radial: 25;
  -webkit-animation: radial-spin 1s linear infinite;
  animation: radial-spin 1s linear infinite;
}

@-webkit-keyframes radial-spin {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes radial-spin {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* ==========================================================================
   TABLE CONTAINER
   ========================================================================== */

.table-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 0.375rem;
  border-width: 1px;
  background-color: var(--bg-table, var(--alpha-white-100));
  border-color: var(--border-table-container, var(--border-primary));
  border-radius: var(--radius-table, 0.375rem);
}

.table-container.table-surface {
    background-color: var(--bg-table-surface, var(--bg-table, var(--alpha-white-100)));
  }

.table-container.table-flush {
  border-radius: 0px;
  border-width: 0px;
}

.table-container.table-elevated {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/* Scroll region (recommended place for fixed height + sticky header/footer) */

.table-scroll {
  width: 100%;
  overflow: auto;
}

/* ==========================================================================
   BASE TABLE
   ========================================================================== */

.table {
  margin-top: 0px;
  margin-bottom: 0px;
  width: 100%;
  min-width: 100%;
  border-collapse: separate;
  --tw-border-spacing-x: 0px;
  --tw-border-spacing-y: 0px;
  border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
  color: var(--text-table, var(--text-primary));
  background-color: var(--bg-table, var(--alpha-white-100));
}

.table thead > tr > th {
  border-bottom-width: 1px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  vertical-align: bottom;
  font-family: 'Manrope', sans-serif;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .table thead > tr > th {
  line-height: 1.3;
}

.table thead > tr > th {
    background-color: var(--bg-table-header, var(--bg-primary));
    color: var(--text-table-header, var(--text-secondary));
    border-color: var(--border-table-header, var(--border-primary-alt));
    white-space: nowrap;
  }

.table tbody > tr > td {
  border-bottom-width: 1px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  vertical-align: middle;
  font-size: 0.875rem;
  line-height: 1.5rem;
    color: var(--text-table, var(--text-primary));
    border-color: var(--border-table, var(--border-primary-subtle));
    background-color: transparent;
}

.table tfoot > tr > td {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  vertical-align: middle;
  font-size: 0.875rem;
  line-height: 1.5rem;
    color: var(--text-table-footer, var(--text-secondary-alt));
    border-color: var(--border-table, var(--border-primary-subtle));
    background-color: var(--bg-table-footer, var(--bg-primary-subtle));
}

.table :is(th, td):first-child {
  padding-left: 1rem;
}

.table :is(th, td):last-child {
  padding-right: 1rem;
}

.table .col-num {
  text-align: right;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.table .cell-truncate {
  max-width: 240px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ==========================================================================
   SORTABLE HEADER BUTTON BEHAVIOR
   - Hover and pressed styles like a button
   - Persistent active pressed style via .is-sorted
   ========================================================================== */

.table thead > tr > th.sort:hover {
  cursor: pointer;
    background-color: var(--bg-table-header-hover, var(--bg-primary-hover));
}

/* Pressed (mousedown) */

.table thead > tr > th.sort:active {
    background-color: var(--bg-table-header-pressed, var(--bg-table-header-active, var(--bg-secondary)));
    -webkit-box-shadow: var(--shadow-table-header-pressed, inset 0 1px 0 rgba(0,0,0,.06));
    box-shadow: var(--shadow-table-header-pressed, inset 0 1px 0 rgba(0,0,0,.06));
  }

/* Active / sorted (persistent pressed look) */

.table thead > tr > th.is-sorted {
    background-color: var(--bg-table-header-active, var(--bg-secondary));
    color: var(--text-table-header-active, var(--text-primary));
    -webkit-box-shadow: var(--shadow-table-header-active, var(--shadow-table-header-pressed, inset 0 1px 0 rgba(0,0,0,.06)));
    box-shadow: var(--shadow-table-header-active, var(--shadow-table-header-pressed, inset 0 1px 0 rgba(0,0,0,.06)));
  }

/* ==========================================================================
   SORT DIRECTION INDICATORS
   - .sorting_asc   ascending (up arrow)
   - .sorting_desc  descending (down arrow)
   ========================================================================== */

.table thead > tr > th.sorting_asc,
  .table thead > tr > th.sorting_desc {
    position: relative;
    padding-right: calc(1rem + 1rem);
    background-color: var(--bg-table-header-active, var(--bg-secondary));
    color: var(--text-table-header-active, var(--text-primary));
  }

.table thead > tr > th.sorting_asc::after,
  .table thead > tr > th.sorting_desc::after {
    display: inline-block;
    position: absolute;
    right: 0.75rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: "Font Awesome 7 Pro";
    font-style: normal;
    font-weight: 300;
    font-size: 0.65rem;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--text-table-sort, currentColor);
  }

.table thead > tr > th.sorting_asc::after {
    content: "\f0de"; /* fa-sort-up */
  }

.table thead > tr > th.sorting_desc::after {
    content: "\f0dd"; /* fa-sort-down */
  }

/* ==========================================================================
   SPACING SCALE
   ========================================================================== */

.table.table-relaxed thead > tr > th {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.table.table-relaxed tbody > tr > td {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.table.table-relaxed tfoot > tr > td {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.table.table-compact thead > tr > th {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .table.table-compact thead > tr > th {
  line-height: 1.3;
}

.table.table-compact tbody > tr > td {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .table.table-compact tbody > tr > td {
  line-height: 1.3;
}

.table.table-compact tfoot > tr > td {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .table.table-compact tfoot > tr > td {
  line-height: 1.3;
}

.table.table-dense thead > tr > th {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.6875rem;
  line-height: 1rem;
}

.table.table-dense tbody > tr > td {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .table.table-dense tbody > tr > td {
  line-height: 1.3;
}

.table.table-dense tfoot > tr > td {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .table.table-dense tfoot > tr > td {
  line-height: 1.3;
}

/* ==========================================================================
   ROW STATES / VARIANTS
   ========================================================================== */

/* Row hover ON by default (unless table.no-hover) */

.table:not(.no-hover) tbody > tr:hover {
    background-color: var(--bg-table-row-hover, var(--bg-primary-subtle));
  }

/* Backwards-compatible alias if you still use .table-hover anywhere */

.table.table-hover:not(.no-hover) tbody > tr:hover {
    background-color: var(--bg-table-row-hover, var(--bg-primary-subtle));
  }

/* Disable hover on table */

.table.no-hover tbody > tr:hover {
    background-color: transparent;
  }

/* Disable hover on rows containing an empty state */

.table tbody > tr:has(.empty-state):hover {
    background-color: transparent;
  }

/* Disable hover for specific cells (opt-out at td/th level) */

.table:not(.no-hover) tbody > tr:hover > :is(td, th).no-hover {
    background-color: var(--bg-table-cell-no-hover, var(--bg-table, var(--alpha-white-100)));
  }

/* Zebra */

.table.table-zebra tbody > tr:nth-child(odd) {
    background-color: var(--bg-table-row-zebra, var(--bg-primary-subtle));
  }

/* Selected */

.table tbody > tr.selected,
  .table tbody > tr[aria-selected="true"] {
    background-color: var(--bg-table-row-selected, var(--bg-info-subtle));
  }

/* Active row (clickable tables, current row, etc.) */

.table.table-clickable > tbody tr.tr-active,
  .table.table-clickable > tbody tr[aria-current="true"],
  .table > tbody tr.tr-active,
  .table > tbody tr[aria-current="true"] {
    background-color: var(--bg-table-row-active, var(--bg-primary));
    color: var(--text-table-active, var(--text-primary));
  }

.table.table-clickable:not(.no-hover) tbody > tr:hover {
  cursor: pointer;
}

/* Borderless */

.table.table-borderless :is(th, td) {
    border-color: var(--alpha-0) !important;
  }

/* Disabled row */

.table tbody > tr.is-disabled,
  .table tbody > tr[aria-disabled="true"] {
    background-color: var(--bg-table-row-disabled, var(--bg-primary-subtle));
    color: var(--text-table-disabled, var(--text-disabled));
  }

.table tbody > tr.is-disabled :is(a, button, input, select, textarea),
    .table tbody > tr[aria-disabled="true"] :is(a, button, input, select, textarea) {
  pointer-events: none;
      opacity: 0.65;
}

/* Intent rows */

.table tbody > tr.tr-success {
    background-color: var(--bg-table-row-success, var(--bg-success-subtle));
    color: var(--text-table-row-success, var(--text-success-solid));
  }

.table tbody > tr.tr-warning {
    background-color: var(--bg-table-row-warning, var(--bg-warning-subtle));
    color: var(--text-table-row-warning, var(--text-warning-solid));
  }

.table tbody > tr.tr-danger {
    background-color: var(--bg-table-row-danger, var(--bg-danger-subtle));
    color: var(--text-table-row-danger, var(--text-danger-solid));
  }

/* ==========================================================================
   ROW SWEEP — transient row-level feedback
   A translucent gradient passes left-to-right across the row, then fades.
   Triggered via JS: rowSweep(tr, 'success') / rowSweep.success(tr)
   ========================================================================== */

/* Shared pseudo-element overlay for sweep effect */

.table tbody > tr.row-sweep > td {
    position: relative;
    overflow: hidden;
  }

.table tbody > tr.row-sweep > td::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
  }

/* Active sweep — animates the gradient across */

.table tbody > tr.row-sweep.is-sweeping > td::after {
    -webkit-animation: row-sweep-pass var(--duration-row-sweep, 800ms) var(--ease-row-sweep, cubic-bezier(0.25, 0.1, 0.25, 1)) forwards;
    animation: row-sweep-pass var(--duration-row-sweep, 800ms) var(--ease-row-sweep, cubic-bezier(0.25, 0.1, 0.25, 1)) forwards;
  }

/* Variant colors — each sets a CSS var consumed by the keyframes */

.table tbody > tr.row-sweep--success > td::after {
    background: linear-gradient(90deg, transparent, var(--bg-row-sweep-success, rgba(22, 163, 74, 0.10)), transparent);
  }

.table tbody > tr.row-sweep--info > td::after {
    background: linear-gradient(90deg, transparent, var(--bg-row-sweep-info, rgba(37, 99, 235, 0.10)), transparent);
  }

.table tbody > tr.row-sweep--warning > td::after {
    background: linear-gradient(90deg, transparent, var(--bg-row-sweep-warning, rgba(217, 119, 6, 0.10)), transparent);
  }

.table tbody > tr.row-sweep--danger > td::after {
    background: linear-gradient(90deg, transparent, var(--bg-row-sweep-danger, rgba(220, 38, 38, 0.10)), transparent);
  }

/* Fade-out after sweep completes */

.table tbody > tr.row-sweep.is-fading > td::after {
    -webkit-animation: row-sweep-fade var(--duration-row-sweep-fade, 600ms) ease forwards;
    animation: row-sweep-fade var(--duration-row-sweep-fade, 600ms) ease forwards;
  }

/* Keyframes */

@-webkit-keyframes row-sweep-pass {
    0%   { opacity: 0; -webkit-transform: translateX(-100%); transform: translateX(-100%); }
    15%  { opacity: 1; }
    85%  { opacity: 1; }
    100% { opacity: 1; -webkit-transform: translateX(100%); transform: translateX(100%); }
  }

@keyframes row-sweep-pass {
    0%   { opacity: 0; -webkit-transform: translateX(-100%); transform: translateX(-100%); }
    15%  { opacity: 1; }
    85%  { opacity: 1; }
    100% { opacity: 1; -webkit-transform: translateX(100%); transform: translateX(100%); }
  }

@-webkit-keyframes row-sweep-fade {
    0%   { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }
    100% { opacity: 0; -webkit-transform: translateX(0); transform: translateX(0); }
  }

@keyframes row-sweep-fade {
    0%   { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }
    100% { opacity: 0; -webkit-transform: translateX(0); transform: translateX(0); }
  }

/* Reduced motion — show a brief static tint instead of sweep */

@media (prefers-reduced-motion: reduce) {
    .table tbody > tr.row-sweep.is-sweeping > td::after {
      -webkit-animation: none;
      animation: none;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none;
      opacity: 0.12;
    }
    .table tbody > tr.row-sweep.is-fading > td::after {
      -webkit-animation: none;
      animation: none;
      -webkit-transition: opacity 300ms ease;
      transition: opacity 300ms ease;
      opacity: 0;
    }
  }

/* ==========================================================================
   CELL MICRO-STATES (optional / opt-in)
   ========================================================================== */

.table.table-cell-states tbody > tr > td:hover {
    background-color: var(--bg-table-cell-hover, var(--bg-primary-subtle));
  }

.table.table-cell-states tbody > tr > td:focus-within {
    background-color: var(--bg-table-cell-focus, var(--bg-info-subtle));
  }

.table.table-cell-states.table-cell-ring tbody > tr > td:focus-within {
    -webkit-box-shadow: var(--ring-table-cell-focus, 0 0 0 2px var(--border-info-subtle));
    box-shadow: var(--ring-table-cell-focus, 0 0 0 2px var(--border-info-subtle));
  }

/* ==========================================================================
   CONTROL CELLS (SINGLE CLASS)
   - `.controls` ONLY on <td> that contains a control
   ========================================================================== */

.table td.controls {
  padding-top: 2px;
  padding-bottom: 2px;
  padding-left: 1px;
  padding-right: 1px;
}

/* First cell in row */

.table tr > td.controls:first-child {
  padding-left: 1rem;
  padding-right: 1px;
}

/* Last cell in row */

.table tr > td.controls:last-child {
  padding-right: 1rem;
  padding-left: 1px;
}

.table .cell-controls {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.table .cell-controls-center {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.table td.controls :is(.form-control, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control) {
  width: 100%;
  border-radius: 0.125rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}

.table td.controls .combobox__input {
  border-radius: 0.125rem;
}

/* Editable controls */

.table.table-editable td.controls :is(.form-control, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control) {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    background-color: var(--bg-table-control, var(--alpha-0));
    border-color: var(--border-table-control, var(--border-table, var(--border-primary-subtle)));
}

.table.table-editable td.controls :is(.form-control, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control):hover {
      border-color: var(--border-input-hover);
    }

.table.table-editable td.controls :is(.form-control, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control):focus {
      border-color: var(--border-input-active);
      background-color: var(--bg-table-control-focus, var(--bg-input-select));
    }

.table td.controls :is(.checkbox, .checkbox-soft, .checkbox-round, .radio, .radio-soft, .radio-ghost) {
  vertical-align: middle;
}

.table td.controls .dropdown {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

/* ==========================================================================
   STICKY HEADER / FOOTER
   - Works when the scroll container is the table's ancestor:
     e.g. .table-scroll { overflow:auto; height: ... }
   - FIX: avoid “double border” by removing th border-bottom when sticky
   ========================================================================== */

.table.table-sticky-header thead,
  .table thead.sticky-top {
  position: sticky;
  top: 0px;
  z-index: 20;
}

.table.table-sticky-footer tfoot,
  .table tfoot.sticky-bottom {
  position: sticky;
  bottom: 0px;
  z-index: 20;
}

/* Ensure sticky area paints correct background */

.table thead.sticky-top,
  .table.table-sticky-header thead {
    background-color: var(--bg-table-header-sticky, var(--bg-table-header, var(--bg-primary)));
  }

.table thead.sticky-top > tr > th,
    .table.table-sticky-header thead > tr > th {
  position: sticky;
  top: 0px;
  z-index: 20;
      background-color: var(--bg-table-header-sticky, var(--bg-table-header, var(--bg-primary)));
      /* KEY FIX: remove border so it doesn't stack with the shadow separator */
      border-bottom-color: var(--alpha-0);
}

/* Single separator line via shadow */

.table.table-sticky-header thead > tr > th,
    .table thead.sticky-top > tr > th {
      -webkit-box-shadow: var(--shadow-table-sticky-header, inset 0 -1px 0 var(--border-table-header, var(--border-primary-alt)));
      box-shadow: var(--shadow-table-sticky-header, inset 0 -1px 0 var(--border-table-header, var(--border-primary-alt)));
    }

.table tfoot.sticky-bottom > tr > td,
  .table.table-sticky-footer tfoot > tr > td {
  position: sticky;
  bottom: 0px;
  z-index: 20;
    background-color: var(--bg-table-footer-sticky, var(--bg-table-footer, var(--bg-primary-subtle)));
    border-top-color: var(--border-table, var(--border-primary-subtle));
}

.table.table-sticky-footer tfoot > tr > td,
  .table tfoot.sticky-bottom > tr > td {
    -webkit-box-shadow: var(--shadow-table-sticky-footer, inset 0 1px 0 var(--border-table, var(--border-primary-subtle)));
    box-shadow: var(--shadow-table-sticky-footer, inset 0 1px 0 var(--border-table, var(--border-primary-subtle)));
  }

/* ==========================================================================
   ROUNDED CORNERS (only when wrapped in .table-container)
   - Top corners: first/last TH in first thead row
   - Bottom corners:
     - If tfoot exists: first/last TD in last tfoot row
     - Else: first/last TD in last tbody row
   ========================================================================== */

/* Top corners */

.table-container .table thead > tr:first-child > th:first-child {
  border-top-left-radius: var(--radius-table, 0.375rem);
}

.table-container .table thead > tr:first-child > th:last-child {
  border-top-right-radius: var(--radius-table, 0.375rem);
}

/* Sticky header: keep radius on sticky header cells */

.table-container .table.table-sticky-header thead > tr:first-child > th:first-child,
.table-container .table thead.sticky-top > tr:first-child > th:first-child {
  border-top-left-radius: var(--radius-table, 0.375rem);
}

.table-container .table.table-sticky-header thead > tr:first-child > th:last-child,
.table-container .table thead.sticky-top > tr:first-child > th:last-child {
  border-top-right-radius: var(--radius-table, 0.375rem);
}

/* Bottom corners (tbody by default) */

.table-container .table tbody > tr:last-child > td:first-child {
  border-bottom-left-radius: var(--radius-table, 0.375rem);
}

.table-container .table tbody > tr:last-child > td:last-child {
  border-bottom-right-radius: var(--radius-table, 0.375rem);
}

/* If tfoot exists, footer owns the bottom corners */

.table-container .table tfoot > tr:last-child > td:first-child {
  border-bottom-left-radius: var(--radius-table, 0.375rem);
}

.table-container .table tfoot > tr:last-child > td:last-child {
  border-bottom-right-radius: var(--radius-table, 0.375rem);
}

/* When tfoot exists, prevent tbody last row from also rounding (avoid double rounding) */

.table-container .table:has(tfoot) tbody > tr:last-child > td:first-child,
.table-container .table:has(tfoot) tbody > tr:last-child > td:last-child {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/* Sticky footer: keep radius on sticky footer cells */

.table-container .table.table-sticky-footer tfoot > tr:last-child > td:first-child,
.table-container .table tfoot.sticky-bottom > tr:last-child > td:first-child {
  border-bottom-left-radius: var(--radius-table, 0.375rem);
}

.table-container .table.table-sticky-footer tfoot > tr:last-child > td:last-child,
.table-container .table tfoot.sticky-bottom > tr:last-child > td:last-child {
  border-bottom-right-radius: var(--radius-table, 0.375rem);
}

/* ==========================================================================
   STICKY FIRST / LAST COLUMN
   ========================================================================== */

.sticky-col {
  position: sticky;
  left: 0px;
  z-index: 30;
  background-color: var(--bg-table-sticky, var(--bg-table, var(--alpha-white-100)));
  -webkit-box-shadow: var(--shadow-table-sticky-col, inset -1px 0 0 var(--border-table-sticky-divider, var(--border-primary-solid)));
  box-shadow: var(--shadow-table-sticky-col, inset -1px 0 0 var(--border-table-sticky-divider, var(--border-primary-solid)));
}

.sticky-col-right {
  position: sticky;
  right: 0px;
  z-index: 30;
  background-color: var(--bg-table-sticky, var(--bg-table, var(--alpha-white-100)));
  -webkit-box-shadow: var(--shadow-table-sticky-col-right, inset 1px 0 0 var(--border-table-sticky-divider, var(--border-primary-solid)));
  box-shadow: var(--shadow-table-sticky-col-right, inset 1px 0 0 var(--border-table-sticky-divider, var(--border-primary-solid)));
}

.table thead :is(.sticky-col, .sticky-col-right) {
  z-index: 40;
  background-color: var(--bg-table-header-sticky, var(--bg-table-header, var(--bg-primary)));
}

/* Sticky overlay matches row states (but respects .no-hover) */

.table:not(.no-hover) tbody > tr:hover :is(.sticky-col, .sticky-col-right) {
  background-color: var(--bg-table-sticky-hover, var(--bg-table-row-hover, var(--bg-primary-subtle)));
}

.table tbody > tr.selected :is(.sticky-col, .sticky-col-right),
.table tbody > tr[aria-selected="true"] :is(.sticky-col, .sticky-col-right) {
  background-color: var(--bg-table-sticky-selected, var(--bg-table-row-selected, var(--bg-info-subtle)));
}

.table tbody > tr.tr-active :is(.sticky-col, .sticky-col-right),
.table tbody > tr[aria-current="true"] :is(.sticky-col, .sticky-col-right) {
  background-color: var(--bg-table-sticky-active, var(--bg-table-row-active, var(--bg-primary)));
}

/* ==========================================================================
   COLUMN HOVER SUPPORT (optional / JS)
   ========================================================================== */

.table td[col-index]:hover,
.table th[col-index]:hover {
  background-color: var(--bg-table-col-hover, var(--bg-info-subtle));
}

/* ==========================================================================
   GRID / VERTICAL BORDERS
   ========================================================================== */

.table.table-grid thead > tr > th,
.table.table-grid tbody > tr > td,
.table.table-grid tfoot > tr > td {
  border-right: 1px solid var(--border-table-grid, var(--border-primary));
}

.table.table-grid :is(th, td):last-child {
  border-right-color: var(--alpha-0);
}

.table.table-grid-strong thead > tr > th,
.table.table-grid-strong tbody > tr > td,
.table.table-grid-strong tfoot > tr > td {
  border-right: 1px solid var(--border-table-grid-strong, var(--border-primary-alt));
}

.table.table-col-borders :is(th, td).col-border {
  border-right: 1px solid var(--border-table-grid, var(--border-primary));
}

.table.table-col-borders :is(th, td).col-border-left {
  border-left: 1px solid var(--border-table-grid, var(--border-primary));
}

.table :is(th, td).cell-border {
  border: 1px solid var(--border-table-grid, var(--border-primary));
}

.table :is(th, td).cell-border-x {
  border-left: 1px solid var(--border-table-grid, var(--border-primary));
  border-right: 1px solid var(--border-table-grid, var(--border-primary));
}

.table :is(th, td).cell-border-y {
  border-top: 1px solid var(--border-table-grid, var(--border-primary));
  border-bottom: 1px solid var(--border-table-grid, var(--border-primary));
}

.table :is(th, td).no-border {
  border-color: var(--alpha-0) !important;
}

/* ==========================================================================
   EXPANDABLE ROWS
   ========================================================================== */

.table tbody > tr.tr-expandable {
  cursor: pointer;
}

.table tbody > tr.tr-expandable .expand-icon {
  display: inline-block;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
}

.table tbody > tr.tr-expandable.is-expanded .expand-icon {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.table tbody > tr.tr-detail {
  display: none;
}

.table tbody > tr.tr-detail.is-expanded {
  display: table-row;
}

.table tbody > tr.tr-detail > td {
  background-color: var(--bg-table-row-detail, var(--bg-primary-subtle));
  border-bottom-color: var(--border-table, var(--border-primary-subtle));
}

/* ==========================================================================
   SKELETON / LOADING ROWS
   ========================================================================== */

.table tbody > tr.tr-skeleton > td {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.table tbody > tr.tr-skeleton .skeleton {
  height: 0.75rem;
  border-radius: 0.25rem;
}

/* ==========================================================================
   EMPTY STATE
   ========================================================================== */

.table-empty {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 3rem;
  padding-bottom: 3rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

.collapse.show.table-empty {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .table-empty {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.table-empty {
  color: var(--text-tertiary);
}

.table-empty__icon {
  margin-bottom: 0.75rem;
  font-size: 1.75rem;
  line-height: 2.5rem;
  letter-spacing: -0.01em;
  opacity: 0.4;
}

.table-empty__title {
  margin-bottom: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-secondary);
}

.table-empty__message {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .table-empty__message {
  line-height: 1.3;
}

/* ==========================================================================
   RESIZE HANDLES (for .table--resizable)
   ========================================================================== */

.table__resize-handle {
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  cursor: col-resize;
  width: var(--size-table-resize-handle-width, 4px);
  background-color: var(--bg-table-resize-handle, transparent);
  -webkit-transition: background-color var(--duration-fast, 100ms);
  transition: background-color var(--duration-fast, 100ms);
  z-index: 1;
}

.table__resize-handle:hover {
  background-color: var(--bg-table-resize-handle-hover, var(--utility-blue-400));
}

.table__resize-handle--active {
  background-color: var(--bg-table-resize-handle-active, var(--utility-blue-500));
}

/* ==========================================================================
   DATA GRID
   Spreadsheet-like rate grid built on top of .table.
   Composes: table.css sticky columns, resize handles, cell states.
   ========================================================================== */

/* ── Container ───────────────────────────────────────────────────────────── */

.data-grid {
  position: relative;
  width: 100%;
}

.data-grid__scroll {
  width: 100%;
  overflow: auto;
}

/* ── Table overrides ─────────────────────────────────────────────────────── */

.data-grid .table {
  border-collapse: separate;
  --tw-border-spacing-x: 0px;
  --tw-border-spacing-y: 0px;
  border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
}

/* Columns */

.data-grid .table thead > tr > th {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Subtext below header label — caption typography */

.data-grid .table thead > tr > th .data-grid__col-subtext {
  margin-top: 0.125rem;
  display: block;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 400;
  line-height: 1.25;
      color: var(--text-tertiary);
}

/* ── Cell states ─────────────────────────────────────────────────────────── */

.data-grid__cell {
  position: relative;
  cursor: pointer;
  -webkit-transition: outline-color 75ms ease-in-out, background-color 75ms ease-in-out;
  transition: outline-color 75ms ease-in-out, background-color 75ms ease-in-out;
  min-width: 72px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  outline: 1px solid transparent;
  outline-offset: -1px;
}

.data-grid__cell:hover {
    background-color: var(--bg-table-row-hover, var(--bg-primary-subtle));
  }

/* Focused cell — keyboard or click (matches project input:focus) */

.data-grid__cell.is-focused {
    outline-color: var(--border-input-active);
    z-index: 5;
  }

/* Editing cell — popover is open (matches input:focus with subtle bg) */

.data-grid__cell.is-editing {
    outline-color: var(--border-input-active);
    background-color: var(--bg-input-soft-active, var(--utility-neutral-100));
    z-index: 6;
  }

/* Dirty cell — unsaved change (outline only) */

.data-grid__cell.is-dirty {
    outline-color: var(--border-warning, var(--utility-amber-400));
  }

/* Error cell — save failed (outline only) */

.data-grid__cell.is-error {
    outline-color: var(--border-danger, var(--utility-red-500));
  }

/* ── Cell content ────────────────────────────────────────────────────────── */

.data-grid__cell-value {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: right;
}

.data-grid__cell-value:empty::before {
    content: '—';
    color: var(--text-quaternary, var(--text-tertiary));
    opacity: 0.4;
  }

/* Text type cells: left align */

.data-grid__cell--text .data-grid__cell-value {
  text-align: left;
}

/* ── Placeholder cells ──────────────────────────────────────────────────── */

.data-grid__cell.is-placeholder .data-grid__cell-value {
  color: var(--text-quaternary, var(--text-tertiary));
  opacity: 0.5;
  font-style: italic;
}

.data-grid__cell.is-placeholder .data-grid__cell-value::before {
    content: none;
  }

.data-grid__cell.is-placeholder:hover .data-grid__cell-value {
    opacity: 0.7;
  }

/* ── Cell edit popover (value input) ─────────────────────────────────────── */

.data-grid__edit-popover {
  width: 220px;
}

.data-grid__edit-popover .popover__header {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.data-grid__edit-popover .popover__header-title {
  font-size: 0.6875rem;
  line-height: 1rem;
    color: var(--text-secondary);
}

.data-grid__edit-popover .popover__header-subtext {
  margin-left: 0.25rem;
  font-size: 0.6875rem;
  line-height: 1rem;
    color: var(--text-tertiary);
}

.data-grid__edit-popover .popover__body {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.data-grid__edit-popover .popover__footer {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.data-grid__edit-popover .popover__footer-context {
  margin-right: auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.6875rem;
  line-height: 1rem;
    color: var(--text-tertiary);
}

/* ── Lane edit popover (multi-field for geography) ──────────────────────── */

.data-grid__lane-popover {
  width: 300px;
}

.data-grid__lane-popover .popover__header {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.data-grid__lane-popover .popover__body {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.data-grid__lane-popover .data-grid__lane-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.data-grid__lane-popover .data-grid__lane-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.data-grid__lane-popover .data-grid__lane-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .data-grid__lane-popover .data-grid__lane-field {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.data-grid__lane-popover .data-grid__lane-field--full {
  grid-column: span 2 / span 2;
}

.data-grid__lane-popover .data-grid__lane-field > label {
  margin-bottom: 0.125rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
      color: var(--text-secondary);
}

.data-grid__lane-popover .popover__footer {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

/* ── Cell success flash ─────────────────────────────────────────────────── */

.data-grid__cell.is-save-success {
  -webkit-animation: cell-save-flash 1s ease-out forwards;
  animation: cell-save-flash 1s ease-out forwards;
}

@-webkit-keyframes cell-save-flash {
  0%   { outline-color: var(--border-success, var(--utility-green-500)); }
  10%  { outline-color: var(--border-success, var(--utility-green-500)); }
  100% { outline-color: transparent; }
}

@keyframes cell-save-flash {
  0%   { outline-color: var(--border-success, var(--utility-green-500)); }
  10%  { outline-color: var(--border-success, var(--utility-green-500)); }
  100% { outline-color: transparent; }
}

/* ── Row actions ─────────────────────────────────────────────────────────── */

.data-grid__row-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.125rem;
}

.collapse.show.data-grid__row-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .data-grid__row-actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ── Loading state on save button ────────────────────────────────────────── */

.data-grid [data-grid-edit-save].is-saving {
  pointer-events: none;
  opacity: 0.6;
}

/* ── Paste indicator ─────────────────────────────────────────────────────── */

.data-grid__paste-zone {
  position: absolute;
  inset: 0px;
  z-index: 50;
  display: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: var(--bg-info-subtle, rgba(59, 130, 246, 0.05));
  border: 2px dashed var(--border-info, var(--color-blue-400));
  border-radius: var(--radius-table, 0.375rem);
}

.data-grid__paste-zone.is-active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.collapse.show.data-grid__paste-zone.is-active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .data-grid__paste-zone.is-active {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ── Reduced motion ──────────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  .data-grid__cell {
    -webkit-transition: none;
    transition: none;
  }

  .data-grid__cell.is-save-success {
    -webkit-animation: none;
    animation: none;
  }
}

/*Timeline*/

/* ==========================================================================
   Tree View v3 – Explorer Style (UPDATED: Ellipsis-safe overflow)
   - Native expand/collapse via <details>/<summary> (no JS required)
   - Checkbox support per node
   - Explorer layout: toggle column, icon, label, meta/actions
   - Optional connector lines (tree-lines) + density variants
   - UPDATED: proper flex overflow + ellipsis for label/meta
   ========================================================================== */

.tree {
  --tree-indent: 1.25rem; /* indent per depth */
  --tree-toggle-size: 1rem; /* +/- square */
  --tree-row-radius: 0.5rem;
  position: relative;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-tree, var(--text-primary));
}

/* Container — smooth scroll for navigation */

.tree .navigator {
  padding: 0.5rem;
    background-color: var(--bg-tree-surface, var(--alpha-0));
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    .tree .navigator { scroll-behavior: auto; }
  }

/* Base reset */

.tree ul,
  .tree li {
    margin: 0;
    padding: 0;
    list-style: none;
  }

/* Bottom breathing room on root list */

.tree > ul[role="group"] {
    padding-bottom: 2rem; /* pb-8 */
  }

.tree li {
    position: relative;
  }

/* Depth indentation */

.tree .tree-children {
    margin-left: var(--tree-indent);
  }

/* Optional connector lines */

.tree.tree-lines .tree-children {
    position: relative;
  }

.tree.tree-lines .tree-children::before {
      content: "";
      position: absolute;
      left: calc(-0.325rem); /* roughly center of toggle column */
      top: 0.25rem;
      bottom: 0.5rem;
      width: 1px;
      background: var(--bg-tree-line, var(--border-primary));
      opacity: var(--opacity-tree-line, 0.9);
    }

.tree.tree-lines li::before {
    content: "";
    position: absolute;
    left: calc(var(--tree-indent) * -1 + 0.925rem);
    top: 1rem;
    width: 0.75rem;
    height: 1px;
    background: var(--bg-tree-line, var(--border-primary));
    opacity: var(--opacity-tree-line, 0.9);
  }

/* =========================
   GROUP (expand/collapse)
   ========================= */

.tree details.tree-group {
  position: relative;
}

/* Hide default summary marker */

.tree details.tree-group > summary {
      list-style: none;
    }

.tree details.tree-group > summary::-webkit-details-marker {
        display: none;
      }

/* =========================
   ROW
   ========================= */

.tree .tree-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 32px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.25rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, backdrop-filter, -webkit-box-shadow, -webkit-transform, -webkit-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, backdrop-filter, -webkit-box-shadow, -webkit-transform, -webkit-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-box-shadow, -webkit-transform, -webkit-filter;
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.collapse.show.tree .tree-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .tree .tree-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.tree .tree-row {
    border-radius: var(--radius-tree-row, var(--tree-row-radius));
    background-color: var(--bg-tree-row, var(--alpha-0));
    /* IMPORTANT: enables ellipsis inside flex children */
    min-width: 0;
  }

/* Hover ON by default, opt-out with .no-hover */

.tree:not(.no-hover) .tree-row:hover {
    background-color: var(--bg-tree-row-hover, var(--bg-primary-subtle));
  }

/* Active/current */

.tree .tree-row.is-active,
  .tree .tree-row[aria-current="true"] {
    background-color: var(--bg-tree-row-active, var(--bg-secondary));
    color: var(--text-tree-row-active, var(--text-primary));
  }

/* Selected */

.tree .tree-row.is-selected,
  .tree .tree-row[aria-selected="true"] {
    background-color: var(--bg-tree-row-selected, var(--bg-info-subtle));
    color: var(--text-tree-row-selected, var(--text-primary));
  }

/* Disabled */

.tree .tree-row.is-disabled,
  .tree .tree-row[aria-disabled="true"] {
    background-color: var(--bg-tree-row-disabled, var(--bg-primary-subtle));
    color: var(--text-tree-row-disabled, var(--text-disabled));
    opacity: var(--opacity-tree-disabled, 0.6);
    cursor: default;
  }

.tree .tree-row.is-disabled *,
    .tree .tree-row[aria-disabled="true"] * {
      pointer-events: none;
    }

/* Focus ring */

.tree .tree-row:focus-within {
    -webkit-box-shadow: var(--ring-tree-row, 0 0 0 2px var(--border-info-subtle));
    box-shadow: var(--ring-tree-row, 0 0 0 2px var(--border-info-subtle));
  }

/* =========================
   ACTIONS BAR (sticky expand/collapse all)
   ========================= */

.tree .tree-actions {
    background-color: var(--bg-tree-surface, inherit);
  }

/* =========================
   TOGGLE (+ / -)
   ========================= */

.tree .tree-toggle {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.25rem;
  border-width: 1px;
  padding: 0px;
    width: var(--tree-toggle-size);
    height: var(--tree-toggle-size);
    background-color: var(--bg-tree-toggle, var(--bg-primary));
    border-color: var(--border-tree-toggle, var(--border-primary));
    color: var(--text-tree-toggle, var(--text-tertiary));
}

.tree .tree-toggle:hover {
  cursor: pointer;
}

/* Show + by default, - when open */

.tree details.tree-group > summary .tree-toggle::before {
    content: "+";
    font-size: 0.75rem;
    line-height: 1;
  }

.tree details.tree-group[open] > summary .tree-toggle::before {
    content: "–";
  }

/* Leaf nodes: hide toggle box entirely */

.tree .tree-leaf .tree-toggle {
    visibility: hidden;
  }

/* Flat trees (no expandable groups): remove toggle space entirely */

.tree:not(:has(details.tree-group)) .tree-toggle {
    display: none;
  }

/* =========================
   CHECKBOX
   ========================= */

.tree .tree-check {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

/* If you have your own checkbox component, it will inherit nicely.
       This is just a safe default alignment. */

.tree .tree-check input[type="checkbox"] {
  vertical-align: middle;
}

/* =========================
   ICON + LABEL + META
   ========================= */

.tree .tree-icon {
  -ms-flex-negative: 0;
  flex-shrink: 0;
    color: var(--text-tree-icon, var(--text-tertiary));
}

/* Ellipsis-safe label inside flex row */

.tree .tree-label {
  font-weight: 500;
    color: var(--text-tree-label, var(--text-primary));
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-width: 0; /* CRITICAL */
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* Meta should truncate too, but not crush label */

.tree .tree-meta {
  margin-left: auto;
  font-size: 0.75rem;
  line-height: 1rem;
  opacity: 0.7;
}

.wizard-card--trait .tree .tree-meta {
  line-height: 1.3;
}

.tree .tree-meta {
    color: var(--text-tree-meta, var(--text-tertiary));
    max-width: 40%;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

.tree .tree-actions {
  margin-left: 0.5rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
    color: var(--text-tree-actions, var(--text-tertiary));
}

/* =========================
   DENSITY VARIANTS
   ========================= */

.tree.tree-compact .tree-row {
  min-height: 28px;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.tree.tree-dense .tree-row {
  min-height: 26px;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.tree.tree-relaxed .tree-row {
  min-height: 36px;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

/* ─── Row Sweep — transient highlight for tree rows ─── */

.tree .tree-row.row-sweep {
    position: relative;
    overflow: hidden;
  }

.tree .tree-row.row-sweep::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    border-radius: inherit;
  }

/* Default (info) */

.tree .tree-row.row-sweep::after,
  .tree .tree-row.row-sweep--info::after {
    background: linear-gradient(90deg, transparent, var(--bg-row-sweep-info, rgba(37, 99, 235, 0.10)), transparent);
  }

.tree .tree-row.row-sweep--success::after {
    background: linear-gradient(90deg, transparent, var(--bg-row-sweep-success, rgba(22, 163, 74, 0.10)), transparent);
  }

.tree .tree-row.row-sweep--warning::after {
    background: linear-gradient(90deg, transparent, var(--bg-row-sweep-warning, rgba(217, 119, 6, 0.10)), transparent);
  }

.tree .tree-row.row-sweep--danger::after {
    background: linear-gradient(90deg, transparent, var(--bg-row-sweep-danger, rgba(220, 38, 38, 0.10)), transparent);
  }

.tree .tree-row.row-sweep.is-sweeping::after {
    -webkit-animation: row-sweep-pass var(--duration-row-sweep, 800ms) var(--ease-row-sweep, cubic-bezier(0.25, 0.1, 0.25, 1)) forwards;
    animation: row-sweep-pass var(--duration-row-sweep, 800ms) var(--ease-row-sweep, cubic-bezier(0.25, 0.1, 0.25, 1)) forwards;
  }

.tree .tree-row.row-sweep.is-fading::after {
    -webkit-animation: row-sweep-fade var(--duration-row-sweep-fade, 600ms) ease forwards;
    animation: row-sweep-fade var(--duration-row-sweep-fade, 600ms) ease forwards;
  }

@media (prefers-reduced-motion: reduce) {
    .tree .tree-row.row-sweep.is-sweeping::after {
      -webkit-animation: none;
      animation: none;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none;
      opacity: 0.12;
    }
    .tree .tree-row.row-sweep.is-fading::after {
      -webkit-animation: none;
      animation: none;
      -webkit-transition: opacity 300ms ease;
      transition: opacity 300ms ease;
      opacity: 0;
    }
  }

/* Lines off */

.tree.tree-lines-none .tree-children::before,
  .tree.tree-lines-none li::before {
    content: none !important;
  }

/* ========================================
   Component: Stat Card / KPI Widget
   ======================================== */

.stat-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
}

.collapse.show.stat-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .stat-card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.stat-card {
  background-color: var(--bg-stat-card, var(--bg-card));
  border-color: var(--border-stat-card, var(--border-card));
  -webkit-box-shadow: var(--shadow-stat-card, var(--shadow-card, var(--shadow-sm)));
  box-shadow: var(--shadow-stat-card, var(--shadow-card, var(--shadow-sm)));
}

.stat-card__header {
  margin-bottom: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.collapse.show.stat-card__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .stat-card__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.stat-card__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 2rem;
  width: 2rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.collapse.show.stat-card__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .stat-card__icon {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.stat-card__icon {
  background-color: var(--bg-primary-subtle);
  color: var(--text-primary-solid);
}

.stat-card__value {
  font-size: 1.5rem;
  line-height: 2rem;
  letter-spacing: -0.01em;
  font-weight: 600;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  color: var(--text-stat-card-value, var(--text-primary));
}

.stat-card__label {
  margin-top: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .stat-card__label {
  line-height: 1.3;
}

.stat-card__label {
  color: var(--text-stat-card-label, var(--text-secondary));
}

.stat-card__trend {
  margin-top: 0.5rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
}

.stat-card__trend--up {
  color: var(--text-stat-card-trend-up, var(--text-success));
}

.stat-card__trend--down {
  color: var(--text-stat-card-trend-down, var(--text-danger));
}

.stat-card__sparkline {
  margin-top: 0.75rem;
  height: 2.5rem;
}

/* Variants */

.stat-card--compact {
  padding: 0.75rem;
}

.stat-card--compact .stat-card__value {
  font-size: 1.125rem;
  line-height: 2rem;
}

.stat-card--horizontal {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
}

.stat-card--horizontal .stat-card__header {
  margin-bottom: 0px;
}

.stat-card--highlighted {
  border-left: 3px solid var(--bg-primary-solid);
}

/* ========================================
   Component: Activity Feed
   ======================================== */

.activity-feed {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.activity-feed {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .activity-feed {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.activity-feed__group {
  position: sticky;
  top: 0px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--text-tertiary);
  background-color: var(--bg-surface);
}

.activity-feed__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
  border-bottom-width: 1px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.collapse.show.activity-feed__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .activity-feed__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.activity-feed__item {
  border-color: var(--border-activity-feed-item, var(--border-secondary));
  background-color: var(--bg-activity-feed-item, var(--bg-surface));
  -webkit-transition: background-color var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: background-color var(--duration-fast, 100ms) var(--ease-default, ease);
}

.activity-feed__item:hover {
  background-color: var(--bg-activity-feed-item-hover, var(--bg-hover));
}

.activity-feed__item--unread {
  background-color: var(--bg-activity-feed-item-unread, var(--bg-info-subtle));
}

.activity-feed__avatar {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.activity-feed__content {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .activity-feed__content {
      display: none;
    }

.activity-feed__action {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .activity-feed__action {
  line-height: 1.3;
}

.activity-feed__action {
  color: var(--text-activity-feed-action, var(--text-secondary));
}

.activity-feed__target {
  font-weight: 500;
  color: var(--text-activity-feed-target, var(--text-link));
}

.activity-feed__meta {
  margin-top: 0.125rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-activity-feed-meta, var(--text-tertiary));
}

/* Compact */

.activity-feed--compact .activity-feed__item {
  gap: 0.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

/* Timeline variant (with connector) */

.activity-feed--timeline {
  position: relative;
  padding-left: 2rem;
}

.activity-feed--timeline .activity-feed__item {
  position: relative;
  border-bottom-width: 0px;
  padding-left: 0px;
}

.activity-feed--timeline .activity-feed__item::before {
  content: "";
  position: absolute;
  left: 0px;
  width: 2px;
  top: 0;
  bottom: 0;
  background-color: var(--border-secondary);
  -webkit-transform: translateX(5px);
  -ms-transform: translateX(5px);
  transform: translateX(5px);
}

.activity-feed--timeline .activity-feed__item:last-child::before {
  display: none;
}

/* ========================================
   Rich Activity Feed Extensions
   ======================================== */

/* --- Icon variant (event type icon instead of avatar) --- */

.activity-feed__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 2rem;
  width: 2rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.75rem;
  line-height: 1rem;
}

.collapse.show.activity-feed__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .activity-feed__icon {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .activity-feed__icon {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.activity-feed__icon {
  background-color: var(--bg-tertiary-subtle);
  color: var(--text-secondary);
}

.activity-feed__icon--success {
  background-color: var(--bg-success-subtle);
  color: var(--text-success);
}

.activity-feed__icon--danger {
  background-color: var(--bg-danger-subtle);
  color: var(--text-danger);
}

.activity-feed__icon--warning {
  background-color: var(--bg-warning-subtle);
  color: var(--text-warning);
}

.activity-feed__icon--info {
  background-color: var(--bg-info-subtle);
  color: var(--text-info);
}

.activity-feed__icon--primary {
  background-color: var(--bg-primary-subtle);
  color: var(--text-primary-solid);
}

/* --- Rich body content --- */

.activity-feed__body {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  line-height: 1.625;
}

.wizard-card--trait .activity-feed__body {
  line-height: 1.3;
}

.activity-feed__body {
  color: var(--text-secondary);
}

/* --- Inline attachments --- */

.activity-feed__attachments {
  margin-top: 0.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.375rem;
}

.collapse.show.activity-feed__attachments {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .activity-feed__attachments {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.activity-feed__attachment {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  border-radius: 0.25rem;
  border-width: 1px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  background-color: var(--bg-tertiary-subtle);
  border-color: var(--border-secondary);
  color: var(--text-secondary);
}

/* --- Inline actions --- */

.activity-feed__actions {
  margin-top: 0.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.activity-feed__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .activity-feed__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.activity-feed__action-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  border-width: 0px;
  background-color: transparent;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  color: var(--text-tertiary);
  -webkit-transition: color 100ms ease;
  transition: color 100ms ease;
}

.activity-feed__action-btn:hover {
  color: var(--text-primary);
}

/* --- Priority / Important highlight --- */

.activity-feed__item--important {
  border-left: 3px solid var(--bg-danger-solid);
}

.activity-feed__item--important .activity-feed__action {
  font-weight: 500;
  color: var(--text-primary);
}

/* --- System event styling (muted) --- */

.activity-feed__item--system {
  background-color: var(--bg-tertiary-subtle);
}

.activity-feed__item--system .activity-feed__action {
  font-style: italic;
  color: var(--text-tertiary);
}

/* --- Expandable item --- */

.activity-feed__expand {
  margin-top: 0.25rem;
  cursor: pointer;
  border-width: 0px;
  background-color: transparent;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  color: var(--text-link);
}

.activity-feed__expand:hover {
  text-decoration: underline;
}

.activity-feed__detail {
  margin-top: 0.375rem;
  display: none;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .activity-feed__detail {
  line-height: 1.3;
}

.activity-feed__detail {
  color: var(--text-secondary);
}

.activity-feed__detail.is-expanded {
  display: block;
}

/* --- Card variant (each item gets card treatment) --- */

.activity-feed--cards .activity-feed__item {
  margin-bottom: 0.5rem;
  border-radius: 0.5rem;
  border-width: 1px;
  border-bottom-width: 1px;
  background-color: var(--bg-card);
  border-color: var(--border-card);
}

.activity-feed--cards .activity-feed__item:hover {
  border-color: var(--border-primary);
}

/* ========================================
   Component: Empty State
   ======================================== */

.empty-state {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  padding-top: 3rem;
  padding-bottom: 3rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  text-align: center;
}

.collapse.show.empty-state {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .empty-state {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.empty-state__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 3.5rem;
  width: 3.5rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.75rem;
  font-size: 1.5rem;
  line-height: 2rem;
  letter-spacing: -0.01em;
}

.collapse.show.empty-state__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .empty-state__icon {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.empty-state__icon {
  background-color: var(--bg-empty-state-icon, var(--bg-tertiary));
  color: var(--text-empty-state-icon, var(--text-quaternary));
}

.empty-state__title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-empty-state-title, var(--text-secondary));
}

.empty-state__description {
  max-width: 20rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .empty-state__description {
  line-height: 1.3;
}

.empty-state__description {
  color: var(--text-empty-state-description, var(--text-tertiary));
}

.empty-state__actions {
  margin-top: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.empty-state__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .empty-state__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ── Variants ── */

/* Compact: smaller spacing and icon for inline use in cards/panels */

.empty-state--compact {
  gap: 0.5rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

.empty-state--compact .empty-state__icon {
  height: 2.5rem;
  width: 2.5rem;
  border-radius: 0.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
}

.empty-state--compact .empty-state__title {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .empty-state--compact .empty-state__title {
  line-height: 1.3;
}

.empty-state--compact .empty-state__description {
  font-size: 0.6875rem;
  line-height: 1rem;
}

/* Large: bigger icon and text for full-page empty states */

.empty-state--lg {
  gap: 1rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
  padding-left: 2rem;
  padding-right: 2rem;
}

.empty-state--lg .empty-state__icon {
  height: 4rem;
  width: 4rem;
  border-radius: 1rem;
  font-size: 1.75rem;
  line-height: 2.5rem;
  letter-spacing: -0.01em;
}

.empty-state--lg .empty-state__title {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
}

.empty-state--lg .empty-state__description {
  max-width: 24rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

/* Bordered: dashed border around container (drop zones, empty containers) */

.empty-state--bordered {
  border-radius: 0.5rem;
  border: 2px dashed var(--border-empty-state, var(--border-default));
}

/* ==========================================================================
   Component: Object Header
   Purpose:   Entity identity block for detail views, modals, and panels.
              Shows the object's avatar/image, name, metadata, and actions.

   Anatomy
   -------
   .object-header
     .object-header__figure      — avatar, thumbnail, icon placeholder
     .object-header__body        — title + meta + optional description
       .object-header__title     — entity name (primary text)
       .object-header__meta      — inline metadata (badges, codes, status)
       .object-header__description — optional secondary text
     .object-header__actions     — right-aligned action buttons / dropdown

   Variants
   --------
   (default)                  — standard layout for modals/panels
   .object-header--compact    — reduced spacing for side panels / narrow contexts
   .object-header--stacked    — vertical layout (figure above body)
   .object-header--bordered   — bottom border separator
   .object-header--flush      — no padding (when inside ps-toolbar or header)

   Figure Sizes
   ------------
   .object-header__figure--sm  — 32x32
   .object-header__figure--lg  — 80x80
   .object-header__figure--xl  — 96x96
   (default)                   — 48x48
   ========================================================================== */

/* ==========================================================================
   BASE
   ========================================================================== */

.object-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem;
}

.collapse.show.object-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .object-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.object-header__figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 0.5rem;
}

.collapse.show.object-header__figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .object-header__figure {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.object-header__figure {
  width: 48px;
  height: 48px;
  background-color: var(--bg-object-header-figure, var(--bg-tertiary));
  color: var(--text-object-header-figure, var(--text-quaternary));
}

.object-header__figure img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* Placeholder icon styling */

.object-header__figure i {
  font-size: 1.25rem;
  line-height: 2rem;
    opacity: 0.5;
}

.object-header__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.125rem;
}

.collapse.show.object-header__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.menu--collapsed .menu-link .object-header__body {
      display: none;
    }

@media (max-width: 420px) {
  .ach-card > .object-header__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.object-header__title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
}

.object-header__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
  row-gap: 0.25rem;
}

.collapse.show.object-header__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .object-header__meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.object-header__meta > * {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .object-header__meta > * {
  line-height: 1.3;
}

.object-header__meta > * {
    color: var(--text-secondary);
  }

/* Dot separator between meta items */

.object-header__meta > .object-header__separator {
  height: 0.25rem;
  width: 0.25rem;
  border-radius: 9999px;
    background-color: var(--text-quaternary);
}

.object-header__description {
  margin-top: 0.125rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .object-header__description {
  line-height: 1.3;
}

.object-header__description {
  color: var(--text-tertiary);
}

.object-header__actions {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.collapse.show.object-header__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .object-header__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ==========================================================================
   FIGURE SIZES
   ========================================================================== */

.object-header__figure--sm {
  width: 32px;
  height: 32px;
  border-radius: 0.375rem;
}

.object-header__figure--sm i {
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.object-header__figure--lg {
  width: 80px;
  height: 80px;
  border-radius: 0.75rem;
}

.object-header__figure--lg i {
  font-size: 1.75rem;
  line-height: 2.5rem;
  letter-spacing: -0.01em;
}

.object-header__figure--xl {
  width: 96px;
  height: 96px;
  border-radius: 0.75rem;
}

.object-header__figure--xl i {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.015em;
}

/* ==========================================================================
   COMPACT
   ========================================================================== */

.object-header--compact {
  gap: 0.75rem;
  padding: 0.75rem;
}

.object-header--compact .object-header__figure {
    width: 36px;
    height: 36px;
    border-radius: 0.375rem;
  }

.object-header--compact .object-header__figure i {
  font-size: 1rem;
  line-height: 1.5rem;
}

.object-header--compact .object-header__title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.object-header--compact .object-header__meta > * {
  font-size: 0.6875rem;
  line-height: 1rem;
}

/* ==========================================================================
   STACKED (vertical layout)
   ========================================================================== */

.object-header--stacked {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  text-align: center;
}

.object-header--stacked .object-header__body {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.object-header--stacked .object-header__meta {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.object-header--stacked .object-header__actions {
  margin-left: 0px;
}

/* ==========================================================================
   MODIFIERS
   ========================================================================== */

/* Bottom border */

.object-header--bordered {
  border-bottom: 1px solid var(--border-divider, var(--border-primary));
}

/* No padding (for embedding inside ps-toolbar or other padded containers) */

.object-header--flush {
  padding: 0px;
}

/* ==========================================================================
   Component: Detail Section
   Purpose:   Semantic wrapper for grouped key-value content in detail views.
              Provides consistent section headers, spacing, and optional
              collapse or section-level actions.

   Anatomy
   -------
   .detail-section
     .detail-section__header       — flex row with title + optional actions
       .detail-section__title      — section heading text
       .detail-section__actions    — optional right-aligned action buttons
     .detail-section__body         — content area (key-value pairs, tables, etc.)

   Variants
   --------
   (default)                       — spacing-only wrapper, no border
   .detail-section--divider        — top border separator between sections
   .detail-section--bordered       — full border around the section
   .detail-section--card           — elevated card-style section
   .detail-section--collapsible    — header acts as collapse toggle

   Context modifiers
   -----------------
   .detail-section--flush          — no horizontal padding (for full-bleed tables)
   .detail-section--compact        — reduced spacing
   ========================================================================== */

/* ==========================================================================
   BASE
   ========================================================================== */

.detail-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.detail-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .detail-section {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* Spacing between consecutive sections */

.detail-section + .detail-section {
  margin-top: 1.5rem;
}

/* ---------- Header ---------- */

.detail-section__header {
  margin-bottom: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.5rem;
}

.collapse.show.detail-section__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .detail-section__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.detail-section__title {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.wizard-card--trait .detail-section__title {
  line-height: 1.3;
}

.detail-section__title {
  color: var(--text-detail-section-title, var(--text-secondary));
}

.detail-section__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.collapse.show.detail-section__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .detail-section__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ---------- Body ---------- */

.detail-section__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.detail-section__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .detail-section__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ==========================================================================
   DIVIDER VARIANT — top border between stacked sections
   ========================================================================== */

.detail-section--divider + .detail-section--divider {
  padding-top: 1.5rem;
  border-top: 1px solid var(--border-detail-section, var(--border-primary-subtle));
}

/* ==========================================================================
   BORDERED VARIANT — outlined section
   ========================================================================== */

.detail-section--bordered {
  border-radius: 0.5rem;
  padding: 1rem;
  border: 1px solid var(--border-detail-section, var(--border-primary-subtle));
}

.detail-section--bordered .detail-section__header {
  margin-bottom: 0.75rem;
}

/* ==========================================================================
   CARD VARIANT — elevated card-style section
   ========================================================================== */

.detail-section--card {
  border-radius: 0.75rem;
  padding: 1rem;
  background-color: var(--bg-detail-section-card, var(--bg-surface));
  border: 1px solid var(--border-detail-section, var(--border-primary-subtle));
  -webkit-box-shadow: var(--shadow-xs);
  box-shadow: var(--shadow-xs);
}

.detail-section--card .detail-section__header {
  margin-bottom: 0.75rem;
}

/* ==========================================================================
   COLLAPSIBLE VARIANT
   ========================================================================== */

.detail-section--collapsible > .detail-section__header {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border-radius: 0.25rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  -webkit-transition: background-color 150ms ease;
  transition: background-color 150ms ease;
}

.detail-section--collapsible > .detail-section__header:hover {
    background-color: var(--bg-primary-subtle);
  }

/* Chevron indicator */

.detail-section--collapsible > .detail-section__header::before {
  content: '\f054'; /* fa-chevron-right */
  font-family: 'Font Awesome 6 Pro';
  font-weight: 300;
  margin-right: 0.5rem;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-quaternary);
  -webkit-transition: -webkit-transform 160ms ease;
  transition: -webkit-transform 160ms ease;
  transition: transform 160ms ease;
  transition: transform 160ms ease, -webkit-transform 160ms ease;
}

.detail-section--collapsible.is-open > .detail-section__header::before {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

/* Collapse body */

.detail-section--collapsible > .detail-section__body {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  -webkit-transition: max-height 200ms ease, opacity 150ms ease 50ms;
  transition: max-height 200ms ease, opacity 150ms ease 50ms;
}

.detail-section--collapsible.is-open > .detail-section__body {
  max-height: 2000px;
  opacity: 1;
  -webkit-transition: max-height 300ms ease, opacity 150ms ease;
  transition: max-height 300ms ease, opacity 150ms ease;
}

/* ==========================================================================
   CONTEXT MODIFIERS
   ========================================================================== */

/* Flush: no horizontal padding (for full-bleed tables inside sections) */

.detail-section--flush .detail-section__body {
  margin-left: -1rem;
  margin-right: -1rem;
}

/* Compact: tighter spacing */

.detail-section--compact {
  gap: 0px;
}

.detail-section--compact + .detail-section--compact {
  margin-top: 1rem;
}

.detail-section--compact .detail-section__header {
  margin-bottom: 0.25rem;
}

.detail-section--compact .detail-section__title {
  font-size: 0.6875rem;
  line-height: 1rem;
}

/* ========================================
   Component: Bulk Action Bar
   Floating selection toolbar that slides up when items are selected.
   Uses themed surface tokens — white in light mode, dark in dark mode.
   ======================================== */

.bulk-action-bar {
  position: fixed;
  bottom: 0px;
  left: 50%;
  z-index: 40;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.collapse.show.bulk-action-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .bulk-action-bar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.bulk-action-bar {
  -webkit-transform: translate(-50%, 100%);
  -ms-transform: translate(-50%, 100%);
  transform: translate(-50%, 100%);
  opacity: 0;
  pointer-events: none;
  background-color: var(--bg-bulk-action-bar);
  color: var(--text-bulk-action-bar);
  border: 1px solid var(--border-bulk-action-bar);
  border-bottom: 0;
  -webkit-box-shadow: var(--shadow-bulk-action-bar);
  box-shadow: var(--shadow-bulk-action-bar);
  backdrop-filter: blur(12px);
  -webkit-transition: opacity var(--duration-normal, 200ms) var(--ease-default, ease),
              -webkit-transform var(--duration-normal, 200ms) var(--ease-default, ease);
  transition: opacity var(--duration-normal, 200ms) var(--ease-default, ease),
              -webkit-transform var(--duration-normal, 200ms) var(--ease-default, ease);
  transition: transform var(--duration-normal, 200ms) var(--ease-default, ease),
              opacity var(--duration-normal, 200ms) var(--ease-default, ease);
  transition: transform var(--duration-normal, 200ms) var(--ease-default, ease),
              opacity var(--duration-normal, 200ms) var(--ease-default, ease),
              -webkit-transform var(--duration-normal, 200ms) var(--ease-default, ease);
  will-change: transform, opacity;
}

/* Visible state */

.bulk-action-bar.is-visible {
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  opacity: 1;
  pointer-events: auto;
}

/* Selection count */

.bulk-action-bar__count {
  white-space: nowrap;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  color: var(--text-bulk-action-bar);
}

/* Action buttons container */

.bulk-action-bar__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
}

.collapse.show.bulk-action-bar__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .bulk-action-bar__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* Vertical divider */

.bulk-action-bar__divider {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
  width: 1px;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  background-color: var(--border-bulk-action-bar);
  opacity: 0.5;
}

/* Dismiss / clear button */

.bulk-action-bar__dismiss {
  margin-left: 0.25rem;
  cursor: pointer;
  border-radius: 0.375rem;
  padding: 0.375rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  line-height: 1;
  color: var(--text-bulk-action-bar);
  opacity: 0.5;
  background: transparent;
  border: none;
  -webkit-transition: opacity var(--duration-fast, 100ms) var(--ease-default, ease),
              background-color var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: opacity var(--duration-fast, 100ms) var(--ease-default, ease),
              background-color var(--duration-fast, 100ms) var(--ease-default, ease);
}

.bulk-action-bar__dismiss:hover {
  opacity: 1;
  background-color: var(--bg-secondary-subtle, rgba(0, 0, 0, 0.05));
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
  .bulk-action-bar {
    -webkit-transition: none;
    transition: none;
  }
}

/* ========================================
   Component: Messaging
   Enterprise messaging system — composer, conversation thread,
   reactions, engagement indicators.
   ======================================== */

/* ==========================================================================
   CONVERSATION PANEL — scrollable message thread container
   ========================================================================== */

.msg-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.msg-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-panel {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-panel {
  background-color: var(--bg-msg-panel, var(--bg-surface));
}

.msg-panel__thread {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.msg-panel__thread > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.msg-panel__thread {
  overflow-y: auto;
  padding: 1rem;
}

.menu--collapsed .menu-link .msg-panel__thread {
      display: none;
    }

.msg-panel__thread {
  scrollbar-width: thin;
  scrollbar-color: var(--scroll-thumb) var(--scroll-track);
}

.msg-panel__composer-area {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  padding: 0.75rem;
  background-color: var(--bg-msg-composer-area, var(--bg-surface));
}

/* ==========================================================================
   MESSAGE BUBBLE — individual message in the thread
   ========================================================================== */

.msg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 85%;
  gap: 0.625rem;
}

.collapse.show.msg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg--outbound {
  margin-left: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.msg--system {
  max-width: 100%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/* Avatar */

.msg__avatar {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-item-align: end;
  align-self: flex-end;
}

.msg__avatar img,
.msg__avatar .avatar {
  height: 1.5rem;
  width: 1.5rem;
  border-radius: 9999px;
  font-size: 0.6875rem;
  line-height: 1rem;
}

.msg--outbound .msg__avatar {
  display: none;
}

/* Body wrapper */

.msg__body {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.125rem;
}

.collapse.show.msg__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* Sender name + timestamp header */

.msg__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  gap: 0.5rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.collapse.show.msg__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg--outbound .msg__header {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.msg__sender {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .msg__sender {
  line-height: 1.3;
}

.msg__sender {
  color: var(--text-msg-sender, var(--text-primary));
}

.msg__time {
  white-space: nowrap;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-msg-time, var(--text-tertiary));
}

/* Bubble */

.msg__bubble {
  position: relative;
  border-radius: 0.75rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  line-height: 1.625;
  background-color: var(--bg-msg-inbound, var(--bg-secondary-subtle));
  color: var(--text-msg-inbound, var(--text-primary));
  border: 1px solid var(--border-msg-inbound, transparent);
  word-break: break-word;
}

.msg--outbound .msg__bubble {
  background-color: var(--bg-msg-outbound, var(--bg-primary-solid));
  color: var(--text-msg-outbound, var(--text-on-primary));
  border-color: var(--border-msg-outbound, transparent);
}

.msg--system .msg__bubble {
  border-radius: 9999px;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .msg--system .msg__bubble {
  line-height: 1.3;
}

.msg--system .msg__bubble {
  background-color: var(--bg-msg-system, var(--bg-tertiary-subtle));
  color: var(--text-msg-system, var(--text-tertiary));
  border-color: var(--border-msg-system, transparent);
}

/* Bubble tail shape via border-radius adjustments */

.msg__bubble {
  border-bottom-left-radius: var(--radius-xs, 4px);
}

.msg--outbound .msg__bubble {
  border-bottom-left-radius: var(--radius-xl, 12px);
  border-bottom-right-radius: var(--radius-xs, 4px);
}

/* Consecutive messages from same sender: tighter spacing */

.msg + .msg:not(.msg--outbound) .msg__header,
.msg--outbound + .msg--outbound .msg__header {
  display: none;
}

.msg + .msg:not(.msg--outbound),
.msg--outbound + .msg--outbound {
  margin-top: 0.125rem;
}

.msg + .msg:not(.msg--outbound) .msg__bubble,
.msg--outbound + .msg--outbound .msg__bubble {
  border-radius: var(--radius-xl, 12px);
}

/* ==========================================================================
   MESSAGE CONTENT — rich text inside bubbles (lists, links, whitespace)
   ========================================================================== */

.msg__content {
  overflow-wrap: break-word;
  white-space: pre-line;
  color: inherit;
}

.msg__content img {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  max-width: 100%;
  cursor: pointer;
  border-radius: 0.375rem;
}

.msg__content img:hover {
  opacity: 0.9;
}

/* Only clamp very long text-heavy messages; images stay full-height.
   Scroll is on the bubble so the scrollbar sits at the bubble edge, not inset by padding. */

.msg__bubble:not(:has(img)) {
  max-height: 450px;
  overflow-y: auto;
  scrollbar-width: thin;
}

.msg__content ol,
.msg__content ul {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  padding-left: 1.25rem;
  margin: 0;
  padding-left: 1.5em;
}

.msg__content ul {
  list-style-type: disc;
}

.msg__content ol {
  list-style-type: decimal;
}

.msg__content li {
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
  list-style-type: revert;
}

.msg__content a {
  color: var(--text-info);
  text-decoration-line: underline;
}

.msg--outbound .msg__content a {
  color: var(--text-info);
}

/* ==========================================================================
   MESSAGE ATTACHMENTS
   ========================================================================== */

.msg__attachments {
  margin-top: 0.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.375rem;
}

.collapse.show.msg__attachments {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg__attachments {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg__attachment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.collapse.show.msg__attachment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .msg__attachment {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .msg__attachment {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg__attachment {
  background-color: var(--bg-msg-attachment, rgba(0, 0, 0, 0.05));
  color: var(--text-msg-attachment, var(--text-secondary));
  border: 1px solid var(--border-msg-attachment, transparent);
  -webkit-transition: background-color var(--duration-fast, 100ms) ease;
  transition: background-color var(--duration-fast, 100ms) ease;
}

.msg__attachment:hover {
  background-color: var(--bg-msg-attachment-hover, rgba(0, 0, 0, 0.08));
}

.msg__attachment i {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-msg-attachment-icon, var(--text-tertiary));
}

.msg--outbound .msg__attachment {
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--text-msg-outbound, var(--text-secondary));
  border-color: rgba(0, 0, 0, 0.08);
}

.msg--outbound .msg__attachment:hover {
  background-color: rgba(0, 0, 0, 0.08);
}

.msg--outbound .msg__attachment i {
  color: var(--text-tertiary);
}

/* ==========================================================================
   MESSAGE ACTIONS — Teams-style floating toolbar at top-right on hover
   ========================================================================== */

.msg__actions {
  position: absolute;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1px;
  border-radius: 0.375rem;
  border-width: 1px;
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.collapse.show.msg__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg__actions {
  padding: 2px;
  top: -10px;
  right: 4px;
  background-color: var(--bg-msg-actions);
  border-color: var(--border-msg-actions, var(--border-secondary));
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(4px);
  -ms-transform: translateY(4px);
  transform: translateY(4px);
  -webkit-transition: opacity var(--duration-fast, 100ms) ease,
              -webkit-transform var(--duration-fast, 100ms) ease;
  transition: opacity var(--duration-fast, 100ms) ease,
              -webkit-transform var(--duration-fast, 100ms) ease;
  transition: opacity var(--duration-fast, 100ms) ease,
              transform var(--duration-fast, 100ms) ease;
  transition: opacity var(--duration-fast, 100ms) ease,
              transform var(--duration-fast, 100ms) ease,
              -webkit-transform var(--duration-fast, 100ms) ease;
}

.msg:hover .msg__actions,
.msg__actions:focus-within,
.msg__actions:has(.dropdown-menu.show) {
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.msg--outbound .msg__actions {
  right: 4px;
  left: auto;
}

/* Inbound dropdown menus align left to avoid overflow */

.msg:not(.msg--outbound) .msg__actions .dropdown-menu {
  right: auto !important;
  left: 0 !important;
}

/* Action buttons — ghost icon buttons */

.msg__action-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.25rem;
  border-width: 0px;
  width: 22px;
  height: 22px;
  font-size: 11px;
  color: var(--text-msg-action-btn, var(--text-secondary));
  background-color: transparent;
  -webkit-transition: background-color var(--duration-fast, 100ms) ease,
              color var(--duration-fast, 100ms) ease;
  transition: background-color var(--duration-fast, 100ms) ease,
              color var(--duration-fast, 100ms) ease;
}

.msg__action-btn:hover {
  color: var(--text-msg-action-btn-hover, var(--text-primary));
  background-color: var(--bg-msg-action-btn-hover, var(--bg-hover));
}

.msg__action-btn:active {
  background-color: var(--bg-msg-action-btn-active, var(--bg-active));
}

/* ==========================================================================
   REACTIONS — emoji reaction pills below a message
   ========================================================================== */

.msg__reactions {
  margin-top: 0.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.25rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.collapse.show.msg__reactions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg__reactions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-reaction {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  border-radius: 9999px;
  border-width: 1px;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .msg-reaction {
  line-height: 1.3;
}

.msg-reaction {
  background-color: var(--bg-msg-reaction, var(--bg-secondary-subtle));
  border-color: var(--border-msg-reaction, var(--border-secondary));
  color: var(--text-msg-reaction, var(--text-secondary));
  -webkit-transition: background-color var(--duration-fast, 100ms) ease,
              border-color var(--duration-fast, 100ms) ease;
  transition: background-color var(--duration-fast, 100ms) ease,
              border-color var(--duration-fast, 100ms) ease;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.msg-reaction:hover {
  background-color: var(--bg-msg-reaction-hover, var(--bg-hover));
  border-color: var(--border-msg-reaction-hover, var(--border-primary));
}

.msg-reaction.is-active {
  background-color: var(--bg-msg-reaction-active, var(--bg-info-subtle));
  border-color: var(--border-msg-reaction-active, var(--border-info));
  color: var(--text-msg-reaction-active, var(--text-info));
}

.msg-reaction__emoji {
  font-size: 14px;
  line-height: 1;
}

.msg-reaction__count {
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

/* Add reaction button */

.msg-reaction--add {
  border-style: dashed;
  color: var(--text-msg-reaction-add, var(--text-tertiary));
  opacity: 0;
  -webkit-transition: opacity var(--duration-fast, 100ms) ease,
              background-color var(--duration-fast, 100ms) ease;
  transition: opacity var(--duration-fast, 100ms) ease,
              background-color var(--duration-fast, 100ms) ease;
}

.msg:hover .msg-reaction--add,
.msg-reaction--add:focus-visible {
  opacity: 1;
}

/* ==========================================================================
   REACTION PICKER — popup emoji grid
   ========================================================================== */

.msg-reaction-picker {
  position: absolute;
  z-index: 50;
  border-radius: 0.75rem;
  border-width: 1px;
  padding: 0.5rem;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  background-color: var(--bg-msg-reaction-picker, var(--bg-popover));
  border-color: var(--border-msg-reaction-picker, var(--border-popover));
  opacity: 0;
  pointer-events: none;
  -webkit-transform: scale(0.9);
  -ms-transform: scale(0.9);
  transform: scale(0.9);
  -webkit-transition: opacity var(--duration-fast, 100ms) ease,
              -webkit-transform var(--duration-fast, 100ms) ease;
  transition: opacity var(--duration-fast, 100ms) ease,
              -webkit-transform var(--duration-fast, 100ms) ease;
  transition: opacity var(--duration-fast, 100ms) ease,
              transform var(--duration-fast, 100ms) ease;
  transition: opacity var(--duration-fast, 100ms) ease,
              transform var(--duration-fast, 100ms) ease,
              -webkit-transform var(--duration-fast, 100ms) ease;
}

.msg-reaction-picker.is-open {
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.msg-reaction-picker__grid {
  display: grid;
  gap: 0.125rem;
  grid-template-columns: repeat(6, 1fr);
}

.msg-reaction-picker__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 2rem;
  width: 2rem;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.375rem;
  border-width: 0px;
  background-color: transparent;
}

.collapse.show.msg-reaction-picker__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-reaction-picker__btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-reaction-picker__btn {
  font-size: 18px;
  -webkit-transition: background-color var(--duration-fast, 100ms) ease,
              -webkit-transform var(--duration-fast, 100ms) ease;
  transition: background-color var(--duration-fast, 100ms) ease,
              -webkit-transform var(--duration-fast, 100ms) ease;
  transition: background-color var(--duration-fast, 100ms) ease,
              transform var(--duration-fast, 100ms) ease;
  transition: background-color var(--duration-fast, 100ms) ease,
              transform var(--duration-fast, 100ms) ease,
              -webkit-transform var(--duration-fast, 100ms) ease;
}

.msg-reaction-picker__btn:hover {
  background-color: var(--bg-hover);
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2);
}

/* ==========================================================================
   COMPOSER — WYSIWYG message editor
   ========================================================================== */

.msg-composer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
}

.collapse.show.msg-composer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-composer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-composer {
  background-color: var(--bg-msg-composer, var(--bg-input));
  border-color: var(--border-msg-composer, var(--border-input));
  -webkit-transition: border-color var(--duration-fast, 100ms) ease,
              -webkit-box-shadow var(--duration-fast, 100ms) ease;
  transition: border-color var(--duration-fast, 100ms) ease,
              -webkit-box-shadow var(--duration-fast, 100ms) ease;
  transition: border-color var(--duration-fast, 100ms) ease,
              box-shadow var(--duration-fast, 100ms) ease;
  transition: border-color var(--duration-fast, 100ms) ease,
              box-shadow var(--duration-fast, 100ms) ease,
              -webkit-box-shadow var(--duration-fast, 100ms) ease;
}

.msg-composer:focus-within {
  border-color: var(--border-msg-composer-focus, var(--border-input-focus));
  -webkit-box-shadow: var(--shadow-msg-composer-focus, 0 0 0 3px var(--ring-info, rgba(59, 130, 246, 0.15)));
  box-shadow: var(--shadow-msg-composer-focus, 0 0 0 3px var(--ring-info, rgba(59, 130, 246, 0.15)));
}

.msg-composer.is-drag-over {
  border-color: var(--border-msg-composer-focus, var(--border-input-focus));
  border-style: dashed;
  background-color: var(--bg-msg-composer-dragover, var(--bg-info-subtle));
}

/* Editor body — wraps the contenteditable or textarea */

.msg-composer__body {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.625rem;
  padding-bottom: 0.25rem;
}

/* Contenteditable WYSIWYG editor */

.msg-composer__editor {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  outline: 2px solid transparent;
  outline-offset: 2px;
  color: var(--text-msg-composer, var(--text-primary));
  min-height: 24px;
  max-height: 160px;
  overflow-y: auto;
  line-height: 1.6;
  font-family: inherit;
  word-break: break-word;
  scrollbar-width: thin;
}

.msg-composer__editor:empty::before {
  content: attr(data-placeholder);
  color: var(--text-msg-composer-placeholder, var(--text-placeholder));
  pointer-events: none;
}

/* Editor inline formatting */

.msg-composer__editor b,
.msg-composer__editor strong {
  font-weight: 600;
}

.msg-composer__editor i,
.msg-composer__editor em {
  font-style: italic;
}

.msg-composer__editor u {
  text-decoration-line: underline;
}

.msg-composer__editor s,
.msg-composer__editor strike {
  text-decoration-line: line-through;
}

.msg-composer__editor code {
  border-radius: 0.25rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.75rem;
  line-height: 1rem;
  font-family: "Space Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.wizard-card--trait .msg-composer__editor code {
  line-height: 1.3;
}

.msg-composer__editor code {
  background-color: var(--bg-msg-composer-code, var(--bg-tertiary-subtle));
  color: var(--text-msg-composer-code, var(--text-danger));
}

.msg-composer__editor blockquote {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  border-left-width: 2px;
  padding-left: 0.75rem;
  font-style: italic;
  border-color: var(--border-msg-composer-quote, var(--border-secondary));
  color: var(--text-msg-composer-quote, var(--text-secondary));
}

.msg-composer__editor ul,
.msg-composer__editor ol {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  padding-left: 1.25rem;
}

.msg-composer__editor ul {
  list-style-type: disc;
}

.msg-composer__editor ol {
  list-style-type: decimal;
}

.msg-composer__editor li {
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}

.msg-composer__editor a {
  color: var(--text-info);
  text-decoration-line: underline;
}

/* Fallback textarea (non-WYSIWYG mode) */

.msg-composer__input {
  margin: 0px;
  width: 100%;
  resize: none;
  border-width: 0px;
  background-color: transparent;
  padding: 0px;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  outline: 2px solid transparent;
  outline-offset: 2px;
  color: var(--text-msg-composer, var(--text-primary));
  max-height: 120px;
  min-height: 20px;
  line-height: 1.5;
  font-family: inherit;
}

.msg-composer__input::-webkit-input-placeholder {
  color: var(--text-msg-composer-placeholder, var(--text-placeholder));
}

.msg-composer__input::-moz-placeholder {
  color: var(--text-msg-composer-placeholder, var(--text-placeholder));
}

.msg-composer__input:-ms-input-placeholder {
  color: var(--text-msg-composer-placeholder, var(--text-placeholder));
}

.msg-composer__input::-ms-input-placeholder {
  color: var(--text-msg-composer-placeholder, var(--text-placeholder));
}

.msg-composer__input::placeholder {
  color: var(--text-msg-composer-placeholder, var(--text-placeholder));
}

/* Toolbar — bottom bar with tools on left, send on right */

.msg-composer__toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.5rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.collapse.show.msg-composer__toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-composer__toolbar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-composer__tools {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.125rem;
}

.collapse.show.msg-composer__tools {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-composer__tools {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-composer__tool-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 1.75rem;
  width: 1.75rem;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.375rem;
  border-width: 0px;
  background-color: transparent;
}

.collapse.show.msg-composer__tool-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-composer__tool-btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-composer__tool-btn {
  color: var(--text-msg-composer-tool, var(--text-tertiary));
  font-size: 14px;
  -webkit-transition: color var(--duration-fast, 100ms) ease,
              background-color var(--duration-fast, 100ms) ease;
  transition: color var(--duration-fast, 100ms) ease,
              background-color var(--duration-fast, 100ms) ease;
}

.msg-composer__tool-btn:hover {
  color: var(--text-msg-composer-tool-hover, var(--text-primary));
  background-color: var(--bg-msg-composer-tool-hover, var(--bg-hover));
}

.msg-composer__tool-btn.is-active {
  color: var(--text-msg-composer-tool-active, var(--text-info));
  background-color: var(--bg-msg-composer-tool-active, var(--bg-info-subtle));
}

.msg-composer__tool-sep {
  margin-left: 0.125rem;
  margin-right: 0.125rem;
  height: 1rem;
  width: 1px;
  background-color: var(--border-msg-composer-sep, var(--border-secondary-subtle));
}

/* Actions area — right side of toolbar */

.msg-composer__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.msg-composer__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-composer__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-composer__hint {
  display: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-size: 0.6875rem;
  line-height: 1rem;
}

@media (min-width: 640px) {

  .msg-composer__hint {
    display: inline;
  }
}

.msg-composer__hint {
  color: var(--text-msg-composer-hint, var(--text-quaternary));
}

/* Send button — styled like btn-primary, radius matches composer inner edge */

.msg-composer__send {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.collapse.show.msg-composer__send {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-composer__send {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-composer__send {
  height: 30px;
  padding: 0 12px;
  font-size: 13px;
  color: var(--text-button-primary);
  background-color: var(--bg-button-primary);
  border: 1px solid var(--border-button-primary);
  -webkit-transition: background-color var(--duration-fast, 100ms) ease,
              opacity var(--duration-fast, 100ms) ease;
  transition: background-color var(--duration-fast, 100ms) ease,
              opacity var(--duration-fast, 100ms) ease;
}

.msg-composer__send:hover:not(:disabled) {
  background-color: var(--bg-button-primary-hover);
}

.msg-composer__send:active:not(:disabled) {
  -webkit-transform: scale(0.97);
  -ms-transform: scale(0.97);
  transform: scale(0.97);
}

.msg-composer__send:disabled {
  opacity: 0.4;
  cursor: default;
}

.msg-composer__send-text {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .msg-composer__send-text {
  line-height: 1.3;
}

/* ==========================================================================
   TYPING INDICATOR
   ========================================================================== */

.msg-typing {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.collapse.show.msg-typing {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .msg-typing {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .msg-typing {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-typing {
  color: var(--text-msg-typing, var(--text-tertiary));
}

.msg-typing__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.125rem;
}

.collapse.show.msg-typing__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-typing__dots {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-typing__dot {
  height: 0.375rem;
  width: 0.375rem;
  border-radius: 9999px;
  background-color: var(--bg-msg-typing-dot, var(--text-tertiary));
  -webkit-animation: msg-typing-bounce 1.4s ease-in-out infinite;
  animation: msg-typing-bounce 1.4s ease-in-out infinite;
}

.msg-typing__dot:nth-child(2) { -webkit-animation-delay: 0.2s; animation-delay: 0.2s; }

.msg-typing__dot:nth-child(3) { -webkit-animation-delay: 0.4s; animation-delay: 0.4s; }

@-webkit-keyframes msg-typing-bounce {
  0%, 60%, 100% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 0.4; }
  30% { -webkit-transform: translateY(-4px); transform: translateY(-4px); opacity: 1; }
}

@keyframes msg-typing-bounce {
  0%, 60%, 100% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 0.4; }
  30% { -webkit-transform: translateY(-4px); transform: translateY(-4px); opacity: 1; }
}

/* ==========================================================================
   ENGAGEMENT — read receipts, delivery status
   ========================================================================== */

.msg__status {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  font-size: 0.6875rem;
  line-height: 1rem;
}

.collapse.show.msg__status {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg__status {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg__status {
  color: var(--text-msg-status, var(--text-quaternary));
}

.msg--outbound .msg__status {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.msg__status-icon {
  font-size: 11px;
}

.msg__status-icon--sent {
  color: var(--text-msg-status, var(--text-quaternary));
}

.msg__status-icon--delivered {
  color: var(--text-msg-status, var(--text-tertiary));
}

.msg__status-icon--read {
  color: var(--text-msg-status-read, var(--text-info));
}

/* ==========================================================================
   DATE SEPARATOR — "Today", "Yesterday", "March 5"
   ========================================================================== */

.msg-date-separator {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.msg-date-separator {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-date-separator {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-date-separator::before,
.msg-date-separator::after {
  content: "";
  height: 1px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .msg-date-separator::before,.menu--collapsed .menu-link 
.msg-date-separator::after {
      display: none;
    }

.msg-date-separator::before,
.msg-date-separator::after {
  background-color: var(--border-msg-separator, var(--border-secondary));
}

.msg-date-separator__label {
  white-space: nowrap;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--text-msg-separator, var(--text-tertiary));
}

/* ==========================================================================
   UNREAD BANNER
   ========================================================================== */

.msg-unread-banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.msg-unread-banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-unread-banner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-unread-banner::before,
.msg-unread-banner::after {
  content: "";
  height: 1px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .msg-unread-banner::before,.menu--collapsed .menu-link 
.msg-unread-banner::after {
      display: none;
    }

.msg-unread-banner::before,
.msg-unread-banner::after {
  background-color: var(--border-msg-unread, var(--border-danger));
}

.msg-unread-banner__label {
  white-space: nowrap;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--text-msg-unread, var(--text-danger));
}

/* ==========================================================================
   CONVERSATION LIST — sidebar list of conversations
   ========================================================================== */

.msg-conversation-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow-y: auto;
}

.collapse.show.msg-conversation-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-conversation-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-conversation-list {
  scrollbar-width: thin;
  scrollbar-color: var(--scroll-thumb) var(--scroll-track);
}

.msg-conversation-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  border-bottom-width: 1px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.collapse.show.msg-conversation-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-conversation-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-conversation-item {
  border-color: var(--border-msg-conversation, var(--border-secondary));
  background-color: var(--bg-msg-conversation, transparent);
  -webkit-transition: background-color var(--duration-fast, 100ms) ease;
  transition: background-color var(--duration-fast, 100ms) ease;
}

.msg-conversation-item:hover {
  background-color: var(--bg-msg-conversation-hover, var(--bg-hover));
}

.msg-conversation-item.is-active {
  background-color: var(--bg-msg-conversation-active, var(--bg-active));
}

.msg-conversation-item.is-unread {
  background-color: var(--bg-msg-conversation-unread, var(--bg-info-subtle));
}

.msg-conversation-item__avatar {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.msg-conversation-item__content {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .msg-conversation-item__content {
      display: none;
    }

.msg-conversation-item__name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-msg-conversation-name, var(--text-primary));
}

.msg-conversation-item.is-unread .msg-conversation-item__name {
  font-weight: 600;
}

.msg-conversation-item__preview {
  margin-top: 0.125rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .msg-conversation-item__preview {
  line-height: 1.3;
}

.msg-conversation-item__preview {
  color: var(--text-msg-conversation-preview, var(--text-tertiary));
}

.msg-conversation-item__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 0.25rem;
}

.collapse.show.msg-conversation-item__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-conversation-item__meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-conversation-item__time {
  white-space: nowrap;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-msg-conversation-time, var(--text-quaternary));
}

.msg-conversation-item__badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 1.25rem;
  width: 1.25rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 700;
}

.collapse.show.msg-conversation-item__badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-conversation-item__badge {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-conversation-item__badge {
  background-color: var(--bg-msg-badge, var(--bg-primary-solid));
  color: var(--text-msg-badge, var(--text-on-primary));
}

/* ==========================================================================
   LAYOUT VARIANTS
   ========================================================================== */

/* Compact mode — tighter spacing */

.msg-panel--compact .msg__bubble {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .msg-panel--compact .msg__bubble {
  line-height: 1.3;
}

.msg-panel--compact .msg-panel__thread > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}

.msg-panel--compact .msg-panel__thread {
  padding: 0.75rem;
}

.msg-panel--compact .msg {
  max-width: 90%;
  gap: 0.5rem;
}

/* Flat mode — no bubble backgrounds, just text */

.msg-panel--flat .msg__bubble {
  background-color: transparent;
  border-color: transparent;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.msg-panel--flat .msg--outbound .msg__bubble {
  background-color: transparent;
  color: var(--text-primary);
}

/* ==========================================================================
   COMPOSER — Reply-to quote bar
   ========================================================================== */

.msg-composer__reply {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-bottom-width: 1px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.collapse.show.msg-composer__reply {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .msg-composer__reply {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .msg-composer__reply {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-composer__reply {
  background-color: var(--bg-msg-reply, var(--bg-secondary-subtle));
  border-color: var(--border-msg-composer-reply, var(--border-secondary-subtle));
  color: var(--text-msg-reply, var(--text-secondary));
}

.msg-composer__reply-text {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.menu--collapsed .menu-link .msg-composer__reply-text {
      display: none;
    }

.msg-composer__reply-sender {
  margin-right: 0.25rem;
  font-weight: 600;
  color: var(--text-msg-reply-sender, var(--text-primary));
}

.msg-composer__reply-close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 1.25rem;
  width: 1.25rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.25rem;
  border-width: 0px;
  background-color: transparent;
}

.collapse.show.msg-composer__reply-close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-composer__reply-close {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-composer__reply-close {
  color: var(--text-msg-reply-close, var(--text-tertiary));
  font-size: 11px;
}

.msg-composer__reply-close:hover {
  color: var(--text-primary);
  background-color: var(--bg-hover);
}

/* Reply bar sits inside the composer container — no radius adjustment needed */

/* ==========================================================================
   COMPOSER — Attachment preview strip
   ========================================================================== */

.msg-composer__attachments {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.5rem;
  border-top-width: 1px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.msg-composer__attachments {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-composer__attachments {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-composer__attachments {
  border-color: var(--border-msg-composer-attachments, var(--border-secondary-subtle));
}

.msg-composer__attachment-preview {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.collapse.show.msg-composer__attachment-preview {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .msg-composer__attachment-preview {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .msg-composer__attachment-preview {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-composer__attachment-preview {
  background-color: var(--bg-msg-attachment-preview, var(--bg-secondary-subtle));
  border: 1px solid var(--border-msg-attachment-preview, var(--border-secondary));
  color: var(--text-msg-attachment-preview, var(--text-secondary));
  max-width: 200px;
}

.msg-composer__attachment-preview i {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-msg-attachment-icon, var(--text-tertiary));
}

.msg-composer__attachment-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.msg-composer__attachment-size {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-quaternary);
}

.msg-composer__attachment-remove {
  position: absolute;
  top: -0.375rem;
  right: -0.375rem;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 1rem;
  width: 1rem;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 0px;
}

.collapse.show.msg-composer__attachment-remove {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-composer__attachment-remove {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-composer__attachment-remove {
  background-color: var(--bg-danger-solid, var(--utility-red-500));
  color: white;
  font-size: 8px;
  opacity: 0;
  -webkit-transition: opacity var(--duration-fast, 100ms) ease;
  transition: opacity var(--duration-fast, 100ms) ease;
}

.msg-composer__attachment-preview:hover .msg-composer__attachment-remove {
  opacity: 1;
}

/* Image attachment thumbnail */

.msg-composer__attachment-preview--image {
  padding: 0px;
  width: 64px;
  height: 64px;
}

.msg-composer__attachment-preview--image img {
  height: 100%;
  width: 100%;
  border-radius: 0.5rem;
  -o-object-fit: cover;
  object-fit: cover;
}

/* ==========================================================================
   COMPOSER — Compact variant (minimal toolbar)
   ========================================================================== */

.msg-panel--compact .msg-composer__toolbar {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.msg-panel--compact .msg-composer__tool-btn {
  height: 1.5rem;
  width: 1.5rem;
  font-size: 12px;
}

.msg-panel--compact .msg-composer__send {
  height: 28px;
  padding: 0 10px;
  font-size: 12px;
}

.msg-panel--compact .msg-composer__body {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.5rem;
  padding-bottom: 0.125rem;
}

/* ==========================================================================
   QUOTED / REPLY MESSAGE — inside a bubble
   ========================================================================== */

.msg__quote {
  margin-bottom: 0.375rem;
  border-radius: 0.5rem;
  border-left-width: 2px;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .msg__quote {
  line-height: 1.3;
}

.msg__quote {
  background-color: var(--bg-msg-quote, rgba(0, 0, 0, 0.04));
  border-left-color: var(--border-msg-quote, var(--border-info));
  color: var(--text-msg-quote, var(--text-secondary));
}

.msg--outbound .msg__quote {
  background-color: rgba(0, 0, 0, 0.04);
  border-left-color: var(--border-info);
  color: var(--text-secondary);
}

.msg__quote-sender {
  margin-bottom: 0.125rem;
  display: block;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 600;
}

.msg__quote-text {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* ==========================================================================
   IMAGE MESSAGE — inline image inside a bubble
   ========================================================================== */

.msg__image {
  margin-top: 0.25rem;
  cursor: pointer;
  overflow: hidden;
  border-radius: 0.5rem;
  max-width: 280px;
}

.msg__image img {
  display: block;
  height: auto;
  width: 100%;
}

.msg__image-grid {
  margin-top: 0.25rem;
  display: grid;
  gap: 0.25rem;
  max-width: 320px;
}

.msg__image-grid--2 { grid-template-columns: 1fr 1fr; }

.msg__image-grid--3 { grid-template-columns: 1fr 1fr; }

.msg__image-grid--4 { grid-template-columns: 1fr 1fr; }

.msg__image-grid img {
  height: 100%;
  width: 100%;
  cursor: pointer;
  border-radius: 0.5rem;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 1;
}

/* ==========================================================================
   LINK PREVIEW — auto-generated card inside a bubble
   ========================================================================== */

.msg__link-preview {
  margin-top: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  gap: 0.625rem;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 0.5rem;
}

.collapse.show.msg__link-preview {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg__link-preview {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg__link-preview {
  background-color: var(--bg-msg-link-preview, rgba(0, 0, 0, 0.03));
  border-color: var(--border-msg-link-preview, var(--border-secondary));
  -webkit-transition: background-color var(--duration-fast, 100ms) ease;
  transition: background-color var(--duration-fast, 100ms) ease;
}

.msg__link-preview:hover {
  background-color: var(--bg-msg-link-preview-hover, rgba(0, 0, 0, 0.06));
}

.msg--outbound .msg__link-preview {
  background-color: rgba(0, 0, 0, 0.03);
  border-color: rgba(0, 0, 0, 0.08);
}

.msg--outbound .msg__link-preview:hover {
  background-color: rgba(0, 0, 0, 0.06);
}

.msg__link-preview-image {
  height: 3rem;
  width: 3rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 0.375rem;
}

.msg__link-preview-image img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.msg__link-preview-body {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .msg__link-preview-body {
      display: none;
    }

.msg__link-preview-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .msg__link-preview-title {
  line-height: 1.3;
}

.msg__link-preview-desc {
  margin-top: 0.125rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 0.6875rem;
  line-height: 1rem;
  opacity: 0.7;
}

.msg__link-preview-domain {
  margin-top: 0.25rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  opacity: 0.5;
}

/* ==========================================================================
   MENTIONS — @username highlighting in text
   ========================================================================== */

.msg__mention {
  cursor: pointer;
  border-radius: 0.25rem;
  padding-left: 0.125rem;
  padding-right: 0.125rem;
  font-weight: 500;
  color: var(--text-msg-mention, var(--text-info));
  background-color: var(--bg-msg-mention, var(--bg-info-subtle));
}

.msg--outbound .msg__mention {
  color: var(--text-msg-mention, var(--text-info));
  background-color: var(--bg-msg-mention, var(--bg-info-subtle));
}

.msg__mention:hover {
  text-decoration: underline;
}

/* ==========================================================================
   GROUP CHAT — multi-avatar, participant list
   ========================================================================== */

.msg-group-avatar {
  position: relative;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
}

.msg-group-avatar__item {
  position: absolute;
  border-radius: 9999px;
  border-width: 2px;
  border-color: var(--bg-surface, white);
  width: 24px;
  height: 24px;
}

.msg-group-avatar__item:nth-child(1) { top: 0; left: 0; z-index: 3; }

.msg-group-avatar__item:nth-child(2) { top: 0; right: 0; z-index: 2; }

.msg-group-avatar__item:nth-child(3) { bottom: 0; left: 4px; z-index: 1; }

.msg-group-avatar__overflow {
  position: absolute;
  bottom: 0px;
  right: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 1.25rem;
  width: 1.25rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 700;
}

.collapse.show.msg-group-avatar__overflow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-group-avatar__overflow {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-group-avatar__overflow {
  background-color: var(--bg-tertiary-subtle);
  color: var(--text-tertiary);
  z-index: 4;
}

/* ==========================================================================
   MESSAGE HEADER BAR — top bar with contact info and actions
   ========================================================================== */

.msg-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  border-bottom-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.collapse.show.msg-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-header {
  border-color: var(--border-msg-panel, var(--border-secondary));
  background-color: var(--bg-msg-header, var(--bg-surface));
}

.msg-header__info {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .msg-header__info {
      display: none;
    }

.msg-header__name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
}

.msg-header__status {
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-tertiary);
}

.msg-header__status-dot {
  margin-right: 0.25rem;
  display: inline-block;
  height: 0.375rem;
  width: 0.375rem;
  border-radius: 9999px;
}

.msg-header__status-dot--online {
  background-color: var(--bg-success-solid, var(--utility-green-500));
}

.msg-header__status-dot--away {
  background-color: var(--bg-warning-solid, var(--utility-amber-500));
}

.msg-header__status-dot--offline {
  background-color: var(--text-quaternary);
}

.msg-header__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.collapse.show.msg-header__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-header__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ==========================================================================
   PINNED MESSAGE BANNER
   ========================================================================== */

.msg-pinned {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-bottom-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.collapse.show.msg-pinned {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .msg-pinned {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .msg-pinned {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-pinned {
  background-color: var(--bg-msg-pinned, var(--bg-warning-subtle));
  border-color: var(--border-msg-pinned, var(--border-warning-subtle));
  color: var(--text-msg-pinned, var(--text-warning));
  -webkit-transition: background-color var(--duration-fast, 100ms) ease;
  transition: background-color var(--duration-fast, 100ms) ease;
}

.msg-pinned:hover {
  background-color: var(--bg-msg-pinned-hover, var(--bg-warning-subtle));
  -webkit-filter: brightness(0.97);
  filter: brightness(0.97);
}

.msg-pinned__icon {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.msg-pinned__text {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.menu--collapsed .menu-link .msg-pinned__text {
      display: none;
    }

/* ==========================================================================
   EMPTY STATE — no messages yet
   ========================================================================== */

.msg-empty {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.75rem;
  padding-top: 3rem;
  padding-bottom: 3rem;
  text-align: center;
}

.collapse.show.msg-empty {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-empty {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-empty {
  color: var(--text-tertiary);
}

.msg-empty__icon {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.015em;
  opacity: 0.3;
}

.msg-empty__title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-secondary);
}

.msg-empty__text {
  max-width: 20rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .msg-empty__text {
  line-height: 1.3;
}

/* ==========================================================================
   EMOJI PICKER — full picker panel (for composer emoji button)
   ========================================================================== */

.msg-emoji-picker {
  position: absolute;
  bottom: 100%;
  right: 0px;
  z-index: 50;
  margin-bottom: 0.5rem;
  border-radius: 0.75rem;
  border-width: 1px;
  padding: 0.75rem;
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  background-color: var(--bg-msg-reaction-picker, var(--bg-popover));
  border-color: var(--border-msg-reaction-picker, var(--border-popover));
  width: 280px;
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(4px);
  -ms-transform: translateY(4px);
  transform: translateY(4px);
  -webkit-transition: opacity var(--duration-fast, 100ms) ease,
              -webkit-transform var(--duration-fast, 100ms) ease;
  transition: opacity var(--duration-fast, 100ms) ease,
              -webkit-transform var(--duration-fast, 100ms) ease;
  transition: opacity var(--duration-fast, 100ms) ease,
              transform var(--duration-fast, 100ms) ease;
  transition: opacity var(--duration-fast, 100ms) ease,
              transform var(--duration-fast, 100ms) ease,
              -webkit-transform var(--duration-fast, 100ms) ease;
}

.msg-emoji-picker.is-open {
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.msg-emoji-picker__search {
  margin-bottom: 0.5rem;
  width: 100%;
  border-radius: 0.5rem;
  border-width: 1px;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.wizard-card--trait .msg-emoji-picker__search {
  line-height: 1.3;
}

.msg-emoji-picker__search {
  background-color: var(--bg-input);
  border-color: var(--border-input);
  color: var(--text-primary);
}

.msg-emoji-picker__search:focus {
  border-color: var(--border-input-focus);
}

.msg-emoji-picker__category {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--text-tertiary);
}

.msg-emoji-picker__grid {
  display: grid;
  gap: 0.125rem;
  grid-template-columns: repeat(8, 1fr);
  max-height: 200px;
  overflow-y: auto;
  scrollbar-width: thin;
}

.msg-emoji-picker__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 1.75rem;
  width: 1.75rem;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.25rem;
  border-width: 0px;
  background-color: transparent;
}

.collapse.show.msg-emoji-picker__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .msg-emoji-picker__btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.msg-emoji-picker__btn {
  font-size: 16px;
  -webkit-transition: background-color var(--duration-fast, 100ms) ease,
              -webkit-transform var(--duration-fast, 100ms) ease;
  transition: background-color var(--duration-fast, 100ms) ease,
              -webkit-transform var(--duration-fast, 100ms) ease;
  transition: background-color var(--duration-fast, 100ms) ease,
              transform var(--duration-fast, 100ms) ease;
  transition: background-color var(--duration-fast, 100ms) ease,
              transform var(--duration-fast, 100ms) ease,
              -webkit-transform var(--duration-fast, 100ms) ease;
}

.msg-emoji-picker__btn:hover {
  background-color: var(--bg-hover);
  -webkit-transform: scale(1.15);
  -ms-transform: scale(1.15);
  transform: scale(1.15);
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .msg-typing__dot {
    -webkit-animation: none;
    animation: none;
    opacity: 0.6;
  }

  .msg-reaction-picker {
    -webkit-transition: none;
    transition: none;
  }
}

/* ========================================
   Component: Dashboard Widgets
   Extended building blocks for dashboard
   and command center surfaces.
   ======================================== */

/* --- Section Header --- */

.dash-section {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-bottom: 0.5rem;
}

.collapse.show.dash-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-section {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-section {
  border-bottom: 1px solid var(--border-divider);
}

.dash-section__title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
}

.dash-section__subtitle {
  margin-top: 0.125rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-tertiary);
}

.dash-section__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.dash-section__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-section__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* --- Metric Card (extended stat-card variants) --- */

/* Goal / Progress metric */

.stat-card__progress {
  margin-top: 0.75rem;
}

.stat-card__progress-bar {
  width: 100%;
  overflow: hidden;
  border-radius: 9999px;
  height: 6px;
  background-color: var(--bg-tertiary-subtle);
}

.stat-card__progress-fill {
  height: 100%;
  border-radius: 9999px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  background-color: var(--bg-primary-solid);
}

.stat-card__progress-fill--success {
  background-color: var(--bg-success-solid);
}

.stat-card__progress-fill--warning {
  background-color: var(--bg-warning-solid, var(--utility-amber-500));
}

.stat-card__progress-fill--danger {
  background-color: var(--bg-danger-solid);
}

.stat-card__progress-label {
  margin-top: 0.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  font-size: 0.6875rem;
  line-height: 1rem;
}

.collapse.show.stat-card__progress-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .stat-card__progress-label {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.stat-card__progress-label {
  color: var(--text-tertiary);
}

/* Delta comparison */

.stat-card__delta {
  margin-top: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.collapse.show.stat-card__delta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .stat-card__delta {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .stat-card__delta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.stat-card__delta-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.collapse.show.stat-card__delta-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .stat-card__delta-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.stat-card__delta-item--current {
  font-weight: 600;
  color: var(--text-primary);
}

.stat-card__delta-item--previous {
  color: var(--text-tertiary);
}

/* Scorecard variant */

.stat-card--scorecard {
  text-align: center;
}

.stat-card--scorecard .stat-card__value {
  font-size: 1.75rem;
  line-height: 2.5rem;
  letter-spacing: -0.01em;
}

.stat-card--scorecard .stat-card__icon {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.5rem;
  height: 2.5rem;
  width: 2.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
}

/* Semantic accent variants */

.stat-card--accent-success {
  border-left: 3px solid var(--bg-success-solid);
}

.stat-card--accent-warning {
  border-left: 3px solid var(--bg-warning-solid, var(--utility-amber-500));
}

.stat-card--accent-danger {
  border-left: 3px solid var(--bg-danger-solid);
}

.stat-card--accent-info {
  border-left: 3px solid var(--bg-info-solid);
}

/* Clickable stat card */

.stat-card--clickable {
  cursor: pointer;
  -webkit-transition: border-color 150ms ease, -webkit-box-shadow 150ms ease;
  transition: border-color 150ms ease, -webkit-box-shadow 150ms ease;
  transition: box-shadow 150ms ease, border-color 150ms ease;
  transition: box-shadow 150ms ease, border-color 150ms ease, -webkit-box-shadow 150ms ease;
}

.stat-card--clickable:hover {
  -webkit-box-shadow: var(--shadow-md);
  box-shadow: var(--shadow-md);
  border-color: var(--border-primary);
}

/* --- Summary List Widget --- */

.dash-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.dash-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-bottom-width: 1px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.dash-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-list__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-list__item {
  border-color: var(--border-secondary);
  -webkit-transition: background-color 100ms ease;
  transition: background-color 100ms ease;
}

.dash-list__item:last-child {
  border-bottom-width: 0px;
}

.dash-list__item:hover {
  background-color: var(--bg-hover);
}

.dash-list__rank {
  width: 1.5rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.wizard-card--trait .dash-list__rank {
  line-height: 1.3;
}

.dash-list__rank {
  color: var(--text-tertiary);
}

.dash-list__content {
  margin-left: 0.5rem;
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .dash-list__content {
      display: none;
    }

.dash-list__label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-primary);
}

.dash-list__meta {
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-tertiary);
}

.dash-list__value {
  margin-left: 0.75rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 600;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  color: var(--text-primary);
}

.dash-list__bar {
  margin-left: 0.75rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 60px;
}

.dash-list__bar-track {
  width: 100%;
  border-radius: 9999px;
  height: 4px;
  background-color: var(--bg-tertiary-subtle);
}

.dash-list__bar-fill {
  height: 100%;
  border-radius: 9999px;
  background-color: var(--bg-primary-solid);
}

/* Action list variant */

.dash-list__item--action {
  cursor: pointer;
}

.dash-list__item--action:hover {
  background-color: var(--bg-primary-subtle);
}

/* Priority markers */

.dash-list__priority {
  margin-right: 0.5rem;
  height: 0.375rem;
  width: 0.375rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 9999px;
}

.dash-list__priority--high {
  background-color: var(--bg-danger-solid);
}

.dash-list__priority--medium {
  background-color: var(--bg-warning-solid, var(--utility-amber-500));
}

.dash-list__priority--low {
  background-color: var(--bg-success-solid);
}

/* --- Status Board --- */

.dash-status {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
}

.dash-status__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.5rem;
  border-width: 1px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.dash-status__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-status__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-status__item {
  background-color: var(--bg-card);
  border-color: var(--border-card);
}

.dash-status__dot {
  height: 0.625rem;
  width: 0.625rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 9999px;
}

.dash-status__dot--operational {
  background-color: var(--bg-success-solid);
}

.dash-status__dot--degraded {
  background-color: var(--bg-warning-solid, var(--utility-amber-500));
}

.dash-status__dot--down {
  background-color: var(--bg-danger-solid);
}

.dash-status__dot--maintenance {
  background-color: var(--bg-info-solid);
}

.dash-status__dot--unknown {
  background-color: var(--bg-tertiary);
}

.dash-status__label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .dash-status__label {
  line-height: 1.3;
}

.dash-status__label {
  color: var(--text-primary);
}

.dash-status__value {
  margin-left: auto;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-tertiary);
}

/* Pulse animation for live status */

.dash-status__dot--pulse {
  -webkit-animation: dash-pulse 2s ease-in-out infinite;
  animation: dash-pulse 2s ease-in-out infinite;
}

@-webkit-keyframes dash-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

@keyframes dash-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

/* --- Alert Surface --- */

.dash-alert {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.75rem;
  border-radius: 0.5rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.dash-alert {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-alert {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-alert {
  background-color: var(--bg-card);
  border-color: var(--border-card);
}

.dash-alert__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 2rem;
  width: 2rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.collapse.show.dash-alert__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-alert__icon {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-alert__content {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .dash-alert__content {
      display: none;
    }

.dash-alert__title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-primary);
}

.dash-alert__body {
  margin-top: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .dash-alert__body {
  line-height: 1.3;
}

.dash-alert__body {
  color: var(--text-secondary);
}

.dash-alert__meta {
  margin-top: 0.25rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-tertiary);
}

.dash-alert__dismiss {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  cursor: pointer;
  border-radius: 0.25rem;
  border-width: 0px;
  background-color: transparent;
  padding: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .dash-alert__dismiss {
  line-height: 1.3;
}

.dash-alert__dismiss {
  color: var(--text-tertiary);
  -webkit-transition: color 100ms ease;
  transition: color 100ms ease;
}

.dash-alert__dismiss:hover {
  color: var(--text-primary);
}

/* Semantic alert variants */

.dash-alert--danger {
  border-left: 3px solid var(--bg-danger-solid);
}

.dash-alert--danger .dash-alert__icon {
  background-color: var(--bg-danger-subtle);
  color: var(--text-danger);
}

.dash-alert--warning {
  border-left: 3px solid var(--bg-warning-solid, var(--utility-amber-500));
}

.dash-alert--warning .dash-alert__icon {
  background-color: var(--bg-warning-subtle);
  color: var(--text-warning);
}

.dash-alert--info {
  border-left: 3px solid var(--bg-info-solid);
}

.dash-alert--info .dash-alert__icon {
  background-color: var(--bg-info-subtle);
  color: var(--text-info);
}

.dash-alert--success {
  border-left: 3px solid var(--bg-success-solid);
}

.dash-alert--success .dash-alert__icon {
  background-color: var(--bg-success-subtle);
  color: var(--text-success);
}

/* --- Chart Container --- */

.dash-chart {
  border-radius: 0.5rem;
  border-width: 1px;
  background-color: var(--bg-card);
  border-color: var(--border-card);
  -webkit-box-shadow: var(--shadow-card, var(--shadow-sm));
  box-shadow: var(--shadow-card, var(--shadow-sm));
}

.dash-chart__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-bottom-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.dash-chart__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-chart__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-chart__header {
  border-color: var(--border-secondary);
}

.dash-chart__title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-primary);
}

.dash-chart__body {
  padding: 1rem;
}

.dash-chart__placeholder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.375rem;
}

.collapse.show.dash-chart__placeholder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-chart__placeholder {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-chart__placeholder {
  height: 200px;
  background-color: var(--bg-tertiary-subtle);
  border: 1px dashed var(--border-secondary);
}

.dash-chart__placeholder-text {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .dash-chart__placeholder-text {
  line-height: 1.3;
}

.dash-chart__placeholder-text {
  color: var(--text-tertiary);
}

.dash-chart__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-top-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.6875rem;
  line-height: 1rem;
}

.collapse.show.dash-chart__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-chart__footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-chart__footer {
  border-color: var(--border-secondary);
  color: var(--text-tertiary);
}

/* --- Filter Bar --- */

.dash-filter-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.5rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.dash-filter-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-filter-bar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-filter-bar {
  background-color: var(--bg-card);
  border-color: var(--border-card);
}

.dash-filter-bar__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.dash-filter-bar__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-filter-bar__group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-filter-bar__label {
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--text-tertiary);
}

.dash-filter-bar__divider {
  -ms-flex-item-align: stretch;
  align-self: stretch;
  width: 1px;
  background-color: var(--border-secondary);
}

.dash-filter-bar__spacer {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .dash-filter-bar__spacer {
      display: none;
    }

/* --- Segmented Control --- */

.dash-segmented {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 0.125rem;
  background-color: var(--bg-tertiary-subtle);
  border-color: var(--border-secondary);
}

.dash-segmented__item {
  cursor: pointer;
  border-radius: 0.375rem;
  border-width: 0px;
  background-color: transparent;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .dash-segmented__item {
  line-height: 1.3;
}

.dash-segmented__item {
  color: var(--text-secondary);
  -webkit-transition: all 150ms ease;
  transition: all 150ms ease;
}

.dash-segmented__item:hover {
  color: var(--text-primary);
}

.dash-segmented__item.is-active {
  background-color: var(--bg-card);
  color: var(--text-primary);
  -webkit-box-shadow: var(--shadow-sm);
  box-shadow: var(--shadow-sm);
}

/* --- Live Indicator --- */

.dash-live {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  color: var(--text-success);
}

.dash-live__dot {
  height: 0.375rem;
  width: 0.375rem;
  border-radius: 9999px;
  background-color: var(--bg-success-solid);
  -webkit-animation: dash-pulse 2s ease-in-out infinite;
  animation: dash-pulse 2s ease-in-out infinite;
}

/* --- Dashboard Header --- */

.dash-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-bottom-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.dash-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-header {
  border-color: var(--border-divider);
  background-color: var(--bg-surface);
}

.dash-header__title {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
}

.dash-header__subtitle {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .dash-header__subtitle {
  line-height: 1.3;
}

.dash-header__subtitle {
  color: var(--text-secondary);
}

.dash-header__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.dash-header__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-header__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* --- Queue Widget --- */

.dash-queue {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  border-radius: 0.5rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.dash-queue {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-queue {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-queue {
  background-color: var(--bg-card);
  border-color: var(--border-card);
}

.dash-queue__count {
  font-size: 1.5rem;
  line-height: 2rem;
  letter-spacing: -0.01em;
  font-weight: 700;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  color: var(--text-primary);
}

.dash-queue__info {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .dash-queue__info {
      display: none;
    }

.dash-queue__label {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-primary);
}

.dash-queue__meta {
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-tertiary);
}

.dash-queue__action {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

/* --- Skeleton Dashboard States --- */

.dash-skeleton {
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  background-color: var(--bg-card);
  border-color: var(--border-card);
}

.dash-skeleton__line {
  border-radius: 0.25rem;
  background-color: var(--bg-tertiary-subtle);
  -webkit-animation: dash-shimmer 1.5s ease-in-out infinite;
  animation: dash-shimmer 1.5s ease-in-out infinite;
}

.dash-skeleton__line--title {
  height: 12px;
  width: 60%;
  margin-bottom: 0.75rem;
}

.dash-skeleton__line--value {
  height: 24px;
  width: 40%;
  margin-bottom: 0.5rem;
}

.dash-skeleton__line--text {
  height: 8px;
  width: 80%;
  margin-bottom: 0.375rem;
}

.dash-skeleton__line--bar {
  height: 6px;
  width: 100%;
  margin-top: 0.75rem;
}

@-webkit-keyframes dash-shimmer {
  0% { opacity: 1; }
  50% { opacity: 0.4; }
  100% { opacity: 1; }
}

@keyframes dash-shimmer {
  0% { opacity: 1; }
  50% { opacity: 0.4; }
  100% { opacity: 1; }
}

/* --- Empty State (dashboard context) --- */

.dash-empty {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 1rem;
  padding-right: 1rem;
  text-align: center;
}

.collapse.show.dash-empty {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-empty {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-empty__icon {
  margin-bottom: 0.75rem;
  font-size: 1.75rem;
  line-height: 2.5rem;
  letter-spacing: -0.01em;
  color: var(--text-quaternary);
}

.dash-empty__title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-secondary);
}

.dash-empty__body {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .dash-empty__body {
  line-height: 1.3;
}

.dash-empty__body {
  color: var(--text-tertiary);
}

/* --- Stale / Reconnect State --- */

.dash-stale {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.6875rem;
  line-height: 1rem;
}

.collapse.show.dash-stale {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-stale {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-stale {
  background-color: var(--bg-warning-subtle);
  color: var(--text-warning);
}

.dash-stale__icon {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .dash-stale__icon {
  line-height: 1.3;
}

/* --- Attention Needed Panel --- */

.dash-attention {
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  background-color: var(--bg-card);
  border-color: var(--border-card);
}

.dash-attention__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
}

.collapse.show.dash-attention__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-attention__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-attention__header {
  background-color: var(--bg-danger-subtle);
  color: var(--text-danger);
}

.dash-attention__count {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 1.25rem;
  width: 1.25rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 700;
  background-color: var(--bg-danger-solid);
  color: var(--alpha-white-100);
}

.dash-attention__body {
  padding: 0px;
}

/* --- Responsive --- */

@media (max-width: 639px) {
  .dash-filter-bar {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .dash-status {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dash-status__dot--pulse,
  .dash-live__dot,
  .dash-skeleton__line {
    -webkit-animation: none;
    animation: none;
  }
}

/* ========================================
   Advanced Dashboard Features
   Interactive behaviors, live data,
   drag-reorder, tabbed panels, notifications
   ======================================== */

/* --- Tabbed Dashboard Panel --- */

.dash-tabbed {
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  background-color: var(--bg-card);
  border-color: var(--border-card);
  -webkit-box-shadow: var(--shadow-card, var(--shadow-sm));
  box-shadow: var(--shadow-card, var(--shadow-sm));
}

.dash-tabbed__tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom-width: 1px;
}

.collapse.show.dash-tabbed__tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-tabbed__tabs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-tabbed__tabs {
  border-color: var(--border-secondary);
  background-color: var(--bg-surface);
}

.dash-tabbed__tab {
  cursor: pointer;
  border-width: 0px;
  border-bottom-width: 2px;
  background-color: transparent;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .dash-tabbed__tab {
  line-height: 1.3;
}

.dash-tabbed__tab {
  color: var(--text-secondary);
  border-color: transparent;
  -webkit-transition: color 150ms ease, border-color 150ms ease;
  transition: color 150ms ease, border-color 150ms ease;
}

.dash-tabbed__tab:hover {
  color: var(--text-primary);
}

.dash-tabbed__tab.is-active {
  color: var(--text-primary);
  border-color: var(--bg-primary-solid);
}

.dash-tabbed__tab-count {
  margin-left: 0.375rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 600;
  min-width: 18px;
  height: 16px;
  background-color: var(--bg-tertiary-subtle);
  color: var(--text-tertiary);
}

.dash-tabbed__tab.is-active .dash-tabbed__tab-count {
  background-color: var(--bg-primary-subtle);
  color: var(--text-primary);
}

.dash-tabbed__panel {
  padding: 1rem;
  display: none;
}

.dash-tabbed__panel.is-active {
  display: block;
}

/* --- Drag-Reorderable Widget Grid --- */

.dash-reorder {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.dash-reorder__item {
  border-radius: 0.5rem;
  border-width: 1px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 200ms;
  transition-duration: 200ms;
  background-color: var(--bg-card);
  border-color: var(--border-card);
  -webkit-box-shadow: var(--shadow-card, var(--shadow-sm));
  box-shadow: var(--shadow-card, var(--shadow-sm));
}

.dash-reorder__item.is-dragging {
  opacity: 0.5;
  -webkit-box-shadow: var(--shadow-lg);
  box-shadow: var(--shadow-lg);
  border-color: var(--border-primary);
  -webkit-transform: rotate(1deg);
  -ms-transform: rotate(1deg);
  transform: rotate(1deg);
}

.dash-reorder__item.is-drag-over {
  border-color: var(--border-primary);
  border-style: dashed;
}

.dash-reorder__handle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: -webkit-grab;
  cursor: grab;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-bottom-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.collapse.show.dash-reorder__handle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-reorder__handle {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-reorder__handle {
  border-color: var(--border-secondary);
}

.dash-reorder__handle:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.dash-reorder__grip {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .dash-reorder__grip {
  line-height: 1.3;
}

.dash-reorder__grip {
  color: var(--text-quaternary);
}

.dash-reorder__title {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
}

.menu--collapsed .menu-link .dash-reorder__title {
      display: none;
    }

.dash-reorder__title {
  color: var(--text-primary);
}

.dash-reorder__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.collapse.show.dash-reorder__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-reorder__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-reorder__body {
  padding: 1rem;
}

.dash-reorder__placeholder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.5rem;
  border-width: 2px;
  border-style: dashed;
}

.collapse.show.dash-reorder__placeholder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-reorder__placeholder {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-reorder__placeholder {
  border-color: var(--border-primary);
  background-color: var(--bg-primary-subtle);
  min-height: 120px;
  opacity: 0.5;
}

/* --- Notification Center --- */

.dash-notif {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
}

.collapse.show.dash-notif {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-notif {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-notif {
  background-color: var(--bg-card);
  border-color: var(--border-card);
  -webkit-box-shadow: var(--shadow-card, var(--shadow-sm));
  box-shadow: var(--shadow-card, var(--shadow-sm));
  max-height: 480px;
}

.dash-notif__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-bottom-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.dash-notif__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-notif__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-notif__header {
  border-color: var(--border-secondary);
}

.dash-notif__title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
}

.dash-notif__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 700;
  min-width: 18px;
  height: 18px;
  background-color: var(--bg-danger-solid);
  color: var(--alpha-white-100);
}

.dash-notif__tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-bottom-width: 1px;
}

.collapse.show.dash-notif__tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-notif__tabs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-notif__tabs {
  border-color: var(--border-secondary);
}

.dash-notif__tab {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  cursor: pointer;
  border-width: 0px;
  border-bottom-width: 2px;
  background-color: transparent;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  text-align: center;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
}

.menu--collapsed .menu-link .dash-notif__tab {
      display: none;
    }

.dash-notif__tab {
  color: var(--text-tertiary);
  border-color: transparent;
  -webkit-transition: color 100ms ease, border-color 100ms ease;
  transition: color 100ms ease, border-color 100ms ease;
}

.dash-notif__tab:hover {
  color: var(--text-primary);
}

.dash-notif__tab.is-active {
  color: var(--text-primary);
  border-color: var(--bg-primary-solid);
}

.dash-notif__body {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow-y: auto;
}

.menu--collapsed .menu-link .dash-notif__body {
      display: none;
    }

.dash-notif__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.75rem;
  border-bottom-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.dash-notif__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-notif__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-notif__item {
  border-color: var(--border-secondary);
  -webkit-transition: background-color 100ms ease;
  transition: background-color 100ms ease;
}

.dash-notif__item:last-child {
  border-bottom-width: 0px;
}

.dash-notif__item:hover {
  background-color: var(--bg-hover);
}

.dash-notif__item.is-unread {
  background-color: var(--bg-primary-subtle);
}

.dash-notif__item-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 2rem;
  width: 2rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.75rem;
  line-height: 1rem;
}

.collapse.show.dash-notif__item-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .dash-notif__item-icon {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .dash-notif__item-icon {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-notif__item-icon {
  background-color: var(--bg-tertiary-subtle);
  color: var(--text-secondary);
}

.dash-notif__item-icon--danger {
  background-color: var(--bg-danger-subtle);
  color: var(--text-danger);
}

.dash-notif__item-icon--warning {
  background-color: var(--bg-warning-subtle);
  color: var(--text-warning);
}

.dash-notif__item-icon--success {
  background-color: var(--bg-success-subtle);
  color: var(--text-success);
}

.dash-notif__item-icon--info {
  background-color: var(--bg-info-subtle);
  color: var(--text-info);
}

.dash-notif__item-content {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .dash-notif__item-content {
      display: none;
    }

.dash-notif__item-title {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .dash-notif__item-title {
  line-height: 1.3;
}

.dash-notif__item-title {
  color: var(--text-primary);
}

.dash-notif__item-body {
  margin-top: 0.125rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-secondary);
}

.dash-notif__item-time {
  margin-top: 0.25rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-tertiary);
}

.dash-notif__item-dot {
  margin-top: 0.375rem;
  height: 0.5rem;
  width: 0.5rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 9999px;
  background-color: var(--bg-primary-solid);
}

.dash-notif__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-top-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.collapse.show.dash-notif__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .dash-notif__footer {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .dash-notif__footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-notif__footer {
  border-color: var(--border-secondary);
  color: var(--text-primary);
  -webkit-transition: background-color 100ms ease;
  transition: background-color 100ms ease;
}

.dash-notif__footer:hover {
  background-color: var(--bg-hover);
}

/* --- Live Counter (animated value) --- */

.dash-counter {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  -webkit-transition: color 300ms ease;
  transition: color 300ms ease;
}

.dash-counter.is-updating {
  color: var(--text-primary);
}

.dash-counter__flash {
  display: inline-block;
  -webkit-animation: dash-counter-flash 600ms ease;
  animation: dash-counter-flash 600ms ease;
}

@-webkit-keyframes dash-counter-flash {
  0% { opacity: 1; }
  30% { opacity: 0.3; }
  100% { opacity: 1; }
}

@keyframes dash-counter-flash {
  0% { opacity: 1; }
  30% { opacity: 0.3; }
  100% { opacity: 1; }
}

.dash-counter__trend {
  margin-left: 0.375rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.125rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
}

.dash-counter__trend--up {
  color: var(--text-success);
}

.dash-counter__trend--down {
  color: var(--text-danger);
}

/* --- Feed Density Toggle --- */

.dash-density {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  border-radius: 0.375rem;
  border-width: 1px;
  padding: 0.125rem;
  background-color: var(--bg-tertiary-subtle);
  border-color: var(--border-secondary);
}

.dash-density__btn {
  cursor: pointer;
  border-radius: 0.25rem;
  border-width: 0px;
  background-color: transparent;
  padding: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
  line-height: 1;
}

.wizard-card--trait .dash-density__btn {
  line-height: 1.3;
}

.dash-density__btn {
  color: var(--text-tertiary);
  -webkit-transition: all 100ms ease;
  transition: all 100ms ease;
}

.dash-density__btn:hover {
  color: var(--text-primary);
}

.dash-density__btn.is-active {
  background-color: var(--bg-card);
  color: var(--text-primary);
  -webkit-box-shadow: var(--shadow-sm);
  box-shadow: var(--shadow-sm);
}

/* --- Load More --- */

.dash-load-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.dash-load-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-load-more {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-load-more__btn {
  cursor: pointer;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .dash-load-more__btn {
  line-height: 1.3;
}

.dash-load-more__btn {
  background-color: var(--bg-card);
  border-color: var(--border-secondary);
  color: var(--text-secondary);
  -webkit-transition: all 150ms ease;
  transition: all 150ms ease;
}

.dash-load-more__btn:hover {
  border-color: var(--border-primary);
  color: var(--text-primary);
}

.dash-load-more__btn.is-loading {
  pointer-events: none;
  opacity: 0.6;
}

.dash-load-more__spinner {
  margin-right: 0.375rem;
  display: inline-block;
  height: 0.75rem;
  width: 0.75rem;
  border-radius: 9999px;
  border-width: 2px;
  border-color: var(--border-secondary);
  border-top-color: var(--text-primary);
  -webkit-animation: dash-spin 600ms linear infinite;
  animation: dash-spin 600ms linear infinite;
}

@-webkit-keyframes dash-spin {
  to { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}

@keyframes dash-spin {
  to { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}

/* --- Saved View Indicator --- */

.dash-saved-view {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .dash-saved-view {
  line-height: 1.3;
}

.dash-saved-view {
  background-color: var(--bg-card);
  border-color: var(--border-secondary);
  color: var(--text-secondary);
}

.dash-saved-view__name {
  font-weight: 500;
  color: var(--text-primary);
}

.dash-saved-view__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.collapse.show.dash-saved-view__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-saved-view__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-saved-view__btn {
  cursor: pointer;
  border-radius: 0.25rem;
  border-width: 0px;
  background-color: transparent;
  padding: 0.125rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-tertiary);
  -webkit-transition: color 100ms ease;
  transition: color 100ms ease;
}

.dash-saved-view__btn:hover {
  color: var(--text-primary);
}

/* --- Gauge Widget (radial in dashboard context) --- */

.dash-gauge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem;
}

.collapse.show.dash-gauge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .dash-gauge {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.dash-gauge__label {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .dash-gauge__label {
  line-height: 1.3;
}

.dash-gauge__label {
  color: var(--text-secondary);
}

.dash-gauge__value {
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-tertiary);
}

/* --- Auto-Append Feed Item --- */

.dash-feed-item-enter {
  -webkit-animation: dash-feed-enter 400ms ease;
  animation: dash-feed-enter 400ms ease;
}

@-webkit-keyframes dash-feed-enter {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
    max-height: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    max-height: 200px;
  }
}

@keyframes dash-feed-enter {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
    max-height: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    max-height: 200px;
  }
}

/* =========================================================
   Node Editor — Graph Canvas Component
   A zoomable, pannable canvas with draggable nodes,
   connectors, snap alignment, and timeline mode.
   ========================================================= */

/* ---------------------------------------------------------
   Canvas
   --------------------------------------------------------- */

.ne-canvas {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  min-height: 480px;
  border-radius: 8px;
  border: 1px solid var(--border-primary);
  background-color: var(--bg-surface, var(--canvas-secondary));
  cursor: -webkit-grab;
  cursor: grab;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-select: none;
  -ms-touch-action: none;
  touch-action: none;
}

.ne-canvas:active:not(.ne-canvas--connecting) {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.ne-canvas.ne-canvas--connecting {
  cursor: crosshair;
}

/* Dot grid background */

.ne-canvas__grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, var(--ne-grid-dot, var(--border-primary)) 1px, transparent 1px);
  background-size: 20px 20px;
  background-position: 0 0;
  opacity: 0.5;
  -webkit-transition: opacity 150ms ease;
  transition: opacity 150ms ease;
}

.ne-canvas:hover .ne-canvas__grid {
  opacity: 0.7;
}

/* Transform layer — holds nodes and SVG */

.ne-canvas__transform {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  will-change: transform;
}

/* SVG connector layer */

.ne-canvas__connectors {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  overflow: visible;
  pointer-events: none;
}

.ne-canvas__connectors path {
  pointer-events: stroke;
}

/* ---------------------------------------------------------
   Toolbar
   --------------------------------------------------------- */

.ne-toolbar {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.collapse.show.ne-toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .ne-toolbar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.ne-toolbar {
  padding: 4px;
  border-radius: 8px;
  background-color: var(--bg-surface, var(--canvas-secondary));
  border: 1px solid var(--border-primary);
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
}

.ne-toolbar__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.ne-toolbar__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .ne-toolbar__btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.ne-toolbar__btn {
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  font-size: 13px;
  cursor: pointer;
  -webkit-transition: background-color 120ms ease, color 120ms ease;
  transition: background-color 120ms ease, color 120ms ease;
}

.ne-toolbar__btn:hover {
  background-color: var(--bg-primary);
  color: var(--text-primary);
}

.ne-toolbar__btn:active {
  background-color: var(--bg-primary-alt, var(--bg-secondary));
}

.ne-toolbar__btn.is-active {
  background-color: var(--bg-info);
  color: var(--text-info);
}

.ne-toolbar__sep {
  width: 1px;
  height: 20px;
  margin: 0 2px;
  background-color: var(--border-primary);
}

/* Zoom display */

.ne-toolbar__zoom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.collapse.show.ne-toolbar__zoom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .ne-toolbar__zoom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.ne-toolbar__zoom {
  font-size: 11px;
  font-weight: 500;
  min-width: 44px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: var(--text-tertiary);
  font-variant-numeric: tabular-nums;
}

/* ---------------------------------------------------------
   Minimap
   --------------------------------------------------------- */

.ne-minimap {
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  z-index: 10;
  width: 160px;
  height: 100px;
  border-radius: 8px;
  background-color: var(--bg-surface, var(--canvas-secondary));
  border: 1px solid var(--border-primary);
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  opacity: 0.85;
  -webkit-transition: opacity 150ms ease;
  transition: opacity 150ms ease;
}

.ne-minimap:hover {
  opacity: 1;
}

.ne-minimap__content {
  position: relative;
  width: 100%;
  height: 100%;
}

.ne-minimap__viewport {
  position: absolute;
  border: 1.5px solid var(--text-info);
  border-radius: 2px;
  background-color: var(--bg-info);
  opacity: 0.15;
  pointer-events: none;
}

.ne-minimap__node {
  position: absolute;
  border-radius: 2px;
  background-color: var(--border-primary-solid);
  opacity: 0.5;
}

/* ---------------------------------------------------------
   Node
   --------------------------------------------------------- */

.ne-node {
  position: absolute;
  min-width: 180px;
  max-width: 280px;
  border-radius: 8px;
  background-color: var(--bg-surface, var(--canvas-secondary));
  border: 1.5px solid var(--border-primary);
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.03);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.03);
  cursor: -webkit-grab;
  cursor: grab;
  -webkit-transition: border-color 150ms ease, -webkit-box-shadow 150ms ease;
  transition: border-color 150ms ease, -webkit-box-shadow 150ms ease;
  transition: box-shadow 150ms ease, border-color 150ms ease;
  transition: box-shadow 150ms ease, border-color 150ms ease, -webkit-box-shadow 150ms ease;
  z-index: 1;
}

.ne-node:hover {
  border-color: var(--border-primary-hover);
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.05);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.05);
  z-index: 2;
}

.ne-node:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.ne-node.is-selected {
  border-color: var(--text-info);
  -webkit-box-shadow: 0 0 0 2px var(--bg-info), 0 2px 8px rgba(0, 0, 0, 0.08);
  box-shadow: 0 0 0 2px var(--bg-info), 0 2px 8px rgba(0, 0, 0, 0.08);
  z-index: 3;
}

.ne-node.is-dragging {
  -webkit-box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
  z-index: 10;
  -webkit-transition: none;
  transition: none;
}

.ne-node.is-snapping {
  -webkit-transition: none;
  transition: none;
}

/* Node color accent (top border stripe) */

.ne-node[data-color="blue"]    { border-top: 3px solid var(--text-info); }

.ne-node[data-color="green"]   { border-top: 3px solid var(--text-success); }

.ne-node[data-color="purple"]  { border-top: 3px solid var(--text-purple); }

.ne-node[data-color="orange"]  { border-top: 3px solid var(--text-warning); }

.ne-node[data-color="red"]     { border-top: 3px solid var(--text-danger); }

.ne-node[data-color="teal"]    { border-top: 3px solid var(--text-teal); }

.ne-node[data-color="pink"]    { border-top: 3px solid var(--text-pink); }

.ne-node[data-color="indigo"]  { border-top: 3px solid var(--text-indigo); }

/* Node header */

.ne-node__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.ne-node__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .ne-node__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.ne-node__header {
  padding: 10px 12px 6px;
}

.ne-node__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.ne-node__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .ne-node__icon {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.ne-node__icon {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  font-size: 13px;
  background-color: var(--bg-primary);
  color: var(--text-secondary);
}

.ne-node[data-color="blue"] .ne-node__icon    { background-color: var(--bg-info); color: var(--text-info); }

.ne-node[data-color="green"] .ne-node__icon   { background-color: var(--bg-success); color: var(--text-success); }

.ne-node[data-color="purple"] .ne-node__icon  { background-color: var(--bg-purple); color: var(--text-purple); }

.ne-node[data-color="orange"] .ne-node__icon  { background-color: var(--bg-warning); color: var(--text-warning); }

.ne-node[data-color="red"] .ne-node__icon     { background-color: var(--bg-danger); color: var(--text-danger); }

.ne-node[data-color="teal"] .ne-node__icon    { background-color: var(--bg-teal); color: var(--text-teal); }

.ne-node[data-color="pink"] .ne-node__icon    { background-color: var(--bg-pink); color: var(--text-pink); }

.ne-node[data-color="indigo"] .ne-node__icon  { background-color: var(--bg-indigo); color: var(--text-indigo); }

.ne-node__title {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ne-node__subtitle {
  font-size: 11px;
  color: var(--text-tertiary);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Node body / metadata */

.ne-node__body {
  padding: 4px 12px 10px;
}

.ne-node__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.ne-node__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .ne-node__meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.ne-node__meta {
  font-size: 11px;
  color: var(--text-tertiary);
}

.ne-node__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 1px 6px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 500;
  background-color: var(--bg-primary);
  color: var(--text-secondary);
}

.ne-node__badge--info    { background-color: var(--bg-info); color: var(--text-info); }

.ne-node__badge--success { background-color: var(--bg-success); color: var(--text-success); }

.ne-node__badge--warning { background-color: var(--bg-warning); color: var(--text-warning); }

.ne-node__badge--danger  { background-color: var(--bg-danger); color: var(--text-danger); }

.ne-node__badge--purple  { background-color: var(--bg-purple); color: var(--text-purple); }

/* ---------------------------------------------------------
   Ports (connection handles)
   --------------------------------------------------------- */

.ne-port {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: var(--bg-surface, var(--canvas-secondary));
  border: 2px solid var(--border-primary-solid);
  cursor: crosshair;
  z-index: 4;
  -webkit-transition: border-color 120ms ease, background-color 120ms ease, -webkit-transform 120ms ease;
  transition: border-color 120ms ease, background-color 120ms ease, -webkit-transform 120ms ease;
  transition: transform 120ms ease, border-color 120ms ease, background-color 120ms ease;
  transition: transform 120ms ease, border-color 120ms ease, background-color 120ms ease, -webkit-transform 120ms ease;
}

.ne-port:hover,
.ne-port.is-active {
  -webkit-transform: scale(1.4);
  -ms-transform: scale(1.4);
  transform: scale(1.4);
  border-color: var(--text-info);
  background-color: var(--bg-info);
}

.ne-port--left   { left: -6px; top: 50%; margin-top: -6px; }

.ne-port--right  { right: -6px; top: 50%; margin-top: -6px; }

.ne-port--top    { top: -6px; left: 50%; margin-left: -6px; }

.ne-port--bottom { bottom: -6px; left: 50%; margin-left: -6px; }

/* ---------------------------------------------------------
   Connectors (SVG paths)
   --------------------------------------------------------- */

.ne-connector {
  fill: none;
  stroke: var(--border-primary-solid);
  stroke-width: 2;
  stroke-linecap: round;
  -webkit-transition: stroke 150ms ease, stroke-width 150ms ease;
  transition: stroke 150ms ease, stroke-width 150ms ease;
}

.ne-connector:hover {
  stroke: var(--text-info);
  stroke-width: 2.5;
}

.ne-connector.is-selected {
  stroke: var(--text-info);
  stroke-width: 2.5;
}

.ne-connector--draft {
  stroke: var(--text-info);
  stroke-width: 2;
  stroke-dasharray: 6 4;
  opacity: 0.6;
}

/* Connector arrowheads */

.ne-connector-arrow {
  fill: var(--border-primary-solid);
}

.ne-connector:hover + .ne-connector-arrow,
.ne-connector.is-selected + .ne-connector-arrow {
  fill: var(--text-info);
}

/* ---------------------------------------------------------
   Snap alignment guides
   --------------------------------------------------------- */

.ne-snap-guide {
  position: absolute;
  background-color: var(--text-info);
  opacity: 0;
  z-index: 5;
  pointer-events: none;
  -webkit-transition: opacity 80ms ease;
  transition: opacity 80ms ease;
}

.ne-snap-guide.is-visible {
  opacity: 0.5;
}

.ne-snap-guide--h {
  height: 1px;
  left: 0;
  right: 0;
}

.ne-snap-guide--v {
  width: 1px;
  top: 0;
  bottom: 0;
}

/* Snap distance indicator */

.ne-snap-indicator {
  position: absolute;
  z-index: 6;
  pointer-events: none;
  font-size: 10px;
  font-weight: 500;
  color: var(--text-info);
  background-color: var(--bg-surface, var(--canvas-secondary));
  padding: 1px 4px;
  border-radius: 3px;
  border: 1px solid var(--bg-info);
  opacity: 0;
  -webkit-transition: opacity 80ms ease;
  transition: opacity 80ms ease;
}

.ne-snap-indicator.is-visible {
  opacity: 1;
}

/* ---------------------------------------------------------
   Selection box (marquee)
   --------------------------------------------------------- */

.ne-selection-box {
  position: absolute;
  border: 1.5px solid var(--text-info);
  background-color: var(--bg-info);
  opacity: 0.12;
  border-radius: 2px;
  z-index: 5;
  pointer-events: none;
}

/* ---------------------------------------------------------
   Timeline mode
   --------------------------------------------------------- */

.ne-canvas--timeline .ne-canvas__grid {
  background-image:
    linear-gradient(to right, var(--ne-grid-dot, var(--border-primary)) 1px, transparent 1px);
  background-size: 120px 20px;
  opacity: 0.3;
}

.ne-timeline-axis {
  position: absolute;
  top: 0;
  left: 0;
  height: 40px;
  z-index: 5;
  pointer-events: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.ne-timeline-marker {
  position: absolute;
  bottom: 0;
  font-size: 10px;
  font-weight: 500;
  color: var(--text-quaternary);
  text-align: center;
  padding-bottom: 6px;
  white-space: nowrap;
}

.ne-timeline-marker::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 4px;
  background-color: var(--border-primary-solid);
  opacity: 0.4;
}

.ne-timeline-lane {
  position: absolute;
  left: 0;
  right: 0;
  border-bottom: 1px dashed var(--border-primary);
  opacity: 0.3;
}

.ne-timeline-lane__label {
  position: absolute;
  left: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-quaternary);
  background-color: var(--bg-surface, var(--canvas-secondary));
  padding: 2px 6px;
  border-radius: 3px;
}

/* Timeline node variant */

.ne-node--timeline {
  min-width: 140px;
  max-width: 200px;
  border-radius: 6px;
}

.ne-node--timeline .ne-node__header {
  padding: 8px 10px 4px;
}

.ne-node--timeline .ne-node__body {
  padding: 2px 10px 8px;
}

.ne-node--milestone {
  min-width: auto;
  max-width: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0;
  border-width: 2px;
}

.ne-node--milestone .ne-node__header,
.ne-node--milestone .ne-node__body {
  display: none;
}

.ne-node--milestone .ne-node__milestone-icon {
  font-size: 14px;
  color: var(--text-secondary);
}

.ne-node--milestone[data-color="blue"] .ne-node__milestone-icon    { color: var(--text-info); }

.ne-node--milestone[data-color="green"] .ne-node__milestone-icon   { color: var(--text-success); }

.ne-node--milestone[data-color="purple"] .ne-node__milestone-icon  { color: var(--text-purple); }

.ne-node--milestone[data-color="orange"] .ne-node__milestone-icon  { color: var(--text-warning); }

.ne-node--milestone-label {
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  margin-top: 6px;
  font-size: 10px;
  font-weight: 500;
  color: var(--text-secondary);
  white-space: nowrap;
  text-align: center;
  pointer-events: none;
}

/* ---------------------------------------------------------
   Status badge / info bar at bottom
   --------------------------------------------------------- */

.ne-status {
  position: absolute;
  bottom: 0.75rem;
  left: 0.75rem;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
}

.collapse.show.ne-status {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .ne-status {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.ne-status {
  font-size: 11px;
  color: var(--text-tertiary);
  pointer-events: none;
}

.ne-status__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.collapse.show.ne-status__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .ne-status__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ---------------------------------------------------------
   Reduced motion
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .ne-node,
  .ne-port,
  .ne-connector,
  .ne-snap-guide,
  .ne-snap-indicator,
  .ne-minimap,
  .ne-canvas__grid {
    -webkit-transition: none;
    transition: none;
  }
}

/*Inputs*/

.ui-autocomplete {
  position: absolute;
  border-radius: 0.375rem;
  padding: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  top: 100%;
  left: 0;
  z-index: 1000;
  float: left;
  display: none;
  margin: 0 0 10px 25px;
  list-style: none;
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  color: var(--text-autocomplete);
  background-color: var(--bg-autocomplete);
  border-color: var(--border-autocomplete);
}

.ui-menu-item > a.ui-corner-all {
  display: block;
  padding: 3px 15px;
  clear: both;
  font-weight: normal;
  line-height: 18px;
  color: var(--text-autocomplete-item);
  white-space: nowrap;
  text-decoration: none;
}

.ui-state-hover,
.ui-state-active {
  color: var(--text-autocomplete-active);
  background-color: var(--bg-autocomplete-active);
  text-decoration: none;
  border-radius: 0;
}

/* ==========================================================================
   Checks v2 – Checkbox + Toggle + Radio (FINAL + TOGGLE LOCK)
   (Includes improved disabled+checked checkbox styling)
   ========================================================================== */

/* ==========================================================================
   CHECKBOX v2
   ========================================================================== */

.checkbox-base {
  display: inline-block;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-width: 1px;
  vertical-align: middle;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.checkbox-base:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
}

.checkbox-base {
  -webkit-tap-highlight-color: transparent;
  background-color: var(--bg-checkbox);
  border-color: var(--border-checkbox);
}

/* Hover / Active */

.checkbox-base:hover {
    border-color: var(--border-checkbox-hover);
  }

.checkbox-base:active {
    background-color: var(--bg-checkbox-active);
    border-color: var(--border-checkbox-active);
  }

/* Checked (LOCKED) */

.checkbox-base:checked,
  .checkbox-base:checked:hover,
  .checkbox-base:checked:active,
  .checkbox-base:checked:focus {
    background-color: var(--bg-checkbox-checked);
    border-color: var(--border-checkbox-checked);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
  }

/* Indeterminate (LOCKED) */

.checkbox-base:indeterminate,
  .checkbox-base:indeterminate:hover,
  .checkbox-base:indeterminate:active,
  .checkbox-base:indeterminate:focus {
    background-color: var(--bg-checkbox-checked);
    border-color: var(--border-checkbox-checked);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round'><path d='M6 12h12'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
  }

/* Disabled */

.checkbox-base:disabled,
  .checkbox-base[disabled] {
  cursor: not-allowed;
  opacity: 0.6;
    background-color: var(--bg-checkbox-disabled);
    border-color: var(--border-checkbox-disabled);
}

/* ✅ Disabled + Checked / Indeterminate (make distinct) */

.checkbox-base:disabled:checked,
    .checkbox-base[disabled]:checked,
    .checkbox-base:disabled:indeterminate,
    .checkbox-base[disabled]:indeterminate {
      /* Reduce “flattening” so checked still reads as checked */
      opacity: 0.9;
      background-color: var(--bg-checkbox-disabled-checked);
      border-color: var(--border-checkbox-disabled-checked);
      /* Keep mark crisp */
      background-repeat: no-repeat;
      background-position: center;
      /* Optional subtle stamp edge for low-contrast screens */
      -webkit-box-shadow: inset 0 0 0 1px rgba(0,0,0,0.12);
      box-shadow: inset 0 0 0 1px rgba(0,0,0,0.12);
    }

/* Disabled + Checked mark */

.checkbox-base:disabled:checked,
    .checkbox-base[disabled]:checked {
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>");
    }

/* Disabled + Indeterminate mark */

.checkbox-base:disabled:indeterminate,
    .checkbox-base[disabled]:indeterminate {
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round'><path d='M6 12h12'/></svg>");
    }

/* Semantic */

.checkbox-base.is-error {
    border-color: var(--border-checkbox-error);
  }

.checkbox-base.is-success {
    border-color: var(--border-checkbox-success);
  }

/* Variants */

.checkbox {
  border-radius: 0.25rem;
  display: inline-block;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-width: 1px;
  vertical-align: middle;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.checkbox:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
}

.checkbox {
  -webkit-tap-highlight-color: transparent;
  background-color: var(--bg-checkbox);
  border-color: var(--border-checkbox);
}

.checkbox:hover {
    border-color: var(--border-checkbox-hover);
  }

.checkbox:active {
    background-color: var(--bg-checkbox-active);
    border-color: var(--border-checkbox-active);
  }

.checkbox:checked,.checkbox:checked:hover,.checkbox:checked:active,.checkbox:checked:focus {
    background-color: var(--bg-checkbox-checked);
    border-color: var(--border-checkbox-checked);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
  }

.checkbox:indeterminate,.checkbox:indeterminate:hover,.checkbox:indeterminate:active,.checkbox:indeterminate:focus {
    background-color: var(--bg-checkbox-checked);
    border-color: var(--border-checkbox-checked);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round'><path d='M6 12h12'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
  }

.checkbox:disabled,.checkbox[disabled] {
  cursor: not-allowed;
  opacity: 0.6;
    background-color: var(--bg-checkbox-disabled);
    border-color: var(--border-checkbox-disabled);
}

.checkbox:disabled:checked,.checkbox[disabled]:checked,.checkbox:disabled:indeterminate,.checkbox[disabled]:indeterminate {
      /* Reduce “flattening” so checked still reads as checked */
      /* Keep mark crisp */
      /* Optional subtle stamp edge for low-contrast screens */
      /* Reduce “flattening” so checked still reads as checked */
      /* Keep mark crisp */
      /* Optional subtle stamp edge for low-contrast screens */
      /* Reduce “flattening” so checked still reads as checked */
      /* Keep mark crisp */
      /* Optional subtle stamp edge for low-contrast screens */
      /* Reduce “flattening” so checked still reads as checked */
      opacity: 0.9;
      background-color: var(--bg-checkbox-disabled-checked);
      border-color: var(--border-checkbox-disabled-checked);
      /* Keep mark crisp */
      background-repeat: no-repeat;
      background-position: center;
      /* Optional subtle stamp edge for low-contrast screens */
      -webkit-box-shadow: inset 0 0 0 1px rgba(0,0,0,0.12);
      box-shadow: inset 0 0 0 1px rgba(0,0,0,0.12);
    }

.checkbox:disabled:checked,.checkbox[disabled]:checked {
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>");
    }

.checkbox:disabled:indeterminate,.checkbox[disabled]:indeterminate {
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round'><path d='M6 12h12'/></svg>");
    }

.checkbox.is-error {
    border-color: var(--border-checkbox-error);
  }

.checkbox.is-success {
    border-color: var(--border-checkbox-success);
  }

.checkbox {
  height: 1rem;
  width: 1rem;
}

.checkbox-soft {
  border-radius: 0.375rem;
  display: inline-block;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-width: 1px;
  vertical-align: middle;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.checkbox-soft:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
}

.checkbox-soft {
  -webkit-tap-highlight-color: transparent;
  background-color: var(--bg-checkbox);
  border-color: var(--border-checkbox);
}

.checkbox-soft:hover {
    border-color: var(--border-checkbox-hover);
  }

.checkbox-soft:active {
    background-color: var(--bg-checkbox-active);
    border-color: var(--border-checkbox-active);
  }

.checkbox-soft:checked,.checkbox-soft:checked:hover,.checkbox-soft:checked:active,.checkbox-soft:checked:focus {
    background-color: var(--bg-checkbox-checked);
    border-color: var(--border-checkbox-checked);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
  }

.checkbox-soft:indeterminate,.checkbox-soft:indeterminate:hover,.checkbox-soft:indeterminate:active,.checkbox-soft:indeterminate:focus {
    background-color: var(--bg-checkbox-checked);
    border-color: var(--border-checkbox-checked);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round'><path d='M6 12h12'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
  }

.checkbox-soft:disabled,.checkbox-soft[disabled] {
  cursor: not-allowed;
  opacity: 0.6;
    background-color: var(--bg-checkbox-disabled);
    border-color: var(--border-checkbox-disabled);
}

.checkbox-soft:disabled:checked,.checkbox-soft[disabled]:checked,.checkbox-soft:disabled:indeterminate,.checkbox-soft[disabled]:indeterminate {
      /* Reduce “flattening” so checked still reads as checked */
      /* Keep mark crisp */
      /* Optional subtle stamp edge for low-contrast screens */
      /* Reduce “flattening” so checked still reads as checked */
      /* Keep mark crisp */
      /* Optional subtle stamp edge for low-contrast screens */
      /* Reduce “flattening” so checked still reads as checked */
      /* Keep mark crisp */
      /* Optional subtle stamp edge for low-contrast screens */
      /* Reduce “flattening” so checked still reads as checked */
      opacity: 0.9;
      background-color: var(--bg-checkbox-disabled-checked);
      border-color: var(--border-checkbox-disabled-checked);
      /* Keep mark crisp */
      background-repeat: no-repeat;
      background-position: center;
      /* Optional subtle stamp edge for low-contrast screens */
      -webkit-box-shadow: inset 0 0 0 1px rgba(0,0,0,0.12);
      box-shadow: inset 0 0 0 1px rgba(0,0,0,0.12);
    }

.checkbox-soft:disabled:checked,.checkbox-soft[disabled]:checked {
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>");
    }

.checkbox-soft:disabled:indeterminate,.checkbox-soft[disabled]:indeterminate {
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round'><path d='M6 12h12'/></svg>");
    }

.checkbox-soft.is-error {
    border-color: var(--border-checkbox-error);
  }

.checkbox-soft.is-success {
    border-color: var(--border-checkbox-success);
  }

.checkbox-round {
  border-radius: 9999px;
  display: inline-block;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-width: 1px;
  vertical-align: middle;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.checkbox-round:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
}

.checkbox-round {
  -webkit-tap-highlight-color: transparent;
  background-color: var(--bg-checkbox);
  border-color: var(--border-checkbox);
}

.checkbox-round:hover {
    border-color: var(--border-checkbox-hover);
  }

.checkbox-round:active {
    background-color: var(--bg-checkbox-active);
    border-color: var(--border-checkbox-active);
  }

.checkbox-round:checked,.checkbox-round:checked:hover,.checkbox-round:checked:active,.checkbox-round:checked:focus {
    background-color: var(--bg-checkbox-checked);
    border-color: var(--border-checkbox-checked);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
  }

.checkbox-round:indeterminate,.checkbox-round:indeterminate:hover,.checkbox-round:indeterminate:active,.checkbox-round:indeterminate:focus {
    background-color: var(--bg-checkbox-checked);
    border-color: var(--border-checkbox-checked);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round'><path d='M6 12h12'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
  }

.checkbox-round:disabled,.checkbox-round[disabled] {
  cursor: not-allowed;
  opacity: 0.6;
    background-color: var(--bg-checkbox-disabled);
    border-color: var(--border-checkbox-disabled);
}

.checkbox-round:disabled:checked,.checkbox-round[disabled]:checked,.checkbox-round:disabled:indeterminate,.checkbox-round[disabled]:indeterminate {
      /* Reduce “flattening” so checked still reads as checked */
      /* Keep mark crisp */
      /* Optional subtle stamp edge for low-contrast screens */
      /* Reduce “flattening” so checked still reads as checked */
      /* Keep mark crisp */
      /* Optional subtle stamp edge for low-contrast screens */
      /* Reduce “flattening” so checked still reads as checked */
      /* Keep mark crisp */
      /* Optional subtle stamp edge for low-contrast screens */
      /* Reduce “flattening” so checked still reads as checked */
      opacity: 0.9;
      background-color: var(--bg-checkbox-disabled-checked);
      border-color: var(--border-checkbox-disabled-checked);
      /* Keep mark crisp */
      background-repeat: no-repeat;
      background-position: center;
      /* Optional subtle stamp edge for low-contrast screens */
      -webkit-box-shadow: inset 0 0 0 1px rgba(0,0,0,0.12);
      box-shadow: inset 0 0 0 1px rgba(0,0,0,0.12);
    }

.checkbox-round:disabled:checked,.checkbox-round[disabled]:checked {
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>");
    }

.checkbox-round:disabled:indeterminate,.checkbox-round[disabled]:indeterminate {
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round'><path d='M6 12h12'/></svg>");
    }

.checkbox-round.is-error {
    border-color: var(--border-checkbox-error);
  }

.checkbox-round.is-success {
    border-color: var(--border-checkbox-success);
  }

/* Sizes */

.checkbox-xs {
  height: 0.75rem;
  width: 0.75rem;
}

.checkbox-sm {
  height: 0.875rem;
  width: 0.875rem;
}

.checkbox-md {
  height: 1rem;
  width: 1rem;
}

.checkbox-lg {
  height: 1.25rem;
  width: 1.25rem;
}

/* Checkbox + label */

.check {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.check-label {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .check-label {
  line-height: 1.3;
}

.check-label {
  color: var(--text-check-label);
}

.check.check-muted .check-label {
  color: var(--text-check-label-muted);
}

.check.check-dense {
  gap: 0.375rem;
}

.check.check-dense .check-label {
  font-size: 0.6875rem;
  line-height: 1rem;
}

/* ==========================================================================
   TOGGLE v2 (DISABLED LOCK FIXED)
   ========================================================================== */

.toggle {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.toggle-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* Track */

.toggle-track {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 9999px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  width: 38px;
  height: 22px;
  background-color: var(--bg-toggle-track);
  border: 1px solid var(--border-toggle-track);
}

/* Thumb */

.toggle-thumb {
  position: absolute;
  border-radius: 9999px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  width: 18px;
  height: 18px;
  left: 2px;
  background-color: var(--bg-toggle-thumb);
  -webkit-box-shadow: var(--shadow-toggle-thumb);
  box-shadow: var(--shadow-toggle-thumb);
}

/* Hover */

.toggle:hover .toggle-track {
  background-color: var(--bg-toggle-track-hover);
}

/* Checked */

.toggle-input:checked ~ .toggle-track {
  background-color: var(--bg-toggle-track-checked);
}

.toggle-input:checked ~ .toggle-track .toggle-thumb {
    -webkit-transform: translateX(16px);
    -ms-transform: translateX(16px);
    transform: translateX(16px);
  }

/* Disabled visual */

.toggle-input:disabled ~ .toggle-track {
  background-color: var(--bg-toggle-track-disabled);
}

/* 🔒 DISABLED INTERACTION LOCK */

.toggle:has(.toggle-input:disabled) {
  cursor: not-allowed;
  opacity: 0.6;
  pointer-events: none;
}

/* Allow label text selection */

.toggle:has(.toggle-input:disabled) .toggle-label {
    pointer-events: auto;
  }

.toggle-label {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .toggle-label {
  line-height: 1.3;
}

.toggle-label {
  color: var(--text-check-label);
}

/* Dynamic label text via data-on / data-off attributes */

.toggle-input ~ .toggle-label[data-on][data-off] {
  font-size: 0;
  line-height: 0;
}

.toggle-input ~ .toggle-label[data-on][data-off]::after {
    font-size: 0.75rem; /* text-xs */
    line-height: normal;
    content: attr(data-off);
  }

.toggle-input:checked ~ .toggle-label[data-on][data-off]::after {
    content: attr(data-on);
  }

/* Sizes */

.toggle-xs .toggle-track {
  width: 32px;
  height: 18px;
}

.toggle-xs .toggle-thumb {
  width: 14px;
  height: 14px;
}

.toggle-xs .toggle-input:checked ~ .toggle-track .toggle-thumb {
  -webkit-transform: translateX(14px);
  -ms-transform: translateX(14px);
  transform: translateX(14px);
}

.toggle-lg .toggle-track {
  width: 46px;
  height: 26px;
}

.toggle-lg .toggle-thumb {
  width: 22px;
  height: 22px;
}

.toggle-lg .toggle-input:checked ~ .toggle-track .toggle-thumb {
  -webkit-transform: translateX(20px);
  -ms-transform: translateX(20px);
  transform: translateX(20px);
}

/* ==========================================================================
   RADIO v2 (LOCKED, NO FILL)
   ========================================================================== */

.radio-base {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 9999px;
  border-width: 1px;
  vertical-align: middle;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.radio-base:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
}

.radio-base {
  -webkit-tap-highlight-color: transparent;
  background-color: var(--bg-radio);
  border-color: var(--border-radio);
  position: relative;
  --radio-dot-size: 0.5rem;
}

/* Hover */

.radio-base:hover {
    border-color: var(--border-radio-hover);
  }

/* Active (no fill) */

.radio-base:active {
    background-color: var(--bg-radio);
    border-color: var(--border-radio-active);
  }

/* Dot */

.radio-base::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: var(--radio-dot-size);
    height: var(--radio-dot-size);
    border-radius: 999px;
    -webkit-transform: translate(-50%, -50%) scale(0);
    -ms-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0);
    background-color: var(--bg-radio-dot);
    -webkit-transition: background-color 75ms ease-in-out, -webkit-transform 75ms ease-in-out;
    transition: background-color 75ms ease-in-out, -webkit-transform 75ms ease-in-out;
    transition: transform 75ms ease-in-out, background-color 75ms ease-in-out;
    transition: transform 75ms ease-in-out, background-color 75ms ease-in-out, -webkit-transform 75ms ease-in-out;
  }

/* Checked (LOCKED) */

.radio-base:checked,
  .radio-base:checked:hover,
  .radio-base:checked:active,
  .radio-base:checked:focus {
    background-color: var(--bg-radio);
    border-color: var(--border-radio-checked);
  }

.radio-base:checked::after,
    .radio-base:checked:hover::after,
    .radio-base:checked:active::after,
    .radio-base:checked:focus::after {
      -webkit-transform: translate(-50%, -50%) scale(1);
      -ms-transform: translate(-50%, -50%) scale(1);
      transform: translate(-50%, -50%) scale(1);
      background-color: var(--bg-radio-dot-checked);
    }

/* Disabled */

.radio-base:disabled,
  .radio-base[disabled] {
  cursor: not-allowed;
  opacity: 0.6;
    background-color: var(--bg-radio-disabled);
    border-color: var(--border-radio-disabled);
}

.radio-base:disabled::after {
      background-color: var(--bg-radio-dot-disabled);
    }

/* Variants */

.radio {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 9999px;
  border-width: 1px;
  vertical-align: middle;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.radio:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
}

.radio {
  -webkit-tap-highlight-color: transparent;
  background-color: var(--bg-radio);
  border-color: var(--border-radio);
  position: relative;
  --radio-dot-size: 0.5rem;
}

.radio:hover {
    border-color: var(--border-radio-hover);
  }

.radio:active {
    background-color: var(--bg-radio);
    border-color: var(--border-radio-active);
  }

.radio::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: var(--radio-dot-size);
    height: var(--radio-dot-size);
    border-radius: 999px;
    -webkit-transform: translate(-50%, -50%) scale(0);
    -ms-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0);
    background-color: var(--bg-radio-dot);
    -webkit-transition: background-color 75ms ease-in-out, -webkit-transform 75ms ease-in-out;
    transition: background-color 75ms ease-in-out, -webkit-transform 75ms ease-in-out;
    transition: transform 75ms ease-in-out, background-color 75ms ease-in-out;
    transition: transform 75ms ease-in-out, background-color 75ms ease-in-out, -webkit-transform 75ms ease-in-out;
  }

.radio:checked,.radio:checked:hover,.radio:checked:active,.radio:checked:focus {
    background-color: var(--bg-radio);
    border-color: var(--border-radio-checked);
  }

.radio:checked::after,.radio:checked:hover::after,.radio:checked:active::after,.radio:checked:focus::after {
      -webkit-transform: translate(-50%, -50%) scale(1);
      -ms-transform: translate(-50%, -50%) scale(1);
      transform: translate(-50%, -50%) scale(1);
      background-color: var(--bg-radio-dot-checked);
    }

.radio:disabled,.radio[disabled] {
  cursor: not-allowed;
  opacity: 0.6;
    background-color: var(--bg-radio-disabled);
    border-color: var(--border-radio-disabled);
}

.radio:disabled::after {
      background-color: var(--bg-radio-dot-disabled);
    }

.radio-soft {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 9999px;
  border-width: 1px;
  vertical-align: middle;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.radio-soft:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
}

.radio-soft {
  -webkit-tap-highlight-color: transparent;
  background-color: var(--bg-radio);
  border-color: var(--border-radio);
  position: relative;
  --radio-dot-size: 0.5rem;
}

.radio-soft:hover {
    border-color: var(--border-radio-hover);
  }

.radio-soft:active {
    background-color: var(--bg-radio);
    border-color: var(--border-radio-active);
  }

.radio-soft::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: var(--radio-dot-size);
    height: var(--radio-dot-size);
    border-radius: 999px;
    -webkit-transform: translate(-50%, -50%) scale(0);
    -ms-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0);
    background-color: var(--bg-radio-dot);
    -webkit-transition: background-color 75ms ease-in-out, -webkit-transform 75ms ease-in-out;
    transition: background-color 75ms ease-in-out, -webkit-transform 75ms ease-in-out;
    transition: transform 75ms ease-in-out, background-color 75ms ease-in-out;
    transition: transform 75ms ease-in-out, background-color 75ms ease-in-out, -webkit-transform 75ms ease-in-out;
  }

.radio-soft:checked,.radio-soft:checked:hover,.radio-soft:checked:active,.radio-soft:checked:focus {
    background-color: var(--bg-radio);
    border-color: var(--border-radio-checked);
  }

.radio-soft:checked::after,.radio-soft:checked:hover::after,.radio-soft:checked:active::after,.radio-soft:checked:focus::after {
      -webkit-transform: translate(-50%, -50%) scale(1);
      -ms-transform: translate(-50%, -50%) scale(1);
      transform: translate(-50%, -50%) scale(1);
      background-color: var(--bg-radio-dot-checked);
    }

.radio-soft:disabled,.radio-soft[disabled] {
  cursor: not-allowed;
  opacity: 0.6;
    background-color: var(--bg-radio-disabled);
    border-color: var(--border-radio-disabled);
}

.radio-soft:disabled::after {
      background-color: var(--bg-radio-dot-disabled);
    }

.radio-soft {
  border-color: var(--border-radio-soft);
}

.radio-ghost {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 9999px;
  border-width: 1px;
  vertical-align: middle;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.radio-ghost:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 0px;
}

.radio-ghost {
  -webkit-tap-highlight-color: transparent;
  background-color: var(--bg-radio);
  border-color: var(--border-radio);
  position: relative;
  --radio-dot-size: 0.5rem;
}

.radio-ghost:hover {
    border-color: var(--border-radio-hover);
  }

.radio-ghost:active {
    background-color: var(--bg-radio);
    border-color: var(--border-radio-active);
  }

.radio-ghost::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: var(--radio-dot-size);
    height: var(--radio-dot-size);
    border-radius: 999px;
    -webkit-transform: translate(-50%, -50%) scale(0);
    -ms-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0);
    background-color: var(--bg-radio-dot);
    -webkit-transition: background-color 75ms ease-in-out, -webkit-transform 75ms ease-in-out;
    transition: background-color 75ms ease-in-out, -webkit-transform 75ms ease-in-out;
    transition: transform 75ms ease-in-out, background-color 75ms ease-in-out;
    transition: transform 75ms ease-in-out, background-color 75ms ease-in-out, -webkit-transform 75ms ease-in-out;
  }

.radio-ghost:checked,.radio-ghost:checked:hover,.radio-ghost:checked:active,.radio-ghost:checked:focus {
    background-color: var(--bg-radio);
    border-color: var(--border-radio-checked);
  }

.radio-ghost:checked::after,.radio-ghost:checked:hover::after,.radio-ghost:checked:active::after,.radio-ghost:checked:focus::after {
      -webkit-transform: translate(-50%, -50%) scale(1);
      -ms-transform: translate(-50%, -50%) scale(1);
      transform: translate(-50%, -50%) scale(1);
      background-color: var(--bg-radio-dot-checked);
    }

.radio-ghost:disabled,.radio-ghost[disabled] {
  cursor: not-allowed;
  opacity: 0.6;
    background-color: var(--bg-radio-disabled);
    border-color: var(--border-radio-disabled);
}

.radio-ghost:disabled::after {
      background-color: var(--bg-radio-dot-disabled);
    }

.radio-ghost {
  background-color: var(--alpha-0);
  border-color: var(--border-radio-ghost);
}

/* Sizes */

.radio-xs {
  height: 0.75rem;
  width: 0.75rem;
  --radio-dot-size: 0.375rem;
}

.radio-sm {
  height: 0.875rem;
  width: 0.875rem;
  --radio-dot-size: 0.4375rem;
}

.radio-md {
  height: 1rem;
  width: 1rem;
  --radio-dot-size: 0.5rem;
}

.radio-lg {
  height: 1.25rem;
  width: 1.25rem;
  --radio-dot-size: 0.625rem;
}

/* Groups */

.radio-group > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}

.radio-group-inline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
}

.collapse.show.radio-group-inline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .radio-group-inline {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.color-swatch {
  display: inline-block;
  height: 1rem;
  width: 1rem;
  border-radius: 9999px;
  --tw-ring-offset-width: 2px;
  --tw-ring-offset-color: #fff;
}

.color-swatch:hover {
  cursor: pointer;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(195 199 208 / var(--tw-ring-opacity, 1));
}

.color-swatch:is(.dark *) {
  --tw-ring-offset-color: #2f3038;
}

.color-swatch:hover:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(92 95 107 / var(--tw-ring-opacity, 1));
}

.color-swatch-sm {
  height: 0.5rem;
  width: 0.5rem;
}

.color-swatch.active {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(91 142 255 / var(--tw-ring-opacity, 1));
}

.color-swatch.active:hover {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(91 142 255 / var(--tw-ring-opacity, 1));
}

.color-swatch.active:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(145 181 255 / var(--tw-ring-opacity, 1));
}

.color-swatch.active:hover:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(145 181 255 / var(--tw-ring-opacity, 1));
}

.color-swatch.color-none {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(222 225 230 / var(--tw-border-opacity, 1));
  background-color: transparent; border-color: var(--color-gray-200);
}

.color-swatch.color-none:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(74 77 88 / var(--tw-border-opacity, 1));
  background-color: transparent;
}

.color-swatch.color-green {
  --tw-bg-opacity: 1;
  background-color: rgb(57 226 138 / var(--tw-bg-opacity, 1)); background-color: var(--color-green-400);
}

.color-swatch.color-green:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(124 255 174 / var(--tw-bg-opacity, 1));
}

.color-swatch.color-green {
  background-color: var(--bg-color-picker-green);
}

.color-swatch.color-teal {
  --tw-bg-opacity: 1;
  background-color: rgb(52 195 202 / var(--tw-bg-opacity, 1)); background-color: var(--color-teal-400);
}

.color-swatch.color-teal:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(104 224 225 / var(--tw-bg-opacity, 1));
}

.color-swatch.color-cyan {
  --tw-bg-opacity: 1;
  background-color: rgb(47 184 226 / var(--tw-bg-opacity, 1)); background-color: var(--color-cyan-400);
}

.color-swatch.color-cyan:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(95 213 241 / var(--tw-bg-opacity, 1));
}

.color-swatch.color-blue {
  --tw-bg-opacity: 1;
  background-color: rgb(91 142 255 / var(--tw-bg-opacity, 1)); background-color: var(--color-blue-400);
}

.color-swatch.color-blue:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(145 181 255 / var(--tw-bg-opacity, 1));
}

.color-swatch.color-purple {
  --tw-bg-opacity: 1;
  background-color: rgb(162 81 239 / var(--tw-bg-opacity, 1)); background-color: var(--color-purple-400);
}

.color-swatch.color-purple:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(193 136 244 / var(--tw-bg-opacity, 1));
}

.color-swatch.color-pink {
  --tw-bg-opacity: 1;
  background-color: rgb(238 81 157 / var(--tw-bg-opacity, 1)); background-color: var(--color-pink-400);
}

.color-swatch.color-pink:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(244 136 192 / var(--tw-bg-opacity, 1));
}

.color-swatch.color-red {
  --tw-bg-opacity: 1;
  background-color: rgb(247 121 110 / var(--tw-bg-opacity, 1)); background-color: var(--color-red-400);
}

.color-swatch.color-red:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(247 121 110 / var(--tw-bg-opacity, 1));
}

.color-swatch.color-orange {
  --tw-bg-opacity: 1;
  background-color: rgb(231 138 50 / var(--tw-bg-opacity, 1)); background-color: var(--color-orange-400);
}

.color-swatch.color-orange:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(246 170 106 / var(--tw-bg-opacity, 1));
}

.color-swatch.color-yellow {
  --tw-bg-opacity: 1;
  background-color: rgb(247 190 18 / var(--tw-bg-opacity, 1)); background-color: var(--color-yellow-400);
}

.color-swatch.color-yellow:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(255 212 60 / var(--tw-bg-opacity, 1));
}

.color-none {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(222 225 230 / var(--tw-border-opacity, 1));
  background-color: transparent; border-color: var(--color-gray-200);
}

.color-none:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(74 77 88 / var(--tw-border-opacity, 1));
  background-color: transparent;
}

.color-green {
  --tw-bg-opacity: 1;
  background-color: rgb(57 226 138 / var(--tw-bg-opacity, 1)); background-color: var(--color-green-400);
}

.color-green:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(57 226 138 / var(--tw-bg-opacity, 1));
}

.color-teal {
  --tw-bg-opacity: 1;
  background-color: rgb(52 195 202 / var(--tw-bg-opacity, 1)); background-color: var(--color-teal-400);
}

.color-teal:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(52 195 202 / var(--tw-bg-opacity, 1));
}

.color-cyan {
  --tw-bg-opacity: 1;
  background-color: rgb(47 184 226 / var(--tw-bg-opacity, 1)); background-color: var(--color-cyan-400);
}

.color-cyan:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(47 184 226 / var(--tw-bg-opacity, 1));
}

.color-blue {
  --tw-bg-opacity: 1;
  background-color: rgb(91 142 255 / var(--tw-bg-opacity, 1)); background-color: var(--color-blue-400);
}

.color-blue:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(91 142 255 / var(--tw-bg-opacity, 1));
}

.color-purple {
  --tw-bg-opacity: 1;
  background-color: rgb(162 81 239 / var(--tw-bg-opacity, 1)); background-color: var(--color-purple-400);
}

.color-purple:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(162 81 239 / var(--tw-bg-opacity, 1));
}

.color-pink {
  --tw-bg-opacity: 1;
  background-color: rgb(238 81 157 / var(--tw-bg-opacity, 1)); background-color: var(--color-pink-400);
}

.color-pink:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(238 81 157 / var(--tw-bg-opacity, 1));
}

.color-red {
  --tw-bg-opacity: 1;
  background-color: rgb(247 121 110 / var(--tw-bg-opacity, 1)); background-color: var(--color-red-400);
}

.color-red:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(247 121 110 / var(--tw-bg-opacity, 1));
}

.color-orange {
  --tw-bg-opacity: 1;
  background-color: rgb(231 138 50 / var(--tw-bg-opacity, 1)); background-color: var(--color-orange-400);
}

.color-orange:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(246 170 106 / var(--tw-bg-opacity, 1));
}

.color-yellow {
  --tw-bg-opacity: 1;
  background-color: rgb(247 190 18 / var(--tw-bg-opacity, 1)); background-color: var(--color-yellow-400);
}

.color-yellow:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(255 212 60 / var(--tw-bg-opacity, 1));
}

/*DatePicker*/

/* ==========================================================================
   Form Controls v2 – Labels + Groups (UPDATED)
   Goal:
   - Use <label> tags by default (no .form-label required)
   - Allow label/control widths to be controlled via Tailwind grid classes
   - Support vertical + inline/grid layouts
   - Add read-only “detail view” groups (label + text)
   - Keep your label-to-first-line alignment behavior
   ========================================================================== */

/* -----------------------------------------
 * Labels
 * ----------------------------------------- */

label,
.form-label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
}

.wizard-card--trait label,.wizard-card--trait 
.form-label {
  line-height: 1.3;
}

label,
.form-label {
  color: var(--text-form-label);
}

/* label variants */

.form-label-muted {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
}

.wizard-card--trait .form-label-muted {
  line-height: 1.3;
}

.form-label-muted {
  color: var(--text-form-label-muted);
}

.form-label-strong {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .form-label-strong {
  line-height: 1.3;
}

.form-label-strong {
  color: var(--text-form-label-strong);
}

/* Required indicator
   - Use either: <label class="required"> OR <label class="is-required"> */

label.required::after,
.form-label.required::after,
label.is-required::after,
.form-label.is-required::after,
.required::after,
.is-required::after {
  content: " *";
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
}

.wizard-card--trait label.required::after,.wizard-card--trait 
.form-label.required::after,.wizard-card--trait 
label.is-required::after,.wizard-card--trait 
.form-label.is-required::after,.wizard-card--trait 
.required::after,.wizard-card--trait 
.is-required::after {
  line-height: 1.3;
}

label.required::after,
.form-label.required::after,
label.is-required::after,
.form-label.is-required::after,
.required::after,
.is-required::after {
  color: var(--text-form-label-required);
}

/* -----------------------------------------
 * Info button (label helper)
 * ----------------------------------------- */

.form-info-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.375rem;
  border-width: 1px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  width: 22px;
  height: 22px;
  color: var(--text-form-info-btn);
  border-color: var(--border-form-info-btn);
  background-color: var(--alpha-0);
}

.form-info-btn:hover {
    background-color: var(--bg-form-info-btn-hover);
  }

.form-info-btn:active {
    background-color: var(--bg-form-info-btn-active);
  }

/* size helpers */

.form-info-btn-xs {
  width: 18px;
  height: 18px;
}

.form-info-btn-sm {
  width: 20px;
  height: 20px;
}

.form-info-btn i,
.form-info-btn svg {
  line-height: 1;
  font-size: 0.9em;
}

/* -----------------------------------------
 * Form Group (vertical default)
 * ----------------------------------------- */

.form-group {
  margin-bottom: 0.75rem;
}

/* spacing variants */

.form-group-compact {
  margin-bottom: 0.5rem;
}

.form-group-dense {
  margin-bottom: 0.375rem;
}

/* label row + controls */

.form-group > label,
.form-group > .form-label {
  display: block;
}

.controls {
  margin-top: 0.25rem;
}

/* Optional: control row variants */

.controls-tight {
  margin-top: 0.125rem;
}

.controls-loose {
  margin-top: 0.5rem;
}

/* -----------------------------------------
 * Help / Hint / Meta text
 * ----------------------------------------- */

.form-hint {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .form-hint {
  line-height: 1.3;
}

.form-hint {
  color: var(--text-form-hint);
}

.form-hint-muted {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .form-hint-muted {
  line-height: 1.3;
}

.form-hint-muted {
  color: var(--text-form-hint-muted);
}

/* message variants */

.form-error {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .form-error {
  line-height: 1.3;
}

.form-error {
  color: var(--text-form-error);
}

.form-success {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .form-success {
  line-height: 1.3;
}

.form-success {
  color: var(--text-form-success);
}

.form-warning {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .form-warning {
  line-height: 1.3;
}

.form-warning {
  color: var(--text-form-warning);
}

.form-info {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .form-info {
  line-height: 1.3;
}

.form-info {
  color: var(--text-form-info);
}

/* meta row (hint left + counter right) */

.form-meta {
  margin-top: 0.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.75rem;
}

.collapse.show.form-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .form-meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.form-counter {
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
  opacity: 0.7;
}

.wizard-card--trait .form-counter {
  line-height: 1.3;
}

.form-counter {
  color: var(--text-form-hint);
}

/* -----------------------------------------
 * Divider / sectioning (optional)
 * ----------------------------------------- */

.form-divider {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border-top-width: 1px;
  border-color: var(--border-form-divider);
}

/* ==========================================================================
   INLINE / GRID ROWS (Label + Controls)
   - You control widths with Tailwind col-span classes in markup.
   - Works with:
     <div class="form-group-inline">
        <label class="col-span-12 md:col-span-3">...</label>
        <div class="controls col-span-12 md:col-span-9">...</div>
     </div>
   ========================================================================== */

.form-group-inline {
  margin-bottom: 0.25rem;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0.5rem;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start; /* key: do NOT center vertically */
  --form-inline-label-offset: 0.375rem; /* default md-ish baseline alignment */
}

/* label cell (no forced col-spans; you set them in markup) */

.form-group-inline > label,
  .form-group-inline > .form-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.collapse.show.form-group-inline > label,.collapse.show
  .form-group-inline > .form-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .form-group-inline > label,.ach-card > 
  .form-group-inline > .form-label {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.form-group-inline > label,
  .form-group-inline > .form-label {
    margin-top: var(--form-inline-label-offset);
  }

/* controls cell */

.form-group-inline > .controls {
  margin-top: 0px;
    min-width: 0; /* allow grid inside controls without overflow */
}

/* Size-aware auto offsets (inputs + input-groups + stacks) */

.form-group-inline:has(.controls :is(.form-control-xs, .input-group .form-control-xs, .input-group-stack .form-control-xs)) {
    --form-inline-label-offset: 0.25rem;
  }

.form-group-inline:has(.controls :is(.form-control-sm, .input-group .form-control-sm, .input-group-stack .form-control-sm)) {
    --form-inline-label-offset: 0.125rem;
  }

.form-group-inline:has(.controls :is(.form-control-md, .input-group .form-control-md, .input-group-stack .form-control-md, .form-control, .combobox__control)) {
    --form-inline-label-offset: 0.5325rem;
  }

.form-group-inline:has(.controls :is(.form-control-lg, .input-group .form-control-lg, .input-group-stack .form-control-lg)) {
    --form-inline-label-offset: 0.5rem;
  }

/* textarea rows */

.form-group-inline:has(.controls textarea) {
    --form-inline-label-offset: 0.325rem;
  }

/* -----------------------------------------
 * Label alignment helpers (optional)
 * ----------------------------------------- */

@media (min-width: 768px) {

  .form-label-right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    text-align: right;
  }
}

.form-label-top {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding-top: 0;
}

/* -----------------------------------------
 * Form wrappers (layout helpers)
 * ----------------------------------------- */

.form-vertical { /* default layout */
}

.form-horizontal .form-group { /* use .form-group-inline inside horizontal forms */
}

.form-horizontal .form-group-inline {
  margin-bottom: 0.25rem;
}

/* grid form (multi-column sections) */

.form-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
}

.form-col-6 {
  grid-column: span 12 / span 12;
}

@media (min-width: 768px) {

  .form-col-6 {
    grid-column: span 6 / span 6;
  }
}

.form-col-4 {
  grid-column: span 12 / span 12;
}

@media (min-width: 768px) {

  .form-col-4 {
    grid-column: span 4 / span 4;
  }
}

.form-col-3 {
  grid-column: span 12 / span 12;
}

@media (min-width: 768px) {

  .form-col-3 {
    grid-column: span 3 / span 3;
  }
}

.form-col-12 {
  grid-column: span 12 / span 12;
}

/* ==========================================================================
   DETAIL / DISPLAY GROUPS (Label + Text)
   - Use only .form-group-display (no .form-group needed)
   - Use <label> tag directly
   - Value typography comes from your existing classes (e.g. .body, .body-sm)
   ========================================================================== */

/* Vertical display: label on top, value below */

.form-group-display {
  margin-bottom: 0.75rem;
}

.form-group-display.form-group-compact {
  margin-bottom: 0.5rem;
}

.form-group-display.form-group-dense {
  margin-bottom: 0.375rem;
}

.form-group-display > label {
  display: block;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
}

.wizard-card--trait .form-group-display > label {
  line-height: 1.3;
}

.form-group-display > label {
    color: var(--text-form-label);
  }

/* spacing + default value color only (typography comes from your .body classes) */

.form-group-display > :not(label) {
  margin-top: 0.125rem;
    color: var(--text-input-primary);
}

/* Inline/grid display: label + value side-by-side */

.form-group-display-inline {
  margin-bottom: 0.25rem;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  --form-display-label-offset: 0.325rem; /* aligns label to first line of body text */
}

.form-group-display-inline.form-group-compact {
  margin-bottom: 0.5rem;
}

.form-group-display-inline.form-group-dense {
  margin-bottom: 0.375rem;
}

.form-group-display-inline > label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
}

.collapse.show.form-group-display-inline > label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .form-group-display-inline > label {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .form-group-display-inline > label {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.form-group-display-inline > label {
    color: var(--text-form-label);
    margin-top: var(--form-display-label-offset);
  }

.form-group-display-inline > :not(label) {
  margin-top: 0px;
    min-width: 0;
    color: var(--text-input-primary);
}

/* multi-line value helper (addresses/notes) */

.value-pre {
  white-space: pre-line;
}

/* value helpers that do NOT touch typography */

.value-muted {
  color: var(--text-input-tertiary);
  opacity: 0.85;
}

.value-empty {
  color: var(--text-input-tertiary);
  opacity: 0.7;
  font-style: italic;
}

/* -----------------------------------------
 * Copyable — hover-reveal copy button
 * ----------------------------------------- */

[data-copyable] {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  max-width: 100%;
}

[data-copyable] > .copyable__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show[data-copyable] > .copyable__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > [data-copyable] > .copyable__btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

[data-copyable] > .copyable__btn {
  width: 16px;
  height: 16px;
  font-size: 9px;
  color: var(--text-tertiary);
  opacity: 0;
  -webkit-transition: opacity var(--duration-fast, 100ms) ease,
              color var(--duration-fast, 100ms) ease;
  transition: opacity var(--duration-fast, 100ms) ease,
              color var(--duration-fast, 100ms) ease;
  pointer-events: none;
}

[data-copyable]:hover > .copyable__btn {
  opacity: 0.45;
  pointer-events: auto;
}

[data-copyable] > .copyable__btn:hover {
  opacity: 1;
  color: var(--text-primary);
}

[data-copyable] > .copyable__btn.is-copied {
  opacity: 1;
  color: var(--text-success, var(--color-success));
  background: none;
  pointer-events: auto;
}

[data-copyable] > .copyable__btn.is-fading {
  opacity: 0;
  -webkit-transition: opacity 300ms ease;
  transition: opacity 300ms ease;
}

/* -----------------------------------------
 * Validation (MVC + generic)
 * ----------------------------------------- */

.input-validation-error {
  border-width: 1px;
  border-color: var(--border-form-error, var(--border-danger)) !important;
}

.field-validation-error {
  color: var(--text-form-error);
}

select.form-control.input-validation-error,
select.form-control-soft.input-validation-error,
select.form-control-ghost.input-validation-error,
select.form-control-borderless.input-validation-error {
  border-width: 1px;
  border-color: var(--border-form-error, var(--border-danger)) !important;
}

.required-field {
  color: var(--text-form-error);
}

/* group-level state helpers */

.form-group.is-error :is(.form-hint, .form-hint-muted) {
  color: var(--text-form-error);
}

.form-group.is-success :is(.form-hint, .form-hint-muted) {
  color: var(--text-form-success);
}

.form-group.is-warning :is(.form-hint, .form-hint-muted) {
  color: var(--text-form-warning);
}

.form-group.is-info :is(.form-hint, .form-hint-muted) {
  color: var(--text-form-info);
}

/* Optional: dense form wrapper */

.form-dense label,
.form-dense .form-label {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .form-dense label,.wizard-card--trait 
.form-dense .form-label {
  line-height: 1.3;
}

.form-dense .controls {
  margin-top: 0.125rem;
}

/* ==========================================================================
   Form Controls v2 – Complete Component
   (UPDATED: per-item hover/focus background ONLY inside input-group / wrap / stack)
   - Everything else unchanged
   ========================================================================== */

/* -----------------------------------------
 * Base input (abstract)
 * IMPORTANT:
 * - Keep native inputs/textarea/select as `block` (NOT inline-flex)
 * - Height alignment is handled by size classes (font + leading + padding + min-height)
 * ----------------------------------------- */

.input-base {
  display: block;
  width: 100%;
  border-radius: 0.375rem;
  border-width: 1px;
  font-weight: 400;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.input-base:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.input-base:hover:disabled {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.input-base {
  -webkit-transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  -webkit-tap-highlight-color: transparent;
}

/* Text selection highlight (lighter blue to match select option highlight) */

.form-control::-moz-selection, .form-control-soft::-moz-selection, .form-control-ghost::-moz-selection, .form-control-borderless::-moz-selection, .form-control-static::-moz-selection {
  background-color: var(--bg-input-selection, var(--utility-blue-200));
  color: var(--text-input-selection, var(--text-primary));
}

.form-control::selection,
.form-control-soft::selection,
.form-control-ghost::selection,
.form-control-borderless::selection,
.form-control-static::selection {
  background-color: var(--bg-input-selection, var(--utility-blue-200));
  color: var(--text-input-selection, var(--text-primary));
}

/* Placeholder */

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-input-placeholder);
}

input::-moz-placeholder, textarea::-moz-placeholder {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-input-placeholder);
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-input-placeholder);
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-input-placeholder);
}

input::placeholder,
textarea::placeholder {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-input-placeholder);
}

/* Autofill fixes — suppress browser yellow/blue background */

/* Chrome / Edge / Safari */

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 9999px var(--bg-input) inset !important;
  box-shadow: 0 0 0 9999px var(--bg-input) inset !important;
  -webkit-text-fill-color: var(--text-input) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  caret-color: var(--text-input);
}

/* Firefox */

input:autofill,
input:autofill:hover,
input:autofill:focus,
textarea:autofill,
select:autofill {
  background-color: var(--bg-input) !important;
  color: var(--text-input) !important;
  -webkit-filter: none !important;
  filter: none !important;
  background-image: none !important;
}

/* -----------------------------------------
 * Core variants (self-contained, default to md sizing)
 * ----------------------------------------- */

/* Default */

.form-group-inline:has(.controls :is(.form-control, .input-group .form-control-md, .input-group-stack .form-control-md, .form-control, .combobox__control)) {
    --form-inline-label-offset: 0.5325rem;
  }

.form-control {
  display: block;
  width: 100%;
  border-radius: 0.375rem;
  border-width: 1px;
  font-weight: 400;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.form-control:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.form-control:hover:disabled {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.form-control {
  -webkit-transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  -webkit-tap-highlight-color: transparent;
  min-height: 2.25rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: var(--text-input);
  background-color: var(--bg-input);
  border-color: var(--border-input);
}

.form-control:hover {
    border-color: var(--border-input-hover);
  }

.form-control:focus {
    border-color: var(--border-input-active);
  }

/* Soft */

.form-control-soft {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.form-group-inline:has(.controls :is(.form-control-soft, .input-group .form-control-md, .input-group-stack .form-control-md, .form-control, .combobox__control)) {
    --form-inline-label-offset: 0.5325rem;
  }

.form-control-soft {
  display: block;
  width: 100%;
  border-radius: 0.375rem;
  border-width: 1px;
  font-weight: 400;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.form-control-soft:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.form-control-soft:hover:disabled {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.form-control-soft {
  -webkit-transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  -webkit-tap-highlight-color: transparent;
  min-height: 2.25rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: var(--text-input);
  background-color: var(--bg-input-soft, var(--utility-neutral-100));
  border-color: var(--border-input-transparent);
}

.form-control-soft:hover {
    background-color: var(--bg-input-soft-hover, var(--utility-neutral-100));
  }

.form-control-soft:focus {
    background-color: var(--bg-input-soft-active, var(--utility-neutral-50));
    border-color: var(--border-input-active);
  }

/* Ghost */

.form-control-ghost {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.form-group-inline:has(.controls :is(.form-control-ghost, .input-group .form-control-md, .input-group-stack .form-control-md, .form-control, .combobox__control)) {
    --form-inline-label-offset: 0.5325rem;
  }

.form-control-ghost {
  display: block;
  width: 100%;
  border-radius: 0.375rem;
  border-width: 1px;
  font-weight: 400;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.form-control-ghost:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.form-control-ghost:hover:disabled {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.form-control-ghost {
  -webkit-transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  -webkit-tap-highlight-color: transparent;
  min-height: 2.25rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: var(--text-input);
  background-color: var(--alpha-0);
  border-color: var(--border-input-transparent);
}

.form-control-ghost:hover {
    background-color: var(--bg-input-ghost-hover, var(--utility-neutral-100));
  }

.form-control-ghost:focus {
    background-color: var(--bg-input-ghost-active, var(--utility-neutral-50));
    border-color: var(--border-input-active);
  }

/* Borderless */

.form-control-borderless {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.form-group-inline:has(.controls :is(.form-control-borderless, .input-group .form-control-md, .input-group-stack .form-control-md, .form-control, .combobox__control)) {
    --form-inline-label-offset: 0.5325rem;
  }

.form-control-borderless {
  display: block;
  width: 100%;
  border-radius: 0.375rem;
  border-width: 1px;
  font-weight: 400;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.form-control-borderless:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.form-control-borderless:hover:disabled {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.form-control-borderless {
  -webkit-transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  -webkit-tap-highlight-color: transparent;
  min-height: 2.25rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: var(--text-input-primary);
  background-color: var(--bg-input-borderless);
  border-color: var(--border-input-transparent);
}

.form-control-borderless:hover {
    background-color: var(--bg-input-borderless-hover);
  }

.form-control-borderless:focus {
    border-color: var(--border-input-active);
    background-color: var(--bg-input-borderless-active);
  }

/* Static / Readonly presentation */

.form-control-static {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.form-group-inline:has(.controls :is(.form-control-static, .input-group .form-control-md, .input-group-stack .form-control-md, .form-control, .combobox__control)) {
    --form-inline-label-offset: 0.5325rem;
  }

.form-control-static {
  display: block;
  width: 100%;
  border-radius: 0.375rem;
  border-width: 1px;
  font-weight: 400;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.form-control-static:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.form-control-static:hover:disabled {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.form-control-static {
  -webkit-transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  -webkit-tap-highlight-color: transparent;
  min-height: 2.25rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: var(--text-input-primary);
  background-color: var(--bg-input);
  border-color: var(--border-input);
}

/* Readonly attribute styling (works for any .form-control*) */

.form-control[readonly],
  .form-control-soft[readonly],
  .form-control-ghost[readonly],
  .form-control-borderless[readonly],
  .form-control-static[readonly] {
    color: var(--text-input-readonly, var(--text-input-tertiary));
    background-color: var(--bg-input-readonly, var(--utility-neutral-100));
    border-color: var(--border-input);
  }

/* Disabled (works for any .form-control*) */

.form-control:disabled,
  .form-control-soft:disabled,
  .form-control-ghost:disabled,
  .form-control-borderless:disabled,
  .form-control-static:disabled,
  .form-control[disabled],
  .form-control-soft[disabled],
  .form-control-ghost[disabled],
  .form-control-borderless[disabled],
  .form-control-static[disabled] {
    color: var(--text-input-disabled);
    background-color: var(--bg-input-disabled);
    border-color: var(--border-input-disabled);
    cursor: not-allowed;
    opacity: 0.75;
  }

/* -----------------------------------------
 * Date / Time inputs
 * Normalize text color to match regular inputs
 * ----------------------------------------- */

input[type="date"].form-control,
input[type="date"].form-control-soft,
input[type="date"].form-control-ghost,
input[type="date"].form-control-borderless,
input[type="date"].form-control-static,
input[type="datetime-local"].form-control,
input[type="datetime-local"].form-control-soft,
input[type="datetime-local"].form-control-ghost,
input[type="datetime-local"].form-control-borderless,
input[type="datetime-local"].form-control-static,
input[type="time"].form-control,
input[type="time"].form-control-soft,
input[type="time"].form-control-ghost,
input[type="time"].form-control-borderless,
input[type="time"].form-control-static {
  color: var(--text-input);
}

/* Calendar/clock picker icon */

input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator {
  color: var(--text-tertiary);
  opacity: 0.7;
  cursor: pointer;
}

input[type="date"]::-webkit-calendar-picker-indicator:hover,
input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover,
input[type="time"]::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}

/* -----------------------------------------
 * Selects
 * ----------------------------------------- */

select.form-control,
select.form-control-soft,
select.form-control-ghost,
select.form-control-borderless,
select.form-control-static {
  cursor: pointer;
  background-color: var(--bg-input-select);
}

select.form-control-soft {
  cursor: pointer;
  background-color: var(--bg-input-soft, var(--utility-neutral-100));
}

/* Select placeholder option */

select:invalid {
  color: var(--text-input-placeholder);
}

select option[disabled][selected] {
  color: var(--text-input-placeholder);
}

select option {
  color: var(--text-input-primary);
}

/* -----------------------------------------
 * Textarea tweaks
 * ----------------------------------------- */

textarea.form-control,
textarea.form-control-soft,
textarea.form-control-ghost,
textarea.form-control-borderless,
textarea.form-control-static {
  resize: vertical;
}

/* Optional helpers */

.form-control-inline {
  min-height: 1.75rem;
  border-radius: 0.375rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .form-control-inline {
  line-height: 1.3;
}

.form-control-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  letter-spacing: -0.025em;
  font-family: "Space Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* -----------------------------------------
 * Semantic states (modifier classes)
 * Usage: class="form-control is-error"
 * ----------------------------------------- */

.is-error {
  border-color: var(--border-input-error);
}

.is-error:focus {
    border-color: var(--border-input-error-focus);
  }

.is-success {
  border-color: var(--border-input-success);
}

.is-success:focus {
    border-color: var(--border-input-success-focus);
  }

.is-warning {
  border-color: var(--border-input-warning, var(--border-input-hover));
}

.is-warning:focus {
    border-color: var(--border-input-warning-focus, var(--border-input-active));
  }

.is-info {
  border-color: var(--border-input-info, var(--border-input-hover));
}

.is-info:focus {
    border-color: var(--border-input-info-focus, var(--border-input-active));
  }

/* Ensure semantic focus is visible on low-border variants */

.form-control-ghost.is-error:focus,
.form-control-borderless.is-error:focus {
  border-color: var(--border-input-error-focus);
}

.form-control-ghost.is-success:focus,
.form-control-borderless.is-success:focus {
  border-color: var(--border-input-success-focus);
}

/* -----------------------------------------
 * Addons / Group text
 * ----------------------------------------- */

.input-addon,
.input-group-text {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  min-height: 2rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  white-space: nowrap;
  border-width: 1px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
}

.wizard-card--trait .input-addon,.wizard-card--trait 
.input-group-text {
  line-height: 1.3;
}

.input-addon,
.input-group-text {
  color: var(--text-input-tertiary);
  background-color: var(--bg-input-addon, var(--utility-neutral-100));
  border-color: var(--border-input-addon, var(--border-input));
}

/* Addon sizing helpers */

.input-addon-xs,
.input-group-text-xs {
  min-height: 1.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.6875rem;
  line-height: 1rem;
}

.input-addon-sm,
.input-group-text-sm {
  min-height: 1.75rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .input-addon-sm,.wizard-card--trait 
.input-group-text-sm {
  line-height: 1.3;
}

.input-addon-lg,
.input-group-text-lg {
  min-height: 2.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.25rem;
}

/* -----------------------------------------
 * Input Groups (single-line, no wrap)
 * ----------------------------------------- */

.input-group {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 100%;
}

/* collapse seams */

.input-group > * {
  margin-left: -1px;
    position: relative;
    z-index: 0;
}

/* first/last radii */

.input-group > :first-child {
  margin-left: 0px;
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}

.input-group > :last-child {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}

/* middle flat */

.input-group > :not(:first-child):not(:last-child) {
  border-radius: 0px;
}

/* bring hovered/focused above seam */

.input-group > *:hover,
  .input-group > *:focus-within {
    z-index: 1;
  }

/* flatten inner radii for contents */

.input-group :is( .form-control, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, .input-addon, .input-group-text, .btn-primary, .btn-secondary, .btn-soft, .btn-ghost, .btn-danger, .btn-danger-outline, .btn-glass, .btn-icon ) {
  border-radius: 0px;
}

/* restore outer radii on the group edges */

.input-group > :first-child,
  .input-group > :first-child :is( .form-control,.form-control-soft,.form-control-ghost,.form-control-borderless,.form-control-static, .btn-primary,.btn-secondary,.btn-soft,.btn-ghost,.btn-danger,.btn-danger-outline,.btn-glass,.btn-icon ),
  .input-group > :first-child :is(.input-addon,.input-group-text) {
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}

.input-group > :last-child,
  .input-group > :last-child :is( .form-control,.form-control-soft,.form-control-ghost,.form-control-borderless,.form-control-static, .btn-primary,.btn-secondary,.btn-soft,.btn-ghost,.btn-danger,.btn-danger-outline,.btn-glass,.btn-icon ),
  .input-group > :last-child :is(.input-addon,.input-group-text) {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}

/* Input Groups – Compact */

.input-group.input-group-compact :is( .form-control, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static ) {
  min-height: 1.75rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .input-group.input-group-compact :is( .form-control, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static ) {
  line-height: 1.3;
}

.input-group.input-group-compact :is(.input-addon,.input-group-text) {
  min-height: 1.75rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .input-group.input-group-compact :is(.input-addon,.input-group-text) {
  line-height: 1.3;
}

/* Input Groups – Equal widths */

.input-group.input-group-equal > * {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .input-group.input-group-equal > * {
      display: none;
    }

.input-group.input-group-equal > :is(.input-addon,.input-group-text) {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
}

/* ==========================================================================
   NEW: Per-item hover/focus background INSIDE groups
   - Applies to: .input-group, .input-group-wrap, .input-group-stack
   - Only the specific control hovered/focused changes bg
   - Does NOT touch addons/buttons/container borders (your existing behavior stays)
   ========================================================================== */

/* Token hooks (scoped, so they don't affect anything else) */

.input-group,
.input-group-wrap,
.input-group-stack {
  --bg-input-group-item-hover: var(--bg-input-group-hover, var(--bg-input-soft-hover, var(--bg-primary-subtle)));
  --bg-input-group-item-focus: var(--bg-input-group-focus, var(--bg-input-soft-active, var(--bg-primary-hover)));
}

/* 1) .input-group (single-line) */

.input-group :is( .form-control, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control, select.form-control-soft, select.form-control-ghost, select.form-control-borderless, select.form-control-static, textarea.form-control, textarea.form-control-soft, textarea.form-control-ghost, textarea.form-control-borderless, textarea.form-control-static ):hover {
    background-color: var(--bg-input-group-item-hover);
  }

.input-group :is( .form-control, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control, select.form-control-soft, select.form-control-ghost, select.form-control-borderless, select.form-control-static, textarea.form-control, textarea.form-control-soft, textarea.form-control-ghost, textarea.form-control-borderless, textarea.form-control-static ):focus {
    background-color: var(--bg-input-group-item-focus);
  }

/* 2) .input-group-wrap (chips/tags + input)
   - Only the actual control changes bg, not the container.
   - Keeps your existing container border highlight. */

.input-group-wrap :is( .form-control, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control, select.form-control-soft, select.form-control-ghost, select.form-control-borderless, select.form-control-static, textarea.form-control, textarea.form-control-soft, textarea.form-control-ghost, textarea.form-control-borderless, textarea.form-control-static ):hover {
    background-color: var(--bg-input-group-item-hover);
  }

.input-group-wrap :is( .form-control, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control, select.form-control-soft, select.form-control-ghost, select.form-control-borderless, select.form-control-static, textarea.form-control, textarea.form-control-soft, textarea.form-control-ghost, textarea.form-control-borderless, textarea.form-control-static ):focus {
    background-color: var(--bg-input-group-item-focus);
  }

/* 3) .input-group-stack (multi-row combo)
   - Stack removes inner borders and uses container outline; this adds per-field bg.
   - Works even though controls are borderless inside stack. */

.input-group-stack :is( .form-control, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control, select.form-control-soft, select.form-control-ghost, select.form-control-borderless, select.form-control-static, textarea.form-control, textarea.form-control-soft, textarea.form-control-ghost, textarea.form-control-borderless, textarea.form-control-static ):hover {
    background-color: var(--bg-input-group-item-hover);
  }

.input-group-stack :is( .form-control, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control, select.form-control-soft, select.form-control-ghost, select.form-control-borderless, select.form-control-static, textarea.form-control, textarea.form-control-soft, textarea.form-control-ghost, textarea.form-control-borderless, textarea.form-control-static ):focus {
    background-color: var(--bg-input-group-item-focus);
  }

/* -----------------------------------------
 * Input Group Wrap (chips/tags + input)
 * Multi-line wrapping control
 * ----------------------------------------- */

.input-group-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.collapse.show.input-group-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .input-group-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.input-group-wrap {
  background-color: var(--bg-input);
  border-color: var(--border-input);
}

.input-group-wrap:hover {
    border-color: var(--border-input-hover);
  }

.input-group-wrap:focus-within {
    border-color: var(--border-input-active);
  }

.input-group-wrap .form-control,
  .input-group-wrap .form-control-soft,
  .input-group-wrap .form-control-ghost,
  .input-group-wrap .form-control-borderless,
  .input-group-wrap .form-control-static {
  min-width: 120px;
  border-width: 0px;
  padding: 0px;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
    min-height: unset;
    background-color: var(--alpha-0);
}

/* -----------------------------------------
 * Input Group Stack (multi-line combo inputs)
 * - Outer border via OUTLINE (no layout height impact)
 * ----------------------------------------- */

.input-group-stack {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 0.375rem;
  background-color: var(--bg-input);
  border: 0;
}

/* Border via ::after — renders above content so hover backgrounds don't overlap */

.input-group-stack::after {
    content: "";
    pointer-events: none;
    position: absolute;
    inset: 0px;
    border-radius: 0.375rem;
    border: 1px solid var(--border-input-stack);
    z-index: 1;
  }

.input-group-stack:hover::after {
    border-color: var(--border-input-stack-hover);
  }

.input-group-stack:focus-within::after,
  .input-group-stack:has(.combobox.is-focused)::after {
    border-color: var(--border-input-stack-active);
  }

.input-group-stack > * {
  width: 100%;
}

/* rows */

.input-group-stack .input-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.collapse.show.input-group-stack .input-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .input-group-stack .input-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* grid row variant (12-col baseline) */

.input-row.input-row-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.input-row.input-row-grid > * {
    min-width: 0;
  }

/* remove inner borders; rely on container/dividers */

.input-group-stack :is( .form-control, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, .input-addon, .input-group-text, .btn-primary, .btn-secondary, .btn-soft, .btn-ghost, .btn-danger, .btn-danger-outline, .btn-glass, .btn-icon ) {
  border-radius: 0px;
  border-width: 0px;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  background-color: var(--alpha-0);
}

/* dividers between rows */

.input-group-stack .input-row + .input-row {
  border-top-width: 1px;
  border-color: var(--border-input-stack-divider);
}

/* dividers between columns within a row */

.input-group-stack .input-row > * + * {
  border-left-width: 1px;
  border-color: var(--border-input-stack-divider);
}

/* ==========================================================================
   VALIDATION – Input Groups turn RED if any child is invalid
   ========================================================================== */

/* Optional tokens (if not defined, these resolve to your existing error tokens) */

:root {
  --border-input-group-error: var(--border-input-error);
  --border-input-group-error-focus: var(--border-input-error-focus);
}

/* Single-line .input-group */

.input-group:has(.input-validation-error) > *,
.input-group:has(.is-error) > * {
  border-color: var(--border-input-group-error) !important;
}

.input-group:has(.input-validation-error):focus-within > *,
.input-group:has(.is-error):focus-within > * {
  border-color: var(--border-input-group-error-focus) !important;
}

/* If invalid input is nested (common wrappers) */

.input-group > *:has(.input-validation-error),
.input-group > *:has(.is-error) {
  border-color: var(--border-input-group-error) !important;
}

/* .input-group-wrap */

.input-group-wrap:has(.input-validation-error),
.input-group-wrap:has(.is-error) {
  border-color: var(--border-input-group-error) !important;
}

.input-group-wrap:has(.input-validation-error):focus-within,
  .input-group-wrap:has(.is-error):focus-within {
    border-color: var(--border-input-group-error-focus) !important;
  }

/* .input-group-stack (::after border) */

.input-group-stack:has(.input-validation-error)::after,
.input-group-stack:has(.is-error)::after {
  border-color: var(--border-input-group-error) !important;
}

.input-group-stack:has(.input-validation-error):focus-within::after,
  .input-group-stack:has(.is-error):focus-within::after {
    border-color: var(--border-input-group-error-focus) !important;
  }

.input-group-stack:has(.input-validation-error) .input-row + .input-row,
  .input-group-stack:has(.is-error) .input-row + .input-row,
  .input-group-stack:has(.input-validation-error) .input-row > * + *,
  .input-group-stack:has(.is-error) .input-row > * + * {
    border-color: var(--border-input-group-error) !important;
  }

/* -----------------------------------------
 * Sizes (authoritative, button-aligned)
 * ----------------------------------------- */

.form-control-xs {
  min-height: 1.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.6875rem;
  line-height: 1rem;
}

.form-control-sm {
  min-height: 1.75rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1rem;
}

.form-control-md {
  min-height: 2.25rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.form-control-lg {
  min-height: 2.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 1.125rem;
  line-height: 1.25rem;
}

/* Radius helpers */

.input-first {
  border-top-left-radius: 0.375rem !important;
  border-bottom-left-radius: 0.375rem !important;
}

.input-first-full {
  border-top-left-radius: 0.375rem !important;
  border-top-right-radius: 0.375rem !important;
}

.input-last {
  border-top-right-radius: 0.375rem !important;
  border-bottom-right-radius: 0.375rem !important;
}

.input-last-full {
  border-bottom-right-radius: 0.375rem !important;
  border-bottom-left-radius: 0.375rem !important;
}

.input-start-first {
  border-top-left-radius: 0.375rem !important;
}

.input-start-last {
  border-top-right-radius: 0.375rem !important;
}

.input-end-first {
  border-bottom-left-radius: 0.375rem !important;
}

.input-end-last {
  border-bottom-right-radius: 0.375rem !important;
}

/* -----------------------------------------
 * Input Clear Button
 * Shows an "x" inside focused text inputs with a value.
 * Requires `.controls` wrapper (standard form pattern).
 * ----------------------------------------- */

.controls {
  position: relative;
}

.input-clear {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.input-clear {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .input-clear {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.input-clear {
  right: 6px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  font-size: 10px;
  color: var(--text-tertiary);
  opacity: 0;
  pointer-events: none;
  border: none;
  background: none;
  padding: 0;
  border-radius: 50%;
  -webkit-transition: opacity var(--duration-fast, 100ms) ease,
              color var(--duration-fast, 100ms) ease;
  transition: opacity var(--duration-fast, 100ms) ease,
              color var(--duration-fast, 100ms) ease;
}

/* Smaller clear button for compact inputs */

.controls:has(.form-control-xs) .input-clear {
  right: 4px;
  width: 12px;
  height: 12px;
  font-size: 8px;
}

.controls:has(.form-control-sm) .input-clear {
  right: 5px;
  width: 14px;
  height: 14px;
  font-size: 9px;
}

.controls.has-clear-value .input-clear,
.input-row.has-clear-value .input-clear {
  opacity: 0.5;
  pointer-events: auto;
}

.input-clear:hover {
  opacity: 1;
  color: var(--text-primary);
}

/* No extra padding for clear button — it overlays the input edge via absolute positioning.
   This avoids text shifting when the button appears on focus. */

/* Table cell context: td.controls has minimal padding (1px) so the
   clear button offset must account for cell-padding + input-border.
   Middle cells: 1px pad + 1px border + 3px inset = 5px
   Last-child cells: 16px pad + 1px border + 3px inset = 20px */

.table td.controls .input-clear {
  right: 5px;
}

.table tr > td.controls:last-child .input-clear {
  right: 20px;
}

/* Input-group-stack: clear button inside .input-row */

.input-group-stack .input-row {
  position: relative;
}

.input-group-stack .input-row > .input-clear {
  z-index: 2;
}

/* input-group-stack: same overlay approach — no extra padding */

/* ==========================================================================
   Stepper / Wizard v2 – Complete Component (UPDATED spacing fix)
   - Fix: step titles/content no longer overlap connector/progress lane
   - Horizontal + vertical
   - States: default, current, completed, disabled, error, success
   - Sizes: sm / md / lg
   ========================================================================== */

/* -----------------------------------------
 * Base container
 * ----------------------------------------- */

.stepper {
  width: 100%;
}

/* layout */

.stepper-horizontal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.collapse.show.stepper-horizontal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .stepper-horizontal {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.stepper-horizontal {
  gap: var(--space-step-between, 1rem);
}

.stepper-vertical {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.stepper-vertical {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .stepper-vertical {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* -----------------------------------------
 * Step item
 * ----------------------------------------- */

.step {
  position: relative;
  margin-bottom: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0px;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.collapse.show.step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .step {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.step {
  gap: var(--space-step-content, 0.75rem);
}

/* horizontal steps stretch */

.stepper-horizontal .step {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .stepper-horizontal .step {
      display: none;
    }

/* clickable step (optional) */

.step.is-clickable {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* disabled step */

.step.is-disabled {
  cursor: not-allowed;
}

/* -----------------------------------------
 * Step indicator (dot / circle)
 * ----------------------------------------- */

.step-indicator {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  background-color: var(--bg-step-indicator);
  border-color: var(--border-step-indicator);
  color: var(--text-step-indicator);
  -webkit-box-shadow: var(--shadow-step-indicator);
  box-shadow: var(--shadow-step-indicator);
  -webkit-transition: all 75ms ease-in;
  transition: all 75ms ease-in;
}

/* number/icon inside */

.step-indicator > .step-number {
  font-weight: 600;
  line-height: 1;
}

/* optional icon alignment */

.step-indicator > i,
  .step-indicator > svg {
  line-height: 1;
    font-size: 1em;
}

/* -----------------------------------------
 * Step content
 * ----------------------------------------- */

.step-content {
  min-width: 0px;
  padding-right: var(--space-step-end, 1rem); /* breathing room so text doesn't collide */
}

.step-title {
  margin-top: -0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.wizard-card--trait .step-title {
  line-height: 1.3;
}

.step-title {
  color: var(--text-step-title);
}

.step-subtitle {
  margin-top: 0.375rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  line-height: 1.5;
  color: var(--text-step-subtitle);
}

/* -----------------------------------------
 * Connectors (between steps)
 * ----------------------------------------- */

.step-connector {
  position: absolute;
  background-color: var(--bg-step-connector);
  pointer-events: none;
  z-index: 0;
}

/* Horizontal connector (FIXED: respects content spacing) */

.stepper-horizontal .step-connector {
  height: var(--size-step-connector);
  top: calc(var(--size-step-indicator) / 2 - var(--size-step-connector) / 2);
  left: calc(var(--size-step-indicator) + var(--space-step-content));
  right: var(--space-step-end, 1rem);
  border-radius: 999px;
}

/* hide connector on last step */

.stepper-horizontal .step:last-child .step-connector {
  display: none;
}

/* Vertical connector */

.stepper-vertical .step {
  padding-bottom: 1.25rem;
}

.stepper-vertical .step:last-child {
  padding-bottom: 0px;
}

.stepper-vertical .step-connector {
  width: var(--size-step-connector);
  left: calc(var(--size-step-indicator) / 2 - var(--size-step-connector) / 2);
  top: calc(var(--size-step-indicator) + 8px);
  bottom: 0;
  border-radius: 999px;
}

/* hide connector on last step */

.stepper-vertical .step:last-child .step-connector {
  display: none;
}

/* -----------------------------------------
 * Progress fill (optional)
 * - Place inside .step-connector
 * ----------------------------------------- */

.step-connector-fill {
  height: 100%;
  width: 0px;
  border-radius: 9999px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  background-color: var(--bg-step-connector-fill);
}

/* vertical fill */

.stepper-vertical .step-connector-fill {
  height: 0px;
  width: 100%;
}

/* -----------------------------------------
 * Sizes (authoritative)
 * Apply to .stepper
 * ----------------------------------------- */

.stepper-sm {
  --size-step-indicator: 22px;
  --size-step-connector: 2px;
  --space-step-content: 0.5rem; /* 8px */
  --space-step-end: 0.75rem; /* 12px */
  --space-step-between: 0.75rem; /* 12px */
}

.stepper-md {
  --size-step-indicator: 28px;
  --size-step-connector: 3px;
  --space-step-content: 0.75rem; /* 12px */
  --space-step-end: 1rem; /* 16px */
  --space-step-between: 1rem; /* 16px */
}

.stepper-lg {
  --size-step-indicator: 34px;
  --size-step-connector: 3px;
  --space-step-content: 1rem; /* 16px */
  --space-step-end: 1.25rem; /* 20px */
  --space-step-between: 1.25rem; /* 20px */
}

.stepper-xl {
  --size-step-indicator: 40px;
  --size-step-connector: 3px;
  --space-step-content: 1rem; /* 16px */
  --space-step-end: 1.5rem; /* 24px */
  --space-step-between: 1.5rem; /* 24px */
}

/* map sizes to indicator text */

.stepper-sm .step-indicator {
  width: var(--size-step-indicator);
  height: var(--size-step-indicator);
  font-size: 0.6875rem;
  line-height: 1rem;
}

.stepper-md .step-indicator {
  width: var(--size-step-indicator);
  height: var(--size-step-indicator);
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .stepper-md .step-indicator {
  line-height: 1.3;
}

.stepper-lg .step-indicator {
  width: var(--size-step-indicator);
  height: var(--size-step-indicator);
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.stepper-xl .step-indicator {
  width: var(--size-step-indicator);
  height: var(--size-step-indicator);
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
}

.stepper-xl .step-title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

/* -----------------------------------------
 * States
 * ----------------------------------------- */

/* Current */

.step.is-current .step-indicator {
  background-color: var(--bg-step-current);
  border-color: var(--border-step-current);
  color: var(--text-step-current);
}

.step.is-current .step-title {
  color: var(--text-step-title-current);
}

/* Completed */

.step.is-completed .step-indicator {
  background-color: var(--bg-step-completed);
  border-color: var(--border-step-completed);
  color: var(--text-step-completed);
}

/* Completed connector fill helpers */

.step.is-completed .step-connector-fill {
  width: 100%;
}

.stepper-vertical .step.is-completed .step-connector-fill {
  height: 100%;
}

/* Disabled */

.step.is-disabled .step-indicator {
  background-color: var(--bg-step-disabled);
  border-color: var(--border-step-disabled);
  color: var(--text-step-disabled);
  -webkit-box-shadow: none;
  box-shadow: none;
}

.step.is-disabled .step-title,
.step.is-disabled .step-subtitle {
  color: var(--text-step-disabled);
}

/* Error */

.step.is-error .step-indicator {
  background-color: var(--bg-step-error);
  border-color: var(--border-step-error);
  color: var(--text-step-error);
}

.step.is-error .step-title {
  color: var(--text-step-title-error);
}

/* Success (optional) */

.step.is-success .step-indicator {
  background-color: var(--bg-step-success);
  border-color: var(--border-step-success);
  color: var(--text-step-success);
}

/* Clickable step */

.step.is-clickable:not(.is-disabled) {
  cursor: pointer;
}

/* Hover — default (light indicator) */

.step.is-clickable:not(.is-disabled):hover .step-indicator {
  background-color: var(--bg-step-hover);
}

.step.is-clickable:not(.is-disabled):active .step-indicator {
  background-color: var(--bg-step-active);
}

/* Hover — current/completed (dark indicator, lighten like btn-primary) */

.step.is-current.is-clickable:not(.is-disabled):hover .step-indicator {
  background-color: var(--bg-step-current-hover);
}

.step.is-current.is-clickable:not(.is-disabled):active .step-indicator {
  background-color: var(--bg-step-current-active);
}

.step.is-completed.is-clickable:not(.is-disabled):hover .step-indicator {
  background-color: var(--bg-step-completed-hover);
}

.step.is-completed.is-clickable:not(.is-disabled):active .step-indicator {
  background-color: var(--bg-step-completed-active);
}

/* Focus-visible (keyboard) */

.step.is-clickable:not(.is-disabled):focus-visible .step-indicator {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
  ring-color: var(--border-step-indicator);
}

/* Ensure indicator/content sits above connector */

.step-indicator,
.step-content {
  position: relative;
  z-index: 1;
}

/* -----------------------------------------
 * Wizard shell (optional)
 * ----------------------------------------- */

.wizard {
  width: 100%;
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  background-color: var(--bg-wizard);
  border-color: var(--border-wizard);
}

.wizard-header {
  border-bottom-width: 1px;
  padding: 1rem;
  border-color: var(--border-wizard-divider);
}

.wizard-title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-wizard-title);
}

.wizard-subtitle {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  opacity: 0.8;
}

.wizard-card--trait .wizard-subtitle {
  line-height: 1.3;
}

.wizard-subtitle {
  color: var(--text-wizard-subtitle);
}

.wizard-body {
  padding: 1rem;
}

.wizard-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.75rem;
  border-top-width: 1px;
  padding: 1rem;
}

.collapse.show.wizard-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .wizard-footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.wizard-footer {
  border-color: var(--border-wizard-divider);
}

/* footer action grouping helpers */

.wizard-actions {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

/* ==========================================================================
   Stepper Bar — Segmented solid progress bar variant
   A horizontal bar divided into major sections, each optionally containing
   subsections. Supports partial fill, completed/active/upcoming states,
   and parent/child progress relationships.

   Usage:
     .stepper.stepper-bar              Root container
     .step-bar__section                Major section (flex-1 segment)
     .step-bar__label                  Section label area (above bar)
     .step-bar__title                  Section title text
     .step-bar__number                 Optional step number
     .step-bar__subs                   Subsection labels row
     .step-bar__sub                    Individual subsection label
     .step-bar__track                  The bar track (background)
     .step-bar__fill                   The fill inside the track

   States on .step-bar__section:
     .is-completed      Fully filled
     .is-current        Currently active (partially filled)
     .is-upcoming       Not yet reached (empty)

   Subsection states on .step-bar__sub:
     .is-completed      Subsection done
     .is-current        Current subsection
   ========================================================================== */

/* --- Container --- */

.stepper-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.collapse.show.stepper-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .stepper-bar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.stepper-bar {
  gap: var(--gap-step-bar, 3px);
}

/* --- Section (one major segment) --- */

.step-bar__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.step-bar__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.menu--collapsed .menu-link .step-bar__section {
      display: none;
    }

@media (max-width: 420px) {
  .ach-card > .step-bar__section {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* --- Label area (above bar) --- */

.step-bar__label {
  margin-bottom: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}

.collapse.show.step-bar__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .step-bar__label {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.step-bar__number {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 600;
  width: 18px;
  height: 18px;
  background-color: var(--bg-step-indicator);
  border: 1px solid var(--border-step-indicator);
  color: var(--text-step-indicator);
}

.step-bar__title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .step-bar__title {
  line-height: 1.3;
}

.step-bar__title {
  color: var(--text-step-subtitle);
}

/* --- Subsection labels --- */

.step-bar__subs {
  margin-top: 0.25rem;
  margin-bottom: 0.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.125rem;
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}

.collapse.show.step-bar__subs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .step-bar__subs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.step-bar__sub {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.6875rem;
  line-height: 1rem;
}

.menu--collapsed .menu-link .step-bar__sub {
      display: none;
    }

.step-bar__sub {
  color: var(--text-step-subtitle);
}

/* --- Track (bar background) --- */

.step-bar__track {
  margin-top: auto;
  width: 100%;
  overflow: hidden;
  height: var(--h-step-bar, 4px);
  border-radius: var(--radius-step-bar, 999px);
  background-color: var(--bg-step-connector);
}

/* --- Fill (progress inside track) --- */

.step-bar__fill {
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background-color: var(--bg-step-bar-fill, var(--bg-step-connector-fill));
  -webkit-transition: width 300ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: width 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- Section states --- */

/* Completed — full fill */

.step-bar__section.is-completed .step-bar__fill {
  width: 100%;
}

.step-bar__section.is-completed .step-bar__number {
  background-color: var(--bg-step-completed);
  border-color: var(--border-step-completed);
  color: var(--text-step-completed);
}

.step-bar__section.is-completed .step-bar__title {
  color: var(--text-step-title);
}

/* Current — partial fill (set width inline or via --step-bar-progress) */

.step-bar__section.is-current .step-bar__fill {
  width: var(--step-bar-progress, 50%);
}

.step-bar__section.is-current .step-bar__number {
  background-color: var(--bg-step-current);
  border-color: var(--border-step-current);
  color: var(--text-step-current);
}

.step-bar__section.is-current .step-bar__title {
  color: var(--text-step-title-current);
  font-weight: 600;
}

/* Upcoming — empty (default, no overrides needed) */

/* --- Subsection states --- */

.step-bar__sub.is-completed {
  color: var(--text-step-title);
  font-weight: 500;
}

.step-bar__sub.is-current {
  color: var(--text-step-title-current);
  font-weight: 600;
}

/* --- Size variants (bar thickness) --- */

.stepper-bar.stepper-bar--sm {
  --h-step-bar: 3px;
  --gap-step-bar: 2px;
}

.stepper-bar.stepper-bar--md {
  --h-step-bar: 4px;
  --gap-step-bar: 3px;
}

.stepper-bar.stepper-bar--lg {
  --h-step-bar: 6px;
  --gap-step-bar: 4px;
}

/* --- Bar thickness variants (independent of label size) --- */

.stepper-bar--thin  { --h-step-bar: 2px; --gap-step-bar: 2px; }

.stepper-bar--thick { --h-step-bar: 8px; --gap-step-bar: 4px; }

/* --- Label size variants --- */

.stepper-bar--label-sm .step-bar__title {
  font-size: 0.6875rem;
  line-height: 1rem;
}

.stepper-bar--label-sm .step-bar__number { width: 16px; height: 16px; font-size: 0.563rem; line-height: 1rem; }

.stepper-bar--label-sm .step-bar__sub {
  font-size: 0.563rem;
  line-height: 1rem;
}

.stepper-bar--label-sm .step-bar__label {
  margin-bottom: 0.375rem;
}

.stepper-bar--label-md .step-bar__title {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .stepper-bar--label-md .step-bar__title {
  line-height: 1.3;
}

.stepper-bar--label-md .step-bar__number { width: 18px; height: 18px; font-size: 0.6875rem; line-height: 1rem; }

.stepper-bar--label-lg .step-bar__title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
}

.stepper-bar--label-lg .step-bar__number { width: 22px; height: 22px; font-size: 0.75rem; line-height: 1rem; }

.wizard-card--trait .stepper-bar--label-lg .step-bar__number {
  line-height: 1.3;
}

.stepper-bar--label-lg .step-bar__sub {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .stepper-bar--label-lg .step-bar__sub {
  line-height: 1.3;
}

.stepper-bar--label-lg .step-bar__label {
  margin-bottom: 0.625rem;
}

/* --- Text-only mode (no step numbers) --- */

.stepper-bar--text-only .step-bar__number {
  display: none;
}

/* --- Clickable sections --- */

.step-bar__section.is-clickable {
  cursor: pointer;
}

.step-bar__section.is-clickable:hover .step-bar__track {
  opacity: 0.8;
}

/* --- Reduced motion --- */

@media (prefers-reduced-motion: reduce) {
  .step-bar__fill {
    -webkit-transition: none;
    transition: none;
  }
}

/* ========================================
   Component: Combobox
   Extends form-control tokens & base styles.

   Modes:
     - Input mode (default): typing input as trigger, type-to-filter
     - Select mode (.combobox--select): button trigger, replaces <select>

   Variants:
     --select         button trigger (replaces native <select>)
     --checkbox       checkbox indicators in multi-select
     --sm / --lg      sizing
     --w-*            panel width overrides

   Data attrs (JS):
     data-combobox    auto-init
     data-select      select mode
     data-searchable  search input in panel header
     data-clearable   show clear button
     data-multi       multi-select with chips
     data-checkbox    checkbox indicators
     data-name        sync to hidden <input> for form submission
     data-url         remote endpoint
     data-min-chars   minimum chars before remote fetch
     data-placeholder placeholder text
   ======================================== */

/* ==========================================================================
 * Root
 * ========================================================================== */

.combobox {
  position: relative;
  display: inline-block;
  width: 100%;
}

/* Block display inside form controls to prevent inline-block baseline artifacts */

.controls .combobox,
.form-group-inline .combobox {
  display: block;
}

/* ==========================================================================
 * Input trigger (default mode)
 * ========================================================================== */

.combobox__input {
  width: 100%;
}

.form-group-inline:has(.controls :is(.combobox__input, .input-group .form-control-md, .input-group-stack .form-control-md, .form-control, .combobox__control)) {
    --form-inline-label-offset: 0.5325rem;
  }

.combobox__input {
  display: block;
  width: 100%;
  border-radius: 0.375rem;
  border-width: 1px;
  font-weight: 400;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.combobox__input:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.combobox__input:hover:disabled {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.combobox__input {
  -webkit-transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  -webkit-tap-highlight-color: transparent;
  min-height: 2.25rem;
  padding-left: 0.625rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  padding-right: 2rem;
  color: var(--text-combobox, var(--text-input));
  background-color: var(--bg-combobox, var(--bg-input));
  border-color: var(--border-combobox, var(--border-input));
}

.combobox__input::-webkit-input-placeholder {
  color: var(--text-combobox-placeholder, var(--text-input-placeholder));
}

.combobox__input::-moz-placeholder {
  color: var(--text-combobox-placeholder, var(--text-input-placeholder));
}

.combobox__input:-ms-input-placeholder {
  color: var(--text-combobox-placeholder, var(--text-input-placeholder));
}

.combobox__input::-ms-input-placeholder {
  color: var(--text-combobox-placeholder, var(--text-input-placeholder));
}

.combobox__input::placeholder {
  color: var(--text-combobox-placeholder, var(--text-input-placeholder));
}

.combobox__input:hover {
  border-color: var(--border-combobox-hover, var(--border-input-hover));
}

.combobox__input:focus,
.combobox.is-focused .combobox__input {
  border-color: var(--border-combobox-focus, var(--border-input-active));
}

/* ==========================================================================
 * Select trigger (select mode)
 * A button-like trigger that shows selected value + chevron.
 * ========================================================================== */

.combobox__control {
  width: 100%;
  min-width: 0px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.form-group-inline:has(.controls :is(.combobox__control, .input-group .form-control-md, .input-group-stack .form-control-md, .form-control, .combobox__control)) {
    --form-inline-label-offset: 0.5325rem;
  }

.combobox__control {
  display: block;
  width: 100%;
  border-radius: 0.375rem;
  border-width: 1px;
  font-weight: 400;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.combobox__control:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.combobox__control:hover:disabled {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.combobox__control {
  -webkit-transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  -webkit-tap-highlight-color: transparent;
  min-height: 2.25rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  padding-right: 0;
  color: var(--text-combobox, var(--text-input));
  background-color: var(--bg-combobox, var(--bg-input));
  border-color: var(--border-combobox, var(--border-input));
}

.combobox__control:hover {
  border-color: var(--border-combobox-hover, var(--border-input-hover));
}

.combobox__control:focus,
.combobox__control:focus-visible,
.combobox.is-focused .combobox__control {
  border-color: var(--border-combobox-focus, var(--border-input-active));
  outline: none;
}

/* Value text inside control — inherits font-size from .combobox__control (form-control-md) */

.combobox__value {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.menu--collapsed .menu-link .combobox__value {
      display: none;
    }

.combobox__value {
  color: var(--text-combobox, var(--text-input));
}

.combobox__value:empty {
  display: none;
}

/* Placeholder inside control */

.combobox__placeholder {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.menu--collapsed .menu-link .combobox__placeholder {
      display: none;
    }

.combobox__placeholder {
  color: var(--text-combobox-placeholder, var(--text-input-placeholder));
}

/* Hide placeholder when value is present */

.combobox__control:has(.combobox__value:not(:empty)) .combobox__placeholder {
  display: none;
}

/* In select mode: hide the raw input, show control */

.combobox--select .combobox__input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* ==========================================================================
 * Chevron trigger button
 * ========================================================================== */

.combobox__trigger {
  position: absolute;
  right: 0px;
  top: 0px;
  bottom: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.collapse.show.combobox__trigger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .combobox__trigger {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.combobox__trigger {
  color: var(--text-tertiary);
  -webkit-transition: -webkit-transform var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: -webkit-transform var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: transform var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: transform var(--duration-fast, 100ms) var(--ease-default, ease), -webkit-transform var(--duration-fast, 100ms) var(--ease-default, ease);
}

/* Inside select-mode control: trigger is a flex child, not absolute */

.combobox__control .combobox__trigger {
  position: static;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
}

.combobox.is-open .combobox__trigger {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

/* ==========================================================================
 * Clear button
 * ========================================================================== */

/* Absolute-positioned in input mode — inset past the trigger chevron */

.combobox__clear {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.combobox__clear {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .combobox__clear {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.combobox__clear {
  right: 28px;
  top: 0;
  height: 100%;
  width: 16px;
  font-size: 10px;
  color: var(--text-tertiary);
  opacity: 0;
  pointer-events: none;
  border: none;
  background: none;
  padding: 0;
  border-radius: 50%;
  z-index: 1;
  -webkit-transition: opacity var(--duration-fast, 100ms) ease,
              color var(--duration-fast, 100ms) ease;
  transition: opacity var(--duration-fast, 100ms) ease,
              color var(--duration-fast, 100ms) ease;
}

/* Select mode — sit in flow alongside the trigger */

.combobox__control > .combobox__clear {
  position: static;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  height: auto;
}

/* Show on focus/open when there is a value */

.combobox.has-value.is-focused .combobox__clear,
.combobox.has-value.is-open .combobox__clear {
  opacity: 0.5;
  pointer-events: auto;
}

.combobox__clear:hover {
  opacity: 1;
  color: var(--text-primary);
}

/* ==========================================================================
 * Panel (dropdown shell)
 * Wraps header, scrollable listbox, and footer.
 * ========================================================================== */

.combobox__panel {
  position: absolute;
  left: 0px;
  right: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
}

.collapse.show.combobox__panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .combobox__panel {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.combobox__panel {
  max-height: 320px;
  background-color: var(--bg-combobox-listbox, var(--bg-dropdown));
  border-color: var(--border-combobox, var(--border-dropdown));
  -webkit-box-shadow: var(--shadow-combobox-listbox, var(--shadow-dropdown));
  box-shadow: var(--shadow-combobox-listbox, var(--shadow-dropdown));
  z-index: var(--z-popover, 60);
  display: none;
}

.combobox.is-open .combobox__panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* Grain overlay — matches dropdown pattern */

.combobox__panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><filter id='noiseFilter'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23noiseFilter)' opacity='1'/></svg>");
  background-repeat: repeat;
  mix-blend-mode: overlay;
  opacity: var(--opacity-combobox-grain, 0);
  pointer-events: none;
  z-index: 0;
  border-radius: inherit;
}

/* Content above grain */

.combobox__panel > * {
  position: relative;
  z-index: 1;
}

/* ==========================================================================
 * Panel header (search area)
 * ========================================================================== */

.combobox__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  border-bottom-width: 1px;
  padding: 0.375rem;
}

.collapse.show.combobox__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .combobox__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.combobox__header {
  background-color: var(--bg-combobox-header, var(--bg-dropdown));
  border-color: var(--border-combobox-header, var(--border-dropdown-divider));
  position: relative;
  z-index: 2;
}

.combobox__search-wrap {
  position: relative;
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .combobox__search-wrap {
      display: none;
    }

.combobox__search {
  /* Inline size tokens instead of @apply form-control-sm to prevent PostCSS
     from expanding the form-group-inline :has() offset rules with this class,
     which would override --form-inline-label-offset on parent form rows. */
  min-height: 1.75rem;
  padding-left: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-right: 1.75rem;
  font-size: 0.8125rem;
  line-height: 1rem;
  display: block;
  width: 100%;
  border-radius: 0.375rem;
  border-width: 1px;
  font-weight: 400;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.combobox__search:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.combobox__search:hover:disabled {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.combobox__search {
  -webkit-transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  -webkit-tap-highlight-color: transparent;
  color: var(--text-combobox, var(--text-input));
  background-color: var(--bg-combobox-search, var(--bg-input));
  border-color: var(--border-combobox, var(--border-input));
}

.combobox__search:focus {
  border-color: var(--border-combobox-focus, var(--border-input-active));
}

.combobox__search::-webkit-input-placeholder {
  color: var(--text-combobox-placeholder, var(--text-input-placeholder));
}

.combobox__search::-moz-placeholder {
  color: var(--text-combobox-placeholder, var(--text-input-placeholder));
}

.combobox__search:-ms-input-placeholder {
  color: var(--text-combobox-placeholder, var(--text-input-placeholder));
}

.combobox__search::-ms-input-placeholder {
  color: var(--text-combobox-placeholder, var(--text-input-placeholder));
}

.combobox__search::placeholder {
  color: var(--text-combobox-placeholder, var(--text-input-placeholder));
}

/* Clear button inside search wrap */

.combobox__search-clear {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  --tw-translate-y: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.combobox__search-clear {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .combobox__search-clear {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.combobox__search-clear {
  width: 16px;
  height: 16px;
  font-size: 10px;
  color: var(--text-tertiary);
  opacity: 0;
  pointer-events: none;
  border-radius: 50%;
  -webkit-transition: opacity var(--duration-fast, 100ms) ease, color var(--duration-fast, 100ms) ease;
  transition: opacity var(--duration-fast, 100ms) ease, color var(--duration-fast, 100ms) ease;
}

.combobox__search-wrap.has-search-value .combobox__search-clear {
  opacity: 0.6;
  pointer-events: auto;
}

.combobox__search-clear:hover {
  opacity: 1;
  color: var(--text-primary);
}

/* Add-new button in header */

.combobox__add-new {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.25rem;
}

.collapse.show.combobox__add-new {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .combobox__add-new {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.combobox__add-new {
  width: 26px;
  height: 26px;
  font-size: 11px;
  color: var(--text-secondary);
  background: transparent;
  border: 1px solid var(--border-combobox, var(--border-input));
  -webkit-transition: color var(--duration-fast, 100ms) ease, background-color var(--duration-fast, 100ms) ease;
  transition: color var(--duration-fast, 100ms) ease, background-color var(--duration-fast, 100ms) ease;
}

.combobox__add-new:hover {
  color: var(--text-primary);
  background-color: var(--bg-hover, var(--bg-surface-hover));
}

/* ==========================================================================
 * Listbox (scrollable options area)
 * Inside a panel: just the scroll container.
 * Without a panel: self-contained dropdown (backward compat).
 * ========================================================================== */

/* Inside a panel — scroll container only */

.combobox__panel .combobox__listbox {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow-y: auto;
  padding: 0.25rem;
}

.menu--collapsed .menu-link .combobox__panel .combobox__listbox {
      display: none;
    }

.combobox__panel .combobox__listbox {
  scrollbar-width: thin;
}

/* Standalone listbox (no panel wrapper) — backward compat */

.combobox:not(:has(.combobox__panel)) .combobox__listbox {
  position: absolute;
  left: 0px;
  right: 0px;
  margin-top: 0.25rem;
  overflow-y: auto;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 0.25rem;
  max-height: 240px;
  background-color: var(--bg-combobox-listbox, var(--bg-dropdown));
  border-color: var(--border-combobox, var(--border-dropdown));
  -webkit-box-shadow: var(--shadow-combobox-listbox, var(--shadow-dropdown));
  box-shadow: var(--shadow-combobox-listbox, var(--shadow-dropdown));
  z-index: var(--z-dropdown, 10);
  display: none;
}

.combobox:not(:has(.combobox__panel)).is-open .combobox__listbox {
  display: block;
}

/* ==========================================================================
 * Panel footer
 * ========================================================================== */

.combobox__footer {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  border-top-width: 1px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .combobox__footer {
  line-height: 1.3;
}

.combobox__footer {
  background-color: var(--bg-combobox-footer, var(--bg-dropdown));
  border-color: var(--border-combobox-footer, var(--border-dropdown-divider));
  color: var(--text-tertiary);
}

/* ==========================================================================
 * Options
 * ========================================================================== */

.combobox__option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.collapse.show.combobox__option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .combobox__option {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .combobox__option {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.combobox__option {
  color: var(--text-combobox-option, var(--text-primary));
  -webkit-transition: background-color var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: background-color var(--duration-fast, 100ms) var(--ease-default, ease);
}

.combobox__option:hover,
.combobox__option--active {
  background-color: var(--bg-combobox-option-hover, var(--bg-dropdown-hover));
}

/* Selected */

.combobox__option--selected {
  background-color: var(--bg-combobox-option-selected, var(--bg-dropdown-selected));
  color: var(--text-combobox-option-selected, var(--text-dropdown-selected));
  font-weight: 500;
}

/* Disabled */

.combobox__option--disabled {
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.5;
}

/* Option sub-elements */

.combobox__option-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 1.25rem;
  width: 1.25rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 0.75rem;
  line-height: 1rem;
}

.collapse.show.combobox__option-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .combobox__option-icon {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .combobox__option-icon {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.combobox__option-icon {
  color: var(--text-tertiary);
}

.combobox__option-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.combobox__option-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.menu--collapsed .menu-link .combobox__option-content {
      display: none;
    }

@media (max-width: 420px) {
  .ach-card > .combobox__option-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.combobox__option-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.combobox__option-meta {
  margin-top: 0.125rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.6875rem;
  line-height: 1rem;
  line-height: 1.25;
  color: var(--text-combobox-option-meta, var(--text-tertiary));
}

/* Avatar (standalone — no .avatar component dependency) */

.combobox__option-avatar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 1.75rem;
  width: 1.75rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  text-transform: uppercase;
}

.collapse.show.combobox__option-avatar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .combobox__option-avatar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.combobox__option-avatar {
  background-color: var(--bg-combobox-option-avatar, var(--bg-badge));
  color: var(--text-combobox-option-avatar, var(--text-badge));
}

/* Avatar component inside options — suppress ring, fit to option */

.combobox__option .avatar {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}

/* Checkmark indicator (single-select) */

.combobox__option-check {
  margin-left: auto;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 0.75rem;
  line-height: 1rem;
  opacity: 0;
}

.wizard-card--trait .combobox__option-check {
  line-height: 1.3;
}

.combobox__option-check {
  color: var(--text-combobox-option-check, var(--text-success));
  -webkit-transition: opacity var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: opacity var(--duration-fast, 100ms) var(--ease-default, ease);
}

.combobox__option--selected .combobox__option-check {
  opacity: 1;
}

/* Checkbox indicator (multi-select checkbox mode) */

.combobox--checkbox .combobox__option-check {
  margin-left: 0px;
  margin-right: 0.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 0.875rem;
  width: 0.875rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.25rem;
  border-width: 1px;
  opacity: 1;
}

.collapse.show.combobox--checkbox .combobox__option-check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .combobox--checkbox .combobox__option-check {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.combobox--checkbox .combobox__option-check {
  border-color: var(--border-checkbox);
  background-color: var(--bg-checkbox);
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
  font-size: 9px;
  color: white;
}

.combobox--checkbox .combobox__option--selected .combobox__option-check {
  background-color: var(--bg-checkbox-checked);
  border-color: var(--border-checkbox-checked);
}

/* Selected checkmark via ::after (simple options without __option-check element) */

.combobox__option--selected:not(:has(.combobox__option-check))::after {
  content: "\f00c";
  font-family: "Font Awesome 7 Pro";
  font-weight: 300;
  margin-left: auto;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .combobox__option--selected:not(:has(.combobox__option-check))::after {
  line-height: 1.3;
}

.combobox__option--selected:not(:has(.combobox__option-check))::after {
  color: var(--text-combobox-option-check, var(--text-success));
}

/* ==========================================================================
 * Groups & Dividers
 * ========================================================================== */

.combobox__group {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--text-tertiary);
}

.combobox__divider {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  margin-left: 0.25rem;
  margin-right: 0.25rem;
  border-top-width: 1px;
  border-color: var(--border-combobox-header, var(--border-dropdown-divider));
}

/* ==========================================================================
 * Empty & Loading states
 * ========================================================================== */

.combobox__empty {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .combobox__empty {
  line-height: 1.3;
}

.combobox__empty {
  color: var(--text-tertiary);
}

.combobox__loading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.collapse.show.combobox__loading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .combobox__loading {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .combobox__loading {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.combobox__loading {
  color: var(--text-tertiary);
}

@keyframes spin {

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.combobox__loading .combobox__spinner {
  -webkit-animation: spin 1s linear infinite;
  animation: spin 1s linear infinite;
  width: 14px;
  height: 14px;
}

/* ==========================================================================
 * Multi-select chips
 * ========================================================================== */

.combobox__chips {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.collapse.show.combobox__chips {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .combobox__chips {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.combobox__chips {
  background-color: var(--bg-combobox, var(--bg-input));
  border-color: var(--border-combobox, var(--border-input));
  min-height: 34px;
}

.combobox__chips:hover {
  border-color: var(--border-combobox-hover, var(--border-input-hover));
}

.combobox__chips:focus-within {
  border-color: var(--border-combobox-focus, var(--border-input-active));
}

/* Input inside chips container — unstyled inline input */

.combobox__chips .combobox__input {
  min-width: 80px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  border-radius: 0px;
  border-width: 0px;
  padding: 0px;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.menu--collapsed .menu-link .combobox__chips .combobox__input {
      display: none;
    }

.combobox__chips .combobox__input {
  min-height: unset;
  background-color: var(--alpha-0);
}

.combobox__chip {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  border-radius: 0.375rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  background-color: var(--bg-tag-neutral);
  border: 1px solid var(--border-tag-neutral);
  color: var(--text-tag-neutral);
  max-width: 200px;
}

.combobox__chip-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.combobox__chip-dismiss {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  cursor: pointer;
  border-radius: 0.125rem;
  font-size: 10px;
  opacity: 0.5;
  -webkit-transition: opacity var(--duration-fast, 100ms) ease;
  transition: opacity var(--duration-fast, 100ms) ease;
}

.combobox__chip-dismiss:hover {
  opacity: 1;
}

/* Chips inside select control */

.combobox--select .combobox__control:has(.combobox__chip) {
  height: auto;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.25rem;
  min-height: 34px;
  padding-top: 4px;
  padding-bottom: 4px;
}

/* ==========================================================================
 * States
 * ========================================================================== */

/* Disabled */

.combobox.is-disabled {
  pointer-events: none;
}

.combobox.is-disabled .combobox__input,
.combobox.is-disabled .combobox__control,
.combobox.is-disabled .combobox__chips {
  color: var(--text-input-disabled);
  background-color: var(--bg-input-disabled);
  border-color: var(--border-input-disabled);
  cursor: not-allowed;
  opacity: 0.6;
}

/* Error — .is-error on wrapper (set by JS or programmatically) */

.combobox.is-error .combobox__input,
.combobox.is-error .combobox__control,
.combobox.is-error .combobox__chips {
  border-color: var(--border-input-error) !important;
}

.combobox.is-error .combobox__input:focus,
.combobox.is-error .combobox__control:focus,
.combobox.is-error .combobox__chips:focus-within {
  border-color: var(--border-input-error-focus) !important;
}

/* Error — ASP.NET MVC validation (input-validation-error on child input) */

.combobox:has(.input-validation-error) .combobox__input,
.combobox:has(.input-validation-error) .combobox__control,
.combobox:has(.input-validation-error) .combobox__chips {
  border-color: var(--border-input-error) !important;
}

.combobox:has(.input-validation-error) .combobox__input:focus,
.combobox:has(.input-validation-error) .combobox__control:focus,
.combobox:has(.input-validation-error) .combobox__chips:focus-within {
  border-color: var(--border-input-error-focus) !important;
}

/* Readonly */

.combobox.is-readonly .combobox__control {
  background-color: var(--bg-input-readonly);
  color: var(--text-input-readonly);
  cursor: default;
}

/* ==========================================================================
 * Sizes — match form-control sizing scale
 * ========================================================================== */

.form-group-inline:has(.controls :is(.combobox--sm .combobox__input, .input-group .form-control-sm, .input-group-stack .form-control-sm)) {
    --form-inline-label-offset: 0.125rem;
  }

.combobox--sm .combobox__input {
  min-height: 1.75rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1rem;
}

.controls:has(.combobox--sm .combobox__input) .input-clear {
  right: 5px;
  width: 14px;
  height: 14px;
  font-size: 9px;
}

.form-group-inline:has(.controls :is(.combobox--sm .combobox__control, .input-group .form-control-sm, .input-group-stack .form-control-sm)) {
    --form-inline-label-offset: 0.125rem;
  }

.combobox--sm .combobox__control {
  min-height: 1.75rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1rem;
}

.controls:has(.combobox--sm .combobox__control) .input-clear {
  right: 5px;
  width: 14px;
  height: 14px;
  font-size: 9px;
}

.combobox--sm .combobox__chips {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem; min-height: 28px;
}

.combobox--sm .combobox__option {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .combobox--sm .combobox__option {
  line-height: 1.3;
}

.form-group-inline:has(.controls :is(.combobox--lg .combobox__input, .input-group .form-control-lg, .input-group-stack .form-control-lg)) {
    --form-inline-label-offset: 0.5rem;
  }

.combobox--lg .combobox__input {
  min-height: 2.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 1.125rem;
  line-height: 1.25rem;
}

.form-group-inline:has(.controls :is(.combobox--lg .combobox__control, .input-group .form-control-lg, .input-group-stack .form-control-lg)) {
    --form-inline-label-offset: 0.5rem;
  }

.combobox--lg .combobox__control {
  min-height: 2.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 1.125rem;
  line-height: 1.25rem;
}

.combobox--lg .combobox__chips {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem; min-height: 40px;
}

.combobox--lg .combobox__option {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

/* ==========================================================================
 * Input-group integration
 * Inside .input-group-stack, .input-group, and .input-group-wrap the combobox
 * control must look like a native form-control: no border, no rounding, and a
 * transparent background so the group's shared border/bg shows through.
 * ========================================================================== */

/* Inside input-group-stack the panel uses position:fixed (set by JS) so the
   combobox wrapper can be static — this prevents hover/focus backgrounds from
   painting over the stack's inset outline (outline-offset: -1px).
   The trigger chevron positions inside .combobox__control (relative) instead. */

:is(.input-group-stack, .input-group, .input-group-wrap) .combobox {
  position: static;
  display: block;
}

/* Trigger and clear become static flex children inside the control (no absolute
   positioning needed) so the control doesn't need position:relative either. */

:is(.input-group-stack, .input-group, .input-group-wrap) .combobox .combobox__trigger {
  position: static;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

/* Input-mode clear button needs a positioned ancestor in stacks */

:is(.input-group-stack, .input-group, .input-group-wrap) .combobox:not(.combobox--select) {
  position: relative;
}

/* Control no longer needs right padding for an absolute trigger — the trigger
   is a flex child taking its own space. */

:is(.input-group-stack, .input-group, .input-group-wrap) .combobox .combobox__control {
  padding-right: 0px;
}

:is(.input-group-stack, .input-group, .input-group-wrap) :is(.combobox__control, .combobox__input, .combobox__chips) {
  border-radius: 0px;
  border-width: 0px;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  background-color: var(--alpha-0);
}

:is(.input-group-stack, .input-group, .input-group-wrap) :is(.combobox__control, .combobox__input):hover {
  background-color: var(--bg-input-group-item-hover);
  border-color: transparent;
}

:is(.input-group-stack, .input-group, .input-group-wrap) :is(.combobox__control, .combobox__input):focus,
:is(.input-group-stack, .input-group, .input-group-wrap) .combobox.is-focused :is(.combobox__control, .combobox__input) {
  background-color: var(--bg-input-group-item-focus);
  border-color: transparent;
}

/* Input-mode combobox wrapping a .form-control — strip borders/bg/shadow so
   the input-group-stack shared outline shows through. */

:is(.input-group-stack, .input-group, .input-group-wrap) .combobox .form-control {
  border-radius: 0px;
  border-width: 0px;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  background-color: var(--alpha-0);
}

:is(.input-group-stack, .input-group, .input-group-wrap) .combobox .form-control:hover {
  background-color: var(--bg-input-group-item-hover);
  border-color: transparent;
}

:is(.input-group-stack, .input-group, .input-group-wrap) .combobox .form-control:focus,
:is(.input-group-stack, .input-group, .input-group-wrap) .combobox.is-focused .form-control {
  background-color: var(--bg-input-group-item-focus);
  border-color: transparent;
}

/* ==========================================================================
 * Panel widths
 * By default the panel matches trigger width. These allow overrides.
 * Apply on .combobox or .combobox__panel.
 * ========================================================================== */

.combobox--w-auto .combobox__panel,
.combobox__panel.combobox--w-auto {
  width: auto;
  min-width: 100%;
  left: 0;
  right: auto;
}

.combobox--w-sm .combobox__panel,
.combobox__panel.combobox--w-sm {
  width: 200px;
  left: 0;
  right: auto;
}

.combobox--w-md .combobox__panel,
.combobox__panel.combobox--w-md {
  width: 280px;
  left: 0;
  right: auto;
}

.combobox--w-lg .combobox__panel,
.combobox__panel.combobox--w-lg {
  width: 360px;
  left: 0;
  right: auto;
}

.combobox--w-xl .combobox__panel,
.combobox__panel.combobox--w-xl {
  width: 480px;
  left: 0;
  right: auto;
}

.combobox--w-full .combobox__panel,
.combobox__panel.combobox--w-full {
  width: 100%;
}

/* ==========================================================================
 * Reduced motion
 * ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .combobox__trigger,
  .combobox__option,
  .combobox__clear,
  .combobox__chip-dismiss,
  .combobox__option-check {
    -webkit-transition: none;
    transition: none;
  }
}

/* ==========================================================================
   Component: Range Slider
   Variants:  Single | Dual (two thumbs) | Stepped (snap to positions)
   Layouts:   Horizontal (default) | Vertical
   Sizes:     sm | (default/md) | lg

   Positioning model
   -----------------
   JS sets CSS custom properties on the .range container:
     Single:  --range-pct        (0% – 100%)
     Dual:    --range-pct-min    (0% – 100%)
              --range-pct-max    (0% – 100%)

   CSS derives all thumb + fill positions from those variables.
   Fill uses inset pairs (left+right or bottom+top) — never left+width
   or bottom+height — so it always stays exactly between the thumbs.
   ========================================================================== */

/* ==========================================================================
   BASE CONTAINER
   ========================================================================== */

.range {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.collapse.show.range {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .range {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.range {
  height: var(--size-range-thumb, 16px);
}

/* ==========================================================================
   TRACK
   ========================================================================== */

.range__track {
  position: absolute;
  left: 0px;
  right: 0px;
  cursor: pointer;
  border-radius: 9999px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  height: var(--size-range-track-height, 4px);
  background-color: var(--bg-range-track, var(--bg-tertiary));
}

/* ==========================================================================
   FILL (colored region between min/value or between two thumbs)
   Positioned via CSS custom properties + inset pairs.
   ========================================================================== */

.range__fill {
  pointer-events: none;
  position: absolute;
  border-radius: 9999px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  height: var(--size-range-track-height, 4px);
  background-color: var(--bg-range-fill, var(--bg-primary-solid));
}

/* Horizontal single: left edge to thumb position */

.range:not(.range--dual) .range__fill {
  left: 0;
  right: calc(100% - var(--range-pct, 0%));
}

/* Horizontal dual: between two thumb positions */

.range.range--dual .range__fill {
  left: var(--range-pct-min, 0%);
  right: calc(100% - var(--range-pct-max, 100%));
}

/* ==========================================================================
   THUMB
   ========================================================================== */

.range__thumb {
  position: absolute;
  cursor: -webkit-grab;
  cursor: grab;
  border-radius: 9999px;
  -ms-touch-action: none;
  touch-action: none;
  top: 50%;
  width: var(--size-range-thumb, 16px);
  height: var(--size-range-thumb, 16px);
  background-color: var(--bg-range-thumb, var(--bg-surface));
  border: 2px solid var(--border-range-thumb, var(--border-primary-solid));
  -webkit-box-shadow: var(--shadow-range-thumb, var(--shadow-sm));
  box-shadow: var(--shadow-range-thumb, var(--shadow-sm));
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: -webkit-box-shadow var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: -webkit-box-shadow var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: box-shadow var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: box-shadow var(--duration-fast, 100ms) var(--ease-default, ease), -webkit-box-shadow var(--duration-fast, 100ms) var(--ease-default, ease);
  z-index: 2;
}

/* Horizontal single thumb */

.range:not(.range--dual) .range__thumb {
  left: var(--range-pct, 0%);
}

/* Horizontal dual thumbs */

.range.range--dual .range__thumb[data-thumb="min"] {
  left: var(--range-pct-min, 0%);
}

.range.range--dual .range__thumb[data-thumb="max"] {
  left: var(--range-pct-max, 100%);
}

.range__thumb:hover {
    -webkit-box-shadow: var(--shadow-range-thumb-hover, var(--shadow-md));
    box-shadow: var(--shadow-range-thumb-hover, var(--shadow-md));
  }

.range__thumb:active,
  .range__thumb.is-dragging {
  cursor: -webkit-grabbing;
  cursor: grabbing;
    -webkit-box-shadow: 0 0 0 4px color-mix(in srgb, var(--bg-range-fill, var(--bg-primary-solid)) 20%, transparent);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--bg-range-fill, var(--bg-primary-solid)) 20%, transparent);
    z-index: 3;
}

.range__thumb:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
    -webkit-box-shadow: 0 0 0 3px color-mix(in srgb, var(--bg-range-fill, var(--bg-primary-solid)) 30%, transparent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--bg-range-fill, var(--bg-primary-solid)) 30%, transparent);
}

/* ==========================================================================
   VALUE DISPLAY + LABEL
   ========================================================================== */

.range__value {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.wizard-card--trait .range__value {
  line-height: 1.3;
}

.range__value {
  color: var(--text-primary);
}

.range__label {
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-tertiary);
}

/* Min/max labels flanking the slider */

.range__labels {
  margin-top: 0.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.collapse.show.range__labels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .range__labels {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.range__labels .range__label {
  font-size: 0.6875rem;
  line-height: 1rem;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
    color: var(--text-quaternary);
}

/* ==========================================================================
   TOOLTIP (appears above/below thumb on drag)
   ========================================================================== */

.range__tooltip {
  pointer-events: none;
  position: absolute;
  white-space: nowrap;
  border-radius: 0.25rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  background-color: var(--bg-tooltip, var(--bg-primary-solid));
  color: var(--text-tooltip, var(--alpha-white-100));
  bottom: calc(100% + 6px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  opacity: 0;
  -webkit-transition: opacity 100ms ease;
  transition: opacity 100ms ease;
}

.range__thumb:active .range__tooltip,
  .range__thumb.is-dragging .range__tooltip,
  .range__thumb:focus-visible .range__tooltip {
    opacity: 1;
  }

/* Always-visible tooltip */

.range--show-tooltip .range__tooltip {
    opacity: 1;
  }

/* ==========================================================================
   TICK MARKS (used for stepped sliders, or any slider wanting visual marks)
   ========================================================================== */

.range__ticks {
  pointer-events: none;
  position: absolute;
  left: 0px;
  right: 0px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  height: var(--size-range-track-height, 4px);
}

.range__tick {
  position: absolute;
  width: var(--size-range-tick-width, 2px);
  height: var(--size-range-tick-height, 8px);
  background-color: var(--bg-range-tick, var(--bg-tertiary));
  border-radius: 1px;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  top: calc(50% + calc(var(--size-range-track-height, 4px) / 2) + 2px);
}

/* Active tick (within the filled range) */

.range__tick.is-active {
    background-color: var(--bg-range-tick-active, var(--bg-range-fill, var(--bg-primary-solid)));
    opacity: 0.5;
  }

/* Tick labels */

.range__tick-labels {
  pointer-events: none;
  position: absolute;
  left: 0px;
  right: 0px;
  top: calc(var(--size-range-thumb, 16px) / 2 + var(--size-range-track-height, 4px) / 2 + 14px);
}

.range__tick-label {
  position: absolute;
  font-size: 0.6875rem;
  line-height: 1rem;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  color: var(--text-quaternary);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

/* ==========================================================================
   SIZES
   ========================================================================== */

.range--sm {
  --size-range-track-height: 2px;
  --size-range-thumb: 12px;
  --size-range-tick-height: 6px;
  --size-range-tick-width: 1px;
}

.range--lg {
  --size-range-track-height: 6px;
  --size-range-thumb: 20px;
  --size-range-tick-height: 10px;
  --size-range-tick-width: 2px;
}

/* ==========================================================================
   DISABLED
   ========================================================================== */

.range.is-disabled {
  pointer-events: none;
  opacity: 0.5;
}

/* ==========================================================================
   INTENT VARIANTS (optional color overrides)
   ========================================================================== */

.range--success {
  --bg-range-fill: var(--bg-success-solid);
  --border-range-thumb: var(--border-success-solid);
}

.range--warning {
  --bg-range-fill: var(--bg-warning-solid);
  --border-range-thumb: var(--border-warning-solid);
}

.range--danger {
  --bg-range-fill: var(--bg-danger-solid);
  --border-range-thumb: var(--border-danger-solid);
}

.range--info {
  --bg-range-fill: var(--bg-info-solid);
  --border-range-thumb: var(--border-info-solid);
}

/* ==========================================================================
   VERTICAL LAYOUT
   All vertical rules use .range.range--vertical (0-2-0+) to beat the
   horizontal rules at .range:not(.range--dual) (0-2-0) by source order,
   and higher specificity where needed.
   ========================================================================== */

.range--vertical {
  width: auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: var(--size-range-vertical-height, 12rem);
  width: var(--size-range-thumb, 16px);
}

/* Track */

.range--vertical .range__track {
  top: 0px;
  bottom: 0px;
  left: auto;
  right: auto;
    left: calc(50% - var(--size-range-track-height, 4px) / 2);
    width: var(--size-range-track-height, 4px);
    height: 100%;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
}

/* Fill — common vertical overrides */

.range.range--vertical .range__fill {
    left: calc(50% - var(--size-range-track-height, 4px) / 2);
    right: auto;
    width: var(--size-range-track-height, 4px);
    height: auto;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }

/* Fill — vertical single */

.range.range--vertical:not(.range--dual) .range__fill {
    bottom: 0;
    top: calc(100% - var(--range-pct, 0%));
  }

/* Fill — vertical dual */

.range.range--vertical.range--dual .range__fill {
    bottom: var(--range-pct-min, 0%);
    top: calc(100% - var(--range-pct-max, 100%));
  }

/* Thumb — common vertical overrides (must beat horizontal 0-3-0 by source order) */

.range.range--vertical .range__thumb {
    top: auto;
    left: 50%;
    -webkit-transform: translate(-50%, 50%);
    -ms-transform: translate(-50%, 50%);
    transform: translate(-50%, 50%);
  }

/* Thumb — vertical single */

.range.range--vertical:not(.range--dual) .range__thumb {
    bottom: var(--range-pct, 0%);
  }

/* Thumb — vertical dual */

.range.range--vertical.range--dual .range__thumb[data-thumb="min"] {
    bottom: var(--range-pct-min, 0%);
  }

.range.range--vertical.range--dual .range__thumb[data-thumb="max"] {
    bottom: var(--range-pct-max, 100%);
  }

/* Ticks for vertical */

.range--vertical .range__tick {
    -webkit-transform: translateY(50%);
    -ms-transform: translateY(50%);
    transform: translateY(50%);
    top: auto;
    left: calc(50% + calc(var(--size-range-track-height, 4px) / 2) + 2px);
    width: var(--size-range-tick-height, 8px);
    height: var(--size-range-tick-width, 2px);
  }

/* Tick labels for vertical */

.range--vertical .range__tick-labels {
    top: auto;
    left: calc(var(--size-range-thumb, 16px) / 2 + var(--size-range-track-height, 4px) / 2 + 14px);
  }

.range--vertical .range__tick-label {
    -webkit-transform: translateY(50%);
    -ms-transform: translateY(50%);
    transform: translateY(50%);
  }

/* Tooltip for vertical */

.range--vertical .range__tooltip {
    bottom: auto;
    left: calc(100% + 8px);
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }

/* Labels for vertical */

.range--vertical .range__labels {
  margin-top: 0px;
  margin-left: 0.25rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

/* ==========================================================================
   DUAL THUMB (RANGE)
   ========================================================================== */

.range--dual .range__thumb[data-thumb="min"] {
  z-index: 2;
}

.range--dual .range__thumb[data-thumb="max"] {
  z-index: 2;
}

/* Whichever thumb is being dragged gets higher z */

.range--dual .range__thumb.is-dragging {
    z-index: 3;
  }

/* ==========================================================================
   STEPPED (SNAP) — visual indicator
   ========================================================================== */

.range--stepped .range__track {
  /* Slight visual cue that this is a stepped slider */
}

/* Snap points get slightly larger ticks */

.range--stepped .range__tick {
    --size-range-tick-height: 10px;
    --size-range-tick-width: 2px;
  }

.range--stepped.range--sm .range__tick {
    --size-range-tick-height: 8px;
    --size-range-tick-width: 1px;
  }

.range--stepped.range--lg .range__tick {
    --size-range-tick-height: 12px;
    --size-range-tick-width: 3px;
  }

/* ========================================
   Component: Inline Editing
   ======================================== */

/* --- E6a: Inline Input --- */

.inline-edit {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  background-color: var(--bg-inline-edit, transparent);
  border-radius: var(--radius-sm, 0.25rem);
  -webkit-transition: background-color var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: background-color var(--duration-fast, 100ms) var(--ease-default, ease);
}

.inline-edit:hover {
  background-color: var(--bg-inline-edit-hover, var(--bg-hover));
}

.inline-edit__display {
  cursor: pointer;
  border-radius: 0.25rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .inline-edit__display {
  line-height: 1.3;
}

.inline-edit__display {
  color: var(--text-inline-edit, var(--text-primary));
}

.inline-edit__input {
  border-radius: 0.25rem;
  border-width: 1px;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.wizard-card--trait .inline-edit__input {
  line-height: 1.3;
}

.inline-edit__input {
  color: var(--text-inline-edit, var(--text-primary));
  background-color: var(--bg-inline-edit-editing, var(--bg-input));
  border-color: var(--border-inline-edit-editing, var(--border-input-focus));
}

.inline-edit__actions {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0.125rem;
}

/* Toggle visibility */

.inline-edit__input,
.inline-edit__actions {
  display: none;
}

.inline-edit--editing .inline-edit__display {
  display: none;
}

.inline-edit--editing .inline-edit__input,
.inline-edit--editing .inline-edit__actions {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

/* Saving state */

.inline-edit--saving .inline-edit__input {
  pointer-events: none;
  opacity: 0.6;
}

/* Error state */

.inline-edit--error .inline-edit__input {
  border-color: var(--border-danger, var(--utility-red-500));
}

/* --- E6b: Inline Popover --- */

.inline-popover-edit {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.inline-popover-edit__value {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .inline-popover-edit__value {
  line-height: 1.3;
}

.inline-popover-edit__value {
  color: var(--text-inline-edit, var(--text-primary));
}

.inline-popover-edit__trigger {
  font-size: 0.6875rem;
  line-height: 1rem;
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
  color: var(--text-tertiary);
}

.inline-popover-edit:hover .inline-popover-edit__trigger {
  opacity: 1;
}

/* --- E6c: Inline Link --- */

.inline-link-edit {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.inline-link-edit__link {
  cursor: pointer;
  font-size: 0.75rem;
  line-height: 1rem;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-underline-offset: 2px;
}

.wizard-card--trait .inline-link-edit__link {
  line-height: 1.3;
}

.inline-link-edit__link {
  color: var(--text-inline-link-edit, var(--text-link));
  -webkit-transition: color var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: color var(--duration-fast, 100ms) var(--ease-default, ease);
}

.inline-link-edit__link:hover {
  color: var(--text-inline-link-edit-hover, var(--text-link-hover));
}

.inline-link-edit__input {
  border-radius: 0.25rem;
  border-width: 1px;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.wizard-card--trait .inline-link-edit__input {
  line-height: 1.3;
}

.inline-link-edit__input {
  color: var(--text-inline-edit, var(--text-primary));
  background-color: var(--bg-inline-edit-editing, var(--bg-input));
  border-color: var(--border-inline-edit-editing, var(--border-input-focus));
}

.inline-link-edit__actions {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0.125rem;
}

/* Toggle visibility */

.inline-link-edit__input,
.inline-link-edit__actions {
  display: none;
}

.inline-link-edit--editing .inline-link-edit__link {
  display: none;
}

.inline-link-edit--editing .inline-link-edit__input,
.inline-link-edit--editing .inline-link-edit__actions {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.inline-link-edit--saving .inline-link-edit__input {
  pointer-events: none;
  opacity: 0.6;
}

.inline-link-edit--error .inline-link-edit__input {
  border-color: var(--border-danger, var(--utility-red-500));
}

/* ==========================================================================
   Component: Form Section
   Purpose:   Semantic wrapper for grouping related form fields within
              create/edit forms. Provides section headers, descriptions,
              and consistent spacing between field groups.

   Anatomy
   -------
   .form-section
     .form-section__header         — title + optional description
       .form-section__title        — section heading text
       .form-section__description  — optional helper text below title
     .form-section__body           — form fields container

   Variants
   --------
   (default)                       — spacing + title only
   .form-section--bordered         — top border between sections
   .form-section--card             — card-style elevated section
   .form-section--compact          — reduced spacing (for narrow modals)

   Usage
   -----
   Use inside modal-body or page forms to group related fields:
     <div class="form-section">
       <div class="form-section__header">
         <div class="form-section__title">Dimensions</div>
       </div>
       <div class="form-section__body">
         <div class="grid grid-cols-12 gap-x-2">
           ... form-group fields ...
         </div>
       </div>
     </div>
   ========================================================================== */

/* ==========================================================================
   BASE
   ========================================================================== */

.form-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.form-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .form-section {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* Spacing between consecutive sections */

.form-section + .form-section {
  margin-top: 1.5rem;
}

/* First section in a container needs no top margin */

.form-section:first-child {
  margin-top: 0px;
}

/* ---------- Header ---------- */

.form-section__header {
  margin-bottom: 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.125rem;
}

.collapse.show.form-section__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .form-section__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.form-section__title {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.wizard-card--trait .form-section__title {
  line-height: 1.3;
}

.form-section__title {
  color: var(--text-form-section-title, var(--text-secondary));
}

.form-section__description {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .form-section__description {
  line-height: 1.3;
}

.form-section__description {
  color: var(--text-form-section-description, var(--text-tertiary));
}

/* ---------- Body ---------- */

.form-section__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.form-section__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .form-section__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ==========================================================================
   BORDERED VARIANT — top border between stacked sections
   ========================================================================== */

.form-section--bordered + .form-section--bordered {
  padding-top: 1.5rem;
  border-top: 1px solid var(--border-form-section, var(--border-primary-subtle));
}

/* ==========================================================================
   CARD VARIANT — elevated card-style section
   ========================================================================== */

.form-section--card {
  border-radius: 0.5rem;
  padding: 1rem;
  background-color: var(--bg-form-section-card, var(--bg-surface));
  border: 1px solid var(--border-form-section, var(--border-primary-subtle));
}

.form-section--card .form-section__header {
  margin-bottom: 0.75rem;
}

/* ==========================================================================
   COMPACT VARIANT — tighter spacing for narrow modals
   ========================================================================== */

.form-section--compact + .form-section--compact {
  margin-top: 1rem;
}

.form-section--compact .form-section__header {
  margin-bottom: 0.5rem;
}

.form-section--compact .form-section__title {
  font-size: 0.6875rem;
  line-height: 1rem;
}

/*Mobile*/

/* === Mobile Nav Container === */

.mobile-header {
  background-color: transparent;
  color: var(--text-mobile-nav);
}

/* Root nav & overlay/panel */

.mobile-nav {
  -webkit-transition-property: none;
  transition-property: none;
}

.mobile-nav-overlay {
  position: absolute;
  inset: 0px;
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 200ms;
  transition-duration: 200ms;
  -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  background-color: var(--bg-mobile-nav-overlay);
  pointer-events: none;
}

.mobile-nav-panel {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 100%;
  --tw-translate-x: -100%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 200ms;
  transition-duration: 200ms;
  -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.collapse.show.mobile-nav-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mobile-nav-panel {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mobile-nav-panel {
  background-color: var(--bg-mobile-nav);
}

/* When open */

.mobile-nav.active {
  pointer-events: auto;
}

.mobile-nav.active .mobile-nav-overlay {
  opacity: 1;
    pointer-events: auto;
}

.mobile-nav.active .mobile-nav-panel {
  --tw-translate-x: 0px;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* Toggle button (hamburger) */

.mobile-nav-toggle {
  border-radius: 9999px;
  border-width: 1px;
  border-color: transparent;
}

.mobile-nav-toggle-bar {
  display: block;
  height: 2px;
  width: 1.25rem;
  border-radius: 9999px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 200ms;
  transition-duration: 200ms;
  -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  background-color: var(--bg-mobile-toggle-bar);
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center;
}

/* === Mobile Nav Header === */

.mobile-nav-panel-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.mobile-nav-panel-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mobile-nav-panel-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mobile-nav-panel-header {
  color: var(--text-mobile-nav-muted);
}

/* Brand block (mobile-specific, mirrors sidebar) */

.mobile-nav .brand {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 28px;
  min-height: 28px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

.collapse.show.mobile-nav .brand {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mobile-nav .brand {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mobile-nav .brand-logo {
  height: 28px;
  min-height: 28px;
  width: auto;
  max-width: 100%;
}

/* Close button inside header */

.mobile-nav-close {
  margin-left: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 2rem;
  width: 2rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  border-color: transparent;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .mobile-nav-close {
  line-height: 1.3;
}

.mobile-nav-close {
  color: var(--icon-mobile-nav);
}

.mobile-nav-close:hover {
    background-color: var(--bg-mobile-nav-item-hover);
  }

/* === Menu Container === */

.mobile-nav-panel-body {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow-y: auto;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-bottom: 1rem;
}

.menu--collapsed .menu-link .mobile-nav-panel-body {
      display: none;
    }

.mobile-nav-list {
  margin: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style-type: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 0.25rem;
  padding: 0px;
}

.collapse.show.mobile-nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mobile-nav-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* === Top-level Item (mirrors sidebar-item) === */

.mobile-nav-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
  white-space: nowrap;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.collapse.show.mobile-nav-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mobile-nav-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mobile-nav-item {
  background-color: var(--bg-mobile-nav-item);
  color: var(--text-mobile-nav-item, var(--text-mobile-nav));
  text-align: left;
}

.mobile-nav-item:hover {
    background-color: var(--bg-mobile-nav-item-hover);
    color: var(--text-mobile-nav-item-hover, var(--text-mobile-nav));
  }

/* Active state for top-level item */

.mobile-nav-item.active {
    background-color: var(--bg-mobile-nav-item-active);
    color: var(--text-mobile-nav-item-active);
  }

/* Parent items (with submenu) */

.mobile-nav-item-parent {
}

/* === Icons & Titles (mobile-specific versions) === */

.mobile-nav .app-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 19px;
  width: 19px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  white-space: nowrap;
}

.collapse.show.mobile-nav .app-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mobile-nav .app-icon {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mobile-nav .app-icon {
  color: var(--icon-mobile-nav);
}

.mobile-nav .menu-title {
  margin-left: -1px;
  white-space: nowrap;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-mobile-nav);
}

.mobile-nav .menu-icon {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  white-space: nowrap;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.collapse.show.mobile-nav .menu-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mobile-nav .menu-icon {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mobile-nav .menu-icon {
  color: var(--icon-mobile-nav);
}

/* Label above groups (Main, Warehouse, etc.) */

.mobile-nav .menu-label {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.75rem;
  padding-bottom: 0.25rem;
  font-size: 0.563rem;
  line-height: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--text-mobile-nav-label, var(--text-mobile-nav-muted));
}

/* Sub-link title text */

.mobile-nav .link-title {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}

.wizard-card--trait .mobile-nav .link-title {
  line-height: 1.3;
}

.mobile-nav .link-title {
  color: var(--text-mobile-subnav);
}

.mobile-nav .link-title:hover {
    color: var(--text-mobile-subnav-hover, var(--text-mobile-subnav));
  }

/* === Group Open States & Chevrons === */

.mobile-nav-group.active > .mobile-nav-item-parent {
}

.mobile-nav-group.active > .mobile-nav-item-parent .menu-icon i,
  .mobile-nav-group.active > .mobile-nav-item-parent .mobile-nav-chevron {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
  }

/* Optional chevron class if you use it independently */

.mobile-nav-chevron {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 1rem;
  width: 1rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  border-color: transparent;
  font-size: 10px;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 200ms;
  transition-duration: 200ms;
  -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  color: var(--icon-mobile-nav);
}

/* Divider */

.mobile-nav-divider {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
  border-top-width: 1px;
  border-color: var(--border-mobile-nav-divider);
}

/* === Subnav (level 2+), single left rail that highlights === */

.mobile-subnav {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  margin-left: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.mobile-subnav > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}

.mobile-subnav {
  padding-right: 0.75rem;
}

.collapse.show.mobile-subnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mobile-subnav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mobile-subnav {
  /* indent only; rail is on the link */
}

.mobile-subnav-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.collapse.show.mobile-subnav-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mobile-subnav-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* can be <a> or <button>; inner bar is the same rail, recolored */

.mobile-subnav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 24px;
  width: 100%;
  border-radius: 0px;
  border-left-width: 1px;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 17px;
  text-align: left;
  font-size: 0.75rem;
  line-height: 1rem;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}

.collapse.show.mobile-subnav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .mobile-subnav-link {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .mobile-subnav-link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mobile-subnav-link {
  background-color: transparent;
  border-color: var(--border-mobile-menu-items); /* base rail color */
  color: var(--text-mobile-subnav);
}

/* Hover: same rail, darker color */

.mobile-subnav-link:hover {
    border-color: var(--border-mobile-subnav-hover);
    background-color: transparent;
    color: var(--text-mobile-subnav-hover, var(--text-mobile-subnav));
  }

/* Active: strongest color on the same rail */

.mobile-subnav-link.active {
    border-color: var(--border-mobile-subnav-active);
    background-color: transparent;
    color: var(--text-mobile-subnav-active);
    font-weight: 500;
  }

/* Danger variant (Sign Out) */

.mobile-subnav-item-danger {
  color: var(--text-mobile-danger);
}

/* === Profile Section === */

.mobile-nav-group-profile {
  padding-top: 0.5rem;
}

.mobile-nav-avatar {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 2rem;
  width: 2rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
}

.wizard-card--trait .mobile-nav-avatar {
  line-height: 1.3;
}

.mobile-nav-avatar {
  background: radial-gradient(circle at 0% 0%, var(--color-accent-500), var(--color-accent-700));
  color: var(--text-mobile-avatar);
}

.mobile-nav-user-name {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .mobile-nav-user-name {
  line-height: 1.3;
}

.mobile-nav-user-name {
  color: var(--text-mobile-nav);
}

.mobile-nav-user-meta {
  font-size: 11px;
  color: var(--text-mobile-nav-muted);
}

/*Navigation*/

.page-header-wrapper {
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-color: transparent;
  background-color: var(--bg-page-header);
}

.page-header {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
}

/* Back button */

.page-header-back {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 2rem;
  height: 2rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.collapse.show.page-header-back {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .page-header-back {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.page-header-back {
  -webkit-transition: color 75ms ease-in-out, background-color 75ms ease-in-out, border-color 75ms ease-in-out;
  transition: color 75ms ease-in-out, background-color 75ms ease-in-out, border-color 75ms ease-in-out;
  color: var(--text-breadcrumb);
  border-color: var(--border-breadcrumb);
  background-color: var(--bg-breadcrumb);
}

.page-header-back:hover {
    background-color: var(--bg-breadcrumb-hover);
  }

/* App icon injected via CSS pseudo-element (hidden when sidebar is pinned) */

.app-shell.has-app-icon .page-header::after {
  content: '';
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 1.25rem;
  height: 1.25rem;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.375rem;
  background: var(--app-icon-url) center / contain no-repeat;
}

.app-shell.has-app-icon .page-header > :first-child {
  -webkit-box-ordinal-group: 1;
  -ms-flex-order: 0;
  order: 0;
}

.app-shell.has-app-icon .page-header > :nth-child(2) {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.app-shell[data-sidebar-state="pinned"] .page-header::after {
  display: none;
}

/* Theme-aware logo swap */

.logo-dark  { display: none; }

[data-theme="theme-dark"] .logo-light { display: none; }

[data-theme="theme-dark"] .logo-dark  { display: block; }

/* Title */

.page-header-title {
  margin-top: -0.125rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1rem;
  color: var(--text-page-title);
}

/* Breadcrumb */

.page-header-breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 0.125rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  line-height: 1;
}

.collapse.show.page-header-breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .page-header-breadcrumb {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.page-header-breadcrumb { 
  color: var(--text-breadcrumb);
}

.page-header-breadcrumb span + span::before {
    content: "›";
    margin: 0 0.25rem;
    display: inline-block;
    color: var(--text-breadcrumb-separator);
  }

/*
.btn-nav {
  @apply inline-flex items-center self-center text-sm h-[28px] w-[28px] flex justify-around rounded-full transition duration-150 ease-in-out text-gray-600 hover:bg-gray-200/80 hover:text-gray-900 active:bg-gray-200 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white;
}

.breadcrumb {
  @apply space-x-2 flex items-center text-base font-medium font-Manrope tracking-tight text-gray-500 dark:text-gray-300;
}

.breadcrumb .link {
  @apply text-sm text-gray-400 hover:text-gray-600 dark:text-gray-400 dark:hover:text-gray-300;
}

.breadcrumb .text {
  @apply text-sm text-gray-500 dark:text-gray-400;
}

.breadcrumb .text.active {
  @apply text-sm text-gray-700 dark:text-gray-200;
}

.breadcrumb li i {
  @apply text-sm text-gray-500 dark:text-gray-400 mt-[1px] font-bold;
}
*/

/* =========================================================
 * Offcanvas Drawer (token-mapped)
 * ========================================================= */

/* Base (closed) */

.offcanvas {
  position: fixed;
  top: 0px;
  right: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 200ms;
  transition-duration: 200ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.collapse.show.offcanvas {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .offcanvas {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.offcanvas {
  width: 400px;
  background-color: var(--bg-drawer);
  color: var(--text-drawer);
  border-left: 1px solid var(--border-drawer);
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  will-change: transform;
  z-index: 50;
}

/* Placements */

.offcanvas.offcanvas-start {
  left: 0px;
  right: auto;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    border-left: 0;
    border-right: 1px solid var(--border-drawer);
}

.offcanvas.offcanvas-end {
  right: 0px;
  left: auto;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
}

.offcanvas.offcanvas-top {
  top: 0px;
  bottom: auto;
  height: 30%;
  width: 100%;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    border-left: 0;
    border-right: 0;
    border-bottom: 1px solid var(--border-drawer);
}

.offcanvas.offcanvas-bottom {
  bottom: 0px;
  top: auto;
  height: 30%;
  width: 100%;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    border-left: 0;
    border-right: 0;
    border-top: 1px solid var(--border-drawer);
}

/* Open state */

.offcanvas.show {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }

/* Regions */

.offcanvas-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 1rem;
}

.collapse.show.offcanvas-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .offcanvas-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.offcanvas-header {
  border-bottom: 1px solid var(--border-drawer);
}

.offcanvas-title {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-drawer);
}

.offcanvas-actions {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.offcanvas-body {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow-y: auto;
  padding: 1rem;
}

.menu--collapsed .menu-link .offcanvas-body {
      display: none;
    }

/* Size variants (left/right drawers) */

.offcanvas.offcanvas-sm {
  width: 280px;
}

.offcanvas.offcanvas-md {
  width: 400px;
}

.offcanvas.offcanvas-lg {
  width: 560px;
}

.offcanvas.offcanvas-xl {
  width: 720px;
}

/* Size variants (top/bottom drawers) */

.offcanvas.offcanvas-top.offcanvas-sm,
.offcanvas.offcanvas-bottom.offcanvas-sm {
  height: 20%;
  width: 100%;
}

.offcanvas.offcanvas-top.offcanvas-lg,
.offcanvas.offcanvas-bottom.offcanvas-lg {
  height: 50%;
  width: 100%;
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    -webkit-transition: none;
    transition: none;
  }
}

/* Container */

.menu {
  min-height: 100vh;
  width: 100%;
  overflow: hidden;
  background: var(--bg-menu);
  color: var(--text-menu);
  border-color: var(--border-menu);
}

/* Optional modifier: collapsed (icon-only) */

.menu--collapsed {
  width: 4rem;
}

.menu--collapsed .menu-scroll {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.menu--collapsed .menu-link {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.menu--collapsed .menu-link .flex-1 {
      display: none;
    }

/* fallback without extra label class */

.menu--collapsed .menu-badge,
  .menu--collapsed .menu-badge-muted {
    display: none;
  }

/* Header / Branding */

.menu-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  border-bottom-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.menu-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .menu-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.menu-header {
  border-color: var(--border-menu);
}

.menu-brand {
  width: 1.75rem;
  height: 1.75rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 0.375rem;
}

/* Scroller + list */

.menu-scroll {
  width: 100%;
  overflow-y: auto;
  padding: 0.5rem;
}

.menu-list {
  width: 100%;
}

.menu-list > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.menu-item {
  position: relative;
  width: 100%;
}

/* Links / summaries (rows are full width) */

.menu-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.375rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}

.collapse.show.menu-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .menu-link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.menu-link {
  background: transparent;
  outline: 0;
}

.menu-link:hover {
    background: var(--bg-menu-hover);
    color: var(--text-menu-hover);
  }

.menu-link:focus-visible {
    outline: 2px solid var(--focus-menu);
    outline-offset: 2px;
  }

/* Use .menu-toggle (button) as the clickable header for groups */

.menu-toggle {
  width: 100%;
  text-align: left;
}

/* Active route (aria-current) — uses dedicated var */

.menu-link[aria-current="page"] {
  background: var(--bg-menu-active);
}

/* Icons & images */

.menu-icon {
  width: 1.25rem;
  height: 1.25rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: var(--icon-menu);
}

.menu-app {
  width: 1.25rem;
  height: 1.25rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 0.25rem;
}

.menu-chevron {
  width: 1rem;
  height: 1rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 200ms;
  transition-duration: 200ms;
  color: var(--icon-menu-muted);
}

/* Badges */

.menu-badge {
  margin-left: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  min-width: 1.5rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .menu-badge {
  line-height: 1.3;
}

.menu-badge {
  background: var(--bg-badge);
  color: var(--text-badge);
}

.menu-badge-muted {
  margin-right: 0.5rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  min-width: 1.5rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-size: 10px;
  font-weight: 500;
  background: var(--bg-badge-muted);
  color: var(--text-badge-muted);
}

/* Collapsible groups (DIV-based) */

.menu-group { /* container div with [data-collapsible] */
}

.menu-subgroup { /* nested container div with [data-collapsible] */
}

/* Chevron + rotation via .is-open on the container */

.menu-group.is-open > .menu-toggle .menu-chevron,
  .menu-subgroup.is-open > .menu-toggle .menu-chevron {
  --tw-rotate: -90deg;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* Open-state styling (uses dedicated var) */

.menu-group.is-open > .menu-toggle,
  .menu-subgroup.is-open > .menu-toggle {
    background: var(--bg-menu-open);
  }

/* Children levels */

.menu-children {
  margin-top: 0.25rem;
  width: 100%;
}

.menu-children > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.menu-children.level-1 {
  padding-left: 2.5rem;
}

.menu-children.level-2 {
  padding-left: 2rem;
}

/* Optional: the collapsible panel wrapper */

.menu-panel {
  margin-top: 0.25rem;
  width: 100%;
}

/* Sub-links/items (rows are full width) */

.menu-sublink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.collapse.show.menu-sublink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .menu-sublink {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.menu-sublink:hover {
    background: var(--bg-menu-hover);
  }

.menu-subitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.collapse.show.menu-subitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .menu-subitem {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.menu-subitem:hover {
    background: var(--bg-menu-hover);
  }

/* Bullets (dots only) */

.menu-dot {
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 9999px;
  background: var(--bg-menu-dot);
}

.menu-dot-sm {
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 9999px;
  background: var(--bg-menu-dot-muted);
}

/* --- Active classes (primary + secondary) ------------------------------- */

.menu-link.active,
.menu-sublink.active,
.menu-subitem.active {
  background: var(--bg-menu-active);
}

/* Keep active bg on hover */

.menu-link.active:hover,
  .menu-sublink.active:hover,
  .menu-subitem.active:hover {
    background: var(--bg-menu-active);
  }

/* Secondary active: light up the dot for sub-items */

.menu-sublink.active .menu-dot,
  .menu-subitem.active .menu-dot-sm {
    background: var(--bg-menu-dot-active);
  }

/* Optional: mirror dot highlight for aria-current usage */

.menu-sublink[aria-current="page"] .menu-dot,
.menu-subitem[aria-current="page"] .menu-dot-sm {
  background: var(--bg-menu-dot-active);
}

/* Parent “has active child” hint (apply .has-active to the container) */

.menu-group.has-active > .menu-toggle,
.menu-subgroup.has-active > .menu-toggle {
  font-weight: 500;
  background: var(--bg-menu-open);
}

.menu-group.has-active > .menu-toggle .menu-chevron,
  .menu-subgroup.has-active > .menu-toggle .menu-chevron {
    color: var(--icon-menu);
  }

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
  .menu-chevron {
    -webkit-transition-property: none;
    transition-property: none;
  }
}

/* RTL-friendly spacing (optional) */

[dir="rtl"] .menu-badge {
  margin-right: auto;
  margin-left: 0px;
}

[dir="rtl"] .menu-badge-muted {
  margin-left: 0.5rem;
  margin-right: 0px;
}

/* Active subitem: change the dot color */

.menu-sublink.active .menu-dot-sm,
.menu-subitem.active .menu-dot-sm {
  background: var(--bg-menu-dot-active);
}

/* If you use aria-current instead of .active */

.menu-sublink[aria-current="page"] .menu-dot-sm,
.menu-subitem[aria-current="page"] .menu-dot-sm {
  background: var(--bg-menu-dot-active);
}

.top-bar {
  min-height: 40px;
}

/* =========================================================
 * Sidebar (Notion-style) — UPDATED CSS
 * States: collapsed | overlay-open | pinned
 * ========================================================= */

[data-sidebar-role="toggle"] {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.app-shell[data-sidebar-state="pinned"] [data-sidebar-role="toggle"] {
  display: none;
}

/* =========================================
 * State-driven tokens
 * - pinned/collapsed: --bg-sidebar
 * - overlay-open (hover expand): --bg-sidebar-hover
 * ========================================= */

.app-shell {
  --bg-sidebar-panel: var(--bg-sidebar);
}

.app-shell[data-sidebar-state="overlay-open"] {
    --bg-sidebar-panel: var(--bg-sidebar-hover);
  }

/* =========================================
 * Edge hitbox (hover zone)
 * ========================================= */

.sidebar-edge-hitbox {
  position: fixed;
  top: 0px;
  left: 0px;
  height: 100vh;
  width: 0.625rem;
  z-index: 40;
}

.app-shell[data-sidebar-state="pinned"] .sidebar-edge-hitbox,
.app-shell[data-sidebar-state="overlay-open"] .sidebar-edge-hitbox {
  display: none;
}

/* =========================================
 * SIDEBAR LAYOUT COLUMN (controls space)
 * IMPORTANT: prevents layout shift
 * ========================================= */

.app-sidebar {
  position: relative;
  height: 100%;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 0; /* default: sidebar takes NO layout space */
  -webkit-transition: width 260ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: width 260ms cubic-bezier(0.4, 0, 0.2, 1);
}

.app-shell[data-sidebar-state="pinned"] .app-sidebar {
  width: var(--width-sidebar-expanded);
}

.app-shell[data-sidebar-state="collapsed"] .app-sidebar,
.app-shell[data-sidebar-state="overlay-open"] .app-sidebar {
  width: 0;
}

/* =========================================
 * VISUAL PANEL (what you see)
 * ========================================= */

.sidebar-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.sidebar-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .sidebar-panel {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.sidebar-panel {
  width: var(--width-sidebar-expanded);
  background: var(--bg-sidebar-panel);
  border-right: 1px solid var(--border-sidebar);
  color: var(--text-sidebar);
  -webkit-transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1),
              background-color 200ms ease,
              -webkit-transform 260ms cubic-bezier(0.4, 0, 0.2, 1),
              -webkit-box-shadow 200ms ease;
  transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1),
              background-color 200ms ease,
              -webkit-transform 260ms cubic-bezier(0.4, 0, 0.2, 1),
              -webkit-box-shadow 200ms ease;
  transition: transform 260ms cubic-bezier(0.4, 0, 0.2, 1),
              opacity 200ms cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 200ms ease,
              background-color 200ms ease;
  transition: transform 260ms cubic-bezier(0.4, 0, 0.2, 1),
              opacity 200ms cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 200ms ease,
              background-color 200ms ease,
              -webkit-transform 260ms cubic-bezier(0.4, 0, 0.2, 1),
              -webkit-box-shadow 200ms ease;
  min-height: 0;
}

.app-shell[data-sidebar-state="collapsed"] .sidebar-panel {
  position: fixed;
  top: 0px;
  left: 0px;
  height: 100vh;
  -webkit-transform: translateX(calc(var(--width-sidebar-expanded) * -1));
  -ms-transform: translateX(calc(var(--width-sidebar-expanded) * -1));
  transform: translateX(calc(var(--width-sidebar-expanded) * -1));
  opacity: 0;
  pointer-events: none;
  z-index: 60;
}

.app-shell[data-sidebar-state="overlay-open"] .sidebar-panel {
  position: fixed;
  top: 0px;
  left: 0px;
  height: 100vh;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
  z-index: 60;
}

.app-shell[data-sidebar-state="pinned"] .sidebar-panel {
  position: relative;
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}

/* =========================================
 * Sidebar content container
 * ========================================= */

.sidebar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.sidebar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .sidebar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.sidebar {
  min-height: 0;
}

/* =========================================
 * Sidebar Header
 * ========================================= */

.sidebar-top {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background: var(--bg-sidebar-header);
  border-bottom: 1px solid var(--border-sidebar-divider);
  /* Match app-chrome + app-frame border-top so borders align */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: calc(var(--height-chrome, 51px) + 1px);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.sidebar-top-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 2rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.sidebar-top-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .sidebar-top-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.sidebar-workspace {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.625rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.collapse.show.sidebar-workspace {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.menu--collapsed .menu-link .sidebar-workspace {
      display: none;
    }

@media (max-width: 420px) {
  .ach-card > .sidebar-workspace {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.sidebar-workspace-avatar {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 1.5rem;
  width: 1.5rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
}

.wizard-card--trait .sidebar-workspace-avatar {
  line-height: 1.3;
}

.sidebar-workspace-avatar {
  background: var(--bg-sidebar-avatar);
  color: var(--text-sidebar);
}

.sidebar-workspace-name {
  min-width: 0px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: var(--text-sidebar);
}

.sidebar-top-actions {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.sidebar-icon-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 1.75rem;
  width: 1.75rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.5rem;
  border-width: 0px;
  background: transparent;
  color: var(--text-sidebar-muted);
}

.sidebar-icon-btn:hover {
    background: var(--bg-sidebar-item-hover);
    color: var(--text-sidebar);
  }

/* =========================================
 * Pin / Collapse visibility rules
 * ========================================= */

[data-sidebar-role="pin"],
[data-sidebar-role="collapse"] {
  display: none;
}

.app-shell[data-sidebar-state="overlay-open"] [data-sidebar-role="pin"],
.app-shell[data-sidebar-state="overlay-open"] [data-sidebar-role="collapse"] {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.app-shell[data-sidebar-state="pinned"] [data-sidebar-role="collapse"] {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

/* =========================================
 * Scroll container
 * ========================================= */

.sidebar-body {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow-y: auto;
  padding: 0.625rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.menu--collapsed .menu-link .sidebar-body {
      display: none;
    }

.sidebar-body {
  min-height: 0;
}

/* =========================================
 * Sections
 * ========================================= */

.sidebar-section {
  margin-bottom: 0.625rem;
}

.sidebar-section-title {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--text-sidebar-subtle);
}

.sidebar-divider {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  margin-left: 0.75rem;
  margin-right: 0.75rem;
  height: 1px;
  background: var(--border-sidebar-divider);
}

/* =========================================
 * Lists
 * ========================================= */

.sidebar-list,
.sidebar-sublist {
  margin: 0px;
  list-style-type: none;
  padding-left: 0px;
  padding-right: 0px;
}

/* =========================================
 * Items (parent)
 * ========================================= */

.sidebar-item {
  display: grid;
  height: 2rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  text-decoration-line: none;
  color: var(--text-sidebar-muted);
  grid-template-columns: 1rem 1fr auto;
}

.sidebar-item:hover {
    background: var(--bg-sidebar-item-hover);
    color: var(--text-sidebar);
  }

.sidebar-item.active {
    background: var(--bg-sidebar-item-active);
    color: var(--text-sidebar);
  }

/* =========================================
 * Subitems (full-width hover, inset content)
 * ========================================= */

.sidebar-sublist {
  margin-top: 0.25rem;
}

.sidebar-subitem {
  display: block;
  height: 1.75rem;
  white-space: nowrap;
  border-radius: 0.5rem;
  padding-left: 1.5rem;
  padding-right: 0.75rem;
  text-decoration-line: none;
  color: var(--text-sidebar-muted);
}

.sidebar-subitem:hover {
    background: var(--bg-sidebar-item-hover);
    color: var(--text-sidebar);
  }

.sidebar-subitem.active {
  background: var(--bg-sidebar-item-active);
  color: var(--text-sidebar);
}

.sidebar-subitem.active .sidebar-subitem-dot {
  background: var(--bg-sidebar-dot-active);
}

.sidebar-subitem-inner {
  display: grid;
  height: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  grid-template-columns: 0.625rem 1fr;
}

/* =========================================
 * Icons & labels
 * ========================================= */

.sidebar-item-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 1rem;
  width: 1rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: var(--text-sidebar-subtle);
}

.sidebar-item-label,
.sidebar-subitem-label {
  overflow: hidden;
  text-overflow: ellipsis;
}

/* =========================================
 * Dots
 * ========================================= */

.sidebar-item-dot {
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 9999px;
  background: var(--bg-sidebar-dot-muted);
}

.sidebar-subitem-dot {
  width: 0.25rem;
  height: 0.25rem;
  justify-self: center;
  border-radius: 9999px;
  background: var(--bg-sidebar-dot-muted);
}

.dot-muted {
  background: var(--bg-sidebar-dot-muted);
}

.dot-active {
  background: var(--bg-sidebar-dot-active);
}

/* =========================================
 * Expandable group
 * ========================================= */

.sidebar-group-toggle {
  width: 100%;
  cursor: pointer;
  border-width: 0px;
  text-align: left;
  background: transparent;
}

.sidebar-item-end {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 1rem;
  width: 1rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: var(--text-sidebar-subtle);
}

.sidebar-caret {
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
}

.sidebar-group-toggle[aria-expanded="true"] .sidebar-caret {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.sidebar-submenu {
  margin-top: 0.25rem;
}

/* Submenu label aligned to parent text column */

.sidebar-submenu-label {
  padding-left: 2.25rem;
  padding-right: 2.25rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 400;
  color: var(--text-sidebar-subtle);
}

/* =========================================
 * Footer
 * ========================================= */

.sidebar-footer {
  padding: 0.5rem;
  border-top: 1px solid var(--border-sidebar-divider);
}

.sidebar-footer .sidebar-item {
  height: 2.25rem;
}

/* =========================================
 * Scrollbar polish
 * ========================================= */

.sidebar-body::-webkit-scrollbar {
  width: 8px;
}

.sidebar-body::-webkit-scrollbar-thumb {
  background: var(--scroll-thumb);
  border-radius: 8px;
}

.sidebar-body::-webkit-scrollbar-track {
  background: transparent;
}

/* ==========================================================================
   Component: Vertical Stepper
   A vertical variant of the stepper-bar for sidebar navigation.
   Mirrors the horizontal stepper's numbered circles, progress track,
   sub-step dots, and active/completed states — but oriented vertically.

   The progress track runs vertically below the number circle.
   Sub-step dots are inset to the right of the track, not overlapping it.

   Markup:
     <nav class="stepper-v">
       <div class="stepper-v__group [is-active] [is-completed]">
         <div class="stepper-v__header">
           <span class="stepper-v__number">1</span>
           <span class="stepper-v__title">Section name</span>
         </div>
         <div class="stepper-v__body">
           <div class="stepper-v__track"><div class="stepper-v__fill"></div></div>
           <div class="stepper-v__items">
             <button class="stepper-v__link [is-active] [is-completed]">Sub item</button>
           </div>
         </div>
       </div>
     </nav>
   ========================================================================== */

.stepper-v {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.25rem;
}

.collapse.show.stepper-v {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .stepper-v {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ── Group ── */

.stepper-v__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.stepper-v__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .stepper-v__group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ── Header: number + title (clickable row) ── */

.stepper-v__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
}

.collapse.show.stepper-v__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .stepper-v__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.stepper-v__header {
  padding: 4px 6px 4px 4px;
  margin: 0 -4px;
  -webkit-transition: background-color 0.12s ease;
  transition: background-color 0.12s ease;
}

.stepper-v__header:hover {
  background-color: var(--bg-button-secondary-hover, var(--utility-neutral-100));
}

.stepper-v__number {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 600;
  width: 20px;
  height: 20px;
  background-color: var(--utility-neutral-200);
  color: var(--text-tertiary);
  -webkit-transition: background-color 0.15s ease, color 0.15s ease;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.stepper-v__title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .stepper-v__title {
  line-height: 1.3;
}

.stepper-v__title {
  color: var(--text-tertiary);
  -webkit-transition: color 0.15s ease;
  transition: color 0.15s ease;
}

/* ── Body: vertical track on left, items on right ── */

.stepper-v__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.collapse.show.stepper-v__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .stepper-v__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.stepper-v__body {
  /* Number circle is 20px, header padding-left is 4px, header margin is -4px.
     Circle center = 4px (header pad) + 10px (half circle) - 4px (margin) = 10px from group edge.
     Track is 2px wide → left edge at 10 - 1 = 9px from group edge. */
  padding-left: 9px;
  gap: 0;
}

/* ── Vertical track (centered below number) ── */

.stepper-v__track {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 9999px;
  width: 2px;
  background-color: var(--utility-neutral-200);
  margin: 2px 0;
}

.stepper-v__fill {
  width: 100%;
  border-radius: 9999px;
  height: var(--stepper-v-progress, 0%);
  background-color: var(--utility-neutral-400);
  -webkit-transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Sub-step links (stacked, with inline dot) ── */

.stepper-v__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0px;
}

.collapse.show.stepper-v__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.menu--collapsed .menu-link .stepper-v__items {
      display: none;
    }

@media (max-width: 420px) {
  .ach-card > .stepper-v__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.stepper-v__items {
  padding-left: 8px;
}

.stepper-v__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  text-align: left;
  font-size: 0.75rem;
  line-height: 1rem;
}

.collapse.show.stepper-v__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .stepper-v__link {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .stepper-v__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.stepper-v__link {
  padding: 5px 8px 5px 6px;
  border-radius: 6px;
  color: var(--text-quaternary);
  -webkit-transition: color 0.12s ease, background-color 0.12s ease;
  transition: color 0.12s ease, background-color 0.12s ease;
  border: none;
  background: none;
}

.stepper-v__link:hover {
  color: var(--text-primary);
  background-color: var(--bg-button-secondary-hover, var(--utility-neutral-100));
}

/* Dot before each sub-step (inline, not overlapping the track) */

.stepper-v__link::before {
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: var(--utility-neutral-300);
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

/* ══════════════════════════════════════════════════════════════
   States
   ══════════════════════════════════════════════════════════════ */

/* ── Active group ── */

.stepper-v__group.is-active .stepper-v__number {
  background-color: var(--text-primary);
  color: white;
}

.stepper-v__group.is-active .stepper-v__title {
  color: var(--text-primary);
}

.stepper-v__group.is-active .stepper-v__fill {
  background-color: var(--text-primary);
}

.stepper-v__group.is-active .stepper-v__link {
  color: var(--text-tertiary);
}

.stepper-v__group.is-active .stepper-v__link:hover {
  color: var(--text-primary);
}

/* ── Completed group ── */

.stepper-v__group.is-completed .stepper-v__number {
  background-color: var(--utility-emerald-600);
  color: white;
}

.stepper-v__group.is-completed .stepper-v__title {
  color: var(--text-secondary);
}

.stepper-v__group.is-completed .stepper-v__fill {
  height: 100%;
  background-color: var(--utility-emerald-500);
}

.stepper-v__group.is-completed .stepper-v__link {
  color: var(--text-tertiary);
}

/* ── Active sub-step ── */

.stepper-v__link.is-active {
  color: var(--text-primary);
  font-weight: 600;
  background-color: var(--bg-button-secondary-hover, var(--utility-neutral-100));
}

.stepper-v__link.is-active::before {
  background-color: var(--text-primary);
}

/* ── Completed sub-step — green dot ── */

.stepper-v__link.is-completed::before {
  background-color: var(--utility-emerald-600);
}

/* ==========================================================================
   TABS — FULL UPDATED CSS (token-aligned)
   - Fixes token name mismatches (-hover/-active)
   - Removes direct --text-primary usage (routes through tab tokens)
   - Adds/uses Tab Browser tokens (expects you defined them in theme)
   ========================================================================== */

/* === Default Tabs === */

.nav-tabs {
  margin-bottom: -1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.nav-tabs > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}

.nav-tabs {
  overflow-x: auto;
  border-bottom-width: 1px;
  padding-top: 0.5rem;
  --scrollbar-track: initial;
  --scrollbar-thumb: initial;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
  overflow: overlay;
}

.nav-tabs.overflow-x-hidden {
  overflow-x: hidden;
}

.nav-tabs.overflow-y-hidden {
  overflow-y: hidden;
}

.nav-tabs::-webkit-scrollbar-track {
  background-color: var(--scrollbar-track);
}

.nav-tabs::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb);
}

.nav-tabs {
  scrollbar-width: auto;
}

.nav-tabs::-webkit-scrollbar {
  width: 16px;
  height: 16px;
}

.nav-tabs {
  --scrollbar-track: initial;
  --scrollbar-thumb: initial;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
  overflow: overlay;
}

.nav-tabs.overflow-x-hidden {
  overflow-x: hidden;
}

.nav-tabs.overflow-y-hidden {
  overflow-y: hidden;
}

.nav-tabs::-webkit-scrollbar-track {
  background-color: var(--scrollbar-track);
}

.nav-tabs::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb);
}

.nav-tabs {
  scrollbar-width: thin;
}

.nav-tabs::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.collapse.show.nav-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .nav-tabs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.nav-tabs {
  border-color: var(--border-tab);
  background-color: var(--bg-tab);
}

.nav-tabs > .nav-item {
    background-color: var(--bg-tab);
  }

.nav-tabs .nav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-left-width: 0px;
  border-right-width: 0px;
  border-top-width: 0px;
  border-bottom-width: 2px;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.125rem;
  padding-right: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.collapse.show.nav-tabs .nav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .nav-tabs .nav-link {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .nav-tabs .nav-link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.nav-tabs .nav-link {
    color: var(--text-tab);
    border-color: var(--border-tab);
    background-color: var(--bg-tab);
  }

.nav-tabs .nav-link:hover {
      color: var(--text-tab-hover);
      border-color: var(--border-tab-hover);
      background-color: var(--bg-tab-hover);
    }

.nav-tabs .nav-link.active {
      color: var(--text-tab-active);
      border-color: var(--border-tab-active);
    }

/* Badge inside tabs */

.nav-tabs .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  margin-left: 0.125rem;
  font-weight: 500;
    color: var(--text-tab-badge);
}

/* === Ribbon Tabs === */

.nav-tabs-ribbon {
  width: 100%;
  border-radius: 0.5rem;
  border-width: 1px;
  background-color: var(--bg-tab-ribbon);
  border-color: var(--border-tab-ribbon);
}

.nav-tabs-ribbon .nav-tabs {
  margin: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.nav-tabs-ribbon .nav-tabs > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(-1px * var(--tw-space-x-reverse));
  margin-left: calc(-1px * calc(1 - var(--tw-space-x-reverse)));
}

.nav-tabs-ribbon .nav-tabs {
  overflow-x: auto;
  border-width: 0px;
  padding: 0px;
  --scrollbar-track: initial;
  --scrollbar-thumb: initial;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
  overflow: overlay;
}

.nav-tabs-ribbon .nav-tabs.overflow-x-hidden {
  overflow-x: hidden;
}

.nav-tabs-ribbon .nav-tabs.overflow-y-hidden {
  overflow-y: hidden;
}

.nav-tabs-ribbon .nav-tabs::-webkit-scrollbar-track {
  background-color: var(--scrollbar-track);
}

.nav-tabs-ribbon .nav-tabs::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb);
}

.nav-tabs-ribbon .nav-tabs {
  scrollbar-width: auto;
}

.nav-tabs-ribbon .nav-tabs::-webkit-scrollbar {
  width: 16px;
  height: 16px;
}

.nav-tabs-ribbon .nav-tabs {
  --scrollbar-track: initial;
  --scrollbar-thumb: initial;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
  overflow: overlay;
}

.nav-tabs-ribbon .nav-tabs.overflow-x-hidden {
  overflow-x: hidden;
}

.nav-tabs-ribbon .nav-tabs.overflow-y-hidden {
  overflow-y: hidden;
}

.nav-tabs-ribbon .nav-tabs::-webkit-scrollbar-track {
  background-color: var(--scrollbar-track);
}

.nav-tabs-ribbon .nav-tabs::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb);
}

.nav-tabs-ribbon .nav-tabs {
  scrollbar-width: thin;
}

.nav-tabs-ribbon .nav-tabs::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.collapse.show.nav-tabs-ribbon .nav-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .nav-tabs-ribbon .nav-tabs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.nav-tabs-ribbon .nav-tabs {
    background-color: transparent;
  }

.nav-tabs-ribbon .nav-item {
  border-radius: 0.375rem;
  padding: 0.125rem;
  padding-left: 0.125rem;
  padding-right: 0.125rem;
    background-color: var(--bg-tab-ribbon-item);
}

.nav-tabs-ribbon .nav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 0.375rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 7px;
  padding-bottom: 6px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
}

.collapse.show.nav-tabs-ribbon .nav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .nav-tabs-ribbon .nav-link {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .nav-tabs-ribbon .nav-link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.nav-tabs-ribbon .nav-link {
    color: var(--text-tab);
    background-color: var(--bg-tab-ribbon-item);
    border: none;
    -webkit-transition: color 0.15s ease, background-color 0.15s ease;
    transition: color 0.15s ease, background-color 0.15s ease;
  }

.nav-tabs-ribbon .nav-link:hover {
      color: var(--text-tab-ribbon);
      background-color: var(--bg-tab-ribbon-hover);
      border-color: var(--border-tab-ribbon);
    }

.nav-tabs-ribbon .nav-link.active {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
      color: var(--text-tab-ribbon-active);
      background-color: var(--bg-tab-ribbon-active);
}

/* === Ribbon Pill variant === */

.nav-tabs-ribbon--pill {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: auto;
  border-radius: 9999px;
  border-width: 0px;
  padding: 3px;
}

.nav-tabs-ribbon--pill .nav-tabs {
  position: relative;
  gap: 0.125rem;
  overflow: visible;
}

.nav-tabs-ribbon--pill .nav-item {
  border-radius: 9999px;
  padding: 0px;
}

.nav-tabs-ribbon--pill .nav-link {
  position: relative;
  border-radius: 9999px;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
    padding: 6px 16px;
    z-index: 1;
}

.nav-tabs-ribbon--pill .nav-link.active {
  font-weight: 500;
    background-color: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
}

/* Sliding pill indicator */

.nav-tabs-pill-indicator {
  position: absolute;
  border-radius: 9999px;
  top: 0;
  left: 0;
  height: 100%;
  background-color: var(--bg-tab-ribbon-active);
  -webkit-box-shadow: var(--shadow-sm);
  box-shadow: var(--shadow-sm);
  -webkit-transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1),
              -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1),
              -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
              width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
              width 0.25s cubic-bezier(0.4, 0, 0.2, 1),
              -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .nav-tabs-pill-indicator {
    -webkit-transition: none;
    transition: none;
  }
}

/* === View Switcher — compact icon toggle for toolbars === */

.view-switcher {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2px;
  border-radius: 9999px;
  border-width: 1px;
  padding: 2px;
  background-color: var(--bg-tab-ribbon);
  border-color: var(--border-tab-ribbon);
}

.view-switcher__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.75rem;
  line-height: 1rem;
  line-height: 1;
  text-decoration-line: none;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
}

.collapse.show.view-switcher__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .view-switcher__btn {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .view-switcher__btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.view-switcher__btn {
  width: 26px;
  height: 26px;
  color: var(--text-tab);
}

.view-switcher__btn:hover {
  color: var(--text-tab-ribbon);
  background-color: var(--bg-tab-ribbon-hover);
}

.view-switcher__btn.is-active {
  color: var(--text-tab-ribbon-active);
  background-color: var(--bg-tab-ribbon-active);
  -webkit-box-shadow: var(--shadow-sm);
  box-shadow: var(--shadow-sm);
}

/* === Vertical Menu Tabs === */

.nav-tabs-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.nav-tabs-menu > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.collapse.show.nav-tabs-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .nav-tabs-menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.nav-tabs-menu > .nav-item {
    background-color: var(--alpha-0);
  }

.nav-tabs-menu .nav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
  border-radius: 0.375rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  font-size: 0.875rem;
  line-height: 1.5rem;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.collapse.show.nav-tabs-menu .nav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .nav-tabs-menu .nav-link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.nav-tabs-menu .nav-link {
    color: var(--text-tab-menu);
  }

.nav-tabs-menu .nav-link:hover {
  cursor: pointer;
      color: var(--text-tab-menu-hover);
      background-color: var(--bg-tab-menu-hover);
}

.nav-tabs-menu .nav-link.active {
      color: var(--text-tab-menu-active);
      background-color: var(--bg-tab-menu-active);
    }

.nav-tabs-menu .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  margin-left: 0.125rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 3px;
  padding-bottom: 3px;
  font-size: 0.625rem;
  line-height: 0.875rem;
    color: var(--text-tab-badge);
}

/* === Tab Content === */

.tab-content .tab-pane {
  display: none;
}

.tab-content .tab-pane.show.active {
  display: block;
}

/* === Tab Content as Flex Region ===
   When .tab-content carries .panel-body it is used as a height-filling
   region inside flex column containers (modal-container, container-panel,
   ps-frame, etc.).  The active pane becomes a flex column so internal
   layouts — split-pane, toolbar + table, ps-frame — stretch correctly.
   Simple content (e.g. form fields) scrolls via overflow-y on the pane. */

.tab-content.panel-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.tab-content.panel-body > .tab-pane {
    display: none;
  }

.tab-content.panel-body > .tab-pane.show.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
  }

/* === Tab Browser Wrapper === */

.tab-browser {
  width: 100%;
  border-left-width: 0px;
  border-right-width: 0px;
  border-bottom-width: 1px;
  border-top-width: 0px;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .tab-browser {
  line-height: 1.3;
}

.tab-browser {
  background-color: var(--bg-tab-browser);
  border-color: var(--border-tab-browser);
}

.tab-browser .tab-browser-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.collapse.show.tab-browser .tab-browser-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .tab-browser .tab-browser-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.tab-browser .tab-browser-scroll {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow-x: auto;
  --scrollbar-track: initial;
  --scrollbar-thumb: initial;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
  overflow: overlay;
}

.tab-browser .tab-browser-scroll.overflow-x-hidden {
  overflow-x: hidden;
}

.tab-browser .tab-browser-scroll.overflow-y-hidden {
  overflow-y: hidden;
}

.tab-browser .tab-browser-scroll::-webkit-scrollbar-track {
  background-color: var(--scrollbar-track);
}

.tab-browser .tab-browser-scroll::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb);
}

.tab-browser .tab-browser-scroll {
  scrollbar-width: auto;
}

.tab-browser .tab-browser-scroll::-webkit-scrollbar {
  width: 16px;
  height: 16px;
}

.tab-browser .tab-browser-scroll {
  --scrollbar-track: initial;
  --scrollbar-thumb: initial;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
  overflow: overlay;
}

.tab-browser .tab-browser-scroll.overflow-x-hidden {
  overflow-x: hidden;
}

.tab-browser .tab-browser-scroll.overflow-y-hidden {
  overflow-y: hidden;
}

.tab-browser .tab-browser-scroll::-webkit-scrollbar-track {
  background-color: var(--scrollbar-track);
}

.tab-browser .tab-browser-scroll::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb);
}

.tab-browser .tab-browser-scroll {
  scrollbar-width: thin;
}

.tab-browser .tab-browser-scroll::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.menu--collapsed .menu-link .tab-browser .tab-browser-scroll {
      display: none;
    }

.tab-browser .tab-browser-strip {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow: hidden;
}

.menu--collapsed .menu-link .tab-browser .tab-browser-strip {
      display: none;
    }

.tab-browser .tab-browser-strip .btn-tab-close {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  margin-right: -0.25rem;
  margin-left: auto;
}

.tab-browser .nav-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.tab-browser .nav-tabs > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(-1px * var(--tw-space-x-reverse));
  margin-left: calc(-1px * calc(1 - var(--tw-space-x-reverse)));
}

.collapse.show.tab-browser .nav-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .tab-browser .nav-tabs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.tab-browser .nav-item {
  min-width: 80px;
  border-radius: 0.375rem;
  padding: 0.125rem;
    background-color: var(--bg-tab-browser-item);
}

.tab-browser .nav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 0.375rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 7px;
  padding-bottom: 6px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.collapse.show.tab-browser .nav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .tab-browser .nav-link {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .tab-browser .nav-link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.tab-browser .nav-link:hover {
  cursor: pointer;
}

.tab-browser .nav-link {
    color: var(--text-tab-browser);
    background-color: var(--bg-tab-browser-item);
    border: none;
  }

.tab-browser .tab-browser-strip .nav-link {
  border-radius: 0.25rem;
}

.tab-browser .nav-link:hover {
    color: var(--text-tab-browser-hover);
    background-color: var(--bg-tab-browser-hover);
    border-color: var(--border-tab-browser-hover);
  }

.tab-browser .nav-link.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  border-radius: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.collapse.show.tab-browser .nav-link.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .tab-browser .nav-link.active {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .tab-browser .nav-link.active {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.tab-browser .nav-link.active {
    color: var(--text-tab-browser-active);
    background-color: var(--bg-tab-browser-active);
  }

.tab-browser .tab-browser-strip .nav-link.active {
  border-radius: 0.25rem;
}

.tab-browser-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.collapse.show.tab-browser-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .tab-browser-actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.tab-browser .badge {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
  margin-left: 0.125rem;
  font-weight: 500;
  color: var(--text-tab-badge);
}

/* Divider between tab strip and actions (optional) */

.tab-browser .tab-browser-inner .nav-tabs-divider {
  -ms-flex-item-align: stretch;
  align-self: stretch;
  padding-left: 1px;
  padding-right: 1px;
}

.tab-browser .tab-browser-inner .nav-tabs-divider .tab-divider {
  height: 100%;
  width: 1px;
    background-color: var(--bg-tab-browser-divider);
}

/* ==========================================================================
   TAB INDICATOR — sliding pill for ribbon / view-switcher / tab-browser
   ========================================================================== */

.tab-indicator {
  pointer-events: none;
  position: absolute;
  z-index: 0;
  opacity: 0;
  -webkit-transition:
    left 250ms cubic-bezier(0.4, 0, 0.2, 1),
    top 250ms cubic-bezier(0.4, 0, 0.2, 1),
    width 250ms cubic-bezier(0.4, 0, 0.2, 1),
    height 250ms cubic-bezier(0.4, 0, 0.2, 1),
    opacity 150ms ease;
  transition:
    left 250ms cubic-bezier(0.4, 0, 0.2, 1),
    top 250ms cubic-bezier(0.4, 0, 0.2, 1),
    width 250ms cubic-bezier(0.4, 0, 0.2, 1),
    height 250ms cubic-bezier(0.4, 0, 0.2, 1),
    opacity 150ms ease;
}

.tab-indicator--pill {
  border-radius: 0.375rem;
  background-color: var(--bg-tab-indicator, var(--bg-tab-ribbon-active));
  -webkit-box-shadow: var(--shadow-tab-indicator, var(--shadow-sm));
  box-shadow: var(--shadow-tab-indicator, var(--shadow-sm));
}

.nav-tabs-ribbon--pill > .tab-indicator--pill {
  border-radius: 9999px;
}

.view-switcher > .tab-indicator--pill {
  border-radius: 9999px;
  background-color: var(--bg-tab-indicator, var(--bg-tab-ribbon-active));
}

/* When indicator is present, hide per-item active backgrounds */

.nav-tabs-ribbon:has(> .tab-indicator--pill) .nav-link.active,
.nav-tabs-ribbon--pill:has(> .tab-indicator--pill) .nav-link.active {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.view-switcher:has(> .tab-indicator--pill) .view-switcher__btn.is-active {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.tab-browser .nav-tabs:has(> .tab-indicator--pill) .nav-link.active {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}

/* Ensure nav-links sit above the indicator */

.nav-tabs-ribbon .nav-link,
.nav-tabs-ribbon .nav-item,
.view-switcher .view-switcher__btn,
.tab-browser .nav-link,
.tab-browser .nav-item {
  position: relative;
  z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  .tab-indicator {
    -webkit-transition: none;
    transition: none;
  }
}

/* ==========================================================================
   TAB PANE — fade transition
   ========================================================================== */

.tab-content .tab-pane.fade {
  opacity: 0;
  -webkit-transition: opacity 150ms ease;
  transition: opacity 150ms ease;
}

.tab-content .tab-pane.fade.show {
  opacity: 1;
}

.tab-content.panel-body > .tab-pane.fade:not(.show.active) {
  /* Keep display:none but allow opacity transition on show */
  opacity: 0;
}

.tab-content.panel-body > .tab-pane.fade.show.active {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .tab-content .tab-pane.fade {
    -webkit-transition: none;
    transition: none;
  }
}

/* =========================================================
 * Toolbar — Component CSS
 * Patterns supported:
 * - Left / center / right regions
 * - Icon button groups + dividers
 * - Optional title + meta
 * - Search slot + filters
 * - Primary action button slot
 * - Dense variant
 * - Sticky variant
 * Accessibility:
 * - role="toolbar", aria-label
 * - buttons have aria-label, aria-pressed for toggles
 * ========================================================= */

/* Wrapper */

.toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.5rem;
  border-bottom-width: 1px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .toolbar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.toolbar {
  background: var(--bg-toolbar);
  border-color: var(--border-toolbar);
  color: var(--text-toolbar);
}

/* Optional variants */

.toolbar--dense {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.toolbar--sticky {
  position: sticky;
  top: 0px;
  z-index: 40;
}

/* Regions */

.toolbar-left,
.toolbar-center,
.toolbar-right {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  min-width: 0px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.toolbar-center {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.menu--collapsed .menu-link .toolbar-center {
      display: none;
    }

.toolbar-right {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

/* Title block (optional) */

.toolbar-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.toolbar-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .toolbar-title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.toolbar-title-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-toolbar-strong);
}

.toolbar-title-meta {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .toolbar-title-meta {
  line-height: 1.3;
}

.toolbar-title-meta {
  color: var(--text-toolbar-muted);
}

/* Groups */

.toolbar-group {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.toolbar-group--pills {
  border-radius: 0.5rem;
  padding: 0.25rem;
  background: var(--bg-toolbar-group);
  border: 1px solid var(--border-toolbar-group);
}

/* Divider */

.toolbar-divider {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
  width: 1px;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  background: var(--border-toolbar-divider);
}

/* Buttons */

.toolbar-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 2rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  background: var(--bg-toolbar-btn);
  color: var(--text-toolbar);
  border: 1px solid var(--border-toolbar-btn);
}

.toolbar-btn:hover {
    background: var(--bg-toolbar-btn-hover);
    color: var(--text-toolbar-hover);
    border-color: var(--border-toolbar-btn-hover);
  }

.toolbar-btn:active {
    background: var(--bg-toolbar-btn-active);
  }

.toolbar-btn:focus-visible {
    outline: 2px solid var(--focus-toolbar);
    outline-offset: 2px;
  }

/* Icon-only button */

.toolbar-iconbtn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 2rem;
  width: 2rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.375rem;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  background: var(--bg-toolbar-btn);
  color: var(--icon-toolbar);
  border: 1px solid var(--border-toolbar-btn);
}

.toolbar-iconbtn:hover {
    background: var(--bg-toolbar-btn-hover);
    color: var(--icon-toolbar-hover);
    border-color: var(--border-toolbar-btn-hover);
  }

.toolbar-iconbtn:active {
    background: var(--bg-toolbar-btn-active);
  }

.toolbar-iconbtn:focus-visible {
    outline: 2px solid var(--focus-toolbar);
    outline-offset: 2px;
  }

/* Toggle state (for icon buttons or normal buttons) */

.toolbar-btn[aria-pressed="true"],
  .toolbar-iconbtn[aria-pressed="true"] {
    background: var(--bg-toolbar-btn-selected);
    border-color: var(--border-toolbar-btn-selected);
    color: var(--text-toolbar-strong);
  }

/* Disabled */

.toolbar-btn:disabled,
  .toolbar-iconbtn:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* Button label text (optional span) */

.toolbar-btn-label {
  white-space: nowrap;
}

/* Badge (optional) */

.toolbar-badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  min-width: 1.25rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-size: 10px;
  font-weight: 500;
  background: var(--bg-toolbar-badge);
  color: var(--text-toolbar-badge);
}

/* Inputs (optional search/filter slots) */

.toolbar-input {
  height: 2rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  outline: 2px solid transparent;
  outline-offset: 2px;
  background: var(--bg-toolbar-input);
  border-color: var(--border-toolbar-input);
  color: var(--text-toolbar);
}

.toolbar-input::-webkit-input-placeholder {
    color: var(--text-toolbar-muted);
  }

.toolbar-input::-moz-placeholder {
    color: var(--text-toolbar-muted);
  }

.toolbar-input:-ms-input-placeholder {
    color: var(--text-toolbar-muted);
  }

.toolbar-input::-ms-input-placeholder {
    color: var(--text-toolbar-muted);
  }

.toolbar-input::placeholder {
    color: var(--text-toolbar-muted);
  }

.toolbar-input:focus-visible {
    outline: 2px solid var(--focus-toolbar);
    outline-offset: 2px;
  }

/* Select (optional) */

.toolbar-select {
  height: 2rem;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  outline: 2px solid transparent;
  outline-offset: 2px;
  background: var(--bg-toolbar-input);
  border-color: var(--border-toolbar-input);
  color: var(--text-toolbar);
}

/* Spacing helpers for icons */

.toolbar-icon {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: currentColor;
}

/* Responsive: wrap if needed */

.toolbar--wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

/* Root tray container */

.tray {
  pointer-events: none;
  visibility: hidden;
  position: fixed;
  inset: 0px;
  z-index: 50;
}

/* Overlay */

.tray-overlay {
  position: absolute;
  inset: 0px;
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
  -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  background-color: var(--bg-tray-overlay);
  pointer-events: none;
}

/* Panel */

.tray-panel {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 200ms;
  transition-duration: 200ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.collapse.show.tray-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .tray-panel {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.tray-panel {
  background-color: var(--bg-tray);
  color: var(--text-tray);
  border: 1px solid var(--border-tray);
  /* slide logic via custom props */
  --tray-translate-x: 0%;
  --tray-translate-y: 0%;
  -webkit-transform: translateX(var(--tray-translate-x)) translateY(var(--tray-translate-y));
  -ms-transform: translateX(var(--tray-translate-x)) translateY(var(--tray-translate-y));
  transform: translateX(var(--tray-translate-x)) translateY(var(--tray-translate-y));
}

/* Open state */

.tray.active {
  pointer-events: auto;
  visibility: visible;
}

.tray.active .tray-overlay {
  opacity: 1;
    pointer-events: auto;
}

.tray.active .tray-panel {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    --tray-translate-x: 0%;
    --tray-translate-y: 0%;
}

/* Directions -------------------------------------------------- */

.tray-left .tray-panel {
  top: 0px;
  bottom: 0px;
  left: 0px;
  border-radius: 0px;
  --tray-translate-x: -100%;
  --tray-translate-y: 0%;
}

.tray-right .tray-panel {
  top: 0px;
  bottom: 0px;
  right: 0px;
  border-radius: 0px;
  --tray-translate-x: 100%;
  --tray-translate-y: 0%;
}

.tray-top .tray-panel {
  left: 0px;
  right: 0px;
  top: 0px;
  border-radius: 0px;
  --tray-translate-x: 0%;
  --tray-translate-y: -100%;
}

.tray-bottom .tray-panel {
  left: 0px;
  right: 0px;
  bottom: 0px;
  border-radius: 0px;
  --tray-translate-x: 0%;
  --tray-translate-y: 100%;
}

/* Sizes ------------------------------------------------------- */

.tray-left .tray-panel,
.tray-right .tray-panel {
  width: 100%;
  max-width: 100%;
}

.tray-full .tray-panel {
  border-radius: 0px;
}

.tray-full.tray-left .tray-panel,
.tray-full.tray-right .tray-panel {
  width: 100%;
}

.tray-full.tray-top .tray-panel,
.tray-full.tray-bottom .tray-panel {
  height: 100%;
}

.tray-sm.tray-top .tray-panel,
.tray-sm.tray-bottom .tray-panel {
  height: 12rem;
}

.tray-md.tray-top .tray-panel,
.tray-md.tray-bottom .tray-panel {
  height: 18rem;
}

.tray-lg.tray-top .tray-panel,
.tray-lg.tray-bottom .tray-panel {
  height: 24rem;
}

/* Desktop widths for left/right */

@media (min-width: 640px) {
  .tray-sm.tray-left .tray-panel,
  .tray-sm.tray-right .tray-panel {
    width: 18rem;
  }

  .tray-md.tray-left .tray-panel,
  .tray-md.tray-right .tray-panel {
    width: 24rem;
  }

  .tray-lg.tray-left .tray-panel,
  .tray-lg.tray-right .tray-panel {
    width: 32rem;
  }

  .tray-left:not(.tray-full) .tray-panel {
    border-radius: 0px;
  }

  .tray-right:not(.tray-full) .tray-panel {
    border-radius: 0px;
  }
}

/* CONTAINED VARIANT ------------------------------------------- */

/* Scopes the tray to a relative parent instead of the viewport. */

/* Parent must have position: relative and overflow: hidden.      */

.tray.tray-contained {
  position: absolute;
  z-index: 30;
}

/* NO OVERLAY VARIANT ------------------------------------------ */

.tray-no-overlay .tray-overlay {
  background-color: transparent;
  opacity: 0 !important;
  pointer-events: none !important;
}

.tray-no-overlay.active {
  pointer-events: none;
}

.tray-no-overlay.active .tray-panel {
    pointer-events: auto;
  }

/* Tray inner layout ------------------------------------------- */

.tray-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.tray-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .tray-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.tray-header {
  background-color: var(--bg-tray-header);
  border-bottom: 1px solid var(--border-tray-divider);
}

.tray-title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: var(--text-tray-heading);
}

.tray-subtitle {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .tray-subtitle {
  line-height: 1.3;
}

.tray-subtitle {
  color: var(--text-tray-muted);
}

.tray-body {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow-y: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.menu--collapsed .menu-link .tray-body {
      display: none;
    }

.tray-body {
  background-color: var(--bg-tray-body, var(--bg-tray));
}

.tray-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.tray-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .tray-footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.tray-footer {
  background-color: var(--bg-tray-footer);
  border-top: 1px solid var(--border-tray-divider);
}

.tray-close,
.tray-nav {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 1.75rem;
  width: 1.75rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  border-color: transparent;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .tray-close,.wizard-card--trait 
.tray-nav {
  line-height: 1.3;
}

.tray-close,
.tray-nav {
  color: var(--icon-tray-close);
}

.tray-close:hover,
  .tray-nav:hover {
    background-color: var(--bg-tray-close-hover);
  }

.tray-nav:disabled {
  pointer-events: none;
  opacity: 0.3;
}

/* Pin button -------------------------------------------------- */

.tray-pin {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 1.75rem;
  width: 1.75rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  border-color: transparent;
  font-size: 0.75rem;
  line-height: 1rem;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}

.wizard-card--trait .tray-pin {
  line-height: 1.3;
}

.tray-pin {
  color: var(--icon-tray-pin, var(--icon-tray-close));
}

.tray-pin:hover {
    background-color: var(--bg-tray-pin-hover, var(--bg-tray-close-hover));
  }

/* Unpinned: icon rotated 45° (loose pin) */

.tray-pin i,
  .tray-pin svg {
    -webkit-transition: color 150ms ease, -webkit-transform 200ms ease;
    transition: color 150ms ease, -webkit-transform 200ms ease;
    transition: transform 200ms ease, color 150ms ease;
    transition: transform 200ms ease, color 150ms ease, -webkit-transform 200ms ease;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }

/* Pinned: icon upright + accent colour */

.tray-pin.is-pinned i,
  .tray-pin.is-pinned svg {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }

.tray-pin.is-pinned {
    color: var(--icon-tray-pin-active, var(--color-info));
    background-color: var(--bg-tray-pin-active, var(--bg-info-subtle));
    border-color: var(--border-tray-pin-active, transparent);
  }

/* PINNED STATE ------------------------------------------------ */

/* Overlay becomes transparent + non-interactive so page stays usable */

.tray.tray-pinned .tray-overlay {
  pointer-events: none !important;
  opacity: 0 !important;
}

/* Container passes clicks through (like no-overlay mode) */

.tray.tray-pinned {
  pointer-events: none;
}

/* Panel itself stays interactive */

.tray.tray-pinned .tray-panel {
  pointer-events: auto;
}

/* Optional: lock body scroll when any tray with overlay is open */

.tray-open {
  overflow: hidden;
}

/* Trays scoped inside modals — absolute within modal-content bounds
   Overrides both .tray { fixed } and .modal-content > * { relative } */

.modal-content > .tray {
  position: absolute;
  z-index: 10; 
  overflow: hidden;
}

/* =========================
   Drag behavior (Option A)
   ========================= */

/* Mark non-draggable zones (use on text-heavy areas like .tray-body) */

.tray-no-drag {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

/* =========================
   Resize behavior
   ========================= */

/* Opt-in: data-eno-resizable on the .tray element.
   Runtime width/height is driven by --tray-width / --tray-height custom props. */

.tray[data-eno-resizable].tray-left .tray-panel,
.tray[data-eno-resizable].tray-right .tray-panel {
  width: var(--tray-width);
  overflow: visible;
}

.tray[data-eno-resizable].tray-top .tray-panel,
.tray[data-eno-resizable].tray-bottom .tray-panel {
  height: var(--tray-height);
  overflow: visible;
}

/* Resize drag handle — matches split-pane__divider styling */

.tray-resize {
  position: absolute;
  z-index: 30;
  background-color: var(--border-split, var(--border-secondary));
  -webkit-transition: background-color 100ms ease;
  transition: background-color 100ms ease;
}

/* Invisible grab area (easier to grab than 1px) */

.tray-resize::after {
  content: "";
  position: absolute;
}

/* Left/right trays: vertical resize handle */

.tray-right .tray-resize {
  top: 0;
  bottom: 0;
  left: 0;
  width: var(--split-divider-width, 1px);
  cursor: col-resize;
}

.tray-right .tray-resize::after {
  top: 0px;
  bottom: 0px;
  left: -3px;
  right: -3px;
}

.tray-left .tray-resize {
  top: 0;
  bottom: 0;
  right: 0;
  width: var(--split-divider-width, 1px);
  cursor: col-resize;
}

.tray-left .tray-resize::after {
  top: 0px;
  bottom: 0px;
  left: -3px;
  right: -3px;
}

/* Top/bottom trays: horizontal resize handle */

.tray-top .tray-resize {
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--split-divider-width, 1px);
  cursor: row-resize;
}

.tray-top .tray-resize::after {
  left: 0px;
  right: 0px;
  top: -3px;
  bottom: -3px;
}

.tray-bottom .tray-resize {
  left: 0;
  right: 0;
  top: 0;
  height: var(--split-divider-width, 1px);
  cursor: row-resize;
}

.tray-bottom .tray-resize::after {
  left: 0px;
  right: 0px;
  top: -3px;
  bottom: -3px;
}

/* Hover / active states — expand like split-pane divider */

.tray-resize:hover,
.tray-resize.is-active,
.tray.is-actions-nearby .tray-resize {
  background-color: var(--border-split-hover, var(--color-info));
}

.tray-right .tray-resize:hover,
.tray-right .tray-resize.is-active,
.tray-right.is-actions-nearby .tray-resize {
  width: var(--split-divider-width-active, 3px);
  margin-left: -1px;
}

.tray-left .tray-resize:hover,
.tray-left .tray-resize.is-active,
.tray-left.is-actions-nearby .tray-resize {
  width: var(--split-divider-width-active, 3px);
  margin-right: -1px;
}

.tray-top .tray-resize:hover,
.tray-top .tray-resize.is-active,
.tray-top.is-actions-nearby .tray-resize {
  height: var(--split-divider-width-active, 3px);
  margin-bottom: -1px;
}

.tray-bottom .tray-resize:hover,
.tray-bottom .tray-resize.is-active,
.tray-bottom.is-actions-nearby .tray-resize {
  height: var(--split-divider-width-active, 3px);
  margin-top: -1px;
}

/* Resize action buttons — centered on the resize edge, identical to split-pane__actions */

.tray-resize__actions {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.125rem;
}

.collapse.show.tray-resize__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .tray-resize__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.tray-resize__actions {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: calc(var(--z-sticky, 10) + 1);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 200ms ease 100ms;
  transition: opacity 200ms ease 100ms;
}

/* For left/right trays: stack vertically */

.tray-left .tray-resize__actions,
.tray-right .tray-resize__actions {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

/* For top/bottom trays: stack horizontally */

.tray-top .tray-resize__actions,
.tray-bottom .tray-resize__actions {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}

/* Show on resize handle hover or when nearby */

.tray-resize:hover .tray-resize__actions,
.tray.is-actions-nearby .tray-resize__actions {
  opacity: 1;
  pointer-events: auto;
  -webkit-transition: opacity 150ms ease;
  transition: opacity 150ms ease;
}

/* Hide during active resize drag */

.tray.tray-resizing .tray-resize__actions {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Individual action button — identical to .split-pane__action */

.tray-resize__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
}

.collapse.show.tray-resize__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .tray-resize__action {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.tray-resize__action {
  width: 20px;
  height: 20px;
  background-color: var(--bg-surface, var(--canvas-secondary));
  border: 1px solid var(--border-secondary);
  color: var(--text-tertiary);
  font-size: 10px;
  cursor: pointer;
  -webkit-transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.tray-resize__action:hover {
  background-color: var(--bg-info-subtle);
  border-color: var(--border-info, var(--color-info));
  color: var(--text-info, var(--color-info));
}

.tray-resize__action:focus-visible {
  outline: 2px solid var(--color-info);
  outline-offset: 1px;
}

.tray-resize__action:disabled {
  opacity: 0.3;
  pointer-events: none;
  cursor: default;
}

/* While resizing, disable transitions so panel follows the pointer */

.tray.tray-resizing .tray-panel {
  -webkit-transition: none !important;
  transition: none !important;
}

.tray.tray-resizing {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Animated snap (not during drag) */

.tray.tray-snapping .tray-panel {
  -webkit-transition: width 200ms ease, height 200ms ease;
  transition: width 200ms ease, height 200ms ease;
}

@media (prefers-reduced-motion: reduce) {
  .tray.tray-snapping .tray-panel {
    -webkit-transition: none;
    transition: none;
  }
  .tray-pin i,
  .tray-pin svg {
    -webkit-transition: none;
    transition: none;
  }
}

/* While dragging, disable transitions so panel/overlay follow the pointer */

.tray.tray-dragging .tray-panel,
.tray.tray-dragging .tray-overlay {
  -webkit-transition: none !important;
  transition: none !important;
}

/* Prevent page gestures + accidental selection while dragging */

.tray.tray-dragging {
  -ms-touch-action: none;
  touch-action: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
  .tray-overlay,
  .tray-panel {
    -webkit-transition: none;
    transition: none;
  }
}

/*Overlays*/

/* -----------------------------------------
 * Wrapper
 * ----------------------------------------- */

.dropdown {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/* Toggle helper */

.dropdown-toggle,
.dropdown-toggle.show {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

/* Bootstrap .show support */

.dropdown-menu.show,
.dropdown-menu-glass.show {
  display: block;
}

/* ==========================================================================
 * Menu Base (abstract)
 * ========================================================================== */

.dropdown-menu-base {
  position: absolute;
  z-index: 9999;
  display: none;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 0.25rem;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  min-width: 10rem;
  /* ✅ default anchor: end-aligned to trigger */
  right: 0;
  left: auto;
  background-color: var(--bg-dropdown);
  border-color: var(--border-dropdown);
  color: var(--text-dropdown);
  backdrop-filter: var(--blur-dropdown-backdrop);
  -webkit-box-shadow: var(--shadow-dropdown);
  box-shadow: var(--shadow-dropdown);
}

/* Grain overlay */

.dropdown-menu-base::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><filter id='noiseFilter'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23noiseFilter)' opacity='1'/></svg>");
    background-repeat: repeat;
    mix-blend-mode: overlay;
    opacity: var(--opacity-dropdown-grain, 0);
    pointer-events: none;
    z-index: 0;
    border-radius: inherit;
  }

/* Content above grain */

.dropdown-menu-base > * {
    position: relative;
    z-index: 1;
  }

/* -----------------------------------------
 * Default menu
 * ----------------------------------------- */

.dropdown-menu {
  position: absolute;
  z-index: 9999;
  display: none;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 0.25rem;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  min-width: 10rem;
  /* ✅ default anchor: end-aligned to trigger */
  right: 0;
  left: auto;
  background-color: var(--bg-dropdown);
  border-color: var(--border-dropdown);
  color: var(--text-dropdown);
  backdrop-filter: var(--blur-dropdown-backdrop);
  -webkit-box-shadow: var(--shadow-dropdown);
  box-shadow: var(--shadow-dropdown);
}

.dropdown-menu::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><filter id='noiseFilter'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23noiseFilter)' opacity='1'/></svg>");
    background-repeat: repeat;
    mix-blend-mode: overlay;
    opacity: var(--opacity-dropdown-grain, 0);
    pointer-events: none;
    z-index: 0;
    border-radius: inherit;
  }

.dropdown-menu > * {
    position: relative;
    z-index: 1;
  }

/* -----------------------------------------
 * Glass menu
 * ----------------------------------------- */

.dropdown-menu-glass {
  position: absolute;
  z-index: 9999;
  display: none;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 0.25rem;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  min-width: 10rem;
  /* ✅ default anchor: end-aligned to trigger */
  right: 0;
  left: auto;
  background-color: var(--bg-dropdown);
  border-color: var(--border-dropdown);
  color: var(--text-dropdown);
  backdrop-filter: var(--blur-dropdown-backdrop);
  -webkit-box-shadow: var(--shadow-dropdown);
  box-shadow: var(--shadow-dropdown);
}

.dropdown-menu-glass::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><filter id='noiseFilter'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23noiseFilter)' opacity='1'/></svg>");
    background-repeat: repeat;
    mix-blend-mode: overlay;
    opacity: var(--opacity-dropdown-grain, 0);
    pointer-events: none;
    z-index: 0;
    border-radius: inherit;
  }

.dropdown-menu-glass > * {
    position: relative;
    z-index: 1;
  }

.dropdown-menu-glass {
  background-color: var(--bg-dropdown-glass);
  border-color: var(--border-dropdown-glass);
  color: var(--text-dropdown-glass);
  backdrop-filter: var(--blur-dropdown-glass);
  -webkit-box-shadow: var(--shadow-dropdown-glass);
  box-shadow: var(--shadow-dropdown-glass);
}

.dropdown-menu-glass::after {
    opacity: var(--opacity-dropdown-glass-grain, 0);
  }

/* ==========================================================================
 * Menu content
 * ========================================================================== */

/* Section title */

.dropdown-title {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--text-dropdown-title);
}

/* Hint / meta row */

.dropdown-hint {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-dropdown-hint);
}

/* Divider */

.dropdown-divider {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  margin-left: 0.25rem;
  margin-right: 0.25rem;
  border-top-width: 1px;
  border-color: var(--border-dropdown-divider);
}

/* ==========================================================================
 * Items
 * ========================================================================== */

.dropdown-item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  text-align: left;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, backdrop-filter, -webkit-box-shadow, -webkit-transform, -webkit-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, backdrop-filter, -webkit-box-shadow, -webkit-transform, -webkit-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-box-shadow, -webkit-transform, -webkit-filter;
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.wizard-card--trait .dropdown-item {
  line-height: 1.3;
}

.dropdown-item {
  color: var(--text-dropdown-item);
}

.dropdown-item:hover {
  cursor: pointer;
    background-color: var(--bg-dropdown-hover);
}

.dropdown-item:active {
    background-color: var(--bg-dropdown-active);
  }

/* Glass items */

.dropdown-menu-glass .dropdown-item {
  color: var(--text-dropdown-item-glass);
}

.dropdown-menu-glass .dropdown-item:hover {
    background-color: var(--bg-dropdown-glass-hover);
  }

.dropdown-menu-glass .dropdown-item:active {
    background-color: var(--bg-dropdown-glass-active);
  }

/* Icon slot */

.dropdown-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 1.25rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: var(--text-dropdown-icon);
}

.dropdown-menu-glass .dropdown-icon {
  color: var(--text-dropdown-icon-glass);
}

/* Right-side meta */

.dropdown-end {
  margin-left: auto;
  font-size: 0.6875rem;
  line-height: 1rem;
  opacity: 0.7;
  color: var(--text-dropdown-end);
}

.dropdown-menu-glass .dropdown-end {
  color: var(--text-dropdown-end-glass);
}

/* Active / selected */

.dropdown-item.is-active,
.dropdown-item[aria-current="true"],
.dropdown-item[aria-selected="true"] {
  background-color: var(--bg-dropdown-selected);
  color: var(--text-dropdown-selected);
}

.dropdown-menu-glass .dropdown-item.is-active,
.dropdown-menu-glass .dropdown-item[aria-current="true"],
.dropdown-menu-glass .dropdown-item[aria-selected="true"] {
  background-color: var(--bg-dropdown-selected-glass);
  color: var(--text-dropdown-selected-glass);
}

/* Disabled */

.dropdown-item.is-disabled,
.dropdown-item:disabled,
.dropdown-item[disabled] {
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.5;
}

/* Danger — only the icon is red; text and hover stay normal */

.dropdown-item.is-danger {
  color: var(--text-dropdown-item);
}

.dropdown-item.is-danger .dropdown-icon {
  color: var(--text-dropdown-danger);
}

.dropdown-item.is-danger:hover {
    background-color: var(--bg-dropdown-hover);
  }

.dropdown-menu-glass .dropdown-item.is-danger {
  color: var(--text-dropdown-item-glass);
}

.dropdown-menu-glass .dropdown-item.is-danger .dropdown-icon {
  color: var(--text-dropdown-danger-glass);
}

.dropdown-menu-glass .dropdown-item.is-danger:hover {
    background-color: var(--bg-dropdown-glass-hover);
  }

/* ==========================================================================
 * Sizes
 * ========================================================================== */

.dropdown-sm .dropdown-menu,
.dropdown-sm .dropdown-menu-glass {
  border-radius: 0.375rem;
  padding: 0.25rem;
}

.dropdown-sm .dropdown-item {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .dropdown-sm .dropdown-item {
  line-height: 1.3;
}

.dropdown-md .dropdown-menu,
.dropdown-md .dropdown-menu-glass {
  border-radius: 0.5rem;
  padding: 0.25rem;
}

.dropdown-lg .dropdown-menu,
.dropdown-lg .dropdown-menu-glass {
  border-radius: 0.75rem;
  padding: 0.5rem;
}

.dropdown-lg .dropdown-item {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.dropdown-lg .dropdown-end {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .dropdown-lg .dropdown-end {
  line-height: 1.3;
}

/* ==========================================================================
 * Widths (semantic)
 * Apply on .dropdown-menu / .dropdown-menu-glass
 * ========================================================================== */

.dropdown-w-auto {
  width: auto;
  min-width: unset;
}

.dropdown-w-sm {
  width: 10rem; /* 160px */
}

.dropdown-w-md {
  width: 12rem; /* 192px */
}

.dropdown-w-lg {
  width: 14rem; /* 224px */
}

.dropdown-w-xl {
  width: 18rem; /* 288px */
}

.dropdown-w-full {
  width: 100%;
}

/* ==========================================================================
 * Alignment / placement (FIXED)
 * - Works with or without Popper
 * - Uses !important to beat inline popper styles if present
 * ========================================================================== */

/* Start aligned */

.dropdown-menu-start,
.dropdown-menu-glass.dropdown-menu-start {
  left: 0 !important;
  right: auto !important;
}

/* End aligned */

.dropdown-menu-end,
.dropdown-menu-glass.dropdown-menu-end {
  right: 0 !important;
  left: auto !important;
}

/* Popper attribute support (still included) */

.dropdown-menu-start[data-bs-popper],
.dropdown-menu-glass.dropdown-menu-start[data-bs-popper] {
  left: 0 !important;
  right: auto !important;
}

.dropdown-menu-end[data-bs-popper],
.dropdown-menu-glass.dropdown-menu-end[data-bs-popper] {
  right: 0 !important;
  left: auto !important;
}

/* ==========================================================================
 * Offsets
 * ========================================================================== */

.dropdown-menu-offset-sm {
  margin-top: .25rem;
}

.dropdown-menu-offset-md {
  margin-top: .5rem;
}

.dropdown-menu-offset-lg {
  margin-top: .75rem;
}

/* === Modal Container (keep z-index: 70) === */

.modal {
  position: fixed;
  inset: 0px;
  z-index: 70;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100dvh;
  width: 100dvw;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 1rem;
}

.collapse.show.modal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .modal {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.modal {
  /* Safe-area breathing room so content isn’t covered by system UI */
  padding-bottom: calc( var(--modal-pad-y) + max(env(safe-area-inset-bottom, 0px), var(--viewport-ui-bottom, 0px)) );
  padding-top: calc(var(--modal-pad-y) + env(safe-area-inset-top, 0px));
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  -webkit-transition: opacity 200ms ease, visibility 0s linear 200ms;
  transition: opacity 200ms ease, visibility 0s linear 200ms; /* hide after fade-out completes */
}

/* === Modal Visibility === */

.modal.show {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    -webkit-transition: opacity 200ms ease, visibility 0s;
    transition: opacity 200ms ease, visibility 0s; /* visible immediately on open */
  }

/* Optional exit helper */

.modal.hiding {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    -webkit-transition: opacity 150ms ease, visibility 0s linear 150ms;
    transition: opacity 150ms ease, visibility 0s linear 150ms;
  }

/* === Modal Overlay (keep z-index: 80) === */

.modal-overlay {
  position: fixed;
  inset: 0px;
  background-color: var(--bg-modal-overlay);
  z-index: 80;
  opacity: 0;
  -webkit-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
}

.modal.show .modal-overlay {
  opacity: 1;
}

.modal.hiding .modal-overlay {
  opacity: 0;
}

/* === Dialog wrapper (keep z-index: 90) === */

.modal-dialog,
.modal-dialog-panel {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  text-align: center;
}

.collapse.show.modal-dialog,.collapse.show
.modal-dialog-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .modal-dialog,.ach-card > 
.modal-dialog-panel {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

@media (min-width: 640px) {

  .modal-dialog,
.modal-dialog-panel {
    border-radius: 0px;
    padding: 0px;
  }
}

.modal-dialog,
.modal-dialog-panel {
  z-index: 90;
}

/* Disable old spacer that fights centering */

.modal-block {
  display: none !important;
}

/* === Modal Content (keep z-index: 100) — fade + scale, internal scroll === */

.modal-content {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  text-align: left;
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

@media (min-width: 640px) {

  .modal-content {
    width: auto;
    vertical-align: middle;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }
}

.modal-content {
  background-color: var(--bg-modal);
  color: var(--text-modal);
  border-color: var(--border-modal);
  backdrop-filter: var(--modal-backdrop-blur, none);
  z-index: 100;
  /* Stronger internal borders — modal bg is often close to default border color */
  --border-divider: var(--border-modal-divider, var(--border-secondary));
  --border-split: var(--border-modal-divider, var(--border-secondary));
  --border-shell-toolbar: var(--border-modal-divider, var(--border-secondary));
  --border-shell-footer: var(--border-modal-divider, var(--border-secondary));
  --border-panel: var(--border-modal-divider, var(--border-secondary));
  /* animation base (hidden) */
  opacity: 0;
  -webkit-transform: scale(0.95);
  -ms-transform: scale(0.95);
  transform: scale(0.95);
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center;
  -webkit-transition: opacity 200ms ease, -webkit-transform 200ms ease;
  transition: opacity 200ms ease, -webkit-transform 200ms ease;
  transition: opacity 200ms ease, transform 200ms ease;
  transition: opacity 200ms ease, transform 200ms ease, -webkit-transform 200ms ease;
  will-change: transform;
  /* keep centered; large dialogs scroll inside
     NOTE: use 100dvh/100dvw and subtract the actual outer padding + safe areas */
  max-height: calc( 100dvh - (var(--modal-pad-y) * 2) - env(safe-area-inset-top, 0px) - max(env(safe-area-inset-bottom, 0px), var(--viewport-ui-bottom, 0px)) );
  max-width: calc(100dvw - (var(--modal-pad-x) * 2));
}

.modal.show .modal-content {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.modal.hiding .modal-content {
  opacity: 0;
  -webkit-transform: scale(0.95);
  -ms-transform: scale(0.95);
  transform: scale(0.95);
  -webkit-transition: opacity 150ms ease, -webkit-transform 150ms ease;
  transition: opacity 150ms ease, -webkit-transform 150ms ease;
  transition: opacity 150ms ease, transform 150ms ease;
  transition: opacity 150ms ease, transform 150ms ease, -webkit-transform 150ms ease;
}

/* === Grain overlay stays intact === */

.modal-content::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><filter id='noiseFilter'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23noiseFilter)' opacity='1'/></svg>");
  background-repeat: repeat;
  mix-blend-mode: overlay;
  opacity: var(--modal-grain-opacity, 0);
  pointer-events: none;
  z-index: 0;
  border-radius: inherit;
}

.modal-content > * {
  position: relative;
  z-index: 1;
}

/* === Fullscreen Variant (use dvh/dvw) === */

.modal-fullscreen {
  position: fixed;
  inset: 0px;
  height: 100dvh;
  max-height: 100dvh;
  width: 100dvw;
  max-width: 100dvw;
  border-radius: 0px;
}

/* === Modal Header/Footer/Body === */

/* Tip: sticky footer ensures it never hides under keyboard/chrome */

.modal-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 1rem;
  padding-bottom: 0.5rem;
}

.collapse.show.modal-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .modal-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.modal-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.collapse.show.modal-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .modal-footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.modal-footer {
  position: sticky;
  bottom: 0;
  padding-bottom: calc( 1rem /* pb-4 baseline */
  + max(env(safe-area-inset-bottom, 0px), var(--viewport-ui-bottom, 0px)) );
  z-index: 1;
  background: var(--bg-modal);
}

.modal-body {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--scroll-thumb) var(--scroll-track);
  min-height: 0; /* allow middle track to shrink */
}

/* === Modal Inner Container === */

.modal-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.modal-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .modal-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* === Responsive sizes (use dvh/dvw) === */

.modal-h-xs {
  height: 100dvh;
}

@media (min-width: 640px) {

  .modal-h-xs {
    height: 95dvh;
  }
}

@media (min-width: 768px) {

  .modal-h-xs {
    height: 75dvh;
  }
}

@media (min-width: 1024px) {

  .modal-h-xs {
    height: 50dvh;
  }
}

@media (min-width: 1280px) {

  .modal-h-xs {
    height: 25dvh;
  }
}

@media (min-width: 1536px) {

  .modal-h-xs {
    height: 20dvh;
  }
}

.modal-h-sm {
  height: 100dvh;
}

@media (min-width: 640px) {

  .modal-h-sm {
    height: 95dvh;
  }
}

@media (min-width: 768px) {

  .modal-h-sm {
    height: 80dvh;
  }
}

@media (min-width: 1024px) {

  .modal-h-sm {
    height: 60dvh;
  }
}

@media (min-width: 1280px) {

  .modal-h-sm {
    height: 35dvh;
  }
}

@media (min-width: 1536px) {

  .modal-h-sm {
    height: 30dvh;
  }
}

.modal-h-md {
  height: 100dvh;
}

@media (min-width: 640px) {

  .modal-h-md {
    height: 95dvh;
  }
}

@media (min-width: 768px) {

  .modal-h-md {
    height: 85dvh;
  }
}

@media (min-width: 1024px) {

  .modal-h-md {
    height: 70dvh;
  }
}

@media (min-width: 1280px) {

  .modal-h-md {
    height: 50dvh;
  }
}

@media (min-width: 1536px) {

  .modal-h-md {
    height: 40dvh;
  }
}

.modal-h-lg {
  height: 100dvh;
}

@media (min-width: 640px) {

  .modal-h-lg {
    height: 95dvh;
  }
}

@media (min-width: 768px) {

  .modal-h-lg {
    height: 90dvh;
  }
}

@media (min-width: 1024px) {

  .modal-h-lg {
    height: 80dvh;
  }
}

@media (min-width: 1280px) {

  .modal-h-lg {
    height: 65dvh;
  }
}

@media (min-width: 1536px) {

  .modal-h-lg {
    height: 55dvh;
  }
}

.modal-h-xl {
  height: 100dvh;
}

@media (min-width: 640px) {

  .modal-h-xl {
    height: 100dvh;
  }
}

@media (min-width: 768px) {

  .modal-h-xl {
    height: 95dvh;
  }
}

@media (min-width: 1024px) {

  .modal-h-xl {
    height: 85dvh;
  }
}

@media (min-width: 1280px) {

  .modal-h-xl {
    height: 75dvh;
  }
}

@media (min-width: 1536px) {

  .modal-h-xl {
    height: 70dvh;
  }
}

.modal-h-2xl {
  height: 100dvh;
}

@media (min-width: 640px) {

  .modal-h-2xl {
    height: 100dvh;
  }
}

@media (min-width: 768px) {

  .modal-h-2xl {
    height: 100dvh;
  }
}

@media (min-width: 1024px) {

  .modal-h-2xl {
    height: 90dvh;
  }
}

@media (min-width: 1280px) {

  .modal-h-2xl {
    height: 85dvh;
  }
}

@media (min-width: 1536px) {

  .modal-h-2xl {
    height: 80dvh;
  }
}

.modal-h-3xl {
  height: 100dvh;
}

@media (min-width: 640px) {

  .modal-h-3xl {
    height: 100dvh;
  }
}

@media (min-width: 768px) {

  .modal-h-3xl {
    height: 100dvh;
  }
}

@media (min-width: 1024px) {

  .modal-h-3xl {
    height: 95dvh;
  }
}

@media (min-width: 1280px) {

  .modal-h-3xl {
    height: 95dvh;
  }
}

@media (min-width: 1536px) {

  .modal-h-3xl {
    height: 90dvh;
  }
}

.modal-w-xs {
  width: 100dvw;
}

@media (min-width: 640px) {

  .modal-w-xs {
    width: 95dvw;
  }
}

@media (min-width: 768px) {

  .modal-w-xs {
    width: 70dvw;
  }
}

@media (min-width: 1024px) {

  .modal-w-xs {
    width: 45dvw;
  }
}

@media (min-width: 1280px) {

  .modal-w-xs {
    width: 30dvw;
  }
}

@media (min-width: 1536px) {

  .modal-w-xs {
    width: 25dvw;
  }
}

.modal-w-sm {
  width: 100dvw;
}

@media (min-width: 640px) {

  .modal-w-sm {
    width: 95dvw;
  }
}

@media (min-width: 768px) {

  .modal-w-sm {
    width: 75dvw;
  }
}

@media (min-width: 1024px) {

  .modal-w-sm {
    width: 60dvw;
  }
}

@media (min-width: 1280px) {

  .modal-w-sm {
    width: 45dvw;
  }
}

@media (min-width: 1536px) {

  .modal-w-sm {
    width: 35dvw;
  }
}

.modal-w-md {
  width: 100dvw;
}

@media (min-width: 640px) {

  .modal-w-md {
    width: 95dvw;
  }
}

@media (min-width: 768px) {

  .modal-w-md {
    width: 80dvw;
  }
}

@media (min-width: 1024px) {

  .modal-w-md {
    width: 70dvw;
  }
}

@media (min-width: 1280px) {

  .modal-w-md {
    width: 60dvw;
  }
}

@media (min-width: 1536px) {

  .modal-w-md {
    width: 50dvw;
  }
}

.modal-w-lg {
  width: 100dvw;
}

@media (min-width: 640px) {

  .modal-w-lg {
    width: 100dvw;
  }
}

@media (min-width: 768px) {

  .modal-w-lg {
    width: 90dvw;
  }
}

@media (min-width: 1024px) {

  .modal-w-lg {
    width: 80dvw;
  }
}

@media (min-width: 1280px) {

  .modal-w-lg {
    width: 70dvw;
  }
}

@media (min-width: 1536px) {

  .modal-w-lg {
    width: 65dvw;
  }
}

.modal-w-xl {
  width: 100dvw;
}

@media (min-width: 640px) {

  .modal-w-xl {
    width: 100dvw;
  }
}

@media (min-width: 768px) {

  .modal-w-xl {
    width: 95dvw;
  }
}

@media (min-width: 1024px) {

  .modal-w-xl {
    width: 90dvw;
  }
}

@media (min-width: 1280px) {

  .modal-w-xl {
    width: 80dvw;
  }
}

@media (min-width: 1536px) {

  .modal-w-xl {
    width: 75dvw;
  }
}

.modal-w-2xl {
  width: 100dvw;
}

@media (min-width: 640px) {

  .modal-w-2xl {
    width: 100dvw;
  }
}

@media (min-width: 768px) {

  .modal-w-2xl {
    width: 100dvw;
  }
}

@media (min-width: 1024px) {

  .modal-w-2xl {
    width: 95dvw;
  }
}

@media (min-width: 1280px) {

  .modal-w-2xl {
    width: 90dvw;
  }
}

@media (min-width: 1536px) {

  .modal-w-2xl {
    width: 85dvw;
  }
}

.modal-w-3xl {
  width: 100dvw;
}

@media (min-width: 640px) {

  .modal-w-3xl {
    width: 100dvw;
  }
}

@media (min-width: 768px) {

  .modal-w-3xl {
    width: 100dvw;
  }
}

@media (min-width: 1024px) {

  .modal-w-3xl {
    width: 100dvw;
  }
}

@media (min-width: 1280px) {

  .modal-w-3xl {
    width: 95dvw;
  }
}

@media (min-width: 1536px) {

  .modal-w-3xl {
    width: 90dvw;
  }
}

/* === Fixed px sizes (height respect dvh cap) === */

@media (min-width: 640px) {

  .modal-h-fixed-xs {
    height: 240px;
  }
}

@media (min-width: 768px) {

  .modal-h-fixed-xs {
    height: 200px;
  }
}

@media (min-width: 1024px) {

  .modal-h-fixed-xs {
    height: 180px;
  }
}

@media (min-width: 1280px) {

  .modal-h-fixed-xs {
    height: 160px;
  }
}

@media (min-width: 1536px) {

  .modal-h-fixed-xs {
    height: 140px;
  }
}

.modal-h-fixed-xs {
  max-height: 100dvh;
}

@media (min-width: 640px) {

  .modal-h-fixed-sm {
    height: 320px;
  }
}

@media (min-width: 768px) {

  .modal-h-fixed-sm {
    height: 280px;
  }
}

@media (min-width: 1024px) {

  .modal-h-fixed-sm {
    height: 240px;
  }
}

@media (min-width: 1280px) {

  .modal-h-fixed-sm {
    height: 200px;
  }
}

@media (min-width: 1536px) {

  .modal-h-fixed-sm {
    height: 180px;
  }
}

.modal-h-fixed-sm {
  max-height: 100dvh;
}

@media (min-width: 640px) {

  .modal-h-fixed-md {
    height: 480px;
  }
}

@media (min-width: 768px) {

  .modal-h-fixed-md {
    height: 420px;
  }
}

@media (min-width: 1024px) {

  .modal-h-fixed-md {
    height: 360px;
  }
}

@media (min-width: 1280px) {

  .modal-h-fixed-md {
    height: 300px;
  }
}

@media (min-width: 1536px) {

  .modal-h-fixed-md {
    height: 260px;
  }
}

.modal-h-fixed-md {
  max-height: 100dvh;
}

@media (min-width: 640px) {

  .modal-h-fixed-lg {
    height: 640px;
  }
}

@media (min-width: 768px) {

  .modal-h-fixed-lg {
    height: 560px;
  }
}

@media (min-width: 1024px) {

  .modal-h-fixed-lg {
    height: 480px;
  }
}

@media (min-width: 1280px) {

  .modal-h-fixed-lg {
    height: 400px;
  }
}

@media (min-width: 1536px) {

  .modal-h-fixed-lg {
    height: 340px;
  }
}

.modal-h-fixed-lg {
  max-height: 100dvh;
}

@media (min-width: 640px) {

  .modal-h-fixed-xl {
    height: 800px;
  }
}

@media (min-width: 768px) {

  .modal-h-fixed-xl {
    height: 720px;
  }
}

@media (min-width: 1024px) {

  .modal-h-fixed-xl {
    height: 640px;
  }
}

@media (min-width: 1280px) {

  .modal-h-fixed-xl {
    height: 560px;
  }
}

@media (min-width: 1536px) {

  .modal-h-fixed-xl {
    height: 480px;
  }
}

.modal-h-fixed-xl {
  max-height: 100dvh;
}

@media (min-width: 640px) {

  .modal-h-fixed-2xl {
    height: 920px;
  }
}

@media (min-width: 768px) {

  .modal-h-fixed-2xl {
    height: 840px;
  }
}

@media (min-width: 1024px) {

  .modal-h-fixed-2xl {
    height: 720px;
  }
}

@media (min-width: 1280px) {

  .modal-h-fixed-2xl {
    height: 640px;
  }
}

@media (min-width: 1536px) {

  .modal-h-fixed-2xl {
    height: 560px;
  }
}

.modal-h-fixed-2xl {
  max-height: 100dvh;
}

@media (min-width: 640px) {

  .modal-h-fixed-3xl {
    height: 1000px;
  }
}

@media (min-width: 768px) {

  .modal-h-fixed-3xl {
    height: 960px;
  }
}

@media (min-width: 1024px) {

  .modal-h-fixed-3xl {
    height: 840px;
  }
}

@media (min-width: 1280px) {

  .modal-h-fixed-3xl {
    height: 720px;
  }
}

@media (min-width: 1536px) {

  .modal-h-fixed-3xl {
    height: 640px;
  }
}

.modal-h-fixed-3xl {
  max-height: 100dvh;
}

.modal-w-fixed-xs {
  width: 100dvw;
}

@media (min-width: 640px) {

  .modal-w-fixed-xs {
    width: 320px;
  }
}

@media (min-width: 768px) {

  .modal-w-fixed-xs {
    width: 280px;
  }
}

@media (min-width: 1024px) {

  .modal-w-fixed-xs {
    width: 240px;
  }
}

@media (min-width: 1280px) {

  .modal-w-fixed-xs {
    width: 200px;
  }
}

@media (min-width: 1536px) {

  .modal-w-fixed-xs {
    width: 180px;
  }
}

.modal-w-fixed-sm {
  width: 100dvw;
}

@media (min-width: 640px) {

  .modal-w-fixed-sm {
    width: 480px;
  }
}

@media (min-width: 768px) {

  .modal-w-fixed-sm {
    width: 400px;
  }
}

@media (min-width: 1024px) {

  .modal-w-fixed-sm {
    width: 360px;
  }
}

@media (min-width: 1280px) {

  .modal-w-fixed-sm {
    width: 320px;
  }
}

@media (min-width: 1536px) {

  .modal-w-fixed-sm {
    width: 280px;
  }
}

.modal-w-fixed-md {
  width: 100dvw;
}

@media (min-width: 640px) {

  .modal-w-fixed-md {
    width: 624px;
  }
}

@media (min-width: 768px) {

  .modal-w-fixed-md {
    width: 520px;
  }
}

@media (min-width: 1024px) {

  .modal-w-fixed-md {
    width: 480px;
  }
}

@media (min-width: 1280px) {

  .modal-w-fixed-md {
    width: 400px;
  }
}

@media (min-width: 1536px) {

  .modal-w-fixed-md {
    width: 360px;
  }
}

.modal-w-fixed-lg {
  width: 100dvw;
}

@media (min-width: 640px) {

  .modal-w-fixed-lg {
    width: 768px;
  }
}

@media (min-width: 768px) {

  .modal-w-fixed-lg {
    width: 640px;
  }
}

@media (min-width: 1024px) {

  .modal-w-fixed-lg {
    width: 560px;
  }
}

@media (min-width: 1280px) {

  .modal-w-fixed-lg {
    width: 480px;
  }
}

@media (min-width: 1536px) {

  .modal-w-fixed-lg {
    width: 440px;
  }
}

.modal-w-fixed-xl {
  width: 100dvw;
}

@media (min-width: 640px) {

  .modal-w-fixed-xl {
    width: 1024px;
  }
}

@media (min-width: 768px) {

  .modal-w-fixed-xl {
    width: 800px;
  }
}

@media (min-width: 1024px) {

  .modal-w-fixed-xl {
    width: 720px;
  }
}

@media (min-width: 1280px) {

  .modal-w-fixed-xl {
    width: 640px;
  }
}

@media (min-width: 1536px) {

  .modal-w-fixed-xl {
    width: 600px;
  }
}

.modal-w-fixed-2xl {
  width: 100dvw;
}

@media (min-width: 640px) {

  .modal-w-fixed-2xl {
    width: 1280px;
  }
}

@media (min-width: 768px) {

  .modal-w-fixed-2xl {
    width: 1024px;
  }
}

@media (min-width: 1024px) {

  .modal-w-fixed-2xl {
    width: 880px;
  }
}

@media (min-width: 1280px) {

  .modal-w-fixed-2xl {
    width: 720px;
  }
}

@media (min-width: 1536px) {

  .modal-w-fixed-2xl {
    width: 680px;
  }
}

.modal-w-fixed-3xl {
  width: 100dvw;
}

@media (min-width: 640px) {

  .modal-w-fixed-3xl {
    width: 1440px;
  }
}

@media (min-width: 768px) {

  .modal-w-fixed-3xl {
    width: 1280px;
  }
}

@media (min-width: 1024px) {

  .modal-w-fixed-3xl {
    width: 1024px;
  }
}

@media (min-width: 1280px) {

  .modal-w-fixed-3xl {
    width: 880px;
  }
}

@media (min-width: 1536px) {

  .modal-w-fixed-3xl {
    width: 800px;
  }
}

.modal-h-full {
  height: 100dvh;
}

.modal-w-full {
  width: 100dvw;
}

/* === Force fullscreen when flagged (keep z-index: 80/90 here) === */

.modal-h-full .modal-dialog,
  .modal-w-full .modal-dialog,
  .modal-force-full .modal-dialog {
    position: fixed;
    inset: 0;
    margin: 0;
    z-index: 80;
  }

.modal-h-full .modal-content,
  .modal-w-full .modal-content,
  .modal-force-full .modal-content,
  .modal-content.modal-h-full,
  .modal-content.modal-w-full,
  .modal-content.modal-force-full {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 90;
    border-radius: 0 !important;
    height: 100dvh;
    max-height: 100dvh;
    width: 100dvw;
    max-width: 100dvw;
  }

/* === Small screens: fullscreen (keep z-index: 80/90) === */

@media (max-width: 1024px) {
  .modal-dialog {
    position: fixed;
    inset: 0;
    margin: 0;
    z-index: 80;
  }

  .modal-content {
    border-radius: 0 !important;
    height: 100dvh;
    max-height: 100dvh;
    width: 100dvw;
    max-width: 100dvw;
    z-index: 90;
    position: fixed;
    top: 0;
    left: 0;
  }

  .modal-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

.collapse.show.modal-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .modal-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

  .modal-body {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    overflow-y: auto;
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .modal-content {
    border-radius: 0 !important;
  }
}

/* === Fallback for browsers without dvh/dvw support === */

@supports not (height: 100dvh) {
  .modal {
    height: 100vh;
    width: 100vw;
  }

  .modal-content {
    max-height: calc(100vh - (var(--modal-pad-y) * 2));
    max-width: calc(100vw - (var(--modal-pad-x) * 2));
  }

    .modal-fullscreen,
    .modal-h-full .modal-content,
    .modal-w-full .modal-content,
    .modal-content.modal-h-full,
    .modal-content.modal-w-full {
      height: 100vh;
      width: 100vw;
      max-height: 100vh;
      max-width: 100vw;
    }
}

/* === Split pane inside modal body === */

.modal-body:has(> .split-pane),
.modal-body:has(> .page-filtered) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.modal-body > .split-pane,
.modal-body > .page-filtered {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-height: 0;
}

/* === Reduced motion === */

@media (prefers-reduced-motion: reduce) {
  .modal, .modal-overlay, .modal-content {
    -webkit-transition: none !important;
    transition: none !important;
  }
}

/* ========================================
   Component: Popover
   ======================================== */

.popover {
  border-radius: 0.5rem;
  border-width: 1px;
  background-color: var(--bg-popover, var(--bg-dropdown));
  color: var(--text-popover, var(--text-primary));
  border-color: var(--border-popover, var(--border-primary));
  -webkit-box-shadow: var(--shadow-popover, var(--shadow-lg));
  box-shadow: var(--shadow-popover, var(--shadow-lg));
  border-radius: var(--radius-popover, var(--radius-lg, 0.5rem));
  z-index: var(--z-popover, 60);
  display: none;
}

.popover.is-open {
  display: block;
  -webkit-transition: opacity 150ms ease;
  transition: opacity 150ms ease;
}

.popover.is-open.is-anchor-hidden {
  opacity: 0;
  pointer-events: none;
}

/* Slightly brighter background when inside a modal (or appended to body for modal context) */

.modal-content .popover,
.popover--modal {
  background-color: var(--bg-popover-modal, var(--bg-popover, var(--bg-dropdown)));
}

.popover__arrow {
  position: absolute;
  width: 8px;
  height: 8px;
  background-color: var(--bg-popover-arrow, var(--bg-dropdown));
  border-color: var(--border-popover-arrow, var(--border-primary));
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* Arrow border for top-placed popover */

.popover[data-placement^="top"] .popover__arrow {
  bottom: -0.25rem;
  border-bottom-width: 1px;
  border-right-width: 1px;
}

.popover[data-placement^="bottom"] .popover__arrow {
  top: -0.25rem;
  border-top-width: 1px;
  border-left-width: 1px;
}

.popover[data-placement^="left"] .popover__arrow {
  right: -0.25rem;
  border-top-width: 1px;
  border-right-width: 1px;
}

.popover[data-placement^="right"] .popover__arrow {
  left: -0.25rem;
  border-bottom-width: 1px;
  border-left-width: 1px;
}

.popover__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-bottom-width: 1px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.popover__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .popover__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.popover__header {
  border-color: var(--border-popover, var(--border-primary));
}

.popover__header-title {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .popover__header-title {
  line-height: 1.3;
}

.popover__header-close {
  cursor: pointer;
  border-radius: 0.25rem;
  padding: 0.125rem;
  color: var(--text-tertiary);
}

.popover__header-close:hover {
  background-color: var(--bg-hover);
}

.popover__search {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.5rem;
}

.popover__search .controls {
  position: relative;
}

.popover__search .input-clear {
  position: absolute;
  right: 0.375rem;
  top: 50%;
  display: none;
  --tw-translate-y: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  cursor: pointer;
  border-width: 0px;
  padding: 0px;
  background: none;
  color: var(--text-tertiary);
  font-size: 0.625rem;
  line-height: 1;
}

.popover__search .controls.has-clear-value .input-clear {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.popover__search .controls.has-clear-value .input-clear {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .popover__search .controls.has-clear-value .input-clear {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.popover__body {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.popover__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 0.5rem;
  border-top-width: 1px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.popover__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .popover__footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.popover__footer {
  border-color: var(--border-popover, var(--border-primary));
}

/* ─── Padding variants ─── */

/* Flush — no padding (scrollable lists, embedded tables) */

.popover--p-flush > .popover__body {
  padding: 0px;
}

.popover--p-flush > form > .popover__body {
  padding: 0px;
}

/* Extra-small — minimal breathing room */

.popover--p-xs > .popover__body {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.popover--p-xs > form > .popover__body {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.popover--p-xs > .popover__header {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.popover--p-xs > .popover__footer {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

/* Small — compact (data summaries, quick actions) */

.popover--p-sm > .popover__body {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.popover--p-sm > form > .popover__body {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.popover--p-sm > .popover__header {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.popover--p-sm > .popover__footer {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

/* Medium — default (inherits base popover__body padding) */

/* .popover--p-md — no override needed, matches base */

/* Large — spacious (form inputs, inline editing) */

.popover--p-lg > .popover__body {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  padding-bottom: 0.5rem;
}

.popover--p-lg > form > .popover__body {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  padding-bottom: 0.5rem;
}

.popover--p-lg > .popover__header {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.popover--p-lg > .popover__footer {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

/* Extra-large — generous (rich content, multi-field forms) */

.popover--p-xl > .popover__body {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1.25rem;
  padding-bottom: 0.75rem;
}

.popover--p-xl > form > .popover__body {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1.25rem;
  padding-bottom: 0.75rem;
}

.popover--p-xl > .popover__header {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.popover--p-xl > .popover__footer {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

/* Sizes */

.popover--sm { width: 200px; }

.popover--md { width: 280px; }

.popover--lg { width: 400px; }

.popover--auto-width { width: auto; }

/* Animation */

.popover.is-open {
  -webkit-animation: popover-in var(--duration-fast, 100ms) var(--ease-out, ease-out);
  animation: popover-in var(--duration-fast, 100ms) var(--ease-out, ease-out);
}

@-webkit-keyframes popover-in {
  from { opacity: 0; -webkit-transform: scale(0.95); transform: scale(0.95); }
  to { opacity: 1; -webkit-transform: scale(1); transform: scale(1); }
}

@keyframes popover-in {
  from { opacity: 0; -webkit-transform: scale(0.95); transform: scale(0.95); }
  to { opacity: 1; -webkit-transform: scale(1); transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .popover.is-open {
    -webkit-animation: none;
    animation: none;
  }
}

/* ==========================================================================
 * Notes popover — line-clamped text with click-to-read popover
 * Usage:
 *   <div class="notes-clamp" data-notes-popover>
 *     <div class="notes-clamp__text text-clamp-3 whitespace-pre-wrap">Long notes...</div>
 *   </div>
 * JS auto-inits: detects overflow, adds "Read more" trigger + popover.
 * ========================================================================== */

.notes-clamp {
  position: relative;
}

/* Fade-out gradient when text is clamped */

.notes-clamp.is-clamped .notes-clamp__text {
  cursor: pointer;
}

.notes-clamp__more {
  margin-top: 0.125rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-link);
}

.notes-clamp__more:hover {
  color: var(--text-link-hover);
  text-decoration: underline;
}

/* Notes popover — scrollbar flush to edge, padding inside */

.notes-clamp__full-wrapper {
  padding: 0px;
}

.popover .notes-clamp__full {
  white-space: pre-wrap;
  padding: 1rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .popover .notes-clamp__full {
  line-height: 1.3;
}

.popover .notes-clamp__full {
  max-height: 320px;
  overflow-y: auto;
  scrollbar-width: thin;
}

/* ========================================
   Component: Context Menu (right-click)
   Reuses dropdown-menu styling, positioned at cursor
   ======================================== */

.context-menu {
  position: fixed;
  z-index: 9999;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 0.25rem;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  min-width: 10rem;
  background-color: var(--bg-dropdown);
  border-color: var(--border-dropdown);
  color: var(--text-dropdown);
  backdrop-filter: var(--blur-dropdown-backdrop);
  -webkit-box-shadow: var(--shadow-dropdown);
  box-shadow: var(--shadow-dropdown);
  display: none;
}

.context-menu.is-open {
  display: block;
  -webkit-animation: context-menu-in var(--duration-fast, 100ms) var(--ease-out, ease-out);
  animation: context-menu-in var(--duration-fast, 100ms) var(--ease-out, ease-out);
}

/* Grain overlay (matches dropdown) */

.context-menu::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><filter id='noiseFilter'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23noiseFilter)' opacity='1'/></svg>");
  background-repeat: repeat;
  mix-blend-mode: overlay;
  opacity: var(--opacity-dropdown-grain, 0);
  pointer-events: none;
  z-index: 0;
  border-radius: inherit;
}

.context-menu > * {
  position: relative;
  z-index: 1;
}

/* Glass variant */

.context-menu--glass {
  background-color: var(--bg-dropdown-glass);
  border-color: var(--border-dropdown-glass);
  color: var(--text-dropdown-glass);
  backdrop-filter: var(--blur-dropdown-glass);
  -webkit-box-shadow: var(--shadow-dropdown-glass);
  box-shadow: var(--shadow-dropdown-glass);
}

.context-menu--glass::after {
  opacity: var(--opacity-dropdown-glass-grain, 0);
}

/* Reuse dropdown items inside context menu */

.context-menu .dropdown-item { }

.context-menu .dropdown-divider { }

.context-menu .dropdown-title { }

.context-menu .dropdown-icon { }

.context-menu .dropdown-end { }

/* Glass item overrides */

.context-menu--glass .dropdown-item {
  color: var(--text-dropdown-item-glass);
}

.context-menu--glass .dropdown-item:hover {
  background-color: var(--bg-dropdown-glass-hover);
}

.context-menu--glass .dropdown-item:active {
  background-color: var(--bg-dropdown-glass-active);
}

/* Widths */

.context-menu--sm { width: 10rem; }

.context-menu--md { width: 12rem; }

.context-menu--lg { width: 14rem; }

@-webkit-keyframes context-menu-in {
  from { opacity: 0; -webkit-transform: scale(0.95); transform: scale(0.95); }
  to   { opacity: 1; -webkit-transform: scale(1); transform: scale(1); }
}

@keyframes context-menu-in {
  from { opacity: 0; -webkit-transform: scale(0.95); transform: scale(0.95); }
  to   { opacity: 1; -webkit-transform: scale(1); transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .context-menu.is-open {
    -webkit-animation: none;
    animation: none;
  }
}

/* ========================================
   Component: Lightbox
   Full-screen image overlay with navigation
   ======================================== */

.lightbox-backdrop {
  position: fixed;
  inset: 0px;
  z-index: 9998;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.lightbox-backdrop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .lightbox-backdrop {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.lightbox-backdrop {
  background-color: var(--bg-modal-overlay);
  display: none;
  opacity: 0;
  -webkit-transition: opacity var(--duration-normal, 200ms) var(--ease-default, ease);
  transition: opacity var(--duration-normal, 200ms) var(--ease-default, ease);
}

.lightbox-backdrop.is-open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  opacity: 1;
}

/* Image container */

.lightbox__image-wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.lightbox__image-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .lightbox__image-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.lightbox__image-wrap {
  max-width: 90vw;
  max-height: 85vh;
}

.lightbox__image {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  max-width: 90vw;
  max-height: 85vh;
  -o-object-fit: contain;
  object-fit: contain;
  border-radius: var(--radius-md, 0.375rem);
  -webkit-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
}

.lightbox__image.is-loading {
  opacity: 0;
}

/* Shimmer placeholder behind loading image */

.lightbox__shimmer {
  position: absolute;
  border-radius: 0.375rem;
  width: 60vw;
  height: 50vh;
  max-width: 600px;
  max-height: 400px;
  background: -webkit-gradient(
    linear,
    left top, right top,
    color-stop(25%, rgba(255, 255, 255, 0.04)),
    color-stop(37%, rgba(255, 255, 255, 0.08)),
    color-stop(63%, rgba(255, 255, 255, 0.04))
  );
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.04) 25%,
    rgba(255, 255, 255, 0.08) 37%,
    rgba(255, 255, 255, 0.04) 63%
  );
  background-size: 200% 100%;
  -webkit-animation: shimmer 1.5s ease-in-out infinite;
  animation: shimmer 1.5s ease-in-out infinite;
}

/* Navigation arrows */

.lightbox__prev,
.lightbox__next {
  position: absolute;
  top: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  --tw-translate-y: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
}

.collapse.show.lightbox__prev,.collapse.show
.lightbox__next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .lightbox__prev,.ach-card > 
.lightbox__next {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.lightbox__prev,
.lightbox__next {
  width: 40px;
  height: 40px;
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(8px);
  -webkit-transition: background-color 150ms ease, color 150ms ease;
  transition: background-color 150ms ease, color 150ms ease;
  z-index: 2;
}

.lightbox__prev:hover,
.lightbox__next:hover {
  background-color: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.lightbox__prev {
  left: 1rem;
}

.lightbox__next {
  right: 1rem;
}

/* Close button */

.lightbox__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
}

.collapse.show.lightbox__close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .lightbox__close {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.lightbox__close {
  width: 36px;
  height: 36px;
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(8px);
  -webkit-transition: background-color 150ms ease;
  transition: background-color 150ms ease;
  z-index: 3;
}

.lightbox__close:hover {
  background-color: rgba(255, 255, 255, 0.25);
  color: #fff;
}

/* Counter (e.g. "3 / 12") */

.lightbox__counter {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  --tw-translate-x: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-radius: 9999px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.wizard-card--trait .lightbox__counter {
  line-height: 1.3;
}

.lightbox__counter {
  background-color: rgba(0, 0, 0, 0.5);
  color: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(8px);
  z-index: 3;
}

/* Caption */

.lightbox__caption {
  position: absolute;
  bottom: 3rem;
  left: 50%;
  --tw-translate-x: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  text-align: center;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: rgba(255, 255, 255, 0.6);
  max-width: 80vw;
  z-index: 3;
}

/* Thumbnail strip in lightbox */

.lightbox__thumbs {
  position: absolute;
  bottom: 6rem;
  left: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  --tw-translate-x: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  gap: 0.5rem;
  border-radius: 0.75rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.lightbox__thumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .lightbox__thumbs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.lightbox__thumbs {
  background-color: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(12px);
  max-width: 80vw;
  overflow-x: auto;
  z-index: 3;
}

.lightbox__thumb {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  cursor: pointer;
  overflow: hidden;
  border-radius: 0.375rem;
  width: 48px;
  height: 48px;
  border: 2px solid transparent;
  opacity: 0.6;
  -webkit-transition: opacity 150ms ease, border-color 150ms ease;
  transition: opacity 150ms ease, border-color 150ms ease;
}

.lightbox__thumb:hover {
  opacity: 0.9;
}

.lightbox__thumb.is-active {
  opacity: 1;
  border-color: #fff;
}

.lightbox__thumb img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* Animation */

.lightbox-backdrop.is-open .lightbox__image {
  -webkit-animation: lightbox-img-in 250ms ease-out;
  animation: lightbox-img-in 250ms ease-out;
}

@-webkit-keyframes lightbox-img-in {
  from { opacity: 0; -webkit-transform: scale(0.92); transform: scale(0.92); }
  to   { opacity: 1; -webkit-transform: scale(1); transform: scale(1); }
}

@keyframes lightbox-img-in {
  from { opacity: 0; -webkit-transform: scale(0.92); transform: scale(0.92); }
  to   { opacity: 1; -webkit-transform: scale(1); transform: scale(1); }
}

/* Touch/swipe support */

.lightbox__image.is-swiping {
  -webkit-transition: none !important;
  transition: none !important;
  -webkit-animation: none !important;
  animation: none !important;
}

/* Larger touch targets on mobile */

@media (pointer: coarse) {
  .lightbox__prev,
  .lightbox__next {
    width: 48px;
    height: 48px;
  }

  .lightbox__close {
    width: 44px;
    height: 44px;
    top: 0.75rem;
    right: 0.75rem;
  }

  .lightbox__thumb {
    width: 56px;
    height: 56px;
  }

  /* Move nav arrows to bottom corners for thumb reach */
  .lightbox__prev,
  .lightbox__next {
    top: auto;
    bottom: 5rem;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }

  .lightbox__prev {
    left: 1.5rem;
  }

  .lightbox__next {
    right: 1.5rem;
  }
}

/* Swipe hint on first open */

.lightbox-backdrop[data-swipe-hint]::after {
  content: '';
  position: absolute;
  bottom: 8rem;
  left: 50%;
  --tw-translate-x: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  width: 40px;
  height: 4px;
  border-radius: 2px;
  background-color: rgba(255, 255, 255, 0.3);
  -webkit-animation: lightbox-swipe-hint 1.5s ease-in-out;
  animation: lightbox-swipe-hint 1.5s ease-in-out;
  pointer-events: none;
}

@-webkit-keyframes lightbox-swipe-hint {
  0% { -webkit-transform: translateX(-50%); transform: translateX(-50%); opacity: 0; }
  30% { -webkit-transform: translateX(calc(-50% + 30px)); transform: translateX(calc(-50% + 30px)); opacity: 1; }
  60% { -webkit-transform: translateX(calc(-50% - 30px)); transform: translateX(calc(-50% - 30px)); opacity: 1; }
  100% { -webkit-transform: translateX(-50%); transform: translateX(-50%); opacity: 0; }
}

@keyframes lightbox-swipe-hint {
  0% { -webkit-transform: translateX(-50%); transform: translateX(-50%); opacity: 0; }
  30% { -webkit-transform: translateX(calc(-50% + 30px)); transform: translateX(calc(-50% + 30px)); opacity: 1; }
  60% { -webkit-transform: translateX(calc(-50% - 30px)); transform: translateX(calc(-50% - 30px)); opacity: 1; }
  100% { -webkit-transform: translateX(-50%); transform: translateX(-50%); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .lightbox-backdrop {
    -webkit-transition: none;
    transition: none;
  }
  .lightbox-backdrop.is-open .lightbox__image {
    -webkit-animation: none;
    animation: none;
  }
}

/* ========================================
   Component: Command Palette
   ======================================== */

.command-palette {
  position: fixed;
  inset: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.command-palette {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .command-palette {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.command-palette {
  padding-top: 20vh;
  background-color: var(--bg-command-palette-backdrop, oklch(0% 0 0 / 0.5));
  z-index: var(--z-modal, 50);
  display: none;
}

.command-palette.is-open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.command-palette__dialog {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
  border-width: 1px;
}

.collapse.show.command-palette__dialog {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .command-palette__dialog {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.command-palette__dialog {
  width: 100%;
  max-width: 560px;
  max-height: 400px;
  background-color: var(--bg-command-palette, var(--bg-surface));
  border-color: var(--border-command-palette, var(--border-primary));
  -webkit-box-shadow: var(--shadow-command-palette, var(--shadow-xl));
  box-shadow: var(--shadow-command-palette, var(--shadow-xl));
  border-radius: var(--radius-command-palette, var(--radius-xl, 0.75rem));
}

.command-palette__search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-bottom-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.command-palette__search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .command-palette__search {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.command-palette__search {
  border-color: var(--border-command-palette, var(--border-primary));
}

.command-palette__search-icon {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-command-palette-muted, var(--text-tertiary));
}

.command-palette__input {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  border-style: none;
  background-color: transparent;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.menu--collapsed .menu-link .command-palette__input {
      display: none;
    }

.command-palette__input {
  color: var(--text-command-palette, var(--text-primary));
}

.command-palette__input::-webkit-input-placeholder {
  color: var(--text-command-palette-muted, var(--text-tertiary));
}

.command-palette__input::-moz-placeholder {
  color: var(--text-command-palette-muted, var(--text-tertiary));
}

.command-palette__input:-ms-input-placeholder {
  color: var(--text-command-palette-muted, var(--text-tertiary));
}

.command-palette__input::-ms-input-placeholder {
  color: var(--text-command-palette-muted, var(--text-tertiary));
}

.command-palette__input::placeholder {
  color: var(--text-command-palette-muted, var(--text-tertiary));
}

.command-palette__results {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow-y: auto;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.menu--collapsed .menu-link .command-palette__results {
      display: none;
    }

.command-palette__group {
  margin-bottom: 0.25rem;
}

.command-palette__group-label {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--text-command-palette-muted, var(--text-tertiary));
}

.command-palette__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.command-palette__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .command-palette__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.command-palette__item {
  color: var(--text-command-palette, var(--text-primary));
  -webkit-transition: background-color var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: background-color var(--duration-fast, 100ms) var(--ease-default, ease);
}

.command-palette__item:hover,
.command-palette__item--active {
  background-color: var(--bg-command-palette-item-hover, var(--bg-hover));
}

.command-palette__item-icon {
  width: 1.25rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  text-align: center;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-command-palette-muted, var(--text-tertiary));
}

.command-palette__item-label {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  font-size: 0.75rem;
  line-height: 1rem;
}

.menu--collapsed .menu-link .command-palette__item-label {
      display: none;
    }

.wizard-card--trait .command-palette__item-label {
  line-height: 1.3;
}

.command-palette__shortcut {
  margin-left: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.125rem;
}

.command-palette__empty {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .command-palette__empty {
  line-height: 1.3;
}

.command-palette__empty {
  color: var(--text-command-palette-muted, var(--text-tertiary));
}

.command-palette__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  border-top-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.6875rem;
  line-height: 1rem;
}

.collapse.show.command-palette__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .command-palette__footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.command-palette__footer {
  border-color: var(--border-command-palette, var(--border-primary));
  color: var(--text-command-palette-muted, var(--text-tertiary));
}

/* kbd badge */

.kbd {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.25rem;
  border-width: 1px;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  min-width: 20px;
  background-color: var(--bg-kbd, var(--bg-tertiary));
  color: var(--text-kbd, var(--text-secondary));
  border-color: var(--border-kbd, var(--border-primary));
  -webkit-box-shadow: var(--shadow-kbd, var(--shadow-xs));
  box-shadow: var(--shadow-kbd, var(--shadow-xs));
}

.kbd-sm {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  padding-top: 0px;
  padding-bottom: 0px;
  font-size: 0.6875rem;
  line-height: 1rem;
  min-width: 16px;
}

/* Animation */

.command-palette.is-open .command-palette__dialog {
  -webkit-animation: command-palette-in var(--duration-normal, 200ms) var(--ease-out, ease-out);
  animation: command-palette-in var(--duration-normal, 200ms) var(--ease-out, ease-out);
}

@-webkit-keyframes command-palette-in {
  from { opacity: 0; -webkit-transform: scale(0.95) translateY(-10px); transform: scale(0.95) translateY(-10px); }
  to { opacity: 1; -webkit-transform: scale(1) translateY(0); transform: scale(1) translateY(0); }
}

@keyframes command-palette-in {
  from { opacity: 0; -webkit-transform: scale(0.95) translateY(-10px); transform: scale(0.95) translateY(-10px); }
  to { opacity: 1; -webkit-transform: scale(1) translateY(0); transform: scale(1) translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .command-palette.is-open .command-palette__dialog {
    -webkit-animation: none;
    animation: none;
  }
}

/*Status*/

/* =========================================================
   Spinner Animations
   ========================================================= */

@-webkit-keyframes rotate {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotate {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-webkit-keyframes dash {
  0% {
    stroke-dasharray: 1 100;
    stroke-dashoffset: 0;
  }

  50% {
    stroke-dasharray: 65 100;
    stroke-dashoffset: -15;
  }

  100% {
    stroke-dasharray: 65 100;
    stroke-dashoffset: -100;
  }
}

@keyframes dash {
  0% {
    stroke-dasharray: 1 100;
    stroke-dashoffset: 0;
  }

  50% {
    stroke-dasharray: 65 100;
    stroke-dashoffset: -15;
  }

  100% {
    stroke-dasharray: 65 100;
    stroke-dashoffset: -100;
  }
}

@-webkit-keyframes spinner-pop {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2px) scale(0.98);
    transform: translateY(2px) scale(0.98);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
    transform: translateY(0) scale(1);
  }
}

@keyframes spinner-pop {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2px) scale(0.98);
    transform: translateY(2px) scale(0.98);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
    transform: translateY(0) scale(1);
  }
}

/* =========================================================
   Spinner Overlay
   ========================================================= */

.spinner-overlay {
  position: absolute;
  inset: 0px;
  z-index: 1500;
  cursor: progress;
  overflow: hidden;
  border-radius: 0.25rem;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity var(--duration-spinner-overlay) var(--ease-spinner-overlay);
  transition: opacity var(--duration-spinner-overlay) var(--ease-spinner-overlay);
}

.spinner-overlay[data-visible="true"] {
    opacity: 1;
    pointer-events: auto;
  }

.spinner-overlay::before {
    content: "";
    position: absolute;
    inset: 0px;
    border-radius: 0.25rem;
    background: var(--bg-spinner-overlay);
    backdrop-filter: blur(var(--blur-spinner-overlay));
    pointer-events: none;
  }

/* =========================================================
   Spinner Layout
   ========================================================= */

.spinner-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.spinner-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .spinner-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.spinner-container {
  z-index: 1;
}

.spinner-content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.spinner-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .spinner-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.spinner-content {
  z-index: 2;
  color: var(--text-spinner);
  -webkit-animation: spinner-pop var(--duration-spinner-pop) var(--ease-spinner-pop) both;
  animation: spinner-pop var(--duration-spinner-pop) var(--ease-spinner-pop) both;
}

/* =========================================================
   SVG Spinner
   ========================================================= */

.spinner {
  width: var(--size-spinner);
  height: var(--size-spinner);
  color: var(--text-spinner);
  display: block;
  -webkit-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-animation: rotate var(--duration-spinner-rotate) linear infinite;
  animation: rotate var(--duration-spinner-rotate) linear infinite;
}

/* Faint base circle */

.spinner-track {
  stroke: currentColor;
  stroke-width: var(--stroke-spinner);
  opacity: var(--opacity-spinner-track);
  shape-rendering: geometricPrecision;
}

/* Animated arc */

.spinner-ring {
  stroke: currentColor;
  stroke-width: var(--stroke-spinner);
  stroke-linecap: round;
  shape-rendering: geometricPrecision;
  -webkit-animation: dash var(--duration-spinner-dash) var(--ease-spinner-dash) infinite;
  animation: dash var(--duration-spinner-dash) var(--ease-spinner-dash) infinite;
}

/* =========================================================
   Size Variants
   ========================================================= */

.spinner[data-size="sm"] {
  --size-spinner: var(--size-spinner-sm);
  --stroke-spinner: var(--stroke-spinner-sm);
}

.spinner[data-size="md"] {
  --size-spinner: var(--size-spinner-md);
  --stroke-spinner: var(--stroke-spinner-md);
}

.spinner[data-size="lg"] {
  --size-spinner: var(--size-spinner-lg);
  --stroke-spinner: var(--stroke-spinner-lg);
}

.spinner[data-size="xl"] {
  --size-spinner: var(--size-spinner-xl);
  --stroke-spinner: var(--stroke-spinner-xl);
}

/* =========================================================
   Reduced Motion
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .spinner {
    -webkit-animation: none;
    animation: none;
  }

  .spinner-ring {
    -webkit-animation: none;
    animation: none;
    stroke-dasharray: 65 100;
    stroke-dashoffset: -25;
  }

  .spinner-content {
    -webkit-animation: none;
    animation: none;
  }
}

/* ========================================
   Component: Skeleton
   ======================================== */

@-webkit-keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.skeleton {
  display: block;
  border-radius: 0.25rem;
  background: linear-gradient(
    90deg,
    var(--bg-skeleton, var(--bg-tertiary)) 25%,
    var(--bg-skeleton-highlight, var(--bg-secondary)) 37%,
    var(--bg-skeleton, var(--bg-tertiary)) 63%
  );
  background-size: 200% 100%;
  -webkit-animation: shimmer 1.5s ease-in-out infinite;
  animation: shimmer 1.5s ease-in-out infinite;
}

.skeleton--text {
  height: 0.75rem;
  width: 100%;
  border-radius: 0.25rem;
}

.skeleton--text-sm {
  height: 0.625rem;
  width: 75%;
  border-radius: 0.25rem;
}

.skeleton--text-lg {
  height: 1rem;
  width: 100%;
  border-radius: 0.25rem;
}

.skeleton--heading {
  height: 1.5rem;
  width: 66.666667%;
  border-radius: 0.25rem;
}

.skeleton--avatar {
  border-radius: 9999px;
  width: 40px;
  height: 40px;
}

.skeleton--avatar-sm {
  border-radius: 9999px;
  width: 32px;
  height: 32px;
}

.skeleton--avatar-lg {
  border-radius: 9999px;
  width: 48px;
  height: 48px;
}

.skeleton--button {
  height: 2rem;
  width: 6rem;
  border-radius: 0.375rem;
}

.skeleton--card {
  height: 10rem;
  width: 100%;
  border-radius: 0.5rem;
}

.skeleton--image {
  width: 100%;
  border-radius: 0.5rem;
  aspect-ratio: 16/9;
}

.skeleton--thumbnail {
  border-radius: 0.375rem;
  width: 100%;
  height: 100%;
}

.skeleton--thumbnail-sm {
  border-radius: 0.375rem;
  width: 32px;
  height: 32px;
}

.skeleton--table-row {
  height: 2.5rem;
  width: 100%;
  border-radius: 0.25rem;
}

.skeleton--circle {
  border-radius: 9999px;
}

/* =========================================================
   Image shimmer loading — fade-in on load
   ========================================================= */

/* Thumbnail buttons show shimmer background while image loads.
   Only apply the gradient when the container actually has an <img>. */

[data-product-thumb]:has(img) {
  background: linear-gradient(
    90deg,
    var(--bg-skeleton, var(--bg-tertiary)) 25%,
    var(--bg-skeleton-highlight, var(--bg-secondary)) 37%,
    var(--bg-skeleton, var(--bg-tertiary)) 63%
  );
  background-size: 200% 100%;
  overflow: hidden;
}

[data-product-thumb]:has(img.is-loading) {
  -webkit-animation: shimmer 1.5s ease-in-out infinite;
  animation: shimmer 1.5s ease-in-out infinite;
}

[data-product-thumb] img {
  -webkit-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
}

[data-product-thumb] img.is-loading {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .skeleton {
    -webkit-animation: none;
    animation: none;
  }

  [data-product-thumb]:has(img.is-loading) {
    -webkit-animation: none;
    animation: none;
  }
}

/* ========================================
   Component: Alert / Banner
   ======================================== */

.alert {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.75rem;
  border-radius: 0.5rem;
  border-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.collapse.show.alert {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .alert {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .alert {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.alert {
  color: var(--text-alert, var(--text-primary));
  background-color: var(--bg-alert, var(--bg-surface));
  border-color: var(--border-alert, var(--border-primary));
}

.alert__icon {
  margin-top: 0.125rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: var(--icon-alert, inherit);
}

.alert__content {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .alert__content {
      display: none;
    }

.alert__title {
  margin-bottom: 0.125rem;
  font-weight: 500;
}

.alert__message {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .alert__message {
  line-height: 1.3;
}

.alert__message {
  opacity: 0.85;
}

.alert__dismiss {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  cursor: pointer;
  border-radius: 0.375rem;
  padding: 0.125rem;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
  color: var(--text-alert-dismiss, var(--text-tertiary));
  background: transparent;
  border: none;
}

.alert__dismiss:hover {
  background-color: var(--bg-alert-dismiss-hover, oklch(0% 0 0 / 0.06));
}

.alert__actions {
  margin-top: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
}

.collapse.show.alert__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .alert__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* --- Variants --- */

.alert--info {
  --text-alert: var(--text-info-solid, var(--utility-blue-800));
  --bg-alert: var(--bg-info-subtle, var(--utility-blue-50));
  --border-alert: var(--border-info-subtle, var(--utility-blue-200));
  --icon-alert: var(--text-info, var(--utility-blue-600));
}

.alert--success {
  --text-alert: var(--text-success-solid, var(--utility-green-800));
  --bg-alert: var(--bg-success-subtle, var(--utility-green-50));
  --border-alert: var(--border-success-subtle, var(--utility-green-200));
  --icon-alert: var(--text-success, var(--utility-green-600));
}

.alert--warning {
  --text-alert: var(--text-warning-solid, var(--utility-amber-800));
  --bg-alert: var(--bg-warning-subtle, var(--utility-amber-50));
  --border-alert: var(--border-warning-subtle, var(--utility-amber-200));
  --icon-alert: var(--text-warning, var(--utility-amber-600));
}

.alert--danger {
  --text-alert: var(--text-danger-solid, var(--utility-red-800));
  --bg-alert: var(--bg-danger-subtle, var(--utility-red-50));
  --border-alert: var(--border-danger-subtle, var(--utility-red-200));
  --icon-alert: var(--text-danger, var(--utility-red-600));
}

/* --- Variants: Solid --- */

.alert--info-solid {
  --text-alert: var(--alpha-white-100);
  --bg-alert: var(--bg-info-solid, var(--utility-blue-600));
  --border-alert: var(--bg-info-solid, var(--utility-blue-600));
  --icon-alert: var(--alpha-white-100);
  --text-alert-dismiss: var(--alpha-white-80);
  --bg-alert-dismiss-hover: oklch(100% 0 0 / 0.15);
}

.alert--success-solid {
  --text-alert: var(--alpha-white-100);
  --bg-alert: var(--bg-success-solid, var(--utility-green-600));
  --border-alert: var(--bg-success-solid, var(--utility-green-600));
  --icon-alert: var(--alpha-white-100);
  --text-alert-dismiss: var(--alpha-white-80);
  --bg-alert-dismiss-hover: oklch(100% 0 0 / 0.15);
}

.alert--warning-solid {
  --text-alert: var(--utility-amber-950, #451a03);
  --bg-alert: var(--bg-warning-solid, var(--utility-amber-400));
  --border-alert: var(--bg-warning-solid, var(--utility-amber-400));
  --icon-alert: var(--utility-amber-950, #451a03);
  --text-alert-dismiss: var(--utility-amber-800);
  --bg-alert-dismiss-hover: oklch(0% 0 0 / 0.08);
}

.alert--danger-solid {
  --text-alert: var(--alpha-white-100);
  --bg-alert: var(--bg-danger-solid, var(--utility-red-600));
  --border-alert: var(--bg-danger-solid, var(--utility-red-600));
  --icon-alert: var(--alpha-white-100);
  --text-alert-dismiss: var(--alpha-white-80);
  --bg-alert-dismiss-hover: oklch(100% 0 0 / 0.15);
}

/* --- Banner (full-width, no border-radius) --- */

.alert--banner {
  border-radius: 0px;
  border-left-width: 0px;
  border-right-width: 0px;
}

/* --- Compact --- */

.alert--compact {
  gap: 0.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

/*Utility*/

/* ==========================================================================
   FILTER SIDEBAR (collapsible side panel)
   - Uses width transition instead of display toggle for smooth animation.
   - Collapsed: width 0, overflow hidden.
   - Open: width var(--width-filter-sidebar, 280px).
   ========================================================================== */

.filter-sidebar {
  position: relative;
  width: 0;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transition: width var(--transition-panel, 200ms ease),
              min-width var(--transition-panel, 200ms ease);
  transition: width var(--transition-panel, 200ms ease),
              min-width var(--transition-panel, 200ms ease);
}

/* Lock inner content width so it doesn't reflow during width transition */

.filter-sidebar > *:not(.filter-sidebar__resize):not(.filter-sidebar__actions) {
  width: var(--width-filter-sidebar, 280px);
  min-width: var(--width-filter-sidebar, 280px);
  opacity: 0;
  -webkit-transition: opacity 150ms ease 50ms;
  transition: opacity 150ms ease 50ms;
}

.filter-sidebar.is-open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: var(--width-filter-sidebar, 280px);
  min-width: var(--width-filter-sidebar, 280px);
  overflow: visible;
  background-color: var(--bg-panel);
}

.filter-sidebar.is-open > *:not(.filter-sidebar__resize):not(.filter-sidebar__actions) {
  opacity: 1;
  -webkit-transition: opacity 180ms ease 80ms;
  transition: opacity 180ms ease 80ms;
}

/* Disable transitions during drag resize */

.filter-sidebar.is-resizing {
  -webkit-transition: none;
  transition: none;
}

.filter-sidebar.is-resizing > * {
  -webkit-transition: none;
  transition: none;
}

/* Border inside the sidebar (right-aligned sidebars get right border) */

.filter-sidebar.is-open::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 1px;
  background-color: var(--border-panel, var(--border-primary));
  pointer-events: none;
  z-index: 2;
}

/* Left-side border for right-aligned sidebars */

.filter-sidebar.filter-sidebar--right.is-open::after {
  right: auto;
  left: 0;
}

/* Resize drag handle */

.filter-sidebar__resize {
  position: absolute;
  top: 0;
  bottom: 0;
  right: -2px;
  width: 4px;
  cursor: col-resize;
  z-index: 3;
  background: transparent;
  -webkit-transition: background-color 150ms ease;
  transition: background-color 150ms ease;
}

.filter-sidebar__resize:hover,
.filter-sidebar__resize.is-active {
  background-color: var(--border-info, var(--color-primary-500));
  opacity: 0.5;
}

.filter-sidebar--right .filter-sidebar__resize {
  right: auto;
  left: -2px;
}

/* Filter sidebar action buttons (min, max, reset)
   Centered on the resize edge (like split-pane divider actions).
   Revealed by JS proximity detection (.is-actions-nearby on sidebar). */

.filter-sidebar__actions {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translate(50%, -50%);
  -ms-transform: translate(50%, -50%);
  transform: translate(50%, -50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2px;
  z-index: 4;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 150ms ease 75ms;
  transition: opacity 150ms ease 75ms;
}

.filter-sidebar--right .filter-sidebar__actions {
  right: auto;
  left: 0;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/* Reveal via proximity detection (JS toggles .is-actions-nearby on the sidebar) */

.filter-sidebar.is-actions-nearby .filter-sidebar__actions,
.filter-sidebar__actions:focus-within {
  opacity: 1;
  pointer-events: auto;
  -webkit-transition-delay: 0ms;
  transition-delay: 0ms;
}

/* Hide during drag resize */

.filter-sidebar.is-resizing .filter-sidebar__actions {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Individual action button */

.filter-sidebar__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  width: 20px;
  height: 20px;
  background-color: var(--bg-surface, var(--canvas-secondary));
  border: 1px solid var(--border-secondary);
  color: var(--text-tertiary);
  font-size: 10px;
  cursor: pointer;
  -webkit-transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.filter-sidebar__action:hover {
  background-color: var(--bg-info-subtle);
  border-color: var(--border-info, var(--color-info));
  color: var(--text-info, var(--color-info));
}

.filter-sidebar__action:focus-visible {
  outline: 2px solid var(--color-info);
  outline-offset: 1px;
}

/* Disabled state — sidebar already at min/max limit */

.filter-sidebar__action.is-disabled,
.filter-sidebar__action:disabled {
  opacity: 0.3;
  pointer-events: none;
  cursor: default;
}

/* Mobile: filter sidebar becomes full-screen overlay */

@media (max-width: 639px) {
  .filter-sidebar.is-open {
    position: fixed;
    inset: 0;
    width: 100%;
    min-width: 100%;
    z-index: var(--z-tray, 50);
    background-color: var(--bg-surface, var(--canvas-secondary));
  }

  .filter-sidebar__resize,
  .filter-sidebar__actions {
    display: none;
  }
}

/* ==========================================================================
   FILTER PANEL (container)
   ========================================================================== */

.filter-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.filter-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.menu--collapsed .menu-link .filter-panel {
      display: none;
    }

@media (max-width: 420px) {
  .ach-card > .filter-panel {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ==========================================================================
   FILTER SIDEBAR — Small-size form controls
   All inputs, selects, textareas, and buttons inside the sidebar use
   the compact size so filter panels stay dense and space-efficient.
   ========================================================================== */

.filter-sidebar .form-control,
.filter-sidebar select.form-control,
.filter-sidebar textarea.form-control {
  min-height: 1.75rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1rem;
}

.filter-sidebar .btn-soft {
  min-height: 1.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

/* ==========================================================================
   FILTER ITEM (leaf row)
   ========================================================================== */

.filter-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 0.625rem;
  -moz-column-gap: 0.625rem;
  column-gap: 0.625rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 4px;
  padding-bottom: 5px;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.collapse.show.filter-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .filter-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.filter-item:hover {
  cursor: pointer;
}

.filter-item {
  color: var(--text-filter, var(--text-primary));
  background-color: var(--bg-filter, var(--alpha-white-100));
}

.filter-item:hover {
    color: var(--text-filter-hover, var(--text-primary-hover));
    background-color: var(--bg-filter-hover, var(--bg-primary-subtle));
  }

/* Active (leaf) */

.filter-item.active {
    background-color: var(--bg-filter-active, var(--bg-secondary-subtle));
  }

.filter-item.active:hover {
      color: var(--text-filter-hover, var(--text-primary-hover));
      background-color: var(--bg-filter-hover, var(--bg-primary-subtle));
    }

/* Selected (opt-in; e.g., aria-selected for listbox patterns) */

.filter-item.selected,
  .filter-item[aria-selected="true"] {
    background-color: var(--bg-filter-selected, var(--bg-info-subtle));
  }

/* Pressed (mousedown) */

.filter-item:active {
    background-color: var(--bg-filter-pressed, var(--bg-secondary-subtle));
  }

/* Disabled */

.filter-item.is-disabled,
  .filter-item[aria-disabled="true"] {
  pointer-events: none;
    opacity: var(--opacity-filter-disabled, 0.65);
    color: var(--text-filter-disabled, var(--text-disabled));
    background-color: var(--bg-filter-disabled, var(--bg-primary-subtle));
}

/* Optional: no-hover support at container level */

.filter-panel.no-hover .filter-item:hover {
  color: var(--text-filter, var(--text-primary));
  background-color: var(--bg-filter, var(--alpha-white-100));
}

/* ==========================================================================
   FILTER TOGGLE (header row that controls expand/collapse)
   - Use: .filter-item.filter-toggle with data-bs-target
   ========================================================================== */

.filter-item.filter-toggle {
  position: sticky;
  top: 0px;
  z-index: 2;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: var(--bg-filter-section, var(--bg-filter, var(--alpha-white-100)));
}

/* Chevron icon (left-side angle arrow) */

.filter-item .filter-chevron {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-filter-chevron, var(--text-tertiary));
  -webkit-transition: opacity 160ms ease, -webkit-transform 160ms ease;
  transition: opacity 160ms ease, -webkit-transform 160ms ease;
  transition: transform 160ms ease, opacity 160ms ease;
  transition: transform 160ms ease, opacity 160ms ease, -webkit-transform 160ms ease;
}

/* Rotate chevron when expanded */

.filter-item.filter-toggle[aria-expanded="true"] .filter-chevron {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  opacity: 1;
}

/* Hover */

.filter-item.filter-toggle:hover {
  background-color: var(--bg-filter-section-hover, var(--bg-filter-hover, var(--bg-primary-subtle)));
}

/* Make the header feel pressed without shifting */

.filter-item.filter-toggle:active {
  background-color: var(--bg-filter-section-pressed, var(--bg-filter-pressed, var(--bg-secondary-subtle)));
}

/* Loading state — spinner replaces chevron */

.filter-item.is-loading .filter-chevron {
  display: none;
}

.filter-item.is-loading::after {
  content: '';
  width: 12px;
  height: 12px;
  border: 2px solid var(--border-step-indicator, var(--border-tertiary));
  border-top-color: var(--text-primary);
  border-radius: 50%;
  -webkit-animation: filter-spin 0.6s linear infinite;
  animation: filter-spin 0.6s linear infinite;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
}

@-webkit-keyframes filter-spin {
  to { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}

@keyframes filter-spin {
  to { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}

/* "open" styling (when expanded) */

.filter-item.filter-toggle[aria-expanded="true"] {
  background-color: var(--bg-filter-section-open, var(--bg-filter, var(--alpha-white-100)));
}

/* ==========================================================================
   FILTER SECTION (wrapper around toggle + body)
   ========================================================================== */

.filter-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.filter-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .filter-section {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ==========================================================================
   FILTER SECTION BODY (expandable area below toggle)
   - Each section body is its own scroll container so list items
     never bleed behind the toggle header above.
   ========================================================================== */

.filter-section-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-bottom: 0.5rem;
}

.collapse.show.filter-section-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .filter-section-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* Search input pinned below the sticky toggle header */

.filter-section-header {
  z-index: 1;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  top: var(--height-filter-toggle, 33px);
  background-color: var(--bg-panel);
  position: sticky;
}

/* Clear button inside filter search input */

.filter-search-wrap {
  position: relative;
}

.filter-search-clear {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.filter-search-clear {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .filter-search-clear {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.filter-search-clear {
  right: 6px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  font-size: 10px;
  color: var(--text-tertiary);
  opacity: 0;
  pointer-events: none;
  border: none;
  background: none;
  padding: 0;
  border-radius: 50%;
  -webkit-transition: opacity var(--duration-fast, 100ms) ease,
              color var(--duration-fast, 100ms) ease;
  transition: opacity var(--duration-fast, 100ms) ease,
              color var(--duration-fast, 100ms) ease;
}

.filter-search-wrap.has-value .filter-search-clear {
  opacity: 0.5;
  pointer-events: auto;
}

.filter-search-clear:hover {
  opacity: 1;
  color: var(--text-primary);
}

.filter-search-wrap.has-value > input {
  padding-right: 26px;
}

/* ==========================================================================
   COLLAPSE BODY (legacy — kept for backwards compatibility)
   ========================================================================== */

.filter-collapse {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 0.75rem;
  background-color: var(--bg-filter-collapse, var(--bg-filter, var(--alpha-white-100)));
}

/* Optional inner surface for content */

.filter-collapse-inner {
  margin-top: 0.5rem;
  border-radius: 0.5rem;
  padding: 0.75rem;
  border-color: var(--border-filter-collapse, var(--border-filter, var(--border-primary-subtle)));
  background-color: var(--bg-filter-collapse-inner, var(--alpha-0));
}

/* Density options for body */

.filter-collapse-inner.is-compact {
  padding: 0.5rem;
}

.filter-collapse-inner.is-relaxed {
  padding: 1rem;
}

/* A common "stack" layout inside collapse bodies */

.filter-fields {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
}

.collapse.show.filter-fields {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .filter-fields {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* If you place nested filter-items inside collapse */

.filter-collapse .filter-item {
  border-radius: 0.375rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  background-color: var(--bg-filter-nested, var(--alpha-0));
}

.filter-collapse .filter-item:hover {
    background-color: var(--bg-filter-nested-hover, var(--bg-filter-hover, var(--bg-primary-subtle)));
  }

/* Optional focus-within highlight for collapse bodies containing inputs */

.filter-collapse:focus-within .filter-collapse-inner {
  border-color: var(--border-filter-focus, var(--border-info-subtle));
  -webkit-box-shadow: var(--ring-filter-focus, 0 0 0 2px var(--border-info-subtle));
  box-shadow: var(--ring-filter-focus, 0 0 0 2px var(--border-info-subtle));
}

/* ==========================================================================
   FILTER GROUP (labels + grouping)
   ========================================================================== */

.filter-group {
  border-color: transparent;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  border-color: var(--border-filter, var(--alpha-0));
}

.filter-group label {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .filter-group label {
  line-height: 1.3;
}

.filter-group label {
    color: var(--text-filter-label, var(--text-tertiary));
  }

/* ==========================================================================
   FILTER MENU (thin section header / strip)
   ========================================================================== */

.filter-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-top-width: 1px;
  border-bottom-width: 1px;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.collapse.show.filter-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .filter-menu {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .filter-menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.filter-menu:hover {
  cursor: pointer;
}

.filter-menu {
  color: var(--text-filter-menu, var(--text-secondary));
  background-color: var(--bg-filter-menu, var(--alpha-0));
  border-color: var(--border-filter, var(--alpha-0));
}

.filter-menu:hover {
    background-color: var(--bg-filter-hover, var(--bg-primary-subtle));
  }

.filter-menu:active {
    background-color: var(--bg-filter-active, var(--bg-secondary-subtle));
  }

/* ==========================================================================
   OPTIONAL: Intent rows (quick semantic emphasis)
   ========================================================================== */

.filter-item.is-success {
  background-color: var(--bg-filter-success, var(--bg-success-subtle));
}

.filter-item.is-warning {
  background-color: var(--bg-filter-warning, var(--bg-warning-subtle));
}

.filter-item.is-danger {
  background-color: var(--bg-filter-danger, var(--bg-danger-subtle));
}

.filter-item.is-info {
  background-color: var(--bg-filter-info, var(--bg-info-subtle));
}

.fal, .fa-light {
  /*@apply font-normal;*/
}

.fa-ellipsis-h, .fa-ellipsis-v {
  font-weight: 400 !important;
}

.icon-light {
  color: var(--text-icon-light);
}

.icon-dark {
  color: var(--text-icon-dark);
}

.icon-primary {
  color: var(--text-icon-primary);
}

.icon-success {
  color: var(--text-icon-success);
}

.icon-warning {
  color: var(--text-icon-warning);
}

.icon-danger {
  color: var(--text-icon-danger);
}

.icon-purple {
  color: var(--text-icon-purple);
}

.icon-pink {
  color: var(--text-icon-pink);
}

.icon-teal {
  color: var(--text-icon-teal);
}

.icon-ellipsis {
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: .75rem;
}

/* =========================================================
   Links V2
   ========================================================= */

/* Base Link */

.link {
  cursor: pointer;
  font-size: 0.875rem;
  line-height: 1.5rem;
  font-weight: 400;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  color: var(--text-link);
  text-decoration: none;
}

.link:hover {
    color: var(--text-link-hover);
  }

.link:focus-visible {
    outline: 2px solid var(--border-link-focus);
    outline-offset: 2px;
    border-radius: 4px;
  }

/* =========================================================
   Secondary Link
   ========================================================= */

.link-secondary {
  cursor: pointer;
  font-size: 0.875rem;
  line-height: 1.5rem;
  font-weight: 400;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  color: var(--text-link-secondary);
  text-decoration: none;
}

.link-secondary:hover {
    color: var(--text-link-secondary-hover);
  }

.link-secondary:focus-visible {
    outline: 2px solid var(--border-link-focus);
    outline-offset: 2px;
    border-radius: 4px;
  }

/* =========================================================
   Underline Modifier
   ========================================================= */

.link-underline {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.link-underline:hover {
    text-decoration-thickness: 2px;
  }

/* =========================================================
   Muted Variant
   ========================================================= */

.link-muted {
  color: var(--text-link-muted);
}

.link-muted:hover {
    color: var(--text-link-muted-hover);
  }

.link-sm {
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

/* =========================================================
   Danger Variant
   ========================================================= */

.link-danger {
  color: var(--text-link-danger);
}

.link-danger:hover {
    color: var(--text-link-danger-hover);
  }

/* =========================================================
   Sizes
   ========================================================= */

.link-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .link-xs {
  line-height: 1.3;
}

.link-sm {
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.link-md {
  font-size: 1rem;
  line-height: 1.5rem;
}

.link-lg {
  font-size: 1.125rem;
  line-height: 2rem;
}

/* =========================================================
   Disabled
   ========================================================= */

.link[aria-disabled="true"],
.link.is-disabled {
  pointer-events: none;
  opacity: 0.5;
}

/* =========================================================
   Reduced Motion
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .link,
  .link-secondary {
    -webkit-transition: none;
    transition: none;
  }
}

/*TEMP FOR COPY TO CLIPBOARD*/

.is-copied {
  background: var(--bg-success-subtle);
}

.is-copy-error {
  background: var(--bg-danger-subtle);
}

.notification-heading {
  width: 100%;
  padding: 1rem;
  padding-bottom: 0.5rem;
}


  .table thead.notification-heading {
  position: sticky;
  top: 0px;
  z-index: 20;
}

.table thead.notification-heading {
    background-color: var(--bg-table-header-sticky, var(--bg-table-header, var(--bg-primary)));
  }

.table thead.notification-heading > tr > th {
  position: sticky;
  top: 0px;
  z-index: 20;
      background-color: var(--bg-table-header-sticky, var(--bg-table-header, var(--bg-primary)));
      /* KEY FIX: remove border so it doesn't stack with the shadow separator */
      border-bottom-color: var(--alpha-0);
}


    .table thead.notification-heading > tr > th {
      -webkit-box-shadow: var(--shadow-table-sticky-header, inset 0 -1px 0 var(--border-table-header, var(--border-primary-alt)));
      box-shadow: var(--shadow-table-sticky-header, inset 0 -1px 0 var(--border-table-header, var(--border-primary-alt)));
    }


.table-container .table thead.notification-heading > tr:first-child > th:first-child {
  border-top-left-radius: var(--radius-table, 0.375rem);
}


.table-container .table thead.notification-heading > tr:first-child > th:last-child {
  border-top-right-radius: var(--radius-table, 0.375rem);
}

.notification-heading {
  background-color: var(--bg-notification-header);
}

.notification-card {
  margin-bottom: 0.5rem;
  max-width: 100%;
  border-radius: 0.375rem;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  background-color: var(--bg-notification-card);
}

.notification-card:hover {
  background-color: var(--bg-notification-card-hover);
}

/* === Swatch Wrapper (clickable item) === */

.theme-swatch {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1px;
  border-radius: 0.375rem;
  border-width: 1px;
  padding: 0.125rem;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  color: var(--text-theme-dropdown);
}

/* === Swatch Grid Container === */

.theme-swatch-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px;
}

/* === Shared Swatch Style === */

.theme-swatch-box {
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 0.125rem;
}

.theme-label {
  color: var(--text-theme-label);
}

/* === Light Theme === */

.theme-light {
  background-color: var(--bg-theme-light-swatch);
  border-color: var(--border-theme-light-swatch);
}

.theme-light .theme-base-swatch {
    background-color: var(--theme-light-base-swatch);
  }

.theme-light .theme-primary-swatch {
    background-color: var(--theme-light-primary-swatch);
  }

.theme-light .theme-secondary-swatch {
    background-color: var(--theme-light-secondary-swatch);
  }

.theme-light .theme-accent-swatch {
    background-color: var(--theme-light-accent-swatch);
  }

/* === Dark Theme === */

.theme-dark {
  background-color: var(--bg-theme-dark-swatch);
  border-color: var(--border-theme-dark-swatch);
}

.theme-dark .theme-base-swatch {
    background-color: var(--theme-dark-base-swatch);
  }

.theme-dark .theme-primary-swatch {
    background-color: var(--theme-dark-primary-swatch);
  }

.theme-dark .theme-secondary-swatch {
    background-color: var(--theme-dark-secondary-swatch);
  }

.theme-dark .theme-accent-swatch {
    background-color: var(--theme-dark-accent-swatch);
  }

/* === Mica Light Theme === */

.theme-mica-light {
  background-color: var(--bg-theme-mica-light-swatch);
  border-color: var(--border-theme-mica-light-swatch);
}

.theme-mica-light .theme-base-swatch {
    background-color: var(--theme-mica-light-base-swatch);
  }

.theme-mica-light .theme-primary-swatch {
    background-color: var(--theme-mica-light-primary-swatch);
  }

.theme-mica-light .theme-secondary-swatch {
    background-color: var(--theme-mica-light-secondary-swatch);
  }

.theme-mica-light .theme-accent-swatch {
    background-color: var(--theme-mica-light-accent-swatch);
  }

/* === Mica Dark Theme === */

.theme-mica-dark {
  background-color: var(--bg-theme-light-swatch);
  border-color: var(--border-theme-light-swatch);
}

.theme-mica-dark .theme-base-swatch {
    background-color: var(--theme-light-base-swatch);
  }

.theme-mica-dark .theme-primary-swatch {
    background-color: var(--theme-light-primary-swatch);
  }

.theme-mica-dark .theme-secondary-swatch {
    background-color: var(--theme-light-secondary-swatch);
  }

.theme-mica-dark .theme-accent-swatch {
    background-color: var(--theme-light-accent-swatch);
  }

/* ========================================
   Component: Toast (toastr library override)
   ======================================== */

#toast-container > div {
  border-radius: 0.5rem;
  opacity: 0.95;
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  position: relative;
  pointer-events: auto;
  overflow: hidden;
  margin: 0 0 6px;
  padding: 10px 15px 10px 50px;
  width: 280px;
  background-position: 15px center;
  background-repeat: no-repeat;
  background-size: 15px;
  color: var(--text-toast, var(--alpha-white-100));
  -webkit-transition: opacity var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: opacity var(--duration-fast, 100ms) var(--ease-default, ease);
}

#toast-container > div:hover {
  opacity: 1;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.toast-title {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .toast-title {
  line-height: 1.3;
}

.toast-message {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .toast-message {
  line-height: 1.3;
}

/* --- Intent variants --- */

#toast-container > .toast-warning {
  --bg-toast: var(--bg-warning-solid, var(--utility-amber-500));
  --text-toast: var(--text-warning-solid, var(--utility-amber-950));
  --border-toast: var(--border-warning-solid, var(--utility-amber-600));
  background-color: var(--bg-toast);
  color: var(--text-toast);
}

#toast-container > .toast-danger {
  --bg-toast: var(--bg-danger-solid, var(--utility-red-600));
  --text-toast: var(--alpha-white-100);
  --border-toast: var(--border-danger-solid, var(--utility-red-700));
  background-color: var(--bg-toast);
  color: var(--text-toast);
}

#toast-container > .toast-success {
  --bg-toast: var(--bg-success-solid, var(--utility-green-600));
  --text-toast: var(--alpha-white-100);
  --border-toast: var(--border-success-solid, var(--utility-green-700));
  background-color: var(--bg-toast);
  color: var(--text-toast);
}

#toast-container > .toast-info {
  --bg-toast: var(--bg-info-solid, var(--utility-blue-600));
  --text-toast: var(--alpha-white-100);
  --border-toast: var(--border-info-solid, var(--utility-blue-700));
  background-color: var(--bg-toast);
  color: var(--text-toast);
}

#toast-container > .toast-error {
  --bg-toast: var(--bg-danger-solid, var(--utility-red-600));
  --text-toast: var(--alpha-white-100);
  --border-toast: var(--border-danger-solid, var(--utility-red-700));
  background-color: var(--bg-toast);
  color: var(--text-toast);
}

.toast-close-button {
  font-weight: 400;
  position: relative;
  right: -0.3em;
  top: -0.3em;
  float: right;
  font-size: 20px;
  color: currentColor;
  opacity: 0.7;
  -webkit-transition: opacity var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: opacity var(--duration-fast, 100ms) var(--ease-default, ease);
}

.toast-close-button:hover {
  opacity: 1;
}

/* ========================================
   Component: Line Toast
   A thin animated bar that appears at the top
   of a container (or the page) to signal
   success, error, warning, info, or loading.
   ======================================== */

/* ── Host container ── */

.line-toast-host {
  position: relative;
}

/* ── The bar element ── */

.line-toast {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: var(--line-toast-height, 3px);
  pointer-events: none;
  z-index: var(--z-toast, 50);
  opacity: 0;
}

/* Fade in / out */

.line-toast.is-active {
  -webkit-animation: lt-fade-in var(--duration-normal, 250ms) var(--ease-default, ease) forwards;
  animation: lt-fade-in var(--duration-normal, 250ms) var(--ease-default, ease) forwards;
}

.line-toast.is-leaving {
  -webkit-animation: lt-fade-out var(--duration-normal, 250ms) var(--ease-default, ease) forwards;
  animation: lt-fade-out var(--duration-normal, 250ms) var(--ease-default, ease) forwards;
}

/* ── Inner gradient bar ── */

.line-toast__bar {
  position: absolute;
  inset: 0;
  border-radius: 0 9999px 9999px 0;
}

/* ── Sweep animation (left-to-right continuous) ── */

.line-toast.is-active .line-toast__bar {
  -webkit-animation: lt-sweep var(--line-toast-duration, 2.4s) var(--ease-in-out, cubic-bezier(0.4, 0, 0.2, 1)) infinite;
  animation: lt-sweep var(--line-toast-duration, 2.4s) var(--ease-in-out, cubic-bezier(0.4, 0, 0.2, 1)) infinite;
}

/* ── Determinate / single-pass (no loop, fills once) ── */

.line-toast--determinate.is-active .line-toast__bar {
  -webkit-animation: lt-fill var(--line-toast-duration, 2.4s) var(--ease-in-out, cubic-bezier(0.4, 0, 0.2, 1)) forwards;
  animation: lt-fill var(--line-toast-duration, 2.4s) var(--ease-in-out, cubic-bezier(0.4, 0, 0.2, 1)) forwards;
}

/* ── Variant colors ── */

.line-toast--success .line-toast__bar {
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--bg-line-toast-success, var(--bg-success-solid, #16a34a)) 30%,
    var(--bg-line-toast-success, var(--bg-success-solid, #16a34a)) 70%,
    transparent 100%
  );
}

.line-toast--error .line-toast__bar {
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--bg-line-toast-error, var(--bg-danger-solid, #dc2626)) 30%,
    var(--bg-line-toast-error, var(--bg-danger-solid, #dc2626)) 70%,
    transparent 100%
  );
}

.line-toast--warning .line-toast__bar {
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--bg-line-toast-warning, var(--bg-warning-solid, #d97706)) 30%,
    var(--bg-line-toast-warning, var(--bg-warning-solid, #d97706)) 70%,
    transparent 100%
  );
}

.line-toast--info .line-toast__bar {
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--bg-line-toast-info, var(--bg-info-solid, #2563eb)) 30%,
    var(--bg-line-toast-info, var(--bg-info-solid, #2563eb)) 70%,
    transparent 100%
  );
}

.line-toast--loading .line-toast__bar {
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--bg-line-toast-loading, var(--bg-primary-solid, var(--bg-info-solid, #2563eb))) 25%,
    var(--bg-line-toast-loading, var(--bg-primary-solid, var(--bg-info-solid, #2563eb))) 50%,
    transparent 100%
  );
}

/* ── Message label ── */

.line-toast__message {
  position: absolute;
  left: 50%;
  top: var(--line-toast-height, 3px);
  -webkit-transform: translateX(-50%) translateY(8px);
  -ms-transform: translateX(-50%) translateY(8px);
  transform: translateX(-50%) translateY(8px);
  white-space: nowrap;
  pointer-events: none;
  z-index: 1;
  font-size: var(--text-sm, 0.8125rem);
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -0.01em;
  opacity: 0;
  -webkit-transition: opacity var(--duration-normal, 250ms) var(--ease-default, ease);
  transition: opacity var(--duration-normal, 250ms) var(--ease-default, ease);
  border-radius: var(--radius-md, 6px);
  padding: 0.5rem 1rem;
  max-width: min(480px, 80vw);
  background-color: var(--bg-badge);
  color: var(--text-badge);
}

.line-toast--success .line-toast__message {
  background-color: var(--bg-badge-success);
  color: var(--text-badge-success);
}

.line-toast--error .line-toast__message {
  background-color: var(--bg-badge-danger);
  color: var(--text-badge-danger);
}

.line-toast--warning .line-toast__message {
  background-color: var(--bg-badge-warning);
  color: var(--text-badge-warning);
}

.line-toast--info .line-toast__message {
  background-color: var(--bg-badge-info);
  color: var(--text-badge-info);
}

.line-toast--loading .line-toast__message {
  background-color: var(--bg-badge-info);
  color: var(--text-badge-info);
}

/* Rich HTML message content (validation lists, line breaks) */

.line-toast__message:has(ul, ol, br) {
  white-space: normal;
  text-align: left;
}

.line-toast__message:has(ul, ol, br) ul {
  margin: 0;
  padding-left: 1.2em;
}

.line-toast__message:has(ul, ol, br) li {
  margin-bottom: 0.125rem;
}

/* Message position — above bar (bottom bar) */

.line-toast--bottom .line-toast__message {
  top: auto;
  bottom: var(--line-toast-height, 3px);
  -webkit-transform: translateX(-50%) translateY(-6px);
  -ms-transform: translateX(-50%) translateY(-6px);
  transform: translateX(-50%) translateY(-6px);
}

/* Offset message below glow bloom */

.line-toast--glow .line-toast__message {
  -webkit-transform: translateX(-50%) translateY(14px);
  -ms-transform: translateX(-50%) translateY(14px);
  transform: translateX(-50%) translateY(14px);
}

.line-toast--glow.line-toast--bottom .line-toast__message {
  -webkit-transform: translateX(-50%) translateY(-14px);
  -ms-transform: translateX(-50%) translateY(-14px);
  transform: translateX(-50%) translateY(-14px);
}

/* Show message when toast is active */

.line-toast.is-active .line-toast__message {
  opacity: 1;
}

/* Hide message when leaving */

.line-toast.is-leaving .line-toast__message {
  opacity: 0;
}

/* ── Glow (optional — adds a soft bloom under the bar) ── */

.line-toast--glow::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 12px;
  border-radius: 0 0 50% 50%;
  -webkit-filter: blur(6px);
  filter: blur(6px);
  opacity: 0.4;
  pointer-events: none;
}

.line-toast--glow.line-toast--success::after {
  background: var(--bg-line-toast-success, var(--bg-success-solid, #16a34a));
}

.line-toast--glow.line-toast--error::after {
  background: var(--bg-line-toast-error, var(--bg-danger-solid, #dc2626));
}

.line-toast--glow.line-toast--warning::after {
  background: var(--bg-line-toast-warning, var(--bg-warning-solid, #d97706));
}

.line-toast--glow.line-toast--info::after {
  background: var(--bg-line-toast-info, var(--bg-info-solid, #2563eb));
}

.line-toast--glow.line-toast--loading::after {
  background: var(--bg-line-toast-loading, var(--bg-primary-solid, var(--bg-info-solid, #2563eb)));
}

/* ── Thickness variants ── */

.line-toast--thin  { --line-toast-height: 2px; }

.line-toast--thick { --line-toast-height: 4px; }

/* ── Speed variants ── */

.line-toast--fast { --line-toast-duration: 1s; }

.line-toast--slow { --line-toast-duration: 3.6s; }

/* ── Position: bottom instead of top ── */

.line-toast--bottom {
  top: auto;
  bottom: 0;
}

.line-toast--bottom .line-toast__bar {
  border-radius: 9999px 9999px 0 0;
}

/* ── Page-level (fixed to viewport top) ── */

.line-toast--fixed {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: var(--z-fixed, 1050);
}

/* ── Keyframes ── */

/* Sweep: the bar slides from off-left to off-right, continuously */

@-webkit-keyframes lt-sweep {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    opacity: 0;
  }
}

@keyframes lt-sweep {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    opacity: 0;
  }
}

/* Fill: a single pass that fills the whole width and holds */

@-webkit-keyframes lt-fill {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
    opacity: 1;
  }
  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center;
    opacity: 1;
  }
}

@keyframes lt-fill {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
    opacity: 1;
  }
  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center;
    opacity: 1;
  }
}

/* Fade helpers */

@-webkit-keyframes lt-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes lt-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@-webkit-keyframes lt-fade-out {
  from { opacity: 1; }
  to   { opacity: 0; }
}

@keyframes lt-fade-out {
  from { opacity: 1; }
  to   { opacity: 0; }
}

/* ── Reduced motion ── */

@media (prefers-reduced-motion: reduce) {
  .line-toast.is-active .line-toast__bar,
  .line-toast--determinate.is-active .line-toast__bar {
    -webkit-animation: none;
    animation: none;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    opacity: 1;
  }
}

/* ========================================
   Component: Tooltip
   ======================================== */

.tooltip-inner {
  border-radius: 0.375rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .tooltip-inner {
  line-height: 1.3;
}

.tooltip-inner {
  color: var(--text-tooltip, var(--alpha-white-100));
  background-color: var(--bg-tooltip, var(--utility-neutral-900));
  max-width: 200px;
  text-align: center;
}

/* Position variants */

.tooltip[data-placement^="top"] .tooltip-arrow::before {
  border-top-color: var(--bg-tooltip, var(--utility-neutral-900));
}

.tooltip[data-placement^="bottom"] .tooltip-arrow::before {
  border-bottom-color: var(--bg-tooltip, var(--utility-neutral-900));
}

.tooltip[data-placement^="left"] .tooltip-arrow::before {
  border-left-color: var(--bg-tooltip, var(--utility-neutral-900));
}

.tooltip[data-placement^="right"] .tooltip-arrow::before {
  border-right-color: var(--bg-tooltip, var(--utility-neutral-900));
}

/* --- Attribute-based position variants (data-tooltip-position) --- */

[data-tooltip-position] {
  position: relative;
}

[data-tooltip-position]::after {
  content: attr(data-tooltip);
  border-radius: 0.375rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait [data-tooltip-position]::after {
  line-height: 1.3;
}

[data-tooltip-position]::after {
  position: absolute;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  color: var(--text-tooltip, var(--alpha-white-100));
  background-color: var(--bg-tooltip, var(--utility-neutral-900));
  -webkit-transition: opacity var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: opacity var(--duration-fast, 100ms) var(--ease-default, ease);
  z-index: 50;
}

[data-tooltip-position]::before {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: 0;
  border: 5px solid transparent;
  -webkit-transition: opacity var(--duration-fast, 100ms) var(--ease-default, ease);
  transition: opacity var(--duration-fast, 100ms) var(--ease-default, ease);
  z-index: 50;
}

[data-tooltip-position]:hover::after,
[data-tooltip-position]:hover::before {
  opacity: 1;
}

/* Top (default) */

[data-tooltip-position="top"]::after {
  bottom: calc(100% + 8px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

[data-tooltip-position="top"]::before {
  bottom: calc(100% + -2px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  border-top-color: var(--bg-tooltip, var(--utility-neutral-900));
}

/* Bottom */

[data-tooltip-position="bottom"]::after {
  top: calc(100% + 8px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

[data-tooltip-position="bottom"]::before {
  top: calc(100% + -2px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  border-bottom-color: var(--bg-tooltip, var(--utility-neutral-900));
}

/* Left */

[data-tooltip-position="left"]::after {
  right: calc(100% + 8px);
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

[data-tooltip-position="left"]::before {
  right: calc(100% + -2px);
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  border-left-color: var(--bg-tooltip, var(--utility-neutral-900));
}

/* Right */

[data-tooltip-position="right"]::after {
  left: calc(100% + 8px);
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

[data-tooltip-position="right"]::before {
  left: calc(100% + -2px);
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  border-right-color: var(--bg-tooltip, var(--utility-neutral-900));
}

/* ==========================================================================
   PHOTO VIEWER v2
   Flexible image viewer with thumbnail strip, nav arrows, transitions,
   counter overlay, empty/loading states, and editable/readonly modes.
   ========================================================================== */

.photo-viewer {
  --pv-main-max-h: 32rem;
  --pv-main-aspect: auto;
  --pv-transition-duration: 250ms;
  position: relative;
  display: grid;
  width: 100%;
  gap: 0.75rem;
  color: var(--text-photo-viewer, var(--text-primary));
}

/* =========================================================
   Flat variant — subtle border, no shadows, unified container
   ========================================================= */

.photo-viewer.pv-flat {
  gap: 0px;
}

.photo-viewer.pv-flat .pv-main {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-color: var(--border-photo-viewer-flat, var(--border-primary-subtle));
    border-bottom: none;
}

.photo-viewer.pv-flat .pv-strip {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
    border-color: var(--border-photo-viewer-flat, var(--border-primary-subtle));
}

.photo-viewer.pv-flat .pv-thumb {
  border-radius: 0.5rem;
    -webkit-box-shadow: none;
    box-shadow: none;
}

/* =========================================================
   Size system
   ========================================================= */

.photo-viewer.pv-sm {
    --pv-main-max-h: 18rem;
    gap: 0.5rem;
  }

.photo-viewer.pv-sm .pv-thumb {
  height: 3rem;
  width: 3rem;
}

.photo-viewer.pv-sm .pv-bar {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.photo-viewer.pv-sm .pv-content {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.photo-viewer.pv-sm .pv-nav {
  height: 1.75rem;
  width: 1.75rem;
}

.photo-viewer.pv-md .pv-thumb {
  height: 4rem;
  width: 4rem;
}

.photo-viewer.pv-lg {
    --pv-main-max-h: 36rem;
    gap: 1rem;
  }

.photo-viewer.pv-lg .pv-thumb {
  height: 5rem;
  width: 5rem;
}

.photo-viewer.pv-lg .pv-bar {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.photo-viewer.pv-lg .pv-content {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.photo-viewer.pv-xl {
    --pv-main-max-h: 42rem;
    gap: 1.25rem;
  }

.photo-viewer.pv-xl .pv-thumb {
  height: 6rem;
  width: 6rem;
}

.photo-viewer.pv-xl .pv-bar {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.photo-viewer.pv-xl .pv-content {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.photo-viewer.pv-2xl {
    --pv-main-max-h: 48rem;
    gap: 1.5rem;
  }

.photo-viewer.pv-2xl .pv-thumb {
  height: 7rem;
  width: 7rem;
}

.photo-viewer.pv-2xl .pv-bar {
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.photo-viewer.pv-2xl .pv-content {
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

/* =========================================================
   Layout
   ========================================================= */

.photo-viewer.pv-thumbs-bottom {
  grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-template-areas:
      "main"
      "strip";
}

.photo-viewer.pv-thumbs-top {
  grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-template-areas:
      "strip"
      "main";
}

.photo-viewer.pv-thumbs-left {
  grid-template-columns: repeat(1, minmax(0, 1fr));
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

@media (min-width: 768px) {

  .photo-viewer.pv-thumbs-left {
    grid-template-columns: auto 1fr;
  }
}

.photo-viewer.pv-thumbs-left {
    grid-template-areas: "strip main";
  }

.photo-viewer.pv-thumbs-right {
  grid-template-columns: repeat(1, minmax(0, 1fr));
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

@media (min-width: 768px) {

  .photo-viewer.pv-thumbs-right {
    grid-template-columns: 1fr auto;
  }
}

.photo-viewer.pv-thumbs-right {
    grid-template-areas: "main strip";
  }

.photo-viewer .pv-main {
    grid-area: main;
  }

.photo-viewer .pv-strip {
    grid-area: strip;
  }

/* =========================================================
   Main
   ========================================================= */

.pv-main {
  position: relative;
  display: grid;
  width: 100%;
  overflow: hidden;
  border-radius: 1rem;
  border-width: 1px;
  grid-template-rows: auto 1fr auto;
  background-color: var(--bg-photo-viewer-main, var(--alpha-white-100));
  border-color: var(--border-photo-viewer-main, var(--border-primary));
  -webkit-box-shadow: var(--shadow-photo-viewer-main, none);
  box-shadow: var(--shadow-photo-viewer-main, none);
  max-height: var(--pv-main-max-h);
  aspect-ratio: var(--pv-main-aspect);
}

.pv-stage {
  position: relative;
  min-height: 0px;
  overflow: hidden;
}

.pv-image {
  height: 100%;
  width: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -o-object-fit: contain;
  object-fit: contain;
  background-color: var(--bg-photo-viewer-image, var(--bg-primary-subtle));
  -webkit-transition: opacity var(--pv-transition-duration) ease;
  transition: opacity var(--pv-transition-duration) ease;
}

.pv-image.is-loading {
    opacity: 0;
  }

/* =========================================================
   Nav Arrows
   ========================================================= */

.pv-nav {
  position: absolute;
  top: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  --tw-translate-y: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
}

.collapse.show.pv-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .pv-nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.pv-nav {
  width: 36px;
  height: 36px;
  background-color: var(--bg-photo-viewer-nav, rgba(0, 0, 0, 0.3));
  color: var(--text-photo-viewer-nav, #fff);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(4px);
  -webkit-transition: opacity 150ms ease, background-color 150ms ease;
  transition: opacity 150ms ease, background-color 150ms ease;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
}

.pv-main:hover .pv-nav,
  .pv-nav:focus-visible {
    opacity: 1;
    pointer-events: auto;
  }

.pv-nav:hover {
    background-color: var(--bg-photo-viewer-nav-hover, rgba(0, 0, 0, 0.5));
  }

.pv-nav:focus-visible {
    outline: 2px solid var(--border-info);
    outline-offset: 2px;
  }

.pv-nav[data-pv-prev] {
    left: 0.75rem;
  }

.pv-nav[data-pv-next] {
    right: 0.75rem;
  }

/* Show arrows always on touch devices */

@media (pointer: coarse) {
  .pv-nav {
    opacity: 1;
    pointer-events: auto;
    width: 44px;
    height: 44px;
  }
}

/* =========================================================
   Counter Overlay
   ========================================================= */

.pv-counter {
  position: absolute;
  bottom: 0.75rem;
  left: 50%;
  --tw-translate-x: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-radius: 9999px;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.wizard-card--trait .pv-counter {
  line-height: 1.3;
}

.pv-counter {
  background-color: rgba(0, 0, 0, 0.5);
  color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(8px);
  z-index: 2;
  pointer-events: none;
}

/* =========================================================
   Bar
   ========================================================= */

.pv-bar {
  position: relative;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.75rem;
  border-bottom-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.pv-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .pv-bar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.pv-bar {
  background-color: var(--bg-photo-viewer-bar, var(--alpha-0));
  border-color: var(--border-photo-viewer-bar, var(--border-primary-subtle));
  color: var(--text-photo-viewer-bar, var(--text-secondary));
}

.pv-bar-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.pv-bar-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .pv-bar-left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.pv-bar-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-photo-viewer-title, var(--text-primary));
}

.pv-bar-meta {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .pv-bar-meta {
  line-height: 1.3;
}

.pv-bar-meta {
  color: var(--text-photo-viewer-meta, var(--text-tertiary));
}

.pv-bar-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.pv-bar-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .pv-bar-actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* =========================================================
   Content
   ========================================================= */

.pv-content {
  position: relative;
  z-index: 10;
}

.pv-content > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.pv-content {
  border-top-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  background-color: var(--bg-photo-viewer-content, var(--alpha-0));
  border-color: var(--border-photo-viewer-content, var(--border-primary-subtle));
  color: var(--text-photo-viewer-content, var(--text-secondary));
}

.pv-content .pv-content-meta {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .pv-content .pv-content-meta {
  line-height: 1.3;
}

.pv-content .pv-content-meta {
    color: var(--text-photo-viewer-content-meta, var(--text-tertiary));
  }

.pv-content .pv-content-body {
  font-size: 0.8125rem;
  line-height: 1.5rem;
    color: var(--text-photo-viewer-content-body, var(--text-primary));
}

/* =========================================================
   Strip
   ========================================================= */

.pv-strip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  scroll-behavior: smooth;
  border-radius: 1rem;
  border-width: 1px;
  padding: 0.5rem;
  scrollbar-width: thin;
}

.collapse.show.pv-strip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .pv-strip {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.pv-strip {
  min-width: 0;
  background-color: var(--bg-photo-viewer-strip, var(--alpha-0));
  border-color: var(--border-photo-viewer-strip, var(--border-primary-subtle));
}

/* Orientation + overflow (NO snap by default) */

.photo-viewer.pv-thumbs-top .pv-strip,
.photo-viewer.pv-thumbs-bottom .pv-strip {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  overflow-x: auto;
  overflow-y: hidden;
}

.scrollbar.photo-viewer.pv-thumbs-top .pv-strip,.scrollbar
.photo-viewer.pv-thumbs-bottom .pv-strip {
  overflow-y: hidden;
}

.scrollbar-thin.photo-viewer.pv-thumbs-top .pv-strip,.scrollbar-thin
.photo-viewer.pv-thumbs-bottom .pv-strip {
  overflow-y: hidden;
}

.photo-viewer.pv-thumbs-left .pv-strip,
.photo-viewer.pv-thumbs-right .pv-strip {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  overflow-x: auto;
}

@media (min-width: 768px) {

  .photo-viewer.pv-thumbs-left .pv-strip,
.photo-viewer.pv-thumbs-right .pv-strip {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
  }

  .photo-viewer.pv-thumbs-left .pv-strip.scrollbar,
.photo-viewer.pv-thumbs-right .pv-strip.scrollbar {
    overflow-x: hidden;
  }

  .photo-viewer.pv-thumbs-left .pv-strip.scrollbar-thin,
.photo-viewer.pv-thumbs-right .pv-strip.scrollbar-thin {
    overflow-x: hidden;
  }
}

.photo-viewer.pv-thumbs-left .pv-strip,
.photo-viewer.pv-thumbs-right .pv-strip {
  max-height: var(--pv-main-max-h);
}

/* =========================================================
   Thumb
   ========================================================= */

.pv-thumb {
  position: relative;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
}

.pv-thumb:hover {
  cursor: pointer;
}

.pv-thumb {
  background-color: var(--bg-photo-viewer-thumb, var(--alpha-0));
  border-color: var(--border-photo-viewer-thumb, var(--border-primary-subtle));
  -webkit-box-shadow: var(--shadow-photo-viewer-thumb, none);
  box-shadow: var(--shadow-photo-viewer-thumb, none);
  opacity: var(--opacity-photo-viewer-thumb, 0.92);
  -webkit-transition: opacity 150ms ease-in-out;
  transition: opacity 150ms ease-in-out;
}

.pv-thumb img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.pv-thumb:hover {
  opacity: 1;
}

/* Active (selected) — uses outline to avoid overflow clipping */

.pv-thumb.active,
  .pv-thumb[aria-selected="true"] {
    border-color: var(--border-photo-viewer-thumb-selected, var(--border-info));
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: 1px solid var(--border-photo-viewer-thumb-selected, var(--border-info));
    outline-offset: 0;
  }

.pv-thumb:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
    -webkit-box-shadow: var(--ring-photo-viewer-thumb-focus, 0 0 0 2px var(--border-info-subtle));
    box-shadow: var(--ring-photo-viewer-thumb-focus, 0 0 0 2px var(--border-info-subtle));
}

.pv-thumb.is-disabled,
  .pv-thumb[aria-disabled="true"],
  .pv-thumb:disabled {
  pointer-events: none;
    opacity: var(--opacity-photo-viewer-thumb-disabled, 0.6);
    -webkit-filter: var(--filter-photo-viewer-thumb-disabled, none);
    filter: var(--filter-photo-viewer-thumb-disabled, none);
}

/* =========================================================
   Optional snap behavior (opt-in via .pv-snap)
   ========================================================= */

.photo-viewer.pv-snap .pv-strip {
  -ms-scroll-snap-type: x var(--tw-scroll-snap-strictness);
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
  --tw-scroll-snap-strictness: mandatory;
}

@media (min-width: 768px) {

  .photo-viewer.pv-snap.pv-thumbs-left .pv-strip,
.photo-viewer.pv-snap.pv-thumbs-right .pv-strip {
    -ms-scroll-snap-type: y var(--tw-scroll-snap-strictness);
    scroll-snap-type: y var(--tw-scroll-snap-strictness);
  }
}

.photo-viewer.pv-snap .pv-thumb {
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

/* =========================================================
   Aspect
   ========================================================= */

.photo-viewer.pv-aspect-square {
  --pv-main-aspect: 1 / 1;
}

.photo-viewer.pv-aspect-4-3 {
  --pv-main-aspect: 4 / 3;
}

.photo-viewer.pv-aspect-16-9 {
  --pv-main-aspect: 16 / 9;
}

/* =========================================================
   Empty State
   ========================================================= */

.pv-empty {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  width: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
}

.collapse.show.pv-empty {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .pv-empty {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.pv-empty {
  background-color: var(--bg-photo-viewer-image, var(--bg-primary-subtle));
  color: var(--text-tertiary);
}

.pv-empty-icon {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.015em;
  opacity: 0.4;
}

.pv-empty-text {
  font-size: 0.75rem;
  line-height: 1rem;
  opacity: 0.5;
}

.wizard-card--trait .pv-empty-text {
  line-height: 1.3;
}

/* =========================================================
   Loading State — Shimmer skeleton
   ========================================================= */

.pv-loading {
  position: absolute;
  inset: 0px;
  background: linear-gradient(
    90deg,
    var(--bg-skeleton, var(--bg-tertiary)) 25%,
    var(--bg-skeleton-highlight, var(--bg-secondary)) 37%,
    var(--bg-skeleton, var(--bg-tertiary)) 63%
  );
  background-size: 200% 100%;
  -webkit-animation: shimmer 1.5s ease-in-out infinite;
  animation: shimmer 1.5s ease-in-out infinite;
  z-index: 1;
}

/* Thumbnail shimmer — overlay inside pv-thumb while loading */

.pv-thumb .skeleton {
  position: absolute;
  inset: 0px;
}

/* Thumb images fade in when loaded */

.pv-thumb img {
  -webkit-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
}

.pv-thumb img.is-loading {
  opacity: 0;
}

/* =========================================================
   Drag-Sort (thumbnail reordering)
   ========================================================= */

.pv-strip.is-sorting {
  gap: 0.75rem;
}

.pv-strip.is-sorting .pv-thumb {
  -webkit-transition: opacity 150ms ease, -webkit-transform 150ms ease;
  transition: opacity 150ms ease, -webkit-transform 150ms ease;
  transition: transform 150ms ease, opacity 150ms ease;
  transition: transform 150ms ease, opacity 150ms ease, -webkit-transform 150ms ease;
}

.pv-thumb.is-dragging {
  --tw-scale-x: .9;
  --tw-scale-y: .9;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  opacity: 0.4;
  z-index: 10;
}

.pv-thumb.is-drag-over {
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
  -webkit-box-shadow: 0 0 0 2px var(--border-info, #3b82f6);
  box-shadow: 0 0 0 2px var(--border-info, #3b82f6);
}

/* Drop indicator line */

.pv-thumb.is-drop-before::before,
.pv-thumb.is-drop-after::after {
  content: "";
  position: absolute;
  top: 0.25rem;
  bottom: 0.25rem;
  width: 0.125rem;
  border-radius: 9999px;
  background-color: var(--border-info, #3b82f6);
  z-index: 11;
}

.pv-thumb.is-drop-before::before {
  left: -5px;
}

.pv-thumb.is-drop-after::after {
  right: -5px;
}

/* Horizontal strip — vertical drop indicators */

.photo-viewer.pv-thumbs-left .pv-thumb.is-drop-before::before,
.photo-viewer.pv-thumbs-left .pv-thumb.is-drop-after::after,
.photo-viewer.pv-thumbs-right .pv-thumb.is-drop-before::before,
.photo-viewer.pv-thumbs-right .pv-thumb.is-drop-after::after {
  left: 0.25rem;
  right: 0.25rem;
  top: auto;
  bottom: auto;
  height: 0.125rem;
  width: auto;
}

.photo-viewer.pv-thumbs-left .pv-thumb.is-drop-before::before,
.photo-viewer.pv-thumbs-right .pv-thumb.is-drop-before::before {
  top: -5px;
}

.photo-viewer.pv-thumbs-left .pv-thumb.is-drop-after::after,
.photo-viewer.pv-thumbs-right .pv-thumb.is-drop-after::after {
  bottom: -5px;
}

/* =========================================================
   Reduced Motion
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .pv-image {
    -webkit-transition: none;
    transition: none;
  }

  .pv-nav {
    -webkit-transition: none;
    transition: none;
  }

  .pv-loading {
    -webkit-animation: none;
    animation: none;
  }
}

/* ==========================================================================
   PRODUCT LIGHTBOX — Full-screen image viewer overlay
   Reuses pv-spinner from photo-viewer.
   ========================================================================== */

.product-lightbox {
  position: fixed;
  inset: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.product-lightbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .product-lightbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.product-lightbox {
  z-index: var(--z-modal, 100);
}

.product-lightbox__backdrop {
  position: absolute;
  inset: 0px;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(8px);
}

.product-lightbox__container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.collapse.show.product-lightbox__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .product-lightbox__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.product-lightbox__container {
  max-width: 90vw;
  max-height: 90vh;
  padding: 3rem 4rem;
}

.product-lightbox__close {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
}

.collapse.show.product-lightbox__close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .product-lightbox__close {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.product-lightbox__close {
  top: 1rem;
  right: 1rem;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 1.25rem;
  z-index: 2;
  -webkit-transition: background-color 150ms ease, color 150ms ease;
  transition: background-color 150ms ease, color 150ms ease;
}

.product-lightbox__close:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.product-lightbox__stage {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 0px;
  width: 100%;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.product-lightbox__stage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.menu--collapsed .menu-link .product-lightbox__stage {
      display: none;
    }

@media (max-width: 420px) {
  .ach-card > .product-lightbox__stage {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.product-lightbox__image {
  max-height: 100%;
  max-width: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -o-object-fit: contain;
  object-fit: contain;
  -webkit-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
}

.product-lightbox__image.is-loading {
  opacity: 0;
}

.product-lightbox__loading {
  position: absolute;
  inset: 0px;
  background: -webkit-gradient(
    linear,
    left top, right top,
    color-stop(25%, rgba(255, 255, 255, 0.04)),
    color-stop(37%, rgba(255, 255, 255, 0.08)),
    color-stop(63%, rgba(255, 255, 255, 0.04))
  );
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.04) 25%,
    rgba(255, 255, 255, 0.08) 37%,
    rgba(255, 255, 255, 0.04) 63%
  );
  background-size: 200% 100%;
  -webkit-animation: shimmer 1.5s ease-in-out infinite;
  animation: shimmer 1.5s ease-in-out infinite;
  pointer-events: none;
}

.product-lightbox__nav {
  position: absolute;
  top: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  --tw-translate-y: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
}

.collapse.show.product-lightbox__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .product-lightbox__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.product-lightbox__nav {
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 1.125rem;
  z-index: 2;
  -webkit-transition: background-color 150ms ease, color 150ms ease;
  transition: background-color 150ms ease, color 150ms ease;
}

.product-lightbox__nav:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}

.product-lightbox__prev { left: 1rem; }

.product-lightbox__next { right: 1rem; }

.product-lightbox__footer {
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
}

.collapse.show.product-lightbox__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .product-lightbox__footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.product-lightbox__counter {
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.wizard-card--trait .product-lightbox__counter {
  line-height: 1.3;
}

.product-lightbox__counter {
  color: rgba(255, 255, 255, 0.5);
}

.product-lightbox__strip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
  gap: 0.5rem;
  overflow-x: auto;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.collapse.show.product-lightbox__strip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .product-lightbox__strip {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.product-lightbox__strip {
  scrollbar-width: thin;
}

.product-lightbox__thumb {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  cursor: pointer;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 2px;
  width: 56px;
  height: 56px;
  border-color: transparent;
  opacity: 0.6;
  -webkit-transition: opacity 150ms ease, border-color 150ms ease;
  transition: opacity 150ms ease, border-color 150ms ease;
}

.product-lightbox__thumb img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.product-lightbox__thumb:hover {
  opacity: 0.85;
}

.product-lightbox__thumb.active {
  opacity: 1;
  border-color: var(--border-info, #3b82f6);
}

/* Hide nav when only one image */

.product-lightbox[data-count="1"] .product-lightbox__nav,
.product-lightbox[data-count="1"] .product-lightbox__counter,
.product-lightbox[data-count="1"] .product-lightbox__strip,
.product-lightbox[data-count="0"] .product-lightbox__nav,
.product-lightbox[data-count="0"] .product-lightbox__counter,
.product-lightbox[data-count="0"] .product-lightbox__strip {
  display: none;
}

/* =========================================================
   Tag Component
   ========================================================= */

/* Base */

.tag {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
  font-weight: 500;
  line-height: 1;
  border: 1px solid var(--border-tag-neutral);
  border-radius: var(--radius-tag);
  padding: var(--padding-tag-y) var(--padding-tag-x);
  background-color: var(--bg-tag-neutral);
  color: var(--text-tag-neutral);
  font-size: var(--text-tag-md);
  -webkit-transition-property: background-color, color, border-color, -webkit-box-shadow;
  transition-property: background-color, color, border-color, -webkit-box-shadow;
  transition-property: background-color, color, border-color, box-shadow;
  transition-property: background-color, color, border-color, box-shadow, -webkit-box-shadow;
  -webkit-transition-duration: var(--duration-tag);
  transition-duration: var(--duration-tag);
  -webkit-transition-timing-function: var(--ease-tag);
  transition-timing-function: var(--ease-tag);
}

/* =========================================================
   Leading Icon
   ========================================================= */

.tag__icon {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: var(--size-tag-icon);
  height: var(--size-tag-icon);
  font-size: var(--text-tag-icon);
  opacity: var(--opacity-tag-icon);
}

/* =========================================================
   Dismiss Button
   ========================================================= */

.tag__dismiss {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-width: 0px;
  background-color: transparent;
  padding: 0px;
  width: var(--size-tag-dismiss);
  height: var(--size-tag-dismiss);
  color: var(--text-tag-dismiss);
  border-radius: var(--radius-tag);
  -webkit-transition-property: background-color, color;
  transition-property: background-color, color;
  -webkit-transition-duration: var(--duration-tag);
  transition-duration: var(--duration-tag);
  -webkit-transition-timing-function: var(--ease-tag);
  transition-timing-function: var(--ease-tag);
}

.tag__dismiss:hover {
    color: var(--text-tag-dismiss-hover);
    background-color: var(--bg-tag-dismiss-hover);
  }

/* =========================================================
   Sizes
   ========================================================= */

.tag--sm {
  font-size: var(--text-tag-sm);
  padding: var(--padding-tag-sm-y) var(--padding-tag-sm-x);
  border-radius: var(--radius-tag-sm);
}

.tag--md {
  font-size: var(--text-tag-md);
  padding: var(--padding-tag-md-y) var(--padding-tag-md-x);
  border-radius: var(--radius-tag-md);
}

.tag--lg {
  font-size: var(--text-tag-lg);
  padding: var(--padding-tag-lg-y) var(--padding-tag-lg-x);
  border-radius: var(--radius-tag-lg);
}

/* =========================================================
   Color Variants
   ========================================================= */

/* Neutral (default — already applied on .tag base) */

.tag--neutral {
  background-color: var(--bg-tag-neutral);
  color: var(--text-tag-neutral);
  border-color: var(--border-tag-neutral);
}

.tag--neutral:hover,
  .tag.tag--neutral.tag--clickable:hover {
    background-color: var(--bg-tag-neutral-hover);
    color: var(--text-tag-neutral-hover);
    border-color: var(--border-tag-neutral-hover);
  }

.tag--neutral:focus-visible {
    outline: 2px solid var(--border-tag-neutral-focus);
    outline-offset: 2px;
  }

.tag--neutral .tag__dismiss:hover {
    background-color: var(--bg-tag-neutral-dismiss-hover);
  }

/* Primary */

.tag--primary {
  background-color: var(--bg-tag-primary);
  color: var(--text-tag-primary);
  border-color: var(--border-tag-primary);
}

.tag--primary:hover,
  .tag.tag--primary.tag--clickable:hover {
    background-color: var(--bg-tag-primary-hover);
    color: var(--text-tag-primary-hover);
    border-color: var(--border-tag-primary-hover);
  }

.tag--primary:focus-visible {
    outline: 2px solid var(--border-tag-primary-focus);
    outline-offset: 2px;
  }

.tag--primary .tag__dismiss:hover {
    background-color: var(--bg-tag-primary-dismiss-hover);
  }

/* Success */

.tag--success {
  background-color: var(--bg-tag-success);
  color: var(--text-tag-success);
  border-color: var(--border-tag-success);
}

.tag--success:hover,
  .tag.tag--success.tag--clickable:hover {
    background-color: var(--bg-tag-success-hover);
    color: var(--text-tag-success-hover);
    border-color: var(--border-tag-success-hover);
  }

.tag--success:focus-visible {
    outline: 2px solid var(--border-tag-success-focus);
    outline-offset: 2px;
  }

.tag--success .tag__dismiss:hover {
    background-color: var(--bg-tag-success-dismiss-hover);
  }

/* Warning */

.tag--warning {
  background-color: var(--bg-tag-warning);
  color: var(--text-tag-warning);
  border-color: var(--border-tag-warning);
}

.tag--warning:hover,
  .tag.tag--warning.tag--clickable:hover {
    background-color: var(--bg-tag-warning-hover);
    color: var(--text-tag-warning-hover);
    border-color: var(--border-tag-warning-hover);
  }

.tag--warning:focus-visible {
    outline: 2px solid var(--border-tag-warning-focus);
    outline-offset: 2px;
  }

.tag--warning .tag__dismiss:hover {
    background-color: var(--bg-tag-warning-dismiss-hover);
  }

/* Danger */

.tag--danger {
  background-color: var(--bg-tag-danger);
  color: var(--text-tag-danger);
  border-color: var(--border-tag-danger);
}

.tag--danger:hover,
  .tag.tag--danger.tag--clickable:hover {
    background-color: var(--bg-tag-danger-hover);
    color: var(--text-tag-danger-hover);
    border-color: var(--border-tag-danger-hover);
  }

.tag--danger:focus-visible {
    outline: 2px solid var(--border-tag-danger-focus);
    outline-offset: 2px;
  }

.tag--danger .tag__dismiss:hover {
    background-color: var(--bg-tag-danger-dismiss-hover);
  }

/* =========================================================
   Style Variants
   ========================================================= */

.tag--soft {
  background-color: var(--bg-tag-soft);
  border-color: var(--border-tag-soft);
}

.tag--outline {
  background-color: transparent;
  border-color: var(--border-tag-outline);
}

/* =========================================================
   Selected State
   ========================================================= */

.tag--selected {
  background-color: var(--bg-tag-selected);
  border-color: var(--border-tag-selected);
  color: var(--text-tag-selected);
}

/* =========================================================
   Clickable
   ========================================================= */

.tag--clickable {
  cursor: pointer;
}

/* =========================================================
   Disabled
   ========================================================= */

.tag:disabled,
.tag.is-disabled {
  pointer-events: none;
  opacity: var(--opacity-tag-disabled);
}

/* =========================================================
   Focus Visible (generic fallback)
   ========================================================= */

.tag:focus-visible {
  outline: 2px solid var(--border-tag-neutral-focus);
  outline-offset: 2px;
}

/* =========================================================
   Reduced Motion
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .tag,
  .tag__dismiss {
    -webkit-transition: none;
    transition: none;
  }
}

/* =========================================================
   Chip Component
   Compact, pill-shaped selection tokens used in scope bars,
   filter summaries, multi-select displays, and comboboxes.
   ========================================================= */

/* Base */

.chip {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  line-height: 1;
  padding: 2px 8px;
  font-size: 0.6875rem;
  font-weight: 500;
  background-color: var(--bg-badge);
  color: var(--text-badge);
  border: 1px solid var(--border-divider);
  -webkit-transition-property: background-color, color, border-color;
  transition-property: background-color, color, border-color;
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}

/* =========================================================
   Leading Icon
   ========================================================= */

.chip__icon {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 0.625rem;
  opacity: 0.7;
}

/* =========================================================
   Dismiss Button
   ========================================================= */

.chip__dismiss {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 0px;
  background-color: transparent;
  padding: 0px;
  width: 14px;
  height: 14px;
  color: inherit;
  opacity: 0.5;
  font-size: 9px;
  -webkit-transition: opacity 150ms ease;
  transition: opacity 150ms ease;
}

.chip__dismiss:hover {
    opacity: 1;
  }

/* =========================================================
   Color Variants
   ========================================================= */

/* Neutral (default — already applied on .chip base) */

/* Primary */

.chip--primary {
  background-color: var(--bg-tag-primary);
  color: var(--text-tag-primary);
  border-color: var(--border-tag-primary);
}

/* Success */

.chip--success {
  background-color: var(--bg-tag-success);
  color: var(--text-tag-success);
  border-color: var(--border-tag-success);
}

/* Warning */

.chip--warning {
  background-color: var(--bg-tag-warning);
  color: var(--text-tag-warning);
  border-color: var(--border-tag-warning);
}

/* Danger */

.chip--danger {
  background-color: var(--bg-tag-danger);
  color: var(--text-tag-danger);
  border-color: var(--border-tag-danger);
}

/* Info */

.chip--info {
  background-color: var(--bg-badge-info);
  color: var(--text-badge-info);
  border-color: transparent;
}

/* =========================================================
   Outline Style
   ========================================================= */

.chip--outline {
  background-color: transparent;
  border-color: var(--border-primary);
}

/* =========================================================
   Clickable
   ========================================================= */

.chip--clickable {
  cursor: pointer;
}

.chip--clickable:hover {
    background-color: var(--bg-badge-hover);
  }

/* =========================================================
   Disabled
   ========================================================= */

.chip:disabled,
.chip.is-disabled {
  pointer-events: none;
  opacity: 0.5;
}

/* =========================================================
   Focus Visible
   ========================================================= */

.chip:focus-visible {
  outline: 2px solid var(--border-tag-neutral-focus);
  outline-offset: 2px;
}

/* =========================================================
   Reduced Motion
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .chip,
  .chip__dismiss {
    -webkit-transition: none;
    transition: none;
  }
}

/* ========================================
   Component: Keyboard Shortcuts Help
   ======================================== */

.shortcut-help {
  position: fixed;
  inset: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.shortcut-help {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .shortcut-help {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.shortcut-help {
  background-color: oklch(0% 0 0 / 0.5);
  z-index: var(--z-modal, 50);
  display: none;
}

.shortcut-help.is-open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.shortcut-help__dialog {
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  width: 100%;
  max-width: 640px;
  max-height: 80vh;
  background-color: var(--bg-surface);
  border-color: var(--border-primary);
  -webkit-box-shadow: var(--shadow-xl);
  box-shadow: var(--shadow-xl);
}

.shortcut-help__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-bottom-width: 1px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.shortcut-help__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .shortcut-help__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.shortcut-help__header {
  border-color: var(--border-primary);
}

.shortcut-help__title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-primary);
}

.shortcut-help__body {
  overflow-y: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  max-height: calc(80vh - 48px);
}

.shortcut-help__group {
  margin-bottom: 1rem;
}

.shortcut-help__group:last-child {
  margin-bottom: 0px;
}

.shortcut-help__group-label {
  margin-bottom: 0.5rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--text-tertiary);
}

.shortcut-help__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.collapse.show.shortcut-help__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .shortcut-help__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.shortcut-help__description {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .shortcut-help__description {
  line-height: 1.3;
}

.shortcut-help__description {
  color: var(--text-secondary);
}

.shortcut-help__keys {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

/*Apps*/

body {
 color: #379dff

}

.torch-active {
  --tw-text-opacity: 1 !important;
  color: rgb(255 212 60 / var(--tw-text-opacity, 1)) !important;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(255 212 60 / 0.6) !important;
}

.activity-log ol,
.activity-log ul {
  margin: 0;
  padding: 0;
  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  padding-left: 1.5em;
}

.activity-log ol > li,
  .activity-log ul > li {
    list-style-type: none;
  }

.activity-log ul > li::before {
      content: '\2022';
    }

.activity-log li::before {
  display: inline-block;
  white-space: nowrap;
  width: 1.2em;
}

.activity-log ol li {
  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  counter-increment: list-0;
}

.activity-log ol li:before {
    content: counter(list-0, decimal) '. ';
  }

.activity-log-panel {
 background-color: var(--bg-activity-log-panel);
}

.activity-log-header {
  background-color: var(--bg-activity-log-header);
}

.activity-log-footer {
  background-color: var(--bg-activity-log-footer);
}

/* === Wrapper === */

.post {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 80%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .post {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.post--owner {
  margin-left: auto;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.post--public {
  margin-left: 0px;
}

.post--system {
  width: 100%;
  text-align: center;
  color: var(--text-post-system);
}

/* === Header (name + date, for public) === */

.post-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 0.5rem;
}

.collapse.show.post-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .post-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* === Timestamp & Author === */

.post-date--public {
  display: inline-block;
  font-size: 0.625rem;
  line-height: 0.875rem;
  color: var(--text-post-date);
}

.post-author--public {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .post-author--public {
  line-height: 1.3;
}

.post-author--public {
  color: var(--text-post-public);
}

.post-date--owner {
  margin-left: auto;
  margin-top: 0.25rem;
  display: inline-block;
  font-size: 0.625rem;
  line-height: 0.875rem;
  color: var(--text-post-date);
}

.post-footer {
  margin-left: auto;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

/* === Message Bubble === */

.post-bubble {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.75rem;
}

.collapse.show.post-bubble {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .post-bubble {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.post-bubble--owner {
  margin-left: auto;
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  background-color: var(--bg-post-owner);
  color: var(--text-post-owner);
}

.post-bubble--public {
  margin-top: 0.25rem;
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  background-color: var(--bg-post-public);
  color: var(--text-post-public);
}

.post-bubble--system {
  background-color: transparent;
  color: var(--text-post-system);
}

/* === Message Body === */

.post-body {
  white-space: pre-line;
  overflow-wrap: break-word;
  font-size: 0.875rem;
  line-height: 1.5rem;
  font-weight: 400;
  color: var(--text-primary);
  color: inherit;
}

/* === Action Bar (copy, edit, delete) === */

.post-actions {
  position: absolute;
  top: -24px;
  right: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: none;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1px;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.collapse.show.post-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .post-actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.post-actions {
  background-color: var(--bg-post-actions);
  border-color: var(--border-post-actions);
}

.mapboxgl-popup {
  padding: 0px !important;
}

.mapboxgl-popup-tip {
}

.mapboxgl-popup-content {
  height: 100%;
  width: 100%;
  border-radius: 1rem;
  padding: 0px !important;
  background-color: var(--bg-mapbox-popup);
}

.mapboxgl-popup-close-button {
  margin: 0.375rem;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  width: 20px !important;
  height: 20px !important;
  -webkit-box-align: center !important;
  -ms-flex-align: center !important;
  align-items: center !important;
  -ms-flex-pack: distribute !important;
  justify-content: space-around !important;
  border-radius: 9999px !important;
  padding: 0.5rem;
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  color: var(--text-mapbox);
}

/*Map Markers*/

.shipper-marker {
  /* size + default color (change via text-* on the element) */
  pointer-events: none;
  position: relative;
  display: inline-block;
  height: 1.5rem;
  width: 1.5rem;
  vertical-align: middle;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* big translucent disk underneath (uses currentColor) */

.shipper-marker::before {
  position: absolute;
  inset: 0px;
  border-radius: 9999px;
  border-width: 1px;
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  --tw-content: '';
  content: var(--tw-content);
    background-color: var(--bg-mapbox-origin-marker-disc);
    border-color: var(--border-mapbox-origin-marker-disc);
}

/* white dot with a soft shadow */

.shipper-marker::after {
  position: absolute;
  left: 50%;
  top: 50%;
  height: 0.5rem;
  width: 0.5rem;
  --tw-translate-x: -50%;
  --tw-translate-y: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-radius: 9999px;
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-content: '';
  content: var(--tw-content);
    background-color: var(--bg-mapbox-origin-marker);
}

.consignee-marker {
  /* size + default color (change via text-* on the element) */
  pointer-events: none;
  position: relative;
  display: inline-block;
  height: 1.5rem;
  width: 1.5rem;
  vertical-align: middle;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* big translucent disk underneath (uses currentColor) */

.consignee-marker::before {
  position: absolute;
  inset: 0px;
  border-radius: 9999px;
  border-width: 1px;
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  --tw-content: '';
  content: var(--tw-content);
    background-color: var(--bg-mapbox-destination-marker-disc);
    border-color: var(--border-mapbox-destination-marker-disc);
}

/* white dot with a soft shadow */

.consignee-marker::after {
  position: absolute;
  left: 50%;
  top: 50%;
  height: 0.5rem;
  width: 0.5rem;
  --tw-translate-x: -50%;
  --tw-translate-y: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-content: '';
  content: var(--tw-content);
    background-color: var(--bg-mapbox-destination-marker);
}

.stop-marker {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  width: 8px;
  height: 8px;
  background-color: #00ff21;
  /*border: 2px solid gray;*/
  border-radius: 50%;
  /*box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);*/
}

.origin-marker{
  background-color: var(--bg-origin-marker);
}

.destination-marker {
  background-color: var(--bg-destination-marker);
}

.route-connector {
  background-color: var(--bg-route-connector)
}

/* ==========================================================================
   REINLY – App-specific styles (aggregator)
   ==========================================================================

   This folder contains styles specific to the Reinly horse marketplace.
   Base design-system components (card, layout, hero, etc.) stay in
   /components/. Only Reinly-specific pages, flows, layouts, and component
   variations belong here.

   Import order: layouts → components → pages → flows → utilities
   ========================================================================== */

/* Layouts */

/* ==========================================================================
   RNLY – Hero collapse/expand animation
   ==========================================================================
   Two separate pill elements crossfade in-place (Airbnb pattern).
   Full pill lives in __content (hero body), compact pill in __nav-center.
   JS toggles a single --collapsed class; all animation is CSS-only.

   Height collapse uses CSS Grid (grid-template-rows: 1fr → 0fr) which
   interpolates smoothly without the max-height hack's dead-zone.           */

/* ── Easing & duration tokens ── */

:root {
  --hero-ease: cubic-bezier(.4, 0, .2, 1);
  --hero-dur: 280ms;
  --hero-dur-fast: 180ms;
}

/* ── Transition hooks ── */

.rnly-hero {
  -webkit-transition: min-height var(--hero-dur) var(--hero-ease);
  transition: min-height var(--hero-dur) var(--hero-ease);
}

.rnly-hero__nav {
  -webkit-transition: padding var(--hero-dur) var(--hero-ease);
  transition: padding var(--hero-dur) var(--hero-ease);
}

/* Body & content use grid-row collapse for smooth height animation */

.rnly-hero__body {
  display: grid;
  grid-template-rows: 1fr;
  -webkit-transition: grid-template-rows var(--hero-dur) var(--hero-ease),
              opacity var(--hero-dur-fast) ease,
              -webkit-box-flex var(--hero-dur) var(--hero-ease);
  transition: grid-template-rows var(--hero-dur) var(--hero-ease),
              opacity var(--hero-dur-fast) ease,
              -webkit-box-flex var(--hero-dur) var(--hero-ease);
  transition: grid-template-rows var(--hero-dur) var(--hero-ease),
              flex var(--hero-dur) var(--hero-ease),
              opacity var(--hero-dur-fast) ease;
  transition: grid-template-rows var(--hero-dur) var(--hero-ease),
              flex var(--hero-dur) var(--hero-ease),
              opacity var(--hero-dur-fast) ease,
              -ms-grid-rows var(--hero-dur) var(--hero-ease),
              -webkit-box-flex var(--hero-dur) var(--hero-ease),
              -ms-flex var(--hero-dur) var(--hero-ease);
}

.rnly-hero__body > * {
  min-height: 0px;
  overflow: hidden;
}

.rnly-hero__content {
  display: grid;
  grid-template-rows: 1fr;
  -webkit-transition: grid-template-rows var(--hero-dur) var(--hero-ease),
              opacity var(--hero-dur-fast) ease,
              padding var(--hero-dur) var(--hero-ease);
  transition: grid-template-rows var(--hero-dur) var(--hero-ease),
              opacity var(--hero-dur-fast) ease,
              padding var(--hero-dur) var(--hero-ease);
  transition: grid-template-rows var(--hero-dur) var(--hero-ease),
              opacity var(--hero-dur-fast) ease,
              padding var(--hero-dur) var(--hero-ease),
              -ms-grid-rows var(--hero-dur) var(--hero-ease);
  will-change: opacity;
}

.rnly-hero__content > * {
  min-height: 0px;
  overflow: hidden;
}

.rnly-hero__overlay {
  -webkit-transition: opacity var(--hero-dur) ease;
  transition: opacity var(--hero-dur) ease;
}

.rnly-hero__image {
  -webkit-transition: -webkit-transform calc(var(--hero-dur) + 80ms) var(--hero-ease);
  transition: -webkit-transform calc(var(--hero-dur) + 80ms) var(--hero-ease);
  transition: transform calc(var(--hero-dur) + 80ms) var(--hero-ease);
  transition: transform calc(var(--hero-dur) + 80ms) var(--hero-ease), -webkit-transform calc(var(--hero-dur) + 80ms) var(--hero-ease);
  will-change: transform;
}

/* ── Collapsed state ── */

.rnly-hero--collapsed {
  min-height: 0px;
}

.rnly-hero--collapsed .rnly-hero__nav {
  padding: 12px 16px;
}

/* Collapse body (title + subtitle) */

.rnly-hero--collapsed .rnly-hero__body {
  pointer-events: none;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  opacity: 0;
  grid-template-rows: 0fr;
}

/* Collapse the full search pill */

.rnly-hero--collapsed .rnly-hero__content {
  pointer-events: none;
  padding-top: 0px;
  padding-bottom: 0px;
  opacity: 0;
  grid-template-rows: 0fr;
}

/* Show the compact search pill in the nav */

.rnly-hero--collapsed .rnly-hero__nav-center {
  pointer-events: auto;
  opacity: 1;
}

/* Subtle zoom on the background image when collapsed */

.rnly-hero--collapsed .rnly-hero__image {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* Lighten the overlay when collapsed */

.rnly-hero--collapsed .rnly-hero__overlay {
  opacity: 0.7;
}

/* ── Branded topbar (emerald-900 header on internal pages) ──
   Force white icons / text on the dark header bar.            */

.app-chrome--branded .btn-secondary,
.app-chrome--branded .dropdown-toggle.btn-secondary {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.18);
}

.app-chrome--branded .btn-secondary:hover,
.app-chrome--branded .dropdown-toggle.btn-secondary:hover {
  background-color: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.3);
}

/* ==========================================================================
   RNLY – Seller header & navigation
   ========================================================================== */

/* ── Seller topbar (3-column centered layout) ── */

.seller-topbar {
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  grid-template-columns: 1fr auto 1fr;
  padding: 12px 16px;
  min-width: 0;
  background-color: var(--canvas-primary);
}

.seller-topbar__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.collapse.show.seller-topbar__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .seller-topbar__left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.seller-topbar__center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.seller-topbar__center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .seller-topbar__center {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.seller-topbar__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 0.5rem;
}

.collapse.show.seller-topbar__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .seller-topbar__right {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ── Tab badge counters (inside nav-link) ── */

.seller-tab-badge {
  margin-left: 0.25rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 600;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  background-color: var(--utility-neutral-200, #e5e5e5);
  color: var(--text-secondary);
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
}

/* Empty badge: fully collapse so it doesn't offset the tab label */

.seller-tab-badge:empty {
  display: none;
}

/* ==========================================================================
   RNLY – Bootstrap modal compatibility
   ==========================================================================
   Bootstrap JS sets `display: block` inline on .modal, but our
   modal.css uses `display: flex` for centering. Override it.
   Bootstrap also creates a dynamic .modal-backdrop element — we
   need to style it since Bootstrap CSS is not loaded.              */

.modal.show {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.modal-backdrop {
  position: fixed;
  inset: 0px;
  z-index: 69;
  background-color: var(--bg-modal-overlay, rgba(0, 0, 0, 0.5));
  opacity: 0;
  -webkit-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
}

.modal-backdrop.show {
  opacity: 1;
}

/* Components (Reinly variations only – not base card/badge/etc.) */

/* ==========================================================================
   RNLY – Search pill (shared across homepage hero + listings header)
   ========================================================================== */

.rnly-search {
  border-width: 1px;
  background-color: #fff;
  border-color: rgba(255,255,255,.3);
  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.05);
  box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.05);
}

.rnly-search:hover {
  -webkit-box-shadow: 0 2px 4px rgba(0,0,0,.1), 0 8px 16px rgba(0,0,0,.08);
  box-shadow: 0 2px 4px rgba(0,0,0,.1), 0 8px 16px rgba(0,0,0,.08);
}

.rnly-seg {
  color: var(--text-primary);
}

.rnly-seg:hover {
  background-color: var(--bg-primary-subtle);
}

.rnly-seg + .rnly-seg {
  border-left-width: 1px;
  border-color: var(--border-primary);
}

/* ==========================================================================
   RNLY – Price-band scale (Hi/Lo component)
   ========================================================================== */

.rnly-price-scale {
  position: relative;
  height: 4px;
  border-radius: 2px;
  background-color: var(--utility-neutral-200, #e5e7eb);
}

.rnly-price-scale__fill {
  position: absolute;
  top: 0px;
  left: 0px;
  height: 100%;
  border-radius: 2px;
  background-color: var(--utility-orange-200, #fed7aa);
}

.rnly-price-scale__marker {
  position: absolute;
  top: 50%;
  --tw-translate-x: -50%;
  --tw-translate-y: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -webkit-filter: drop-shadow(0 1px 2px rgba(0,0,0,.15));
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.15));
}

/* Range labels (low / high) underneath the bar */

.rnly-price-scale__range {
  margin-top: 0.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  font-size: 0.625rem;
  font-weight: 500;
  line-height: 1;
}

.collapse.show.rnly-price-scale__range {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .rnly-price-scale__range {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.rnly-price-scale__range {
  color: var(--text-tertiary, #9ca3af);
}

/* Compact modifier for map pins */

.rnly-price-scale--compact {
  height: 3px;
  width: 2rem;
}

/* Compact marker inside pins – scale down the carrot SVG */

.rnly-price-scale--compact .rnly-price-scale__marker {
  -webkit-transform: translate(-50%, -50%) scale(0.65);
  -ms-transform: translate(-50%, -50%) scale(0.65);
  transform: translate(-50%, -50%) scale(0.65);
}

/* Detail modifier – wider bar for CTA sidebar */

.rnly-price-scale--detail {
  height: 0.375rem;
  border-radius: 3px;
}

.rnly-price-scale--detail .rnly-price-scale__fill {
  border-radius: 3px;
}

.rnly-price-scale--detail .rnly-price-scale__marker {
  -webkit-transform: translate(-50%, -50%) scale(1.2);
  -ms-transform: translate(-50%, -50%) scale(1.2);
  transform: translate(-50%, -50%) scale(1.2);
}

/* ==========================================================================
   REINLY – Buyer listing card (.card--listing)
   Reinly-specific card variation — base .card stays in card.css
   ========================================================================== */

.card--listing {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.card--listing {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .card--listing {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.card--listing {
  background-color: var(--canvas-primary);
  outline: 2px solid transparent;
  outline-offset: 4px;
}

.card--listing.is-active {
  outline-color: var(--text-primary);
}

.card--listing:focus-visible {
  outline-color: var(--text-info);
}

/* Media area */

.card--listing__media {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-card-hover, 1.25rem);
  aspect-ratio: 20 / 19;
  background: linear-gradient(
    90deg,
    var(--bg-skeleton, var(--bg-tertiary)) 25%,
    var(--bg-skeleton-highlight, var(--bg-secondary)) 37%,
    var(--bg-skeleton, var(--bg-tertiary)) 63%
  );
  background-size: 200% 100%;
  -webkit-animation: shimmer 1.5s ease-in-out infinite;
  animation: shimmer 1.5s ease-in-out infinite;
}

/* Stop shimmer once content loads or placeholder is shown */

.card--listing__media:has(img, video, .lc-carousel, .card--listing__placeholder) {
  -webkit-animation: none;
  animation: none;
  background: var(--bg-primary-subtle);
}

.card--listing__media img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* Badge overlay */

.card--listing__badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 10;
}

/* Favorite button */

.card--listing__fav {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 10;
  font-size: 1.125rem;
  line-height: 2rem;
  color: var(--alpha-white-100, #fff);
  -webkit-filter: drop-shadow(0 1px 3px rgba(0,0,0,.35));
  filter: drop-shadow(0 1px 3px rgba(0,0,0,.35));
  -webkit-transition: -webkit-transform .15s ease;
  transition: -webkit-transform .15s ease;
  transition: transform .15s ease;
  transition: transform .15s ease, -webkit-transform .15s ease;
}

.card--listing__fav:hover {
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2);
}

/* Body text */

.card--listing__body {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.625rem;
  padding-bottom: 0.25rem;
}

.card--listing__title {
  font-size: 0.875rem;
  line-height: 1.5rem;
  font-weight: 500;
  line-height: 1.25;
  color: var(--text-primary-solid);
}

.card--listing__title--placeholder {
  font-style: italic;
  color: var(--text-quaternary);
}

.card--listing__price {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
}

.card--listing__facts {
  margin-top: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .card--listing__facts {
  line-height: 1.3;
}

.card--listing__facts {
  color: var(--text-tertiary);
}

.card--listing__location {
  margin-top: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .card--listing__location {
  line-height: 1.3;
}

.card--listing__location {
  color: var(--text-tertiary);
}

.card--listing__meta {
  margin-top: 0.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.6875rem;
  line-height: 1rem;
}

.collapse.show.card--listing__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .card--listing__meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.card--listing__meta {
  color: var(--text-quaternary);
}

.card--listing__meta span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.card--listing__meta i {
  font-size: 0.6875rem;
}

.card--listing__date {
  margin-top: 0.25rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-quaternary);
}

/* ==========================================================================
   RNLY – Seller listing card modifier
   Extends base .card--listing with seller-specific overlays (action buttons,
   add-card variant). Uses .card--hover-surface for the hover effect.
   ========================================================================== */

/* ── Quick-action overlay (edit / preview, visible on hover) ── */

.card--listing-seller__actions {
  pointer-events: none;
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.25rem;
  opacity: 0;
}

.collapse.show.card--listing-seller__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .card--listing-seller__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.card--listing-seller__actions {
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
}

.card--listing-seller:hover .card--listing-seller__actions,
.card--listing-seller__actions:has(.dropdown-menu.show) {
  pointer-events: auto;
  opacity: 1;
}

/* ── "Add listing" placeholder card ── */

.card--listing-seller--add .card--listing__media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-width: 2px;
  border-style: dashed;
  background-image: none;
}

.collapse.show.card--listing-seller--add .card--listing__media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .card--listing-seller--add .card--listing__media {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.card--listing-seller--add .card--listing__media {
  border-color: var(--border-primary);
  color: var(--text-tertiary);
}

.card--listing-seller--add:hover .card--listing__media {
  border-color: var(--text-secondary);
  background-color: var(--utility-neutral-50, var(--utility-neutral-100));
  color: var(--text-primary);
}

/* ── Dashboard listing card (carousel) ── */

.dashboard-listing-card {
  width: 200px;
  min-width: 200px;
  /* Extra bottom padding so hover-surface ::before (inset: -6px)
     has room below the card text */
  padding-bottom: 4px;
}

.dashboard-listing-card__media {
  aspect-ratio: 20 / 19;
  overflow: hidden;
  background-color: var(--bg-primary-subtle);
}

.dashboard-listing-card__media img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* Card text area — enough padding so hover bg doesn't crowd the text */

.dashboard-listing-card__body {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.625rem;
  padding-bottom: 0.25rem;
}

/* ── Listing card grid ── */

.seller-card-grid {
  display: grid;
  padding: 1.5rem;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
  padding-inline: 1.75rem;
}

/* ── Thumbnail click target ── */

.card--listing-seller:not(.card--listing-seller--add) .card--listing__media {
  cursor: pointer;
}

/* ── Skeleton shimmer while card refreshes ── */

.card--listing__media--loading {
  position: relative;
}

.card--listing__media--loading::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 5;
  border-radius: inherit;
  background: linear-gradient(
    90deg,
    var(--bg-skeleton, var(--bg-tertiary)) 25%,
    var(--bg-skeleton-highlight, var(--bg-secondary)) 37%,
    var(--bg-skeleton, var(--bg-tertiary)) 63%
  );
  background-size: 200% 100%;
  -webkit-animation: shimmer 1.5s ease-in-out infinite;
  animation: shimmer 1.5s ease-in-out infinite;
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* ── Card drag states ── */

body.seller-is-dragging,
body.seller-is-dragging * {
  cursor: -webkit-grabbing !important;
  cursor: grabbing !important;
}

.card--listing-seller--dragging {
  opacity: 0.3 !important;
  -webkit-transform: scale(0.97);
  -ms-transform: scale(0.97);
  transform: scale(0.97);
}

.card--listing-seller--mirror {
  opacity: 0.9;
  -webkit-box-shadow: 0 12px 28px rgba(0, 0, 0, 0.15), 0 4px 10px rgba(0, 0, 0, 0.1);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.15), 0 4px 10px rgba(0, 0, 0, 0.1);
  border-radius: 0.75rem;
  z-index: 100;
  cursor: -webkit-grabbing !important;
  cursor: grabbing !important;
}

.card--listing-seller:not(.card--listing-seller--add) .card--listing__body {
  position: relative;
  cursor: -webkit-grab;
  cursor: grab;
}

body.seller-is-dragging .card--listing__body {
  cursor: -webkit-grabbing !important;
  cursor: grabbing !important;
}

/* ==========================================================================
   REINLY – Listing card carousel (Airbnb-style image slider)
   Sits inside .card--listing__media for multi-image listing cards.
   ========================================================================== */

.lc-carousel {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* ── Slide track ── */

.lc-carousel__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 0, 0, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.25, 0, 0, 1);
  transition: transform 0.3s cubic-bezier(0.25, 0, 0, 1);
  transition: transform 0.3s cubic-bezier(0.25, 0, 0, 1), -webkit-transform 0.3s cubic-bezier(0.25, 0, 0, 1);
  will-change: transform;
}

.lc-carousel__slide {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  position: relative;
  background: linear-gradient(
    90deg,
    var(--bg-skeleton, var(--bg-tertiary)) 25%,
    var(--bg-skeleton-highlight, var(--bg-secondary)) 37%,
    var(--bg-skeleton, var(--bg-tertiary)) 63%
  );
  background-size: 200% 100%;
  -webkit-animation: shimmer 1.5s ease-in-out infinite;
  animation: shimmer 1.5s ease-in-out infinite;
}

.lc-carousel__slide img,
.lc-carousel__slide video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: relative;
  z-index: 1;
}

/* ── Navigation arrows ── */

.lc-carousel__arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 12;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.9);
  color: var(--text-primary);
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
  cursor: pointer;
  opacity: 0;
  -webkit-transition: opacity 0.15s ease, background 0.1s ease, -webkit-transform 0.15s ease;
  transition: opacity 0.15s ease, background 0.1s ease, -webkit-transform 0.15s ease;
  transition: opacity 0.15s ease, transform 0.15s ease, background 0.1s ease;
  transition: opacity 0.15s ease, transform 0.15s ease, background 0.1s ease, -webkit-transform 0.15s ease;
  -webkit-tap-highlight-color: transparent;
}

.lc-carousel:hover .lc-carousel__arrow {
  opacity: 1;
}

.lc-carousel__arrow:hover {
  background: #fff;
  -webkit-transform: translateY(-50%) scale(1.08);
  -ms-transform: translateY(-50%) scale(1.08);
  transform: translateY(-50%) scale(1.08);
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.lc-carousel__arrow:active {
  -webkit-transform: translateY(-50%) scale(0.95);
  -ms-transform: translateY(-50%) scale(0.95);
  transform: translateY(-50%) scale(0.95);
}

.lc-carousel__arrow--prev {
  left: 8px;
}

.lc-carousel__arrow--next {
  right: 8px;
}

/* Hide arrows when at boundaries */

.lc-carousel__arrow[disabled] {
  opacity: 0 !important;
  pointer-events: none;
}

/* ── Dot indicators ── */

.lc-carousel__dots {
  position: absolute;
  bottom: 8px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 4px;
  pointer-events: none;
}

.lc-carousel__dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.lc-carousel__dot.is-active {
  width: 7px;
  height: 7px;
  background: #fff;
}

/* Edge dots shrink to hint at more slides beyond the window */

.lc-carousel__dot--small {
  width: 3px;
  height: 3px;
  background: rgba(255, 255, 255, 0.2);
}

/* ── Video slides ── */

.lc-carousel__slide {
  position: relative;
}

.lc-carousel__slide video {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.lc-carousel__play-badge {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  z-index: 5;
  pointer-events: none;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

/* Fade out play badge when carousel is hovered and this is the visible video slide */

.lc-carousel:hover .lc-carousel__slide[data-media-type="1"] .lc-carousel__play-badge {
  opacity: 0;
}

/* ── Video loading spinner ── */

.lc-carousel__video-loader {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  z-index: 4;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

/* Show spinner when video is waiting/buffering */

.lc-carousel__slide.is-loading .lc-carousel__video-loader {
  opacity: 1;
}

/* Hide play badge while loading */

.lc-carousel__slide.is-loading .lc-carousel__play-badge {
  opacity: 0;
}

/* ── Reduced motion ── */

@media (prefers-reduced-motion: reduce) {
  .lc-carousel__track {
    -webkit-transition: none;
    transition: none;
  }
}

/* ==========================================================================
   REINLY – Video Scrub Preview
   Inline scrub bar with frame preview tooltip for video thumbnails.
   Used in listing card carousels and media grids.
   ========================================================================== */

/* ── Container ── */

.vs-scrub {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 8;
  padding: 0 10px 10px;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

/* Show on parent hover (carousel slide or photo thumb) */

.lc-carousel__slide:hover .vs-scrub,
.lc-carousel:hover .lc-carousel__slide[data-media-type="1"] .vs-scrub,
.pm-photo-thumb:hover .vs-scrub {
  opacity: 1;
  pointer-events: auto;
}

/* In carousel context, position above the dots (dots are at bottom: 8px) */

.lc-carousel__slide .vs-scrub {
  padding-bottom: 24px;
}

/* ── Bottom gradient for legibility ── */

.vs-scrub__gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.4)), to(transparent));
  background: linear-gradient(to top, rgba(0, 0, 0, 0.4) 0%, transparent 100%);
  pointer-events: none;
  border-radius: 0 0 inherit inherit;
}

/* ── Track ── */

.vs-scrub__track {
  position: relative;
  height: 4px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.3);
  cursor: pointer;
  -webkit-transition: height 0.15s ease;
  transition: height 0.15s ease;
  z-index: 1;
}

.vs-scrub:hover .vs-scrub__track,
.vs-scrub.is-scrubbing .vs-scrub__track {
  height: 6px;
  border-radius: 3px;
}

/* Expand hit area without visual change */

.vs-scrub__track::before {
  content: '';
  position: absolute;
  top: -8px;
  bottom: -8px;
  left: 0;
  right: 0;
}

/* ── Fill ── */

.vs-scrub__fill {
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: #fff;
  -webkit-transition: width 0.05s linear;
  transition: width 0.05s linear;
  pointer-events: none;
}

/* ── Handle dot ── */

.vs-scrub__handle {
  position: absolute;
  top: 50%;
  left: 0%;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  -webkit-transform: translate(-50%, -50%) scale(0);
  -ms-transform: translate(-50%, -50%) scale(0);
  transform: translate(-50%, -50%) scale(0);
  -webkit-transition: -webkit-transform 0.15s ease;
  transition: -webkit-transform 0.15s ease;
  transition: transform 0.15s ease;
  transition: transform 0.15s ease, -webkit-transform 0.15s ease;
  pointer-events: none;
  z-index: 2;
}

.vs-scrub:hover .vs-scrub__handle,
.vs-scrub.is-scrubbing .vs-scrub__handle {
  -webkit-transform: translate(-50%, -50%) scale(1);
  -ms-transform: translate(-50%, -50%) scale(1);
  transform: translate(-50%, -50%) scale(1);
}

/* ── Frame preview tooltip ── */

.vs-scrub__preview {
  position: absolute;
  bottom: calc(100% + 4px);
  left: 0;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
  z-index: 11;
  -webkit-filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.25));
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.25));
}

/* Show preview on hover and scrubbing */

.vs-scrub:hover .vs-scrub__preview,
.vs-scrub.is-scrubbing .vs-scrub__preview {
  opacity: 1;
}

/* ── Canvas — default size (carousel cards) ── */

.vs-scrub__canvas {
  width: 112px;
  height: 64px;
  border-radius: 5px;
  border: 2px solid rgba(255, 255, 255, 0.85);
  background: #000;
  -o-object-fit: cover;
  object-fit: cover;
}

/* ── Size: small (compact thumbnails / mini players) — time only, no frame ── */

.vs-scrub--sm .vs-scrub__canvas {
  display: none;
}

/* ── Size: medium (photo manager grid) ── */

.vs-scrub--md .vs-scrub__canvas {
  width: 140px;
  height: 80px;
  border-radius: 6px;
}

/* ── Size: large (expanded / detail views) ── */

.vs-scrub--lg .vs-scrub__canvas {
  width: 180px;
  height: 102px;
  border-radius: 8px;
  border-width: 2px;
}

/* ── Size: xl (fullscreen / lightbox) ── */

.vs-scrub--xl .vs-scrub__canvas {
  width: 220px;
  height: 124px;
  border-radius: 8px;
  border-width: 3px;
}

.vs-scrub__time {
  display: inline-block;
  margin-top: 3px;
  padding: 1px 6px;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  font-size: 10px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  line-height: 1.4;
  white-space: nowrap;
}

/* ══════════════════════════════════════════════════════════════════
   PLAY / PAUSE TOGGLE
   Centered button that shows when the mouse is moving over a video,
   hides after the mouse rests (idle timeout handled in JS).
   ══════════════════════════════════════════════════════════════════ */

.vs-playpause {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(0.9);
  -ms-transform: translate(-50%, -50%) scale(0.9);
  transform: translate(-50%, -50%) scale(0.9);
  z-index: 9;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  color: #fff;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
  -webkit-tap-highlight-color: transparent;
}

.vs-playpause:hover {
  background: rgba(0, 0, 0, 0.65);
  -webkit-transform: translate(-50%, -50%) scale(1);
  -ms-transform: translate(-50%, -50%) scale(1);
  transform: translate(-50%, -50%) scale(1);
}

.vs-playpause:active {
  -webkit-transform: translate(-50%, -50%) scale(0.9);
  -ms-transform: translate(-50%, -50%) scale(0.9);
  transform: translate(-50%, -50%) scale(0.9);
}

/* Visible when mouse is moving (class toggled by JS) */

.vs-playpause.is-visible {
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: translate(-50%, -50%) scale(1);
  -ms-transform: translate(-50%, -50%) scale(1);
  transform: translate(-50%, -50%) scale(1);
}

/* ── Responsive ── */

@media (max-width: 480px) {
  .vs-scrub__preview {
    display: none;
  }

  .vs-scrub__canvas {
    width: 96px;
    height: 54px;
  }
}

/* ── Reduced motion ── */

@media (prefers-reduced-motion: reduce) {
  .vs-scrub,
  .vs-scrub__track,
  .vs-scrub__handle,
  .vs-scrub__preview,
  .vs-scrub__fill {
    -webkit-transition: none;
    transition: none;
  }
}

/* ==========================================================================
   RNLY – Carousel components
   Used on the home page and any horizontally-scrollable card track.
   ========================================================================== */

/* ── Scrollable track (hides scrollbar across browsers) ── */

.rnly-track {
  scrollbar-width: none;
  -ms-overflow-style: none;
  /* Padding inside the scroll container gives room for
     card--hover-surface ::before (inset: -6px) on edge cards. */
  padding: 10px;
  scroll-padding-inline: 10px;
}

.rnly-track::-webkit-scrollbar {
  display: none;
}

/* ── Carousel card sizing ── */

.rnly-carousel-item {
  width: calc((100% - 80px) / 5);
  min-width: 220px;
}

/* ── Card media container (matches listing-card aspect ratio) ── */

.rnly-carousel-media {
  aspect-ratio: 20 / 19;
}

/* ── Skeleton loading placeholder ── */

.rnly-skeleton {
  background-size: 200% 100%;
  background-color: var(--bg-primary-subtle, #f0f0f0);
  background-image: linear-gradient(
    90deg,
    var(--bg-primary-subtle, #f0f0f0) 0%,
    var(--bg-card, #e8e8e8) 50%,
    var(--bg-primary-subtle, #f0f0f0) 100%
  );
  -webkit-animation: rnly-shimmer 1.8s ease-in-out infinite;
  animation: rnly-shimmer 1.8s ease-in-out infinite;
}

@-webkit-keyframes rnly-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

@keyframes rnly-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ── Favorite heart overlay ── */

.rnly-fav {
  color: var(--alpha-white-100, #fff);
  -webkit-filter: drop-shadow(0 1px 3px rgba(0,0,0,.35));
  filter: drop-shadow(0 1px 3px rgba(0,0,0,.35));
  -webkit-transition: -webkit-transform .15s ease;
  transition: -webkit-transform .15s ease;
  transition: transform .15s ease;
  transition: transform .15s ease, -webkit-transform .15s ease;
}

.rnly-fav:hover {
  --tw-scale-x: 1.2;
  --tw-scale-y: 1.2;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* ── Video play button ── */

.rnly-play {
  height: 3rem;
  width: 3rem;
  background-color: rgba(0, 0, 0, .55);
  backdrop-filter: blur(4px);
  border: 2px solid rgba(255, 255, 255, .8);
  color: var(--alpha-white-100, #fff);
  -webkit-transition: background-color .15s ease, -webkit-transform .15s ease;
  transition: background-color .15s ease, -webkit-transform .15s ease;
  transition: transform .15s ease, background-color .15s ease;
  transition: transform .15s ease, background-color .15s ease, -webkit-transform .15s ease;
}

.rnly-play:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  background-color: rgba(0, 0, 0, .7);
}

.rnly-play i {
  margin-left: 0.125rem; /* optical centering for play triangle */
}

/* ── Carousel navigation arrows ── */

.rnly-arrow {
  border-width: 1px;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  background-color: var(--bg-card, white);
  border-color: var(--border-primary-alt);
  color: var(--text-primary);
}

.rnly-arrow:hover {
  border-color: var(--border-secondary);
  -webkit-box-shadow: 0 2px 6px rgba(0,0,0,.12);
  box-shadow: 0 2px 6px rgba(0,0,0,.12);
}

.rnly-arrow:disabled,
.rnly-arrow[disabled] {
  cursor: default;
  opacity: 0.4;
}

/* ==========================================================================
   REINLY – Wizard stepper (step indicator in modal header)
   ========================================================================== */

.wizard-stepper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0px;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.collapse.show.wizard-stepper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .wizard-stepper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.wizard-stepper__step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 9999px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
}

.collapse.show.wizard-stepper__step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .wizard-stepper__step {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.wizard-stepper__step {
  color: var(--text-tertiary);
}

.wizard-stepper__step--active {
  color: var(--text-primary);
  background-color: var(--utility-neutral-100);
}

.wizard-stepper__step--done {
  color: var(--text-secondary);
}

.wizard-stepper__dot {
  height: 0.5rem;
  width: 0.5rem;
  border-radius: 9999px;
  background-color: var(--border-primary);
}

.wizard-stepper__dot--active {
  background-color: var(--text-primary);
}

.wizard-stepper__dot--done {
  background-color: var(--text-secondary);
}

.wizard-stepper__divider {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
  height: 1px;
  width: 2rem;
  background-color: var(--border-primary);
}

/* ==========================================================================
   REINLY – Wizard selectable cards (horse-type, listing-type, traits)
   ========================================================================== */

/* ── Base grid ── */

.wizard-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

@media (min-width: 768px) {
  .wizard-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ── Base card ── */

.wizard-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.75rem;
  border-width: 1px;
  padding: 1rem;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}

.collapse.show.wizard-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .wizard-card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.wizard-card {
  border-color: var(--border-primary);
  background-color: var(--canvas-primary);
}

.wizard-card:hover {
  border-color: var(--border-input-hover);
}

.wizard-card[aria-checked="true"],
.wizard-card--selected {
  border-color: var(--utility-emerald-800);
  -webkit-box-shadow: inset 0 0 0 1px var(--utility-emerald-800);
  box-shadow: inset 0 0 0 1px var(--utility-emerald-800);
}

/* ── Disabled state (max selections reached) ── */

.wizard-card--disabled {
  opacity: 0.35;
  cursor: not-allowed !important;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

.wizard-card--disabled:hover {
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border-color: var(--border-primary) !important;
}

/* ── Ranked variant (multi-select with numbered badge) ── */

.wizard-card--ranked {
  position: relative;
}

.wizard-card__rank {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 700;
}

.collapse.show.wizard-card__rank {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .wizard-card__rank {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.wizard-card__rank {
  top: -6px;
  right: -6px;
  width: 20px;
  height: 20px;
  background-color: var(--utility-emerald-700);
  color: white;
  opacity: 0;
  -webkit-transform: scale(0.5);
  -ms-transform: scale(0.5);
  transform: scale(0.5);
  -webkit-transition: opacity 0.15s ease, -webkit-transform 0.15s ease;
  transition: opacity 0.15s ease, -webkit-transform 0.15s ease;
  transition: opacity 0.15s ease, transform 0.15s ease;
  transition: opacity 0.15s ease, transform 0.15s ease, -webkit-transform 0.15s ease;
  pointer-events: none;
}

.wizard-card--ranked[aria-checked="true"] .wizard-card__rank {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

/* ── Row variant (listing-type cards) ── */

.wizard-card--row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  gap: 0.75rem;
  padding: 1rem;
}

.collapse.show.wizard-card--row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .wizard-card--row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ── Trait variant (compact) ── */

.wizard-card--trait {
  padding: 0.75rem;
}

.wizard-card--trait .text-xs {
  line-height: 1.3;
}

/* ── Large grid variant (horse-type step) ── */

.wizard-card-grid--lg {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .wizard-card-grid--lg {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .wizard-card-grid--lg {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

/* ── Wizard Select Combobox ── */

[data-wizard-combobox] {
  z-index: 1;
}

[data-wizard-combobox]:has(.wizard-combobox__dropdown:not([hidden])) {
  z-index: 20;
}

.wizard-combobox__dropdown {
  position: absolute;
  left: 0px;
  right: 0px;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  z-index: 9999;
  top: calc(100% + 4px);
  background-color: var(--bg-dropdown);
  border-color: var(--border-dropdown);
  max-height: 240px;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.wizard-combobox__dropdown[hidden] {
  display: none;
}

.wizard-combobox__list {
  overflow-y: auto;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  max-height: 180px;
}

.wizard-combobox__list li {
  cursor: pointer;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-dropdown-item);
}

.wizard-combobox__list li:hover {
  background-color: var(--bg-dropdown-hover);
}

.wizard-combobox__list li.is-selected {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.wizard-combobox__list li.is-selected::after {
  content: '\f00c'; /* fa-check */
  font-family: 'Font Awesome 7 Pro';
  font-weight: 300;
  font-size: 0.75rem;
  color: var(--utility-emerald-700);
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-left: 0.5rem;
}

.wizard-combobox__list li.is-highlighted {
  background-color: var(--bg-dropdown-hover);
}

/* Combobox search row with clear button */

.wizard-combobox__search-wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.collapse.show.wizard-combobox__search-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .wizard-combobox__search-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.wizard-combobox__clear {
  position: absolute;
  right: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 1.25rem;
  width: 1.25rem;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
}

.collapse.show.wizard-combobox__clear {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .wizard-combobox__clear {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.wizard-combobox__clear {
  color: var(--text-tertiary);
  background: none;
  border: none;
  padding: 0;
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
}

.wizard-combobox__clear:hover {
  color: var(--text-primary);
}

.wizard-combobox__clear[hidden] {
  display: none;
}

.wizard-combobox__value {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ==========================================================================
   RNLY – Stepper Bar (segmented progress)
   Used in the Create Listing wizard modal footer.
   ========================================================================== */

.stepper-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  gap: 0.5rem;
}

.collapse.show.stepper-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .stepper-bar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ── Section ── */

.step-bar__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.125rem;
}

.collapse.show.step-bar__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.menu--collapsed .menu-link .step-bar__section {
      display: none;
    }

@media (max-width: 420px) {
  .ach-card > .step-bar__section {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.step-bar__section {
  --step-bar-progress: 0%;
}

/* ── Label row: number + title (clickable) ── */

.step-bar__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0.375rem;
  text-decoration-line: none;
}

.collapse.show.step-bar__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .step-bar__label {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.step-bar__label {
  padding: 2px 6px 2px 2px;
  margin: -2px -6px -2px -2px;
  -webkit-transition: background-color 0.12s ease;
  transition: background-color 0.12s ease;
}

.step-bar__label:hover {
  background-color: var(--bg-button-secondary-hover, var(--utility-neutral-100));
}

.step-bar__number {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 600;
  width: 18px;
  height: 18px;
  background-color: var(--utility-neutral-200);
  color: var(--text-tertiary);
  -webkit-transition: background-color 0.2s ease, color 0.2s ease;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.step-bar__title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .step-bar__title {
  line-height: 1.3;
}

.step-bar__title {
  color: var(--text-tertiary);
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}

/* ── Track bar ── */

.step-bar__track {
  width: 100%;
  overflow: hidden;
  border-radius: 9999px;
  height: 3px;
  background-color: var(--utility-neutral-200);
}

.step-bar__fill {
  height: 100%;
  border-radius: 9999px;
  width: var(--step-bar-progress, 0%);
  background-color: var(--utility-neutral-400);
  /* No transition by default — prevents animation on modal open/draft resume.
     JS adds .stepper-bar--animate after first interaction. */
}

.stepper-bar--animate .step-bar__fill {
  -webkit-transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── States ── */

/* Completed section */

.step-bar__section.is-completed .step-bar__number {
  background-color: var(--utility-emerald-600);
  color: white;
}

.step-bar__section.is-completed .step-bar__title {
  color: var(--text-secondary);
}

.step-bar__section.is-completed .step-bar__fill {
  width: 100%;
  background-color: var(--utility-emerald-500);
}

/* Current section */

.step-bar__section.is-current .step-bar__number {
  background-color: var(--text-primary);
  color: white;
}

.step-bar__section.is-current .step-bar__title {
  color: var(--text-primary);
}

.step-bar__section.is-current .step-bar__fill {
  background-color: var(--text-primary);
}

/* ── Sub-step links ── */

.step-bar__subs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 0.125rem;
  -moz-column-gap: 0.125rem;
  column-gap: 0.125rem;
  row-gap: 0px;
}

.collapse.show.step-bar__subs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .step-bar__subs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.step-bar__sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  text-decoration-line: none;
}

.collapse.show.step-bar__sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .step-bar__sub {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.step-bar__sub {
  padding: 1px 6px 1px 4px;
  border-radius: 4px;
  color: var(--text-quaternary);
  -webkit-transition: color 0.12s ease, background-color 0.12s ease;
  transition: color 0.12s ease, background-color 0.12s ease;
  line-height: 1.6;
}

.step-bar__sub:hover {
  color: var(--text-primary);
  background-color: var(--bg-button-secondary-hover, var(--utility-neutral-100));
}

/* Dot before each sub-step */

.step-bar__sub::before {
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: var(--utility-neutral-300);
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

/* Current section subs */

.step-bar__section.is-current .step-bar__sub {
  color: var(--text-tertiary);
}

.step-bar__section.is-current .step-bar__sub:hover {
  color: var(--text-primary);
}

/* Completed section subs */

.step-bar__section.is-completed .step-bar__sub {
  color: var(--text-tertiary);
}

.step-bar__section.is-completed .step-bar__sub:hover {
  color: var(--text-primary);
}

/* Active sub-step */

.step-bar__sub.is-active {
  color: var(--text-primary);
  font-weight: 500;
}

.step-bar__sub.is-active::before {
  background-color: var(--text-primary);
}

/* Completed sub-step — green dot */

.step-bar__sub.is-completed::before {
  background-color: var(--utility-emerald-600);
}

/* ── Responsive: compact on small screens ── */

@media (max-width: 480px) {
  .step-bar__title {
    display: none;
  }

  .step-bar__subs {
    display: none;
  }
}

/* ==========================================================================
   REINLY – Counter / stepper input (age, height in wizard)
   ========================================================================== */

.counter-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.counter-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .counter-group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.counter-group {
  border-bottom: 1px solid var(--border-primary);
}

.counter-controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
}

.collapse.show.counter-controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .counter-controls {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.counter-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 2rem;
  width: 2rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}

.collapse.show.counter-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .counter-btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.counter-btn {
  border-color: var(--border-primary);
  color: var(--text-secondary);
  background: none;
  cursor: pointer;
}

.counter-btn:hover {
  color: var(--text-primary);
  border-color: var(--text-primary);
}

.counter-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* ── Wizard counter input (editable, scrollable) ── */

.ps-search .wizard-counter-input {
  padding-right: 4rem;
}

.ps-search:has(.ps-search__clear) .wizard-counter-input {
  padding-right: 2rem;
}

.table td.controls :is(.wizard-counter-input, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control) {
  width: 100%;
  border-radius: 0.125rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}

.table.table-editable td.controls :is(.wizard-counter-input, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control) {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    background-color: var(--bg-table-control, var(--alpha-0));
    border-color: var(--border-table-control, var(--border-table, var(--border-primary-subtle)));
}

.table.table-editable td.controls :is(.wizard-counter-input, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control):hover {
      border-color: var(--border-input-hover);
    }

.table.table-editable td.controls :is(.wizard-counter-input, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control):focus {
      border-color: var(--border-input-active);
      background-color: var(--bg-table-control-focus, var(--bg-input-select));
    }

.form-group-inline:has(.controls :is(.form-control-md, .input-group .form-control-md, .input-group-stack .form-control-md,.wizard-counter-input, .combobox__control)) {
    --form-inline-label-offset: 0.5325rem;
  }

select.wizard-counter-input.input-validation-error {
  border-width: 1px;
  border-color: var(--border-form-error, var(--border-danger));
}

.wizard-counter-input::-moz-selection {
  background-color: var(--bg-input-selection, var(--utility-blue-200));
  color: var(--text-input-selection, var(--text-primary));
}

.wizard-counter-input::selection {
  background-color: var(--bg-input-selection, var(--utility-blue-200));
  color: var(--text-input-selection, var(--text-primary));
}

.form-group-inline:has(.controls :is(.wizard-counter-input, .input-group .form-control-md, .input-group-stack .form-control-md, .form-control, .combobox__control)) {
    --form-inline-label-offset: 0.5325rem;
  }

.wizard-counter-input {
  display: block;
  width: 100%;
  border-radius: 0.375rem;
  border-width: 1px;
  font-weight: 400;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.wizard-counter-input:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.wizard-counter-input:hover:disabled {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.wizard-counter-input {
  -webkit-transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  transition: border-color 75ms ease-in-out, background-color 75ms ease-in-out;
  -webkit-tap-highlight-color: transparent;
  min-height: 2.25rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: var(--text-input);
  background-color: var(--bg-input);
  border-color: var(--border-input);
}

.wizard-counter-input:hover {
    border-color: var(--border-input-hover);
  }

.wizard-counter-input:focus {
    border-color: var(--border-input-active);
  }

.wizard-counter-input[readonly] {
    color: var(--text-input-readonly, var(--text-input-tertiary));
    background-color: var(--bg-input-readonly, var(--utility-neutral-100));
    border-color: var(--border-input);
  }

.wizard-counter-input:disabled,.wizard-counter-input[disabled] {
    color: var(--text-input-disabled);
    background-color: var(--bg-input-disabled);
    border-color: var(--border-input-disabled);
    cursor: not-allowed;
    opacity: 0.75;
  }

input[type="date"].wizard-counter-input,
input[type="datetime-local"].wizard-counter-input,
input[type="time"].wizard-counter-input {
  color: var(--text-input);
}

select.wizard-counter-input {
  cursor: pointer;
  background-color: var(--bg-input-select);
}

textarea.wizard-counter-input {
  resize: vertical;
}

.input-group :is(.wizard-counter-input, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, .input-addon, .input-group-text, .btn-primary, .btn-secondary, .btn-soft, .btn-ghost, .btn-danger, .btn-danger-outline, .btn-glass, .btn-icon ) {
  border-radius: 0px;
}


  .input-group > :first-child :is(.wizard-counter-input,.form-control-soft,.form-control-ghost,.form-control-borderless,.form-control-static, .btn-primary,.btn-secondary,.btn-soft,.btn-ghost,.btn-danger,.btn-danger-outline,.btn-glass,.btn-icon ) {
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}


  .input-group > :last-child :is(.wizard-counter-input,.form-control-soft,.form-control-ghost,.form-control-borderless,.form-control-static, .btn-primary,.btn-secondary,.btn-soft,.btn-ghost,.btn-danger,.btn-danger-outline,.btn-glass,.btn-icon ) {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}

.input-group.input-group-compact :is(.wizard-counter-input, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static ) {
  min-height: 1.75rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .input-group.input-group-compact :is(.wizard-counter-input, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static ) {
  line-height: 1.3;
}

.input-group :is(.wizard-counter-input, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control, select.form-control-soft, select.form-control-ghost, select.form-control-borderless, select.form-control-static, textarea.form-control, textarea.form-control-soft, textarea.form-control-ghost, textarea.form-control-borderless, textarea.form-control-static ):hover {
    background-color: var(--bg-input-group-item-hover);
  }

.input-group :is(.wizard-counter-input, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control, select.form-control-soft, select.form-control-ghost, select.form-control-borderless, select.form-control-static, textarea.form-control, textarea.form-control-soft, textarea.form-control-ghost, textarea.form-control-borderless, textarea.form-control-static ):focus {
    background-color: var(--bg-input-group-item-focus);
  }

.input-group-wrap :is(.wizard-counter-input, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control, select.form-control-soft, select.form-control-ghost, select.form-control-borderless, select.form-control-static, textarea.form-control, textarea.form-control-soft, textarea.form-control-ghost, textarea.form-control-borderless, textarea.form-control-static ):hover {
    background-color: var(--bg-input-group-item-hover);
  }

.input-group-wrap :is(.wizard-counter-input, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control, select.form-control-soft, select.form-control-ghost, select.form-control-borderless, select.form-control-static, textarea.form-control, textarea.form-control-soft, textarea.form-control-ghost, textarea.form-control-borderless, textarea.form-control-static ):focus {
    background-color: var(--bg-input-group-item-focus);
  }

.input-group-stack :is(.wizard-counter-input, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control, select.form-control-soft, select.form-control-ghost, select.form-control-borderless, select.form-control-static, textarea.form-control, textarea.form-control-soft, textarea.form-control-ghost, textarea.form-control-borderless, textarea.form-control-static ):hover {
    background-color: var(--bg-input-group-item-hover);
  }

.input-group-stack :is(.wizard-counter-input, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, select.form-control, select.form-control-soft, select.form-control-ghost, select.form-control-borderless, select.form-control-static, textarea.form-control, textarea.form-control-soft, textarea.form-control-ghost, textarea.form-control-borderless, textarea.form-control-static ):focus {
    background-color: var(--bg-input-group-item-focus);
  }

.input-group-wrap .wizard-counter-input {
  min-width: 120px;
  border-width: 0px;
  padding: 0px;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
    min-height: unset;
    background-color: var(--alpha-0);
}

.input-group-stack :is(.wizard-counter-input, .form-control-soft, .form-control-ghost, .form-control-borderless, .form-control-static, .input-addon, .input-group-text, .btn-primary, .btn-secondary, .btn-soft, .btn-ghost, .btn-danger, .btn-danger-outline, .btn-glass, .btn-icon ) {
  border-radius: 0px;
  border-width: 0px;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  background-color: var(--alpha-0);
}

:is(.input-group-stack, .input-group, .input-group-wrap) .combobox .wizard-counter-input {
  border-radius: 0px;
  border-width: 0px;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  background-color: var(--alpha-0);
}

:is(.input-group-stack, .input-group, .input-group-wrap) .combobox .wizard-counter-input:hover {
  background-color: var(--bg-input-group-item-hover);
  border-color: transparent;
}

:is(.input-group-stack, .input-group, .input-group-wrap) .combobox .wizard-counter-input:focus,
:is(.input-group-stack, .input-group, .input-group-wrap) .combobox.is-focused .wizard-counter-input {
  background-color: var(--bg-input-group-item-focus);
  border-color: transparent;
}

.filter-sidebar .wizard-counter-input,
.filter-sidebar select.wizard-counter-input,
.filter-sidebar textarea.wizard-counter-input {
  min-height: 1.75rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1rem;
}

.input-clearable .wizard-counter-input {
  padding-right: 2rem;
}

.wizard-counter-input {
  caret-color: var(--utility-emerald-800);
  border-radius: 0.75rem;
  background-color: #fff;
  padding: 0.5rem;
  cursor: text;
  -moz-appearance: textfield;
}

.wizard-counter-input::-webkit-inner-spin-button,
.wizard-counter-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* ==========================================================================
   REINLY – Feature chip multi-select (traits / features in wizard)
   ========================================================================== */

.feature-chip {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
  border-radius: 9999px;
  border-width: 1px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  border-color: var(--border-primary);
  color: var(--text-secondary);
}

.feature-chip:hover {
  border-color: var(--text-primary);
  color: var(--text-primary);
}

.feature-chip[aria-checked="true"],
.feature-chip--selected {
  border-color: var(--text-primary);
  background-color: var(--utility-neutral-100);
  color: var(--text-primary);
  font-weight: 500;
}

.feature-chip--disabled {
  opacity: 0.35;
  cursor: not-allowed !important;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

.feature-chip--disabled:hover {
  border-color: var(--border-primary);
  color: var(--text-secondary);
}

/* ==========================================================================
   REINLY – Photo dropzone (listing wizard media upload)
   ========================================================================== */

.photo-dropzone {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.75rem;
  border-radius: 0.75rem;
  border-width: 2px;
  border-style: dashed;
  padding: 2rem;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}

.collapse.show.photo-dropzone {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .photo-dropzone {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.photo-dropzone {
  border-color: var(--border-primary);
  color: var(--text-tertiary);
  min-height: 200px;
}

.photo-dropzone:hover {
  border-color: var(--text-secondary);
  color: var(--text-secondary);
}

.photo-dropzone--active,
.photo-dropzone--active:hover {
  border-color: var(--utility-emerald-600, #059669);
  background-color: var(--bg-primary-subtle);
  color: var(--utility-emerald-700);
}

/* ==========================================================================
   REINLY – Photo Manager (listing wizard grouped photo management)
   ========================================================================== */

/* ── Stacked modals (category picker / assign) ──
   These open on top of the full-screen wizard modal.
   The wizard sits at z-index 70 with content at 100.
   These modals must layer above that entire stack. */

#pm-category-modal,
#pm-assign-modal {
  z-index: 150;
}

#pm-category-modal .modal-overlay,
#pm-assign-modal .modal-overlay {
  z-index: 151;
}

#pm-category-modal .modal-dialog,
#pm-assign-modal .modal-dialog {
  z-index: 152;
}

#pm-category-modal .modal-content,
#pm-assign-modal .modal-content {
  z-index: 153;
}

/* ══════════════════════════════════════════════════════════════════
   SECTION CARDS
   ══════════════════════════════════════════════════════════════════ */

.pm-section {
  -webkit-transition: border-color 0.2s ease, background-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, background-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
  transition: box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, -webkit-box-shadow 0.2s ease;
}

/* Section receives a dragged item (Sortable reorder or file drop) — elegant ring + tinted bg */

.pm-section.pm-drag-over,
.pm-section.pm-section--dragover {
  border-color: var(--utility-emerald-600) !important;
  -webkit-box-shadow: 0 0 0 3px color-mix(in srgb, var(--utility-emerald-600) 15%, transparent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--utility-emerald-600) 15%, transparent);
  background-color: color-mix(in srgb, var(--utility-emerald-600) 3%, var(--canvas-primary)) !important;
}

/* ══════════════════════════════════════════════════════════════════
   PHOTO THUMBNAILS — resting state
   ══════════════════════════════════════════════════════════════════ */

.pm-photo-thumb {
  position: relative;
  border: 1px solid var(--border-primary);
  border-radius: 0.5rem;
  cursor: -webkit-grab;
  cursor: grab;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-transition:
    opacity 0.15s ease,
    border-color 0.15s ease,
    -webkit-transform 0.18s cubic-bezier(0.2, 0, 0, 1),
    -webkit-box-shadow 0.18s cubic-bezier(0.2, 0, 0, 1);
  transition:
    opacity 0.15s ease,
    border-color 0.15s ease,
    -webkit-transform 0.18s cubic-bezier(0.2, 0, 0, 1),
    -webkit-box-shadow 0.18s cubic-bezier(0.2, 0, 0, 1);
  transition:
    transform 0.18s cubic-bezier(0.2, 0, 0, 1),
    box-shadow 0.18s cubic-bezier(0.2, 0, 0, 1),
    opacity 0.15s ease,
    border-color 0.15s ease;
  transition:
    transform 0.18s cubic-bezier(0.2, 0, 0, 1),
    box-shadow 0.18s cubic-bezier(0.2, 0, 0, 1),
    opacity 0.15s ease,
    border-color 0.15s ease,
    -webkit-transform 0.18s cubic-bezier(0.2, 0, 0, 1),
    -webkit-box-shadow 0.18s cubic-bezier(0.2, 0, 0, 1);
  will-change: transform;
}

/* ── Hover — subtle lift + shadow ── */

.pm-photo-thumb:hover {
  -webkit-transform: translateY(-1px);
  -ms-transform: translateY(-1px);
  transform: translateY(-1px);
  -webkit-box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.04),
    0 4px 12px rgba(0, 0, 0, 0.06);
  box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.04),
    0 4px 12px rgba(0, 0, 0, 0.06);
  border-color: var(--border-primary-hover, var(--border-primary));
}

/* ── Active press — smooth lift (only when grabbing the image, not clicking action buttons) ── */

.pm-photo-thumb:active:not(:has(button:active)) {
  cursor: -webkit-grabbing;
  cursor: grabbing;
  -webkit-transform: translateY(-3px);
  -ms-transform: translateY(-3px);
  transform: translateY(-3px);
  -webkit-box-shadow:
    0 6px 12px rgba(0, 0, 0, 0.1),
    0 12px 28px rgba(0, 0, 0, 0.08);
  box-shadow:
    0 6px 12px rgba(0, 0, 0, 0.1),
    0 12px 28px rgba(0, 0, 0, 0.08);
}

/* ── Skeleton shimmer underneath image ── */

.pm-thumb-skeleton {
  border-radius: inherit;
  z-index: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.pm-thumb-skeleton--hidden {
  display: none;
}

.pm-thumb-skeleton--error {
  -webkit-animation: none;
  animation: none;
  background: var(--bg-tertiary);
}

/* ── Image/video fade-in on load ── */

.pm-thumb-img {
  position: relative;
  z-index: 1;
  opacity: 0;
  -webkit-transition: opacity 0.35s cubic-bezier(0.2, 0, 0, 1);
  transition: opacity 0.35s cubic-bezier(0.2, 0, 0, 1);
}

.pm-thumb-img--loaded {
  opacity: 1;
}

/* ══════════════════════════════════════════════════════════════════
   VIDEO CARD — badge, hover preview progress, play indicator
   ══════════════════════════════════════════════════════════════════ */

/* Play badge — centered, fades out on hover when video plays */

.pm-video-badge {
  pointer-events: none;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

.pm-photo-thumb:hover .pm-video-badge {
  opacity: 0;
}

/* Progress track — thin bar at bottom of video thumbs */

.pm-video-progress {
  height: 3px;
  background: rgba(0, 0, 0, 0.2);
  opacity: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

.pm-photo-thumb:hover .pm-video-progress {
  opacity: 1;
}

/* Video loading spinner on thumbnails */

.pm-video-loader {
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

.pm-video-loader.is-active {
  opacity: 1;
}

/* Hide play badge while loading */

.pm-photo-thumb:has(.pm-video-loader.is-active) .pm-video-badge {
  opacity: 0 !important;
}

.pm-video-progress__bar {
  height: 100%;
  width: 0%;
  background: var(--utility-emerald-500);
  border-radius: 0 1px 1px 0;
  -webkit-transition: width 0.1s linear;
  transition: width 0.1s linear;
}

/* ── Drag handle indicator ──
   Subtle grip icon on hover to signal draggability */

.pm-photo-thumb::after {
  content: '';
  position: absolute;
  bottom: 4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 20px;
  height: 3px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.6);
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  opacity: 0;
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
  z-index: 5;
  pointer-events: none;
}

.pm-photo-thumb:hover::after {
  opacity: 1;
}

/* ══════════════════════════════════════════════════════════════════
   DRAG STATES — Shopify Draggable
   ══════════════════════════════════════════════════════════════════ */

/* ── Source element (stays in place, ghosted) ── */

.pm-photo-thumb--dragging,
.draggable-source--is-dragging {
  opacity: 0.25 !important;
  -webkit-transform: scale(0.96) !important;
  -ms-transform: scale(0.96) !important;
  transform: scale(0.96) !important;
  border-style: dashed !important;
  border-color: var(--border-primary-solid) !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  pointer-events: none;
}

.pm-photo-thumb--dragging::after,
.draggable-source--is-dragging::after {
  opacity: 0 !important;
}

/* ── Mirror (the element the user drags) ──
   CRITICAL: No transitions — must track cursor with zero delay.
   Draggable sets position:absolute + top/left — do not override position. */

.pm-photo-thumb--mirror,
.draggable-mirror {
  z-index: 9999 !important;
  cursor: -webkit-grabbing !important;
  cursor: grabbing !important;
  border-radius: 0.5rem;
  border: 2px solid var(--utility-emerald-600) !important;
  -webkit-box-shadow:
    0 8px 16px rgba(0, 0, 0, 0.12),
    0 20px 40px rgba(0, 0, 0, 0.08),
    0 0 0 4px color-mix(in srgb, var(--utility-emerald-600) 20%, transparent) !important;
  box-shadow:
    0 8px 16px rgba(0, 0, 0, 0.12),
    0 20px 40px rgba(0, 0, 0, 0.08),
    0 0 0 4px color-mix(in srgb, var(--utility-emerald-600) 20%, transparent) !important;
  opacity: 0.92 !important;
  -webkit-transition: none !important;
  transition: none !important;
  pointer-events: none;
}

/* ══════════════════════════════════════════════════════════════════
   PHOTO GRID — layout animation
   ══════════════════════════════════════════════════════════════════ */

.pm-photo-grid {
  min-height: 40px;
}

/* During drag, sibling items animate smoothly to make room.
   The SortAnimation plugin applies transforms — this transition
   makes those transforms ease in/out instead of snapping. */

.pm-photo-grid--dragging .pm-photo-thumb:not(.pm-photo-thumb--dragging):not(.draggable-source--is-dragging) {
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.2, 0, 0, 1);
  transition: -webkit-transform 0.25s cubic-bezier(0.2, 0, 0, 1);
  transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
  transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1), -webkit-transform 0.25s cubic-bezier(0.2, 0, 0, 1);
  /* Suppress hover lift during drag */
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

.pm-photo-grid--dragging .pm-photo-thumb:hover::after {
  opacity: 0;
}

/* ══════════════════════════════════════════════════════════════════
   EMPTY STATE DROP ZONES
   ══════════════════════════════════════════════════════════════════ */

.pm-empty-state {
  pointer-events: none;
  -webkit-transition: border-color 0.2s ease, background-color 0.2s ease, -webkit-transform 0.2s ease;
  transition: border-color 0.2s ease, background-color 0.2s ease, -webkit-transform 0.2s ease;
  transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
  transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
}

/* When dragging over an empty section, make the empty state glow */

.pm-drag-over .pm-empty-state {
  border-color: var(--utility-emerald-600) !important;
  background-color: color-mix(in srgb, var(--utility-emerald-600) 6%, transparent) !important;
  -webkit-transform: scale(1.01);
  -ms-transform: scale(1.01);
  transform: scale(1.01);
}

.pm-drag-over .pm-empty-state i {
  color: var(--utility-emerald-600) !important;
}

.pm-drag-over .pm-empty-state p {
  color: var(--utility-emerald-700) !important;
}

/* Hide empty state when grid has real photo thumbs */

.pm-photo-grid:has(.pm-photo-thumb) .pm-empty-state {
  display: none;
}

/* ══════════════════════════════════════════════════════════════════
   GLOBAL DRAG ACTIVE — body-level class
   ══════════════════════════════════════════════════════════════════ */

/* Applied to body while any drag is in progress */

body.pm-is-dragging {
  cursor: -webkit-grabbing !important;
  cursor: grabbing !important;
}

body.pm-is-dragging * {
  cursor: -webkit-grabbing !important;
  cursor: grabbing !important;
}

/* Prevent text selection during drag */

body.pm-is-dragging {
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-select: none;
}

/* ══════════════════════════════════════════════════════════════════
   UPLOAD CARDS — queued / uploading / success / error states
   ══════════════════════════════════════════════════════════════════ */

.pm-upload-card {
  border: 1px solid var(--border-primary);
  border-radius: 0.5rem;
  overflow: hidden;
  pointer-events: none; /* not draggable while uploading */
}

/* Background — skeleton shimmer or local preview */

.pm-upload-card__bg {
  border-radius: inherit;
}

.pm-upload-card__bg.skeleton {
  border-radius: 0;
}

/* Overlay — status icon centered */

.pm-upload-card__overlay {
  background: rgba(0, 0, 0, 0.15);
  -webkit-transition: background-color 0.3s ease, opacity 0.3s ease;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.pm-upload-card__icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #fff;
  -webkit-transition: background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}

/* Progress bar track */

.pm-upload-card__progress {
  height: 3px;
  background: rgba(0, 0, 0, 0.1);
  z-index: 5;
}

.pm-upload-card__bar {
  height: 100%;
  background: var(--utility-emerald-600);
  border-radius: 0 2px 2px 0;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
  will-change: width;
}

/* ── Queued state — skeleton only, no overlay tint ── */

.pm-upload-card--queued .pm-upload-card__overlay {
  background: transparent;
}

.pm-upload-card--queued .pm-upload-card__bar {
  width: 0% !important;
  background: var(--border-primary);
}

/* ── Uploading state — skeleton + progress bar, no overlay tint ── */

.pm-upload-card--uploading {
  border-color: var(--utility-emerald-600);
}

.pm-upload-card--uploading .pm-upload-card__overlay {
  background: transparent;
}

@-webkit-keyframes pm-upload-pulse {
  0%, 100% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; }
  50% { -webkit-transform: translateY(-2px); transform: translateY(-2px); opacity: 0.7; }
}

@keyframes pm-upload-pulse {
  0%, 100% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; }
  50% { -webkit-transform: translateY(-2px); transform: translateY(-2px); opacity: 0.7; }
}

.pm-upload-pulse {
  -webkit-animation: pm-upload-pulse 1.2s ease-in-out infinite;
  animation: pm-upload-pulse 1.2s ease-in-out infinite;
}

/* ── Success state ── */

.pm-upload-card--success {
  border-color: var(--utility-emerald-600);
}

.pm-upload-card--success .pm-upload-card__overlay {
  background: rgba(0, 0, 0, 0.1);
}

.pm-upload-card--success .pm-upload-card__icon {
  background: var(--utility-emerald-600);
  color: #fff;
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}

.pm-upload-card--success .pm-upload-card__bar {
  background: var(--utility-emerald-600);
}

/* ── Error state ── */

.pm-upload-card--error {
  border-color: var(--utility-red-500, #ef4444);
  pointer-events: auto; /* allow retry click */
}

.pm-upload-card--error .pm-upload-card__overlay {
  background: rgba(0, 0, 0, 0.35);
}

.pm-upload-card--error .pm-upload-card__icon {
  background: var(--utility-red-500, #ef4444);
  color: #fff;
}

.pm-upload-card--error .pm-upload-card__bar {
  background: var(--utility-red-500, #ef4444);
  width: 100% !important;
}

.pm-upload-card__retry {
  background: rgba(255, 255, 255, 0.9);
  color: var(--text-primary);
  border: none;
  cursor: pointer;
  -webkit-transition: background 0.15s ease;
  transition: background 0.15s ease;
}

.pm-upload-card__retry:hover {
  background: #fff;
}

/* ══════════════════════════════════════════════════════════════════
   CATEGORY PICKER MODAL
   ══════════════════════════════════════════════════════════════════ */

/* ── Step dots ── */

.pm-step-dot {
  width: 100%;
  height: 3px;
  border-radius: 2px;
  background: var(--border-primary);
  -webkit-transition: background 0.25s ease;
  transition: background 0.25s ease;
}

.pm-step-dot.is-active {
  background: var(--utility-emerald-600);
}

.pm-category-option {
  cursor: pointer;
  -webkit-transition: border-color 0.15s ease, background 0.15s ease, -webkit-transform 0.1s ease;
  transition: border-color 0.15s ease, background 0.15s ease, -webkit-transform 0.1s ease;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.1s ease;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.1s ease, -webkit-transform 0.1s ease;
}

.pm-category-option:hover {
  border-color: var(--border-secondary) !important;
  background: var(--canvas-secondary) !important;
}

.pm-category-option:active {
  border-color: var(--utility-emerald-700) !important;
}

.pm-category-option--selected,
.pm-category-option--selected:hover {
  border-color: var(--utility-emerald-700) !important;
  background: var(--bg-primary-subtle) !important;
}

/* ══════════════════════════════════════════════════════════════════
   ASSIGN MODAL THUMBNAILS
   ══════════════════════════════════════════════════════════════════ */

.pm-assign-thumb {
  border: 2px solid transparent;
}

.pm-assign-thumb:hover {
  opacity: 0.85;
}

.pm-assign-thumb:active {
  border-color: var(--utility-emerald-700);
}

.pm-assign-thumb--selected {
  outline: 2px solid var(--utility-emerald-700);
  outline-offset: -2px;
}

.pm-assign-thumb--selected .pm-assign-check {
  opacity: 1 !important;
}

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════════ */

@media (max-width: 480px) {
  .pm-photo-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  /* Disable hover lift on touch devices */
  .pm-photo-thumb:hover {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  .pm-photo-thumb:hover::after {
    opacity: 0;
  }
}

/* ══════════════════════════════════════════════════════════════════
   REDUCED MOTION
   ══════════════════════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
  .pm-photo-thumb,
  .pm-section,
  .pm-empty-state,
  .pm-photo-thumb--mirror,
  .draggable-mirror {
    -webkit-transition: none !important;
    transition: none !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }

  .pm-upload-pulse {
    -webkit-animation: none;
    animation: none;
  }
}

/* ==========================================================================
   REINLY – Status badge (draft / in-progress / published)
   ========================================================================== */

.status-badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
}

.status-badge--draft {
  background-color: var(--utility-neutral-100);
  color: var(--text-secondary);
}

.status-badge--in-progress {
  background-color: #fef3c7;
  color: #92400e;
}

.status-badge--published {
  background-color: #d1fae5;
  color: #065f46;
}

.status-badge--paused {
  background-color: #fef3c7;
  color: #92400e;
}

.status-badge--sold {
  background-color: #dbeafe;
  color: #1e40af;
}

.status-badge--ready {
  background-color: #dbeafe;
  color: #1e40af;
}

.status-badge--archived {
  background-color: var(--utility-neutral-100);
  color: var(--text-tertiary);
}

.status-badge--expiring {
  background-color: #fef3c7;
  color: #92400e;
}

.status-badge--expired {
  background-color: #fee2e2;
  color: #991b1b;
}

.status-badge--pending-sale {
  background-color: #ede9fe;
  color: #5b21b6;
}

/* ==========================================================================
   REINLY – Toggle switch
   ========================================================================== */

.toggle-switch {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 24px;
  border-radius: 12px;
  cursor: pointer;
  background-color: var(--utility-neutral-200);
  border: none;
  padding: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  line-height: 0;
  font-size: 0;
  vertical-align: middle;
  -webkit-transition: background-color 0.15s ease;
  transition: background-color 0.15s ease;
}

.toggle-switch[aria-checked="true"] {
  background-color: var(--utility-emerald-600);
}

.toggle-switch__thumb {
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #fff;
  top: 2px;
  left: 2px;
  -webkit-transition: -webkit-transform 0.15s ease;
  transition: -webkit-transform 0.15s ease;
  transition: transform 0.15s ease;
  transition: transform 0.15s ease, -webkit-transform 0.15s ease;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.toggle-switch[aria-checked="true"] .toggle-switch__thumb {
  -webkit-transform: translateX(20px);
  -ms-transform: translateX(20px);
  transform: translateX(20px);
}

/* ==========================================================================
   REINLY – YouTube Link Card
   Card component for adding/previewing YouTube video links in the wizard.
   ========================================================================== */

.yt-link-card {
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
}

.yt-link-card__title {
  outline: none;
}

.yt-link-card__title:focus {
  border-color: var(--utility-emerald-600) !important;
}

.yt-link-card__url {
  outline: none;
  -webkit-transition: border-color 0.15s ease;
  transition: border-color 0.15s ease;
}

.yt-link-card__url:focus {
  border-color: var(--utility-emerald-600) !important;
}

/* Valid URL state */

.yt-link-card__url[style*="emerald"] {
  -webkit-box-shadow: 0 0 0 2px color-mix(in srgb, var(--utility-emerald-600) 12%, transparent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--utility-emerald-600) 12%, transparent);
}

.yt-link-card__preview {
  border: 1px solid var(--border-primary);
}

.yt-link-card__preview iframe {
  display: block;
}

.yt-link-card__error {
  line-height: 1.4;
}

/* ==========================================================================
   REINLY – Achievement Card
   Card component for competition results & awards in the listing wizard.
   ========================================================================== */

.ach-card {
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
}

/* Photo upload area hover */

.ach-card__photo-upload:hover {
  border-color: var(--utility-emerald-600) !important;
  color: var(--utility-emerald-700) !important;
}

/* Select styling to match form-control */

.ach-card__position {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  padding-right: 24px;
}

/* Responsive: stack photo above fields on very small screens */

@media (max-width: 420px) {
  .ach-card > .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .ach-card__photo-upload,
  .ach-card__photo {
    width: 100% !important;
    height: 120px !important;
  }
}

/* ==========================================================================
   REINLY – Trait Picker (autocomplete + ranked pills)
   Used in the personality & traits section of the listing wizard.
   ========================================================================== */

/* ── Trait picker panel ──
   The panel is appended to <body> by JS and positioned with
   position:fixed so it renders above everything without
   needing z-index hacks on parent cards or modal containers. */

.trait-panel {
  position: fixed;
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  max-height: 320px;
  overflow: hidden;
  border-radius: 0.5rem;
  border: 1px solid var(--border-primary);
  background: #fff;
  -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
  z-index: 9999;
}

/* Dark theme */

[data-theme="theme-dark"] .trait-panel {
  background: var(--canvas-secondary, #1f1f1f);
  border-color: var(--border-secondary);
}

.trait-panel.is-visible {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.trait-panel__list {
  overflow-y: auto;
  padding: 0;
  margin: 0;
  list-style: none;
  scrollbar-width: thin;
}

.trait-panel__list li[role="option"] {
  padding: 7px 12px 7px 20px;
  font-size: 0.8125rem;
  color: var(--text-primary);
  cursor: pointer;
  -webkit-transition: background 0.08s ease;
  transition: background 0.08s ease;
}

.trait-panel__list li[role="option"]:hover,
.trait-panel__list li.is-highlighted {
  background: var(--bg-primary-subtle, #f5f5f5);
}

/* Group header — sticky + emerald */

.trait-panel__group {
  position: sticky;
  top: 0;
  z-index: 1;
  margin: 0;
  padding: 8px 12px 4px;
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--utility-emerald-700);
  background: #fff;
  pointer-events: none;
  list-style: none;
  -webkit-box-shadow: 0 1px 0 var(--border-primary-subtle, var(--border-primary));
  box-shadow: 0 1px 0 var(--border-primary-subtle, var(--border-primary));
}

[data-theme="theme-dark"] .trait-panel__group {
  background: var(--canvas-secondary, #1f1f1f);
}

.trait-panel__group:not(:first-child) {
  margin-top: 4px;
}

/* ── Tag input container (looks like a form-control with tags inside) ── */

.trait-input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border-radius: var(--radius-input, 0.5rem);
  border: 1px solid var(--border-input, var(--border-primary));
  background-color: var(--bg-input, var(--canvas-primary));
  min-height: 38px;
  cursor: text;
  -webkit-transition: border-color 0.15s ease;
  transition: border-color 0.15s ease;
}

.trait-input:focus-within {
  border-color: var(--border-input-active, var(--utility-emerald-600));
}

.trait-input__tags {
  display: contents;
}

.trait-input__field {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 80px;
  border: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: transparent;
  font-size: 0.8125rem;
  color: var(--text-primary);
  padding: 2px 0;
}

.trait-input__field:focus {
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.trait-input__field::-webkit-input-placeholder {
  color: var(--text-input-placeholder, var(--text-tertiary));
}

.trait-input__field::-moz-placeholder {
  color: var(--text-input-placeholder, var(--text-tertiary));
}

.trait-input__field:-ms-input-placeholder {
  color: var(--text-input-placeholder, var(--text-tertiary));
}

.trait-input__field::-ms-input-placeholder {
  color: var(--text-input-placeholder, var(--text-tertiary));
}

.trait-input__field::placeholder {
  color: var(--text-input-placeholder, var(--text-tertiary));
}

.trait-input__field:disabled {
  cursor: default;
}

/* ── Selected trait tags ── */

.trait-tag {
  background: var(--alpha-white-100, #fff) !important;
  border-color: var(--border-primary) !important;
  color: var(--text-primary) !important;
  max-width: none;
  cursor: default;
}

.trait-tag__rank {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--utility-emerald-700);
  color: #fff;
  font-size: 0.5625rem;
  font-weight: 700;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  line-height: 1;
}

/* ==========================================================================
   RNLY – Google Maps embed + Advanced Marker styles
   ========================================================================== */

/* Base map container */

.rnly-map {
  width: 100%;
  overflow: hidden;
  height: 360px;
  border-radius: 16px;
}

@media (max-width: 768px) {
  .rnly-map {
    height: 260px;
  }
}

/* Detail-page variant (slightly shorter, softer radius) */

.rnly-map--detail {
  height: 220px;
  border-radius: 12px;
}

/* ── Advanced Marker pill (white Airbnb-style) ── */

.rnly-marker {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  white-space: nowrap;
  border-radius: 9999px;
  border-width: 1px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  padding: 6px 12px;
  background-color: var(--bg-button-light, #fff);
  color: var(--text-primary, #111);
  -webkit-box-shadow: 0 6px 18px rgba(0,0,0,.15);
  box-shadow: 0 6px 18px rgba(0,0,0,.15);
  border-color: var(--border-primary-subtle, rgba(0,0,0,.08));
  -webkit-transform: translateY(-4px);
  -ms-transform: translateY(-4px);
  transform: translateY(-4px);
  -webkit-transition: -webkit-transform .18s ease, -webkit-box-shadow .18s ease;
  transition: -webkit-transform .18s ease, -webkit-box-shadow .18s ease;
  transition: transform .18s ease, box-shadow .18s ease;
  transition: transform .18s ease, box-shadow .18s ease, -webkit-transform .18s ease, -webkit-box-shadow .18s ease;
}

.rnly-marker:hover {
  -webkit-transform: translateY(-6px);
  -ms-transform: translateY(-6px);
  transform: translateY(-6px);
  -webkit-box-shadow: 0 10px 28px rgba(0,0,0,.18);
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}

.rnly-marker--active,
.rnly-marker--active:hover {
  -webkit-transform: translateY(-6px) scale(1.05);
  -ms-transform: translateY(-6px) scale(1.05);
  transform: translateY(-6px) scale(1.05);
  -webkit-box-shadow: 0 12px 32px rgba(0,0,0,.25);
  box-shadow: 0 12px 32px rgba(0,0,0,.25);
  background-color: var(--bg-primary-solid, #111);
  color: var(--canvas-primary, #fff);
  border-color: var(--bg-primary-solid, #111);
}

/* Card-hover highlight (inverts to dark pill on list card hover) */

.rnly-marker--highlighted {
  z-index: 5;
  -webkit-transform: translateY(-6px) scale(1.05);
  -ms-transform: translateY(-6px) scale(1.05);
  transform: translateY(-6px) scale(1.05);
  -webkit-box-shadow: 0 10px 28px rgba(0,0,0,.22);
  box-shadow: 0 10px 28px rgba(0,0,0,.22);
  background-color: var(--bg-primary-solid, #111);
  color: var(--canvas-primary, #fff);
  border-color: var(--bg-primary-solid, #111);
}

/* ── Custom map controls (replaces default Google controls) ── */

.rnly-map-controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
}

.collapse.show.rnly-map-controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .rnly-map-controls {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.rnly-map-controls {
  gap: 1px;
  margin: 0 10px 10px 0;
  -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.12);
  box-shadow: 0 1px 4px rgba(0,0,0,.12);
  border-color: var(--border-primary, #e5e7eb);
}

.rnly-map-controls__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 2rem;
  width: 2rem;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-style: none;
  padding: 0px;
  font-size: 13px;
  line-height: 1;
  outline: 2px solid transparent;
  outline-offset: 2px;
  color: var(--text-primary, #111);
  background-color: var(--bg-button-light, #fff);
  -webkit-transition: background-color .1s ease;
  transition: background-color .1s ease;
}

.rnly-map-controls__btn:hover {
  background-color: var(--bg-button-light-hover, #f9fafb);
}

.rnly-map-controls__btn:active {
  background-color: var(--bg-button-light-active, #f3f4f6);
}

.rnly-map-controls__btn + .rnly-map-controls__btn {
  border-top-width: 1px;
  border-color: var(--border-primary, #e5e7eb);
}

/* ── Map popover card (Airbnb-style InfoWindow) ── */

@-webkit-keyframes rnlyMapCardIn {
  from { opacity: 0; -webkit-transform: scale(.92); transform: scale(.92); }
  to   { opacity: 1; -webkit-transform: scale(1); transform: scale(1); }
}

@keyframes rnlyMapCardIn {
  from { opacity: 0; -webkit-transform: scale(.92); transform: scale(.92); }
  to   { opacity: 1; -webkit-transform: scale(1); transform: scale(1); }
}

.rnly-map-card {
  width: 280px;
  overflow: hidden;
  background-color: var(--canvas-primary, #fff);
  border-radius: 16px;
  -webkit-box-shadow: 0 20px 40px rgba(0,0,0,.18);
  box-shadow: 0 20px 40px rgba(0,0,0,.18);
  -webkit-animation: rnlyMapCardIn .15s ease;
  animation: rnlyMapCardIn .15s ease;
}

.rnly-map-card__media {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background-color: var(--bg-primary-subtle, #f9fafb);
}

.rnly-map-card__media img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.rnly-map-card__close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 1.75rem;
  width: 1.75rem;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  border-style: none;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  line-height: 1;
  background-color: rgba(0,0,0,.45);
  color: #fff;
  -webkit-transition: background-color .1s ease;
  transition: background-color .1s ease;
}

.rnly-map-card__close:hover {
  background-color: rgba(0,0,0,.65);
}

.rnly-map-card__fav {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  cursor: pointer;
  border-style: none;
  background-image: none;
  padding: 0px;
  font-size: 1rem;
  line-height: 1.5rem;
  color: var(--alpha-white-100, #fff);
  -webkit-filter: drop-shadow(0 1px 3px rgba(0,0,0,.35));
  filter: drop-shadow(0 1px 3px rgba(0,0,0,.35));
  -webkit-transition: -webkit-transform .15s ease;
  transition: -webkit-transform .15s ease;
  transition: transform .15s ease;
  transition: transform .15s ease, -webkit-transform .15s ease;
}

.rnly-map-card__fav:hover {
  --tw-scale-x: 1.2;
  --tw-scale-y: 1.2;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rnly-map-card__body {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
  padding-top: 0.75rem;
  padding-bottom: 0.875rem;
}

.rnly-map-card__title {
  margin: 0px;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: var(--text-primary, #111);
  line-height: 1.3;
}

.rnly-map-card__meta {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .rnly-map-card__meta {
  line-height: 1.3;
}

.rnly-map-card__meta {
  color: var(--text-secondary, #555);
  margin: 2px 0 0;
}

.rnly-map-card__location {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .rnly-map-card__location {
  line-height: 1.3;
}

.rnly-map-card__location {
  color: var(--text-tertiary, #888);
  margin: 2px 0 0;
}

.rnly-map-card__footer {
  margin-top: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-top: 0.625rem;
}

.collapse.show.rnly-map-card__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .rnly-map-card__footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.rnly-map-card__footer {
  border-top: 1px solid var(--border-primary-subtle, #f0f0f0);
}

.rnly-map-card__price {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary, #111);
}

.rnly-map-card__cta {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  text-decoration-line: none;
}

.wizard-card--trait .rnly-map-card__cta {
  line-height: 1.3;
}

.rnly-map-card__cta {
  padding: 6px 14px;
  background-color: var(--bg-primary-solid, #111);
  color: var(--canvas-primary, #fff);
  -webkit-transition: opacity .1s ease;
  transition: opacity .1s ease;
}

.rnly-map-card__cta:hover {
  opacity: 0.85;
}

/* ── InfoWindow chrome overrides (strip Google defaults) ── */

.gm-style-iw.gm-style-iw-c {
  padding: 0 !important;
  background: transparent !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border-radius: 16px !important;
  max-width: none !important;
}

.gm-style-iw-d {
  overflow: visible !important;
  max-height: none !important;
}

/* Hide default tail / arrow */

.gm-style-iw-tc,
.gm-style-iw-t::after {
  display: none !important;
}

/* Hide default close button (we use our own) */

.gm-style-iw button.gm-ui-hover-effect {
  display: none !important;
}

/* ==========================================================================
   RNLY – Address Picker (map-first modal)
   ========================================================================== */

.rnly-addr-picker {
  position: relative;
  width: 100%;
}

.rnly-addr-picker__map {
  width: 100%;
  height: 360px;
  background-color: var(--bg-primary-subtle, #f5f5f5);
}

@media (max-width: 768px) {
  .rnly-addr-picker__map {
    height: 280px;
  }
}

/* ── Search bar overlay (top-center of map) ── */

.rnly-addr-picker__search {
  position: absolute;
  top: 12px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  width: calc(100% - 24px);
  max-width: 420px;
  z-index: 2;
}

.rnly-addr-picker__search-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: var(--bg-button-light, #fff);
  border-radius: 8px;
  -webkit-box-shadow: 0 2px 6px rgba(0,0,0,.2);
  box-shadow: 0 2px 6px rgba(0,0,0,.2);
  padding: 0 12px;
  height: 40px;
}

.rnly-addr-picker__search-icon {
  color: var(--text-tertiary, #888);
  font-size: 14px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: 8px;
}

.rnly-addr-picker__search-input {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 14px;
  font-family: inherit;
  color: var(--text-primary, #111);
  min-width: 0;
}

.rnly-addr-picker__search-input::-webkit-input-placeholder {
  color: var(--text-tertiary, #aaa);
}

.rnly-addr-picker__search-input::-moz-placeholder {
  color: var(--text-tertiary, #aaa);
}

.rnly-addr-picker__search-input:-ms-input-placeholder {
  color: var(--text-tertiary, #aaa);
}

.rnly-addr-picker__search-input::-ms-input-placeholder {
  color: var(--text-tertiary, #aaa);
}

.rnly-addr-picker__search-input::placeholder {
  color: var(--text-tertiary, #aaa);
}

.rnly-addr-picker__search-clear {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: none;
  background: transparent;
  cursor: pointer;
  color: var(--text-tertiary, #888);
  padding: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 50%;
}

.rnly-addr-picker__search-clear:hover {
  background-color: var(--bg-button-light-hover, #f3f4f6);
  color: var(--text-primary, #111);
}

/* ── Suggestions dropdown ── */

.rnly-addr-picker__suggestions {
  margin-top: 4px;
  background-color: var(--bg-button-light, #fff);
  border-radius: 8px;
  -webkit-box-shadow: 0 4px 12px rgba(0,0,0,.15);
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
  overflow: hidden;
  max-height: 240px;
  overflow-y: auto;
}

.rnly-addr-picker__suggestion {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  text-align: left;
}

.collapse.show.rnly-addr-picker__suggestion {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .rnly-addr-picker__suggestion {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.rnly-addr-picker__suggestion {
  gap: 10px;
  padding: 10px 14px;
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 13px;
  font-family: inherit;
  color: var(--text-primary, #111);
  line-height: 1.35;
  -webkit-transition: background-color .08s ease;
  transition: background-color .08s ease;
}

.rnly-addr-picker__suggestion:hover,
.rnly-addr-picker__suggestion--active {
  background-color: var(--bg-secondary-subtle, #f5f5f5);
}

.rnly-addr-picker__suggestion-icon {
  color: var(--text-tertiary, #888);
  font-size: 13px;
  margin-top: 2px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.rnly-addr-picker__suggestion-text {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 0;
}

.rnly-addr-picker__suggestion-main {
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rnly-addr-picker__suggestion-sub {
  font-size: 12px;
  color: var(--text-secondary, #666);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── Locate (my location) button ── */

.rnly-addr-picker__locate {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  bottom: 90px;
  right: 10px;
  z-index: 2;
  width: 32px;
  height: 32px;
  border: 1px solid var(--border-primary, #e5e7eb);
  border-radius: 8px;
  background-color: var(--bg-button-light, #fff);
  -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.12);
  box-shadow: 0 1px 4px rgba(0,0,0,.12);
  cursor: pointer;
  color: var(--text-primary, #111);
  font-size: 14px;
  -webkit-transition: background-color .1s ease;
  transition: background-color .1s ease;
}

.rnly-addr-picker__locate:hover {
  background-color: var(--bg-button-light-hover, #f9fafb);
}

/* ── Zoom controls (inside map frame) ── */

.rnly-addr-picker__zoom {
  position: absolute;
  bottom: 12px;
  right: 10px;
  z-index: 2;
}

.rnly-addr-picker__zoom .rnly-map-controls {
  margin: 0;
}

/* ── Address summary panel (below map) ── */

.rnly-addr-picker__summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.collapse.show.rnly-addr-picker__summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .rnly-addr-picker__summary {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.rnly-addr-picker__summary {
  gap: 12px;
  padding: 14px 20px;
  border-top: 1px solid var(--border-primary-subtle, #f0f0f0);
}

.rnly-addr-picker__summary-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
}

.collapse.show.rnly-addr-picker__summary-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .rnly-addr-picker__summary-icon {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.rnly-addr-picker__summary-icon {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  background-color: var(--bg-primary-solid, #111);
  color: var(--canvas-primary, #fff);
  font-size: 14px;
}

.rnly-addr-picker__summary-text {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 0;
}

.rnly-addr-picker__summary-main {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary, #111);
  margin: 0;
  line-height: 1.3;
}

.rnly-addr-picker__summary-sub {
  font-size: 12px;
  color: var(--text-secondary, #666);
  margin: 2px 0 0;
  line-height: 1.3;
}

/* ── Big black pin marker (draggable) ── */

.rnly-addr-pin {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: -webkit-grab;
  cursor: grab;
  -webkit-filter: drop-shadow(0 3px 6px rgba(0,0,0,.3));
  filter: drop-shadow(0 3px 6px rgba(0,0,0,.3));
  -webkit-transition: -webkit-transform .15s ease;
  transition: -webkit-transform .15s ease;
  transition: transform .15s ease;
  transition: transform .15s ease, -webkit-transform .15s ease;
}

.rnly-addr-pin:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.rnly-addr-pin__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
}

.collapse.show.rnly-addr-pin__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .rnly-addr-pin__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.rnly-addr-pin__head {
  width: 38px;
  height: 38px;
  background-color: var(--bg-primary-solid, #111);
  color: #fff;
  font-size: 17px;
}

.rnly-addr-pin__tail {
  width: 3px;
  height: 14px;
  background-color: var(--bg-primary-solid, #111);
  border-radius: 0 0 2px 2px;
  margin-top: -2px;
}

.rnly-addr-pin--dragging {
  -webkit-transform: scale(1.15) translateY(-4px);
  -ms-transform: scale(1.15) translateY(-4px);
  transform: scale(1.15) translateY(-4px);
}

/* ── Wizard Places Autocomplete dropdown (server-proxy based) ── */

.wizard-places-dropdown {
  overflow-y: auto;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  position: fixed;
  z-index: 99999;
  max-height: 280px;
  background-color: var(--bg-dropdown, #fff);
  border-color: var(--border-dropdown, var(--border-primary));
}

.wizard-places-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.625rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.collapse.show.wizard-places-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .wizard-places-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.wizard-places-item {
  -webkit-transition: background-color 0.1s ease;
  transition: background-color 0.1s ease;
}

.wizard-places-item:hover,
.wizard-places-item.is-highlighted {
  background-color: var(--bg-dropdown-hover, #f3f4f6);
}

.wizard-places-item:first-child {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}

.wizard-places-item:last-child {
  border-bottom-right-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
}

.wizard-places-icon {
  margin-top: 0.125rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-tertiary);
}

.wizard-places-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.wizard-places-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .wizard-places-text {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.wizard-places-main {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-primary);
}

.wizard-places-secondary {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .wizard-places-secondary {
  line-height: 1.3;
}

.wizard-places-secondary {
  color: var(--text-tertiary);
}

/* Hide Google's default pac-container since we use our own dropdown */

.pac-container {
  display: none !important;
}

/* Pages */

/* ==========================================================================
   REINLY – Split map view (Airbnb-style buyer listings page)
   ========================================================================== */

/* ── Split container ── */

.listings-split {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  width: 100%;
  min-width: 0px;
}

.collapse.show.listings-split {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .listings-split {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.listings-split {
  background-color: var(--canvas-primary);
}

/* ── Left pane: scrollable list ── */

.listings-split__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow-y: auto;
}

.collapse.show.listings-split__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .listings-split__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.listings-split__list {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 55%;
  flex: 1 1 55%;
}

/* ── Toolbar row ── */

.listings-split__toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.collapse.show.listings-split__toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .listings-split__toolbar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ── Filter bar ── */

.listings-split__filters {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-bottom: 0.75rem;
}

.collapse.show.listings-split__filters {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .listings-split__filters {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.listings-split__filters {
  overflow-x: auto;
  scrollbar-width: none;
}

.listings-split__filters::-webkit-scrollbar {
  display: none;
}

/* Filter pill button */

.filter-pill {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.875rem;
  padding-right: 0.875rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .filter-pill {
  line-height: 1.3;
}

.filter-pill {
  background-color: var(--canvas-primary, #fff);
  color: var(--text-primary, #111);
  border: 1px solid var(--border-primary, #e5e7eb);
  cursor: pointer;
  -webkit-transition: all .15s ease;
  transition: all .15s ease;
}

.filter-pill:hover {
  border-color: var(--text-primary, #111);
}

.filter-pill--active {
  background-color: var(--bg-primary-solid, #111);
  color: var(--canvas-primary, #fff);
  border-color: var(--bg-primary-solid, #111);
}

.filter-pill--active:hover {
  opacity: .9;
}

.filter-pill--outline {
  border-color: var(--border-secondary, #d1d5db);
}

.filter-pill__chevron {
  font-size: 10px;
  -webkit-transition: -webkit-transform .15s ease;
  transition: -webkit-transform .15s ease;
  transition: transform .15s ease;
  transition: transform .15s ease, -webkit-transform .15s ease;
}

.filter-pill[aria-expanded="true"] .filter-pill__chevron {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

/* Divider between pill groups */

.filter-pill-divider {
  width: 1px;
  height: 24px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  background-color: var(--border-primary, #e5e7eb);
}

/* Filter wrapper (positions dropdown) */

.filter-pill-wrap {
  position: relative;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

/* Dropdown panel */

.filter-dropdown {
  position: absolute;
  top: 100%;
  left: 0px;
  z-index: 50;
  margin-top: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.filter-dropdown {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .filter-dropdown {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.filter-dropdown {
  min-width: 180px;
  background-color: var(--canvas-primary, #fff);
  border: 1px solid var(--border-primary, #e5e7eb);
  border-radius: 12px;
  -webkit-box-shadow: 0 10px 30px rgba(0,0,0,.12);
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
  display: none;
}

.filter-pill-wrap.is-open .filter-dropdown {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* Option row */

.filter-option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.625rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.collapse.show.filter-option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .filter-option {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .filter-option {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.filter-option {
  color: var(--text-primary, #111);
  -webkit-transition: background-color .1s ease;
  transition: background-color .1s ease;
}

.filter-option:hover {
  background-color: var(--bg-primary-subtle, #f9fafb);
}

.filter-option input[type="checkbox"] {
  height: 1rem;
  width: 1rem;
  border-radius: 0.25rem;
  accent-color: var(--bg-primary-solid, #111);
}

/* Card hidden by filter */

.card--listing.is-filtered {
  display: none;
}

/* ── Card grid ── */

.listings-split__grid {
  display: grid;
  -webkit-column-gap: 1.25rem;
  -moz-column-gap: 1.25rem;
  column-gap: 1.25rem;
  row-gap: 1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 1.5rem 1.75rem;
}

@media (max-width: 1023px) {
  .listings-split__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (min-width: 1440px) {
  .listings-split__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ── Right pane: map panel wrapper ── */

.listings-split__map-panel {
  position: relative;
  height: 100%;
  min-height: 0px;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  padding: 0.75rem;
  -ms-flex: 0 0 45%;
  flex: 0 0 45%;
  background-color: var(--canvas-primary);
}

/* ── Map container (inside panel, rounded) ── */

.listings-map {
  position: relative;
  height: 100%;
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius-map-panel, 1rem);
  background-color: var(--bg-map-panel, var(--bg-map, var(--bg-primary-subtle)));
  border: 1px solid var(--border-map-panel, var(--border-primary));
  -webkit-box-shadow: var(--shadow-map-panel, 0 1px 3px rgba(0,0,0,.06));
  box-shadow: var(--shadow-map-panel, 0 1px 3px rgba(0,0,0,.06));
}

/* ── Mobile: stack layout ── */

@media (max-width: 767px) {
  .listings-split {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .listings-split__list {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }

  .listings-split__map-panel {
    display: none;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    height: 50vh;
    border-left: none;
  }

  .listings-split__map-panel.is-map-visible {
    display: block;
  }
}

/* ── Map toggle button (mobile only) ── */

.listings-split__map-toggle {
  position: fixed;
  bottom: 1.5rem;
  left: 50%;
  z-index: 40;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  --tw-translate-x: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 9999px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  background-color: var(--bg-primary-solid);
  color: var(--canvas-primary);
}

.listings-split__map-toggle:hover {
  opacity: 0.9;
}

@media (min-width: 768px) {
  .listings-split__map-toggle {
    display: none;
  }
}

/* ── Placeholder overlay ── */

.listings-map__placeholder {
  position: absolute;
  inset: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.listings-map__placeholder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .listings-map__placeholder {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.listings-map__placeholder {
  color: var(--text-quaternary);
  pointer-events: none;
}

/* ── Map pins ── */

.map__pin {
  position: absolute;
  z-index: 10;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.125rem;
  border-radius: 0.75rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  background-color: var(--canvas-primary);
  color: var(--text-primary);
  border: 1px solid var(--border-primary);
  -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.12);
  box-shadow: 0 1px 4px rgba(0,0,0,.12);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  white-space: nowrap;
  min-width: 3.5rem;
  text-align: center;
}

.map__pin:hover {
  z-index: 20;
  -webkit-transform: translate(-50%, -50%) scale(1.08);
  -ms-transform: translate(-50%, -50%) scale(1.08);
  transform: translate(-50%, -50%) scale(1.08);
  -webkit-box-shadow: 0 2px 8px rgba(0,0,0,.18);
  box-shadow: 0 2px 8px rgba(0,0,0,.18);
  border-color: var(--text-primary);
}

.map__pin.is-active {
  z-index: 30;
  background-color: var(--bg-primary-solid);
  color: var(--canvas-primary);
  border-color: var(--bg-primary-solid);
  -webkit-transform: translate(-50%, -50%) scale(1.12);
  -ms-transform: translate(-50%, -50%) scale(1.12);
  transform: translate(-50%, -50%) scale(1.12);
  -webkit-box-shadow: 0 4px 12px rgba(0,0,0,.25);
  box-shadow: 0 4px 12px rgba(0,0,0,.25);
}

.map__pin.is-active .rnly-price-scale {
  background-color: rgba(255,255,255,.25);
}

.map__pin.is-active .rnly-price-scale__fill {
  background-color: rgba(255,255,255,.5);
}

.map__pin__label {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  line-height: 1;
}

.wizard-card--trait .map__pin__label {
  line-height: 1.3;
}

.map__pin__label {
  max-width: 7rem;
  overflow: hidden;
  text-overflow: ellipsis;
}

.map__pin__band {
  font-size: 0.6875rem;
  line-height: 1rem;
  line-height: 1;
  opacity: .7;
}

/* ==========================================================================
   Horse Detail – Airbnb-inspired listing detail page
   Scoped under .horse-details to avoid global impact.
   ========================================================================== */

/* ── Container ── */

.horse-details {
  background-color: var(--bg-card, #fff);
  min-height: 100vh;
}

.hd-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1120px;
  padding: 0 24px 48px;
}

@media (min-width: 1024px) {
  .hd-container {
    padding: 0 40px 64px;
  }
}

/* ── Header: title + Share/Save ── */

.hd-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1rem;
}

.collapse.show.hd-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.hd-header {
  padding: 24px 0 16px;
}

.hd-header__title {
  margin: 0px;
  font-size: 1.625rem;
  font-weight: 600;
  line-height: 1.25;
  color: var(--text-primary);
}

.hd-header__subtitle {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-secondary);
}

.hd-header__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  padding-top: 0.25rem;
}

.collapse.show.hd-header__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-header__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.hd-action-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  border-style: none;
  background-color: transparent;
  font-size: 0.8125rem;
  font-weight: 500;
  text-decoration-line: underline;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  padding: 7px 12px;
  color: var(--text-primary);
}

.hd-action-btn:hover {
  background-color: var(--bg-primary-subtle, #f7f7f7);
}

.hd-action-btn i {
  font-size: 0.9375rem;
}

/* ── Photo Grid (Airbnb 1+4 layout) ── */

.hd-photo-grid {
  position: relative;
  display: grid;
  overflow: hidden;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 8px;
  border-radius: 12px;
  aspect-ratio: 2 / 1;
}

.hd-photo-grid img {
  display: block;
  height: 100%;
  width: 100%;
  cursor: pointer;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: -webkit-filter 0.2s ease;
  transition: -webkit-filter 0.2s ease;
  transition: filter 0.2s ease;
  transition: filter 0.2s ease, -webkit-filter 0.2s ease;
}

.hd-photo-grid img:hover {
  -webkit-filter: brightness(0.92);
  filter: brightness(0.92);
}

.hd-photo-grid__hero {
  overflow: hidden;
  grid-column: 1 / 3;
  grid-row: 1 / 3;
}

.hd-photo-grid__tile {
  overflow: hidden;
}

.hd-photo-grid__show-all {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  z-index: 2;
  cursor: pointer;
  border-radius: 0.5rem;
  border-width: 1px;
  font-size: 0.8125rem;
  font-weight: 500;
  padding: 7px 15px;
  border-color: var(--text-primary);
  background-color: var(--bg-card, #fff);
  color: var(--text-primary);
  -webkit-transition: background-color 0.15s ease, -webkit-transform 0.1s ease;
  transition: background-color 0.15s ease, -webkit-transform 0.1s ease;
  transition: background-color 0.15s ease, transform 0.1s ease;
  transition: background-color 0.15s ease, transform 0.1s ease, -webkit-transform 0.1s ease;
}

.hd-photo-grid__show-all:hover {
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  background-color: var(--bg-primary-subtle, #f7f7f7);
}

/* Mobile: stack to single hero */

@media (max-width: 767px) {
  .hd-photo-grid {
    display: block;
    border-radius: 0px;
    aspect-ratio: 4 / 3;
  }

  .hd-photo-grid__hero {
    height: 100%;
  }

  .hd-photo-grid__tile {
    display: none;
  }

  .hd-photo-grid__show-all {
    bottom: 0.75rem;
    right: 0.75rem;
    font-size: 0.75rem;
    line-height: 1rem;
  }

.wizard-card--trait .hd-photo-grid__show-all {
  line-height: 1.3;
}

  .hd-photo-grid__show-all {
    padding: 6px 12px;
  }

  .hd-header {
    padding: 16px 0 12px;
  }

  .hd-header__title {
    font-size: 1.375rem;
  }
}

/* ── Facts row ── */

.hd-facts {
  padding: 20px 0 24px;
}

.hd-facts__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.collapse.show.hd-facts__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-facts__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.hd-facts__row {
  gap: 4px 8px;
  color: var(--text-secondary);
}

.hd-facts__sep {
  color: var(--text-tertiary);
}

.hd-facts__badges {
  margin-top: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.hd-facts__badges {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-facts__badges {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ── Two-column layout ── */

.hd-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.collapse.show.hd-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-layout {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.hd-layout {
  gap: 72px;
}

.hd-layout__content {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .hd-layout__content {
      display: none;
    }

.hd-layout__sidebar {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 372px;
}

@media (max-width: 1023px) {
  .hd-layout {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0px;
  }

  .hd-layout__sidebar {
    display: none;
    width: 100%; /* Mobile uses bottom CTA bar */
  }
}

/* ── Section rhythm ── */

.hd-section {
  border-top-width: 1px;
  padding: 32px 0;
  border-color: var(--border-primary);
}

/* Seller row section (no heading, just border) */

.hd-section__row {
  border-top-width: 1px;
  padding: 24px 0;
  border-color: var(--border-primary);
}

.hd-section__heading {
  margin: 0px;
  margin-bottom: 1.25rem;
  font-weight: 600;
  color: var(--text-primary);
}

.hd-section__link {
  margin-top: 0.75rem;
  display: inline-block;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  text-decoration-line: underline;
  color: var(--text-primary);
}

.hd-section__link:hover {
  color: var(--text-secondary);
}

/* ── Modal section spacing (tighter) ── */

.hd-modal-sections .hd-section {
  padding: 20px 0;
}

.hd-modal-sections .hd-section__row {
  padding: 20px 0;
}

.hd-modal-sections .hd-section__heading {
  margin-bottom: 0.875rem;
}

/* ── Offers grid (amenities-style) ── */

.hd-offers-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 24px;
}

.hd-offers-grid__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.collapse.show.hd-offers-grid__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-offers-grid__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.hd-offers-grid__item {
  color: var(--text-secondary);
}

.hd-offers-grid__icon {
  width: 1.5rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  text-align: center;
  font-size: 1.125rem;
  line-height: 2rem;
  color: var(--text-primary);
}

@media (max-width: 639px) {
  .hd-offers-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

/* ── Details grid ── */

.hd-details-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px 24px;
}

.hd-details-grid__label {
  font-size: 0.6875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--text-tertiary);
  margin-bottom: 2px;
}

.hd-details-grid__value {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-primary);
}

@media (max-width: 639px) {
  .hd-details-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ── Pedigree ── */

.hd-pedigree {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
}

.collapse.show.hd-pedigree {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-pedigree {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.hd-pedigree__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.125rem;
}

.collapse.show.hd-pedigree__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-pedigree__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.hd-pedigree__label {
  font-size: 0.6875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--text-tertiary);
}

.hd-pedigree__value {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--text-primary);
}

/* ── Seller card ── */

.hd-seller-card {
  border-radius: 0.75rem;
  border-width: 1px;
  padding: 1.5rem;
  border-color: var(--border-primary);
}

.hd-seller-card__stats {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  border-top-width: 1px;
  border-bottom-width: 1px;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.collapse.show.hd-seller-card__stats {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-seller-card__stats {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.hd-seller-card__stats {
  border-color: var(--border-primary);
}

.hd-seller-card__stat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.125rem;
}

.collapse.show.hd-seller-card__stat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-seller-card__stat {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.hd-seller-card__stat-value {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text-primary);
}

.hd-seller-card__stat-label {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .hd-seller-card__stat-label {
  line-height: 1.3;
}

.hd-seller-card__stat-label {
  color: var(--text-tertiary);
}

.hd-seller-card__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
  padding-top: 1rem;
  font-size: 0.8125rem;
}

.collapse.show.hd-seller-card__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-seller-card__meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.hd-seller-card__meta {
  color: var(--text-secondary);
}

/* ── Map placeholder ── */

.hd-map-placeholder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.75rem;
  border-width: 2px;
  border-style: dashed;
}

.collapse.show.hd-map-placeholder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-map-placeholder {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.hd-map-placeholder {
  height: 220px;
  border-color: var(--border-primary);
  color: var(--text-tertiary);
}

/* ── Media placeholder ── */

.hd-media-placeholder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.75rem;
  border-width: 2px;
  border-style: dashed;
}

.collapse.show.hd-media-placeholder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-media-placeholder {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.hd-media-placeholder {
  height: 160px;
  border-color: var(--border-primary);
  color: var(--text-tertiary);
}

/* ── Sticky CTA sidebar ── */

.hd-sidebar {
  position: sticky;
  top: 5rem;
}

.hd-cta-card {
  border-radius: 0.75rem;
  border-width: 1px;
  padding: 1.5rem;
  border-color: var(--border-primary);
  -webkit-box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
}

/* Price band bar inside CTA card */

.hd-cta-card__band {
  margin-bottom: 1.25rem;
}

.hd-cta-card__tier {
  font-size: 1.375rem;
  font-weight: 600;
  color: var(--text-primary);
}

.hd-cta-card__primary {
  margin-bottom: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.5rem;
  border-style: none;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
}

.collapse.show.hd-cta-card__primary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-cta-card__primary {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.hd-cta-card__primary {
  padding: 12px 20px;
  background-color: var(--text-primary);
  color: var(--bg-modal, #fff);
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
}

.hd-cta-card__primary:hover {
  opacity: 0.88;
}

.hd-cta-card__secondary {
  margin-bottom: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.5rem;
  border-width: 1px;
  background-color: transparent;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
}

.collapse.show.hd-cta-card__secondary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-cta-card__secondary {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.hd-cta-card__secondary {
  padding: 12px 20px;
  border-color: var(--text-primary);
  color: var(--text-primary);
  -webkit-transition: background-color 0.15s ease;
  transition: background-color 0.15s ease;
}

.hd-cta-card__secondary:hover {
  background-color: var(--bg-primary-subtle, #f7f7f7);
}

.hd-cta-card__ghost {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.5rem;
  border-style: none;
  background-color: transparent;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
}

.collapse.show.hd-cta-card__ghost {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-cta-card__ghost {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.hd-cta-card__ghost {
  padding: 12px 20px;
  color: var(--text-primary);
  -webkit-transition: background-color 0.15s ease;
  transition: background-color 0.15s ease;
}

.hd-cta-card__ghost:hover {
  background-color: var(--bg-primary-subtle, #f7f7f7);
}

.hd-cta-card__report {
  margin-top: 1rem;
  text-align: center;
}

.hd-cta-card__report button {
  cursor: pointer;
  border-style: none;
  background-image: none;
  font-size: 0.75rem;
  line-height: 1rem;
  text-decoration-line: underline;
}

.wizard-card--trait .hd-cta-card__report button {
  line-height: 1.3;
}

.hd-cta-card__report button {
  color: var(--text-tertiary);
}

.hd-cta-card__report button:hover {
  color: var(--text-secondary);
}

@media (max-width: 1023px) {
  .hd-sidebar {
    position: static;
  }
}

/* ── Mobile sticky CTA bar ── */

.hd-mobile-cta {
  display: none;
}

@media (max-width: 1023px) {
  .hd-mobile-cta {
    position: fixed;
    bottom: 0px;
    left: 0px;
    right: 0px;
    z-index: 50;
    display: block;
    border-top-width: 1px;
    background-color: var(--bg-card, #fff);
    border-color: var(--border-primary);
    padding: 12px 16px;
    padding-bottom: max(12px, env(safe-area-inset-bottom));
  }

  .hd-mobile-cta__inner {
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

.collapse.show.hd-mobile-cta__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-mobile-cta__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

  .hd-mobile-cta__inner {
    max-width: 1120px;
  }

  .hd-mobile-cta__btn {
    margin-bottom: 0px;
    width: auto;
    padding: 10px 20px;
  }

  /* Add bottom padding to page so CTA bar doesn't cover content */
  .horse-details {
    padding-bottom: 5rem;
  }
}

/* ── Gallery overlay ── */

.hd-gallery-overlay {
  position: fixed;
  inset: 0px;
  z-index: 200;
  overflow-y: auto;
  background-color: var(--bg-card, #fff);
  -webkit-overflow-scrolling: touch;
}

.hd-gallery-overlay[hidden] {
  display: none;
}

.hd-gallery-overlay__header {
  position: sticky;
  top: 0px;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-bottom-width: 1px;
}

.collapse.show.hd-gallery-overlay__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-gallery-overlay__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.hd-gallery-overlay__header {
  padding: 12px 24px;
  background-color: var(--bg-card, #fff);
  border-color: var(--border-primary);
}

.hd-gallery-overlay__body {
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.75rem;
}

.collapse.show.hd-gallery-overlay__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .hd-gallery-overlay__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.hd-gallery-overlay__body {
  max-width: 800px;
  padding: 24px 24px 48px;
}

.hd-gallery-overlay__slide {
  overflow: hidden;
  border-radius: 0.75rem;
}

.hd-gallery-overlay__slide img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* ── About text ── */

.hd-about-text {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  line-height: 1.65;
  color: var(--text-secondary);
}

/* ── Modal hero image ── */

.hd-modal-hero img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* ==========================================================================
   RNLY – Home page styles
   ========================================================================== */

/* ── Hero search pill segments ── */

/* Segment label typography */

.rnly-seg__label {
  letter-spacing: 0.05em;
}

/* Segment placeholder/hint text */

.rnly-seg__hint {
  color: var(--text-tertiary);
}

/* Budget segment: minimum width so it doesn't collapse */

.rnly-seg--budget {
  min-width: 130px;
}

/* Search button (circular, fixed size) */

.rnly-search-btn {
  height: 60px;
  width: 60px;
}

/* Flows */

/* ==========================================================================
   REINLY – Listing wizard flow
   Centered content layout, intro screens, section rhythm.
   ========================================================================== */

/* ── Centered content wrapper ──
   Sits inside .modal-body so header/footer remain full-width while
   step content is constrained and horizontally centered.            */

.wizard__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  width: 100%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  overflow: visible;
}

.collapse.show.wizard__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .wizard__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.wizard__content-inner {
  width: 100%;
  padding-top: 2rem;
  padding-bottom: 2rem;
  max-width: 640px;
  padding-inline: 2rem;
}

@media (max-width: 639px) {
  .wizard__content-inner {
    padding-inline: 1.25rem;
    padding-top: 1.5rem;
  }
}

/* ── Wizard intro screen ── */

.wizard-intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2rem;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.collapse.show.wizard-intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .wizard-intro {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.wizard-intro__text {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .wizard-intro__text {
      display: none;
    }

.wizard-intro__graphic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 7rem;
  width: 7rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 1rem;
}

.collapse.show.wizard-intro__graphic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .wizard-intro__graphic {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.wizard-intro__graphic {
  background-color: var(--utility-neutral-50);
  color: var(--text-quaternary);
}

/* Centered variant: icon on top, title + caption below, all centered */

.wizard-intro--centered {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

.wizard-intro--centered .wizard-intro__graphic {
  -webkit-box-ordinal-group: -9998;
  -ms-flex-order: -9999;
  order: -9999;
  margin-bottom: 1rem;
}

.wizard-intro--centered .wizard-intro__text {
  -webkit-box-ordinal-group: 10000;
  -ms-flex-order: 9999;
  order: 9999;
}

@media (max-width: 639px) {
  .wizard-intro {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    text-align: center;
  }

  .wizard-intro__graphic {
    height: 5rem;
    width: 5rem;
  }
}

/* ── Wizard modal header ── */

.wizard-modal-header {
  gap: 0.75rem;
}

/* ── Vertical rhythm for wizard step sections ── */

.wizard-section {
  margin-top: 2rem;
}

.wizard-section:first-child {
  margin-top: 0px;
}

/* ── Clearable input — X button inside form-controls ── */

.input-clearable {
  position: relative;
}

.input-clearable .form-control {
  padding-right: 2rem;
}

.input-clear-btn {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
}

.collapse.show.input-clear-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .input-clear-btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.input-clear-btn {
  right: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  color: var(--text-tertiary);
  background: none;
  border: none;
  padding: 0;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.1s ease, color 0.1s ease;
  transition: opacity 0.1s ease, color 0.1s ease;
}

.input-clear-btn:hover {
  color: var(--text-primary);
}

/* Show the clear button when input has value AND parent is focused-within */

.input-clearable:focus-within .input-clear-btn.is-visible {
  opacity: 1;
  pointer-events: auto;
}

/* ── Country combobox — green sticky group headers ── */

.combobox:has(#wizard-location-country) .combobox__group,
.combobox:has(#rnly-addr-country) .combobox__group,
.combobox:has(#wizard-location-province) .combobox__group,
.combobox:has(#rnly-addr-province) .combobox__group {
  position: sticky;
  top: 0;
  z-index: 1;
  color: var(--utility-emerald-700);
  background: var(--bg-combobox-listbox, #fff);
  padding: 8px 12px 4px;
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

[data-theme="theme-dark"] .combobox:has(#wizard-location-country) .combobox__group,
[data-theme="theme-dark"] .combobox:has(#rnly-addr-country) .combobox__group,
[data-theme="theme-dark"] .combobox:has(#wizard-location-province) .combobox__group,
[data-theme="theme-dark"] .combobox:has(#rnly-addr-province) .combobox__group {
  background: var(--bg-combobox-listbox, var(--canvas-secondary));
}

/* ── Green checkbox variant ── */

.checkbox-green:checked,
.checkbox-green:checked:hover,
.checkbox-green:checked:active,
.checkbox-green:checked:focus {
  background-color: var(--utility-emerald-600) !important;
  border-color: var(--utility-emerald-600) !important;
}

/* ==========================================================================
   REINLY – Listing editor
   Uses the vertical stepper component (.stepper-v) in the sidebar.
   ========================================================================== */

/* ==========================================================================
   REINLY – Seller listings page (tabs, panels, empty state)
   ========================================================================== */

/* ── Listing tabs bar ── */

.seller-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.seller-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .seller-tabs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.seller-tabs {
  border-bottom: 1px solid var(--border-primary);
  background-color: var(--canvas-primary);
  overflow-x: auto;
}

.seller-tab {
  cursor: pointer;
  white-space: nowrap;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  border-bottom-width: 2px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  color: var(--text-secondary);
  border-color: transparent;
  background: none;
}

.seller-tab:hover {
  color: var(--text-primary);
}

.seller-tab[aria-selected="true"],
.seller-tab--active {
  color: var(--text-primary);
  border-color: var(--text-primary);
  font-weight: 600;
}

.seller-tab-add {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 2rem;
  width: 2rem;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}

.collapse.show.seller-tab-add {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .seller-tab-add {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.seller-tab-add {
  color: var(--text-secondary);
  background: none;
  border: 1px dashed var(--border-primary);
}

.seller-tab-add:hover {
  color: var(--text-primary);
  background-color: var(--utility-neutral-100);
  border-color: var(--text-secondary);
}

/* ── Listing panel ── */

.seller-listing-panel {
  padding: 1.5rem;
}

.seller-listing-panel[hidden] {
  display: none;
}

/* ── Empty state ── */

.seller-empty-state {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  padding-left: 2rem;
  padding-right: 2rem;
  text-align: center;
}

.collapse.show.seller-empty-state {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .seller-empty-state {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.seller-empty-state {
  color: var(--text-tertiary);
}

.seller-empty-state__icon {
  margin-bottom: 1rem;
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.015em;
  color: var(--utility-emerald-600, #059669);
}

.seller-empty-state__title {
  margin-bottom: 0.5rem;
  font-size: 1.125rem;
  line-height: 2rem;
  font-weight: 600;
  color: var(--text-primary);
}

.seller-empty-state__text {
  max-width: 28rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

/* TODO: Add future seller listing page styles here (e.g. bulk actions toolbar, analytics cards) */

/* Utilities / scoped overrides */

/* ==========================================================================
   RNLY – Design-token utility classes
   ==========================================================================
   Single-purpose helpers that map HTML elements to CSS custom properties
   (design tokens). Use these instead of inline style="color: var(--...)"
   ========================================================================== */

/* ── Text colours ── */

.rnly-text-primary     { color: var(--text-primary); }

.rnly-text-secondary   { color: var(--text-secondary); }

.rnly-text-tertiary    { color: var(--text-tertiary); }

.rnly-text-solid       { color: var(--text-primary-solid); }

.rnly-text-emerald     { color: var(--utility-emerald-500); }

/* ── Border colours ── */

/* Works with elements that already carry a border (e.g. class="border rounded-xl rnly-border-primary") */

.rnly-border-primary   { border-color: var(--border-primary); }

/* Adds a bottom border using the primary border token */

.rnly-border-b-primary {
  border-bottom-width: 1px; border-color: var(--border-primary);
}

/* Adds a right border using the primary border token */

.rnly-border-r-primary {
  border-right-width: 1px; border-color: var(--border-primary);
}

/* ── Tab active state ── */

/* Pill/segment-style toggle — active tab gets primary text + subtle bg */

.rnly-tab-active {
  color: var(--text-primary);
  background-color: var(--bg-primary-subtle);
  font-weight: 600;
}

/* ── Avatar placeholder ── */

/* Neutral dark background + white text for initials avatars */

.rnly-avatar {
  background-color: var(--utility-emerald-800);
  color: var(--alpha-white-100);
}

/* ── Canvas background ── */

/* Primary canvas background (used on <body>) */

.rnly-canvas {
  background-color: var(--canvas-primary);
}

/* Subtle background (used on icon circles, info cards, etc.) */

.rnly-bg-subtle {
  background-color: var(--bg-primary-subtle);
}

/* ── Seller editor sidebar ── */

.rnly-editor-sidebar {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  overflow-y: auto;
  border-right-width: 1px;
  width: 220px;
  border-color: var(--border-primary);
}

/* ==========================================================================
   RNLY – Scoped overrides
   ==========================================================================
   Overrides that must be scoped to a Reinly page/feature wrapper so they
   never leak globally. Use parent selectors like:
     .rnly-app, .seller-app, .listings-split
   ========================================================================== */

/* Split-map view: suppress outline on active listing card;
   hover surface handles the feedback instead. */

.listings-split .card--listing.is-active {
  outline-color: transparent;
}

.listings-split .card--listing:focus-visible {
  outline-color: var(--text-info);
}

/* TODO: Add future scoped overrides here (e.g. .seller-app .card { … }) */

/* === Calendar Component === */

.calendar-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top-width: 1px;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.collapse.show.calendar-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}


  .table thead.calendar-container {
  position: sticky;
  top: 0px;
  z-index: 20;
}

.table thead.calendar-container {
    background-color: var(--bg-table-header-sticky, var(--bg-table-header, var(--bg-primary)));
  }

.table thead.calendar-container > tr > th {
  position: sticky;
  top: 0px;
  z-index: 20;
      background-color: var(--bg-table-header-sticky, var(--bg-table-header, var(--bg-primary)));
      /* KEY FIX: remove border so it doesn't stack with the shadow separator */
      border-bottom-color: var(--alpha-0);
}


    .table thead.calendar-container > tr > th {
      -webkit-box-shadow: var(--shadow-table-sticky-header, inset 0 -1px 0 var(--border-table-header, var(--border-primary-alt)));
      box-shadow: var(--shadow-table-sticky-header, inset 0 -1px 0 var(--border-table-header, var(--border-primary-alt)));
    }


.table-container .table thead.calendar-container > tr:first-child > th:first-child {
  border-top-left-radius: var(--radius-table, 0.375rem);
}


.table-container .table thead.calendar-container > tr:first-child > th:last-child {
  border-top-right-radius: var(--radius-table, 0.375rem);
}

@media (max-width: 420px) {
  .ach-card > .calendar-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-container {
  background-color: var(--bg-calendar-container);
  border-color: var(--border-calendar-divider);
}

.calendar-time-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 84px;
  min-width: 84px;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-column-gap: 0.25rem;
  -moz-column-gap: 0.25rem;
  column-gap: 0.25rem;
  border-bottom-width: 1px;
  padding: 0.5rem;
  padding-left: 1rem;
}

.collapse.show.calendar-time-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .calendar-time-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-time-header {
  border-color: var(--border-calendar-divider-header);
}

.calendar-time-label {
  font-size: 0.875rem;
  line-height: 1.5rem;
  color: var(--text-primary);
  font-weight: 600;
}

.wizard-card--trait .calendar-time-label {
  line-height: 1.3;
}

.calendar-time-label {
  color: var(--text-calendar-time-label);
}

.calendar-header {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  border-bottom-width: 1px;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  border-color: var(--border-calendar-divider-header);
}

.calendar-day-header {
  position: relative;
  grid-column: span 1 / span 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
  border-left-width: 1px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 0.5rem;
  padding-top: 0.625rem;
}

.collapse.show.calendar-day-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .calendar-day-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-day-header {
  background-color: var(--bg-calendar-day-header);
  border-color: var(--border-calendar-divider-header);
  color: var(--text-calendar-day-header);
}

.calendar-day-add-btn {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
}

.calendar-day-header-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.calendar-day-header-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .calendar-day-header-title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-day-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.calendar-day-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .calendar-day-label {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-day-label {
  color: var(--text-calendar-day-label);
}

.calendar-day-badge {
  display: inline-block;
}

.calendar-date-short {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  font-size: 0.625rem;
  line-height: 0.875rem;
}

.collapse.show.calendar-date-short {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .calendar-date-short {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-date-short {
  color: var(--text-calendar-day-date);
}

.calendar-today-indicator {
  position: absolute;
  top: 18px;
  left: 0.375rem;
  width: 5px;
  height: 5px;
  border-radius: 9999px;
  background-color: var(--bg-calendar-indicator-today);
}

.calendar-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.calendar-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .calendar-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.collapse.show.calendar-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .calendar-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-time-slot {
  width: 84px;
  min-width: 84px;
  border-bottom-width: 1px;
  padding: 0.5rem;
  padding-left: 1rem;
  background-color: var(--bg-calendar-time-slot);
  border-color: var(--border-calendar-divider-header);
}

.calendar-time-text {
  font-size: 0.875rem;
  line-height: 1.5rem;
  color: var(--text-primary);
  font-weight: 600;
  color: var(--text-calendar-time);
}

.calendar-day-grid {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.calendar-day-slot {
  grid-column: span 1 / span 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.calendar-day-slot > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.calendar-day-slot {
  border-bottom-width: 1px;
  border-left-width: 1px;
  padding: 0.5rem;
}

.collapse.show.calendar-day-slot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .calendar-day-slot {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-day-slot {
  background-color: var(--bg-calendar-day-slot);
  border-color: var(--border-calendar-divider);
}

.calendar-closed-slot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.collapse.show.calendar-closed-slot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .calendar-closed-slot {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-closed-slot {
  color: var(--calendar-text-closed);
}

.calendar-footer-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.collapse.show.calendar-footer-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .calendar-footer-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.calendar-footer-row {
  background-color: var(--bg-calendar-footer);
}

/* === Appointment Cards === */

.appointment-card {
  position: relative;
  border-radius: 0.375rem;
  border-width: 1px;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  background-color: var(--bg-appointment-card);
  border-color: var(--border-appointment-card);
  color: var(--text-appointment-card);
}

.appointment-card:hover {
  background-color: var(--bg-appointment-card-hover);
}

.appointment-color-indicator {
  position: absolute;
  left: -1px;
  top: 0.5rem;
  z-index: 2;
  height: 38px;
  width: 3px;
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
  /*background-color: var(--bg-appointment-category);*/
}

.appointment-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.25rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.collapse.show.appointment-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .appointment-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.appointment-id-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.collapse.show.appointment-id-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .appointment-id-group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.appointment-number {
  margin-right: 0.125rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: var(--text-appointment-number);
}

.icon-float {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .icon-float {
  line-height: 1.3;
}

.icon-float {
  color: var(--text-appointment-icon-float);
}

.icon-log {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .icon-log {
  line-height: 1.3;
}

.icon-log {
  color: var(--text-appointment-icon-log);
}

.icon-attachment,
.icon-photo {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .icon-attachment,.wizard-card--trait 
.icon-photo {
  line-height: 1.3;
}

.icon-attachment,
.icon-photo {
  color: var(--text-appointment-icon-secondary);
}

.icon-audit {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .icon-audit {
  line-height: 1.3;
}

.icon-audit {
  color: var(--text-appointment-icon-audit);
}

.appointment-status-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.collapse.show.appointment-status-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .appointment-status-group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.appointment-status {
  font-size: 0.563rem;
  line-height: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.appointment-timegap {
  margin-left: 0.25rem;
  font-size: 0.625rem;
  line-height: 0.875rem;
  font-weight: 600;
}

.appointment-note {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .appointment-note {
  line-height: 1.3;
}

.appointment-note {
  color: var(--text-appointment-note);
}

.appointment-carrier {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
}

.collapse.show.appointment-carrier {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .appointment-carrier {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.appointment-carrier-name {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
}

.wizard-card--trait .appointment-carrier-name {
  line-height: 1.3;
}

.appointment-carrier-name {
  color: var(--text-appointment-carrier);
}

.appointment-details {
  visibility: collapse;
  width: 100%;
}

.appointment-details:not(.show) {
  display: none;
}

.appointment-details.show {
  display: block;
  visibility: visible;
}

.appointment-details.show.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.collapse-horizontal.appointment-details.show {
  display: inline-block;
}

.appointment-meta {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.collapse.show.appointment-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .appointment-meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.appointment-duration,
.appointment-category {
  text-transform: uppercase;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 400;
  color: var(--text-tertiary);
}

.appointment-comment {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  border-radius: 0.25rem;
  border-width: 1px;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .appointment-comment {
  line-height: 1.3;
}

.appointment-comment {
  background-color: var(--bg-appointment-comment);
  border-color: var(--border-appointment-comment);
  color: var(--text-appointment-comment);
}

.appointment-origin {
  margin-top: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  text-transform: uppercase;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 400;
  color: var(--text-tertiary);
  color: var(--text-appointment-origin);
}

.appointment-refs {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  text-transform: uppercase;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
}

.wizard-card--trait .appointment-refs {
  line-height: 1.3;
}

.appointment-refs {
  color: var(--text-tertiary);
  color: var(--text-appointment-refs);
  margin-top: 0.125rem;
}

.appointment-equipment {
  margin-top: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.25rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.collapse.show.appointment-equipment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .appointment-equipment {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.equipment-type {
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 400;
  color: var(--text-tertiary);
}

.equipment-id {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .equipment-id {
  line-height: 1.3;
}

.equipment-id {
  color: var(--text-appointment-equipment-id);
}

.appointment-toggle {
  visibility: hidden;
  position: absolute;
  right: 0.25rem;
  bottom: 0.25rem;
}

.appointment-card:hover .appointment-toggle {
  visibility: visible;
}

.appointment-toggle-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  text-align: center;
  font-size: 0.625rem;
  line-height: 0.875rem;
}

.collapse.show.appointment-toggle-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .appointment-toggle-btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.appointment-toggle-btn {
  border-color: var(--border-appointment-toggle-btn);
}

/* === Schedule Days Header === */

.schedule-days {
  margin-top: 0.25rem;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  font-size: 0.75rem;
  line-height: 1.5rem;
}

.wizard-card--trait .schedule-days {
  line-height: 1.3;
}

.schedule-days {
  color: var(--text-schedule-day-label);
}

.schedule-days .day-of-week {
  text-align: center;
}

/* === Schedule Grid === */

.schedule {
  margin-top: 0.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.collapse.show.schedule {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .schedule {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .schedule {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.schedule .day {
  position: relative;
  margin-bottom: 2px;
  height: 2rem;
  width: 2rem;
  border-radius: 9999px;
}

.schedule .day:focus {
  z-index: 10;
}

.schedule .day {
    color: var(--text-schedule-day);
    background-color: var(--bg-schedule-day);
  }

.schedule .day:hover {
      background-color: var(--bg-schedule-day-hover);
    }

.schedule .day .date {
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
}

.collapse.show.schedule .day .date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .schedule .day .date {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* === Available Day Variant === */

.schedule .day.available {
      background-color: var(--bg-schedule-day-available);
      color: var(--text-schedule-day-available);
      border: 1px solid var(--border-schedule-day-available);
    }

.schedule .day.available:hover {
        background-color: var(--bg-schedule-day-available-hover);
      }

.schedule .day.available:active {
        background-color: var(--bg-schedule-day-available-active);
      }

/* === Active Day Variant === */

.schedule .day.active {
      background-color: var(--bg-schedule-day-active);
      color: var(--text-schedule-day-active);
    }

.schedule .day.active:hover {
        background-color: var(--bg-schedule-day-active-hover);
      }

.schedule .day.active:active {
        background-color: var(--bg-schedule-day-active-pressed);
      }

/* === Available + Active Combo State === */

.schedule .day.available.active {
      background-color: var(--bg-schedule-day-active);
      color: var(--text-schedule-day-active);
    }

/* === Today Indicator === */

.schedule .current {
  position: absolute;
  bottom: 3px;
  left: 45.5%;
  height: 0.25rem;
  width: 0.25rem;
  border-radius: 9999px;
    background-color: var(--bg-schedule-indicator-current);
}

#proximityBar {
  height: 1rem;
  width: 100%;
  border-radius: 9999px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(222 225 230 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(241 243 245 / var(--tw-bg-opacity, 1)); border-color: var(--color-gray-200); background-color: var(--color-gray-100);
}

#proximityBar:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(47 48 56 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(47 48 56 / var(--tw-bg-opacity, 1));
}

#proximityBar {
  /*
  width: 100%;
  background-color: #e0e0e0;
  border: 1px solid #aaa;
  height: 25px;
  border-radius: 5px;
  margin-top: 20px;
    */
}

#bar {
  height: 100%;
  width: 0%;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(47 111 228 / var(--tw-bg-opacity, 1));
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1); background-color: var(--color-blue-500);
  /*
  height: 100%;
  width: 0%;
  background-color: green;f
  border-radius: 5px;link
  transition: width 0.2s ease-in-out;
    */
}

#proximityText {
  /*
  text-align: center;
  margin-top: 10px;
  font-size: 1.3em;
    */
}

#tagList {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  /*
  margin-top: 20px;
  font-size: 1.1em;
    */
}

.tagItem {
  border-radius: 0.375rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(241 243 245 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(241 243 245 / var(--tw-bg-opacity, 1));
  padding: 1rem; border-color: var(--color-gray-100); background-color: var(--color-gray-100);
  /*
  margin-bottom: 10px;
  padding: 10px;
  background-color: #f9f9f9;
  border-radius: 5px;
  border: 1px solid #ccc;
    */
}

/* === Inventory Grid === */

.inventory-grid-panel {
  background-color: var(--bg-inventory-grid-panel);
}

.inventory-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.collapse.show.inventory-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .inventory-card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.inventory-card {
  background-color: var(--bg-inventory-card);
  border-color: var(--border-inventory-card);
}

.inventory-card:hover {
  cursor: pointer;
    background-color: var(--bg-inventory-card-hover);
    border-color: var(--border-inventory-card-hover);
}

.inventory-card-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.collapse.show.inventory-card-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .inventory-card-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.inventory-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 200px;
  max-height: 200px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  padding: 0.25rem;
}

.collapse.show.inventory-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .inventory-image {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.inventory-image {
  background-color: var(--bg-inventory-image);
}

.inventory-image img {
  height: 100%;
  width: 100%;
  border-radius: 0.5rem;
  -o-object-fit: cover;
  object-fit: cover;
}

.inventory-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.inventory-info > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}

.inventory-info {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
}

.collapse.show.inventory-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .inventory-info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.inventory-info {
  color: var(--text-inventory-info);
}

.inventory-info .item-name {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  font-size: 0.875rem;
  line-height: 1.5rem;
  color: var(--text-secondary-alt);
  font-weight: 600;
}

.inventory-info .item-sku {
  text-transform: uppercase;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
}

.wizard-card--trait .inventory-info .item-sku {
  line-height: 1.3;
}

.inventory-info .item-sku {
  color: var(--text-tertiary);
}

.item-serial-tag {
  font-size: 0.625rem;
  line-height: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  --tw-text-opacity: 1;
  color: rgb(233 66 132 / var(--tw-text-opacity, 1));
  color: var(--text-pink);
}

.inventory-card-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.inventory-card-footer > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.inventory-card-footer {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 1rem;
}

.collapse.show.inventory-card-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .inventory-card-footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.inventory-card-footer .location-code {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5rem;
  font-weight: 400;
  color: var(--text-primary);
}

.collapse.show.inventory-card-footer .location-code {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .inventory-card-footer .location-code {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.inventory-card-footer .location-qty {
  margin-top: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  font-size: 1.125rem;
  line-height: 2rem;
  letter-spacing: -0.025em;
  color: var(--text-primary);
  font-weight: 600;
}

.collapse.show.inventory-card-footer .location-qty {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .inventory-card-footer .location-qty {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.border-l-success-60 {
  border-left-width: 1px;
  opacity: 0.6;
  border-color: var(--border-success);
}

.bg-success-5 {
  opacity: 0.1;
  background-color: var(--bg-success);
}

.border-l-danger-60 {
  border-left-width: 1px;
  opacity: 0.6;
  border-color: var(--border-danger);
}

.bg-danger-5 {
  opacity: 0.1;
  background-color: var(--bg-danger);
}

/* ========================================
   App: Mail Client
   Enterprise email — shell, list, detail, composer, thread, folders.
   Composes with: split-pane, powershell, messaging, combobox, chip, persona, avatar.
   ======================================== */

/* ==========================================================================
   MAIL APP SHELL
   Root container — 3-pane layout via split-pane
   ========================================================================== */

.mail-app {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.mail-app {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-app {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-app {
  background-color: var(--bg-mail-app, var(--bg-surface));
}

.mail-app__toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.mail-app__toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-app__toolbar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-app__toolbar {
  border-bottom: 1px solid var(--border-divider);
  background-color: var(--bg-mail-toolbar, var(--bg-surface));
}

.mail-app__toolbar-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
}

.collapse.show.mail-app__toolbar-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-app__toolbar-left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-app__toolbar-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.collapse.show.mail-app__toolbar-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.menu--collapsed .menu-link .mail-app__toolbar-center {
      display: none;
    }

@media (max-width: 420px) {
  .ach-card > .mail-app__toolbar-center {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-app__toolbar-right {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
}

.collapse.show.mail-app__toolbar-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-app__toolbar-right {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ==========================================================================
   MAIL SEARCH
   Persistent search bar in toolbar
   ========================================================================== */

.mail-search {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.collapse.show.mail-search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-search {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-search {
  width: 100%;
  max-width: 420px;
}

.mail-search__input {
  width: 100%;
  border-radius: 0.5rem;
  border-width: 1px;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  padding-left: 2rem;
  padding-right: 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  background-color: var(--bg-mail-search, var(--bg-input));
  border-color: var(--border-mail-search, var(--border-input));
  color: var(--text-primary);
}

.mail-search__input:focus {
  border-color: var(--border-focus);
  outline: none;
  -webkit-box-shadow: 0 0 0 3px var(--ring-focus);
  box-shadow: 0 0 0 3px var(--ring-focus);
}

.mail-search__input::-webkit-input-placeholder {
  color: var(--text-placeholder);
}

.mail-search__input::-moz-placeholder {
  color: var(--text-placeholder);
}

.mail-search__input:-ms-input-placeholder {
  color: var(--text-placeholder);
}

.mail-search__input::-ms-input-placeholder {
  color: var(--text-placeholder);
}

.mail-search__input::placeholder {
  color: var(--text-placeholder);
}

.mail-search__icon {
  pointer-events: none;
  position: absolute;
  left: 0.625rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .mail-search__icon {
  line-height: 1.3;
}

.mail-search__icon {
  color: var(--text-tertiary);
}

.mail-search__shortcut {
  pointer-events: none;
  position: absolute;
  right: 0.5rem;
}

/* ==========================================================================
   MAIL SIDEBAR — Folder navigation
   ========================================================================== */

.mail-sidebar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.mail-sidebar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-sidebar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-sidebar {
  background-color: var(--bg-mail-sidebar, var(--bg-surface));
}

.mail-sidebar__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.mail-sidebar__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-sidebar__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-sidebar__header {
  border-bottom: 1px solid var(--border-divider);
}

.mail-sidebar__title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
}

.mail-sidebar__list {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow-y: auto;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.menu--collapsed .menu-link .mail-sidebar__list {
      display: none;
    }

.mail-sidebar__list {
  scrollbar-width: thin;
  scrollbar-color: var(--scroll-thumb) var(--scroll-track);
}

.mail-sidebar__section {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.mail-sidebar__section-title {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--text-quaternary);
}

/* ==========================================================================
   MAIL FOLDER ITEM
   ========================================================================== */

.mail-folder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.625rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
}

.collapse.show.mail-folder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-folder {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-folder {
  color: var(--text-secondary);
}

.mail-folder:hover {
  background-color: var(--bg-mail-folder-hover, var(--bg-row-hover));
}

.mail-folder.is-active {
  background-color: var(--bg-mail-folder-active, var(--bg-info-subtle));
  color: var(--text-info);
}

.mail-folder.is-active .mail-folder__icon {
  color: var(--text-info);
}

.mail-folder__icon {
  width: 1rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  text-align: center;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-tertiary);
}

.mail-folder__label {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
}

.menu--collapsed .menu-link .mail-folder__label {
      display: none;
    }

.mail-folder__count {
  min-width: 20px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 9999px;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  text-align: center;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 600;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  background-color: var(--bg-mail-count, var(--bg-badge));
  color: var(--text-mail-count, var(--text-badge));
}

.mail-folder.is-active .mail-folder__count {
  background-color: var(--bg-info-solid);
  color: #fff;
}

/* Folder with nested items */

.mail-folder--indent {
  padding-left: 2.75rem;
}

/* ==========================================================================
   MAIL LABEL PILL
   Color-coded label/tag on messages
   ========================================================================== */

.mail-label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  border-radius: 9999px;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
}

.mail-label__dot {
  height: 0.375rem;
  width: 0.375rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 9999px;
}

/* ==========================================================================
   MESSAGE LIST
   ========================================================================== */

.mail-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.mail-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-list {
  background-color: var(--bg-mail-list, var(--bg-surface));
}

.mail-list__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.mail-list__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-list__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-list__header {
  border-bottom: 1px solid var(--border-divider);
  background-color: var(--bg-mail-list-header, var(--bg-surface));
}

.mail-list__header-title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
}

.mail-list__header-count {
  font-size: 0.6875rem;
  line-height: 1rem;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  color: var(--text-tertiary);
}

.mail-list__actions {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.collapse.show.mail-list__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-list__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-list__body {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow-y: auto;
}

.menu--collapsed .menu-link .mail-list__body {
      display: none;
    }

.mail-list__body {
  scrollbar-width: thin;
  scrollbar-color: var(--scroll-thumb) var(--scroll-track);
}

/* ==========================================================================
   MAIL LIST ITEM
   Individual message row in the list
   ========================================================================== */

.mail-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
}

.collapse.show.mail-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-item {
  border-bottom: 1px solid var(--border-mail-item, var(--border-subtle));
}

.mail-item:hover {
  background-color: var(--bg-mail-item-hover, var(--bg-row-hover));
}

.mail-item.is-active {
  background-color: var(--bg-mail-item-active, var(--bg-info-subtle));
}

.mail-item.is-selected {
  background-color: var(--bg-mail-item-selected, var(--bg-info-subtle));
}

/* Unread state */

.mail-item.is-unread {
  background-color: var(--bg-mail-item-unread, transparent);
}

.mail-item.is-unread .mail-item__subject {
  font-weight: 600;
  color: var(--text-primary);
}

.mail-item.is-unread::before {
  content: "";
  position: absolute;
  left: 0.375rem;
  top: 50%;
  height: 0.375rem;
  width: 0.375rem;
  --tw-translate-y: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-radius: 9999px;
  background-color: var(--bg-info-solid);
}

/* Checkbox area */

.mail-item__check {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding-top: 0.125rem;
}

.mail-item__check input[type="checkbox"] {
  height: 0.875rem;
  width: 0.875rem;
  cursor: pointer;
  border-radius: 0.25rem;
}

/* Avatar */

.mail-item__avatar {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding-top: 0.125rem;
}

/* Content area */

.mail-item__content {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .mail-item__content {
      display: none;
    }

.mail-item__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  gap: 0.5rem;
}

.collapse.show.mail-item__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-item__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-item__sender {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-secondary);
}

.mail-item.is-unread .mail-item__sender {
  color: var(--text-primary);
}

.mail-item__time {
  margin-left: auto;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  white-space: nowrap;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-quaternary);
}

.mail-item__subject {
  margin-top: 0.125rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-secondary);
}

.mail-item__preview {
  margin-top: 0.125rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .mail-item__preview {
  line-height: 1.3;
}

.mail-item__preview {
  color: var(--text-tertiary);
}

/* Meta row (labels, attachment icon, star) */

.mail-item__meta {
  margin-top: 0.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
}

.collapse.show.mail-item__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-item__meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-item__attachment-icon {
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-quaternary);
}

.mail-item__star {
  cursor: pointer;
  font-size: 0.75rem;
  line-height: 1rem;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
}

.wizard-card--trait .mail-item__star {
  line-height: 1.3;
}

.mail-item__star {
  color: var(--text-quaternary);
}

.mail-item__star:hover,
.mail-item__star.is-starred {
  color: var(--text-warning);
}

/* Hover actions (archive, delete, mark read) */

.mail-item__hover-actions {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  --tw-translate-y: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.125rem;
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
}

.collapse.show.mail-item__hover-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-item__hover-actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-item__hover-actions {
  background-color: var(--bg-mail-item-hover, var(--bg-surface));
}

.mail-item:hover .mail-item__hover-actions {
  opacity: 1;
}

.mail-item__hover-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 1.75rem;
  width: 1.75rem;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
}

.collapse.show.mail-item__hover-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .mail-item__hover-btn {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .mail-item__hover-btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-item__hover-btn {
  color: var(--text-tertiary);
  background-color: transparent;
  border: none;
}

.mail-item__hover-btn:hover {
  background-color: var(--bg-button-ghost-hover);
  color: var(--text-primary);
}

/* ==========================================================================
   MAIL DETAIL / READING PANE
   ========================================================================== */

.mail-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.mail-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-detail {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-detail {
  background-color: var(--bg-mail-detail, var(--bg-surface));
}

.mail-detail__toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.mail-detail__toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-detail__toolbar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-detail__toolbar {
  border-bottom: 1px solid var(--border-divider);
}

.mail-detail__body {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow-y: auto;
}

.menu--collapsed .menu-link .mail-detail__body {
      display: none;
    }

.mail-detail__body {
  scrollbar-width: thin;
  scrollbar-color: var(--scroll-thumb) var(--scroll-track);
}

.mail-detail__content {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

/* Message header */

.mail-detail__header {
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border-subtle);
}

.mail-detail__subject {
  font-size: 1.125rem;
  line-height: 2rem;
  font-weight: 600;
  line-height: 1.375;
  color: var(--text-primary);
}

.mail-detail__sender-row {
  margin-top: 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
}

.collapse.show.mail-detail__sender-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-detail__sender-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-detail__sender-info {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .mail-detail__sender-info {
      display: none;
    }

.mail-detail__sender-name {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-primary);
}

.mail-detail__sender-email {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .mail-detail__sender-email {
  line-height: 1.3;
}

.mail-detail__sender-email {
  color: var(--text-tertiary);
}

.mail-detail__date {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .mail-detail__date {
  line-height: 1.3;
}

.mail-detail__date {
  color: var(--text-tertiary);
}

/* Recipients summary */

.mail-detail__recipients {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .mail-detail__recipients {
  line-height: 1.3;
}

.mail-detail__recipients {
  color: var(--text-tertiary);
}

.mail-detail__recipients-toggle {
  cursor: pointer;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  color: var(--text-info);
}

.mail-detail__recipients-expanded {
  margin-top: 0.5rem;
}

.mail-detail__recipients-expanded > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.mail-detail__recipients-expanded {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .mail-detail__recipients-expanded {
  line-height: 1.3;
}

.mail-detail__recipients-expanded {
  color: var(--text-tertiary);
}

/* Message body */

.mail-detail__message {
  margin-top: 1.25rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  line-height: 1.625;
  color: var(--text-primary);
}

.mail-detail__message p {
  margin-bottom: 0.75rem;
}

.mail-detail__message a {
  color: var(--text-info);
  text-decoration: underline;
}

.mail-detail__message blockquote {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
  padding-left: 1rem;
  border-left: 3px solid var(--border-divider);
  color: var(--text-tertiary);
}

.mail-detail__message img {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  max-width: 100%;
  border-radius: 0.375rem;
}

/* Attachments */

.mail-detail__attachments {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-subtle);
}

.mail-detail__attachments-title {
  margin-bottom: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.wizard-card--trait .mail-detail__attachments-title {
  line-height: 1.3;
}

.mail-detail__attachments-title {
  color: var(--text-secondary);
}

.mail-detail__attachment-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.collapse.show.mail-detail__attachment-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-detail__attachment-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-detail__attachment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
}

.collapse.show.mail-detail__attachment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .mail-detail__attachment {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .mail-detail__attachment {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-detail__attachment {
  background-color: var(--bg-mail-attachment, var(--bg-tertiary-subtle));
  border: 1px solid var(--border-subtle);
  color: var(--text-secondary);
}

.mail-detail__attachment:hover {
  background-color: var(--bg-mail-attachment-hover, var(--bg-row-hover));
}

.mail-detail__attachment-icon {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-tertiary);
}

.mail-detail__attachment-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 180px;
}

.mail-detail__attachment-size {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-quaternary);
}

/* ==========================================================================
   MAIL THREAD / CONVERSATION VIEW
   Stacked messages with expand/collapse
   ========================================================================== */

.mail-thread > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}

.mail-thread-item {
  position: relative;
  border-bottom: 1px solid var(--border-subtle);
}

.mail-thread-item:last-child {
  border-bottom: none;
}

/* Collapsed thread summary */

.mail-thread-item__collapsed {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
}

.collapse.show.mail-thread-item__collapsed {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-thread-item__collapsed {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-thread-item__collapsed:hover {
  background-color: var(--bg-row-hover);
}

.mail-thread-item__collapsed-sender {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-secondary);
}

.mail-thread-item__collapsed-preview {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
}

.menu--collapsed .menu-link .mail-thread-item__collapsed-preview {
      display: none;
    }

.wizard-card--trait .mail-thread-item__collapsed-preview {
  line-height: 1.3;
}

.mail-thread-item__collapsed-preview {
  color: var(--text-tertiary);
}

.mail-thread-item__collapsed-time {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  white-space: nowrap;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-quaternary);
}

/* Expanded thread message */

.mail-thread-item__expanded {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/* Quoted / forwarded content */

.mail-quoted {
  position: relative;
  margin-top: 0.75rem;
  overflow: hidden;
}

.mail-quoted.is-collapsed {
  max-height: 60px;
}

.mail-quoted.is-collapsed::after {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 0px;
  right: 0px;
  height: 2rem;
  background: linear-gradient(transparent, var(--bg-surface));
}

.mail-quoted__toggle {
  cursor: pointer;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .mail-quoted__toggle {
  line-height: 1.3;
}

.mail-quoted__toggle {
  color: var(--text-info);
}

.mail-quoted__content {
  padding-left: 1rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .mail-quoted__content {
  line-height: 1.3;
}

.mail-quoted__content {
  border-left: 2px solid var(--border-divider);
  color: var(--text-tertiary);
}

/* Thread count badge */

.mail-thread-count {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.25rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  background-color: var(--bg-tertiary-subtle);
  color: var(--text-tertiary);
}

/* ==========================================================================
   MAIL COMPOSER
   Full email compose — wraps msg-composer with header fields
   ========================================================================== */

.mail-compose {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.collapse.show.mail-compose {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-compose {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-compose {
  background-color: var(--bg-mail-compose, var(--bg-surface));
}

.mail-compose__toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.mail-compose__toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-compose__toolbar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-compose__toolbar {
  border-bottom: 1px solid var(--border-divider);
}

.mail-compose__toolbar-title {
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: var(--text-primary);
}

.mail-compose__fields {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
}

/* Recipient field row */

.mail-compose__field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.collapse.show.mail-compose__field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-compose__field {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-compose__field {
  border-bottom: 1px solid var(--border-subtle);
}

.mail-compose__field-label {
  width: 3.5rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-tertiary);
}

.mail-compose__field-input {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .mail-compose__field-input {
      display: none;
    }

/* CC/BCC toggle link */

.mail-compose__cc-toggle {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  cursor: pointer;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .mail-compose__cc-toggle {
  line-height: 1.3;
}

.mail-compose__cc-toggle {
  color: var(--text-info);
}

.mail-compose__cc-toggle:hover {
  text-decoration: underline;
}

/* Hidden CC/BCC rows */

.mail-compose__field--cc,
.mail-compose__field--bcc {
  display: none;
}

.mail-compose__field--cc.is-visible,
.mail-compose__field--bcc.is-visible {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.collapse.show.mail-compose__field--cc.is-visible,.collapse.show
.mail-compose__field--bcc.is-visible {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-compose__field--cc.is-visible,.ach-card > 
.mail-compose__field--bcc.is-visible {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* Subject field */

.mail-compose__subject {
  width: 100%;
  border-width: 0px;
  background-color: transparent;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  outline: 2px solid transparent;
  outline-offset: 2px;
  color: var(--text-primary);
}

.mail-compose__subject::-webkit-input-placeholder {
  color: var(--text-placeholder);
}

.mail-compose__subject::-moz-placeholder {
  color: var(--text-placeholder);
}

.mail-compose__subject:-ms-input-placeholder {
  color: var(--text-placeholder);
}

.mail-compose__subject::-ms-input-placeholder {
  color: var(--text-placeholder);
}

.mail-compose__subject::placeholder {
  color: var(--text-placeholder);
}

/* Body area — wraps the messaging editor */

.mail-compose__body {
  min-height: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  overflow: hidden;
}

.menu--collapsed .menu-link .mail-compose__body {
      display: none;
    }

/* Override messaging editor for email context */

.mail-compose__body .msg-composer {
  height: 100%;
  border-radius: 0px;
  border-width: 0px;
}

.mail-compose__body .msg-composer:focus-within {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.mail-compose__body .msg-composer__editor {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .mail-compose__body .msg-composer__editor {
      display: none;
    }

.mail-compose__body .msg-composer__editor {
  max-height: none;
  min-height: 200px;
}

.mail-compose__body .msg-composer__body {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .mail-compose__body .msg-composer__body {
      display: none;
    }

/* Compose footer */

.mail-compose__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.mail-compose__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-compose__footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-compose__footer {
  border-top: 1px solid var(--border-divider);
}

.mail-compose__footer-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
}

.collapse.show.mail-compose__footer-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-compose__footer-left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-compose__footer-right {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.collapse.show.mail-compose__footer-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-compose__footer-right {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* Draft indicator */

.mail-compose__draft {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.6875rem;
  line-height: 1rem;
}

.collapse.show.mail-compose__draft {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-compose__draft {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-compose__draft {
  color: var(--text-tertiary);
}

.mail-compose__draft-dot {
  height: 0.375rem;
  width: 0.375rem;
  border-radius: 9999px;
  background-color: var(--bg-warning-solid);
}

/* ==========================================================================
   RECIPIENT CHIP — inside compose fields
   Extended chip with avatar
   ========================================================================== */

.mail-recipient {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  max-width: 200px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.375rem;
  border-radius: 9999px;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  padding-left: 0.125rem;
  padding-right: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
}

.wizard-card--trait .mail-recipient {
  line-height: 1.3;
}

.mail-recipient {
  background-color: var(--bg-mail-recipient, var(--bg-badge));
  color: var(--text-mail-recipient, var(--text-badge));
  border: 1px solid var(--border-mail-recipient, transparent);
}

.mail-recipient:hover {
  background-color: var(--bg-mail-recipient-hover, var(--bg-tertiary-subtle));
}

.mail-recipient.is-invalid {
  background-color: var(--bg-danger-subtle);
  border-color: var(--border-danger);
  color: var(--text-danger);
}

.mail-recipient__avatar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 1.25rem;
  width: 1.25rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
}

.collapse.show.mail-recipient__avatar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-recipient__avatar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-recipient__avatar {
  background-color: var(--bg-info-subtle);
  color: var(--text-info);
}

.mail-recipient__name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mail-recipient__dismiss {
  margin-left: 0.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 0.875rem;
  width: 0.875rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 9999px;
  font-size: 0.6875rem;
  line-height: 1rem;
}

.collapse.show.mail-recipient__dismiss {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-recipient__dismiss {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-recipient__dismiss {
  color: inherit;
  opacity: 0.5;
  background: transparent;
  border: none;
}

.mail-recipient__dismiss:hover {
  opacity: 1;
  background-color: var(--bg-danger-subtle);
  color: var(--text-danger);
}

/* ==========================================================================
   ADDRESS LOOKUP DROPDOWN
   ========================================================================== */

.mail-address-result {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.625rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
}

.collapse.show.mail-address-result {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-address-result {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-address-result:hover,
.mail-address-result.is-active {
  background-color: var(--bg-row-hover);
}

.mail-address-result__info {
  min-width: 0px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.menu--collapsed .menu-link .mail-address-result__info {
      display: none;
    }

.mail-address-result__name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-primary);
}

.mail-address-result__email {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .mail-address-result__email {
  line-height: 1.3;
}

.mail-address-result__email {
  color: var(--text-tertiary);
}

.mail-address-result__meta {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 0.6875rem;
  line-height: 1rem;
  color: var(--text-quaternary);
}

/* ==========================================================================
   INLINE REPLY — quick reply at bottom of thread
   ========================================================================== */

.mail-quick-reply {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-top: 1px solid var(--border-divider);
}

.mail-quick-reply__prompt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: text;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.collapse.show.mail-quick-reply__prompt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-quick-reply__prompt {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-quick-reply__prompt {
  background-color: var(--bg-mail-quick-reply, var(--bg-input));
  border: 1px solid var(--border-input);
  color: var(--text-placeholder);
}

.mail-quick-reply__prompt:hover {
  border-color: var(--border-focus);
}

.mail-quick-reply__expanded {
  display: none;
}

.mail-quick-reply.is-expanded .mail-quick-reply__prompt {
  display: none;
}

.mail-quick-reply.is-expanded .mail-quick-reply__expanded {
  display: block;
}

/* ==========================================================================
   SELECTION BAR — bulk actions above list
   ========================================================================== */

.mail-selection-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.collapse.show.mail-selection-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.wizard-card--trait .mail-selection-bar {
  line-height: 1.3;
}

@media (max-width: 420px) {
  .ach-card > .mail-selection-bar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-selection-bar {
  background-color: var(--bg-info-subtle);
  color: var(--text-info);
  border-bottom: 1px solid var(--border-info);
}

.mail-selection-bar__count {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.mail-selection-bar__actions {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.collapse.show.mail-selection-bar__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-selection-bar__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ==========================================================================
   DENSITY & COMPACT MODE
   ========================================================================== */

.mail-list--compact .mail-item {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.mail-list--compact .mail-item__sender {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .mail-list--compact .mail-item__sender {
  line-height: 1.3;
}

.mail-list--compact .mail-item__subject {
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .mail-list--compact .mail-item__subject {
  line-height: 1.3;
}

.mail-list--compact .mail-item__preview {
  display: none;
}

/* ==========================================================================
   EMPTY / LOADING STATES
   ========================================================================== */

.mail-empty {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  text-align: center;
}

.collapse.show.mail-empty {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-empty {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-empty__icon {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 3.5rem;
  width: 3.5rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 1rem;
  font-size: 1.5rem;
  line-height: 2rem;
  letter-spacing: -0.01em;
}

.collapse.show.mail-empty__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-empty__icon {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-empty__icon {
  background-color: var(--bg-tertiary-subtle);
  color: var(--text-tertiary);
}

.mail-empty__title {
  margin-bottom: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-primary);
}

.mail-empty__description {
  max-width: 20rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .mail-empty__description {
  line-height: 1.3;
}

.mail-empty__description {
  color: var(--text-tertiary);
}

/* Skeleton list items */

.mail-skeleton-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.collapse.show.mail-skeleton-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .mail-skeleton-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.mail-skeleton-item {
  border-bottom: 1px solid var(--border-subtle);
}

.mail-skeleton-item__avatar {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.table tbody > tr.tr-skeleton .mail-skeleton-item__avatar {
  height: 0.75rem;
  border-radius: 0.25rem;
}

.mail-skeleton-item__avatar {
  display: block;
  border-radius: 0.25rem;
  background: linear-gradient(
    90deg,
    var(--bg-skeleton, var(--bg-tertiary)) 25%,
    var(--bg-skeleton-highlight, var(--bg-secondary)) 37%,
    var(--bg-skeleton, var(--bg-tertiary)) 63%
  );
  background-size: 200% 100%;
  -webkit-animation: shimmer 1.5s ease-in-out infinite;
  animation: shimmer 1.5s ease-in-out infinite;
  border-radius: 9999px;
  width: 32px;
  height: 32px;
}

@media (prefers-reduced-motion: reduce) {
  .mail-skeleton-item__avatar {
    -webkit-animation: none;
    animation: none;
  }
}

.pv-thumb .mail-skeleton-item__avatar {
  position: absolute;
  inset: 0px;
}

.pm-upload-card__bg.mail-skeleton-item__avatar {
  border-radius: 0;
}

.mail-skeleton-item__lines {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.mail-skeleton-item__lines > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}

.mail-skeleton-item__lines {
  padding-top: 0.25rem;
}

.menu--collapsed .menu-link .mail-skeleton-item__lines {
      display: none;
    }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 768px) {
  .mail-compose__field-label {
    width: 2.5rem;
    font-size: 0.75rem;
    line-height: 1rem;
  }

.wizard-card--trait .mail-compose__field-label {
  line-height: 1.3;
}

  .mail-detail__content {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .mail-detail__subject {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

.ql-container {
  position: relative;
  margin: 0px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 100%;
  font-family: 'Roboto', sans-serif;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  background-color: var(--bg-quill-editor);
  color: var(--text-quill-editor);
  border: 1px solid var(--border-quill-editor);
}

.ql-container.ql-disabled .ql-tooltip {
    visibility: hidden;
  }

.ql-container.ql-disabled .ql-editor ul[data-checked] > li::before {
    pointer-events: none;
  }

.ql-clipboard {
  position: absolute;
  overflow: hidden;
  top: 50%;
  left: -100000px;
  height: 1px;
}

.ql-clipboard p {
  margin: 0px;
  padding: 0px;
}

.ql-editor {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 100%;
  overflow-y: auto;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  text-align: left;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  outline: 2px solid transparent;
  outline-offset: 2px;
  background-color: var(--bg-quill-content);
  color: var(--text-quill-content);
  -o-tab-size: 4;
  tab-size: 4;
  -moz-tab-size: 4;
}

.ql-editor > * {
    cursor: text;
  }

.ql-editor p,
  .ql-editor ol,
  .ql-editor ul,
  .ql-editor pre,
  .ql-editor blockquote,
  .ql-editor h1,
  .ql-editor h2,
  .ql-editor h3,
  .ql-editor h4,
  .ql-editor h5,
  .ql-editor h6 {
    margin: 0;
    padding: 0;
    counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }

.ql-editor ol,
  .ql-editor ul {
    padding-left: 1.5em;
  }

.ql-editor ol > li,
    .ql-editor ul > li {
      list-style-type: none;
    }

.ql-editor ul > li::before {
        content: '\2022';
      }

.ql-editor ul[data-checked=true],
    .ql-editor ul[data-checked=false] {
      pointer-events: none;
    }

.ql-editor ul[data-checked=true] > li *,
      .ql-editor ul[data-checked=false] > li * {
        pointer-events: all;
      }

.ql-editor ul[data-checked="true"] > li::before,
    .ql-editor ul[data-checked="false"] > li::before {
  cursor: pointer;
      color: var(--text-quill-checkbox);
      pointer-events: all;
}

.ql-editor ul[data-checked=true] > li::before {
        content: '\2611';
      }

.ql-editor ul[data-checked=false] > li::before {
        content: '\2610';
      }

.ql-editor li::before {
    display: inline-block;
    white-space: nowrap;
    width: 1.2em;
  }

.ql-editor li:not(.ql-direction-rtl)::before {
    margin-left: -1.5em;
    margin-right: 0.3em;
    text-align: right;
  }

.ql-editor li.ql-direction-rtl::before {
    margin-left: 0.3em;
    margin-right: -1.5em;
  }

.ql-editor ol li:not(.ql-direction-rtl),
  .ql-editor ul li:not(.ql-direction-rtl) {
    padding-left: 1.5em;
  }

.ql-editor ol li.ql-direction-rtl,
  .ql-editor ul li.ql-direction-rtl {
    padding-right: 1.5em;
  }

.ql-editor ol li {
    counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
    counter-increment: list-0;
  }

.ql-editor ol li:before {
      content: counter(list-0, decimal) '. ';
    }

.ql-editor ol li.ql-indent-1 {
      counter-increment: list-1;
    }

.ql-editor ol li.ql-indent-1:before {
        content: counter(list-1, lower-alpha) '. ';
      }

.ql-editor ol li.ql-indent-1 {
      counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
    }

.ql-editor ol li.ql-indent-2 {
      counter-increment: list-2;
    }

.ql-editor ol li.ql-indent-2:before {
        content: counter(list-2, lower-roman) '. ';
      }

.ql-editor ol li.ql-indent-2 {
      counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
    }

.ql-editor ol li.ql-indent-3 {
      counter-increment: list-3;
    }

.ql-editor ol li.ql-indent-3:before {
        content: counter(list-3, decimal) '. ';
      }

.ql-editor ol li.ql-indent-3 {
      counter-reset: list-4 list-5 list-6 list-7 list-8 list-9;
    }

.ql-editor ol li.ql-indent-4 {
      counter-increment: list-4;
    }

.ql-editor ol li.ql-indent-4:before {
        content: counter(list-4, lower-alpha) '. ';
      }

.ql-editor ol li.ql-indent-4 {
      counter-reset: list-5 list-6 list-7 list-8 list-9;
    }

.ql-editor ol li.ql-indent-5 {
      counter-increment: list-5;
    }

.ql-editor ol li.ql-indent-5:before {
        content: counter(list-5, lower-roman) '. ';
      }

.ql-editor ol li.ql-indent-5 {
      counter-reset: list-6 list-7 list-8 list-9;
    }

.ql-editor ol li.ql-indent-6 {
      counter-increment: list-6;
    }

.ql-editor ol li.ql-indent-6:before {
        content: counter(list-6, decimal) '. ';
      }

.ql-editor ol li.ql-indent-6 {
      counter-reset: list-7 list-8 list-9;
    }

.ql-editor ol li.ql-indent-7 {
      counter-increment: list-7;
    }

.ql-editor ol li.ql-indent-7:before {
        content: counter(list-7, lower-alpha) '. ';
      }

.ql-editor ol li.ql-indent-7 {
      counter-reset: list-8 list-9;
    }

.ql-editor ol li.ql-indent-8 {
      counter-increment: list-8;
    }

.ql-editor ol li.ql-indent-8:before {
        content: counter(list-8, lower-roman) '. ';
      }

.ql-editor ol li.ql-indent-8 {
      counter-reset: list-9;
    }

.ql-editor ol li.ql-indent-9 {
      counter-increment: list-9;
    }

.ql-editor ol li.ql-indent-9:before {
        content: counter(list-9, decimal) '. ';
      }

.ql-editor .ql-indent-1:not(.ql-direction-rtl) {
    padding-left: 3em;
  }

.ql-editor li.ql-indent-1:not(.ql-direction-rtl) {
    padding-left: 4.5em;
  }

.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right {
    padding-right: 3em;
  }

.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right {
    padding-right: 4.5em;
  }

.ql-editor .ql-indent-2:not(.ql-direction-rtl) {
    padding-left: 6em;
  }

.ql-editor li.ql-indent-2:not(.ql-direction-rtl) {
    padding-left: 7.5em;
  }

.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right {
    padding-right: 6em;
  }

.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right {
    padding-right: 7.5em;
  }

.ql-editor .ql-indent-3:not(.ql-direction-rtl) {
    padding-left: 9em;
  }

.ql-editor li.ql-indent-3:not(.ql-direction-rtl) {
    padding-left: 10.5em;
  }

.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right {
    padding-right: 9em;
  }

.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right {
    padding-right: 10.5em;
  }

.ql-editor .ql-indent-4:not(.ql-direction-rtl) {
    padding-left: 12em;
  }

.ql-editor li.ql-indent-4:not(.ql-direction-rtl) {
    padding-left: 13.5em;
  }

.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right {
    padding-right: 12em;
  }

.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right {
    padding-right: 13.5em;
  }

.ql-editor .ql-indent-5:not(.ql-direction-rtl) {
    padding-left: 15em;
  }

.ql-editor li.ql-indent-5:not(.ql-direction-rtl) {
    padding-left: 16.5em;
  }

.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right {
    padding-right: 15em;
  }

.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right {
    padding-right: 16.5em;
  }

.ql-editor .ql-indent-6:not(.ql-direction-rtl) {
    padding-left: 18em;
  }

.ql-editor li.ql-indent-6:not(.ql-direction-rtl) {
    padding-left: 19.5em;
  }

.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right {
    padding-right: 18em;
  }

.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right {
    padding-right: 19.5em;
  }

.ql-editor .ql-indent-7:not(.ql-direction-rtl) {
    padding-left: 21em;
  }

.ql-editor li.ql-indent-7:not(.ql-direction-rtl) {
    padding-left: 22.5em;
  }

.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right {
    padding-right: 21em;
  }

.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right {
    padding-right: 22.5em;
  }

.ql-editor .ql-indent-8:not(.ql-direction-rtl) {
    padding-left: 24em;
  }

.ql-editor li.ql-indent-8:not(.ql-direction-rtl) {
    padding-left: 25.5em;
  }

.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right {
    padding-right: 24em;
  }

.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right {
    padding-right: 25.5em;
  }

.ql-editor .ql-indent-9:not(.ql-direction-rtl) {
    padding-left: 27em;
  }

.ql-editor li.ql-indent-9:not(.ql-direction-rtl) {
    padding-left: 28.5em;
  }

.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right {
    padding-right: 27em;
  }

.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right {
    padding-right: 28.5em;
  }

.ql-editor .ql-video {
    display: block;
    max-width: 100%;
  }

.ql-editor .ql-video.ql-align-center {
      margin: 0 auto;
    }

.ql-editor .ql-video.ql-align-right {
      margin: 0 0 0 auto;
    }

.ql-editor .ql-bg-black   { background-color: var(--bg-quill-black); }

.ql-editor .ql-bg-red     { background-color: var(--bg-quill-red); }

.ql-editor .ql-bg-orange  { background-color: var(--bg-quill-orange); }

.ql-editor .ql-bg-yellow  { background-color: var(--bg-quill-yellow); }

.ql-editor .ql-bg-green   { background-color: var(--bg-quill-green); }

.ql-editor .ql-bg-blue    { background-color: var(--bg-quill-blue); }

.ql-editor .ql-bg-purple  { background-color: var(--bg-quill-purple); }

.ql-editor .ql-color-white  { color: var(--text-quill-white); }

.ql-editor .ql-color-red    { color: var(--text-quill-red); }

.ql-editor .ql-color-orange { color: var(--text-quill-orange); }

.ql-editor .ql-color-yellow { color: var(--text-quill-yellow); }

.ql-editor .ql-color-green  { color: var(--text-quill-green); }

.ql-editor .ql-color-blue   { color: var(--text-quill-blue); }

.ql-editor .ql-color-purple { color: var(--text-quill-purple); }

.ql-editor .ql-font-serif {
    font-family: Georgia, Times New Roman, serif;
  }

.ql-editor .ql-font-monospace {
    font-family: Monaco, Courier New, monospace;
  }

.ql-editor .ql-size-small {
  font-size: 0.8125rem;
  line-height: 1.5rem;
    /*/font-size: 0.75em;*/
}

.ql-editor .ql-size-large {
  font-size: 1.125rem;
  line-height: 2rem;
    /*font-size: 1.5em;*/
}

.ql-editor .ql-size-huge {
  font-size: 1.5rem;
  line-height: 2rem;
  letter-spacing: -0.01em;
    /*font-size: 2.5em;*/
}

.ql-editor .ql-direction-rtl {
    direction: rtl;
    text-align: inherit;
  }

.ql-editor .ql-align-center {
    text-align: center;
  }

.ql-editor .ql-align-justify {
    text-align: justify;
  }

.ql-editor .ql-align-right {
    text-align: right;
  }

.ql-editor.ql-blank::before {
    content: attr(data-placeholder);
    font-style: italic;
    pointer-events: none;
    position: absolute;
    left: 15px;
    right: 15px;
    color: var(--text-quill-placeholder);
  }

.ql-snow.ql-toolbar:after,
.ql-snow .ql-toolbar:after {
  content: '';
  display: table;
  clear: both;
}

.ql-snow.ql-toolbar button,
.ql-snow .ql-toolbar button {
  background: none;
  border: none;
  cursor: pointer;
  display: inline-block;
  float: left;
  height: 24px;
  padding: 3px 5px;
  width: 28px;
  color: var(--text-quill-button);
}

.ql-snow.ql-toolbar button svg,
  .ql-snow .ql-toolbar button svg {
    float: left;
    height: 100%;
  }

.ql-snow.ql-toolbar button:active:hover,
  .ql-snow .ql-toolbar button:active:hover {
    outline: none;
  }

.ql-snow.ql-toolbar input.ql-image[type="file"],
.ql-snow .ql-toolbar input.ql-image[type="file"] {
  display: none;
}

.ql-snow.ql-toolbar button:hover,
.ql-snow .ql-toolbar button:hover,
.ql-snow.ql-toolbar button:focus,
.ql-snow .ql-toolbar button:focus,
.ql-snow.ql-toolbar button.ql-active,
.ql-snow .ql-toolbar button.ql-active,
.ql-snow.ql-toolbar .ql-picker-label:hover,
.ql-snow .ql-toolbar .ql-picker-label:hover,
.ql-snow.ql-toolbar .ql-picker-label.ql-active,
.ql-snow .ql-toolbar .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker-item:hover,
.ql-snow .ql-toolbar .ql-picker-item:hover,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected {
  color: var(--text-quill-button-hover);
}

.ql-snow.ql-toolbar button:hover .ql-fill,
  .ql-snow .ql-toolbar button:hover .ql-fill,
  .ql-snow.ql-toolbar button:focus .ql-fill,
  .ql-snow .ql-toolbar button:focus .ql-fill,
  .ql-snow.ql-toolbar button.ql-active .ql-fill,
  .ql-snow .ql-toolbar button.ql-active .ql-fill,
  .ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,
  .ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,
  .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,
  .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,
  .ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,
  .ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,
  .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,
  .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,
  .ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,
  .ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,
  .ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,
  .ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,
  .ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,
  .ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,
  .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
  .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
  .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
  .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
  .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
  .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
  .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,
  .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill {
    fill: var(--fill-quill-hover);
  }

.ql-snow.ql-toolbar button:hover .ql-stroke,
  .ql-snow .ql-toolbar button:hover .ql-stroke,
  .ql-snow.ql-toolbar button:focus .ql-stroke,
  .ql-snow .ql-toolbar button:focus .ql-stroke,
  .ql-snow.ql-toolbar button.ql-active .ql-stroke,
  .ql-snow .ql-toolbar button.ql-active .ql-stroke,
  .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,
  .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,
  .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,
  .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,
  .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,
  .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,
  .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
  .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
  .ql-snow.ql-toolbar button:hover .ql-stroke-miter,
  .ql-snow .ql-toolbar button:hover .ql-stroke-miter,
  .ql-snow.ql-toolbar button:focus .ql-stroke-miter,
  .ql-snow .ql-toolbar button:focus .ql-stroke-miter,
  .ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,
  .ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,
  .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
  .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
  .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
  .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
  .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
  .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
  .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,
  .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter {
    stroke: var(--stroke-quill-hover);
  }

@media (pointer: coarse) {
  .ql-snow.ql-toolbar button:hover:not(.ql-active),
  .ql-snow .ql-toolbar button:hover:not(.ql-active) {
    color: var(--text-quill-button-touch-hover);
  }

    .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,
    .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,
    .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,
    .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill {
      fill: var(--fill-quill-touch-hover);
    }

    .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,
    .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,
    .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,
    .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter {
      stroke: var(--stroke-quill-touch-hover);
    }
}

.ql-snow {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.ql-snow * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

.ql-snow .ql-hidden {
    display: none;
  }

.ql-snow .ql-out-bottom,
  .ql-snow .ql-out-top {
    visibility: hidden;
  }

.ql-snow .ql-tooltip {
    position: absolute;
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
  }

.ql-snow .ql-tooltip a {
      color: var(--text-quill-link);
      cursor: pointer;
      text-decoration: none;
      line-height: 1.25rem;
      -webkit-transition: color 0.2s ease-in-out, -webkit-text-decoration 0.2s ease-in-out;
      transition: color 0.2s ease-in-out, -webkit-text-decoration 0.2s ease-in-out;
      transition: color 0.2s ease-in-out, text-decoration 0.2s ease-in-out;
      transition: color 0.2s ease-in-out, text-decoration 0.2s ease-in-out, -webkit-text-decoration 0.2s ease-in-out;
    }

.ql-snow .ql-tooltip a:hover {
        color: var(--text-quill-link-hover);
        text-decoration: underline;
        text-decoration-style: dashed;
      }

.ql-snow .ql-tooltip a:active {
        color: var(--text-quill-link-active);
      }

.ql-snow .ql-tooltip.ql-flip {
      -webkit-transform: translateY(-10px);
      -ms-transform: translateY(-10px);
      transform: translateY(-10px);
    }

.ql-snow .ql-formats {
    display: inline-block;
    vertical-align: middle;
  }

.ql-snow .ql-formats:after {
      clear: both;
      content: '';
      display: table;
    }

.ql-snow .ql-stroke {
    stroke: var(--stroke-quill-default);
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
  }

.ql-snow .ql-stroke-miter {
    stroke: var(--stroke-quill-default);
    fill: none;
    stroke-miterlimit: 10;
    stroke-width: 2;
  }

.ql-snow .ql-fill,
  .ql-snow .ql-stroke.ql-fill {
    fill: var(--fill-quill-default);
  }

.ql-snow .ql-empty {
    fill: none;
  }

.ql-snow .ql-even {
    fill-rule: evenodd;
  }

.ql-snow .ql-thin,
  .ql-snow .ql-stroke.ql-thin {
    stroke-width: 1;
  }

.ql-snow .ql-transparent {
    opacity: 0.4;
  }

.ql-snow .ql-direction svg:last-child {
    display: none;
  }

.ql-snow .ql-direction.ql-active svg:last-child {
    display: inline;
  }

.ql-snow .ql-direction.ql-active svg:first-child {
    display: none;
  }

.ql-snow .ql-editor h1 {
    font-size: 2em;
  }

.ql-snow .ql-editor h2 {
    font-size: 1.5em;
  }

.ql-snow .ql-editor h3 {
    font-size: 1.17em;
  }

.ql-snow .ql-editor h4 {
    font-size: 1em;
  }

.ql-snow .ql-editor h5 {
    font-size: 0.83em;
  }

.ql-snow .ql-editor h6 {
    font-size: 0.67em;
  }

.ql-snow .ql-editor a:hover {
  text-decoration-style: solid;
}

.ql-snow .ql-editor a {
    /*text-decoration: underline;*/
  }

.ql-snow .ql-editor blockquote {
    border-left: 4px solid #ccc;
    margin-bottom: 5px;
    margin-top: 5px;
    padding-left: 16px;
  }

.ql-snow .ql-editor code,
  .ql-snow .ql-editor pre {
  border-radius: 0.375rem;
    background-color: var(--bg-quill-code);
}

.ql-snow .ql-editor pre {
    white-space: pre-wrap;
    margin-bottom: 5px;
    margin-top: 5px;
    padding: 5px 10px;
  }

.ql-snow .ql-editor code {
    font-size: 85%;
    padding: 2px 4px;
  }

.ql-snow .ql-editor pre.ql-syntax {
    background-color: #23241f;
    color: #f8f8f2;
    overflow: visible;
  }

.ql-snow .ql-editor img {
    max-width: 100%;
  }

.ql-snow .ql-picker {
    color: #444;
    display: inline-block;
    float: left;
    font-size: 14px;
    font-weight: 500;
    height: 24px;
    position: relative;
    vertical-align: middle;
  }

.ql-snow .ql-picker-label {
    cursor: pointer;
    display: inline-block;
    height: 100%;
    padding-left: 8px;
    padding-right: 2px;
    position: relative;
    width: 100%;
  }

.ql-snow .ql-picker-label::before {
      display: inline-block;
      line-height: 22px;
    }

.ql-snow .ql-picker-options {
    background-color: #fff;
    display: none;
    min-width: 100%;
    padding: 4px 8px;
    position: absolute;
    white-space: nowrap;
  }

.ql-snow .ql-picker-options .ql-picker-item {
      cursor: pointer;
      display: block;
      padding-bottom: 5px;
      padding-top: 5px;
    }

.ql-snow .ql-picker.ql-expanded .ql-picker-label {
    color: #ccc;
    z-index: 2;
  }

.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
      fill: #ccc;
    }

.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
      stroke: #ccc;
    }

.ql-snow .ql-picker.ql-expanded .ql-picker-options {
    display: block;
    margin-top: -1px;
    top: 100%;
    z-index: 1;
  }

.ql-snow .ql-color-picker,
  .ql-snow .ql-icon-picker {
    width: 28px;
  }

.ql-snow .ql-color-picker .ql-picker-label,
    .ql-snow .ql-icon-picker .ql-picker-label {
      padding: 2px 4px;
    }

.ql-snow .ql-color-picker .ql-picker-label svg,
      .ql-snow .ql-icon-picker .ql-picker-label svg {
        right: 4px;
      }

.ql-snow .ql-icon-picker .ql-picker-options {
      padding: 4px 0px;
    }

.ql-snow .ql-icon-picker .ql-picker-item {
      height: 24px;
      width: 24px;
      padding: 2px 4px;
    }

.ql-snow .ql-color-picker .ql-picker-options {
      padding: 3px 5px;
      width: 152px;
    }

.ql-snow .ql-color-picker .ql-picker-item {
      border: 1px solid transparent;
      float: left;
      height: 16px;
      margin: 2px;
      padding: 0px;
      width: 16px;
    }

.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg {
    position: absolute;
    margin-top: -9px;
    right: 0;
    top: 50%;
    width: 18px;
  }

.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,
  .ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,
  .ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before,
  .ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,
  .ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,
  .ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before {
    content: attr(data-label);
  }

.ql-snow .ql-picker.ql-header {
    width: 98px;
  }

.ql-snow .ql-picker.ql-header .ql-picker-label::before,
    .ql-snow .ql-picker.ql-header .ql-picker-item::before {
      content: 'Normal';
    }

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,
    .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
      content: 'Heading 1';
    }

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
    .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
      content: 'Heading 2';
    }

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
    .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
      content: 'Heading 3';
    }

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
    .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
      content: 'Heading 4';
    }

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,
    .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
      content: 'Heading 5';
    }

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,
    .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
      content: 'Heading 6';
    }

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
      font-size: 2em;
    }

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
      font-size: 1.5em;
    }

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
      font-size: 1.17em;
    }

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
      font-size: 1em;
    }

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
      font-size: 0.83em;
    }

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
      font-size: 0.67em;
    }

.ql-snow .ql-picker.ql-font {
    width: 108px;
  }

.ql-snow .ql-picker.ql-font .ql-picker-label::before,
    .ql-snow .ql-picker.ql-font .ql-picker-item::before {
      content: 'Sans Serif';
    }

.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before,
    .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
      content: 'Serif';
    }

.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before,
    .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
      content: 'Monospace';
    }

.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
      font-family: Georgia, Times New Roman, serif;
    }

.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
      font-family: Monaco, Courier New, monospace;
    }

.ql-snow .ql-picker.ql-size {
    width: 98px;
  }

.ql-snow .ql-picker.ql-size .ql-picker-label::before,
    .ql-snow .ql-picker.ql-size .ql-picker-item::before {
      content: 'Normal';
    }

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before,
    .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
      content: 'Small';
    }

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before,
    .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
      content: 'Large';
    }

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before,
    .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
      content: 'Huge';
    }

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
      font-size: 10px;
    }

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
      font-size: 18px;
    }

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
      font-size: 32px;
    }

.ql-snow .ql-color-picker.ql-background .ql-picker-item {
    background-color: #fff;
  }

.ql-snow .ql-color-picker.ql-color .ql-picker-item {
    background-color: #000;
  }

.ql-toolbar.ql-snow {
  border-width: 0px;
  padding: 0.5rem;
  font-family: 'Inter', sans-serif;
  /*border: 1px solid #ccc;*/
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /*font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;*/
  /*padding: 8px;*/
}

.ql-toolbar.ql-snow .ql-formats {
    margin-right: 15px;
  }

.ql-toolbar.ql-snow .ql-picker-label {
    border: 1px solid transparent;
  }

.ql-toolbar.ql-snow .ql-picker-options {
    border: 1px solid transparent;
    -webkit-box-shadow: rgba(0,0,0,0.2) 0 2px 8px;
    box-shadow: rgba(0,0,0,0.2) 0 2px 8px;
  }

.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {
    border-color: #ccc;
  }

.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
    border-color: #ccc;
  }

.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,
  .ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover {
    border-color: #000;
  }

.ql-toolbar.ql-snow + .ql-container.ql-snow {
    border-top: 0px;
  }

.ql-snow .ql-tooltip {
  white-space: nowrap;
  border-radius: 0.375rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  background-color: var(--bg-quill-tooltip);
  color: var(--text-quill-tooltip);
  border: 1px solid var(--border-quill-tooltip);
}

.ql-snow .ql-tooltip::before {
    content: "Visit URL:";
    line-height: 26px;
    margin-right: 8px;
  }

.ql-snow .ql-tooltip input[type="text"] {
  border-radius: 0.375rem;
  border-width: 1px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 400;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ql-snow .ql-tooltip input[type="text"]::-webkit-input-placeholder {
  font-size: 0.75rem;
  line-height: 1rem;
}

.ql-snow .ql-tooltip input[type="text"]::-moz-placeholder {
  font-size: 0.75rem;
  line-height: 1rem;
}

.ql-snow .ql-tooltip input[type="text"]:-ms-input-placeholder {
  font-size: 0.75rem;
  line-height: 1rem;
}

.ql-snow .ql-tooltip input[type="text"]::-ms-input-placeholder {
  font-size: 0.75rem;
  line-height: 1rem;
}

.ql-snow .ql-tooltip input[type="text"]::placeholder {
  font-size: 0.75rem;
  line-height: 1rem;
}

.ql-snow .ql-tooltip input[type="text"]:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ql-snow .ql-tooltip input[type="text"] {
    background-color: var(--bg-quill-input);
    color: var(--text-quill-input);
    border-color: var(--border-quill-input);
    width: 200px;
    display: none;
  }

.ql-snow .ql-tooltip input[type="text"]:hover {
      border-color: var(--border-quill-input-hover);
    }

.ql-snow .ql-tooltip input[type="text"]:focus {
      border-color: var(--border-quill-input-focus);
    }

.ql-snow .ql-tooltip a.ql-preview {
    display: inline-block;
    max-width: 250px;
    overflow-x: hidden;
    text-overflow: ellipsis;
    vertical-align: top;
  }

.ql-snow .ql-tooltip a.ql-action::after {
    border-right: 1px solid #ccc;
    content: 'Edit';
    margin-left: 16px;
    padding-right: 8px;
  }

.ql-snow .ql-tooltip a.ql-remove::before {
    content: 'Remove';
    margin-left: 8px;
  }

.ql-snow .ql-tooltip a {
    line-height: 26px;
  }

.ql-snow .ql-tooltip.ql-editing a.ql-preview,
  .ql-snow .ql-tooltip.ql-editing a.ql-remove {
    display: none;
  }

.ql-snow .ql-tooltip.ql-editing input[type=text] {
    display: inline-block;
  }

.ql-snow .ql-tooltip.ql-editing a.ql-action::after {
    border-right: 0px;
    content: 'Save';
    padding-right: 0px;
  }

.ql-snow .ql-tooltip[data-mode=link]::before {
    content: "Enter link:";
  }

.ql-snow .ql-tooltip[data-mode=formula]::before {
    content: "Enter formula:";
  }

.ql-snow .ql-tooltip[data-mode=video]::before { 
    content: "Enter video:";
  }

.ql-snow a {
  color: var(--text-quill-link);
}

.ql-snow a:hover {
    color: var(--text-quill-link-hover);
  }

.ql-container.ql-snow {
  border: 1px solid var(--border-quill-container);
}

.dropzone {
  border-radius: 0.375rem;
  border-width: 2px;
  border-style: dashed;
  background-color: transparent;
  padding: 1rem;
  border-color: var(--border-dropzone);
  min-height: 150px;
}

.dz-message {
  margin-top: 1rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-dropzone);
}

.dropzone .dz-preview {
  position: relative;
  margin-left: 0.25rem;
  margin-right: 0.25rem;
  margin-bottom: 2.5rem;
  margin-top: 0.5rem;
  display: inline-block;
  height: 2.5rem;
  vertical-align: top;
}

.dropzone .dz-preview.dz-image-preview {
    background-color: var(--alpha-0);
  }

.dropzone .dz-preview .dz-image {
  border-radius: 0.375rem;
    overflow: hidden;
    width: 120px;
    height: 120px;
    position: relative;
    display: block;
    z-index: 10;
}

.dropzone .dz-preview .dz-details .dz-size {
  font-size: 1rem;
  line-height: 1.5rem;
    margin-bottom: 1em;
}

.dropzone .dz-preview .dz-progress {
    background-color: var(--bg-dropzone);
    opacity: 1;
    z-index: 1000;
    pointer-events: none;
    position: absolute;
    height: 8px;
    left: 50%;
    top: 95%;
    margin-top: -8px;
    width: 80px;
    margin-left: -40px;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    border-radius: 8px;
    overflow: hidden;
}

.dropzone .dz-preview .dz-remove {
  display: block;
  cursor: pointer;
  border-width: 0px;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
}

.wizard-card--trait .dropzone .dz-preview .dz-remove {
  line-height: 1.3;
}

.dropzone .dz-preview .dz-remove {
    color: var(--text-danger);
  }

/* === Flatpickr Calendar Container === */

.flatpickr-calendar {
  border-radius: 0.375rem;
  border-width: 1px;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  background-color: var(--bg-flatpickr-calendar);
  border-color: var(--border-flatpickr-calendar);
  opacity: 0;
  display: none;
  visibility: hidden;
  text-align: center;
  position: absolute;
  width: 307.875px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  direction: ltr;
  padding: 0;
}

/* === Header Navigation Arrows === */

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  position: absolute;
  top: 0.25rem;
  z-index: 30;
  height: 34px;
  cursor: pointer;
  fill: currentColor;
  padding: 0.5rem;
  color: var(--text-flatpickr-months);
}

.flatpickr-months .flatpickr-prev-month:hover,
  .flatpickr-months .flatpickr-next-month:hover {
    color: var(--text-flatpickr-months_hover);
  }

/* === Month Selector === */

.flatpickr-months .flatpickr-month {
  background-color: var(--alpha-0);
  color: var(--text-flatpickr-primary);
}

/* === Current Month Display === */

.flatpickr-current-month {
  position: absolute;
  left: 12.5%;
  width: 75%;
  padding-top: 7.5px;
  text-align: center;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 300;
}

.flatpickr-monthDropdown-months,
  .flatpickr-current-month input.cur-year {
    background-color: var(--bg-flatpickr-primary);
    color: var(--text-flatpickr-primary);
    border: none;
    padding-left: 0.5ch;
    font-weight: 300;
  }

/* === Weekday Labels === */

.flatpickr-weekdays span.flatpickr-weekday {
  font-size: 0.625rem;
  line-height: 0.875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-flatpickr-primary);
  background: transparent;
}

/* === Day Cell === */

.flatpickr-day {
  border-radius: 9999px;
  text-align: center;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: var(--text-flatpickr);
  background-color: var(--bg-flatpickr);
  border: 1px solid transparent;
  width: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 37px;
  cursor: pointer;
}

/* === Day Hover, Focus, InRange === */

.flatpickr-day:hover,
  .flatpickr-day:focus,
  .flatpickr-day.inRange {
    background-color: var(--bg-flatpickr-hover);
    border-color: var(--border-flatpickr-hover);
    color: var(--text-flatpickr-hover);
  }

/* === Day Disabled === */

.flatpickr-day.flatpickr-disabled,
  .flatpickr-day.prevMonthDay,
  .flatpickr-day.nextMonthDay {
    color: var(--text-flatpickr-disabled);
    background-color: transparent;
    border-color: transparent;
    cursor: default;
  }

/* === Day Selected === */

.flatpickr-day.selected,
  .flatpickr-day.startRange,
  .flatpickr-day.endRange {
    background-color: var(--bg-flatpickr-selected);
    border-color: var(--border-flatpickr-selected);
    color: var(--text-flatpickr-selected);
  }

.flatpickr-day.selected:hover,
    .flatpickr-day.startRange:hover,
    .flatpickr-day.endRange:hover {
      background-color: var(--bg-flatpickr-selected_hover);
      border-color: var(--border-flatpickr-selected_hover);
      color: var(--text-flatpickr-selected_hover);
    }

/* === Time Picker === */

.flatpickr-calendar.hasTime .flatpickr-time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top-width: 1px;
}

.collapse.show.flatpickr-calendar.hasTime .flatpickr-time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 420px) {
  .ach-card > .flatpickr-calendar.hasTime .flatpickr-time {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.flatpickr-calendar.hasTime .flatpickr-time {
  border-color: var(--border-flatpickr-time);
  height: 40px;
}

.flatpickr-time input,
.flatpickr-time .flatpickr-am-pm {
  background-color: transparent;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-flatpickr-time);
}

.flatpickr-time input:hover,
  .flatpickr-time input:focus,
  .flatpickr-time .flatpickr-am-pm:hover {
    background-color: var(--bg-flatpickr-time_hover);
  }

.select2-container {
  position: relative;
  margin: 0px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: middle;
}

.select2-container .select2-selection--single {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  min-height: 26px;
  width: 100%;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border-radius: 0.25rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1rem;
    border: 1px solid var(--border-select);
    background-color: var(--bg-select);
    color: var(--text-select);
}

.select2-selection__rendered {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-left: 0.25rem;
  padding-right: 0.5rem;
  color: var(--text-select-rendered);
}

.select2-selection__placeholder {
  color: var(--text-placeholder);
}

.select2-selection--multiple {
  display: block;
  width: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  overflow-y: auto;
  border-radius: 0.25rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1rem;
  --scrollbar-track: initial;
  --scrollbar-thumb: initial;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
  overflow: overlay;
}

.select2-selection--multiple.overflow-x-hidden {
  overflow-x: hidden;
}

.select2-selection--multiple.overflow-y-hidden {
  overflow-y: hidden;
}

.select2-selection--multiple::-webkit-scrollbar-track {
  background-color: var(--scrollbar-track);
}

.select2-selection--multiple::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb);
}

.select2-selection--multiple {
  scrollbar-width: thin;
}

.select2-selection--multiple::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.select2-selection--multiple {
  border: 1px solid var(--border-multiselect);
  background-color: var(--bg-multiselect);
  color: var(--text-multiselect);
}

.select2-selection--multiple .select2-selection__choice {
  float: left;
  margin-right: 0.25rem;
  border-radius: 0.375rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  font-weight: 500;
    background-color: var(--bg-multiselect-choice);
    color: var(--text-multiselect-choice);
    border: 1px solid var(--border-multiselect-choice);
}

.select2-selection__choice__remove {
  margin-right: 0.25rem;
  cursor: pointer;
  font-weight: 700;
  color: var(--text-remove);
  opacity: 0.8;
}

.select2-selection__choice__remove:hover {
    color: var(--text-remove-hover);
    opacity: 1;
  }

.select2-dropdown {
  position: absolute;
  display: block;
  width: 100%;
  border-radius: 0.375rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.75rem;
  font-size: 0.8125rem;
  line-height: 1rem;
  background-color: var(--bg-dropdown);
  border: 1px solid var(--border-dropdown);
  color: var(--text-dropdown);
  z-index: 1051 !important;
}

.select2-results__option {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  background-color: var(--bg-option);
  color: var(--text-option);
}

.select2-results__option[aria-selected="true"] {
    background-color: var(--bg-option-selected);
    color: var(--text-option-selected);
  }

.select2-results__option--highlighted[aria-selected] {
  background-color: var(--bg-option-highlighted);
  color: var(--text-option-highlighted);
}

.select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto;
}

.select2-search__field {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  color: var(--text-search-field);
  background-color: var(--bg-search-field);
  border: 1px solid var(--border-search-field);
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}

.select2-search--inline .select2-search__field {
  border: none;
  background-color: transparent;
}

.select2-close-mask {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 99;
  height: 100%;
  width: 100%;
  opacity: 0;
  background-color: var(--bg-mask);
}

.select2-hidden-accessible {
  position: absolute;
  height: 1px;
  width: 1px;
  overflow: hidden;
  white-space: nowrap;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
}

.select2-container--open.select2-container--above .select2-selection--single,
.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}

.select2-container--open.select2-container--below .select2-selection--single,
.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}

/*Tailwind Utilities*/

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.pointer-events-none {
  pointer-events: none;
}

.pointer-events-auto {
  pointer-events: auto;
}

.visible {
  visibility: visible;
}

.collapse {
  visibility: collapse;
}

.static {
  position: static;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.inset-0 {
  inset: 0px;
}

.inset-y-0 {
  top: 0px;
  bottom: 0px;
}

.bottom-0 {
  bottom: 0px;
}

.bottom-1 {
  bottom: 0.25rem;
}

.bottom-2 {
  bottom: 0.5rem;
}

.bottom-3 {
  bottom: 0.75rem;
}

.bottom-4 {
  bottom: 1rem;
}

.bottom-5 {
  bottom: 1.25rem;
}

.bottom-\[15px\] {
  bottom: 15px;
}

.left-0 {
  left: 0px;
}

.left-1 {
  left: 0.25rem;
}

.left-2 {
  left: 0.5rem;
}

.left-2\.5 {
  left: 0.625rem;
}

.left-3 {
  left: 0.75rem;
}

.left-4 {
  left: 1rem;
}

.left-\[20px\] {
  left: 20px;
}

.right-0 {
  right: 0px;
}

.right-1 {
  right: 0.25rem;
}

.right-2 {
  right: 0.5rem;
}

.right-2\.5 {
  right: 0.625rem;
}

.right-3 {
  right: 0.75rem;
}

.right-4 {
  right: 1rem;
}

.top-0 {
  top: 0px;
}

.top-1 {
  top: 0.25rem;
}

.top-1\.5 {
  top: 0.375rem;
}

.top-1\/2 {
  top: 50%;
}

.top-2 {
  top: 0.5rem;
}

.top-3 {
  top: 0.75rem;
}

.top-4 {
  top: 1rem;
}

.top-5 {
  top: 1.25rem;
}

.top-8 {
  top: 2rem;
}

.top-\[7px\] {
  top: 7px;
}

.-z-\[9999\] {
  z-index: -9999;
}

.-z-\[999\] {
  z-index: -999;
}

.z-10 {
  z-index: 10;
}

.z-40 {
  z-index: 40;
}

.z-50 {
  z-index: 50;
}

.z-\[1500\] {
  z-index: 1500;
}

.z-\[999\] {
  z-index: 999;
}

.col-span-1 {
  grid-column: span 1 / span 1;
}

.col-span-10 {
  grid-column: span 10 / span 10;
}

.col-span-12 {
  grid-column: span 12 / span 12;
}

.col-span-2 {
  grid-column: span 2 / span 2;
}

.col-span-3 {
  grid-column: span 3 / span 3;
}

.col-span-4 {
  grid-column: span 4 / span 4;
}

.col-span-5 {
  grid-column: span 5 / span 5;
}

.col-span-6 {
  grid-column: span 6 / span 6;
}

.col-span-7 {
  grid-column: span 7 / span 7;
}

.col-span-8 {
  grid-column: span 8 / span 8;
}

.col-span-9 {
  grid-column: span 9 / span 9;
}

.col-span-full {
  grid-column: 1 / -1;
}

.col-start-2 {
  grid-column-start: 2;
}

.m-0 {
  margin: 0px;
}

.m-auto {
  margin: auto;
}

.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-0 {
  margin-top: 0px;
  margin-bottom: 0px;
}

.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.my-6 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.-mb-2 {
  margin-bottom: -0.5rem;
}

.-mb-\[1px\] {
  margin-bottom: -1px;
}

.-mr-2 {
  margin-right: -0.5rem;
}

.-mt-1 {
  margin-top: -0.25rem;
}

.mb-0 {
  margin-bottom: 0px;
}

.mb-0\.5 {
  margin-bottom: 0.125rem;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-1\.5 {
  margin-bottom: 0.375rem;
}

.mb-10 {
  margin-bottom: 2.5rem;
}

.mb-12 {
  margin-bottom: 3rem;
}

.mb-16 {
  margin-bottom: 4rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-3 {
  margin-bottom: 0.75rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.mb-40 {
  margin-bottom: 10rem;
}

.mb-5 {
  margin-bottom: 1.25rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.ml-0\.5 {
  margin-left: 0.125rem;
}

.ml-1 {
  margin-left: 0.25rem;
}

.ml-16 {
  margin-left: 4rem;
}

.ml-2 {
  margin-left: 0.5rem;
}

.ml-24 {
  margin-left: 6rem;
}

.ml-4 {
  margin-left: 1rem;
}

.ml-6 {
  margin-left: 1.5rem;
}

.ml-auto {
  margin-left: auto;
}

.mr-0\.5 {
  margin-right: 0.125rem;
}

.mr-1 {
  margin-right: 0.25rem;
}

.mr-1\.5 {
  margin-right: 0.375rem;
}

.mr-2 {
  margin-right: 0.5rem;
}

.mt-0\.5 {
  margin-top: 0.125rem;
}

.mt-1 {
  margin-top: 0.25rem;
}

.mt-1\.5 {
  margin-top: 0.375rem;
}

.mt-10 {
  margin-top: 2.5rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-3 {
  margin-top: 0.75rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-40 {
  margin-top: 10rem;
}

.mt-5 {
  margin-top: 1.25rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.mt-8 {
  margin-top: 2rem;
}

.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.inline-flex {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.\!table {
  display: table !important;
}

.table {
  display: table;
}

.\!grid {
  display: grid !important;
}

.grid {
  display: grid;
}

.contents {
  display: contents;
}

.hidden {
  display: none;
}

.size-1\.5 {
  width: 0.375rem;
  height: 0.375rem;
}

.\!h-\[20px\] {
  height: 20px !important;
}

.h-10 {
  height: 2.5rem;
}

.h-11 {
  height: 2.75rem;
}

.h-12 {
  height: 3rem;
}

.h-14 {
  height: 3.5rem;
}

.h-16 {
  height: 4rem;
}

.h-2 {
  height: 0.5rem;
}

.h-20 {
  height: 5rem;
}

.h-28 {
  height: 7rem;
}

.h-3 {
  height: 0.75rem;
}

.h-32 {
  height: 8rem;
}

.h-4 {
  height: 1rem;
}

.h-40 {
  height: 10rem;
}

.h-44 {
  height: 11rem;
}

.h-48 {
  height: 12rem;
}

.h-5 {
  height: 1.25rem;
}

.h-6 {
  height: 1.5rem;
}

.h-7 {
  height: 1.75rem;
}

.h-72 {
  height: 18rem;
}

.h-8 {
  height: 2rem;
}

.h-9 {
  height: 2.25rem;
}

.h-\[150px\] {
  height: 150px;
}

.h-\[172px\] {
  height: 172px;
}

.h-\[18px\] {
  height: 18px;
}

.h-\[200px\] {
  height: 200px;
}

.h-\[250px\] {
  height: 250px;
}

.h-\[32px\] {
  height: 32px;
}

.h-\[48px\] {
  height: 48px;
}

.h-\[54px\] {
  height: 54px;
}

.h-\[60px\] {
  height: 60px;
}

.h-full {
  height: 100%;
}

.h-screen {
  height: 100vh;
}

.max-h-\[400px\] {
  max-height: 400px;
}

.min-h-0 {
  min-height: 0px;
}

.min-h-\[140px\] {
  min-height: 140px;
}

.min-h-\[30px\] {
  min-height: 30px;
}

.min-h-\[36px\] {
  min-height: 36px;
}

.min-h-screen {
  min-height: 100vh;
}

.\!w-\[20px\] {
  width: 20px !important;
}

.w-1\/2 {
  width: 50%;
}

.w-10 {
  width: 2.5rem;
}

.w-11 {
  width: 2.75rem;
}

.w-12 {
  width: 3rem;
}

.w-14 {
  width: 3.5rem;
}

.w-16 {
  width: 4rem;
}

.w-20 {
  width: 5rem;
}

.w-24 {
  width: 6rem;
}

.w-28 {
  width: 7rem;
}

.w-3\/4 {
  width: 75%;
}

.w-4 {
  width: 1rem;
}

.w-4\/6 {
  width: 66.666667%;
}

.w-40 {
  width: 10rem;
}

.w-48 {
  width: 12rem;
}

.w-5 {
  width: 1.25rem;
}

.w-5\/6 {
  width: 83.333333%;
}

.w-6 {
  width: 1.5rem;
}

.w-64 {
  width: 16rem;
}

.w-7 {
  width: 1.75rem;
}

.w-8 {
  width: 2rem;
}

.w-80 {
  width: 20rem;
}

.w-9 {
  width: 2.25rem;
}

.w-96 {
  width: 24rem;
}

.w-\[0\.5\%\] {
  width: 0.5%;
}

.w-\[100px\] {
  width: 100px;
}

.w-\[15\%\] {
  width: 15%;
}

.w-\[150px\] {
  width: 150px;
}

.w-\[172px\] {
  width: 172px;
}

.w-\[20\%\] {
  width: 20%;
}

.w-\[25\%\] {
  width: 25%;
}

.w-\[250px\] {
  width: 250px;
}

.w-\[30\%\] {
  width: 30%;
}

.w-\[32px\] {
  width: 32px;
}

.w-\[35\%\] {
  width: 35%;
}

.w-\[4\.5rem\] {
  width: 4.5rem;
}

.w-\[40\%\] {
  width: 40%;
}

.w-\[40px\] {
  width: 40px;
}

.w-\[40vw\] {
  width: 40vw;
}

.w-\[480px\] {
  width: 480px;
}

.w-\[500px\] {
  width: 500px;
}

.w-\[50px\] {
  width: 50px;
}

.w-\[54px\] {
  width: 54px;
}

.w-\[60px\] {
  width: 60px;
}

.w-\[8\%\] {
  width: 8%;
}

.w-\[80px\] {
  width: 80px;
}

.w-\[90px\] {
  width: 90px;
}

.w-auto {
  width: auto;
}

.w-full {
  width: 100%;
}

.w-px {
  width: 1px;
}

.w-screen {
  width: 100vw;
}

.\!min-w-\[20px\] {
  min-width: 20px !important;
}

.min-w-0 {
  min-width: 0px;
}

.min-w-\[100px\] {
  min-width: 100px;
}

.min-w-\[120px\] {
  min-width: 120px;
}

.max-w-2xl {
  max-width: 42rem;
}

.max-w-3xl {
  max-width: 48rem;
}

.max-w-4xl {
  max-width: 56rem;
}

.max-w-5xl {
  max-width: 64rem;
}

.max-w-7xl {
  max-width: 80rem;
}

.max-w-\[120px\] {
  max-width: 120px;
}

.max-w-\[250px\] {
  max-width: 250px;
}

.max-w-\[720px\] {
  max-width: 720px;
}

.max-w-\[800px\] {
  max-width: 800px;
}

.max-w-lg {
  max-width: 32rem;
}

.max-w-md {
  max-width: 28rem;
}

.max-w-prose {
  max-width: 65ch;
}

.max-w-sm {
  max-width: 24rem;
}

.max-w-xl {
  max-width: 36rem;
}

.max-w-xs {
  max-width: 20rem;
}

.flex-1 {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
}

.flex-none {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
}

.flex-shrink {
  -ms-flex-negative: 1;
  flex-shrink: 1;
}

.flex-shrink-0 {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.shrink-0 {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.flex-grow {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.border-collapse {
  border-collapse: collapse;
}

.-translate-x-4 {
  --tw-translate-x: -1rem;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform {
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.cursor-pointer {
  cursor: pointer;
}

.select-none {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.select-all {
  -webkit-user-select: all;
  -moz-user-select: all;
  user-select: all;
}

.resize {
  resize: both;
}

.snap-x {
  -ms-scroll-snap-type: x var(--tw-scroll-snap-strictness);
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}

.snap-mandatory {
  --tw-scroll-snap-strictness: mandatory;
}

.snap-start {
  scroll-snap-align: start;
}

.scroll-mt-16 {
  scroll-margin-top: 4rem;
}

.scroll-mt-24 {
  scroll-margin-top: 6rem;
}

.scroll-mt-4 {
  scroll-margin-top: 1rem;
}

.list-inside {
  list-style-position: inside;
}

.list-disc {
  list-style-type: disc;
}

.list-none {
  list-style-type: none;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.\!flex-col {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
  -ms-flex-direction: column !important;
  flex-direction: column !important;
}

.flex-col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.flex-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.items-start {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.items-end {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.items-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.items-baseline {
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.\!items-stretch {
  -webkit-box-align: stretch !important;
  -ms-flex-align: stretch !important;
  align-items: stretch !important;
}

.justify-start {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.justify-end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.justify-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.justify-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.justify-around {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.\!gap-0 {
  gap: 0px !important;
}

.gap-0 {
  gap: 0px;
}

.gap-0\.5 {
  gap: 0.125rem;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-1\.5 {
  gap: 0.375rem;
}

.gap-10 {
  gap: 2.5rem;
}

.gap-16 {
  gap: 4rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-2\.5 {
  gap: 0.625rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-5 {
  gap: 1.25rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-8 {
  gap: 2rem;
}

.gap-x-1 {
  -webkit-column-gap: 0.25rem;
  -moz-column-gap: 0.25rem;
  column-gap: 0.25rem;
}

.gap-x-16 {
  -webkit-column-gap: 4rem;
  -moz-column-gap: 4rem;
  column-gap: 4rem;
}

.gap-x-2 {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
}

.gap-x-4 {
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
}

.gap-x-6 {
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
}

.gap-y-1 {
  row-gap: 0.25rem;
}

.space-x-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-y-0 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}

.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}

.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.space-y-10 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
}

.space-y-12 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3rem * var(--tw-space-y-reverse));
}

.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}

.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}

.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}

.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}

.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}

.self-start {
  -ms-flex-item-align: start;
  align-self: flex-start;
}

.self-end {
  -ms-flex-item-align: end;
  align-self: flex-end;
}

.self-center {
  -ms-flex-item-align: center;
  align-self: center;
}

.overflow-auto {
  overflow: auto;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-x-auto {
  overflow-x: auto;
}

.overflow-y-auto {
  overflow-y: auto;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.text-wrap {
  text-wrap: wrap;
}

.text-nowrap {
  text-wrap: nowrap;
}

.rounded {
  border-radius: 0.25rem;
}

.rounded-2xl {
  border-radius: 1rem;
}

.rounded-3xl {
  border-radius: 1.5rem;
}

.rounded-full {
  border-radius: 9999px;
}

.rounded-lg {
  border-radius: 0.5rem;
}

.rounded-md {
  border-radius: 0.375rem;
}

.rounded-none {
  border-radius: 0px;
}

.rounded-xl {
  border-radius: 0.75rem;
}

.rounded-b-lg {
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.rounded-l {
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.rounded-l-full {
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
}

.rounded-l-lg {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.rounded-l-none {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

.rounded-r {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

.rounded-t-lg {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}

.\!rounded-bl-md {
  border-bottom-left-radius: 0.375rem !important;
}

.\!rounded-br-md {
  border-bottom-right-radius: 0.375rem !important;
}

.\!rounded-tl-md {
  border-top-left-radius: 0.375rem !important;
}

.\!rounded-tr-md {
  border-top-right-radius: 0.375rem !important;
}

.border {
  border-width: 1px;
}

.border-0 {
  border-width: 0px;
}

.border-2 {
  border-width: 2px;
}

.border-x {
  border-left-width: 1px;
  border-right-width: 1px;
}

.\!border-b {
  border-bottom-width: 1px !important;
}

.border-b {
  border-bottom-width: 1px;
}

.border-b-2 {
  border-bottom-width: 2px;
}

.border-l {
  border-left-width: 1px;
}

.border-l-2 {
  border-left-width: 2px;
}

.border-r {
  border-right-width: 1px;
}

.border-r-0 {
  border-right-width: 0px;
}

.border-t {
  border-top-width: 1px;
}

.border-dashed {
  border-style: dashed;
}

.border-none {
  border-style: none;
}

.border-amber-200 {
  --tw-border-opacity: 1;
  border-color: rgb(255 230 158 / var(--tw-border-opacity, 1));
}

.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(222 225 230 / var(--tw-border-opacity, 1));
}

.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(195 199 208 / var(--tw-border-opacity, 1));
}

.border-gray-900 {
  --tw-border-opacity: 1;
  border-color: rgb(35 36 44 / var(--tw-border-opacity, 1));
}

.border-green-200 {
  --tw-border-opacity: 1;
  border-color: rgb(187 255 208 / var(--tw-border-opacity, 1));
}

.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(255 200 194 / var(--tw-border-opacity, 1));
}

.border-transparent {
  border-color: transparent;
}

.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}

.bg-amber-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 253 245 / var(--tw-bg-opacity, 1));
}

.bg-amber-500\/10 {
  background-color: rgb(245 163 0 / 0.1);
}

.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 234 255 / var(--tw-bg-opacity, 1));
}

.bg-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(47 111 228 / var(--tw-bg-opacity, 1));
}

.bg-blue-500\/10 {
  background-color: rgb(47 111 228 / 0.1);
}

.bg-gray {
  --tw-bg-opacity: 1;
  background-color: rgb(92 95 107 / var(--tw-bg-opacity, 1));
}

.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 243 245 / var(--tw-bg-opacity, 1));
}

.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(222 225 230 / var(--tw-bg-opacity, 1));
}

.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.bg-gray-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(62 64 74 / var(--tw-bg-opacity, 1));
}

.bg-gray-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(47 48 56 / var(--tw-bg-opacity, 1));
}

.bg-gray-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(22 22 28 / var(--tw-bg-opacity, 1));
}

.bg-gray-950\/90 {
  background-color: rgb(22 22 28 / 0.9);
}

.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(225 255 232 / var(--tw-bg-opacity, 1));
}

.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 255 246 / var(--tw-bg-opacity, 1));
}

.bg-green-500\/10 {
  background-color: rgb(63 191 87 / 0.1);
}

.bg-indigo-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(70 86 233 / var(--tw-bg-opacity, 1));
}

.bg-neutral-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(33 33 33 / var(--tw-bg-opacity, 1));
}

.bg-orange-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(231 138 50 / var(--tw-bg-opacity, 1));
}

.bg-purple-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 226 251 / var(--tw-bg-opacity, 1));
}

.bg-purple-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(131 55 226 / var(--tw-bg-opacity, 1));
}

.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 245 244 / var(--tw-bg-opacity, 1));
}

.bg-teal-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(41 158 155 / var(--tw-bg-opacity, 1));
}

.bg-transparent {
  background-color: transparent;
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}

.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

.from-gray-600 {
  --tw-gradient-from: #4a4d58 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(74 77 88 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-indigo-200\/40 {
  --tw-gradient-from: rgb(176 189 252 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(176 189 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.via-teal-200\/30 {
  --tw-gradient-to: rgb(162 240 240 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(162 240 240 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.to-gray-700 {
  --tw-gradient-to: #3e404a var(--tw-gradient-to-position);
}

.to-pink-200\/30 {
  --tw-gradient-to: rgb(249 189 218 / 0.3) var(--tw-gradient-to-position);
}

.bg-cover {
  background-size: cover;
}

.bg-center {
  background-position: center;
}

.object-cover {
  -o-object-fit: cover;
  object-fit: cover;
}

.\!p-0 {
  padding: 0px !important;
}

.p-0 {
  padding: 0px;
}

.p-1 {
  padding: 0.25rem;
}

.p-16 {
  padding: 4rem;
}

.p-2 {
  padding: 0.5rem;
}

.p-2\.5 {
  padding: 0.625rem;
}

.p-3 {
  padding: 0.75rem;
}

.p-4 {
  padding: 1rem;
}

.p-5 {
  padding: 1.25rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-8 {
  padding: 2rem;
}

.p-\[2px\] {
  padding: 2px;
}

.\!px-0 {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

.\!px-2 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}

.px-16 {
  padding-left: 4rem;
  padding-right: 4rem;
}

.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.px-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.px-\[3px\] {
  padding-left: 3px;
  padding-right: 3px;
}

.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.py-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.\!pl-4 {
  padding-left: 1rem !important;
}

.\!pl-8 {
  padding-left: 2rem !important;
}

.\!pr-4 {
  padding-right: 1rem !important;
}

.pb-0 {
  padding-bottom: 0px;
}

.pb-1 {
  padding-bottom: 0.25rem;
}

.pb-16 {
  padding-bottom: 4rem;
}

.pb-2 {
  padding-bottom: 0.5rem;
}

.pb-3 {
  padding-bottom: 0.75rem;
}

.pb-32 {
  padding-bottom: 8rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pb-6 {
  padding-bottom: 1.5rem;
}

.pb-8 {
  padding-bottom: 2rem;
}

.pl-10 {
  padding-left: 2.5rem;
}

.pl-12 {
  padding-left: 3rem;
}

.pl-16 {
  padding-left: 4rem;
}

.pl-2 {
  padding-left: 0.5rem;
}

.pl-20 {
  padding-left: 5rem;
}

.pl-3 {
  padding-left: 0.75rem;
}

.pl-4 {
  padding-left: 1rem;
}

.pl-5 {
  padding-left: 1.25rem;
}

.pl-6 {
  padding-left: 1.5rem;
}

.pl-8 {
  padding-left: 2rem;
}

.pl-\[112px\] {
  padding-left: 112px;
}

.pl-\[140px\] {
  padding-left: 140px;
}

.pl-\[168px\] {
  padding-left: 168px;
}

.pl-\[196px\] {
  padding-left: 196px;
}

.pl-\[224px\] {
  padding-left: 224px;
}

.pl-\[252px\] {
  padding-left: 252px;
}

.pl-\[280px\] {
  padding-left: 280px;
}

.pl-\[28px\] {
  padding-left: 28px;
}

.pl-\[56px\] {
  padding-left: 56px;
}

.pl-\[84px\] {
  padding-left: 84px;
}

.pr-0\.5 {
  padding-right: 0.125rem;
}

.pr-1 {
  padding-right: 0.25rem;
}

.pr-10 {
  padding-right: 2.5rem;
}

.pr-16 {
  padding-right: 4rem;
}

.pr-2 {
  padding-right: 0.5rem;
}

.pr-3 {
  padding-right: 0.75rem;
}

.pr-4 {
  padding-right: 1rem;
}

.pr-7 {
  padding-right: 1.75rem;
}

.pt-0 {
  padding-top: 0px;
}

.pt-1 {
  padding-top: 0.25rem;
}

.pt-16 {
  padding-top: 4rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pt-2\.5 {
  padding-top: 0.625rem;
}

.pt-3 {
  padding-top: 0.75rem;
}

.pt-4 {
  padding-top: 1rem;
}

.pt-6 {
  padding-top: 1.5rem;
}

.pt-8 {
  padding-top: 2rem;
}

.pt-\[5px\] {
  padding-top: 5px;
}

.text-left {
  text-align: left;
}

.\!text-center {
  text-align: center !important;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.font-Inter {
  font-family: 'Inter', sans-serif;
}

.font-Manrope {
  font-family: 'Manrope', sans-serif;
}

.font-SpaceMono {
  font-family: 'Space Mono', monospace;
}

.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.\!text-\[2rem\] {
  font-size: 2rem !important;
}

.\!text-lg {
  font-size: 1.125rem !important;
  line-height: 2rem !important;
}

.\!text-xs {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
}

.\!text-xxs {
  font-size: 0.625rem !important;
  line-height: 0.875rem !important;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
  letter-spacing: -0.01em;
}

.text-2xs {
  font-size: 0.6875rem;
  line-height: 1rem;
}

.text-3xl {
  font-size: 1.75rem;
  line-height: 2.5rem;
  letter-spacing: -0.01em;
}

.text-4xl {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.015em;
}

.text-5xl {
  font-size: 2.5rem;
  line-height: 3.5rem;
  letter-spacing: -0.02em;
}

.text-6xl {
  font-size: 3rem;
  line-height: 4rem;
  letter-spacing: -0.02em;
}

.text-\[\.875rem\] {
  font-size: .875rem;
}

.text-\[8px\] {
  font-size: 8px;
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 2rem;
}

.text-md {
  font-size: 0.875rem;
  line-height: 1.5rem;
}

.text-sm {
  font-size: 0.8125rem;
  line-height: 1.5rem;
}

.text-tiny {
  font-size: 0.563rem;
  line-height: 1rem;
}

.text-xl {
  font-size: 1.25rem;
  line-height: 2rem;
}

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.text-xxs {
  font-size: 0.625rem;
  line-height: 0.875rem;
}

.\!font-light {
  font-weight: 300 !important;
}

.\!font-normal {
  font-weight: 400 !important;
}

.font-bold {
  font-weight: 700;
}

.font-light {
  font-weight: 300;
}

.font-medium {
  font-weight: 500;
}

.font-normal {
  font-weight: 400;
}

.font-semibold {
  font-weight: 600;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.italic {
  font-style: italic;
}

.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.leading-none {
  line-height: 1;
}

.leading-relaxed {
  line-height: 1.625;
}

.leading-tight {
  line-height: 1.25;
}

.tracking-\[\.5em\] {
  letter-spacing: .5em;
}

.tracking-tight {
  letter-spacing: -0.025em;
}

.tracking-tighter {
  letter-spacing: -0.05em;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.\!text-white {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 163 0 / var(--tw-text-opacity, 1));
}

.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(212 135 0 / var(--tw-text-opacity, 1));
}

.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(171 109 2 / var(--tw-text-opacity, 1));
}

.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(47 111 228 / var(--tw-text-opacity, 1));
}

.text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(29 117 80 / var(--tw-text-opacity, 1));
}

.text-emerald-800 {
  --tw-text-opacity: 1;
  color: rgb(25 93 66 / var(--tw-text-opacity, 1));
}

.text-emerald-900 {
  --tw-text-opacity: 1;
  color: rgb(20 77 57 / var(--tw-text-opacity, 1));
}

.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(195 199 208 / var(--tw-text-opacity, 1));
}

.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(92 95 107 / var(--tw-text-opacity, 1));
}

.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(35 36 44 / var(--tw-text-opacity, 1));
}

.text-gray-950 {
  --tw-text-opacity: 1;
  color: rgb(22 22 28 / var(--tw-text-opacity, 1));
}

.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(63 191 87 / var(--tw-text-opacity, 1));
}

.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(40 124 57 / var(--tw-text-opacity, 1));
}

.text-indigo {
  --tw-text-opacity: 1;
  color: rgb(70 86 233 / var(--tw-text-opacity, 1));
}

.text-mint {
  --tw-text-opacity: 1;
  color: rgb(0 232 187 / var(--tw-text-opacity, 1));
}

.text-pink {
  --tw-text-opacity: 1;
  color: rgb(233 66 132 / var(--tw-text-opacity, 1));
}

.text-purple {
  --tw-text-opacity: 1;
  color: rgb(131 55 226 / var(--tw-text-opacity, 1));
}

.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(236 76 60 / var(--tw-text-opacity, 1));
}

.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(221 60 45 / var(--tw-text-opacity, 1));
}

.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(191 46 38 / var(--tw-text-opacity, 1));
}

.text-teal {
  --tw-text-opacity: 1;
  color: rgb(41 158 155 / var(--tw-text-opacity, 1));
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.text-yellow {
  --tw-text-opacity: 1;
  color: rgb(244 194 0 / var(--tw-text-opacity, 1));
}

.text-yellow-500 {
  --tw-text-opacity: 1;
  color: rgb(244 194 0 / var(--tw-text-opacity, 1));
}

.underline {
  text-decoration-line: underline;
}

.no-underline {
  text-decoration-line: none;
}

.\!antialiased {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.placeholder-gray-400::-webkit-input-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(145 150 164 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-400::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(145 150 164 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-400:-ms-input-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(145 150 164 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-400::-ms-input-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(145 150 164 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-400::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(145 150 164 / var(--tw-placeholder-opacity, 1));
}

.opacity-0 {
  opacity: 0;
}

.opacity-100 {
  opacity: 1;
}

.opacity-15 {
  opacity: 0.15;
}

.opacity-30 {
  opacity: 0.3;
}

.opacity-40 {
  opacity: 0.4;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-60 {
  opacity: 0.6;
}

.opacity-70 {
  opacity: 0.7;
}

.opacity-80 {
  opacity: 0.8;
}

.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-none {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.outline {
  outline-style: solid;
}

.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-\[3px\] {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-white {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}

.ring-white\/10 {
  --tw-ring-color: rgb(255 255 255 / 0.1);
}

.blur {
  --tw-blur: blur(8px);
  -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
  -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.backdrop-blur {
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-filter {
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.transition {
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, backdrop-filter, -webkit-box-shadow, -webkit-transform, -webkit-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, backdrop-filter, -webkit-box-shadow, -webkit-transform, -webkit-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-box-shadow, -webkit-transform, -webkit-filter;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}

.transition-all {
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}

.transition-colors {
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}

.transition-opacity {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}

.transition-shadow {
  -webkit-transition-property: -webkit-box-shadow;
  transition-property: -webkit-box-shadow;
  transition-property: box-shadow;
  transition-property: box-shadow, -webkit-box-shadow;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}

.transition-transform {
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}

.duration-100 {
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
}

.duration-150 {
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}

.duration-200 {
  -webkit-transition-duration: 200ms;
  transition-duration: 200ms;
}

.duration-300 {
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
}

.duration-75 {
  -webkit-transition-duration: 75ms;
  transition-duration: 75ms;
}

.ease-in {
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.ease-in-out {
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.text-shadow {
  text-shadow: 0px 0px 1px rgb(0 0 0 / 20%), 0px 0px 1px rgb(1 0 5 / 10%);
}

.placeholder\:text-2xl::-webkit-input-placeholder {
  font-size: 1.5rem;
  line-height: 2rem;
  letter-spacing: -0.01em;
}

.placeholder\:text-2xl::-moz-placeholder {
  font-size: 1.5rem;
  line-height: 2rem;
  letter-spacing: -0.01em;
}

.placeholder\:text-2xl:-ms-input-placeholder {
  font-size: 1.5rem;
  line-height: 2rem;
  letter-spacing: -0.01em;
}

.placeholder\:text-2xl::-ms-input-placeholder {
  font-size: 1.5rem;
  line-height: 2rem;
  letter-spacing: -0.01em;
}

.placeholder\:text-2xl::placeholder {
  font-size: 1.5rem;
  line-height: 2rem;
  letter-spacing: -0.01em;
}

.placeholder\:text-xs::-webkit-input-placeholder {
  font-size: 0.75rem;
  line-height: 1rem;
}

.placeholder\:text-xs::-moz-placeholder {
  font-size: 0.75rem;
  line-height: 1rem;
}

.placeholder\:text-xs:-ms-input-placeholder {
  font-size: 0.75rem;
  line-height: 1rem;
}

.placeholder\:text-xs::-ms-input-placeholder {
  font-size: 0.75rem;
  line-height: 1rem;
}

.placeholder\:text-xs::placeholder {
  font-size: 0.75rem;
  line-height: 1rem;
}

.placeholder\:text-gray-400::-webkit-input-placeholder {
  --tw-text-opacity: 1;
  color: rgb(145 150 164 / var(--tw-text-opacity, 1));
}

.placeholder\:text-gray-400::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(145 150 164 / var(--tw-text-opacity, 1));
}

.placeholder\:text-gray-400:-ms-input-placeholder {
  --tw-text-opacity: 1;
  color: rgb(145 150 164 / var(--tw-text-opacity, 1));
}

.placeholder\:text-gray-400::-ms-input-placeholder {
  --tw-text-opacity: 1;
  color: rgb(145 150 164 / var(--tw-text-opacity, 1));
}

.placeholder\:text-gray-400::placeholder {
  --tw-text-opacity: 1;
  color: rgb(145 150 164 / var(--tw-text-opacity, 1));
}

.last\:mb-0:last-child {
  margin-bottom: 0px;
}

.hover\:cursor-pointer:hover {
  cursor: pointer;
}

.hover\:border-gray-100:hover {
  --tw-border-opacity: 1;
  border-color: rgb(241 243 245 / var(--tw-border-opacity, 1));
}

.hover\:border-gray-500\/40:hover {
  border-color: rgb(92 95 107 / 0.4);
}

.hover\:bg-\[var\(--bg-tertiary\)\]:hover {
  background-color: var(--bg-tertiary);
}

.hover\:bg-gray-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 243 245 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(47 48 56 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-900:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(35 36 44 / var(--tw-bg-opacity, 1));
}

.hover\:bg-neutral-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
}

.hover\:bg-white\/80:hover {
  background-color: rgb(255 255 255 / 0.8);
}

.hover\:underline:hover {
  text-decoration-line: underline;
}

.hover\:opacity-100:hover {
  opacity: 1;
}

.hover\:opacity-80:hover {
  opacity: 0.8;
}

.hover\:opacity-90:hover {
  opacity: 0.9;
}

.hover\:shadow:hover {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-none:hover {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-sm:hover {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.focus\:border-blue-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(47 111 228 / var(--tw-border-opacity, 1));
}

.focus\:border-gray-100:focus {
  --tw-border-opacity: 1;
  border-color: rgb(241 243 245 / var(--tw-border-opacity, 1));
}

.focus\:bg-white:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.focus\:shadow-sm:focus {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.focus\:ring-0:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-offset-0:focus {
  --tw-ring-offset-width: 0px;
}

.active\:bg-black:active {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}

.active\:bg-gray-200:active {
  --tw-bg-opacity: 1;
  background-color: rgb(222 225 230 / var(--tw-bg-opacity, 1));
}

.active\:bg-gray-300\/40:active {
  background-color: rgb(195 199 208 / 0.4);
}

.active\:bg-white\/60:active {
  background-color: rgb(255 255 255 / 0.6);
}

.group:hover .group-hover\:block {
  display: block;
}

.group:hover .group-hover\:translate-x-0 {
  --tw-translate-x: 0px;
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

.dark\:border:is(.dark *) {
  border-width: 1px;
}

.dark\:border-gray-600:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(74 77 88 / var(--tw-border-opacity, 1));
}

.dark\:border-gray-600\/80:is(.dark *) {
  border-color: rgb(74 77 88 / 0.8);
}

.dark\:border-gray-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(47 48 56 / var(--tw-border-opacity, 1));
}

.dark\:border-gray-800\/80:is(.dark *) {
  border-color: rgb(47 48 56 / 0.8);
}

.dark\:border-gray-900:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(35 36 44 / var(--tw-border-opacity, 1));
}

.dark\:border-transparent:is(.dark *) {
  border-color: transparent;
}

.dark\:bg-gray-400:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(145 150 164 / var(--tw-bg-opacity, 1));
}

.dark\:bg-gray-700:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(62 64 74 / var(--tw-bg-opacity, 1));
}

.dark\:bg-gray-800:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(47 48 56 / var(--tw-bg-opacity, 1));
}

.dark\:bg-gray-800\/40:is(.dark *) {
  background-color: rgb(47 48 56 / 0.4);
}

.dark\:bg-gray-950:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(22 22 28 / var(--tw-bg-opacity, 1));
}

.dark\:bg-indigo-300:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(176 189 252 / var(--tw-bg-opacity, 1));
}

.dark\:bg-orange-300:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(246 170 106 / var(--tw-bg-opacity, 1));
}

.dark\:bg-purple-300:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(193 136 244 / var(--tw-bg-opacity, 1));
}

.dark\:bg-teal-300:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(104 224 225 / var(--tw-bg-opacity, 1));
}

.dark\:bg-transparent:is(.dark *) {
  background-color: transparent;
}

.dark\:from-gray-700:is(.dark *) {
  --tw-gradient-from: #3e404a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(62 64 74 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:to-gray-800:is(.dark *) {
  --tw-gradient-to: #2f3038 var(--tw-gradient-to-position);
}

.dark\:text-blue-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(145 181 255 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(145 150 164 / var(--tw-text-opacity, 1));
}

.dark\:text-indigo-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(176 189 252 / var(--tw-text-opacity, 1));
}

.dark\:text-white:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.dark\:text-white\/50:is(.dark *) {
  color: rgb(255 255 255 / 0.5);
}

.dark\:placeholder-gray-500:is(.dark *)::-webkit-input-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(92 95 107 / var(--tw-placeholder-opacity, 1));
}

.dark\:placeholder-gray-500:is(.dark *)::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(92 95 107 / var(--tw-placeholder-opacity, 1));
}

.dark\:placeholder-gray-500:is(.dark *):-ms-input-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(92 95 107 / var(--tw-placeholder-opacity, 1));
}

.dark\:placeholder-gray-500:is(.dark *)::-ms-input-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(92 95 107 / var(--tw-placeholder-opacity, 1));
}

.dark\:placeholder-gray-500:is(.dark *)::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(92 95 107 / var(--tw-placeholder-opacity, 1));
}

.dark\:outline-none:is(.dark *) {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.dark\:ring-gray-900:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(35 36 44 / var(--tw-ring-opacity, 1));
}

.dark\:placeholder\:text-gray-500:is(.dark *)::-webkit-input-placeholder {
  --tw-text-opacity: 1;
  color: rgb(92 95 107 / var(--tw-text-opacity, 1));
}

.dark\:placeholder\:text-gray-500:is(.dark *)::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(92 95 107 / var(--tw-text-opacity, 1));
}

.dark\:placeholder\:text-gray-500:is(.dark *):-ms-input-placeholder {
  --tw-text-opacity: 1;
  color: rgb(92 95 107 / var(--tw-text-opacity, 1));
}

.dark\:placeholder\:text-gray-500:is(.dark *)::-ms-input-placeholder {
  --tw-text-opacity: 1;
  color: rgb(92 95 107 / var(--tw-text-opacity, 1));
}

.dark\:placeholder\:text-gray-500:is(.dark *)::placeholder {
  --tw-text-opacity: 1;
  color: rgb(92 95 107 / var(--tw-text-opacity, 1));
}

.dark\:hover\:border-gray-800:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(47 48 56 / var(--tw-border-opacity, 1));
}

.dark\:hover\:border-white\/40:hover:is(.dark *) {
  border-color: rgb(255 255 255 / 0.4);
}

.dark\:hover\:bg-gray-600\/80:hover:is(.dark *) {
  background-color: rgb(74 77 88 / 0.8);
}

.dark\:hover\:bg-gray-800:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(47 48 56 / var(--tw-bg-opacity, 1));
}

.dark\:hover\:bg-gray-800\/80:hover:is(.dark *) {
  background-color: rgb(47 48 56 / 0.8);
}

.dark\:hover\:text-white:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.dark\:focus\:border-blue-500:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(47 111 228 / var(--tw-border-opacity, 1));
}

.dark\:focus\:border-gray-800:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(47 48 56 / var(--tw-border-opacity, 1));
}

.dark\:focus\:bg-gray-800\/90:focus:is(.dark *) {
  background-color: rgb(47 48 56 / 0.9);
}

.dark\:focus\:shadow-sm:focus:is(.dark *) {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  -webkit-box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.dark\:active\:bg-gray-600\/60:active:is(.dark *) {
  background-color: rgb(74 77 88 / 0.6);
}

.dark\:active\:bg-gray-800:active:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(47 48 56 / var(--tw-bg-opacity, 1));
}

.dark\:active\:bg-gray-900\/80:active:is(.dark *) {
  background-color: rgb(35 36 44 / 0.8);
}

@media (min-width: 640px) {

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {

  .md\:sticky {
    position: sticky;
  }

  .md\:top-10 {
    top: 2.5rem;
  }

  .md\:inline-flex {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }

  .md\:w-64 {
    width: 16rem;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .md\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .md\:flex-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }

  .md\:self-start {
    -ms-flex-item-align: start;
    align-self: flex-start;
  }

  .md\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

@media (min-width: 1024px) {

  .lg\:px-16 {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}

/*# sourceMappingURL=site.css.map */
