/* GraceRace v11 complete dark-theme compatibility layer */
html.dark{color-scheme:dark;background:var(--background)}
html.dark body,html.dark #root{background:var(--background)!important;color:var(--foreground)!important}

/* Legacy/public surfaces that were authored with fixed light colours. */
.dark [class~="bg-white"],
.dark [class*="bg-white/"],
.dark nav[class*="bg-white"],
.dark section[class*="bg-white"],
.dark header[class*="bg-white"]{background-color:var(--card)!important}
.dark [class*="from-slate-50"],
.dark [class*="to-slate-100"],
.dark [class*="from-background"][class*="to-muted"]{background-image:none!important;background-color:var(--background)!important}
.dark [class~="bg-slate-50"],.dark [class*="bg-slate-50/"]{background-color:var(--muted)!important}
.dark [class~="bg-slate-100"],.dark [class*="bg-slate-100/"]{background-color:var(--muted)!important}
.dark [class~="text-slate-900"],.dark [class~="text-slate-800"],.dark [class~="text-slate-700"]{color:var(--foreground)!important}
.dark [class~="text-slate-600"],.dark [class~="text-slate-500"]{color:var(--muted-foreground)!important}

/* Light semantic summary cards retain meaning without becoming glaring blocks. */
.dark [class~="bg-green-50"],.dark [class*="bg-green-50/"]{background-color:rgba(34,197,94,.10)!important}
.dark [class~="bg-amber-50"],.dark [class*="bg-amber-50/"]{background-color:rgba(245,158,11,.10)!important}
.dark [class~="bg-red-50"],.dark [class*="bg-red-50/"]{background-color:rgba(239,68,68,.10)!important}
.dark [class~="text-green-800"],.dark [class~="text-green-700"],.dark [class~="text-green-600"]{color:#86efac!important}
.dark [class~="text-amber-800"],.dark [class~="text-amber-700"],.dark [class~="text-amber-600"]{color:#fcd34d!important}
.dark [class~="text-red-800"],.dark [class~="text-red-700"],.dark [class~="text-red-600"]{color:#fca5a5!important}

/* Native controls and browser-rendered dropdowns. */
.dark input,.dark textarea,.dark select{background-color:var(--background);color:var(--foreground);border-color:var(--border)}
.dark input::placeholder,.dark textarea::placeholder{color:var(--muted-foreground);opacity:.8}
.dark select option{background:var(--popover);color:var(--popover-foreground)}

/* Tables, menus and dialogs should use theme surfaces consistently. */
.dark table{color:var(--foreground)}
.dark thead,.dark thead tr{background:color-mix(in srgb,var(--muted) 75%,transparent)!important}
.dark tbody tr{border-color:var(--border)!important}
.dark tbody tr:hover{background:var(--muted)!important}
.dark [role="dialog"],.dark [role="menu"],.dark [role="listbox"]{background-color:var(--popover);color:var(--popover-foreground);border-color:var(--border)}

/* V6 onboarding/modals were built before full theme support. */
.dark .gr-v6-modal,.dark .gr-v6-onboard-shell{background:var(--card);color:var(--card-foreground);border:1px solid var(--border)}
.dark .gr-v6-modal h2,.dark .gr-v6-modal h3{color:var(--foreground)}
.dark .gr-v6-card,.dark .gr-v6-terms{background:var(--muted);border-color:var(--border);color:var(--foreground)}
.dark .gr-v6-input,.dark .gr-v6-select,.dark .gr-v6-signature{background:var(--background);border-color:var(--border);color:var(--foreground)}
.dark .gr-v6-label{color:var(--foreground)}
.dark .gr-v6-help{color:var(--muted-foreground)}
.dark .gr-v6-onboard{background:var(--background)}
.dark .gr-v6-btn.secondary{background:var(--card);color:var(--foreground);border-color:var(--border)}
.dark .gr-v6-notify{background:var(--card);border-color:var(--border);color:var(--foreground)}
.dark .gr-v6-notify-badge{border-color:var(--card)}
.dark .gr-session-message{background:#422006;border-color:#854d0e;color:#fde68a}

/* Custom design-system surfaces. */
.dark .gr-muted{color:var(--muted-foreground)}
.dark .gr-light .gr-hero-copy{color:var(--muted-foreground)}
.dark .gr-enhanced-hero.gr-light{color:var(--foreground);background-color:var(--background)}
.dark .gr-enhanced-hero.gr-light:before{background:linear-gradient(90deg,rgba(20,32,27,.97),rgba(20,32,27,.86) 55%,rgba(20,32,27,.35))}
.dark .gr-light .gr-btn.gr-outline{background:var(--card);border-color:var(--border);color:var(--foreground)}

/* Keep logo artwork itself on a clean neutral plate when required. */
.dark img.gr-brand-logo{background:#fff!important}
