/*
 * Custom Tailwind utilities missing from the pre-built style.css
 * These classes are used across the app but not included in the taildash template CSS.
 */

/* ── Sidebar scroll affordance (17 Jun 2026) ──────────────────────
 * The mechanic sidebar nav can exceed the viewport on short screens, so
 * lower items (e.g. "My vehicles", where a mechanic activates their own
 * driver account) fall below the fold. The theme's .scrollbars thumb is
 * transparent until hover, so there was NO visual cue the nav scrolled —
 * users had to zoom the browser to 75% to reveal the bottom items.
 * Make the sidebar's scroll thumb subtly visible by default (scoped to
 * #sidebar-menu so other .scrollbars regions keep their hover behaviour). */
#sidebar-menu .scrollbars { scrollbar-width: thin; scrollbar-color: #cbd5e1 transparent; }
#sidebar-menu .scrollbars::-webkit-scrollbar { width: 8px; }
#sidebar-menu .scrollbars::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
#sidebar-menu .scrollbars:hover::-webkit-scrollbar-thumb { background: #94a3b8; }
.dark #sidebar-menu .scrollbars { scrollbar-color: #4b5563 transparent; }
.dark #sidebar-menu .scrollbars::-webkit-scrollbar-thumb { background: #4b5563; }
.dark #sidebar-menu .scrollbars:hover::-webkit-scrollbar-thumb { background: #6b7280; }

/* Drive School drive-summary stat grid: 2-up on mobile, 4-up from sm (17 Jun 2026). */
@media (min-width: 640px) { .sm\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Drive School live recording cockpit map height (17 Jun 2026). */
.h-\[60vh\] { height: 60vh; }

/* ── Gradients ────────────────────────────────────────────────── */
.bg-gradient-to-br { background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)); }
.bg-gradient-to-r  { background-image: linear-gradient(to right, var(--tw-gradient-stops)); }
.bg-gradient-to-t  { background-image: linear-gradient(to top, var(--tw-gradient-stops)); }

/* Gradient color stops (from) */
.from-indigo-500  { --tw-gradient-from: #6366f1; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(99,102,241,0)); }
.from-indigo-600  { --tw-gradient-from: #4f46e5; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(79,70,229,0)); }
.from-indigo-700  { --tw-gradient-from: #4338ca; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(67,56,202,0)); }
.from-indigo-400  { --tw-gradient-from: #818cf8; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(129,140,248,0)); }
.from-indigo-900  { --tw-gradient-from: #312e81; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(49,46,129,0)); }
.from-indigo-100  { --tw-gradient-from: #e0e7ff; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(224,231,255,0)); }
.from-pink-500    { --tw-gradient-from: #ec4899; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(236,72,153,0)); }
.from-green-400   { --tw-gradient-from: #4ade80; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(74,222,128,0)); }
.from-green-500   { --tw-gradient-from: #22c55e; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(34,197,94,0)); }
.from-green-600   { --tw-gradient-from: #16a34a; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(22,163,74,0)); }
.from-purple-500  { --tw-gradient-from: #a855f7; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(168,85,247,0)); }
.from-purple-600  { --tw-gradient-from: #9333ea; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(147,51,234,0)); }
.from-purple-900  { --tw-gradient-from: #581c87; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(88,28,135,0)); }
.from-purple-50   { --tw-gradient-from: #faf5ff; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(250,245,255,0)); }
.from-amber-500   { --tw-gradient-from: #f59e0b; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(245,158,11,0)); }
.from-gray-50     { --tw-gradient-from: #f9fafb; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(249,250,251,0)); }
.from-gray-700    { --tw-gradient-from: #374151; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(55,65,81,0)); }
.from-black\/70   { --tw-gradient-from: rgba(0,0,0,0.7); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0,0,0,0)); }

/* Gradient color stops (to) */
.to-indigo-700  { --tw-gradient-to: #4338ca; }
.to-indigo-800  { --tw-gradient-to: #3730a3; }
.to-indigo-900  { --tw-gradient-to: #312e81; }
.to-indigo-50   { --tw-gradient-to: #eef2ff; }
.to-pink-600    { --tw-gradient-to: #db2777; }
.to-pink-700    { --tw-gradient-to: #be185d; }
.to-green-600   { --tw-gradient-to: #16a34a; }
.to-green-700   { --tw-gradient-to: #15803d; }
.to-green-800   { --tw-gradient-to: #166534; }
.to-purple-500  { --tw-gradient-to: #a855f7; }
.to-purple-600  { --tw-gradient-to: #9333ea; }
.to-purple-700  { --tw-gradient-to: #7e22ce; }
.to-purple-800  { --tw-gradient-to: #6b21a8; }
.to-orange-500  { --tw-gradient-to: #f97316; }
.to-gray-100    { --tw-gradient-to: #f3f4f6; }
.to-gray-800    { --tw-gradient-to: #1f2937; }
.to-gray-900    { --tw-gradient-to: #111827; }

/* Hover gradient stops */
.hover\:from-indigo-600:hover { --tw-gradient-from: #4f46e5; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(79,70,229,0)); }
.hover\:from-indigo-800:hover { --tw-gradient-from: #3730a3; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(55,48,163,0)); }
.hover\:from-green-600:hover  { --tw-gradient-from: #16a34a; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(22,163,74,0)); }
.hover\:from-green-800:hover  { --tw-gradient-from: #166534; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(22,101,52,0)); }
.hover\:from-purple-600:hover { --tw-gradient-from: #9333ea; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(147,51,234,0)); }
.hover\:from-purple-800:hover { --tw-gradient-from: #6b21a8; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(107,33,168,0)); }
.hover\:to-indigo-800:hover   { --tw-gradient-to: #3730a3; }
.hover\:to-green-800:hover    { --tw-gradient-to: #166534; }
.hover\:to-purple-800:hover   { --tw-gradient-to: #6b21a8; }
.hover\:bg-gradient-to-br:hover { background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)); }

/* ── Opacity text/bg colors ───────────────────────────────────── */
.text-white\/60 { color: rgba(255, 255, 255, 0.6); }
.text-white\/70 { color: rgba(255, 255, 255, 0.7); }
.text-white\/80 { color: rgba(255, 255, 255, 0.8); }
.text-white\/90 { color: rgba(255, 255, 255, 0.9); }
.bg-white\/10   { background-color: rgba(255, 255, 255, 0.1); }
.bg-white\/20   { background-color: rgba(255, 255, 255, 0.2); }
.bg-white\/90   { background-color: rgba(255, 255, 255, 0.9); }
.bg-black\/40   { background-color: rgba(0, 0, 0, 0.4); }
.bg-black\/50   { background-color: rgba(0, 0, 0, 0.5); }
.bg-black\/70   { background-color: rgba(0, 0, 0, 0.7); }

/* ── Amber colors (not in taildash template) ──────────────────── */
.bg-amber-50    { background-color: #fffbeb; }
.bg-amber-100   { background-color: #fef3c7; }
.bg-amber-200   { background-color: #fde68a; }
.bg-amber-300   { background-color: #fcd34d; }
.bg-amber-400   { background-color: #fbbf24; }
.bg-amber-500   { background-color: #f59e0b; }
.bg-amber-600   { background-color: #d97706; }
.bg-amber-700   { background-color: #b45309; }
.bg-amber-900   { background-color: #78350f; }
.bg-amber-950   { background-color: #451a03; }
.text-amber-400 { color: #fbbf24; }
.text-amber-500 { color: #f59e0b; }
.text-amber-600 { color: #d97706; }
.text-amber-700 { color: #b45309; }
.border-amber-200 { border-color: #fde68a; }
.border-amber-300 { border-color: #fcd34d; }
.border-amber-500 { border-color: #f59e0b; }
.border-amber-700 { border-color: #b45309; }
.hover\:bg-amber-400:hover { background-color: #fbbf24; }
.hover\:bg-amber-500:hover { background-color: #f59e0b; }
.hover\:bg-amber-600:hover { background-color: #d97706; }
.hover\:bg-amber-700:hover { background-color: #b45309; }
.hover\:border-amber-300:hover { border-color: #fcd34d; }
.hover\:border-amber-400:hover { border-color: #fbbf24; }
.hover\:border-amber-500:hover { border-color: #f59e0b; }

/* Dark mode amber */
.dark .dark\:bg-amber-900\/20  { background-color: rgba(120, 53, 15, 0.2); }
.dark .dark\:bg-amber-900\/30  { background-color: rgba(120, 53, 15, 0.3); }
.dark .dark\:bg-amber-900\/50  { background-color: rgba(120, 53, 15, 0.5); }
.dark .dark\:text-amber-300    { color: #fcd34d; }
.dark .dark\:text-amber-400    { color: #fbbf24; }
.dark .dark\:border-amber-500  { border-color: #f59e0b; }
.dark .dark\:border-amber-600  { border-color: #d97706; }
.dark .dark\:border-amber-700  { border-color: #b45309; }
.dark .dark\:hover\:border-amber-500:hover  { border-color: #f59e0b; }
.dark .dark\:hover\:border-amber-600:hover  { border-color: #d97706; }

/* ── Dark mode gradient overrides ─────────────────────────────── */
.dark .dark\:from-black\/70    { --tw-gradient-from: rgba(0,0,0,0.7); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0,0,0,0)); }
.dark .dark\:from-purple-900\/20 { --tw-gradient-from: rgba(88,28,135,0.2); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(88,28,135,0)); }
.dark .dark\:from-indigo-900\/20 { --tw-gradient-from: rgba(49,46,129,0.2); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(49,46,129,0)); }
.dark .dark\:to-indigo-900\/20   { --tw-gradient-to: rgba(49,46,129,0.2); }
.dark .dark\:to-purple-900\/20   { --tw-gradient-to: rgba(88,28,135,0.2); }
.dark .dark\:from-gray-700       { --tw-gradient-from: #374151; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(55,65,81,0)); }
.dark .dark\:to-gray-800         { --tw-gradient-to: #1f2937; }
.dark .dark\:from-indigo-900     { --tw-gradient-from: #312e81; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(49,46,129,0)); }
.dark .dark\:to-gray-900         { --tw-gradient-to: #111827; }

/* ── Opacity bg with dark mode ────────────────────────────────── */
.dark .dark\:bg-green-900\/20  { background-color: rgba(20, 83, 45, 0.2); }
.dark .dark\:bg-green-900\/30  { background-color: rgba(20, 83, 45, 0.3); }
.dark .dark\:bg-green-900\/40  { background-color: rgba(20, 83, 45, 0.4); }
.dark .dark\:bg-green-900\/50  { background-color: rgba(20, 83, 45, 0.5); }
.dark .dark\:bg-indigo-900\/20 { background-color: rgba(49, 46, 129, 0.2); }
.dark .dark\:bg-indigo-900\/30 { background-color: rgba(49, 46, 129, 0.3); }
.dark .dark\:bg-indigo-900\/40 { background-color: rgba(49, 46, 129, 0.4); }
.dark .dark\:bg-purple-900\/10 { background-color: rgba(88, 28, 135, 0.1); }
.dark .dark\:bg-purple-900\/20 { background-color: rgba(88, 28, 135, 0.2); }
.dark .dark\:bg-purple-900\/30 { background-color: rgba(88, 28, 135, 0.3); }
.dark .dark\:bg-purple-900\/40 { background-color: rgba(88, 28, 135, 0.4); }
.dark .dark\:bg-purple-900\/50 { background-color: rgba(88, 28, 135, 0.5); }
.dark .dark\:bg-pink-900\/20   { background-color: rgba(131, 24, 67, 0.2); }
.dark .dark\:bg-red-900\/20    { background-color: rgba(127, 29, 29, 0.2); }
.dark .dark\:bg-red-900\/30    { background-color: rgba(127, 29, 29, 0.3); }
.dark .dark\:bg-blue-900\/20   { background-color: rgba(30, 58, 138, 0.2); }
.dark .dark\:bg-blue-900\/30   { background-color: rgba(30, 58, 138, 0.3); }

/* ── Purple colors (missing from taildash) ────────────────────── */
.bg-purple-50    { background-color: #faf5ff; }
.bg-purple-200   { background-color: #e9d5ff; }
.bg-purple-300   { background-color: #d8b4fe; }
.bg-purple-400   { background-color: #c084fc; }
.bg-purple-600   { background-color: #9333ea; }
.bg-purple-700   { background-color: #7e22ce; }
.bg-purple-800   { background-color: #6b21a8; }
.bg-purple-900   { background-color: #581c87; }
.text-purple-300 { color: #d8b4fe; }
.text-purple-400 { color: #c084fc; }
.text-purple-600 { color: #9333ea; }
.border-purple-100 { border-color: #f3e8ff; }
.border-purple-200 { border-color: #e9d5ff; }
.border-purple-300 { border-color: #d8b4fe; }
.border-purple-400 { border-color: #c084fc; }
.border-purple-500 { border-color: #a855f7; }
.border-purple-700 { border-color: #7e22ce; }
.border-purple-800 { border-color: #6b21a8; }
.text-purple-200 { color: #e9d5ff; }
.text-purple-800 { color: #6b21a8; }
.border-purple-600 { border-color: #9333ea; }
.hover\:bg-purple-50:hover    { background-color: #faf5ff; }
.hover\:bg-purple-100:hover   { background-color: #f3e8ff; }
.hover\:bg-purple-200:hover   { background-color: #e9d5ff; }
.hover\:bg-purple-400:hover   { background-color: #c084fc; }
.hover\:bg-purple-600:hover   { background-color: #9333ea; }
.hover\:border-purple-300:hover { border-color: #d8b4fe; }
.hover\:border-purple-400:hover { border-color: #c084fc; }
.hover\:border-purple-500:hover { border-color: #a855f7; }
.group:hover .group-hover\:bg-purple-200 { background-color: #e9d5ff; }

/* Dark mode purple */
.dark .dark\:text-purple-200    { color: #e9d5ff; }
.dark .dark\:text-purple-300    { color: #d8b4fe; }
.dark .dark\:text-purple-400    { color: #c084fc; }
.dark .dark\:border-purple-600  { border-color: #9333ea; }
.dark .dark\:border-purple-700  { border-color: #7e22ce; }
.dark .dark\:border-purple-800  { border-color: #6b21a8; }
.dark .dark\:border-purple-800\/50 { border-color: rgba(107, 33, 168, 0.5); }
.dark .dark\:hover\:bg-purple-900\/30:hover { background-color: rgba(88, 28, 135, 0.3); }
.dark .dark\:hover\:bg-purple-900\/40:hover { background-color: rgba(88, 28, 135, 0.4); }
.dark .dark\:hover\:bg-purple-900\/50:hover { background-color: rgba(88, 28, 135, 0.5); }
.dark .dark\:hover\:bg-purple-800\/50:hover { background-color: rgba(107, 33, 168, 0.5); }
.dark .dark\:hover\:border-purple-500:hover { border-color: #a855f7; }
.dark .dark\:hover\:border-purple-600:hover { border-color: #9333ea; }
.dark .group:hover .dark\:group-hover\:bg-purple-800\/50 { background-color: rgba(107, 33, 168, 0.5); }

/* ── Red colors (missing from taildash) ──────────────────────── */
.bg-red-50         { background-color: #fef2f2; }
.bg-red-100        { background-color: #fee2e2; }
.bg-red-400\/30    { background-color: rgba(248, 113, 113, 0.3); }
.bg-red-600        { background-color: #dc2626; }
.text-red-300      { color: #fca5a5; }
.text-red-400      { color: #f87171; }
.border-red-200    { border-color: #fecaca; }
.border-red-300    { border-color: #fca5a5; }
.border-red-600    { border-color: #dc2626; }
.border-red-700    { border-color: #b91c1c; }
.border-red-800    { border-color: #991b1b; }
.hover\:bg-red-50:hover  { background-color: #fef2f2; }
.hover\:bg-red-100:hover { background-color: #fee2e2; }
.hover\:bg-red-600:hover { background-color: #dc2626; }
.hover\:border-red-400:hover { border-color: #f87171; }
.dark .dark\:text-red-300    { color: #fca5a5; }
.dark .dark\:text-red-400    { color: #f87171; }
.dark .dark\:border-red-800  { border-color: #991b1b; }
.dark .dark\:border-red-800\/50 { border-color: rgba(153, 27, 27, 0.5); }

/* ── Green colors (missing from taildash) ────────────────────── */
.bg-green-50     { background-color: #f0fdf4; }
.bg-green-100    { background-color: #dcfce7; }
.bg-green-200    { background-color: #bbf7d0; }
.bg-green-600    { background-color: #16a34a; }
.bg-green-700    { background-color: #15803d; }
.bg-green-800    { background-color: #166534; }
.text-green-300  { color: #86efac; }
.text-green-400  { color: #4ade80; }
.text-green-600  { color: #16a34a; }
.text-green-700  { color: #15803d; }
.border-green-100 { border-color: #dcfce7; }
.border-green-200 { border-color: #bbf7d0; }
.border-green-300 { border-color: #86efac; }
.border-green-500 { border-color: #22c55e; }
.border-green-700 { border-color: #15803d; }
.border-green-800 { border-color: #166534; }
.bg-green-500\/20  { background-color: rgba(34, 197, 94, 0.2); }
.hover\:bg-green-50:hover  { background-color: #f0fdf4; }
.hover\:bg-green-600:hover { background-color: #16a34a; }
.hover\:bg-green-700:hover { background-color: #15803d; }
.dark .dark\:text-green-300  { color: #86efac; }
.dark .dark\:text-green-400  { color: #4ade80; }
.dark .dark\:border-green-700 { border-color: #15803d; }
.dark .dark\:border-green-800 { border-color: #166534; }
.dark .dark\:border-green-800\/50 { border-color: rgba(22, 101, 52, 0.5); }
.dark .dark\:bg-green-500\/20  { background-color: rgba(34, 197, 94, 0.2); }

/* ── Indigo colors (missing from taildash) ───────────────────── */
.bg-indigo-50    { background-color: #eef2ff; }
.bg-indigo-100   { background-color: #e0e7ff; }
.bg-indigo-600   { background-color: #4f46e5; }
.bg-indigo-700   { background-color: #4338ca; }
.bg-indigo-800   { background-color: #3730a3; }
.bg-indigo-900   { background-color: #312e81; }
.text-indigo-300 { color: #a5b4fc; }
.text-indigo-400 { color: #818cf8; }
.text-indigo-600 { color: #4f46e5; }
.text-indigo-700 { color: #4338ca; }
.border-indigo-100 { border-color: #e0e7ff; }
.border-indigo-200 { border-color: #c7d2fe; }
.border-indigo-300 { border-color: #a5b4fc; }
.border-indigo-500 { border-color: #6366f1; }
.border-indigo-700 { border-color: #4338ca; }
.border-indigo-800 { border-color: #3730a3; }
.text-indigo-200 { color: #c7d2fe; }
.border-indigo-600 { border-color: #4f46e5; }
.hover\:bg-indigo-50:hover  { background-color: #eef2ff; }
.hover\:bg-indigo-100:hover { background-color: #e0e7ff; }
.hover\:bg-indigo-600:hover { background-color: #4f46e5; }
.hover\:bg-indigo-700:hover { background-color: #4338ca; }
.hover\:border-indigo-300:hover { border-color: #a5b4fc; }
.hover\:border-indigo-600:hover { border-color: #4f46e5; }
.dark .dark\:text-indigo-200  { color: #c7d2fe; }
.dark .dark\:text-indigo-300  { color: #a5b4fc; }
.dark .dark\:text-indigo-400  { color: #818cf8; }
.dark .dark\:border-indigo-600 { border-color: #4f46e5; }
.dark .dark\:border-indigo-700 { border-color: #4338ca; }
.dark .dark\:border-indigo-800 { border-color: #3730a3; }
.dark .dark\:border-indigo-800\/50 { border-color: rgba(55, 48, 163, 0.5); }
.dark .dark\:bg-indigo-900\/50 { background-color: rgba(49, 46, 129, 0.5); }

/* ── Orange colors (job detail header, no-balance modal) ─────── */
.bg-orange-50    { background-color: #fff7ed; }
.bg-orange-100   { background-color: #ffedd5; }
.bg-orange-500   { background-color: #f97316; }
.bg-orange-600   { background-color: #ea580c; }
.text-orange-400 { color: #fb923c; }
.text-orange-500 { color: #f97316; }
.text-orange-600 { color: #ea580c; }
.border-orange-200 { border-color: #fed7aa; }
.border-orange-300 { border-color: #fdba74; }
.border-orange-400 { border-color: #fb923c; }
.border-orange-500 { border-color: #f97316; }
.hover\:bg-orange-600:hover { background-color: #ea580c; }
.dark .dark\:bg-orange-900\/20  { background-color: rgba(124, 45, 18, 0.2); }
.dark .dark\:bg-orange-900\/30  { background-color: rgba(124, 45, 18, 0.3); }
.dark .dark\:text-orange-300    { color: #fdba74; }
.dark .dark\:text-orange-400    { color: #fb923c; }
.dark .dark\:border-orange-400\/40 { border-color: rgba(251, 146, 60, 0.4); }
.dark .dark\:border-orange-700  { border-color: #c2410c; }
.dark .dark\:hover\:bg-orange-500\/35:hover { background-color: rgba(249, 115, 22, 0.35); }

/* ── Yellow colors (costs tab) ───────────────────────────────── */
.bg-yellow-50    { background-color: #fefce8; }
.bg-yellow-100   { background-color: #fef9c3; }
.bg-yellow-500   { background-color: #eab308; }
.text-yellow-300 { color: #fde047; }
.text-yellow-500 { color: #eab308; }
.text-yellow-600 { color: #ca8a04; }
.text-yellow-700 { color: #a16207; }
.border-yellow-200 { border-color: #fef08a; }
.border-yellow-300 { border-color: #fde047; }
.border-yellow-500 { border-color: #eab308; }
.dark .dark\:bg-yellow-900\/20  { background-color: rgba(113, 63, 18, 0.2); }
.dark .dark\:bg-yellow-900\/30  { background-color: rgba(113, 63, 18, 0.3); }
.dark .dark\:bg-yellow-900\/50  { background-color: rgba(113, 63, 18, 0.5); }
.dark .dark\:text-yellow-300    { color: #fde047; }
.dark .dark\:text-yellow-400    { color: #facc15; }
.dark .dark\:border-yellow-700  { border-color: #a16207; }
.dark .dark\:border-yellow-800  { border-color: #854d0e; }

/* ── Blue colors (payments tab) ──────────────────────────────── */
.bg-blue-50      { background-color: #eff6ff; }
.bg-blue-100     { background-color: #dbeafe; }
.bg-blue-500     { background-color: #3b82f6; }
.bg-blue-600     { background-color: #2563eb; }
.text-blue-300   { color: #93c5fd; }
.text-blue-400   { color: #60a5fa; }
.text-blue-500   { color: #3b82f6; }
.text-blue-600   { color: #2563eb; }
.text-blue-700   { color: #1d4ed8; }
.border-blue-200 { border-color: #bfdbfe; }
.border-blue-300 { border-color: #93c5fd; }
.border-blue-500 { border-color: #3b82f6; }
.border-blue-700 { border-color: #1d4ed8; }
.hover\:bg-blue-600:hover { background-color: #2563eb; }
.dark .dark\:text-blue-300    { color: #93c5fd; }
.dark .dark\:text-blue-400    { color: #60a5fa; }
.dark .dark\:border-blue-700  { border-color: #1d4ed8; }
.dark .dark\:border-blue-800  { border-color: #1e40af; }

/* ── Dark mode hover with opacity ────────────────────────────── */
.dark .dark\:hover\:bg-indigo-900\/50:hover { background-color: rgba(49, 46, 129, 0.5); }
.dark .dark\:hover\:bg-green-900\/60:hover  { background-color: rgba(20, 83, 45, 0.6); }
.dark .dark\:hover\:bg-green-900\/40:hover  { background-color: rgba(20, 83, 45, 0.4); }
.dark .dark\:hover\:bg-red-900\/30:hover    { background-color: rgba(127, 29, 29, 0.3); }

/* ── Dark mode border grays ──────────────────────────────────── */
.dark .dark\:border-gray-500  { border-color: #6b7280; }
.dark .dark\:border-gray-600  { border-color: #4b5563; }
.dark .dark\:border-gray-700  { border-color: #374151; }
.dark .dark\:border-gray-800  { border-color: #1f2937; }
.dark .dark\:border-gray-900  { border-color: #111827; }

/* ── Dark mode border extras ─────────────────────────────────── */
.dark .dark\:border-red-700     { border-color: #b91c1c; }
.dark .dark\:border-amber-800   { border-color: #92400e; }
.dark .dark\:border-amber-800\/50 { border-color: rgba(146, 64, 14, 0.5); }
.dark .dark\:border-amber-400\/40 { border-color: rgba(251, 191, 36, 0.4); }
.dark .dark\:text-amber-500     { color: #f59e0b; }
.dark .dark\:bg-green-600       { background-color: #16a34a; }

/* ── Dark mode bg-gray opacity ───────────────────────────────── */
.dark .dark\:bg-gray-900\/40 { background-color: rgba(17, 24, 39, 0.4); }

/* ── Missing size utilities ──────────────────────────────────── */
/* style.css ships .size-2/4/5/6/8/10/12/14 but skips fractional and
   "odd" values. SVGs that use these silently render at intrinsic size
   (no width/height bound) — most visible on the /verify success-tick
   which uses size-7 and ballooned to ~100% of its container until we
   plugged it here. Add ANY missing Tailwind size-N value as we hit it. */
.size-1\.5 { width: 0.375rem; height: 0.375rem; }
.size-3   { width: 0.75rem;  height: 0.75rem; }
.size-3\.5 { width: 0.875rem; height: 0.875rem; }
.size-7   { width: 1.75rem;  height: 1.75rem; }
.size-11  { width: 2.75rem;  height: 2.75rem; }
.size-16  { width: 4rem;     height: 4rem; }

/* ── Missing fractional padding/gap (form fields look "raw" without these) ── */
/* style.css ships p-2/3/4 but skips 2.5 / 1.5 / etc. Inputs/buttons that use
   py-2.5 px-2.5 silently render with NO padding → cramped ugly boxes.
   Surfaced 28 Apr on /mechanic-entry/{token} — full audit found 16 utilities
   missing on that page alone. Standard Tailwind values. */
.p-2\.5  { padding: 0.625rem; }
.px-2\.5 { padding-left: 0.625rem; padding-right: 0.625rem; }
.py-1\.5 { padding-top: 0.375rem; padding-bottom: 0.375rem; }
.py-2\.5 { padding-top: 0.625rem; padding-bottom: 0.625rem; }
.gap-1\.5 { gap: 0.375rem; }

/* ── Fixed widths used in pickers / inline controls ──────────── */
.w-28 { width: 7rem; }

/* ── Form layout grid (collapses without these) ──────────────── */
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 640px) {
  .sm\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ── Borders (light shades commonly used on info banners) ────── */
/* style.css uses Tailwind v4 syntax where .border-{color} ONLY sets
   the colour and requires explicit .border for the width. Many of our
   pages were written with the v3 assumption that border-gray-300 alone
   gives a visible frame. To unbreak them globally, every colour border
   utility we define here ALSO sets border-width:1px solid as a
   side-effect, restoring v3 ergonomics on this slice. */
.border-emerald-100 { border: 1px solid #d1fae5; }
.border-gray-200    { border: 1px solid #e5e7eb; }
.border-gray-300    { border: 1px solid #d1d5db; }
.border-gray-400    { border: 1px solid #9ca3af; }
.border-indigo-100  { border: 1px solid #e0e7ff; }
.border-indigo-200  { border: 1px solid #c7d2fe; }
.border-indigo-300  { border: 1px solid #a5b4fc; }
.border-emerald-200 { border: 1px solid #a7f3d0; }
.border-amber-200   { border: 1px solid #fde68a; }

/* ── Form-element baseline frame ─────────────────────────────── */
/* Guarantees every input/select/textarea on the site has a visible
   frame even when the markup omits an explicit border utility.
   Surfaced 28 Apr on /mechanic-entry — name/phone/etc. inputs were
   completely frameless because border-gray-300 alone sets only colour
   in Tailwind v4. Background defaults to white so the input is
   visually a "well" inside its container. */
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="url"],
input[type="password"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="time"],
input[type="week"],
select,
textarea {
    border: 1px solid #d1d5db;
    background-color: #ffffff;
}
.dark input[type="text"],
.dark input[type="tel"],
.dark input[type="email"],
.dark input[type="number"],
.dark input[type="search"],
.dark input[type="url"],
.dark input[type="password"],
.dark input[type="date"],
.dark input[type="datetime-local"],
.dark input[type="month"],
.dark input[type="time"],
.dark input[type="week"],
.dark select,
.dark textarea {
    border-color: #4b5563;
    background-color: #111827;
    color: #f3f4f6;
}

/* ── Hover backgrounds (subtle pastel hovers on chip buttons) ── */
.hover\:bg-amber-100:hover  { background-color: #fef3c7; }
.hover\:shadow-md:hover     { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06); }
.hover\:text-indigo-800:hover { color: #3730a3; }

/* ── Focus rings (the actual COLOUR ring — focus:ring-2 alone is colourless) ── */
.focus\:ring-indigo-300:focus  { box-shadow: 0 0 0 2px rgba(165, 180, 252, 0.65); }
.focus\:ring-emerald-300:focus { box-shadow: 0 0 0 2px rgba(110, 231, 183, 0.65); }
.focus\:ring-cyan-300:focus    { box-shadow: 0 0 0 2px rgba(103, 232, 249, 0.65); }
.focus\:ring-amber-300:focus   { box-shadow: 0 0 0 2px rgba(252, 211, 77, 0.65); }

/* ── Misc text/utility helpers ───────────────────────────────── */
.select-none { user-select: none; }
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.text-emerald-500 { color: #10b981; }

/* ── Shadow XS (used in cards) ────────────────────────────────── */
.shadow-xs { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); }

/* ── Grid columns (admin tables/stats) ─────────────────────────── */
.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
@media (min-width: 768px)  { .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 768px)  { .md\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .lg\:grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); } }

/* ── Divide utilities (table rows) ──────────────────────────────── */
.divide-y > :not([hidden]) ~ :not([hidden]) { border-top-width: 1px; border-bottom-width: 0; }
.divide-gray-100 > :not([hidden]) ~ :not([hidden]) { border-color: #f3f4f6; }
.dark .dark\:divide-gray-700\/50 > :not([hidden]) ~ :not([hidden]) { border-color: rgba(55, 65, 81, 0.5); }

/* ── Emerald colors (partners, active status) ──────────────────── */
.bg-emerald-100   { background-color: #d1fae5; }
.bg-emerald-600   { background-color: #059669; }
.text-emerald-400 { color: #34d399; }
.text-emerald-600 { color: #059669; }
.text-emerald-700 { color: #047857; }
.border-emerald-500 { border-color: #10b981; }
.dark .dark\:bg-emerald-900\/30  { background-color: rgba(6, 78, 59, 0.3); }
.dark .dark\:text-emerald-400    { color: #34d399; }

/* ── Cyan colors (admin inbound calls tab) ──────────────────────── */
.bg-cyan-100    { background-color: #cffafe; }
.text-cyan-400  { color: #22d3ee; }
.text-cyan-600  { color: #0891b2; }
.text-cyan-700  { color: #0e7490; }
.border-cyan-500 { border-color: #06b6d4; }
.dark .dark\:bg-cyan-900\/30  { background-color: rgba(22, 78, 99, 0.3); }
.dark .dark\:text-cyan-400    { color: #22d3ee; }

/* ── Rose colors (admin targets tab) ────────────────────────────── */
.bg-rose-100    { background-color: #ffe4e6; }
.text-rose-400  { color: #fb7185; }
.text-rose-600  { color: #e11d48; }
.text-rose-700  { color: #be123c; }
.border-rose-500 { border-color: #f43f5e; }
.dark .dark\:bg-rose-900\/30  { background-color: rgba(136, 19, 55, 0.3); }
.dark .dark\:text-rose-400    { color: #fb7185; }

/* ── Teal colors (admin stats) ──────────────────────────────────── */
.text-teal-600  { color: #0d9488; }

/* ── Black overlay (modals/drawers) ─────────────────────────────── */
.bg-black\/30   { background-color: rgba(0, 0, 0, 0.3); }

/* ── Font mono (tracking codes) ─────────────────────────────────── */
.font-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }

/* ── Dark mode gray text/bg overrides (public garage page + anywhere :where() fails) ── */
.dark .dark\:text-gray-100  { color: #f3f4f6; }
.dark .dark\:text-gray-200  { color: #e5e7eb; }
.dark .dark\:text-gray-300  { color: #d1d5db; }
.dark .dark\:text-gray-400  { color: #9ca3af; }
/* Form labels: lift muted gray-400 labels to gray-300 so they read in dark mode
   (matches the ~300 labels already using dark:text-gray-300). Scoped to <label>
   so <p> hints / other secondary gray-400 text stay muted. */
.dark label.dark\:text-gray-400 { color: #d1d5db; }
.dark .dark\:bg-gray-700    { background-color: #374151; }
.dark .dark\:bg-gray-800    { background-color: #1f2937; }
.dark .dark\:bg-gray-900    { background-color: #111827; }
.dark .dark\:bg-gray-900\/95 { background-color: rgba(17, 24, 39, 0.95); }
.dark .dark\:bg-gray-950    { background-color: #030712; }
.dark .dark\:from-gray-800  { --tw-gradient-from: #1f2937; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(31,41,55,0)); }
.dark .dark\:to-gray-900    { --tw-gradient-to: #111827; }

/* ── Public garage page: form labels must be bright white in dark mode ── */
label.gp-form-label { color: #374151; }
.dark label.gp-form-label { color: #fff; }

/* ===================================================================
   /verify suite extensions (added 27 Apr 2026) — utilities used across
   records-lookup, verify-claim, verify-how-it-works that style.css does
   not ship. Per feedback_audit_bundle_before_styling, custom-utilities
   is the supported escape hatch for utilities reused across templates.
   =================================================================== */

/* Dark-mode opacity backgrounds (icon containers + alert cards) */
.dark .dark\:bg-indigo-900\/40   { background-color: rgba(49, 46, 129, 0.4); }
.dark .dark\:bg-indigo-900\/30   { background-color: rgba(49, 46, 129, 0.3); }
.dark .dark\:bg-emerald-900\/40  { background-color: rgba(6, 78, 59, 0.4); }
.dark .dark\:bg-emerald-900\/30  { background-color: rgba(6, 78, 59, 0.3); }
.dark .dark\:bg-emerald-900\/20  { background-color: rgba(6, 78, 59, 0.2); }
.dark .dark\:bg-amber-900\/40    { background-color: rgba(120, 53, 15, 0.4); }
.dark .dark\:bg-amber-900\/30    { background-color: rgba(120, 53, 15, 0.3); }
.dark .dark\:bg-amber-900\/20    { background-color: rgba(120, 53, 15, 0.2); }
.dark .dark\:bg-amber-900\/60    { background-color: rgba(120, 53, 15, 0.6); }
.dark .dark\:bg-rose-900\/40     { background-color: rgba(136, 19, 55, 0.4); }
.dark .dark\:bg-cyan-900\/40     { background-color: rgba(22, 78, 99, 0.4); }
.dark .dark\:bg-violet-900\/30   { background-color: rgba(76, 29, 149, 0.3); }

/* Dark-mode opacity borders */
.dark .dark\:border-emerald-700\/40 { border-color: rgba(4, 120, 87, 0.4); }
.dark .dark\:border-amber-700\/40   { border-color: rgba(180, 83, 9, 0.4); }
.dark .dark\:border-indigo-700\/40  { border-color: rgba(67, 56, 202, 0.4); }
.dark .dark\:border-cyan-500\/30    { border-color: rgba(6, 182, 212, 0.3); }
.dark .dark\:border-emerald-500\/30 { border-color: rgba(16, 185, 129, 0.3); }
.dark .dark\:border-emerald-500\/40 { border-color: rgba(16, 185, 129, 0.4); }
.dark .dark\:border-amber-500\/30   { border-color: rgba(245, 158, 11, 0.3); }
.dark .dark\:border-amber-500\/40   { border-color: rgba(245, 158, 11, 0.4); }
.dark .dark\:border-indigo-500\/30  { border-color: rgba(99, 102, 241, 0.3); }
.dark .dark\:border-violet-500\/30  { border-color: rgba(139, 92, 246, 0.3); }

/* Dark-mode text variants */
.dark .dark\:text-emerald-200 { color: #a7f3d0; }
.dark .dark\:text-emerald-300 { color: #6ee7b7; }
.dark .dark\:text-amber-200   { color: #fde68a; }
.dark .dark\:text-amber-300   { color: #fcd34d; }
.dark .dark\:text-rose-300    { color: #fda4af; }
.dark .dark\:text-indigo-200  { color: #c7d2fe; }
.dark .dark\:text-indigo-300  { color: #a5b4fc; }
.dark .dark\:text-violet-200  { color: #ddd6fe; }

/* Light-mode text variants for tier labels */
.text-emerald-700 { color: #047857; }
.text-emerald-800 { color: #065f46; }
.text-amber-700   { color: #b45309; }
.text-amber-800   { color: #92400e; }
.text-amber-900   { color: #78350f; }
.text-rose-700    { color: #be123c; }

/* Light-mode emerald/amber/violet borders + backgrounds */
.bg-emerald-50     { background-color: #ecfdf5; }
.bg-emerald-200    { background-color: #a7f3d0; }
.bg-emerald-500    { background-color: #10b981; }
.bg-emerald-700    { background-color: #047857; }
.bg-amber-200      { background-color: #fde68a; }
.bg-amber-500      { background-color: #f59e0b; }
.bg-amber-600      { background-color: #d97706; }
.bg-violet-100     { background-color: #ede9fe; }
.bg-violet-500     { background-color: #8b5cf6; }
.border-emerald-200 { border-color: #a7f3d0; }
.border-emerald-300 { border-color: #6ee7b7; }
.border-emerald-500 { border-color: #10b981; }
.border-amber-200  { border-color: #fde68a; }
.border-amber-500  { border-color: #f59e0b; }
.border-amber-600  { border-color: #d97706; }
.border-violet-200 { border-color: #ddd6fe; }
.border-rose-200   { border-color: #fecdd3; }
.border-cyan-300   { border-color: #67e8f7; }

/* Focus rings on form inputs */
.focus\:border-indigo-500:focus { border-color: #6366f1; }
.focus\:border-cyan-500:focus   { border-color: #06b6d4; }
.focus\:ring-1:focus            { box-shadow: 0 0 0 1px var(--mvk-ring, #6366f1); }
.focus\:ring-2:focus            { box-shadow: 0 0 0 2px var(--mvk-ring, #6366f1); }
.focus\:ring-indigo-500:focus   { --mvk-ring: #6366f1; box-shadow: 0 0 0 1px #6366f1; }
.focus\:ring-cyan-500:focus     { --mvk-ring: #06b6d4; box-shadow: 0 0 0 2px #06b6d4; }
.focus\:outline-none:focus      { outline: 2px solid transparent; outline-offset: 2px; }

/* Hover backgrounds (button affordances) */
.hover\:bg-indigo-600:hover   { background-color: #4f46e5; }
.hover\:bg-indigo-700:hover   { background-color: #4338ca; }
.hover\:bg-emerald-600:hover  { background-color: #059669; }
.hover\:bg-emerald-700:hover  { background-color: #047857; }
.hover\:bg-amber-500:hover    { background-color: #f59e0b; }
.hover\:bg-amber-600:hover    { background-color: #d97706; }
.hover\:bg-rose-600:hover     { background-color: #e11d48; }
.hover\:bg-rose-700:hover     { background-color: #be123c; }
.hover\:bg-cyan-700:hover     { background-color: #0e7490; }
.hover\:bg-indigo-100:hover   { background-color: #e0e7ff; }
.hover\:bg-emerald-100:hover  { background-color: #d1fae5; }

/* Hover shadow + border for sections */
.hover\:shadow-lg:hover        { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1); }
.hover\:shadow-xl:hover        { box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1); }
.hover\:border-emerald-200:hover { border-color: #a7f3d0; }
.dark .dark\:hover\:border-emerald-800:hover { border-color: #065f46; }
.dark .dark\:hover\:bg-amber-900\/30:hover   { background-color: rgba(120, 53, 15, 0.3); }
.dark .dark\:hover\:bg-emerald-900\/50:hover { background-color: rgba(6, 78, 59, 0.5); }

/* Spacing utilities (space-y-3, gap-1.5/2.5) */
.space-y-3 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.75rem; }
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.625rem; }
.gap-1\.5 { gap: 0.375rem; }
.gap-2\.5 { gap: 0.625rem; }
.gap-x-2  { column-gap: 0.5rem; }

/* Misc */
.shadow-inner { box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06); }
.transition-all { transition-property: all; transition-duration: 200ms; }

/* Modal layering — arbitrary z-index values (z-[100], etc.) used by the
   access-request modal silently failed; modal opened invisibly behind page */
.z-\[100\]      { z-index: 100; }
.z-100          { z-index: 100; }
.max-h-\[90vh\] { max-height: 90vh; }
.max-h-\[80vh\] { max-height: 80vh; }
.min-h-\[300px\] { min-height: 300px; }

/* ── Command-center workbench: grid/spans/widths missing from taildash ──
 * All values are stock Tailwind defaults (identical to what the theme would
 * emit), so these only fill gaps — they never override existing theme rules. */
.grid-cols-1  { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.grid-cols-3  { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.col-span-1 { grid-column: span 1 / span 1; }
.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; }
@media (min-width: 768px) {
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.max-w-2xl { max-width: 42rem; }
.max-w-5xl { max-width: 64rem; }
.max-w-7xl { max-width: 80rem; }
.max-w-\[6\.5rem\] { max-width: 6.5rem; }
.max-w-\[7rem\]    { max-width: 7rem; }
.size-3\.5 { width: 0.875rem; height: 0.875rem; }
.min-h-\[2\.75rem\] { min-height: 2.75rem; }
.min-h-\[3\.5rem\]  { min-height: 3.5rem; }
.max-h-\[calc\(100vh-15rem\)\] { max-height: calc(100vh - 15rem); }
.max-h-\[calc\(100vh-11rem\)\] { max-height: calc(100vh - 11rem); }
.pt-\[15vh\] { padding-top: 15vh; }
.text-\[10px\] { font-size: 10px; line-height: 1.2; }
.text-\[11px\] { font-size: 11px; line-height: 1.3; }
.backdrop-blur-sm { -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.z-\[60\] { z-index: 60; }

/* ── Workbench: remaining missing utilities (genuinely absent from theme — 
 * NOT redefining .hidden/.block etc, so no responsive overrides). 13 Jun 2026 ── */
.bottom-6{bottom:1.5rem}.left-3{left:.75rem}.right-6{right:1.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.size-9{width:2.25rem;height:2.25rem}.h-3\.5{height:.875rem}.max-h-56{max-height:14rem}.max-h-80{max-height:20rem}.min-h-\[200px\]{min-height:200px}.w-3\.5{width:.875rem}.min-w-0{min-width:0}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.resize-y{resize:vertical}.items-end{align-items:flex-end}.gap-0\.5{gap:.125rem}.gap-5{gap:1.25rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.border-transparent{border-color:transparent}.bg-gray-50\/60{background-color:rgba(249,250,251,.6)}.p-10{padding:2.5rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.pl-1{padding-left:.25rem}.pl-9{padding-left:2.25rem}.pr-3{padding-right:.75rem}.text-left{text-align:left}.text-right{text-align:right}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.placeholder\:font-normal::-moz-placeholder{font-weight:400}.placeholder\:font-normal::placeholder{font-weight:400}.placeholder\:normal-case::-moz-placeholder{text-transform:none}.placeholder\:normal-case::placeholder{text-transform:none}.placeholder\:tracking-normal::-moz-placeholder{letter-spacing:0}.placeholder\:tracking-normal::placeholder{letter-spacing:0}.placeholder\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.placeholder\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.placeholder\:text-gray-600::-moz-placeholder{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.placeholder\:text-gray-600::placeholder{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.focus\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(129 140 248/var(--tw-ring-opacity,1))}.dark\:bg-gray-700\/50:is(.dark *){background-color:rgba(55,65,81,.5)}.dark\:bg-gray-700\/70:is(.dark *){background-color:rgba(55,65,81,.7)}.dark\:bg-gray-800\/40:is(.dark *){background-color:rgba(31,41,55,.4)}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:hover\:border-gray-600:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700\/50:hover:is(.dark *){background-color:rgba(55,65,81,.5)}.dark\:hover\:bg-indigo-900\/20:hover:is(.dark *){background-color:rgba(49,46,129,.2)}.dark\:hover\:bg-indigo-900\/30:hover:is(.dark *){background-color:rgba(49,46,129,.3)}.dark\:hover\:bg-indigo-900\/40:hover:is(.dark *){background-color:rgba(49,46,129,.4)}.dark\:focus\:bg-gray-700:focus:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}

/* ── /my driver landing rewrite (19 Jun 2026) — utilities absent from the
 * purged theme build. Stock Tailwind v4 values. ── */
.align-top { vertical-align: top; }
.mt-0\.5 { margin-top: 0.125rem; }
.mt-8 { margin-top: 2rem; }
.pt-12 { padding-top: 3rem; }
.max-w-lg { max-width: 32rem; }
.max-w-4xl { max-width: 56rem; }
.dark\:bg-amber-900\/10:is(.dark *) { background-color: rgba(120,53,15,.1); }
@media (min-width: 768px) {
  .md\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
  .md\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
  .md\:text-5xl { font-size: 3rem; line-height: 1; }
  .md\:p-8 { padding: 2rem; }
}
@media (min-width: 1280px) {
  .xl\:max-w-3xl { max-width: 48rem; }
  .xl\:max-w-5xl { max-width: 64rem; }
}

/* ── ITSA easy-mode: shoebox + income-doc scanners (2 Jul 2026) ──────
 * Tailwind classes used by the tax-document uploaders that the pre-built
 * style.css doesn't include. Added here (the sanctioned escape hatch) so the
 * blades stay idiomatic Tailwind and render correctly in light + dark. */
.bg-indigo-50\/50 { background-color: rgba(238, 242, 255, 0.5); }
.text-indigo-800  { color: #3730a3; }
.opacity-60       { opacity: 0.6; }
.dark .dark\:bg-indigo-900\/10 { background-color: rgba(49, 46, 129, 0.1); }
.dark .dark\:hover\:border-indigo-600:hover { border-color: #4f46e5; }

/* Disabled-button dimming + emerald intro-card dark border — used app-wide
 * but absent from the pre-built style.css (2 Jul 2026). */
.disabled\:opacity-50:disabled { opacity: 0.5; }
.dark .dark\:border-emerald-800 { border-color: #065f46; }

/* Native file-input button styling (::file-selector-button) for the ITSA
 * income-doc scanners — otherwise the browser shows its default grey button. */
.file\:mr-2::file-selector-button          { margin-right: 0.5rem; }
.file\:py-1::file-selector-button          { padding-top: 0.25rem; padding-bottom: 0.25rem; }
.file\:py-1\.5::file-selector-button       { padding-top: 0.375rem; padding-bottom: 0.375rem; }
.file\:px-3::file-selector-button          { padding-left: 0.75rem; padding-right: 0.75rem; }
.file\:rounded-sm::file-selector-button    { border-radius: 0.125rem; }
.file\:border-0::file-selector-button      { border: 0; }
.file\:text-xs::file-selector-button       { font-size: 0.75rem; line-height: 1rem; }
.file\:font-semibold::file-selector-button { font-weight: 600; }
.file\:bg-indigo-100::file-selector-button { background-color: #e0e7ff; }
.file\:text-indigo-700::file-selector-button { color: #4338ca; }

/* ── 🇳🇿 GARAGE PROFILE: USE THE SCREEN ON A DESKTOP (14 Jul 2026) ───────────────
 *
 * Harshani (Qulifix Automotive, Hamilton NZ) asked to "change background colorful way".
 * She was reaching for the only lever she could see. The real problem on her page was
 * never the colour — it was the PROPORTIONS:
 *
 *   1. The services grid says `lg:grid-cols-4`, and that class DOES NOT EXIST in the
 *      pre-built stylesheet, so it silently no-ops. She was stuck at THREE columns, so
 *      seventeen services became six long rows of stretched cards. It read as empty and
 *      repetitive — which is exactly what she was trying to paint over.
 *      [[reference_style_min_css_is_pruned_prebuilt]]
 *
 *   2. Navbar/hero/footer were capped at max-w-5xl (1024px) while the main content ran to
 *      max-w-7xl (1280px). The header was visibly narrower than the content under it. You
 *      feel that before you can name it.
 *
 *   3. ~600px of dead space either side on a 1900px screen.
 *
 * ⛔ WE DO NOT GO FULL-BLEED. Text running the width of a 1900px monitor is genuinely
 * harder to read — the eye loses the line on the return sweep, which is why every serious
 * site caps its content width. Edge-to-edge would trade a mild flaw for a worse one.
 *
 * So: ONE shared shell that all four sections use (they finally line up), growing with the
 * display; and a card grid that actually gets its columns, so the gap is filled with
 * CONTENT rather than paint.
 *
 * 📱 THE PHONE DOES NOT CHANGE. Every rule below is behind min-width: 1280px. Most
 * mechanics' customers are on a phone and will never see any of this.
 */
@media (min-width: 1280px) {
  .gp-shell { max-width: 1400px !important; }
}
@media (min-width: 1600px) {
  .gp-shell { max-width: 1560px !important; }
}
@media (min-width: 1920px) {
  .gp-shell { max-width: 1720px !important; }
}

/* The services card grid can genuinely use the room — cards scale, prose would not. */
@media (min-width: 1024px) {
  .gp-grid-services { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (min-width: 1600px) {
  .gp-grid-services { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}

/* ── 🇳🇿 GARAGE HERO — grow the card with the page, and keep the text readable ──────
 *
 * The hero card was pinned at max-width:48rem. That was right when the shell stopped at
 * 1280px; once the shell reached 1720px the card looked like a small box marooned in a
 * large photograph. It grows with the screen now.
 *
 * The paragraph is capped by MEASURE (~62 characters), not by the card. Readability is a
 * function of LINE LENGTH, not of box width — a centred paragraph running the full width of
 * a wide card is harder to read, not easier, because the eye cannot find the start of the
 * next line. Widening the card and NOT capping the text would have made it worse.
 *
 * 📱 Phone unchanged: the base max-width stays inline on the element; these only bite ≥1280px.
 */
@media (min-width: 1280px) {
  .gp-hero-card { max-width: 56rem !important; }
}
@media (min-width: 1600px) {
  .gp-hero-card { max-width: 64rem !important; }
}

/* ~62 characters is the readable measure for centred body text. */
.gp-hero-about { max-width: 62ch; }

/* ── 🇳🇿 A TALLER LOGO NEEDS A TALLER BAR ────────────────────────────────────────
 *
 * Un-cropping Harshani's logo fixed the SIDES being sliced off, but not the fine print
 * INSIDE her badge — at 48px tall it renders around 7px and is unreadable. Width was no
 * longer the constraint; HEIGHT was. But the navbar row is h-16 (64px), so a 60-64px logo
 * has nowhere to go.
 *
 * So the bar grows too — 64px → 80px on a desktop, where there is room to spare. The hero's
 * top padding and the scroll offset MUST move with it, or the fixed header simply covers the
 * content it is supposed to sit above. Changing one without the others is how you ship a
 * header that eats the first line of every section.
 *
 * 📱 Phone: not one pixel. The bar stays 64px, the logo stays 36px, and the minimal header
 * is right for a small screen.
 */
@media (min-width: 1024px) {
  .gp-nav-row { height: 5rem !important; }   /* 64px → 80px */
  .gp-hero    { padding-top: 6rem !important; }
  section     { scroll-margin-top: 88px; }
}

/* ── MOT WhatsApp remind button (16 Jul 2026) ─────────────────────
 * Green variants the pre-built style.css never shipped (dark-mode bg/border
 * and both hover states). Values match Tailwind's stock green palette so the
 * button reads exactly like its indigo SMS/email siblings, in green. */
.hover\:bg-green-100:hover { background-color: #dcfce7; }
.dark .dark\:bg-green-500\/10 { background-color: rgba(34, 197, 94, 0.1); }
.dark .dark\:border-green-500\/30 { border-color: rgba(34, 197, 94, 0.3); }
.dark .dark\:hover\:bg-green-500\/20:hover { background-color: rgba(34, 197, 94, 0.2); }

/* ── 📞 SOLID phone-input flag-picker join classes (22 Jul 2026) ──────────────
 * The x-phone-input-alpine component (country flag + prefix button flush-joined
 * to the number input) uses six `sm:` utilities the pre-built style.css never
 * compiled — nothing used them at build time, so Tailwind pruned them. Without
 * them the flag button and the number input don't join on desktop (double
 * border + wrong corners) = the "shitty country code" look. Added by hand here,
 * same mechanism as the green MOT button above. Tailwind v4: sm = 40rem,
 * rounded-sm = 0.25rem. */
@media (min-width: 640px) {
  .sm\:rounded-l-sm  { border-top-left-radius: 0.25rem; border-bottom-left-radius: 0.25rem; }
  .sm\:rounded-r-sm  { border-top-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem; }
  .sm\:rounded-t-none { border-top-left-radius: 0; border-top-right-radius: 0; }
  .sm\:rounded-b-none { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
  .sm\:border-r-0 { border-right-width: 0; }
  .sm\:border-l-0 { border-left-width: 0; }
}

/* ── 📐 RESPONSIVE GRIDS — THE AUTHORITATIVE BLOCK (27 Jul 2026) ─────────────────
 *
 * 249 responsive grids across 134 blade files were NOT going responsive on production.
 * Almost every page in the app that says "one column on a phone, two or four on a
 * desktop" was staying at ONE COLUMN at every width, silently. Two separate causes,
 * both measured in the browser rather than guessed:
 *
 *   1. MOST OF THESE CLASSES WERE NEVER COMPILED. The bundle is prebuilt and pruned, so
 *      a class nobody emitted renders as nothing at all — no error, no warning. Already
 *      known for `lg:grid-cols-4` (Harshani's garage page, 14 Jul, note above); it turns
 *      out that was one of fourteen.
 *
 *   2. `.grid-cols-1` IS DECLARED TWICE IN THIS FILE — line ~408 and again ~689, in a
 *      block appended later that reasonably assumed it was only "filling a gap". But the
 *      second copy lands AFTER the responsive blocks at ~410 and ~498. Same specificity,
 *      later rule wins, so `grid-cols-1 sm:grid-cols-3` resolves to ONE column forever.
 *      Every `sm:`/`md:`/`lg:` variant defined before line 689 was dead on arrival —
 *      `md:grid-cols-2` survived only by accident of sitting at ~699.
 *
 * The fix is this block, and it is deliberately ADDITIVE: nothing above is deleted, so
 * no rule anything already depends on can disappear. Being last in the last stylesheet,
 * it simply outranks both duplicates. Values are stock Tailwind defaults, so a class
 * that DID work keeps behaving exactly as before — this can only revive, never change.
 *
 * ⚠️ Adding another `.grid-cols-N` below this block would re-break everything. Put new
 * utilities ABOVE it, or extend it in place.
 *
 * Covers every responsive grid-cols / col-span actually used in resources/views. Check
 * with scratchpad/css_check.py before assuming any Tailwind class exists.
 */
@media (min-width: 640px) {
  .sm\:grid-cols-2  { grid-template-columns: repeat(2,  minmax(0, 1fr)); }
  .sm\:grid-cols-3  { grid-template-columns: repeat(3,  minmax(0, 1fr)); }
  .sm\:grid-cols-4  { grid-template-columns: repeat(4,  minmax(0, 1fr)); }
  .sm\:grid-cols-5  { grid-template-columns: repeat(5,  minmax(0, 1fr)); }
  .sm\:grid-cols-6  { grid-template-columns: repeat(6,  minmax(0, 1fr)); }
  .sm\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .sm\:col-span-1 { grid-column: span 1 / span 1; }
  .sm\:col-span-2 { grid-column: span 2 / span 2; }
}
@media (min-width: 768px) {
  .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\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .md\:col-span-1  { grid-column: span 1  / span 1; }
  .md\:col-span-2  { grid-column: span 2  / span 2; }
  .md\:col-span-3  { grid-column: span 3  / span 3; }
  .md\:col-span-6  { grid-column: span 6  / span 6; }
  .md\:col-span-12 { grid-column: span 12 / span 12; }
}
@media (min-width: 1024px) {
  .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .lg\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .lg\:grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .lg\:grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .lg\:grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .lg\:col-span-1 { grid-column: span 1 / span 1; }
  .lg\:col-span-2 { grid-column: span 2 / span 2; }
  .lg\:col-span-3 { grid-column: span 3 / span 3; }
  .lg\:col-span-4 { grid-column: span 4 / span 4; }
}
@media (min-width: 1280px) {
  .xl\:grid-cols-4  { grid-template-columns: repeat(4,  minmax(0, 1fr)); }
  .xl\:grid-cols-6  { grid-template-columns: repeat(6,  minmax(0, 1fr)); }
  .xl\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .xl\:col-span-1 { grid-column: span 1 / span 1; }
  .xl\:col-span-3 { grid-column: span 3 / span 3; }
  .xl\:col-span-5 { grid-column: span 5 / span 5; }
  .xl\:col-span-7 { grid-column: span 7 / span 7; }
}

/* ── 🔤 DEAD UTILITIES, TRANCHE 1: TYPOGRAPHY & MECHANICS (27 Jul 2026) ─────────
 *
 * An audit of every static class in resources/views against this bundle found 1231
 * Tailwind utilities that are used but were NEVER COMPILED — 7010 occurrences. They
 * render as nothing, silently, exactly like the responsive grids above.
 *
 * Proven in the browser rather than assumed: the "CONTACT DETAILS" heading on the customer
 * page carries `tracking-wider` and computed `letter-spacing: normal`, while `uppercase`
 * and `font-semibold` on the SAME element worked. So the audit is real, not a false read.
 *
 * This tranche is the safe two-thirds of it: letter-spacing, line-height, wrapping,
 * cursors, opacity, flex alignment. Every value is stock Tailwind, so nothing that already
 * worked changes — these can only give a class the meaning it was written to have. Colour
 * (`text-*`, `bg-*`, `border-*`) is deliberately NOT here: it is 2900 more occurrences and
 * it changes how pages LOOK, so it wants Mehrdad's eyes and its own tranche.
 *
 * ⚠️ Contains no .grid-cols-* — the authoritative grid block above must stay last for those.
 */

/* letter-spacing */
.tracking-tight   { letter-spacing: -0.025em; }
.tracking-normal  { letter-spacing: 0em; }
.tracking-wide    { letter-spacing: 0.025em; }
.tracking-wider   { letter-spacing: 0.05em; }
.tracking-widest  { letter-spacing: 0.1em; }
.tracking-\[0\.3em\] { letter-spacing: 0.3em; }
.tracking-\[0\.4em\] { letter-spacing: 0.4em; }
.tracking-\[0\.5em\] { letter-spacing: 0.5em; }

/* line-height */
.leading-snug { line-height: 1.375; }
.leading-3    { line-height: 0.75rem; }
.leading-6    { line-height: 1.5rem; }

/* flex child */
.flex-shrink-0 { flex-shrink: 0; }
.self-start   { align-self: flex-start; }
.self-end     { align-self: flex-end; }
.self-stretch { align-self: stretch; }

/* wrapping + text */
.break-words { overflow-wrap: break-word; }
.break-all   { word-break: break-all; }
.whitespace-pre-line { white-space: pre-line; }
.whitespace-pre-wrap { white-space: pre-wrap; }
.not-italic  { font-style: normal; }
.capitalize  { text-transform: capitalize; }
.tabular-nums { font-variant-numeric: tabular-nums; }
.align-middle { vertical-align: middle; }
.resize-none { resize: none; }
.object-contain { object-fit: contain; }

/* aspect ratios */
.aspect-square    { aspect-ratio: 1 / 1; }
.aspect-\[3\/4\]  { aspect-ratio: 3 / 4; }
.aspect-\[3\/1\]  { aspect-ratio: 3 / 1; }
.aspect-4\/3      { aspect-ratio: 4 / 3; }

/* opacity */
.opacity-25 { opacity: 0.25; }
.opacity-30 { opacity: 0.30; }
.opacity-40 { opacity: 0.40; }
.hover\:opacity-80:hover { opacity: 0.80; }
.group:hover .group-hover\:opacity-90 { opacity: 0.90; }

/* cursors */
.cursor-default    { cursor: default; }
.cursor-help       { cursor: help; }
.cursor-wait       { cursor: wait; }
.cursor-crosshair  { cursor: crosshair; }
.cursor-zoom-in    { cursor: zoom-in; }

/* disabled: — the state a button spends most of its life in mid-request */
.disabled\:opacity-25:disabled { opacity: 0.25; }
.disabled\:opacity-30:disabled { opacity: 0.30; }
.disabled\:opacity-40:disabled { opacity: 0.40; }
.disabled\:opacity-60:disabled { opacity: 0.60; }
.disabled\:cursor-not-allowed:disabled { cursor: not-allowed; }
.disabled\:cursor-wait:disabled { cursor: wait; }

/* misc */
.hover\:no-underline:hover { text-decoration-line: none; }
.items-baseline { align-items: baseline; }
.z-\[70\]   { z-index: 70; }
.z-\[90\]   { z-index: 90; }
.z-\[1100\] { z-index: 1100; }
.z-\[1110\] { z-index: 1110; }
.z-\[9999\] { z-index: 9999; }
.focus\:z-50:focus { z-index: 50; }

@media (min-width: 640px) {
  .sm\:items-center  { align-items: center; }
  .sm\:items-start   { align-items: flex-start; }
  .sm\:items-end     { align-items: flex-end; }
  .sm\:items-stretch { align-items: stretch; }
  .sm\:justify-between { justify-content: space-between; }
  .sm\:justify-start   { justify-content: flex-start; }
  .sm\:justify-end     { justify-content: flex-end; }
  .sm\:self-end { align-self: flex-end; }
  .sm\:order-1 { order: 1; }
  .sm\:order-2 { order: 2; }
}
@media (min-width: 768px) {
  .md\:items-center { align-items: center; }
  .md\:items-end    { align-items: flex-end; }
  .md\:justify-start { justify-content: flex-start; }
}

/* ── 📍 DEAD UTILITIES, TRANCHE 2: POSITIONING (27 Jul 2026) ───────────────────
 *
 * Higher stakes than tranche 1. A missing letter-spacing looks slightly off; a missing
 * POSITION offset puts the element somewhere else entirely.
 *
 * Found by auditing the customer dashboard at phone width: the floating help button is
 * written `fixed bottom-4 right-4 z-50` and was measured sitting at x=0 — the BOTTOM LEFT
 * of the screen, over the page content. `bottom-4` exists in the bundle, `right-4` does
 * not, so the element simply had no right offset and fell to the left edge. On every
 * customer page, on every phone.
 *
 * 28 classes, 155 occurrences across resources/views. Stock Tailwind spacing (1 = 0.25rem).
 *
 * ⚠️ These are PHYSICAL sides on purpose, because that is what the markup asked for. If a
 * surface needs to flip for Arabic, the fix there is `end-4`/`start-4` in the blade, not a
 * redefinition here — `end-4` already ships.
 * ⚠️ Contains no .grid-cols-* — the authoritative grid block above must stay last for those.
 */
.inset-y-0 { top: 0; bottom: 0; }
.top-0 { top: 0; } .right-0 { right: 0; } .bottom-0 { bottom: 0; } .left-0 { left: 0; }
.top-1 { top: .25rem; } .right-1 { right: .25rem; } .bottom-1 { bottom: .25rem; } .left-1 { left: .25rem; }
.top-1\.5 { top: .375rem; } .right-1\.5 { right: .375rem; } .bottom-1\.5 { bottom: .375rem; }
.top-2 { top: .5rem; } .right-2 { right: .5rem; } .bottom-2 { bottom: .5rem; } .left-2 { left: .5rem; }
.top-2\.5 { top: .625rem; }
.top-3 { top: .75rem; } .right-3 { right: .75rem; } .bottom-3 { bottom: .75rem; } .left-3 { left: .75rem; }
.right-4 { right: 1rem; } .left-4 { left: 1rem; }
.left-10 { left: 2.5rem; }
.left-1\/2 { left: 50%; }
.focus\:top-2:focus { top: .5rem; }
.focus\:left-2:focus { left: .5rem; }
@media (min-width: 768px)  { .md\:left-\[17rem\] { left: 17rem; } }
@media (min-width: 1024px) { .lg\:top-4 { top: 1rem; } .lg\:top-8 { top: 2rem; } .lg\:top-24 { top: 6rem; } }
@media (min-width: 1280px) { .xl\:top-6 { top: 1.5rem; } }

/* ── 🌒 DEAD UTILITIES, TRANCHE 3: STATE & MODE (28 Jul 2026) ──────────────────
 *
 * 775 classes, 3,343 occurrences in resources/views that no bundle defined. The
 * markup asked for them; nothing happened.
 *
 *   dark:*                407 classes / 1,767 uses  — dark mode was showing the LIGHT
 *                                                     colour, because the override that
 *                                                     was supposed to replace it did not exist
 *   hover: focus: active: 225 classes /   751 uses  — no interaction feedback at all
 *   sm: md: lg: xl:       143 classes /   825 uses  — the responsive override never applied,
 *                                                     so the base value won at every width
 *
 * Worst offenders: dark:divide-gray-700 (116) · dark:text-gray-600 (103) ·
 * dark:focus:border-indigo-500 (65) · md:pt-20 (63) · lg:sticky (53) · md:pb-28 (52).
 *
 * These three groups are appended together because none of them can change a page that
 * renders correctly today — they only fire in a state or at a width that is currently
 * unstyled or actively wrong. The 747 remaining dead classes paint the DEFAULT state and
 * are deliberately NOT here; they change how pages look right now and need a human eye.
 *
 * GENERATED, not hand-written: built with this repo's own tailwindcss 3.4.19 against a
 * source file containing exactly these class names, `darkMode: 'class'`, preflight off.
 * That is why dark rules read `:is(.dark *)` — Tailwind 3.4's spelling of the same
 * descendant match as the older `.dark .dark\:x` blocks above. Identical specificity
 * (0,2,0); both forms already coexist in this file.
 *
 * ⚠️ 12 rules are HAND-WRITTEN at the end of this block, and must stay that way.
 * Tailwind writes transforms and filters as a chain of `--tw-*` custom properties that
 * its preflight normally defaults on `*`. This app ships no preflight and no such
 * defaults block, so `transform: translate(var(--tw-translate-x), ...) scaleX(...)` is
 * invalid at computed-value time and the browser DROPS IT — the class would have shipped
 * dead, exactly like the ring family below. Verified no element in resources/views
 * combines two transform utilities, which is the only thing the var chain buys.
 *
 * ⛔ NOT INCLUDED — 37 ring-* classes (~150 uses). Ring colour utilities only set
 * `--tw-ring-color`, and nothing in this codebase consumes it: the only working ring
 * widths are the hand-written `--mvk-ring` rules ~line 640. Shipping them would add 37
 * rules that do nothing. Rings need one deliberate pass (widths and colours together)
 * because `.focus\:ring-2` and `.focus\:ring-indigo-500` both set box-shadow, so
 * whichever sits later in this file wins — today that means `focus:ring-2
 * focus:ring-indigo-500` paints a 1px ring, not 2px.
 *
 * ⛔ Three classes in the markup are INVALID and were dropped, not defined:
 *   dark:hover:bg-gray-750  — Tailwind has no 750 step (_call-log, mail/index)
 *   lg:flex-start           — not a class; flex-start is a value (landing/index, header)
 *   dark:prose-invert       — @tailwindcss/typography is not installed, so prose,
 *                             prose-lg and prose-invert are ALL dead on the 5 views
 *                             that use them (parking about/contact, help-centre)
 *
 * ⚠️ Contains no plain .grid-cols-N — the authoritative grid block above must stay last
 * for those. The three `sm:grid-cols-[1fr_140px]` here are arbitrary-value selectors and
 * cannot collide with it.
 *
 * Re-measure with scratchpad/css_scan.py; verify one class with css_check.py, never a
 * naive grep — the bundle escapes `.` `/` `:` and grep gives false negatives on exactly
 * the classes that matter.
 */
.marker\:font-bold *::marker {
  font-weight: 700
}

.marker\:text-indigo-500 *::marker {
  color: rgb(99 102 241 )
}

.marker\:text-red-500 *::marker {
  color: rgb(239 68 68 )
}

.marker\:font-bold::marker {
  font-weight: 700
}

.marker\:text-indigo-500::marker {
  color: rgb(99 102 241 )
}

.marker\:text-red-500::marker {
  color: rgb(239 68 68 )
}

.file\:mr-3::file-selector-button {
  margin-right: 0.75rem
}

.file\:mr-4::file-selector-button {
  margin-right: 1rem
}

.file\:cursor-pointer::file-selector-button {
  cursor: pointer
}

.file\:rounded::file-selector-button {
  border-radius: 0.25rem
}

.file\:rounded-lg::file-selector-button {
  border-radius: 0.5rem
}

.file\:bg-indigo-50::file-selector-button {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1))
}

.file\:bg-indigo-500::file-selector-button {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1))
}

.file\:px-4::file-selector-button {
  padding-left: 1rem;
  padding-right: 1rem
}

.file\:py-2::file-selector-button {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem
}

.file\:text-sm::file-selector-button {
  font-size: 0.875rem;
  line-height: 1.25rem
}

.file\:font-medium::file-selector-button {
  font-weight: 500
}

.file\:text-indigo-600::file-selector-button {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1))
}

.file\:text-white::file-selector-button {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.placeholder\:font-sans::-moz-placeholder {
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"
}

.placeholder\:font-sans::placeholder {
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"
}

.placeholder\:text-base::-moz-placeholder {
  font-size: 1rem;
  line-height: 1.5rem
}

.placeholder\:text-base::placeholder {
  font-size: 1rem;
  line-height: 1.5rem
}

.placeholder\:text-sm::-moz-placeholder {
  font-size: 0.875rem;
  line-height: 1.25rem
}

.placeholder\:text-sm::placeholder {
  font-size: 0.875rem;
  line-height: 1.25rem
}

.first\:pt-0:first-child {
  padding-top: 0px
}

.last\:border-0:last-child {
  border-width: 0px
}

.last\:border-b-0:last-child {
  border-bottom-width: 0px
}

.last\:pb-0:last-child {
  padding-bottom: 0px
}

.focus-within\:border-green-400:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1))
}

.focus-within\:border-red-400:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1))
}

.focus-within\:bg-white:focus-within {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))
}

.hover\:border-amber-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1))
}

.hover\:border-amber-500\/50:hover {
  border-color: rgb(245 158 11 / 0.5)
}

.hover\:border-blue-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1))
}

.hover\:border-blue-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1))
}

.hover\:border-blue-500:hover {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1))
}

.hover\:border-blue-600:hover {
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1))
}

.hover\:border-cyan-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(165 243 252 / var(--tw-border-opacity, 1))
}

.hover\:border-cyan-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(34 211 238 / var(--tw-border-opacity, 1))
}

.hover\:border-cyan-500:hover {
  --tw-border-opacity: 1;
  border-color: rgb(6 182 212 / var(--tw-border-opacity, 1))
}

.hover\:border-emerald-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(52 211 153 / var(--tw-border-opacity, 1))
}

.hover\:border-emerald-500:hover {
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1))
}

.hover\:border-emerald-600:hover {
  --tw-border-opacity: 1;
  border-color: rgb(5 150 105 / var(--tw-border-opacity, 1))
}

.hover\:border-gray-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1))
}

.hover\:border-gray-500:hover {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1))
}

.hover\:border-green-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1))
}

.hover\:border-green-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1))
}

.hover\:border-green-700:hover {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1))
}

.hover\:border-purple-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(233 213 255 / var(--tw-border-opacity, 1))
}

.hover\:border-purple-600:hover {
  --tw-border-opacity: 1;
  border-color: rgb(147 51 234 / var(--tw-border-opacity, 1))
}

.hover\:border-red-700:hover {
  --tw-border-opacity: 1;
  border-color: rgb(185 28 28 / var(--tw-border-opacity, 1))
}

.hover\:border-rose-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(253 164 175 / var(--tw-border-opacity, 1))
}

.hover\:border-white:hover {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1))
}

.hover\:bg-amber-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1))
}

.hover\:bg-amber-300:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(252 211 77 / var(--tw-bg-opacity, 1))
}

.hover\:bg-amber-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1))
}

.hover\:bg-amber-500\/20:hover {
  background-color: rgb(245 158 11 / 0.2)
}

.hover\:bg-amber-900\/30:hover {
  background-color: rgb(120 53 15 / 0.3)
}

.hover\:bg-blue-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1))
}

.hover\:bg-blue-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1))
}

.hover\:bg-blue-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1))
}

.hover\:bg-blue-500\/20:hover {
  background-color: rgb(59 130 246 / 0.2)
}

.hover\:bg-blue-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1))
}

.hover\:bg-cyan-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1))
}

.hover\:bg-cyan-50\/50:hover {
  background-color: rgb(236 254 255 / 0.5)
}

.hover\:bg-emerald-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(167 243 208 / var(--tw-bg-opacity, 1))
}

.hover\:bg-emerald-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1))
}

.hover\:bg-emerald-50\/30:hover {
  background-color: rgb(236 253 245 / 0.3)
}

.hover\:bg-emerald-500\/20:hover {
  background-color: rgb(16 185 129 / 0.2)
}

.hover\:bg-emerald-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(6 95 70 / var(--tw-bg-opacity, 1))
}

.hover\:bg-gray-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1))
}

.hover\:bg-gray-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1))
}

.hover\:bg-gray-700\/30:hover {
  background-color: rgb(55 65 81 / 0.3)
}

.hover\:bg-gray-700\/50:hover {
  background-color: rgb(55 65 81 / 0.5)
}

.hover\:bg-gray-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1))
}

.hover\:bg-green-50\/50:hover {
  background-color: rgb(240 253 244 / 0.5)
}

.hover\:bg-green-500\/20:hover {
  background-color: rgb(34 197 94 / 0.2)
}

.hover\:bg-indigo-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(199 210 254 / var(--tw-bg-opacity, 1))
}

.hover\:bg-indigo-50\/40:hover {
  background-color: rgb(238 242 255 / 0.4)
}

.hover\:bg-indigo-50\/50:hover {
  background-color: rgb(238 242 255 / 0.5)
}

.hover\:bg-indigo-500\/15:hover {
  background-color: rgb(99 102 241 / 0.15)
}

.hover\:bg-indigo-500\/20:hover {
  background-color: rgb(99 102 241 / 0.2)
}

.hover\:bg-indigo-900\/20:hover {
  background-color: rgb(49 46 129 / 0.2)
}

.hover\:bg-orange-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 215 170 / var(--tw-bg-opacity, 1))
}

.hover\:bg-orange-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1))
}

.hover\:bg-pink-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1))
}

.hover\:bg-purple-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1))
}

.hover\:bg-purple-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(107 33 168 / var(--tw-bg-opacity, 1))
}

.hover\:bg-red-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1))
}

.hover\:bg-red-50\/50:hover {
  background-color: rgb(254 242 242 / 0.5)
}

.hover\:bg-red-500\/20:hover {
  background-color: rgb(239 68 68 / 0.2)
}

.hover\:bg-red-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1))
}

.hover\:bg-red-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(153 27 27 / var(--tw-bg-opacity, 1))
}

.hover\:bg-red-900\/30:hover {
  background-color: rgb(127 29 29 / 0.3)
}

.hover\:bg-rose-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1))
}

.hover\:bg-rose-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1))
}

.hover\:bg-rose-500\/20:hover {
  background-color: rgb(244 63 94 / 0.2)
}

.hover\:bg-rose-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(159 18 57 / var(--tw-bg-opacity, 1))
}

.hover\:bg-sky-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1))
}

.hover\:bg-sky-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(2 132 199 / var(--tw-bg-opacity, 1))
}

.hover\:bg-sky-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(3 105 161 / var(--tw-bg-opacity, 1))
}

.hover\:bg-slate-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1))
}

.hover\:bg-teal-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / var(--tw-bg-opacity, 1))
}

.hover\:bg-teal-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(13 148 136 / var(--tw-bg-opacity, 1))
}

.hover\:bg-teal-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(15 118 110 / var(--tw-bg-opacity, 1))
}

.hover\:bg-violet-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1))
}

.hover\:bg-violet-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / var(--tw-bg-opacity, 1))
}

.hover\:bg-violet-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(109 40 217 / var(--tw-bg-opacity, 1))
}

.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2)
}

.hover\:bg-white\/60:hover {
  background-color: rgb(255 255 255 / 0.6)
}

.hover\:bg-yellow-300:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(253 224 71 / var(--tw-bg-opacity, 1))
}

.hover\:bg-yellow-900\/30:hover {
  background-color: rgb(113 63 18 / 0.3)
}

.hover\:from-amber-100:hover {
  --tw-gradient-from: #fef3c7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 243 199 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.hover\:from-amber-500:hover {
  --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.hover\:from-indigo-100:hover {
  --tw-gradient-from: #e0e7ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(224 231 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.hover\:from-indigo-700:hover {
  --tw-gradient-from: #4338ca var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(67 56 202 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.hover\:to-amber-600:hover {
  --tw-gradient-to: #d97706 var(--tw-gradient-to-position)
}

.hover\:to-green-700:hover {
  --tw-gradient-to: #15803d var(--tw-gradient-to-position)
}

.hover\:to-indigo-700:hover {
  --tw-gradient-to: #4338ca var(--tw-gradient-to-position)
}

.hover\:to-pink-700:hover {
  --tw-gradient-to: #be185d var(--tw-gradient-to-position)
}

.hover\:to-purple-100:hover {
  --tw-gradient-to: #f3e8ff var(--tw-gradient-to-position)
}

.hover\:to-purple-700:hover {
  --tw-gradient-to: #7e22ce var(--tw-gradient-to-position)
}

.hover\:to-yellow-100:hover {
  --tw-gradient-to: #fef9c3 var(--tw-gradient-to-position)
}

.hover\:text-amber-200:hover {
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1))
}

.hover\:text-amber-300:hover {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1))
}

.hover\:text-amber-400:hover {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1))
}

.hover\:text-amber-600:hover {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1))
}

.hover\:text-amber-700:hover {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1))
}

.hover\:text-amber-900:hover {
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1))
}

.hover\:text-blue-600:hover {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1))
}

.hover\:text-blue-800:hover {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1))
}

.hover\:text-cyan-600:hover {
  --tw-text-opacity: 1;
  color: rgb(8 145 178 / var(--tw-text-opacity, 1))
}

.hover\:text-cyan-700:hover {
  --tw-text-opacity: 1;
  color: rgb(14 116 144 / var(--tw-text-opacity, 1))
}

.hover\:text-emerald-300:hover {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1))
}

.hover\:text-emerald-400:hover {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1))
}

.hover\:text-emerald-500:hover {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1))
}

.hover\:text-emerald-600:hover {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1))
}

.hover\:text-emerald-700:hover {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1))
}

.hover\:text-emerald-800:hover {
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1))
}

.hover\:text-emerald-900:hover {
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity, 1))
}

.hover\:text-gray-400:hover {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1))
}

.hover\:text-gray-500:hover {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1))
}

.hover\:text-gray-800:hover {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1))
}

.hover\:text-green-600:hover {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1))
}

.hover\:text-green-700:hover {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1))
}

.hover\:text-green-800:hover {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1))
}

.hover\:text-green-900:hover {
  --tw-text-opacity: 1;
  color: rgb(20 83 45 / var(--tw-text-opacity, 1))
}

.hover\:text-indigo-200:hover {
  --tw-text-opacity: 1;
  color: rgb(199 210 254 / var(--tw-text-opacity, 1))
}

.hover\:text-indigo-300:hover {
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1))
}

.hover\:text-indigo-400:hover {
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1))
}

.hover\:text-indigo-900:hover {
  --tw-text-opacity: 1;
  color: rgb(49 46 129 / var(--tw-text-opacity, 1))
}

.hover\:text-orange-500:hover {
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / var(--tw-text-opacity, 1))
}

.hover\:text-orange-800:hover {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1))
}

.hover\:text-purple-500:hover {
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1))
}

.hover\:text-purple-600:hover {
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1))
}

.hover\:text-purple-700:hover {
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / var(--tw-text-opacity, 1))
}

.hover\:text-purple-800:hover {
  --tw-text-opacity: 1;
  color: rgb(107 33 168 / var(--tw-text-opacity, 1))
}

.hover\:text-red-300:hover {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1))
}

.hover\:text-red-400:hover {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1))
}

.hover\:text-red-700:hover {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1))
}

.hover\:text-rose-500:hover {
  --tw-text-opacity: 1;
  color: rgb(244 63 94 / var(--tw-text-opacity, 1))
}

.hover\:text-rose-600:hover {
  --tw-text-opacity: 1;
  color: rgb(225 29 72 / var(--tw-text-opacity, 1))
}

.hover\:text-rose-800:hover {
  --tw-text-opacity: 1;
  color: rgb(159 18 57 / var(--tw-text-opacity, 1))
}

.hover\:text-teal-500:hover {
  --tw-text-opacity: 1;
  color: rgb(20 184 166 / var(--tw-text-opacity, 1))
}

.hover\:text-teal-800:hover {
  --tw-text-opacity: 1;
  color: rgb(17 94 89 / var(--tw-text-opacity, 1))
}

.hover\:text-violet-700:hover {
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity, 1))
}

.hover\:text-yellow-600:hover {
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity, 1))
}

.hover\:text-yellow-900:hover {
  --tw-text-opacity: 1;
  color: rgb(113 63 18 / var(--tw-text-opacity, 1))
}

.hover\:opacity-95:hover {
  opacity: 0.95
}

.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);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.hover\:shadow-2xl:hover {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  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);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.hover\:file\:bg-indigo-100::file-selector-button:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1))
}

.hover\:file\:bg-indigo-200::file-selector-button:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(199 210 254 / var(--tw-bg-opacity, 1))
}

.hover\:file\:bg-indigo-600::file-selector-button:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1))
}

.focus\:not-sr-only:focus {
  position: static;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal
}

.focus\:fixed:focus {
  position: fixed
}

.focus\:rounded:focus {
  border-radius: 0.25rem
}

.focus\:border-amber-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1))
}

.focus\:border-amber-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1))
}

.focus\:border-blue-600:focus {
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1))
}

.focus\:border-cyan-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(34 211 238 / var(--tw-border-opacity, 1))
}

.focus\:border-emerald-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1))
}

.focus\:border-emerald-600:focus {
  --tw-border-opacity: 1;
  border-color: rgb(5 150 105 / var(--tw-border-opacity, 1))
}

.focus\:border-pink-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(244 114 182 / var(--tw-border-opacity, 1))
}

.focus\:border-purple-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1))
}

.focus\:border-purple-600:focus {
  --tw-border-opacity: 1;
  border-color: rgb(147 51 234 / var(--tw-border-opacity, 1))
}

.focus\:border-red-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1))
}

.focus\:border-teal-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(20 184 166 / var(--tw-border-opacity, 1))
}

.focus\:border-transparent:focus {
  border-color: transparent
}

.focus\:bg-blue-600:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1))
}

.focus\:bg-emerald-600:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1))
}

.focus\:bg-indigo-50:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1))
}

.focus\:bg-purple-600:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1))
}

.focus\:px-4:focus {
  padding-left: 1rem;
  padding-right: 1rem
}

.focus\:py-2:focus {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem
}

.focus\:shadow-lg:focus {
  --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);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.active\:bg-gray-700\/50:active {
  background-color: rgb(55 65 81 / 0.5)
}

.active\:bg-indigo-800:active {
  --tw-bg-opacity: 1;
  background-color: rgb(55 48 163 / var(--tw-bg-opacity, 1))
}

.disabled\:bg-gray-300:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1))
}

.disabled\:text-gray-300:disabled {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:border-indigo-400 {
  --tw-border-opacity: 1;
  border-color: rgb(129 140 248 / var(--tw-border-opacity, 1))
}

.group:hover .group-hover\:bg-black\/20 {
  background-color: rgb(0 0 0 / 0.2)
}

.group:hover .group-hover\:text-amber-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-cyan-400 {
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-indigo-300 {
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-indigo-400 {
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-indigo-600 {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-indigo-700 {
  --tw-text-opacity: 1;
  color: rgb(67 56 202 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-purple-400 {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-purple-600 {
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-purple-700 {
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / var(--tw-text-opacity, 1))
}

.peer:checked ~ .peer-checked\:border-indigo-500 {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1))
}

.peer:checked ~ .peer-checked\:bg-indigo-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1))
}

.dark\:block:is(.dark *) {
  display: block
}

.dark\:hidden:is(.dark *) {
  display: none
}

.dark\:divide-gray-700:is(.dark *) > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-divide-opacity, 1))
}

.dark\:divide-gray-700\/60:is(.dark *) > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(55 65 81 / 0.6)
}

.dark\:divide-gray-800:is(.dark *) > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(31 41 55 / var(--tw-divide-opacity, 1))
}

.dark\:border:is(.dark *) {
  border-width: 1px
}

.dark\:border-amber-500\/60:is(.dark *) {
  border-color: rgb(245 158 11 / 0.6)
}

.dark\:border-amber-600\/50:is(.dark *) {
  border-color: rgb(217 119 6 / 0.5)
}

.dark\:border-amber-700\/30:is(.dark *) {
  border-color: rgb(180 83 9 / 0.3)
}

.dark\:border-amber-700\/50:is(.dark *) {
  border-color: rgb(180 83 9 / 0.5)
}

.dark\:border-amber-700\/60:is(.dark *) {
  border-color: rgb(180 83 9 / 0.6)
}

.dark\:border-amber-800\/30:is(.dark *) {
  border-color: rgb(146 64 14 / 0.3)
}

.dark\:border-amber-800\/40:is(.dark *) {
  border-color: rgb(146 64 14 / 0.4)
}

.dark\:border-amber-800\/60:is(.dark *) {
  border-color: rgb(146 64 14 / 0.6)
}

.dark\:border-amber-900:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(120 53 15 / var(--tw-border-opacity, 1))
}

.dark\:border-amber-900\/30:is(.dark *) {
  border-color: rgb(120 53 15 / 0.3)
}

.dark\:border-amber-900\/40:is(.dark *) {
  border-color: rgb(120 53 15 / 0.4)
}

.dark\:border-blue-500\/30:is(.dark *) {
  border-color: rgb(59 130 246 / 0.3)
}

.dark\:border-blue-600:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1))
}

.dark\:border-cyan-700\/40:is(.dark *) {
  border-color: rgb(14 116 144 / 0.4)
}

.dark\:border-cyan-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(21 94 117 / var(--tw-border-opacity, 1))
}

.dark\:border-emerald-500\/60:is(.dark *) {
  border-color: rgb(16 185 129 / 0.6)
}

.dark\:border-emerald-600:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(5 150 105 / var(--tw-border-opacity, 1))
}

.dark\:border-emerald-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(4 120 87 / var(--tw-border-opacity, 1))
}

.dark\:border-emerald-700\/60:is(.dark *) {
  border-color: rgb(4 120 87 / 0.6)
}

.dark\:border-emerald-800\/30:is(.dark *) {
  border-color: rgb(6 95 70 / 0.3)
}

.dark\:border-emerald-800\/40:is(.dark *) {
  border-color: rgb(6 95 70 / 0.4)
}

.dark\:border-emerald-800\/50:is(.dark *) {
  border-color: rgb(6 95 70 / 0.5)
}

.dark\:border-gray-700\/40:is(.dark *) {
  border-color: rgb(55 65 81 / 0.4)
}

.dark\:border-gray-700\/60:is(.dark *) {
  border-color: rgb(55 65 81 / 0.6)
}

.dark\:border-green-600:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1))
}

.dark\:border-green-600\/50:is(.dark *) {
  border-color: rgb(22 163 74 / 0.5)
}

.dark\:border-green-700\/40:is(.dark *) {
  border-color: rgb(21 128 61 / 0.4)
}

.dark\:border-green-900\/40:is(.dark *) {
  border-color: rgb(20 83 45 / 0.4)
}

.dark\:border-green-900\/50:is(.dark *) {
  border-color: rgb(20 83 45 / 0.5)
}

.dark\:border-indigo-400:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(129 140 248 / var(--tw-border-opacity, 1))
}

.dark\:border-indigo-500:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1))
}

.dark\:border-indigo-500\/20:is(.dark *) {
  border-color: rgb(99 102 241 / 0.2)
}

.dark\:border-indigo-500\/40:is(.dark *) {
  border-color: rgb(99 102 241 / 0.4)
}

.dark\:border-indigo-600\/50:is(.dark *) {
  border-color: rgb(79 70 229 / 0.5)
}

.dark\:border-indigo-700\/50:is(.dark *) {
  border-color: rgb(67 56 202 / 0.5)
}

.dark\:border-indigo-700\/60:is(.dark *) {
  border-color: rgb(67 56 202 / 0.6)
}

.dark\:border-indigo-800\/40:is(.dark *) {
  border-color: rgb(55 48 163 / 0.4)
}

.dark\:border-indigo-900:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(49 46 129 / var(--tw-border-opacity, 1))
}

.dark\:border-indigo-900\/30:is(.dark *) {
  border-color: rgb(49 46 129 / 0.3)
}

.dark\:border-indigo-900\/40:is(.dark *) {
  border-color: rgb(49 46 129 / 0.4)
}

.dark\:border-indigo-900\/50:is(.dark *) {
  border-color: rgb(49 46 129 / 0.5)
}

.dark\:border-orange-600:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(234 88 12 / var(--tw-border-opacity, 1))
}

.dark\:border-orange-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(154 52 18 / var(--tw-border-opacity, 1))
}

.dark\:border-pink-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(190 24 93 / var(--tw-border-opacity, 1))
}

.dark\:border-pink-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(157 23 77 / var(--tw-border-opacity, 1))
}

.dark\:border-red-500:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1))
}

.dark\:border-red-500\/30:is(.dark *) {
  border-color: rgb(239 68 68 / 0.3)
}

.dark\:border-red-600:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1))
}

.dark\:border-red-700\/60:is(.dark *) {
  border-color: rgb(185 28 28 / 0.6)
}

.dark\:border-red-900:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(127 29 29 / var(--tw-border-opacity, 1))
}

.dark\:border-red-900\/30:is(.dark *) {
  border-color: rgb(127 29 29 / 0.3)
}

.dark\:border-red-900\/40:is(.dark *) {
  border-color: rgb(127 29 29 / 0.4)
}

.dark\:border-red-900\/50:is(.dark *) {
  border-color: rgb(127 29 29 / 0.5)
}

.dark\:border-rose-500\/30:is(.dark *) {
  border-color: rgb(244 63 94 / 0.3)
}

.dark\:border-rose-600:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(225 29 72 / var(--tw-border-opacity, 1))
}

.dark\:border-rose-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(190 18 60 / var(--tw-border-opacity, 1))
}

.dark\:border-rose-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(159 18 57 / var(--tw-border-opacity, 1))
}

.dark\:border-rose-900\/50:is(.dark *) {
  border-color: rgb(136 19 55 / 0.5)
}

.dark\:border-sky-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(3 105 161 / var(--tw-border-opacity, 1))
}

.dark\:border-sky-700\/50:is(.dark *) {
  border-color: rgb(3 105 161 / 0.5)
}

.dark\:border-sky-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(7 89 133 / var(--tw-border-opacity, 1))
}

.dark\:border-slate-600:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(71 85 105 / var(--tw-border-opacity, 1))
}

.dark\:border-teal-600:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(13 148 136 / var(--tw-border-opacity, 1))
}

.dark\:border-violet-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(109 40 217 / var(--tw-border-opacity, 1))
}

.dark\:border-violet-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(91 33 182 / var(--tw-border-opacity, 1))
}

.dark\:border-yellow-600:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(202 138 4 / var(--tw-border-opacity, 1))
}

.dark\:border-yellow-600\/50:is(.dark *) {
  border-color: rgb(202 138 4 / 0.5)
}

.dark\:border-l-amber-500:is(.dark *) {
  --tw-border-opacity: 1;
  border-left-color: rgb(245 158 11 / var(--tw-border-opacity, 1))
}

.dark\:border-l-green-500:is(.dark *) {
  --tw-border-opacity: 1;
  border-left-color: rgb(34 197 94 / var(--tw-border-opacity, 1))
}

.dark\:border-l-indigo-500:is(.dark *) {
  --tw-border-opacity: 1;
  border-left-color: rgb(99 102 241 / var(--tw-border-opacity, 1))
}

.dark\:border-l-yellow-500:is(.dark *) {
  --tw-border-opacity: 1;
  border-left-color: rgb(234 179 8 / var(--tw-border-opacity, 1))
}

.dark\:bg-amber-500\/10:is(.dark *) {
  background-color: rgb(245 158 11 / 0.1)
}

.dark\:bg-amber-500\/15:is(.dark *) {
  background-color: rgb(245 158 11 / 0.15)
}

.dark\:bg-amber-500\/20:is(.dark *) {
  background-color: rgb(245 158 11 / 0.2)
}

.dark\:bg-amber-700:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1))
}

.dark\:bg-amber-800:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(146 64 14 / var(--tw-bg-opacity, 1))
}

.dark\:bg-amber-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(120 53 15 / var(--tw-bg-opacity, 1))
}

.dark\:bg-amber-950\/20:is(.dark *) {
  background-color: rgb(69 26 3 / 0.2)
}

.dark\:bg-amber-950\/30:is(.dark *) {
  background-color: rgb(69 26 3 / 0.3)
}

.dark\:bg-amber-950\/40:is(.dark *) {
  background-color: rgb(69 26 3 / 0.4)
}

.dark\:bg-black:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1))
}

.dark\:bg-blue-500\/10:is(.dark *) {
  background-color: rgb(59 130 246 / 0.1)
}

.dark\:bg-blue-500\/20:is(.dark *) {
  background-color: rgb(59 130 246 / 0.2)
}

.dark\:bg-blue-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(30 58 138 / var(--tw-bg-opacity, 1))
}

.dark\:bg-blue-900\/10:is(.dark *) {
  background-color: rgb(30 58 138 / 0.1)
}

.dark\:bg-blue-900\/40:is(.dark *) {
  background-color: rgb(30 58 138 / 0.4)
}

.dark\:bg-blue-900\/50:is(.dark *) {
  background-color: rgb(30 58 138 / 0.5)
}

.dark\:bg-blue-950\/30:is(.dark *) {
  background-color: rgb(23 37 84 / 0.3)
}

.dark\:bg-cyan-400:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(34 211 238 / var(--tw-bg-opacity, 1))
}

.dark\:bg-cyan-900\/20:is(.dark *) {
  background-color: rgb(22 78 99 / 0.2)
}

.dark\:bg-emerald-400:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1))
}

.dark\:bg-emerald-500\/15:is(.dark *) {
  background-color: rgb(16 185 129 / 0.15)
}

.dark\:bg-emerald-500\/20:is(.dark *) {
  background-color: rgb(16 185 129 / 0.2)
}

.dark\:bg-emerald-600:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1))
}

.dark\:bg-emerald-800:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(6 95 70 / var(--tw-bg-opacity, 1))
}

.dark\:bg-emerald-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(6 78 59 / var(--tw-bg-opacity, 1))
}

.dark\:bg-emerald-900\/10:is(.dark *) {
  background-color: rgb(6 78 59 / 0.1)
}

.dark\:bg-emerald-900\/15:is(.dark *) {
  background-color: rgb(6 78 59 / 0.15)
}

.dark\:bg-emerald-900\/50:is(.dark *) {
  background-color: rgb(6 78 59 / 0.5)
}

.dark\:bg-emerald-950\/30:is(.dark *) {
  background-color: rgb(2 44 34 / 0.3)
}

.dark\:bg-emerald-950\/40:is(.dark *) {
  background-color: rgb(2 44 34 / 0.4)
}

.dark\:bg-gray-500:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1))
}

.dark\:bg-gray-500\/20:is(.dark *) {
  background-color: rgb(107 114 128 / 0.2)
}

.dark\:bg-gray-700\/10:is(.dark *) {
  background-color: rgb(55 65 81 / 0.1)
}

.dark\:bg-gray-800\/30:is(.dark *) {
  background-color: rgb(31 41 55 / 0.3)
}

.dark\:bg-gray-800\/50:is(.dark *) {
  background-color: rgb(31 41 55 / 0.5)
}

.dark\:bg-gray-800\/60:is(.dark *) {
  background-color: rgb(31 41 55 / 0.6)
}

.dark\:bg-gray-800\/90:is(.dark *) {
  background-color: rgb(31 41 55 / 0.9)
}

.dark\:bg-gray-900\/10:is(.dark *) {
  background-color: rgb(17 24 39 / 0.1)
}

.dark\:bg-gray-900\/30:is(.dark *) {
  background-color: rgb(17 24 39 / 0.3)
}

.dark\:bg-gray-900\/50:is(.dark *) {
  background-color: rgb(17 24 39 / 0.5)
}

.dark\:bg-gray-900\/60:is(.dark *) {
  background-color: rgb(17 24 39 / 0.6)
}

.dark\:bg-green-700:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1))
}

.dark\:bg-green-800:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(22 101 52 / var(--tw-bg-opacity, 1))
}

.dark\:bg-green-800\/40:is(.dark *) {
  background-color: rgb(22 101 52 / 0.4)
}

.dark\:bg-green-800\/50:is(.dark *) {
  background-color: rgb(22 101 52 / 0.5)
}

.dark\:bg-green-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(20 83 45 / var(--tw-bg-opacity, 1))
}

.dark\:bg-green-900\/10:is(.dark *) {
  background-color: rgb(20 83 45 / 0.1)
}

.dark\:bg-green-900\/60:is(.dark *) {
  background-color: rgb(20 83 45 / 0.6)
}

.dark\:bg-green-950\/30:is(.dark *) {
  background-color: rgb(5 46 22 / 0.3)
}

.dark\:bg-green-950\/40:is(.dark *) {
  background-color: rgb(5 46 22 / 0.4)
}

.dark\:bg-green-950\/80:is(.dark *) {
  background-color: rgb(5 46 22 / 0.8)
}

.dark\:bg-indigo-400:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(129 140 248 / var(--tw-bg-opacity, 1))
}

.dark\:bg-indigo-400\/70:is(.dark *) {
  background-color: rgb(129 140 248 / 0.7)
}

.dark\:bg-indigo-500\/10:is(.dark *) {
  background-color: rgb(99 102 241 / 0.1)
}

.dark\:bg-indigo-500\/15:is(.dark *) {
  background-color: rgb(99 102 241 / 0.15)
}

.dark\:bg-indigo-500\/20:is(.dark *) {
  background-color: rgb(99 102 241 / 0.2)
}

.dark\:bg-indigo-500\/5:is(.dark *) {
  background-color: rgb(99 102 241 / 0.05)
}

.dark\:bg-indigo-800:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 48 163 / var(--tw-bg-opacity, 1))
}

.dark\:bg-indigo-800\/40:is(.dark *) {
  background-color: rgb(55 48 163 / 0.4)
}

.dark\:bg-indigo-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(49 46 129 / var(--tw-bg-opacity, 1))
}

.dark\:bg-indigo-900\/5:is(.dark *) {
  background-color: rgb(49 46 129 / 0.05)
}

.dark\:bg-indigo-950:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(30 27 75 / var(--tw-bg-opacity, 1))
}

.dark\:bg-indigo-950\/30:is(.dark *) {
  background-color: rgb(30 27 75 / 0.3)
}

.dark\:bg-indigo-950\/40:is(.dark *) {
  background-color: rgb(30 27 75 / 0.4)
}

.dark\:bg-indigo-950\/60:is(.dark *) {
  background-color: rgb(30 27 75 / 0.6)
}

.dark\:bg-lime-900\/30:is(.dark *) {
  background-color: rgb(54 83 20 / 0.3)
}

.dark\:bg-orange-500\/25:is(.dark *) {
  background-color: rgb(249 115 22 / 0.25)
}

.dark\:bg-orange-600:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1))
}

.dark\:bg-orange-900\/50:is(.dark *) {
  background-color: rgb(124 45 18 / 0.5)
}

.dark\:bg-pink-900\/30:is(.dark *) {
  background-color: rgb(131 24 67 / 0.3)
}

.dark\:bg-pink-900\/50:is(.dark *) {
  background-color: rgb(131 24 67 / 0.5)
}

.dark\:bg-pink-950\/30:is(.dark *) {
  background-color: rgb(80 7 36 / 0.3)
}

.dark\:bg-purple-500:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1))
}

.dark\:bg-purple-500\/10:is(.dark *) {
  background-color: rgb(168 85 247 / 0.1)
}

.dark\:bg-purple-500\/20:is(.dark *) {
  background-color: rgb(168 85 247 / 0.2)
}

.dark\:bg-purple-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(88 28 135 / var(--tw-bg-opacity, 1))
}

.dark\:bg-purple-950\/30:is(.dark *) {
  background-color: rgb(59 7 100 / 0.3)
}

.dark\:bg-purple-950\/40:is(.dark *) {
  background-color: rgb(59 7 100 / 0.4)
}

.dark\:bg-red-500\/10:is(.dark *) {
  background-color: rgb(239 68 68 / 0.1)
}

.dark\:bg-red-500\/20:is(.dark *) {
  background-color: rgb(239 68 68 / 0.2)
}

.dark\:bg-red-600:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1))
}

.dark\:bg-red-800\/50:is(.dark *) {
  background-color: rgb(153 27 27 / 0.5)
}

.dark\:bg-red-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1))
}

.dark\:bg-red-900\/10:is(.dark *) {
  background-color: rgb(127 29 29 / 0.1)
}

.dark\:bg-red-900\/40:is(.dark *) {
  background-color: rgb(127 29 29 / 0.4)
}

.dark\:bg-red-900\/50:is(.dark *) {
  background-color: rgb(127 29 29 / 0.5)
}

.dark\:bg-red-950:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(69 10 10 / var(--tw-bg-opacity, 1))
}

.dark\:bg-rose-500\/10:is(.dark *) {
  background-color: rgb(244 63 94 / 0.1)
}

.dark\:bg-rose-500\/20:is(.dark *) {
  background-color: rgb(244 63 94 / 0.2)
}

.dark\:bg-rose-800:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(159 18 57 / var(--tw-bg-opacity, 1))
}

.dark\:bg-rose-900\/10:is(.dark *) {
  background-color: rgb(136 19 55 / 0.1)
}

.dark\:bg-rose-900\/20:is(.dark *) {
  background-color: rgb(136 19 55 / 0.2)
}

.dark\:bg-rose-900\/50:is(.dark *) {
  background-color: rgb(136 19 55 / 0.5)
}

.dark\:bg-rose-950\/20:is(.dark *) {
  background-color: rgb(76 5 25 / 0.2)
}

.dark\:bg-rose-950\/30:is(.dark *) {
  background-color: rgb(76 5 25 / 0.3)
}

.dark\:bg-rose-950\/40:is(.dark *) {
  background-color: rgb(76 5 25 / 0.4)
}

.dark\:bg-sky-900\/20:is(.dark *) {
  background-color: rgb(12 74 110 / 0.2)
}

.dark\:bg-sky-900\/30:is(.dark *) {
  background-color: rgb(12 74 110 / 0.3)
}

.dark\:bg-sky-900\/50:is(.dark *) {
  background-color: rgb(12 74 110 / 0.5)
}

.dark\:bg-sky-950\/30:is(.dark *) {
  background-color: rgb(8 47 73 / 0.3)
}

.dark\:bg-slate-700:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1))
}

.dark\:bg-teal-900\/20:is(.dark *) {
  background-color: rgb(19 78 74 / 0.2)
}

.dark\:bg-teal-900\/30:is(.dark *) {
  background-color: rgb(19 78 74 / 0.3)
}

.dark\:bg-teal-900\/40:is(.dark *) {
  background-color: rgb(19 78 74 / 0.4)
}

.dark\:bg-violet-900\/20:is(.dark *) {
  background-color: rgb(76 29 149 / 0.2)
}

.dark\:bg-white\/5:is(.dark *) {
  background-color: rgb(255 255 255 / 0.05)
}

.dark\:bg-yellow-500\/10:is(.dark *) {
  background-color: rgb(234 179 8 / 0.1)
}

.dark\:bg-yellow-500\/20:is(.dark *) {
  background-color: rgb(234 179 8 / 0.2)
}

.dark\:from-amber-900\/10:is(.dark *) {
  --tw-gradient-from: rgb(120 53 15 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(120 53 15 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.dark\:from-amber-900\/20:is(.dark *) {
  --tw-gradient-from: rgb(120 53 15 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(120 53 15 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.dark\:from-amber-900\/30:is(.dark *) {
  --tw-gradient-from: rgb(120 53 15 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(120 53 15 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.dark\:from-amber-950\/40:is(.dark *) {
  --tw-gradient-from: rgb(69 26 3 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(69 26 3 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.dark\:from-emerald-900\/10:is(.dark *) {
  --tw-gradient-from: rgb(6 78 59 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 78 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.dark\:from-gray-700\/40:is(.dark *) {
  --tw-gradient-from: rgb(55 65 81 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(55 65 81 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.dark\:from-green-900\/20:is(.dark *) {
  --tw-gradient-from: rgb(20 83 45 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 83 45 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.dark\:from-indigo-900\/10:is(.dark *) {
  --tw-gradient-from: rgb(49 46 129 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(49 46 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.dark\:from-indigo-900\/30:is(.dark *) {
  --tw-gradient-from: rgb(49 46 129 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(49 46 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.dark\:from-indigo-950\/30:is(.dark *) {
  --tw-gradient-from: rgb(30 27 75 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 27 75 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.dark\:from-indigo-950\/40:is(.dark *) {
  --tw-gradient-from: rgb(30 27 75 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 27 75 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.dark\:from-violet-700:is(.dark *) {
  --tw-gradient-from: #6d28d9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(109 40 217 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.dark\:via-purple-950\/40:is(.dark *) {
  --tw-gradient-to: rgb(59 7 100 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(59 7 100 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.dark\:to-amber-900\/10:is(.dark *) {
  --tw-gradient-to: rgb(120 53 15 / 0.1) var(--tw-gradient-to-position)
}

.dark\:to-emerald-900\/20:is(.dark *) {
  --tw-gradient-to: rgb(6 78 59 / 0.2) var(--tw-gradient-to-position)
}

.dark\:to-emerald-900\/30:is(.dark *) {
  --tw-gradient-to: rgb(6 78 59 / 0.3) var(--tw-gradient-to-position)
}

.dark\:to-gray-700:is(.dark *) {
  --tw-gradient-to: #374151 var(--tw-gradient-to-position)
}

.dark\:to-gray-700\/20:is(.dark *) {
  --tw-gradient-to: rgb(55 65 81 / 0.2) var(--tw-gradient-to-position)
}

.dark\:to-green-900\/5:is(.dark *) {
  --tw-gradient-to: rgb(20 83 45 / 0.05) var(--tw-gradient-to-position)
}

.dark\:to-indigo-800:is(.dark *) {
  --tw-gradient-to: #3730a3 var(--tw-gradient-to-position)
}

.dark\:to-indigo-900\/10:is(.dark *) {
  --tw-gradient-to: rgb(49 46 129 / 0.1) var(--tw-gradient-to-position)
}

.dark\:to-indigo-900\/30:is(.dark *) {
  --tw-gradient-to: rgb(49 46 129 / 0.3) var(--tw-gradient-to-position)
}

.dark\:to-orange-900\/10:is(.dark *) {
  --tw-gradient-to: rgb(124 45 18 / 0.1) var(--tw-gradient-to-position)
}

.dark\:to-orange-950\/40:is(.dark *) {
  --tw-gradient-to: rgb(67 20 7 / 0.4) var(--tw-gradient-to-position)
}

.dark\:to-pink-950\/40:is(.dark *) {
  --tw-gradient-to: rgb(80 7 36 / 0.4) var(--tw-gradient-to-position)
}

.dark\:to-purple-900\/10:is(.dark *) {
  --tw-gradient-to: rgb(88 28 135 / 0.1) var(--tw-gradient-to-position)
}

.dark\:to-purple-950\/20:is(.dark *) {
  --tw-gradient-to: rgb(59 7 100 / 0.2) var(--tw-gradient-to-position)
}

.dark\:to-purple-950\/40:is(.dark *) {
  --tw-gradient-to: rgb(59 7 100 / 0.4) var(--tw-gradient-to-position)
}

.dark\:to-yellow-900\/20:is(.dark *) {
  --tw-gradient-to: rgb(113 63 18 / 0.2) var(--tw-gradient-to-position)
}

.dark\:stroke-gray-700:is(.dark *) {
  stroke: #374151
}

.dark\:text-amber-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 243 199 / var(--tw-text-opacity, 1))
}

.dark\:text-amber-200\/80:is(.dark *) {
  color: rgb(253 230 138 / 0.8)
}

.dark\:text-amber-300\/70:is(.dark *) {
  color: rgb(252 211 77 / 0.7)
}

.dark\:text-amber-300\/80:is(.dark *) {
  color: rgb(252 211 77 / 0.8)
}

.dark\:text-amber-400\/80:is(.dark *) {
  color: rgb(251 191 36 / 0.8)
}

.dark\:text-amber-500\/90:is(.dark *) {
  color: rgb(245 158 11 / 0.9)
}

.dark\:text-blue-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / var(--tw-text-opacity, 1))
}

.dark\:text-blue-400\/60:is(.dark *) {
  color: rgb(96 165 250 / 0.6)
}

.dark\:text-cyan-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1))
}

.dark\:text-emerald-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 250 229 / var(--tw-text-opacity, 1))
}

.dark\:text-emerald-200\/70:is(.dark *) {
  color: rgb(167 243 208 / 0.7)
}

.dark\:text-emerald-300\/80:is(.dark *) {
  color: rgb(110 231 183 / 0.8)
}

.dark\:text-emerald-400\/70:is(.dark *) {
  color: rgb(52 211 153 / 0.7)
}

.dark\:text-emerald-400\/90:is(.dark *) {
  color: rgb(52 211 153 / 0.9)
}

.dark\:text-gray-600:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1))
}

.dark\:text-green-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(220 252 231 / var(--tw-text-opacity, 1))
}

.dark\:text-green-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(187 247 208 / var(--tw-text-opacity, 1))
}

.dark\:text-green-400\/90:is(.dark *) {
  color: rgb(74 222 128 / 0.9)
}

.dark\:text-green-500:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1))
}

.dark\:text-green-700:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1))
}

.dark\:text-indigo-200\/80:is(.dark *) {
  color: rgb(199 210 254 / 0.8)
}

.dark\:text-indigo-300\/60:is(.dark *) {
  color: rgb(165 180 252 / 0.6)
}

.dark\:text-indigo-300\/80:is(.dark *) {
  color: rgb(165 180 252 / 0.8)
}

.dark\:text-indigo-400\/60:is(.dark *) {
  color: rgb(129 140 248 / 0.6)
}

.dark\:text-indigo-400\/80:is(.dark *) {
  color: rgb(129 140 248 / 0.8)
}

.dark\:text-indigo-500:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1))
}

.dark\:text-indigo-600:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1))
}

.dark\:text-lime-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(190 242 100 / var(--tw-text-opacity, 1))
}

.dark\:text-pink-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(249 168 212 / var(--tw-text-opacity, 1))
}

.dark\:text-pink-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(244 114 182 / var(--tw-text-opacity, 1))
}

.dark\:text-pink-400\/80:is(.dark *) {
  color: rgb(244 114 182 / 0.8)
}

.dark\:text-purple-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 232 255 / var(--tw-text-opacity, 1))
}

.dark\:text-purple-500:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1))
}

.dark\:text-purple-700:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / var(--tw-text-opacity, 1))
}

.dark\:text-red-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 226 226 / var(--tw-text-opacity, 1))
}

.dark\:text-red-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1))
}

.dark\:text-red-300\/70:is(.dark *) {
  color: rgb(252 165 165 / 0.7)
}

.dark\:text-red-300\/80:is(.dark *) {
  color: rgb(252 165 165 / 0.8)
}

.dark\:text-red-400\/70:is(.dark *) {
  color: rgb(248 113 113 / 0.7)
}

.dark\:text-red-400\/80:is(.dark *) {
  color: rgb(248 113 113 / 0.8)
}

.dark\:text-red-500:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1))
}

.dark\:text-rose-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(255 228 230 / var(--tw-text-opacity, 1))
}

.dark\:text-rose-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 205 211 / var(--tw-text-opacity, 1))
}

.dark\:text-rose-400\/80:is(.dark *) {
  color: rgb(251 113 133 / 0.8)
}

.dark\:text-sky-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(224 242 254 / var(--tw-text-opacity, 1))
}

.dark\:text-sky-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(186 230 253 / var(--tw-text-opacity, 1))
}

.dark\:text-sky-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity, 1))
}

.dark\:text-slate-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1))
}

.dark\:text-teal-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / var(--tw-text-opacity, 1))
}

.dark\:text-violet-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1))
}

.dark\:text-violet-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1))
}

.dark\:text-yellow-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 240 138 / var(--tw-text-opacity, 1))
}

.dark\:text-yellow-500:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1))
}

.dark\:text-yellow-600:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity, 1))
}

.dark\:placeholder-gray-600:is(.dark *)::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(75 85 99 / var(--tw-placeholder-opacity, 1))
}

.dark\:placeholder-gray-600:is(.dark *)::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(75 85 99 / var(--tw-placeholder-opacity, 1))
}

.dark\:file\:bg-indigo-500\/10:is(.dark *)::file-selector-button {
  background-color: rgb(99 102 241 / 0.1)
}

.dark\:file\:bg-indigo-900:is(.dark *)::file-selector-button {
  --tw-bg-opacity: 1;
  background-color: rgb(49 46 129 / var(--tw-bg-opacity, 1))
}

.dark\:file\:bg-indigo-900\/30:is(.dark *)::file-selector-button {
  background-color: rgb(49 46 129 / 0.3)
}

.dark\:file\:text-indigo-300:is(.dark *)::file-selector-button {
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1))
}

.dark\:file\:text-indigo-400:is(.dark *)::file-selector-button {
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1))
}

.dark\:placeholder\:text-gray-500:is(.dark *)::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1))
}

.dark\:placeholder\:text-gray-500:is(.dark *)::placeholder {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1))
}

.dark\:focus-within\:bg-gray-900:focus-within:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1))
}

.dark\:hover\:border-amber-800:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(146 64 14 / var(--tw-border-opacity, 1))
}

.dark\:hover\:border-blue-500:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1))
}

.dark\:hover\:border-blue-500\/60:hover:is(.dark *) {
  border-color: rgb(59 130 246 / 0.6)
}

.dark\:hover\:border-blue-700:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(29 78 216 / var(--tw-border-opacity, 1))
}

.dark\:hover\:border-cyan-800:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(21 94 117 / var(--tw-border-opacity, 1))
}

.dark\:hover\:border-emerald-500:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1))
}

.dark\:hover\:border-gray-500:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1))
}

.dark\:hover\:border-green-500:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1))
}

.dark\:hover\:border-green-600:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1))
}

.dark\:hover\:border-green-700:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1))
}

.dark\:hover\:border-indigo-500:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1))
}

.dark\:hover\:border-indigo-500\/40:hover:is(.dark *) {
  border-color: rgb(99 102 241 / 0.4)
}

.dark\:hover\:border-indigo-500\/60:hover:is(.dark *) {
  border-color: rgb(99 102 241 / 0.6)
}

.dark\:hover\:border-indigo-700:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(67 56 202 / var(--tw-border-opacity, 1))
}

.dark\:hover\:border-purple-700:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(126 34 206 / var(--tw-border-opacity, 1))
}

.dark\:hover\:border-purple-800:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(107 33 168 / var(--tw-border-opacity, 1))
}

.dark\:hover\:bg-amber-500\/10:hover:is(.dark *) {
  background-color: rgb(245 158 11 / 0.1)
}

.dark\:hover\:bg-amber-500\/20:hover:is(.dark *) {
  background-color: rgb(245 158 11 / 0.2)
}

.dark\:hover\:bg-amber-700:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1))
}

.dark\:hover\:bg-amber-800\/40:hover:is(.dark *) {
  background-color: rgb(146 64 14 / 0.4)
}

.dark\:hover\:bg-amber-900\/10:hover:is(.dark *) {
  background-color: rgb(120 53 15 / 0.1)
}

.dark\:hover\:bg-amber-900\/20:hover:is(.dark *) {
  background-color: rgb(120 53 15 / 0.2)
}

.dark\:hover\:bg-amber-900\/40:hover:is(.dark *) {
  background-color: rgb(120 53 15 / 0.4)
}

.dark\:hover\:bg-amber-900\/50:hover:is(.dark *) {
  background-color: rgb(120 53 15 / 0.5)
}

.dark\:hover\:bg-amber-900\/60:hover:is(.dark *) {
  background-color: rgb(120 53 15 / 0.6)
}

.dark\:hover\:bg-blue-800\/40:hover:is(.dark *) {
  background-color: rgb(30 64 175 / 0.4)
}

.dark\:hover\:bg-blue-900\/20:hover:is(.dark *) {
  background-color: rgb(30 58 138 / 0.2)
}

.dark\:hover\:bg-blue-900\/30:hover:is(.dark *) {
  background-color: rgb(30 58 138 / 0.3)
}

.dark\:hover\:bg-blue-900\/40:hover:is(.dark *) {
  background-color: rgb(30 58 138 / 0.4)
}

.dark\:hover\:bg-blue-900\/50:hover:is(.dark *) {
  background-color: rgb(30 58 138 / 0.5)
}

.dark\:hover\:bg-cyan-900\/10:hover:is(.dark *) {
  background-color: rgb(22 78 99 / 0.1)
}

.dark\:hover\:bg-emerald-900\/10:hover:is(.dark *) {
  background-color: rgb(6 78 59 / 0.1)
}

.dark\:hover\:bg-emerald-900\/20:hover:is(.dark *) {
  background-color: rgb(6 78 59 / 0.2)
}

.dark\:hover\:bg-emerald-900\/30:hover:is(.dark *) {
  background-color: rgb(6 78 59 / 0.3)
}

.dark\:hover\:bg-emerald-900\/40:hover:is(.dark *) {
  background-color: rgb(6 78 59 / 0.4)
}

.dark\:hover\:bg-emerald-900\/60:hover:is(.dark *) {
  background-color: rgb(6 78 59 / 0.6)
}

.dark\:hover\:bg-gray-500:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1))
}

.dark\:hover\:bg-gray-600\/70:hover:is(.dark *) {
  background-color: rgb(75 85 99 / 0.7)
}

.dark\:hover\:bg-gray-700\/30:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.3)
}

.dark\:hover\:bg-gray-700\/40:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.4)
}

.dark\:hover\:bg-gray-700\/60:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.6)
}

.dark\:hover\:bg-gray-800:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1))
}

.dark\:hover\:bg-gray-800\/40:hover:is(.dark *) {
  background-color: rgb(31 41 55 / 0.4)
}

.dark\:hover\:bg-gray-800\/60:hover:is(.dark *) {
  background-color: rgb(31 41 55 / 0.6)
}

.dark\:hover\:bg-gray-900\/30:hover:is(.dark *) {
  background-color: rgb(17 24 39 / 0.3)
}

.dark\:hover\:bg-gray-900\/40:hover:is(.dark *) {
  background-color: rgb(17 24 39 / 0.4)
}

.dark\:hover\:bg-gray-900\/50:hover:is(.dark *) {
  background-color: rgb(17 24 39 / 0.5)
}

.dark\:hover\:bg-green-500:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1))
}

.dark\:hover\:bg-green-800\/40:hover:is(.dark *) {
  background-color: rgb(22 101 52 / 0.4)
}

.dark\:hover\:bg-green-900\/10:hover:is(.dark *) {
  background-color: rgb(20 83 45 / 0.1)
}

.dark\:hover\:bg-green-900\/20:hover:is(.dark *) {
  background-color: rgb(20 83 45 / 0.2)
}

.dark\:hover\:bg-green-900\/30:hover:is(.dark *) {
  background-color: rgb(20 83 45 / 0.3)
}

.dark\:hover\:bg-green-900\/50:hover:is(.dark *) {
  background-color: rgb(20 83 45 / 0.5)
}

.dark\:hover\:bg-green-900\/70:hover:is(.dark *) {
  background-color: rgb(20 83 45 / 0.7)
}

.dark\:hover\:bg-indigo-300:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(165 180 252 / var(--tw-bg-opacity, 1))
}

.dark\:hover\:bg-indigo-500\/10:hover:is(.dark *) {
  background-color: rgb(99 102 241 / 0.1)
}

.dark\:hover\:bg-indigo-500\/15:hover:is(.dark *) {
  background-color: rgb(99 102 241 / 0.15)
}

.dark\:hover\:bg-indigo-500\/20:hover:is(.dark *) {
  background-color: rgb(99 102 241 / 0.2)
}

.dark\:hover\:bg-indigo-500\/30:hover:is(.dark *) {
  background-color: rgb(99 102 241 / 0.3)
}

.dark\:hover\:bg-indigo-700:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(67 56 202 / var(--tw-bg-opacity, 1))
}

.dark\:hover\:bg-indigo-800:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 48 163 / var(--tw-bg-opacity, 1))
}

.dark\:hover\:bg-indigo-900:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(49 46 129 / var(--tw-bg-opacity, 1))
}

.dark\:hover\:bg-indigo-900\/10:hover:is(.dark *) {
  background-color: rgb(49 46 129 / 0.1)
}

.dark\:hover\:bg-indigo-900\/60:hover:is(.dark *) {
  background-color: rgb(49 46 129 / 0.6)
}

.dark\:hover\:bg-indigo-900\/70:hover:is(.dark *) {
  background-color: rgb(49 46 129 / 0.7)
}

.dark\:hover\:bg-orange-500\/10:hover:is(.dark *) {
  background-color: rgb(249 115 22 / 0.1)
}

.dark\:hover\:bg-pink-900\/20:hover:is(.dark *) {
  background-color: rgb(131 24 67 / 0.2)
}

.dark\:hover\:bg-purple-600:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1))
}

.dark\:hover\:bg-purple-900\/20:hover:is(.dark *) {
  background-color: rgb(88 28 135 / 0.2)
}

.dark\:hover\:bg-purple-900\/60:hover:is(.dark *) {
  background-color: rgb(88 28 135 / 0.6)
}

.dark\:hover\:bg-red-500:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1))
}

.dark\:hover\:bg-red-800\/40:hover:is(.dark *) {
  background-color: rgb(153 27 27 / 0.4)
}

.dark\:hover\:bg-red-900\/10:hover:is(.dark *) {
  background-color: rgb(127 29 29 / 0.1)
}

.dark\:hover\:bg-red-900\/20:hover:is(.dark *) {
  background-color: rgb(127 29 29 / 0.2)
}

.dark\:hover\:bg-red-900\/40:hover:is(.dark *) {
  background-color: rgb(127 29 29 / 0.4)
}

.dark\:hover\:bg-red-900\/5:hover:is(.dark *) {
  background-color: rgb(127 29 29 / 0.05)
}

.dark\:hover\:bg-red-900\/50:hover:is(.dark *) {
  background-color: rgb(127 29 29 / 0.5)
}

.dark\:hover\:bg-red-900\/60:hover:is(.dark *) {
  background-color: rgb(127 29 29 / 0.6)
}

.dark\:hover\:bg-rose-500\/10:hover:is(.dark *) {
  background-color: rgb(244 63 94 / 0.1)
}

.dark\:hover\:bg-rose-800\/30:hover:is(.dark *) {
  background-color: rgb(159 18 57 / 0.3)
}

.dark\:hover\:bg-rose-900\/20:hover:is(.dark *) {
  background-color: rgb(136 19 55 / 0.2)
}

.dark\:hover\:bg-rose-900\/30:hover:is(.dark *) {
  background-color: rgb(136 19 55 / 0.3)
}

.dark\:hover\:bg-rose-900\/40:hover:is(.dark *) {
  background-color: rgb(136 19 55 / 0.4)
}

.dark\:hover\:bg-rose-900\/50:hover:is(.dark *) {
  background-color: rgb(136 19 55 / 0.5)
}

.dark\:hover\:bg-sky-900\/30:hover:is(.dark *) {
  background-color: rgb(12 74 110 / 0.3)
}

.dark\:hover\:bg-slate-600:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1))
}

.dark\:hover\:bg-teal-900\/30:hover:is(.dark *) {
  background-color: rgb(19 78 74 / 0.3)
}

.dark\:hover\:from-amber-900\/40:hover:is(.dark *) {
  --tw-gradient-from: rgb(120 53 15 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(120 53 15 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.dark\:hover\:from-indigo-800\/30:hover:is(.dark *) {
  --tw-gradient-from: rgb(55 48 163 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(55 48 163 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.dark\:hover\:to-purple-800\/30:hover:is(.dark *) {
  --tw-gradient-to: rgb(107 33 168 / 0.3) var(--tw-gradient-to-position)
}

.dark\:hover\:text-amber-100:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 243 199 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-amber-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-amber-400:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-blue-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-blue-400:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-emerald-100:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 250 229 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-emerald-200:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(167 243 208 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-emerald-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-emerald-400:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-green-100:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(220 252 231 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-green-200:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(187 247 208 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-green-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-green-400:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-indigo-100:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(224 231 255 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-indigo-200:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(199 210 254 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-indigo-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-orange-400:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-purple-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-purple-400:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-red-200:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-red-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-red-400:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-rose-400:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-teal-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(94 234 212 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-teal-400:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-white:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-yellow-100:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 249 195 / var(--tw-text-opacity, 1))
}

.dark\:hover\:text-yellow-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / var(--tw-text-opacity, 1))
}

.dark\:focus\:border-indigo-500:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1))
}

.dark\:focus\:border-purple-500:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1))
}

.dark\:focus\:bg-indigo-900\/20:focus:is(.dark *) {
  background-color: rgb(49 46 129 / 0.2)
}

.disabled\:dark\:bg-gray-600:is(.dark *):disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1))
}

.group:hover .dark\:group-hover\:text-blue-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1))
}

.group:hover .dark\:group-hover\:text-gray-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1))
}

.group:hover .dark\:group-hover\:text-green-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1))
}

.group:hover .dark\:group-hover\:text-indigo-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1))
}

.group:hover .dark\:group-hover\:text-purple-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1))
}

.group:hover .dark\:group-hover\:text-purple-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1))
}

.peer:checked ~ .dark\:peer-checked\:bg-indigo-900\/20:is(.dark *) {
  background-color: rgb(49 46 129 / 0.2)
}

@media (min-width: 640px) {
  .sm\:-mx-5 {
    margin-left: -1.25rem;
    margin-right: -1.25rem
  }

  .sm\:-mx-6 {
    margin-left: -1.5rem;
    margin-right: -1.5rem
  }

  .sm\:mx-0 {
    margin-left: 0px;
    margin-right: 0px
  }

  .sm\:mx-6 {
    margin-left: 1.5rem;
    margin-right: 1.5rem
  }

  .sm\:-mt-14 {
    margin-top: -3.5rem
  }

  .sm\:mb-0 {
    margin-bottom: 0px
  }

  .sm\:ml-3 {
    margin-left: 0.75rem
  }

  .sm\:mt-0 {
    margin-top: 0px
  }

  .sm\:inline {
    display: inline
  }

  .sm\:flex {
    display: flex
  }

  .sm\:inline-flex {
    display: inline-flex
  }

  .sm\:table-cell {
    display: table-cell
  }

  .sm\:grid {
    display: grid
  }

  .sm\:hidden {
    display: none
  }

  .sm\:size-auto {
    width: auto;
    height: auto
  }

  .sm\:h-14 {
    height: 3.5rem
  }

  .sm\:h-48 {
    height: 12rem
  }

  .sm\:h-52 {
    height: 13rem
  }

  .sm\:h-7 {
    height: 1.75rem
  }

  .sm\:h-96 {
    height: 24rem
  }

  .sm\:h-\[60vh\] {
    height: 60vh
  }

  .sm\:max-h-\[90vh\] {
    max-height: 90vh
  }

  .sm\:w-1\/4 {
    width: 25%
  }

  .sm\:w-12 {
    width: 3rem
  }

  .sm\:w-14 {
    width: 3.5rem
  }

  .sm\:w-24 {
    width: 6rem
  }

  .sm\:w-32 {
    width: 8rem
  }

  .sm\:w-36 {
    width: 9rem
  }

  .sm\:w-48 {
    width: 12rem
  }

  .sm\:w-52 {
    width: 13rem
  }

  .sm\:w-64 {
    width: 16rem
  }

  .sm\:w-7 {
    width: 1.75rem
  }

  .sm\:w-\[28rem\] {
    width: 28rem
  }

  .sm\:w-\[420px\] {
    width: 420px
  }

  .sm\:max-w-2xl {
    max-width: 42rem
  }

  .sm\:max-w-md {
    max-width: 28rem
  }

  .sm\:max-w-sm {
    max-width: 24rem
  }

  .sm\:max-w-xs {
    max-width: 20rem
  }

  .sm\:flex-1 {
    flex: 1 1 0%
  }

  .sm\:flex-none {
    flex: none
  }

  .sm\:grid-cols-\[1fr_120px\] {
    grid-template-columns: 1fr 120px
  }

  .sm\:grid-cols-\[1fr_140px\] {
    grid-template-columns: 1fr 140px
  }

  .sm\:grid-cols-\[1fr_180px\] {
    grid-template-columns: 1fr 180px
  }

  .sm\:gap-1 {
    gap: 0.25rem
  }

  .sm\:gap-10 {
    gap: 2.5rem
  }

  .sm\:gap-2 {
    gap: 0.5rem
  }

  .sm\:gap-3 {
    gap: 0.75rem
  }

  .sm\:gap-4 {
    gap: 1rem
  }

  .sm\:gap-6 {
    gap: 1.5rem
  }

  .sm\:gap-8 {
    gap: 2rem
  }

  .sm\: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))
  }

  .sm\:rounded-2xl {
    border-radius: 1rem
  }

  .sm\:rounded-lg {
    border-radius: 0.5rem
  }

  .sm\:border-r {
    border-right-width: 1px
  }

  .sm\:p-10 {
    padding: 2.5rem
  }

  .sm\:p-12 {
    padding: 3rem
  }

  .sm\:p-4 {
    padding: 1rem
  }

  .sm\:p-5 {
    padding: 1.25rem
  }

  .sm\:p-6 {
    padding: 1.5rem
  }

  .sm\:p-7 {
    padding: 1.75rem
  }

  .sm\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem
  }

  .sm\:px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem
  }

  .sm\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem
  }

  .sm\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem
  }

  .sm\:py-1\.5 {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem
  }

  .sm\:py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem
  }

  .sm\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem
  }

  .sm\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem
  }

  .sm\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem
  }

  .sm\:py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem
  }

  .sm\:py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem
  }

  .sm\:pl-0 {
    padding-left: 0px
  }

  .sm\:ps-8 {
    padding-inline-start: 2rem
  }

  .sm\:pt-0 {
    padding-top: 0px
  }

  .sm\:text-left {
    text-align: left
  }

  .sm\:text-center {
    text-align: center
  }

  .sm\:text-end {
    text-align: end
  }

  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
  }

  .sm\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem
  }

  .sm\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem
  }

  .sm\:text-base {
    font-size: 1rem;
    line-height: 1.5rem
  }

  .sm\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
  }

  .sm\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem
  }

  .sm\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem
  }

  .sm\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem
  }
}

@media (min-width: 768px) {
  .md\:mb-0 {
    margin-bottom: 0px
  }

  .md\:h-96 {
    height: 24rem
  }

  .md\:w-2\/5 {
    width: 40%
  }

  .md\:w-3\/5 {
    width: 60%
  }

  .md\:w-80 {
    width: 20rem
  }

  .md\:w-96 {
    width: 24rem
  }

  .md\:max-w-md {
    max-width: 28rem
  }

  .md\:gap-16 {
    gap: 4rem
  }

  .md\:p-10 {
    padding: 2.5rem
  }

  .md\:p-12 {
    padding: 3rem
  }

  .md\:p-14 {
    padding: 3.5rem
  }

  .md\:p-6 {
    padding: 1.5rem
  }

  .md\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem
  }

  .md\:py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem
  }

  .md\:py-14 {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem
  }

  .md\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem
  }

  .md\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem
  }

  .md\:py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem
  }

  .md\:pb-20 {
    padding-bottom: 5rem
  }

  .md\:pb-28 {
    padding-bottom: 7rem
  }

  .md\:pt-20 {
    padding-top: 5rem
  }

  .md\:text-left {
    text-align: left
  }

  .md\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem
  }

  .md\:text-base {
    font-size: 1rem;
    line-height: 1.5rem
  }

  .md\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
  }

  .md\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem
  }

  .md\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem
  }
}

@media (min-width: 1024px) {
  .lg\:sticky {
    position: sticky
  }

  .lg\:me-0 {
    margin-inline-end: 0px
  }

  .lg\:mt-\[4\.5rem\] {
    margin-top: 4.5rem
  }

  .lg\:h-80 {
    height: 20rem
  }

  .lg\:max-h-none {
    max-height: none
  }

  .lg\:w-2\/5 {
    width: 40%
  }

  .lg\:w-3\/5 {
    width: 60%
  }

  .lg\:w-5\/12 {
    width: 41.666667%
  }

  .lg\:w-64 {
    width: 16rem
  }

  .lg\:w-7\/12 {
    width: 58.333333%
  }

  .lg\:w-\[820px\] {
    width: 820px
  }

  .lg\:gap-16 {
    gap: 4rem
  }

  .lg\:p-10 {
    padding: 2.5rem
  }

  .lg\:p-12 {
    padding: 3rem
  }

  .lg\:p-8 {
    padding: 2rem
  }

  .lg\:p-9 {
    padding: 2.25rem
  }

  .lg\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem
  }

  .lg\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem
  }

  .lg\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem
  }

  .lg\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem
  }

  .lg\:py-28 {
    padding-top: 7rem;
    padding-bottom: 7rem
  }

  .lg\:py-32 {
    padding-top: 8rem;
    padding-bottom: 8rem
  }

  .lg\:pb-10 {
    padding-bottom: 2.5rem
  }

  .lg\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem
  }

  .lg\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem
  }
}

@media (min-width: 1280px) {
  .xl\:sticky {
    position: sticky
  }

  .xl\:h-\[600px\] {
    height: 600px
  }

  .xl\:w-2\/5 {
    width: 40%
  }

  .xl\:w-3\/5 {
    width: 60%
  }

  .xl\:max-w-lg {
    max-width: 32rem
  }

  .xl\:max-w-xl {
    max-width: 36rem
  }
}

.hover\:-translate-y-0\.5:hover { transform: translateY(-0.125rem); }
.hover\:scale-105:hover { transform: scale(1.05); }
.hover\:scale-\[1\.02\]:hover { transform: scale(1.02); }
.active\:scale-90:active { transform: scale(0.9); }
.active\:scale-95:active { transform: scale(0.95); }
.active\:scale-\[0\.98\]:active { transform: scale(0.98); }
.active\:scale-\[0\.99\]:active { transform: scale(0.99); }
.group:hover .group-hover\:translate-x-1 { transform: translateX(0.25rem); }
.group:hover .group-hover\:scale-105 { transform: scale(1.05); }
.hover\:brightness-110:hover { filter: brightness(1.1); }
.hover\:grayscale-0:hover { filter: grayscale(0); }
.dark\:invert:is(.dark *) { filter: invert(1); }

/* ── 🎨 DEAD UTILITIES, TRANCHE 4: THE DEFAULT STATE (28 Jul 2026) ─────────────
 *
 * 572 classes, 3,111 occurrences. Unlike tranche 3, these paint the DEFAULT state, so
 * every one of them CHANGES a page that renders today. Shipped on Mehrdad's call after
 * reviewing a before/after; not appended blind.
 *
 *   colour      323 classes / 1,145 uses  border-gray-600 (52), divide-gray-200 (48),
 *                                         text-green-800 (39) — recolours, rarely structural
 *   geometry    217 classes / 1,632 uses  mb-1.5 (105), p-1.5 (67), w-96 (63),
 *                                         -right-24 (61) — this MOVES things
 *   typography   11 classes /   188 uses  text-[12px] (85), text-[9px] (46),
 *                                         font-extrabold (29) — small labels were
 *                                         inheriting a larger size than intended
 *   layout       21 classes /   146 uses  border-e (44) rendered as NO border at all,
 *                                         border-b-2 (27), border-l-4 (16), sticky (12)
 *
 * The clearest case, and why this tranche is worth the risk: 61 public pages (terms,
 * cookies, refund, privacy) draw two decorative circles on the hero banner. `h-96`,
 * `w-72`, `h-72`, `rounded-full` and `opacity-*` all shipped; `w-96`, `-right-24`,
 * `-bottom-16` and `-left-16` did not. So the first circle was 0x384 — invisible — and
 * the second sat at its static position, parked against the left edge of the banner
 * instead of bleeding off the bottom-left corner. Measured on /gb/garage/terms.
 *
 * Same build method and same two traps as tranche 3 — see that note. 5 translate rules
 * are hand-written self-contained at the end because Tailwind's `--tw-*` transform chain
 * is dropped by the browser without a preflight defaults block.
 *
 * ⛔ 6 more classes in the markup are not real Tailwind. 5 sit off the standard scale but
 * resolve unambiguously on it, so they are defined at the end of this block:
 * align-self-center, border-3, font-inherit, pl-13, size-4.5. The 6th, `text-gray`
 * (components/navbar.blade.php:65 and components/admin/navbar.blade.php:40 — the role
 * label under the user's name), has NO shade. Guessing one would be inventing a design
 * decision, so it stays dead until someone picks.
 *
 * ⚠️ Contains no plain .grid-cols-N. `col-span-full` sets grid-column, a different
 * property from the authoritative grid-template-columns block, so it cannot collide.
 */
.sticky {
  position: sticky
}

.-bottom-16 {
  bottom: -4rem
}

.-end-2 {
  inset-inline-end: -0.5rem
}

.-end-6 {
  inset-inline-end: -1.5rem
}

.-left-16 {
  left: -4rem
}

.-right-0\.5 {
  right: -0.125rem
}

.-right-1\.5 {
  right: -0.375rem
}

.-right-2 {
  right: -0.5rem
}

.-right-24 {
  right: -6rem
}

.-top-1 {
  top: -0.25rem
}

.-top-1\.5 {
  top: -0.375rem
}

.-top-3 {
  top: -0.75rem
}

.-top-6 {
  top: -1.5rem
}

.end-3 {
  inset-inline-end: 0.75rem
}

.end-6 {
  inset-inline-end: 1.5rem
}

.left-1\/4 {
  left: 25%
}

.right-1\/4 {
  right: 25%
}

.right-2\.5 {
  right: 0.625rem
}

.start-3 {
  inset-inline-start: 0.75rem
}

.top-24 {
  top: 6rem
}

.col-span-full {
  grid-column: 1 / -1
}

.float-right {
  float: right
}

.m-4 {
  margin: 1rem
}

.m-auto {
  margin: auto
}

.-mx-1\.5 {
  margin-left: -0.375rem;
  margin-right: -0.375rem
}

.-mx-5 {
  margin-left: -1.25rem;
  margin-right: -1.25rem
}

.-mx-6 {
  margin-left: -1.5rem;
  margin-right: -1.5rem
}

.mx-0\.5 {
  margin-left: 0.125rem;
  margin-right: 0.125rem
}

.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem
}

.mx-3 {
  margin-left: 0.75rem;
  margin-right: 0.75rem
}

.my-10 {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem
}

.-ml-1\.5 {
  margin-left: -0.375rem
}

.-mr-2 {
  margin-right: -0.5rem
}

.-mt-4 {
  margin-top: -1rem
}

.-mt-8 {
  margin-top: -2rem
}

.mb-0\.5 {
  margin-bottom: 0.125rem
}

.mb-1\.5 {
  margin-bottom: 0.375rem
}

.me-1\.5 {
  margin-inline-end: 0.375rem
}

.ml-0\.5 {
  margin-left: 0.125rem
}

.ml-1\.5 {
  margin-left: 0.375rem
}

.ml-3 {
  margin-left: 0.75rem
}

.ml-5 {
  margin-left: 1.25rem
}

.ml-6 {
  margin-left: 1.5rem
}

.ml-7 {
  margin-left: 1.75rem
}

.ml-8 {
  margin-left: 2rem
}

.mr-0\.5 {
  margin-right: 0.125rem
}

.mr-2 {
  margin-right: 0.5rem
}

.mr-3 {
  margin-right: 0.75rem
}

.mr-8 {
  margin-right: 2rem
}

.mt-16 {
  margin-top: 4rem
}

.mt-2\.5 {
  margin-top: 0.625rem
}

.mt-auto {
  margin-top: auto
}

.contents {
  display: contents
}

.size-2\.5 {
  width: 0.625rem;
  height: 0.625rem
}

.size-20 {
  width: 5rem;
  height: 5rem
}

.size-full {
  width: 100%;
  height: 100%
}

.h-1 {
  height: 0.25rem
}

.h-1\.5 {
  height: 0.375rem
}

.h-11 {
  height: 2.75rem
}

.h-12 {
  height: 3rem
}

.h-14 {
  height: 3.5rem
}

.h-2\.5 {
  height: 0.625rem
}

.h-28 {
  height: 7rem
}

.h-44 {
  height: 11rem
}

.h-56 {
  height: 14rem
}

.h-64 {
  height: 16rem
}

.h-9 {
  height: 2.25rem
}

.h-\[18px\] {
  height: 18px
}

.h-\[3px\] {
  height: 3px
}

.h-\[45vh\] {
  height: 45vh
}

.h-\[460px\] {
  height: 460px
}

.h-px {
  height: 1px
}

.max-h-10 {
  max-height: 2.5rem
}

.max-h-16 {
  max-height: 4rem
}

.max-h-20 {
  max-height: 5rem
}

.max-h-24 {
  max-height: 6rem
}

.max-h-32 {
  max-height: 8rem
}

.max-h-36 {
  max-height: 9rem
}

.max-h-40 {
  max-height: 10rem
}

.max-h-48 {
  max-height: 12rem
}

.max-h-64 {
  max-height: 16rem
}

.max-h-72 {
  max-height: 18rem
}

.max-h-96 {
  max-height: 24rem
}

.max-h-\[100dvh\] {
  max-height: 100dvh
}

.max-h-\[28rem\] {
  max-height: 28rem
}

.max-h-\[420px\] {
  max-height: 420px
}

.max-h-\[500px\] {
  max-height: 500px
}

.max-h-\[55vh\] {
  max-height: 55vh
}

.max-h-\[60vh\] {
  max-height: 60vh
}

.max-h-\[70vh\] {
  max-height: 70vh
}

.max-h-\[85vh\] {
  max-height: 85vh
}

.max-h-full {
  max-height: 100%
}

.min-h-\[1\.5rem\] {
  min-height: 1.5rem
}

.min-h-\[160px\] {
  min-height: 160px
}

.min-h-\[26rem\] {
  min-height: 26rem
}

.min-h-\[3rem\] {
  min-height: 3rem
}

.min-h-\[60vh\] {
  min-height: 60vh
}

.w-1\.5 {
  width: 0.375rem
}

.w-1\/5 {
  width: 20%
}

.w-11 {
  width: 2.75rem
}

.w-14 {
  width: 3.5rem
}

.w-2 {
  width: 0.5rem
}

.w-2\.5 {
  width: 0.625rem
}

.w-2\/5 {
  width: 40%
}

.w-4\/5 {
  width: 80%
}

.w-44 {
  width: 11rem
}

.w-48 {
  width: 12rem
}

.w-52 {
  width: 13rem
}

.w-56 {
  width: 14rem
}

.w-60 {
  width: 15rem
}

.w-80 {
  width: 20rem
}

.w-9 {
  width: 2.25rem
}

.w-96 {
  width: 24rem
}

.w-\[22rem\] {
  width: 22rem
}

.w-\[92\%\] {
  width: 92%
}

.w-auto {
  width: auto
}

.w-fit {
  width: -moz-fit-content;
  width: fit-content
}

.min-w-5 {
  min-width: 1.25rem
}

.min-w-64 {
  min-width: 16rem
}

.min-w-\[1\.25rem\] {
  min-width: 1.25rem
}

.min-w-\[140px\] {
  min-width: 140px
}

.min-w-\[160px\] {
  min-width: 160px
}

.min-w-\[180px\] {
  min-width: 180px
}

.min-w-\[18px\] {
  min-width: 18px
}

.min-w-\[1rem\] {
  min-width: 1rem
}

.min-w-\[200px\] {
  min-width: 200px
}

.min-w-\[20px\] {
  min-width: 20px
}

.min-w-\[220px\] {
  min-width: 220px
}

.min-w-\[230px\] {
  min-width: 230px
}

.min-w-\[240px\] {
  min-width: 240px
}

.min-w-\[260px\] {
  min-width: 260px
}

.min-w-\[30px\] {
  min-width: 30px
}

.min-w-\[400px\] {
  min-width: 400px
}

.min-w-\[88px\] {
  min-width: 88px
}

.min-w-\[8rem\] {
  min-width: 8rem
}

.max-w-48 {
  max-width: 12rem
}

.max-w-6xl {
  max-width: 72rem
}

.max-w-\[10rem\] {
  max-width: 10rem
}

.max-w-\[120px\] {
  max-width: 120px
}

.max-w-\[12rem\] {
  max-width: 12rem
}

.max-w-\[140px\] {
  max-width: 140px
}

.max-w-\[160px\] {
  max-width: 160px
}

.max-w-\[16ch\] {
  max-width: 16ch
}

.max-w-\[16rem\] {
  max-width: 16rem
}

.max-w-\[180px\] {
  max-width: 180px
}

.max-w-\[200px\] {
  max-width: 200px
}

.max-w-\[220px\] {
  max-width: 220px
}

.max-w-\[22rem\] {
  max-width: 22rem
}

.max-w-\[240px\] {
  max-width: 240px
}

.max-w-\[260px\] {
  max-width: 260px
}

.max-w-\[60\%\] {
  max-width: 60%
}

.max-w-\[64px\] {
  max-width: 64px
}

.max-w-\[70\%\] {
  max-width: 70%
}

.max-w-\[80\%\] {
  max-width: 80%
}

.max-w-\[85\%\] {
  max-width: 85%
}

.max-w-\[8rem\] {
  max-width: 8rem
}

.max-w-\[90\%\] {
  max-width: 90%
}

.max-w-\[90vw\] {
  max-width: 90vw
}

.max-w-none {
  max-width: none
}

.flex-shrink {
  flex-shrink: 1
}

.flex-row-reverse {
  flex-direction: row-reverse
}

.flex-col-reverse {
  flex-direction: column-reverse
}

.gap-0 {
  gap: 0px
}

.gap-12 {
  gap: 3rem
}

.gap-3\.5 {
  gap: 0.875rem
}

.gap-8 {
  gap: 2rem
}

.gap-px {
  gap: 1px
}

.gap-x-1\.5 {
  -moz-column-gap: 0.375rem;
       column-gap: 0.375rem
}

.gap-x-3 {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem
}

.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem
}

.gap-x-5 {
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem
}

.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem
}

.gap-y-0\.5 {
  row-gap: 0.125rem
}

.gap-y-1 {
  row-gap: 0.25rem
}

.gap-y-1\.5 {
  row-gap: 0.375rem
}

.gap-y-2 {
  row-gap: 0.5rem
}

.gap-y-3 {
  row-gap: 0.75rem
}

.space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-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\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * 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-amber-200 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-divide-opacity, 1))
}

.divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-divide-opacity, 1))
}

.divide-gray-700 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-divide-opacity, 1))
}

.border-4 {
  border-width: 4px
}

.border-x {
  border-left-width: 1px;
  border-right-width: 1px
}

.border-b-2 {
  border-bottom-width: 2px
}

.border-e {
  border-inline-end-width: 1px
}

.border-l-0 {
  border-left-width: 0px
}

.border-l-2 {
  border-left-width: 2px
}

.border-l-4 {
  border-left-width: 4px
}

.border-r-0 {
  border-right-width: 0px
}

.border-s {
  border-inline-start-width: 1px
}

.border-t-0 {
  border-top-width: 0px
}

.border-amber-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 243 199 / var(--tw-border-opacity, 1))
}

.border-amber-200\/50 {
  border-color: rgb(253 230 138 / 0.5)
}

.border-amber-400 {
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1))
}

.border-amber-700\/40 {
  border-color: rgb(180 83 9 / 0.4)
}

.border-amber-700\/60 {
  border-color: rgb(180 83 9 / 0.6)
}

.border-cyan-200 {
  --tw-border-opacity: 1;
  border-color: rgb(165 243 252 / var(--tw-border-opacity, 1))
}

.border-emerald-100\/60 {
  border-color: rgb(209 250 229 / 0.6)
}

.border-emerald-400 {
  --tw-border-opacity: 1;
  border-color: rgb(52 211 153 / var(--tw-border-opacity, 1))
}

.border-emerald-700 {
  --tw-border-opacity: 1;
  border-color: rgb(4 120 87 / var(--tw-border-opacity, 1))
}

.border-emerald-700\/40 {
  border-color: rgb(4 120 87 / 0.4)
}

.border-emerald-700\/50 {
  border-color: rgb(4 120 87 / 0.5)
}

.border-emerald-800\/30 {
  border-color: rgb(6 95 70 / 0.3)
}

.border-emerald-800\/40 {
  border-color: rgb(6 95 70 / 0.4)
}

.border-gray-200\/60 {
  border-color: rgb(229 231 235 / 0.6)
}

.border-gray-50 {
  --tw-border-opacity: 1;
  border-color: rgb(249 250 251 / var(--tw-border-opacity, 1))
}

.border-gray-600 {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1))
}

.border-gray-700\/40 {
  border-color: rgb(55 65 81 / 0.4)
}

.border-gray-700\/50 {
  border-color: rgb(55 65 81 / 0.5)
}

.border-gray-700\/60 {
  border-color: rgb(55 65 81 / 0.6)
}

.border-green-400 {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1))
}

.border-green-400\/30 {
  border-color: rgb(74 222 128 / 0.3)
}

.border-green-600 {
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1))
}

.border-green-800\/30 {
  border-color: rgb(22 101 52 / 0.3)
}

.border-green-800\/50 {
  border-color: rgb(22 101 52 / 0.5)
}

.border-indigo-400\/40 {
  border-color: rgb(129 140 248 / 0.4)
}

.border-indigo-600\/50 {
  border-color: rgb(79 70 229 / 0.5)
}

.border-indigo-700\/30 {
  border-color: rgb(67 56 202 / 0.3)
}

.border-indigo-700\/40 {
  border-color: rgb(67 56 202 / 0.4)
}

.border-indigo-800\/40 {
  border-color: rgb(55 48 163 / 0.4)
}

.border-indigo-800\/60 {
  border-color: rgb(55 48 163 / 0.6)
}

.border-orange-100 {
  --tw-border-opacity: 1;
  border-color: rgb(255 237 213 / var(--tw-border-opacity, 1))
}

.border-pink-200 {
  --tw-border-opacity: 1;
  border-color: rgb(251 207 232 / var(--tw-border-opacity, 1))
}

.border-pink-300 {
  --tw-border-opacity: 1;
  border-color: rgb(249 168 212 / var(--tw-border-opacity, 1))
}

.border-pink-600 {
  --tw-border-opacity: 1;
  border-color: rgb(219 39 119 / var(--tw-border-opacity, 1))
}

.border-red-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 226 226 / var(--tw-border-opacity, 1))
}

.border-red-700\/40 {
  border-color: rgb(185 28 28 / 0.4)
}

.border-red-700\/60 {
  border-color: rgb(185 28 28 / 0.6)
}

.border-rose-100 {
  --tw-border-opacity: 1;
  border-color: rgb(255 228 230 / var(--tw-border-opacity, 1))
}

.border-rose-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 164 175 / var(--tw-border-opacity, 1))
}

.border-rose-400 {
  --tw-border-opacity: 1;
  border-color: rgb(251 113 133 / var(--tw-border-opacity, 1))
}

.border-sky-200 {
  --tw-border-opacity: 1;
  border-color: rgb(186 230 253 / var(--tw-border-opacity, 1))
}

.border-sky-300 {
  --tw-border-opacity: 1;
  border-color: rgb(125 211 252 / var(--tw-border-opacity, 1))
}

.border-sky-400 {
  --tw-border-opacity: 1;
  border-color: rgb(56 189 248 / var(--tw-border-opacity, 1))
}

.border-slate-300 {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1))
}

.border-teal-300 {
  --tw-border-opacity: 1;
  border-color: rgb(94 234 212 / var(--tw-border-opacity, 1))
}

.border-teal-500 {
  --tw-border-opacity: 1;
  border-color: rgb(20 184 166 / var(--tw-border-opacity, 1))
}

.border-violet-300 {
  --tw-border-opacity: 1;
  border-color: rgb(196 181 253 / var(--tw-border-opacity, 1))
}

.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2)
}

.border-white\/25 {
  border-color: rgb(255 255 255 / 0.25)
}

.border-yellow-400 {
  --tw-border-opacity: 1;
  border-color: rgb(250 204 21 / var(--tw-border-opacity, 1))
}

.bg-amber-100\/60 {
  background-color: rgb(254 243 199 / 0.6)
}

.bg-amber-100\/70 {
  background-color: rgb(254 243 199 / 0.7)
}

.bg-amber-400\/20 {
  background-color: rgb(251 191 36 / 0.2)
}

.bg-amber-400\/90 {
  background-color: rgb(251 191 36 / 0.9)
}

.bg-amber-50\/50 {
  background-color: rgb(255 251 235 / 0.5)
}

.bg-amber-50\/60 {
  background-color: rgb(255 251 235 / 0.6)
}

.bg-amber-50\/70 {
  background-color: rgb(255 251 235 / 0.7)
}

.bg-amber-500\/10 {
  background-color: rgb(245 158 11 / 0.1)
}

.bg-amber-500\/15 {
  background-color: rgb(245 158 11 / 0.15)
}

.bg-amber-900\/20 {
  background-color: rgb(120 53 15 / 0.2)
}

.bg-amber-900\/30 {
  background-color: rgb(120 53 15 / 0.3)
}

.bg-amber-900\/50 {
  background-color: rgb(120 53 15 / 0.5)
}

.bg-black\/0 {
  background-color: rgb(0 0 0 / 0)
}

.bg-black\/5 {
  background-color: rgb(0 0 0 / 0.05)
}

.bg-black\/55 {
  background-color: rgb(0 0 0 / 0.55)
}

.bg-black\/60 {
  background-color: rgb(0 0 0 / 0.6)
}

.bg-black\/65 {
  background-color: rgb(0 0 0 / 0.65)
}

.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8)
}

.bg-black\/90 {
  background-color: rgb(0 0 0 / 0.9)
}

.bg-blue-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1))
}

.bg-blue-50\/50 {
  background-color: rgb(239 246 255 / 0.5)
}

.bg-blue-500\/10 {
  background-color: rgb(59 130 246 / 0.1)
}

.bg-blue-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1))
}

.bg-blue-900\/30 {
  background-color: rgb(30 58 138 / 0.3)
}

.bg-blue-900\/50 {
  background-color: rgb(30 58 138 / 0.5)
}

.bg-cyan-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1))
}

.bg-cyan-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1))
}

.bg-cyan-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(8 145 178 / var(--tw-bg-opacity, 1))
}

.bg-cyan-900\/50 {
  background-color: rgb(22 78 99 / 0.5)
}

.bg-emerald-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1))
}

.bg-emerald-50\/40 {
  background-color: rgb(236 253 245 / 0.4)
}

.bg-emerald-50\/50 {
  background-color: rgb(236 253 245 / 0.5)
}

.bg-emerald-50\/60 {
  background-color: rgb(236 253 245 / 0.6)
}

.bg-emerald-500\/10 {
  background-color: rgb(16 185 129 / 0.1)
}

.bg-emerald-500\/15 {
  background-color: rgb(16 185 129 / 0.15)
}

.bg-emerald-500\/20 {
  background-color: rgb(16 185 129 / 0.2)
}

.bg-emerald-900\/20 {
  background-color: rgb(6 78 59 / 0.2)
}

.bg-emerald-900\/30 {
  background-color: rgb(6 78 59 / 0.3)
}

.bg-emerald-900\/50 {
  background-color: rgb(6 78 59 / 0.5)
}

.bg-gray-100\/50 {
  background-color: rgb(243 244 246 / 0.5)
}

.bg-gray-50\/40 {
  background-color: rgb(249 250 251 / 0.4)
}

.bg-gray-50\/50 {
  background-color: rgb(249 250 251 / 0.5)
}

.bg-gray-700\/30 {
  background-color: rgb(55 65 81 / 0.3)
}

.bg-gray-700\/40 {
  background-color: rgb(55 65 81 / 0.4)
}

.bg-gray-700\/50 {
  background-color: rgb(55 65 81 / 0.5)
}

.bg-gray-800\/50 {
  background-color: rgb(31 41 55 / 0.5)
}

.bg-gray-800\/60 {
  background-color: rgb(31 41 55 / 0.6)
}

.bg-gray-900\/40 {
  background-color: rgb(17 24 39 / 0.4)
}

.bg-gray-900\/50 {
  background-color: rgb(17 24 39 / 0.5)
}

.bg-gray-900\/60 {
  background-color: rgb(17 24 39 / 0.6)
}

.bg-gray-900\/70 {
  background-color: rgb(17 24 39 / 0.7)
}

.bg-gray-900\/80 {
  background-color: rgb(17 24 39 / 0.8)
}

.bg-green-300\/10 {
  background-color: rgb(134 239 172 / 0.1)
}

.bg-green-400\/20 {
  background-color: rgb(74 222 128 / 0.2)
}

.bg-green-50\/50 {
  background-color: rgb(240 253 244 / 0.5)
}

.bg-green-500\/10 {
  background-color: rgb(34 197 94 / 0.1)
}

.bg-green-900\/10 {
  background-color: rgb(20 83 45 / 0.1)
}

.bg-green-900\/20 {
  background-color: rgb(20 83 45 / 0.2)
}

.bg-green-900\/30 {
  background-color: rgb(20 83 45 / 0.3)
}

.bg-indigo-300\/10 {
  background-color: rgb(165 180 252 / 0.1)
}

.bg-indigo-400\/30 {
  background-color: rgb(129 140 248 / 0.3)
}

.bg-indigo-50\/30 {
  background-color: rgb(238 242 255 / 0.3)
}

.bg-indigo-50\/40 {
  background-color: rgb(238 242 255 / 0.4)
}

.bg-indigo-50\/60 {
  background-color: rgb(238 242 255 / 0.6)
}

.bg-indigo-50\/70 {
  background-color: rgb(238 242 255 / 0.7)
}

.bg-indigo-500\/10 {
  background-color: rgb(99 102 241 / 0.1)
}

.bg-indigo-500\/15 {
  background-color: rgb(99 102 241 / 0.15)
}

.bg-indigo-500\/20 {
  background-color: rgb(99 102 241 / 0.2)
}

.bg-indigo-500\/50 {
  background-color: rgb(99 102 241 / 0.5)
}

.bg-indigo-500\/70 {
  background-color: rgb(99 102 241 / 0.7)
}

.bg-indigo-700\/50 {
  background-color: rgb(67 56 202 / 0.5)
}

.bg-indigo-900\/10 {
  background-color: rgb(49 46 129 / 0.1)
}

.bg-indigo-900\/15 {
  background-color: rgb(49 46 129 / 0.15)
}

.bg-indigo-900\/20 {
  background-color: rgb(49 46 129 / 0.2)
}

.bg-indigo-900\/30 {
  background-color: rgb(49 46 129 / 0.3)
}

.bg-indigo-900\/50 {
  background-color: rgb(49 46 129 / 0.5)
}

.bg-lime-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 252 203 / var(--tw-bg-opacity, 1))
}

.bg-orange-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1))
}

.bg-pink-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1))
}

.bg-pink-50\/50 {
  background-color: rgb(253 242 248 / 0.5)
}

.bg-pink-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 39 119 / var(--tw-bg-opacity, 1))
}

.bg-purple-50\/50 {
  background-color: rgb(250 245 255 / 0.5)
}

.bg-purple-900\/50 {
  background-color: rgb(88 28 135 / 0.5)
}

.bg-red-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1))
}

.bg-red-500\/10 {
  background-color: rgb(239 68 68 / 0.1)
}

.bg-red-500\/15 {
  background-color: rgb(239 68 68 / 0.15)
}

.bg-red-500\/90 {
  background-color: rgb(239 68 68 / 0.9)
}

.bg-red-900\/10 {
  background-color: rgb(127 29 29 / 0.1)
}

.bg-red-900\/20 {
  background-color: rgb(127 29 29 / 0.2)
}

.bg-red-900\/30 {
  background-color: rgb(127 29 29 / 0.3)
}

.bg-red-900\/40 {
  background-color: rgb(127 29 29 / 0.4)
}

.bg-rose-100\/80 {
  background-color: rgb(255 228 230 / 0.8)
}

.bg-rose-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 205 211 / var(--tw-bg-opacity, 1))
}

.bg-rose-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1))
}

.bg-rose-50\/50 {
  background-color: rgb(255 241 242 / 0.5)
}

.bg-rose-50\/70 {
  background-color: rgb(255 241 242 / 0.7)
}

.bg-rose-50\/80 {
  background-color: rgb(255 241 242 / 0.8)
}

.bg-rose-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(244 63 94 / var(--tw-bg-opacity, 1))
}

.bg-rose-500\/10 {
  background-color: rgb(244 63 94 / 0.1)
}

.bg-rose-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(225 29 72 / var(--tw-bg-opacity, 1))
}

.bg-rose-600\/95 {
  background-color: rgb(225 29 72 / 0.95)
}

.bg-rose-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1))
}

.bg-sky-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(56 189 248 / var(--tw-bg-opacity, 1))
}

.bg-sky-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1))
}

.bg-sky-50\/50 {
  background-color: rgb(240 249 255 / 0.5)
}

.bg-sky-50\/60 {
  background-color: rgb(240 249 255 / 0.6)
}

.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1))
}

.bg-teal-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / var(--tw-bg-opacity, 1))
}

.bg-teal-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1))
}

.bg-teal-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(20 184 166 / var(--tw-bg-opacity, 1))
}

.bg-teal-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(13 148 136 / var(--tw-bg-opacity, 1))
}

.bg-violet-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1))
}

.bg-violet-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / var(--tw-bg-opacity, 1))
}

.bg-white\/15 {
  background-color: rgb(255 255 255 / 0.15)
}

.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05)
}

.bg-white\/50 {
  background-color: rgb(255 255 255 / 0.5)
}

.bg-white\/60 {
  background-color: rgb(255 255 255 / 0.6)
}

.bg-white\/70 {
  background-color: rgb(255 255 255 / 0.7)
}

.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95)
}

.bg-yellow-300\/10 {
  background-color: rgb(253 224 71 / 0.1)
}

.bg-yellow-900\/30 {
  background-color: rgb(113 63 18 / 0.3)
}

.from-amber-100 {
  --tw-gradient-from: #fef3c7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 243 199 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-amber-300 {
  --tw-gradient-from: #fcd34d var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(252 211 77 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-amber-400 {
  --tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-amber-50 {
  --tw-gradient-from: #fffbeb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 251 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-black\/40 {
  --tw-gradient-from: rgb(0 0 0 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-emerald-400 {
  --tw-gradient-from: #34d399 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(52 211 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-emerald-50 {
  --tw-gradient-from: #ecfdf5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 253 245 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-emerald-500 {
  --tw-gradient-from: #10b981 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-emerald-900\/40 {
  --tw-gradient-from: rgb(6 78 59 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 78 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-gray-400 {
  --tw-gradient-from: #9ca3af var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(156 163 175 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-gray-800\/80 {
  --tw-gradient-from: rgb(31 41 55 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(31 41 55 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-gray-900 {
  --tw-gradient-from: #111827 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-green-100 {
  --tw-gradient-from: #dcfce7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(220 252 231 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-indigo-50 {
  --tw-gradient-from: #eef2ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(238 242 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-indigo-50\/70 {
  --tw-gradient-from: rgb(238 242 255 / 0.7) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(238 242 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-indigo-950\/40 {
  --tw-gradient-from: rgb(30 27 75 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 27 75 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-transparent {
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-violet-500 {
  --tw-gradient-from: #8b5cf6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.via-black\/30 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-indigo-800 {
  --tw-gradient-to: rgb(55 48 163 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #3730a3 var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-indigo-950 {
  --tw-gradient-to: rgb(30 27 75 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1e1b4b var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-purple-50 {
  --tw-gradient-to: rgb(250 245 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #faf5ff var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-white {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.to-amber-100\/50 {
  --tw-gradient-to: rgb(254 243 199 / 0.5) var(--tw-gradient-to-position)
}

.to-amber-50 {
  --tw-gradient-to: #fffbeb var(--tw-gradient-to-position)
}

.to-amber-500 {
  --tw-gradient-to: #f59e0b var(--tw-gradient-to-position)
}

.to-amber-600 {
  --tw-gradient-to: #d97706 var(--tw-gradient-to-position)
}

.to-black\/60 {
  --tw-gradient-to: rgb(0 0 0 / 0.6) var(--tw-gradient-to-position)
}

.to-emerald-50 {
  --tw-gradient-to: #ecfdf5 var(--tw-gradient-to-position)
}

.to-emerald-600 {
  --tw-gradient-to: #059669 var(--tw-gradient-to-position)
}

.to-gray-200 {
  --tw-gradient-to: #e5e7eb var(--tw-gradient-to-position)
}

.to-gray-600 {
  --tw-gradient-to: #4b5563 var(--tw-gradient-to-position)
}

.to-gray-900\/50 {
  --tw-gradient-to: rgb(17 24 39 / 0.5) var(--tw-gradient-to-position)
}

.to-green-50 {
  --tw-gradient-to: #f0fdf4 var(--tw-gradient-to-position)
}

.to-indigo-100 {
  --tw-gradient-to: #e0e7ff var(--tw-gradient-to-position)
}

.to-indigo-100\/40 {
  --tw-gradient-to: rgb(224 231 255 / 0.4) var(--tw-gradient-to-position)
}

.to-indigo-100\/50 {
  --tw-gradient-to: rgb(224 231 255 / 0.5) var(--tw-gradient-to-position)
}

.to-indigo-100\/70 {
  --tw-gradient-to: rgb(224 231 255 / 0.7) var(--tw-gradient-to-position)
}

.to-orange-50 {
  --tw-gradient-to: #fff7ed var(--tw-gradient-to-position)
}

.to-pink-400 {
  --tw-gradient-to: #f472b6 var(--tw-gradient-to-position)
}

.to-pink-50 {
  --tw-gradient-to: #fdf2f8 var(--tw-gradient-to-position)
}

.to-purple-50 {
  --tw-gradient-to: #faf5ff var(--tw-gradient-to-position)
}

.to-purple-50\/40 {
  --tw-gradient-to: rgb(250 245 255 / 0.4) var(--tw-gradient-to-position)
}

.to-purple-950\/40 {
  --tw-gradient-to: rgb(59 7 100 / 0.4) var(--tw-gradient-to-position)
}

.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position)
}

.to-white {
  --tw-gradient-to: #fff var(--tw-gradient-to-position)
}

.to-yellow-50 {
  --tw-gradient-to: #fefce8 var(--tw-gradient-to-position)
}

.stroke-gray-200 {
  stroke: #e5e7eb
}

.p-0 {
  padding: 0px
}

.p-0\.5 {
  padding: 0.125rem
}

.p-1\.5 {
  padding: 0.375rem
}

.p-3\.5 {
  padding: 0.875rem
}

.p-7 {
  padding: 1.75rem
}

.px-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem
}

.px-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.875rem
}

.py-px {
  padding-top: 1px;
  padding-bottom: 1px
}

.pb-1 {
  padding-bottom: 0.25rem
}

.pb-1\.5 {
  padding-bottom: 0.375rem
}

.pb-10 {
  padding-bottom: 2.5rem
}

.pb-16 {
  padding-bottom: 4rem
}

.pb-28 {
  padding-bottom: 7rem
}

.pe-10 {
  padding-inline-end: 2.5rem
}

.pe-12 {
  padding-inline-end: 3rem
}

.pe-7 {
  padding-inline-end: 1.75rem
}

.pl-10 {
  padding-left: 2.5rem
}

.pl-2 {
  padding-left: 0.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-7 {
  padding-left: 1.75rem
}

.pr-0\.5 {
  padding-right: 0.125rem
}

.pr-1 {
  padding-right: 0.25rem
}

.pr-10 {
  padding-right: 2.5rem
}

.pr-4 {
  padding-right: 1rem
}

.pr-8 {
  padding-right: 2rem
}

.pt-0 {
  padding-top: 0px
}

.pt-0\.5 {
  padding-top: 0.125rem
}

.pt-1\.5 {
  padding-top: 0.375rem
}

.pt-10 {
  padding-top: 2.5rem
}

.pt-2\.5 {
  padding-top: 0.625rem
}

.pt-24 {
  padding-top: 6rem
}

.pt-5 {
  padding-top: 1.25rem
}

.text-\[0\.65rem\] {
  font-size: 0.65rem
}

.text-\[11\.5px\] {
  font-size: 11.5px
}

.text-\[12px\] {
  font-size: 12px
}

.text-\[13px\] {
  font-size: 13px
}

.text-\[8px\] {
  font-size: 8px
}

.text-\[9px\] {
  font-size: 9px
}

.font-black {
  font-weight: 900
}

.font-extrabold {
  font-weight: 800
}

.text-\[\#25D366\] {
  --tw-text-opacity: 1;
  color: rgb(37 211 102 / var(--tw-text-opacity, 1))
}

.text-amber-200 {
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1))
}

.text-amber-200\/70 {
  color: rgb(253 230 138 / 0.7)
}

.text-amber-300 {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1))
}

.text-amber-300\/70 {
  color: rgb(252 211 77 / 0.7)
}

.text-amber-300\/90 {
  color: rgb(252 211 77 / 0.9)
}

.text-amber-600\/80 {
  color: rgb(217 119 6 / 0.8)
}

.text-amber-700\/70 {
  color: rgb(180 83 9 / 0.7)
}

.text-amber-700\/80 {
  color: rgb(180 83 9 / 0.8)
}

.text-amber-700\/90 {
  color: rgb(180 83 9 / 0.9)
}

.text-amber-800\/80 {
  color: rgb(146 64 14 / 0.8)
}

.text-amber-950 {
  --tw-text-opacity: 1;
  color: rgb(69 26 3 / var(--tw-text-opacity, 1))
}

.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1))
}

.text-blue-500\/70 {
  color: rgb(59 130 246 / 0.7)
}

.text-blue-800 {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1))
}

.text-blue-900 {
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / var(--tw-text-opacity, 1))
}

.text-cyan-500 {
  --tw-text-opacity: 1;
  color: rgb(6 182 212 / var(--tw-text-opacity, 1))
}

.text-emerald-100 {
  --tw-text-opacity: 1;
  color: rgb(209 250 229 / var(--tw-text-opacity, 1))
}

.text-emerald-200 {
  --tw-text-opacity: 1;
  color: rgb(167 243 208 / var(--tw-text-opacity, 1))
}

.text-emerald-200\/70 {
  color: rgb(167 243 208 / 0.7)
}

.text-emerald-300 {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1))
}

.text-emerald-300\/80 {
  color: rgb(110 231 183 / 0.8)
}

.text-emerald-300\/90 {
  color: rgb(110 231 183 / 0.9)
}

.text-emerald-400\/80 {
  color: rgb(52 211 153 / 0.8)
}

.text-emerald-50 {
  --tw-text-opacity: 1;
  color: rgb(236 253 245 / var(--tw-text-opacity, 1))
}

.text-emerald-600\/80 {
  color: rgb(5 150 105 / 0.8)
}

.text-emerald-600\/90 {
  color: rgb(5 150 105 / 0.9)
}

.text-emerald-700\/80 {
  color: rgb(4 120 87 / 0.8)
}

.text-emerald-900 {
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity, 1))
}

.text-green-100 {
  --tw-text-opacity: 1;
  color: rgb(220 252 231 / var(--tw-text-opacity, 1))
}

.text-green-200 {
  --tw-text-opacity: 1;
  color: rgb(187 247 208 / var(--tw-text-opacity, 1))
}

.text-green-500\/40 {
  color: rgb(34 197 94 / 0.4)
}

.text-green-600\/90 {
  color: rgb(22 163 74 / 0.9)
}

.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1))
}

.text-indigo-200\/80 {
  color: rgb(199 210 254 / 0.8)
}

.text-indigo-300\/60 {
  color: rgb(165 180 252 / 0.6)
}

.text-indigo-500\/80 {
  color: rgb(99 102 241 / 0.8)
}

.text-indigo-600\/70 {
  color: rgb(79 70 229 / 0.7)
}

.text-indigo-600\/80 {
  color: rgb(79 70 229 / 0.8)
}

.text-indigo-900\/80 {
  color: rgb(49 46 129 / 0.8)
}

.text-lime-800 {
  --tw-text-opacity: 1;
  color: rgb(63 98 18 / var(--tw-text-opacity, 1))
}

.text-orange-800 {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1))
}

.text-pink-600 {
  --tw-text-opacity: 1;
  color: rgb(219 39 119 / var(--tw-text-opacity, 1))
}

.text-pink-600\/80 {
  color: rgb(219 39 119 / 0.8)
}

.text-pink-800 {
  --tw-text-opacity: 1;
  color: rgb(157 23 77 / var(--tw-text-opacity, 1))
}

.text-purple-900 {
  --tw-text-opacity: 1;
  color: rgb(88 28 135 / var(--tw-text-opacity, 1))
}

.text-red-400\/80 {
  color: rgb(248 113 113 / 0.8)
}

.text-red-500\/80 {
  color: rgb(239 68 68 / 0.8)
}

.text-red-600\/70 {
  color: rgb(220 38 38 / 0.7)
}

.text-red-600\/80 {
  color: rgb(220 38 38 / 0.8)
}

.text-red-700\/80 {
  color: rgb(185 28 28 / 0.8)
}

.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1))
}

.text-rose-500 {
  --tw-text-opacity: 1;
  color: rgb(244 63 94 / var(--tw-text-opacity, 1))
}

.text-rose-800 {
  --tw-text-opacity: 1;
  color: rgb(159 18 57 / var(--tw-text-opacity, 1))
}

.text-rose-900 {
  --tw-text-opacity: 1;
  color: rgb(136 19 55 / var(--tw-text-opacity, 1))
}

.text-sky-400 {
  --tw-text-opacity: 1;
  color: rgb(56 189 248 / var(--tw-text-opacity, 1))
}

.text-sky-500 {
  --tw-text-opacity: 1;
  color: rgb(14 165 233 / var(--tw-text-opacity, 1))
}

.text-sky-600 {
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1))
}

.text-sky-700 {
  --tw-text-opacity: 1;
  color: rgb(3 105 161 / var(--tw-text-opacity, 1))
}

.text-sky-800 {
  --tw-text-opacity: 1;
  color: rgb(7 89 133 / var(--tw-text-opacity, 1))
}

.text-slate-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1))
}

.text-teal-500 {
  --tw-text-opacity: 1;
  color: rgb(20 184 166 / var(--tw-text-opacity, 1))
}

.text-teal-700 {
  --tw-text-opacity: 1;
  color: rgb(15 118 110 / var(--tw-text-opacity, 1))
}

.text-violet-100 {
  --tw-text-opacity: 1;
  color: rgb(237 233 254 / var(--tw-text-opacity, 1))
}

.text-violet-200 {
  --tw-text-opacity: 1;
  color: rgb(221 214 254 / var(--tw-text-opacity, 1))
}

.text-violet-200\/80 {
  color: rgb(221 214 254 / 0.8)
}

.text-violet-500 {
  --tw-text-opacity: 1;
  color: rgb(139 92 246 / var(--tw-text-opacity, 1))
}

.text-violet-600 {
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / var(--tw-text-opacity, 1))
}

.text-violet-700 {
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity, 1))
}

.text-violet-800 {
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1))
}

.text-white\/30 {
  color: rgb(255 255 255 / 0.3)
}

.text-yellow-800 {
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1))
}

.placeholder-gray-300::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(209 213 219 / var(--tw-placeholder-opacity, 1))
}

.placeholder-gray-300::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(209 213 219 / var(--tw-placeholder-opacity, 1))
}

.placeholder-gray-400::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1))
}

.placeholder-gray-400::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1))
}

.accent-indigo-500 {
  accent-color: #6366f1
}

.accent-indigo-600 {
  accent-color: #4f46e5
}

.accent-purple-600 {
  accent-color: #9333ea
}

.accent-red-500 {
  accent-color: #ef4444
}

.shadow-amber-500\/25 {
  --tw-shadow-color: rgb(245 158 11 / 0.25);
  --tw-shadow: var(--tw-shadow-colored)
}

.shadow-green-500\/25 {
  --tw-shadow-color: rgb(34 197 94 / 0.25);
  --tw-shadow: var(--tw-shadow-colored)
}

.shadow-indigo-500\/25 {
  --tw-shadow-color: rgb(99 102 241 / 0.25);
  --tw-shadow: var(--tw-shadow-colored)
}

.ring-amber-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(253 230 138 / var(--tw-ring-opacity, 1))
}

.ring-amber-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity, 1))
}

.ring-black\/5 {
  --tw-ring-color: rgb(0 0 0 / 0.05)
}

.ring-blue-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))
}

.ring-cyan-500\/30 {
  --tw-ring-color: rgb(6 182 212 / 0.3)
}

.ring-cyan-700\/20 {
  --tw-ring-color: rgb(14 116 144 / 0.2)
}

.ring-emerald-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity, 1))
}

.ring-gray-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(243 244 246 / var(--tw-ring-opacity, 1))
}

.ring-gray-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity, 1))
}

.ring-green-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1))
}

.ring-green-500\/30 {
  --tw-ring-color: rgb(34 197 94 / 0.3)
}

.ring-indigo-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(199 210 254 / var(--tw-ring-opacity, 1))
}

.ring-indigo-300 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(165 180 252 / var(--tw-ring-opacity, 1))
}

.ring-indigo-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(129 140 248 / var(--tw-ring-opacity, 1))
}

.ring-indigo-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1))
}

.ring-purple-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1))
}

.ring-red-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))
}

.ring-rose-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(244 63 94 / var(--tw-ring-opacity, 1))
}

.ring-transparent {
  --tw-ring-color: transparent
}

.ring-white {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1))
}

.group[open] .group-open\:inline {
  display: inline
}

.group[open] .group-open\:hidden {
  display: none
}

@media print {
  .print\:hidden {
    display: none
  }
}

/* Self-contained transforms — see the tranche note above. */
.-translate-x-1\/2 { transform: translateX(-50%); }
.translate-x-1 { transform: translateX(0.25rem); }
.translate-x-1\/2 { transform: translateX(50%); }
.translate-x-6 { transform: translateX(1.5rem); }
.translate-y-1\/2 { transform: translateY(50%); }

/* Off Tailwind's scale, so Tailwind will not emit them; resolved on the same
 * scale it uses. NOT included: `text-gray` (navbar.blade.php:65,
 * admin/navbar.blade.php:40) — a real typo with no shade, and picking one would be
 * inventing a design decision. It stays dead until someone chooses. */
.align-self-center { align-self: center; }
.border-3 { border-width: 3px; }
.font-inherit { font: inherit; }
.pl-13 { padding-left: 3.25rem; }
.size-4\.5 { width: 1.125rem; height: 1.125rem; }

/* ── 💍 THE RING SYSTEM, REBUILT (28 Jul 2026) ─────────────────────────────────
 *
 * 74 ring classes, 1,657 uses — the most-used interactive styling in the app, and it
 * was broadly broken. Every line below was MEASURED in a real browser (with the window
 * focused, because :focus never matches when it is not — that will fool you into
 * thinking every focus rule in the app is dead):
 *
 *   focus:ring-2 focus:ring-indigo-500   painted 1px, not 2px
 *   focus:ring-2 focus:ring-amber-500    painted INDIGO, not amber
 *   focus:ring-2 focus:ring-indigo-300   painted indigo-500, not indigo-300
 *   focus:ring-amber-500  (8 uses)       painted nothing at all
 *   focus:ring-indigo-400 (17 uses)      painted nothing at all
 *   ring-indigo-500, ring-gray-200,
 *   ring-black/5, every static colour    painted nothing at all
 *
 * Two root causes. Colour rules hardcoded a WIDTH into box-shadow and sat later in the
 * file than the width rules, so the colour rule won and forced the width back to its
 * own. And the Tailwind-generated colour rules set `--tw-ring-color`, which nothing in
 * this codebase reads — the working widths use `--mvk-ring`.
 *
 * The fix is structural, not a patch. EVERY rule below emits the SAME box-shadow
 * expression and contributes exactly one variable:
 *
 *     colour  ->  --mvk-ring
 *     width   ->  --mvk-ring-w
 *     offset  ->  --mvk-ring-offset-w / --mvk-ring-offset-c
 *
 * Because the declaration is byte-identical in every rule, it no longer matters which
 * one wins the cascade — the computed result is the same either way, and each rule's
 * variable still lands. That is what makes the ordering bug impossible to reintroduce.
 * Add new ring classes in exactly this shape.
 *
 * ⚠️ The trailing `var(--tw-shadow, 0 0 #0000)` is LOad-BEARING, not decoration.
 * box-shadow is a single property, so a ring rule that omits it wipes out any shadow-*
 * on the same element. Measured while building this: without it, `shadow-sm
 * focus:ring-0` lost its shadow the instant the field took focus — on all 327 elements
 * that use focus:ring-0. Every shadow utility here sets --tw-shadow, so naming it
 * composes the ring and the shadow instead of one clobbering the other.
 *
 * ⚠️ DELIBERATE DIVERGENCE FROM STOCK TAILWIND: `--mvk-ring-w` defaults to 1px, so a
 * colour with no width class paints a 1px ring. In stock Tailwind it would paint
 * nothing. This copies the convention already set at ~line 642 for focus:ring-indigo-500,
 * and it is what the markup expects — 35 elements use a static ring colour with no width
 * class, including the SELECTED-THUMBNAIL indicator in shop/partials/product-images,
 * which showed no selection at all until now.
 *
 * These rules supersede the earlier ring blocks (~line 481 and ~line 640) by position.
 * Those are left in place rather than deleted; they are harmless once overridden.
 *
 * ⛔ NOT a Tailwind ring, left alone on purpose:
 *   ring-wrap / ring-num  — a progress-ring widget, styled in week-share.blade.php's own
 *                           <style> block. Nothing to do with ring utilities.
 *   ring-dashed           — used as `ring-1 ring-dashed ring-indigo-200` in
 *                           pure-persona-home and rider-home. Tailwind rings are
 *                           box-shadows and CANNOT be dashed; that needs
 *                           `border-2 border-dashed`. Left dead so it stays visible as
 *                           the markup bug it is.
 *
 * Colours come from this repo's own tailwindcss palette, read from the package.
 */
.dark\:focus\:ring-indigo-800:focus:is(.dark *) { --mvk-ring: #3730a3; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.dark\:focus\:ring-offset-gray-800:focus:is(.dark *) { --mvk-ring-offset-c: #1f2937; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.dark\:focus\:ring-offset-gray-900:focus:is(.dark *) { --mvk-ring-offset-c: #111827; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.dark\:hover\:ring-indigo-600:hover:is(.dark *) { --mvk-ring: #4f46e5; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.dark\:hover\:ring-indigo-700:hover:is(.dark *) { --mvk-ring: #4338ca; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.dark\:hover\:ring-purple-600:hover:is(.dark *) { --mvk-ring: #9333ea; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.dark\:ring-amber-700:is(.dark *) { --mvk-ring: #b45309; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.dark\:ring-gray-600:is(.dark *) { --mvk-ring: #4b5563; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.dark\:ring-gray-700:is(.dark *) { --mvk-ring: #374151; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.dark\:ring-gray-800:is(.dark *) { --mvk-ring: #1f2937; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.dark\:ring-indigo-500:is(.dark *) { --mvk-ring: #6366f1; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.dark\:ring-indigo-500\/30:is(.dark *) { --mvk-ring: rgba(99, 102, 241, 0.3); box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.dark\:ring-indigo-700:is(.dark *) { --mvk-ring: #4338ca; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.dark\:ring-indigo-800:is(.dark *) { --mvk-ring: #3730a3; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.dark\:ring-white\/10:is(.dark *) { --mvk-ring: rgba(255, 255, 255, 0.1); box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-0:focus { --mvk-ring-w: 0px; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-1:focus { --mvk-ring-w: 1px; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-2:focus { --mvk-ring-w: 2px; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-4:focus { --mvk-ring-w: 4px; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-amber-500:focus { --mvk-ring: #f59e0b; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-cyan-300:focus { --mvk-ring: #67e8f9; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-cyan-500:focus { --mvk-ring: #06b6d4; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-emerald-300:focus { --mvk-ring: #6ee7b7; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-emerald-500:focus { --mvk-ring: #10b981; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-gray-400:focus { --mvk-ring: #9ca3af; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-green-500:focus { --mvk-ring: #22c55e; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-green-500\/20:focus { --mvk-ring: rgba(34, 197, 94, 0.2); box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-indigo-200:focus { --mvk-ring: #c7d2fe; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-indigo-300:focus { --mvk-ring: #a5b4fc; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-indigo-400:focus { --mvk-ring: #818cf8; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-indigo-500:focus { --mvk-ring: #6366f1; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-indigo-500\/20:focus { --mvk-ring: rgba(99, 102, 241, 0.2); box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-offset-2:focus { --mvk-ring-offset-w: 2px; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-orange-500:focus { --mvk-ring: #f97316; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-purple-500:focus { --mvk-ring: #a855f7; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-red-400:focus { --mvk-ring: #f87171; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-red-500:focus { --mvk-ring: #ef4444; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-teal-500:focus { --mvk-ring: #14b8a6; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-white:focus { --mvk-ring: #ffffff; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.focus\:ring-yellow-400:focus { --mvk-ring: #facc15; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.hover\:ring-0:hover { --mvk-ring-w: 0px; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.hover\:ring-2:hover { --mvk-ring-w: 2px; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.hover\:ring-amber-300:hover { --mvk-ring: #fcd34d; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.hover\:ring-blue-300:hover { --mvk-ring: #93c5fd; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.hover\:ring-emerald-300:hover { --mvk-ring: #6ee7b7; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.hover\:ring-indigo-300:hover { --mvk-ring: #a5b4fc; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.hover\:ring-purple-300:hover { --mvk-ring: #d8b4fe; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.hover\:ring-rose-300:hover { --mvk-ring: #fda4af; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring { --mvk-ring-w: 3px; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-0 { --mvk-ring-w: 0px; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-1 { --mvk-ring-w: 1px; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-2 { --mvk-ring-w: 2px; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-4 { --mvk-ring-w: 4px; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-amber-200 { --mvk-ring: #fde68a; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-amber-500 { --mvk-ring: #f59e0b; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-black\/5 { --mvk-ring: rgba(0, 0, 0, 0.05); box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-blue-500 { --mvk-ring: #3b82f6; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-cyan-500\/30 { --mvk-ring: rgba(6, 182, 212, 0.3); box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-cyan-700\/20 { --mvk-ring: rgba(14, 116, 144, 0.2); box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-emerald-500 { --mvk-ring: #10b981; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-gray-100 { --mvk-ring: #f3f4f6; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-gray-200 { --mvk-ring: #e5e7eb; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-green-500 { --mvk-ring: #22c55e; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-green-500\/30 { --mvk-ring: rgba(34, 197, 94, 0.3); box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-indigo-200 { --mvk-ring: #c7d2fe; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-indigo-300 { --mvk-ring: #a5b4fc; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-indigo-400 { --mvk-ring: #818cf8; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-indigo-500 { --mvk-ring: #6366f1; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-offset-1 { --mvk-ring-offset-w: 1px; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-purple-500 { --mvk-ring: #a855f7; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-red-500 { --mvk-ring: #ef4444; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-rose-500 { --mvk-ring: #f43f5e; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-transparent { --mvk-ring: transparent; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }
.ring-white { --mvk-ring: #ffffff; box-shadow: 0 0 0 var(--mvk-ring-offset-w, 0px) var(--mvk-ring-offset-c, #fff), 0 0 0 calc(var(--mvk-ring-offset-w, 0px) + var(--mvk-ring-w, 1px)) var(--mvk-ring, #6366f1), var(--tw-shadow, 0 0 #0000); }

/* ── 📖 PROSE / TYPOGRAPHY (28 Jul 2026) ───────────────────────────────────────
 *
 * @tailwindcss/typography was never installed, so `prose`, `prose-lg` and
 * `prose-invert` were dead everywhere they appeared. Three views use them:
 *   public/parking/gb/about.blade.php
 *   public/parking/gb/contact.blade.php
 *   public/parking/_shared/country-about.blade.php  <- included by au, ca, ie, nz, sg …
 * which is 9+ live public pages. Their article body rendered with NO typography at all:
 * on /gb/parking/about, "Why this product exists" is a heading that looked exactly like
 * the paragraph beneath it, and consecutive paragraphs ran together with no separation.
 * A wall of text on SEO landing pages.
 *
 * Generated with the plugin (v0.5.20) against the exact class list those views use, so
 * this is the prose rules only — not the whole typography surface. It needs BOTH
 * @tailwind components and @tailwind utilities: `prose` is registered as a COMPONENT,
 * and generating with the utilities layer alone silently emits nothing but max-w-none.
 *
 * The --tw-prose-* custom properties are defined on `.prose` itself and inherited by the
 * descendant rules; `.dark\:prose-invert` redefines the same 36 for dark. 36 defined,
 * 36 referenced — self-contained, nothing leans on a preflight defaults block.
 */
.prose {
  color: var(--tw-prose-body);
  max-width: 65ch;
}

.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-lead);
  font-size: 1.25em;
  line-height: 1.6;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}

.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-links);
  text-decoration: underline;
  font-weight: 500;
}

.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-bold);
  font-weight: 600;
}

.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: decimal;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}

.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: decimal;
}

.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: disc;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}

.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
  font-weight: 400;
  color: var(--tw-prose-counters);
}

.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
  color: var(--tw-prose-bullets);
}

.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.25em;
}

.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-color: var(--tw-prose-hr);
  border-top-width: 1px;
  margin-top: 3em;
  margin-bottom: 3em;
}

.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 500;
  font-style: italic;
  color: var(--tw-prose-quotes);
  border-inline-start-width: 0.25rem;
  border-inline-start-color: var(--tw-prose-quote-borders);
  quotes: "\201C""\201D""\2018""\2019";
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-inline-start: 1em;
}

.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: open-quote;
}

.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: close-quote;
}

.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 800;
  font-size: 2.25em;
  margin-top: 0;
  margin-bottom: 0.8888889em;
  line-height: 1.1111111;
}

.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 900;
  color: inherit;
}

.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 700;
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
  line-height: 1.3333333;
}

.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 800;
  color: inherit;
}

.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  font-size: 1.25em;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  line-height: 1.6;
}

.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}

.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  display: block;
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 500;
  font-family: inherit;
  color: var(--tw-prose-kbd);
  box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);
  font-size: 0.875em;
  border-radius: 0.3125rem;
  padding-top: 0.1875em;
  padding-inline-end: 0.375em;
  padding-bottom: 0.1875em;
  padding-inline-start: 0.375em;
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-code);
  font-weight: 600;
  font-size: 0.875em;
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: "`";
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: "`";
}

.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.875em;
}

.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.9em;
}

.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-pre-code);
  background-color: var(--tw-prose-pre-bg);
  overflow-x: auto;
  font-weight: 400;
  font-size: 0.875em;
  line-height: 1.7142857;
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
  border-radius: 0.375rem;
  padding-top: 0.8571429em;
  padding-inline-end: 1.1428571em;
  padding-bottom: 0.8571429em;
  padding-inline-start: 1.1428571em;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: none;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: none;
}

.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  width: 100%;
  table-layout: auto;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 0.875em;
  line-height: 1.7142857;
}

.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-th-borders);
}

.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  vertical-align: bottom;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}

.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-td-borders);
}

.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 0;
}

.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  vertical-align: baseline;
}

.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-top-width: 1px;
  border-top-color: var(--tw-prose-th-borders);
}

.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  vertical-align: top;
}

.prose :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  text-align: start;
}

.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-captions);
  font-size: 0.875em;
  line-height: 1.4285714;
  margin-top: 0.8571429em;
}

.prose {
  --tw-prose-body: #374151;
  --tw-prose-headings: #111827;
  --tw-prose-lead: #4b5563;
  --tw-prose-links: #111827;
  --tw-prose-bold: #111827;
  --tw-prose-counters: #6b7280;
  --tw-prose-bullets: #d1d5db;
  --tw-prose-hr: #e5e7eb;
  --tw-prose-quotes: #111827;
  --tw-prose-quote-borders: #e5e7eb;
  --tw-prose-captions: #6b7280;
  --tw-prose-kbd: #111827;
  --tw-prose-kbd-shadows: rgb(17 24 39 / 10%);
  --tw-prose-code: #111827;
  --tw-prose-pre-code: #e5e7eb;
  --tw-prose-pre-bg: #1f2937;
  --tw-prose-th-borders: #d1d5db;
  --tw-prose-td-borders: #e5e7eb;
  --tw-prose-invert-body: #d1d5db;
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: #9ca3af;
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: #9ca3af;
  --tw-prose-invert-bullets: #4b5563;
  --tw-prose-invert-hr: #374151;
  --tw-prose-invert-quotes: #f3f4f6;
  --tw-prose-invert-quote-borders: #374151;
  --tw-prose-invert-captions: #9ca3af;
  --tw-prose-invert-kbd: #fff;
  --tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);
  --tw-prose-invert-code: #fff;
  --tw-prose-invert-pre-code: #d1d5db;
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: #4b5563;
  --tw-prose-invert-td-borders: #374151;
  font-size: 1rem;
  line-height: 1.75;
}

.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.375em;
}

.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.375em;
}

.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5em;
  padding-inline-start: 1.625em;
}

.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-top: 0.5714286em;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}

.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose-lg {
  font-size: 1.125rem;
  line-height: 1.7777778;
}

.prose-lg :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
}

.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.2222222em;
  line-height: 1.4545455;
  margin-top: 1.0909091em;
  margin-bottom: 1.0909091em;
}

.prose-lg :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.6666667em;
  margin-bottom: 1.6666667em;
  padding-inline-start: 1em;
}

.prose-lg :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 2.6666667em;
  margin-top: 0;
  margin-bottom: 0.8333333em;
  line-height: 1;
}

.prose-lg :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.6666667em;
  margin-top: 1.8666667em;
  margin-bottom: 1.0666667em;
  line-height: 1.3333333;
}

.prose-lg :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.3333333em;
  margin-top: 1.6666667em;
  margin-bottom: 0.6666667em;
  line-height: 1.5;
}

.prose-lg :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 0.4444444em;
  line-height: 1.5555556;
}

.prose-lg :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}

.prose-lg :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}

.prose-lg :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose-lg :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}

.prose-lg :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
  border-radius: 0.3125rem;
  padding-top: 0.2222222em;
  padding-inline-end: 0.4444444em;
  padding-bottom: 0.2222222em;
  padding-inline-start: 0.4444444em;
}

.prose-lg :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
}

.prose-lg :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8666667em;
}

.prose-lg :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.875em;
}

.prose-lg :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
  line-height: 1.75;
  margin-top: 2em;
  margin-bottom: 2em;
  border-radius: 0.375rem;
  padding-top: 1em;
  padding-inline-end: 1.5em;
  padding-bottom: 1em;
  padding-inline-start: 1.5em;
}

.prose-lg :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-inline-start: 1.5555556em;
}

.prose-lg :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-inline-start: 1.5555556em;
}

.prose-lg :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.6666667em;
  margin-bottom: 0.6666667em;
}

.prose-lg :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.4444444em;
}

.prose-lg :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.4444444em;
}

.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}

.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}

.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.3333333em;
}

.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}

.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.3333333em;
}

.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}

.prose-lg :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
}

.prose-lg :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}

.prose-lg :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.6666667em;
  padding-inline-start: 1.5555556em;
}

.prose-lg :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 3.1111111em;
  margin-bottom: 3.1111111em;
}

.prose-lg :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-lg :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-lg :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-lg :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-lg :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
  line-height: 1.5;
}

.prose-lg :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0.75em;
  padding-bottom: 0.75em;
  padding-inline-start: 0.75em;
}

.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose-lg :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-top: 0.75em;
  padding-inline-end: 0.75em;
  padding-bottom: 0.75em;
  padding-inline-start: 0.75em;
}

.prose-lg :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose-lg :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose-lg :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}

.prose-lg :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose-lg :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
  line-height: 1.5;
  margin-top: 1em;
}

.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 0;
}

.max-w-none {
  max-width: none;
}

.dark\:prose-invert:is(.dark *) {
  --tw-prose-body: var(--tw-prose-invert-body);
  --tw-prose-headings: var(--tw-prose-invert-headings);
  --tw-prose-lead: var(--tw-prose-invert-lead);
  --tw-prose-links: var(--tw-prose-invert-links);
  --tw-prose-bold: var(--tw-prose-invert-bold);
  --tw-prose-counters: var(--tw-prose-invert-counters);
  --tw-prose-bullets: var(--tw-prose-invert-bullets);
  --tw-prose-hr: var(--tw-prose-invert-hr);
  --tw-prose-quotes: var(--tw-prose-invert-quotes);
  --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);
  --tw-prose-captions: var(--tw-prose-invert-captions);
  --tw-prose-kbd: var(--tw-prose-invert-kbd);
  --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);
  --tw-prose-code: var(--tw-prose-invert-code);
  --tw-prose-pre-code: var(--tw-prose-invert-pre-code);
  --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);
  --tw-prose-th-borders: var(--tw-prose-invert-th-borders);
  --tw-prose-td-borders: var(--tw-prose-invert-td-borders);
}

/* ⚠️ MUST STAY LAST. `.prose` sets `max-width: 65ch`, and all three views override it
 * with `max-w-none`. Both selectors are (0,1,0), so position decides — and .max-w-none
 * is declared at ~line 5358, ABOVE the prose block, which would let 65ch win and clamp
 * the article. Tailwind avoids this by emitting components before utilities; appending
 * prose to the end of this file inverts that, so the utility is restated here to put the
 * order back. Anything appended after this point must not reintroduce the problem. */
.max-w-none { max-width: none; }

/* ── 🌙 DEAD dark: CLASSES, REVIVED (21 Aug 2026) ──────────────────────────────
   Harshani (Qulifix Automotive, NZ) sent a photo of her vehicle page with two
   blank WHITE boxes on a dark screen. They are the "What you'll get" cards, and
   they carry `bg-gray-50 dark:bg-gray-700/30`. The dark half did not exist in the
   bundle — an opacity-modified colour that no build had ever emitted — so in dark
   mode the card kept its light background and turned into a white slab with pale
   text on it. She never mentioned it; she was writing about something else.

   Audited every dark: class used in a blade against the shipped CSS: 29 dead, of
   which 22 were real classes (the rest were arbitrary-value fragments and
   truncated dynamic strings). Generated here with the repo's own tailwindcss
   3.4.19 so the values come off the same scale as the rest of the bundle.

   🩸 Deliberately EXCLUDED, and left dead rather than shipped broken:
     · 5 gradient classes (dark:from-*/dark:to-*) — they emit
       var(--tw-gradient-from-position) with no fallback, and this app ships no
       preflight to define it, so the browser would drop the declaration. Fixing
       those means rewriting them self-contained, which is its own piece of work.
     · dark:ring-green-800 / dark:ring-blue-800 — rings here run on --mvk-ring,
       not --tw-ring-color. A generated ring rule would fight the ring system.

   Every rule below sets any --tw-* it uses in its own block AND carries a
   fallback, so none of them can die the silent death described above.
   Nothing here carries a breakpoint variant, so it cannot disturb the
   source-order restoration that must stay last.
   ──────────────────────────────────────────────────────────────────────────── */
.dark\:border-gray-600\/40:is(.dark *){border-color:rgba(75,85,99,.4)}.dark\:border-gray-700\/50:is(.dark *){border-color:rgba(55,65,81,.5)}.dark\:bg-amber-50:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.dark\:bg-amber-950\/50:is(.dark *){background-color:rgba(69,26,3,.5)}.dark\:bg-gray-700\/30:is(.dark *){background-color:rgba(55,65,81,.3)}.dark\:bg-orange-500\/20:is(.dark *){background-color:rgba(249,115,22,.2)}.dark\:bg-orange-900\/40:is(.dark *){background-color:rgba(124,45,18,.4)}.dark\:bg-red-950\/40:is(.dark *){background-color:rgba(69,10,10,.4)}.dark\:bg-sky-500\/20:is(.dark *){background-color:rgba(14,165,233,.2)}.dark\:bg-sky-900\/40:is(.dark *){background-color:rgba(12,74,110,.4)}.dark\:bg-slate-500\/20:is(.dark *){background-color:rgba(100,116,139,.2)}.dark\:bg-violet-900\/40:is(.dark *){background-color:rgba(76,29,149,.4)}.dark\:bg-yellow-400\/20:is(.dark *){background-color:rgba(250,204,21,.2)}.dark\:text-slate-300:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dark\:hover\:border-amber-700:hover:is(.dark *){--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity,1))}.dark\:hover\:bg-cyan-900\/30:hover:is(.dark *){background-color:rgba(22,78,99,.3)}.dark\:hover\:bg-gray-750:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}

/* ── 📐 RESPONSIVE ORDER RESTORATION — MUST STAY LAST (28 Jul 2026) ────────────
 *
 * Every responsive utility the markup uses (282 classes / 3,310 uses), re-emitted here in
 * ASCENDING breakpoint order. Not new classes — a correctly ordered copy.
 *
 * WHY. Breakpoint variants all have the same specificity, so SOURCE ORDER alone decides,
 * and `lg` matches everywhere `sm` does. Tailwind guarantees correctness by emitting
 * sm → md → lg → xl within one file. Splitting utilities across bundles destroys that
 * guarantee: custom-utilities.css loads AFTER style.css / style.min.css, so every `sm:` or
 * `md:` rule appended here silently overrode an `lg:` or `xl:` rule for the same property
 * living in the earlier bundle — at EVERY width above the smaller breakpoint.
 *
 * Measured on /gb before this block (viewport 1858px, so lg and xl both active):
 *   text-3xl md:text-5xl lg:text-6xl   ->  48px   should be 60px  (the country-hub H1)
 *   text-3xl sm:text-4xl md:text-5xl   ->  36px   should be 48px
 *   p-4 sm:p-6 md:p-8                  ->  24px   should be 32px
 * `md:text-5xl` sits in this file; `lg:text-6xl` sits in style.min.css. Later wins, so the
 * SMALLER breakpoint won and the design's largest step never applied on a large screen.
 *
 * Tranches 3 and 4 introduced this by adding 143 responsive classes without re-emitting
 * their larger-breakpoint siblings. This block is the fix, and it is why it must remain the
 * LAST responsive layer in the file.
 *
 * ⚠️ ANYTHING APPENDED BELOW THIS POINT that carries a `sm:`/`md:`/`lg:` variant
 * REINTRODUCES THE BUG. Add new responsive utilities by regenerating this whole block
 * (scratchpad/resp_classes.txt -> tailwindcss CLI), never by appending one rule after it.
 *
 * ⚠️ Contains no plain .grid-cols-N (the authoritative grid block above keeps that role)
 * and no plain .max-w-none (the prose block above depends on that staying last for
 * max-width), so both existing invariants still hold.
 */
@media (min-width: 640px) {
  .sm\:order-1 {
    order: 1
  }

  .sm\:order-2 {
    order: 2
  }

  .sm\:col-span-2 {
    grid-column: span 2 / span 2
  }

  .sm\:-mx-5 {
    margin-left: -1.25rem;
    margin-right: -1.25rem
  }

  .sm\:-mx-6 {
    margin-left: -1.5rem;
    margin-right: -1.5rem
  }

  .sm\:mx-0 {
    margin-left: 0px;
    margin-right: 0px
  }

  .sm\:mx-6 {
    margin-left: 1.5rem;
    margin-right: 1.5rem
  }

  .sm\:-mt-14 {
    margin-top: -3.5rem
  }

  .sm\:mb-0 {
    margin-bottom: 0px
  }

  .sm\:ml-3 {
    margin-left: 0.75rem
  }

  .sm\:mt-0 {
    margin-top: 0px
  }

  .sm\:block {
    display: block
  }

  .sm\:inline-block {
    display: inline-block
  }

  .sm\:inline {
    display: inline
  }

  .sm\:flex {
    display: flex
  }

  .sm\:inline-flex {
    display: inline-flex
  }

  .sm\:table-cell {
    display: table-cell
  }

  .sm\:grid {
    display: grid
  }

  .sm\:hidden {
    display: none
  }

  .sm\:size-auto {
    width: auto;
    height: auto
  }

  .sm\:h-14 {
    height: 3.5rem
  }

  .sm\:h-48 {
    height: 12rem
  }

  .sm\:h-52 {
    height: 13rem
  }

  .sm\:h-7 {
    height: 1.75rem
  }

  .sm\:h-96 {
    height: 24rem
  }

  .sm\:h-\[60vh\] {
    height: 60vh
  }

  .sm\:max-h-\[90vh\] {
    max-height: 90vh
  }

  .sm\:w-1\/2 {
    width: 50%
  }

  .sm\:w-1\/3 {
    width: 33.333333%
  }

  .sm\:w-1\/4 {
    width: 25%
  }

  .sm\:w-11\/12 {
    width: 91.666667%
  }

  .sm\:w-12 {
    width: 3rem
  }

  .sm\:w-14 {
    width: 3.5rem
  }

  .sm\:w-2\/3 {
    width: 66.666667%
  }

  .sm\:w-24 {
    width: 6rem
  }

  .sm\:w-32 {
    width: 8rem
  }

  .sm\:w-36 {
    width: 9rem
  }

  .sm\:w-48 {
    width: 12rem
  }

  .sm\:w-52 {
    width: 13rem
  }

  .sm\:w-64 {
    width: 16rem
  }

  .sm\:w-7 {
    width: 1.75rem
  }

  .sm\:w-\[28rem\] {
    width: 28rem
  }

  .sm\:w-\[420px\] {
    width: 420px
  }

  .sm\:w-auto {
    width: auto
  }

  .sm\:max-w-2xl {
    max-width: 42rem
  }

  .sm\:max-w-md {
    max-width: 28rem
  }

  .sm\:max-w-sm {
    max-width: 24rem
  }

  .sm\:max-w-xs {
    max-width: 20rem
  }

  .sm\:flex-1 {
    flex: 1 1 0%
  }

  .sm\:flex-none {
    flex: none
  }

  .sm\:basis-auto {
    flex-basis: auto
  }

  .sm\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr))
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr))
  }

  .sm\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr))
  }

  .sm\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr))
  }

  .sm\:grid-cols-\[1fr_120px\] {
    grid-template-columns: 1fr 120px
  }

  .sm\:grid-cols-\[1fr_140px\] {
    grid-template-columns: 1fr 140px
  }

  .sm\:grid-cols-\[1fr_180px\] {
    grid-template-columns: 1fr 180px
  }

  .sm\:flex-row {
    flex-direction: row
  }

  .sm\:items-start {
    align-items: flex-start
  }

  .sm\:items-end {
    align-items: flex-end
  }

  .sm\:items-center {
    align-items: center
  }

  .sm\:items-stretch {
    align-items: stretch
  }

  .sm\:justify-start {
    justify-content: flex-start
  }

  .sm\:justify-end {
    justify-content: flex-end
  }

  .sm\:justify-between {
    justify-content: space-between
  }

  .sm\:gap-1 {
    gap: 0.25rem
  }

  .sm\:gap-10 {
    gap: 2.5rem
  }

  .sm\:gap-2 {
    gap: 0.5rem
  }

  .sm\:gap-3 {
    gap: 0.75rem
  }

  .sm\:gap-4 {
    gap: 1rem
  }

  .sm\:gap-6 {
    gap: 1.5rem
  }

  .sm\:gap-8 {
    gap: 2rem
  }

  .sm\:gap-y-0 {
    row-gap: 0px
  }

  .sm\: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))
  }

  .sm\:self-end {
    align-self: flex-end
  }

  .sm\:rounded-2xl {
    border-radius: 1rem
  }

  .sm\:rounded-lg {
    border-radius: 0.5rem
  }

  .sm\:rounded-b-none {
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px
  }

  .sm\:rounded-l-sm {
    border-top-left-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem
  }

  .sm\:rounded-r-sm {
    border-top-right-radius: 0.125rem;
    border-bottom-right-radius: 0.125rem
  }

  .sm\:rounded-t-none {
    border-top-left-radius: 0px;
    border-top-right-radius: 0px
  }

  .sm\:border-l-0 {
    border-left-width: 0px
  }

  .sm\:border-r {
    border-right-width: 1px
  }

  .sm\:border-r-0 {
    border-right-width: 0px
  }

  .sm\:p-10 {
    padding: 2.5rem
  }

  .sm\:p-12 {
    padding: 3rem
  }

  .sm\:p-4 {
    padding: 1rem
  }

  .sm\:p-5 {
    padding: 1.25rem
  }

  .sm\:p-6 {
    padding: 1.5rem
  }

  .sm\:p-7 {
    padding: 1.75rem
  }

  .sm\:p-8 {
    padding: 2rem
  }

  .sm\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem
  }

  .sm\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem
  }

  .sm\:px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem
  }

  .sm\:px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem
  }

  .sm\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem
  }

  .sm\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem
  }

  .sm\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem
  }

  .sm\:py-1\.5 {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem
  }

  .sm\:py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem
  }

  .sm\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem
  }

  .sm\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem
  }

  .sm\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem
  }

  .sm\:py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem
  }

  .sm\:py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem
  }

  .sm\:py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem
  }

  .sm\:py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem
  }

  .sm\:pl-0 {
    padding-left: 0px
  }

  .sm\:ps-8 {
    padding-inline-start: 2rem
  }

  .sm\:pt-0 {
    padding-top: 0px
  }

  .sm\:pt-14 {
    padding-top: 3.5rem
  }

  .sm\:text-left {
    text-align: left
  }

  .sm\:text-center {
    text-align: center
  }

  .sm\:text-end {
    text-align: end
  }

  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
  }

  .sm\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem
  }

  .sm\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem
  }

  .sm\:text-base {
    font-size: 1rem;
    line-height: 1.5rem
  }

  .sm\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
  }

  .sm\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem
  }

  .sm\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem
  }

  .sm\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem
  }
}

@media (min-width: 768px) {
  .md\:end-0 {
    inset-inline-end: 0px
  }

  .md\:left-\[17rem\] {
    left: 17rem
  }

  .md\:start-0 {
    inset-inline-start: 0px
  }

  .md\:start-64 {
    inset-inline-start: 16rem
  }

  .md\:col-span-1 {
    grid-column: span 1 / span 1
  }

  .md\:col-span-12 {
    grid-column: span 12 / span 12
  }

  .md\:col-span-2 {
    grid-column: span 2 / span 2
  }

  .md\:col-span-3 {
    grid-column: span 3 / span 3
  }

  .md\:col-span-6 {
    grid-column: span 6 / span 6
  }

  .md\:-ms-64 {
    margin-inline-start: -16rem
  }

  .md\:mb-0 {
    margin-bottom: 0px
  }

  .md\:me-0 {
    margin-inline-end: 0px
  }

  .md\:ms-0 {
    margin-inline-start: 0px
  }

  .md\:ms-64 {
    margin-inline-start: 16rem
  }

  .md\:mt-0 {
    margin-top: 0px
  }

  .md\:block {
    display: block
  }

  .md\:flex {
    display: flex
  }

  .md\:table-cell {
    display: table-cell
  }

  .md\:hidden {
    display: none
  }

  .md\:h-96 {
    height: 24rem
  }

  .md\:w-1\/2 {
    width: 50%
  }

  .md\:w-1\/3 {
    width: 33.333333%
  }

  .md\:w-2\/5 {
    width: 40%
  }

  .md\:w-3\/5 {
    width: 60%
  }

  .md\:w-80 {
    width: 20rem
  }

  .md\:w-96 {
    width: 24rem
  }

  .md\:max-w-md {
    max-width: 28rem
  }

  .md\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr))
  }

  .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 {
    flex-direction: row
  }

  .md\:items-end {
    align-items: flex-end
  }

  .md\:items-center {
    align-items: center
  }

  .md\:justify-start {
    justify-content: flex-start
  }

  .md\:justify-between {
    justify-content: space-between
  }

  .md\:gap-16 {
    gap: 4rem
  }

  .md\:p-10 {
    padding: 2.5rem
  }

  .md\:p-12 {
    padding: 3rem
  }

  .md\:p-14 {
    padding: 3.5rem
  }

  .md\:p-6 {
    padding: 1.5rem
  }

  .md\:p-8 {
    padding: 2rem
  }

  .md\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem
  }

  .md\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem
  }

  .md\:py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem
  }

  .md\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem
  }

  .md\:py-14 {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem
  }

  .md\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem
  }

  .md\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem
  }

  .md\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem
  }

  .md\:py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem
  }

  .md\:pb-20 {
    padding-bottom: 5rem
  }

  .md\:pb-28 {
    padding-bottom: 7rem
  }

  .md\:pb-4 {
    padding-bottom: 1rem
  }

  .md\:pt-16 {
    padding-top: 4rem
  }

  .md\:pt-20 {
    padding-top: 5rem
  }

  .md\:text-left {
    text-align: left
  }

  .md\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
  }

  .md\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem
  }

  .md\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem
  }

  .md\:text-5xl {
    font-size: 3rem;
    line-height: 1
  }

  .md\:text-base {
    font-size: 1rem;
    line-height: 1.5rem
  }

  .md\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
  }

  .md\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem
  }

  .md\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem
  }
}

@media (min-width: 1024px) {
  .lg\:sticky {
    position: sticky
  }

  .lg\:top-24 {
    top: 6rem
  }

  .lg\:top-4 {
    top: 1rem
  }

  .lg\:top-8 {
    top: 2rem
  }

  .lg\:col-span-1 {
    grid-column: span 1 / span 1
  }

  .lg\:col-span-2 {
    grid-column: span 2 / span 2
  }

  .lg\:col-span-3 {
    grid-column: span 3 / span 3
  }

  .lg\:col-span-4 {
    grid-column: span 4 / span 4
  }

  .lg\:mx-auto {
    margin-left: auto;
    margin-right: auto
  }

  .lg\:my-auto {
    margin-top: auto;
    margin-bottom: auto
  }

  .lg\:mb-0 {
    margin-bottom: 0px
  }

  .lg\:me-0 {
    margin-inline-end: 0px
  }

  .lg\:mt-0 {
    margin-top: 0px
  }

  .lg\:mt-\[4\.5rem\] {
    margin-top: 4.5rem
  }

  .lg\:block {
    display: block
  }

  .lg\:flex {
    display: flex
  }

  .lg\:hidden {
    display: none
  }

  .lg\:h-80 {
    height: 20rem
  }

  .lg\:max-h-full {
    max-height: 100%
  }

  .lg\:max-h-none {
    max-height: none
  }

  .lg\:w-1\/2 {
    width: 50%
  }

  .lg\:w-1\/3 {
    width: 33.333333%
  }

  .lg\:w-1\/4 {
    width: 25%
  }

  .lg\:w-2\/3 {
    width: 66.666667%
  }

  .lg\:w-2\/5 {
    width: 40%
  }

  .lg\:w-3\/4 {
    width: 75%
  }

  .lg\:w-3\/5 {
    width: 60%
  }

  .lg\:w-5\/12 {
    width: 41.666667%
  }

  .lg\:w-64 {
    width: 16rem
  }

  .lg\:w-7\/12 {
    width: 58.333333%
  }

  .lg\:w-\[820px\] {
    width: 820px
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr))
  }

  .lg\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr))
  }

  .lg\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr))
  }

  .lg\:grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr))
  }

  .lg\:grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr))
  }

  .lg\:flex-row {
    flex-direction: row
  }

  .lg\:flex-nowrap {
    flex-wrap: nowrap
  }

  .lg\:items-center {
    align-items: center
  }

  .lg\:justify-between {
    justify-content: space-between
  }

  .lg\:gap-16 {
    gap: 4rem
  }

  .lg\:overflow-visible {
    overflow: visible
  }

  .lg\:p-10 {
    padding: 2.5rem
  }

  .lg\:p-12 {
    padding: 3rem
  }

  .lg\:p-8 {
    padding: 2rem
  }

  .lg\:p-9 {
    padding: 2.25rem
  }

  .lg\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem
  }

  .lg\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem
  }

  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem
  }

  .lg\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem
  }

  .lg\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem
  }

  .lg\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem
  }

  .lg\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem
  }

  .lg\:py-28 {
    padding-top: 7rem;
    padding-bottom: 7rem
  }

  .lg\:py-32 {
    padding-top: 8rem;
    padding-bottom: 8rem
  }

  .lg\:py-7 {
    padding-top: 1.75rem;
    padding-bottom: 1.75rem
  }

  .lg\:pb-10 {
    padding-bottom: 2.5rem
  }

  .lg\:pb-16 {
    padding-bottom: 4rem
  }

  .lg\:pe-20 {
    padding-inline-end: 5rem
  }

  .lg\:text-start {
    text-align: start
  }

  .lg\:text-end {
    text-align: end
  }

  .lg\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
  }

  .lg\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem
  }

  .lg\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem
  }

  .lg\:text-5xl {
    font-size: 3rem;
    line-height: 1
  }

  .lg\:text-6xl {
    font-size: 3.75rem;
    line-height: 1
  }

  .lg\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem
  }
}

@media (min-width: 1280px) {
  .xl\:sticky {
    position: sticky
  }

  .xl\:top-6 {
    top: 1.5rem
  }

  .xl\:col-span-1 {
    grid-column: span 1 / span 1
  }

  .xl\:col-span-3 {
    grid-column: span 3 / span 3
  }

  .xl\:col-span-5 {
    grid-column: span 5 / span 5
  }

  .xl\:col-span-7 {
    grid-column: span 7 / span 7
  }

  .xl\:h-\[600px\] {
    height: 600px
  }

  .xl\:w-1\/3 {
    width: 33.333333%
  }

  .xl\:w-1\/4 {
    width: 25%
  }

  .xl\:w-2\/3 {
    width: 66.666667%
  }

  .xl\:w-2\/5 {
    width: 40%
  }

  .xl\:w-3\/5 {
    width: 60%
  }

  .xl\:max-w-3xl {
    max-width: 48rem
  }

  .xl\:max-w-4xl {
    max-width: 56rem
  }

  .xl\:max-w-5xl {
    max-width: 64rem
  }

  .xl\:max-w-6xl {
    max-width: 72rem
  }

  .xl\:max-w-lg {
    max-width: 32rem
  }

  .xl\:max-w-xl {
    max-width: 36rem
  }

  .xl\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr))
  }

  .xl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr))
  }

  .xl\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr))
  }
}

/* 🩸 select-caret drew its chevron at right:.75rem but added no padding, so any
   select whose text reached the edge ran UNDERNEATH the arrow — "24 horas"
   rendered as "24 hora⌄" and "60 min" as "60 mi⌄". Reported on the My Website
   booking block, 5 Aug 2026, but it affected every select using this class.
   No responsive variant here on purpose: appending a sm:/md:/lg: rule below the
   responsive-order block would reintroduce the breakpoint bug. */
.select-caret {
  padding-inline-end: 2rem;
}

/* ── 🖥️ USE THE SCREEN ON A DESKTOP, APP-WIDE (8 Aug 2026) ────────────────────
 *
 * Mehrdad, on a screenshot of /my/dashboard at 1858px:
 *   "how much are free spaces in desktop version we are wasting… it should be
 *    flexible and get full whole free spaces right and left side."
 *
 * MEASURED, not guessed. On that page: the sidebar takes 256px, <main> is
 * 1587px, and the content sits in `.max-w-5xl mx-auto` — 1024px, with
 * 257.5px of dead margin on EACH side. The cap is per-page markup repeated
 * 465 times across 131+ files, so the lever has to be the class, not the
 * pages.
 *
 * ⛔ WE DO NOT GO FULL-BLEED — the same rule, for the same reason, as the
 * garage-profile shell above (14 Jul, Harshani). Text running the width of a
 * 1900px monitor is genuinely harder to read: the eye loses the line on the
 * return sweep. Edge-to-edge trades a mild flaw for a worse one. So these
 * converge on the SAME 1400px ceiling that shell already uses, rather than
 * inventing a second number.
 *
 * 📱 THE PHONE AND TABLET DO NOT CHANGE. Everything here is behind
 * min-width: 1280px, and most of our users never see a screen that wide.
 *
 * `min(100%, …)` is doing real work: it keeps the shell inside its parent, so
 * the layout's own px-4/sm:px-6 gutters still hold and nothing can produce a
 * horizontal scrollbar.
 *
 * max-w-3xl (768px) is deliberately UNTOUCHED. That is the reading column —
 * legal pages, blog, single-column forms — where a wider measure would make
 * things worse, which is the whole argument above.
 *
 * 🩸 WHY IT IS SAFE TO APPEND THIS BELOW THE RESPONSIVE-ORDER BLOCK, when the
 * note at the end of the previous section says not to: that warning is about
 * VARIANT classes. A `.sm\:x` rule placed after the `.lg\:x` block wins at the
 * same specificity and silently inverts the breakpoint cascade. These are BASE
 * classes at the LARGEST breakpoint, so there is no variant to overtake — and
 * `xl:max-w-*` remains a separate class, so any page that deliberately asks
 * for a specific xl width still gets exactly that.
 */
@media (min-width: 1280px) {
  .max-w-4xl { max-width: min(100%, 1200px); }
  .max-w-5xl { max-width: min(100%, 1400px); }
  .max-w-6xl { max-width: min(100%, 1400px); }
  .max-w-7xl { max-width: min(100%, 1400px); }
}

/* ── 📅 Date and time inputs must not push past the screen (20 Aug 2026) ──
 *
 * Mehrdad, from the iOS app: "this field for date loads really bad outside of
 * frame". On the New Job screen the Job Date box ran off the right edge while
 * everything around it — the Arrival Time buttons, the hint text — sat inside it.
 *
 * WHY it happens on iOS and not on a desktop browser: a native date/time control
 * carries an INTRINSIC width from its own shadow DOM (the rendered "20 Aug 2026"
 * plus its picker furniture). That intrinsic size acts as an automatic minimum,
 * and `w-full` only sets width:100% — a minimum beats a width, so the field grows
 * past its container and the layout overflows.
 *
 * `min-width: 0` removes that automatic minimum; `max-width: 100%` is the belt to
 * the braces. Deliberately does NOT touch `appearance`, because clearing it on
 * Chrome and Firefox changes the native picker furniture — this is an overflow
 * bug, not a styling one, and the fix should not repaint every date field on
 * every desktop in 79 markets to fix a phone.
 *
 * Global rather than per-field on purpose: 82 date inputs across 42 templates
 * have exactly this markup, so the next one inherits the fix rather than the bug.
 */
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"],
input[type="week"] {
  min-width: 0;
  max-width: 100%;
}

/* 🩸 …AND min-width alone was NOT enough. Verified on a real iPhone over screen
 * mirroring, 20 Aug 2026: with the rule above live and the page reloaded, the
 * Job Date box still ran past the edge.
 *
 * On iOS the intrinsic width does not come from a min-width that CSS can zero —
 * it comes from the NATIVE APPEARANCE itself. While the control is drawn by the
 * system, WebKit sizes it to its own furniture and no width or min-width in the
 * cascade dislodges it. Clearing `appearance` is what releases it.
 *
 * Scoped to iOS with @supports (-webkit-touch-callout: none), which is true in
 * Safari on iOS and in the WKWebView our app runs in, and false in Chrome,
 * Firefox and Safari on the desktop. So the desktop keeps its native picker
 * untouched in all 79 markets, and only the phone that has the bug is changed.
 *
 * Losing the system furniture costs nothing here: every one of these fields
 * already carries our own calendar icon in the ps-10 gutter, and tapping still
 * opens the native iOS picker exactly as before.
 */
@supports (-webkit-touch-callout: none) {
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
}

/* ── 🩸 A COLUMN SIZED FOR ENGLISH — 23 Aug 2026 ───────────────────
 * The fleet leaderboard's event count sat in a hard `w-12` (48px), which is
 * exactly wide enough for the English ":count ev". In Thai the same string is
 * "0 เหตุการณ์" and in Malay "0 acara", so the cell WRAPPED to two lines and
 * every leaderboard row doubled in height on a phone. Measured in a live 430px
 * frame, not guessed: h=24px against a 12px line-height.
 *
 * This is the "length, not language" class — the same shape as the crushed
 * "Add parts & labour" button, which was 18 chars in English, 32 in Filipino
 * and 40 in FRENCH. A width chosen from the English string is a bug waiting for
 * whichever language is longest, not a bug about one market.
 *
 * min-w-12 keeps the numbers aligned in a column for short languages and lets
 * the cell grow for long ones; the driver name beside it is flex-1 truncate and
 * absorbs the difference. Lives here because the pre-built, pruned style.css has
 * no min-w-* scale — see reference_style_min_css_is_pruned_prebuilt. */
.min-w-12 { min-width: 3rem; }

/* ── 📅 FullCalendar kept a WHITE header band in dark mode (1 Sep 2026) ──────────
 * Found while measuring contrast on /dashboard. The weekday row (Mon…Sun) sits on
 * an ancestor <th> that computes background: rgb(255,255,255) even with .dark on
 * <html>, so the app's inherited gray-400 text landed on WHITE:
 *
 *     "Mon"  gray-400 on #ffffff   2.54:1   ✗   (WCAG AA wants 4.5:1)
 *
 * Cause: the prebuilt style.css writes `background: var(--fc-page-bg-color, #fff)`
 * in three places and NOTHING EVER DEFINES THE VARIABLE — so every calendar
 * surface falls back to the #fff literal, in both themes. The band is the bug, not
 * the text: darkening it fixes the contrast AND the look at the same time.
 *
 * 🩸 It read as dark at normal size and only showed itself when zoomed — a thin
 * strip is exactly the shape of defect that survives every casual look. Measure.
 *
 * Defined here rather than in style.css because that file is the PREBUILT Tailwind
 * output and is regenerated; this file exists for precisely this, is tracked in git
 * and is cache-busted by filemtime. #1f2937 = gray-800, the card the calendar sits on,
 * which puts gray-400 at 5.73:1.
 */
.dark .fc { --fc-page-bg-color: #1f2937; }

/* The calendar's own TEXT colour, both themes (1 Sep 2026).
 * The band above fixed the dark surface; this fixes the light one. In LIGHT mode the
 * calendar inherits gray-400 from somewhere in the app shell — measured twice on prod —
 * which on the white calendar is 2.54:1. The page body is zinc-600 there, so the calendar
 * is NOT simply following the body; rather than unpick that inheritance across every
 * authenticated layout, state the calendar's own colour explicitly. A component that
 * renders its own surfaces should own its own foregrounds.
 *   light  #4b5563 (gray-600) on #ffffff  = 7.56:1
 *   dark   #9ca3af (gray-400) on #1f2937  = 5.78:1
 */
.custom-calendar .fc { color: #4b5563; }
.dark .custom-calendar .fc { color: #9ca3af; }
