/* Shared appearance. White styling stays in the existing stylesheets. */
html[data-geoair-theme='light'] { color-scheme: light; }
.ga-appearance-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 42px; min-height: 40px; padding: 8px 11px; border: 1px solid var(--ad-line, var(--surface-4, #dce3ec)); border-radius: 10px; background: var(--ad-panel, var(--surface-1, #fff)); color: var(--ad-ink, var(--text-primary, #172033)); cursor: pointer; font: inherit; font-size: 13px; white-space: nowrap; flex-shrink: 0; }
.ga-appearance-toggle:hover { background: var(--ad-raised, var(--surface-3, #f1f5f9)); }
.ga-appearance-toggle:focus-visible { outline: 2px solid #0077b6; outline-offset: 3px; }
.ga-appearance-toggle svg { flex-shrink: 0; }
.ga-appearance-sun { display: none; }
html[data-geoair-theme='dark'] .ga-appearance-moon { display: none; }
html[data-geoair-theme='dark'] .ga-appearance-sun { display: block; }
.ga-login-language { display: flex; align-items: center; gap: 10px; }
html[data-geoair-theme='dark'],
html[data-geoair-theme='dark'] body {
    color-scheme: dark;
    --surface-0: #101114; --surface-1: #181a1f; --surface-2: #1c1f25; --surface-3: #252930; --surface-4: #363d48; --surface-5: #4d5664;
    --text-primary: #eef0f3; --text-secondary: #c1c8d2; --text-tertiary: #a5afbd; --text-dim: #929dad;
    --accent-primary: #72c9f7; --accent-primary-hover: #a3ddfc; --accent-muted: #163448;
    --border-subtle: #303640; --border-default: #363d48; --border-strong: #4d5664;
    --gs-ink: #eef0f3; --gs-blue: #b5a6ff; --gs-muted: #b1b5c2; --gs-line: #363d48;
    background-color: var(--surface-0); color: var(--text-primary);
}
html[data-geoair-theme='dark'] .ga-admin-dark {
    color-scheme: dark;
    --color-gray-50: #1c1f25;
    --color-gray-100: #252930;
    --color-gray-200: #363d48;
    --color-gray-300: #566171;
    --color-gray-400: #929dad;
    --color-gray-500: #a5afbd;
    --color-gray-600: #b7c0cd;
    --color-gray-700: #cbd2dc;
    --color-gray-800: #dce1e9;
    --color-gray-900: #eef0f3;
    --color-gray-950: #fff;
    --color-slate-50: #1c1f25;
    --color-slate-100: #252930;
    --color-slate-200: #363d48;
    --color-slate-300: #566171;
    --color-slate-400: #929dad;
    --color-slate-500: #a5afbd;
    --color-slate-600: #b7c0cd;
    --color-slate-700: #cbd2dc;
    --color-slate-800: #dce1e9;
    --color-slate-900: #eef0f3;
    --color-slate-950: #fff;
    --color-zinc-50: #1c1f25;
    --color-zinc-100: #252930;
    --color-zinc-200: #363d48;
    --color-zinc-300: #566171;
    --color-zinc-400: #929dad;
    --color-zinc-500: #a5afbd;
    --color-zinc-600: #b7c0cd;
    --color-zinc-700: #cbd2dc;
    --color-zinc-800: #dce1e9;
    --color-zinc-900: #eef0f3;
    --color-zinc-950: #fff;
    --gf-gray-50: #1c1f25;
    --gf-gray-100: #252930;
    --gf-gray-200: #363d48;
    --gf-gray-300: #566171;
    --gf-gray-400: #929dad;
    --gf-gray-500: #a5afbd;
    --gf-gray-600: #b7c0cd;
    --gf-gray-700: #cbd2dc;
    --gf-gray-800: #dce1e9;
    --gf-gray-900: #eef0f3;
    --gf-gray-950: #fff;
    --color-blue-50: #163448;
    --color-blue-100: #163448;
    --color-blue-200: #163448;
    --color-blue-600: #9ad9fa;
    --color-blue-700: #9ad9fa;
    --color-blue-800: #9ad9fa;
    --color-blue-900: #9ad9fa;
    --color-sky-50: #163448;
    --color-sky-100: #163448;
    --color-sky-200: #163448;
    --color-sky-600: #9ad9fa;
    --color-sky-700: #9ad9fa;
    --color-sky-800: #9ad9fa;
    --color-sky-900: #9ad9fa;
    --color-indigo-50: #2a2550;
    --color-indigo-100: #2a2550;
    --color-indigo-200: #2a2550;
    --color-indigo-600: #c4b5fd;
    --color-indigo-700: #c4b5fd;
    --color-indigo-800: #c4b5fd;
    --color-indigo-900: #c4b5fd;
    --color-violet-50: #30244b;
    --color-violet-100: #30244b;
    --color-violet-200: #30244b;
    --color-violet-600: #d8b4fe;
    --color-violet-700: #d8b4fe;
    --color-violet-800: #d8b4fe;
    --color-violet-900: #d8b4fe;
    --color-purple-50: #30244b;
    --color-purple-100: #30244b;
    --color-purple-200: #30244b;
    --color-purple-600: #d8b4fe;
    --color-purple-700: #d8b4fe;
    --color-purple-800: #d8b4fe;
    --color-purple-900: #d8b4fe;
    --color-red-50: #421f2b;
    --color-red-100: #421f2b;
    --color-red-200: #421f2b;
    --color-red-600: #fda4af;
    --color-red-700: #fda4af;
    --color-red-800: #fda4af;
    --color-red-900: #fda4af;
    --color-green-50: #123c30;
    --color-green-100: #123c30;
    --color-green-200: #123c30;
    --color-green-600: #6ee7b7;
    --color-green-700: #6ee7b7;
    --color-green-800: #6ee7b7;
    --color-green-900: #6ee7b7;
    --color-emerald-50: #123c30;
    --color-emerald-100: #123c30;
    --color-emerald-200: #123c30;
    --color-emerald-600: #6ee7b7;
    --color-emerald-700: #6ee7b7;
    --color-emerald-800: #6ee7b7;
    --color-emerald-900: #6ee7b7;
    --color-teal-50: #123c38;
    --color-teal-100: #123c38;
    --color-teal-200: #123c38;
    --color-teal-600: #5eead4;
    --color-teal-700: #5eead4;
    --color-teal-800: #5eead4;
    --color-teal-900: #5eead4;
    --color-amber-50: #3e3218;
    --color-amber-100: #3e3218;
    --color-amber-200: #3e3218;
    --color-amber-600: #fcd34d;
    --color-amber-700: #fcd34d;
    --color-amber-800: #fcd34d;
    --color-amber-900: #fcd34d;
    --color-yellow-50: #3e3218;
    --color-yellow-100: #3e3218;
    --color-yellow-200: #3e3218;
    --color-yellow-600: #fcd34d;
    --color-yellow-700: #fcd34d;
    --color-yellow-800: #fcd34d;
    --color-yellow-900: #fcd34d;
    --color-orange-50: #42281a;
    --color-orange-100: #42281a;
    --color-orange-200: #42281a;
    --color-orange-600: #fdba74;
    --color-orange-700: #fdba74;
    --color-orange-800: #fdba74;
    --color-orange-900: #fdba74;
    --ad-canvas: #101114; --ad-rail: #181a1f; --ad-panel: #1c1f25; --ad-raised: #252930; --ad-line: #363d48; --ad-ink: #eef0f3; --ad-muted: #a5afbd; --ad-accent: #0077b6;
    --gf-shadow-menu: 0 18px 60px #0008;
    --gf-blue-50: #163448; --gf-blue-100: #1d4158; --gf-blue-500: #72c9f7; --gf-blue-600: #0077b6; --gf-blue-700: #9ad9fa;
    --gf-emerald-50: #123c30; --gf-emerald-500: #6ee7b7; --gf-emerald-600: #6ee7b7;
    --gf-red-50: #421f2b; --gf-red-100: #552334; --gf-red-500: #fda4af; --gf-red-600: #fda4af;
    --gf-green-50: #123c30; --gf-green-100: #194b3c; --gf-green-700: #6ee7b7; --gf-amber-50: #3e3218; --gf-amber-600: #fcd34d;
}
html[data-geoair-theme='dark'] .ga-admin-dark :is(.gf-sidebar__brand, .gf-table, .gf-card, .gf-popover, .gf-dialog, .gf-modal) { border-color: var(--ad-line); }
html[data-geoair-theme='dark'] .ga-admin-dark :is(.gf-sidebar__link[aria-current='page'], .gf-settings-subnav__link[aria-current='page']) { background: #163448; color: #9ad9fa; }
html[data-geoair-theme='dark'] .ga-admin-dark :is(.gf-table tbody tr:hover, .gf-table thead, [class~='hover:bg-gray-50']:hover, [class~='hover:bg-slate-50']:hover) { background: var(--ad-raised); }
html[data-geoair-theme='dark'] .ga-admin-dark :is(input, select, textarea):disabled { background: var(--ad-raised); color: var(--ad-muted); }
html[data-geoair-theme='dark'] .ga-admin-dark :is(.text-gray-300, .text-slate-300, .text-gray-500, .text-slate-500) { color: var(--ad-muted); }
html[data-geoair-theme='dark'] .ga-admin-dark :is(input, textarea)::placeholder { color: #929dad; }
html[data-geoair-theme='dark'] .ga-admin-dark .cp-workspace { --cp-border: var(--ad-line); --cp-accent: #c4b5fd; color: var(--ad-ink); }
html[data-geoair-theme='dark'] .ga-admin-dark :is(.cp-panel, .cp-stat, .cp-table, .cp-filter) { background: var(--ad-panel); border-color: var(--ad-line); color: var(--ad-ink); }
html[data-geoair-theme='dark'] .ga-admin-dark :is(.cp-workspace p, .cp-stat span, .cp-table small, .cp-report-notes ul) { color: var(--ad-muted); }
html[data-geoair-theme='dark'] .ga-admin-dark :is(.cp-hint, .cp-footnote, .cp-table-empty) { color: var(--ad-muted) !important; }
html[data-geoair-theme='dark'] .ga-admin-dark :is(.cp-workspace input:not([type=checkbox]), .cp-workspace select, .cp-workspace textarea) { background: var(--ad-rail); border-color: var(--ad-line); color: var(--ad-ink); }
html[data-geoair-theme='dark'] .ga-admin-dark .cp-table th { background: var(--ad-raised); color: var(--ad-muted); border-color: var(--ad-line); }
html[data-geoair-theme='dark'] .ga-admin-dark .cp-table td { border-color: var(--ad-line); }
html[data-geoair-theme='dark'] .ga-admin-dark .cp-name { color: var(--ad-ink); }
html[data-geoair-theme='dark'] .ga-admin-dark .cp-notice { background: #30244b; border-color: #5d4b82; color: #e0d2fa; }
html[data-geoair-theme='dark'] .ga-admin-dark .cp-warning { background: #3e3218; border-color: #74592c; color: #fcd998; }
html[data-geoair-theme='dark'] .ga-admin-dark :is(.cp-badge, .cp-code, .cp-file, .cp-unobserved) { background: var(--ad-raised); border-color: var(--ad-line); color: var(--ad-ink); }
html[data-geoair-theme='dark'] .ga-admin-dark .cp-badge-ok, html[data-geoair-theme='dark'] .ga-admin-dark .cp-observed { background: #123c30; color: #6ee7b7; }
html[data-geoair-theme='dark'] .ga-admin-dark .cp-badge-warn { background: #3e3218; color: #fcd34d; }
html[data-geoair-theme='dark'] .ga-admin-dark .cp-button-secondary { background: var(--ad-raised); border-color: var(--ad-line); color: var(--ad-ink) !important; }
html[data-geoair-theme='dark'] .ga-admin-dark .cp-button:not(.cp-button-secondary) { background: #12659a; border-color: #12659a; }
html[data-geoair-theme='dark'] .ga-admin-dark .cp-button:not(.cp-button-secondary):hover { background: #1878b2; }
html[data-geoair-theme='dark'] .ga-admin-dark .cp-coverage-value { color: var(--ad-ink) !important; }
html[data-geoair-theme='dark'] .ga-admin-dark .gf-dashboard__quick-header { background: linear-gradient(110deg, #20313e, var(--ad-panel) 70%); }
html[data-geoair-theme='dark'] .ga-admin-dark .gf-dashboard__quick-header h2 { color: var(--ad-ink); }
html[data-geoair-theme='dark'] .ga-admin-dark .gf-dashboard__quick-header > span { background: #123c30; color: #6ee7b7; }
html[data-geoair-theme='dark'] .ga-admin-dark :is(.gf-ai-help__showcase-slide, #admin-welcome-modal .admin-welcome-document) { --admin-welcome-body: #c1c8d2; color: var(--ad-ink); }
html[data-geoair-theme='dark'] .ga-admin-dark .gf-ai-help__showcase-slide :is(.gf-ai-help__showcase-visual em, .gf-ai-help__showcase-tags span) { color: #d8b4fe; }
html[data-geoair-theme='dark'] .ga-admin-dark .geoair-login { background: var(--ad-canvas); }
html[data-geoair-theme='dark'] .ga-admin-dark .geoair-login__card { box-shadow: 0 24px 90px #0005; }
html[data-geoair-theme='dark'] .ga-admin-dark :is(.gf-error-card, #admin-welcome-modal [data-welcome-scroll]) { background: var(--ad-panel); color: var(--ad-ink); }
html[data-geoair-theme='dark'] .ga-public :is(.ga-header, .ga-footer, .gs-hero, .gs-audiences, .gs-process, .gs-consultation, .gs-contact, .gs-faq) { background: var(--surface-0); border-color: var(--gs-line); }
html[data-geoair-theme='dark'] .ga-public :is(.ga-brand-text, .ga-service h1, .ga-service h2, .ga-service h3) { color: var(--gs-ink); }
html[data-geoair-theme='dark'] .ga-public :is(.ga-nav-link, .ga-service p, .ga-service small, .gs-faq-answer, .gs-faq-panel) { color: var(--gs-muted); }
html[data-geoair-theme='dark'] .ga-public .ga-brand-logo { filter: grayscale(1) brightness(0) invert(1); }
html[data-geoair-theme='dark'] .ga-public :is(.ga-mobile-nav, .gs-pillar, .gs-dossier, .gs-visual-card, .gs-case-placeholder, .gs-consultation-form, .gs-report-cover, .gs-step-circle, .gs-faq-item, .ga-card) { background: var(--surface-2); border-color: var(--gs-line); color: var(--text-primary); box-shadow: none; }
html[data-geoair-theme='dark'] .ga-public :is(.gs-button-secondary, .gs-mini-scene, .gs-step-deliverable, .gs-icon, .gs-topic) { background: var(--surface-3); border-color: var(--gs-line); color: #c4b5fd; }
html[data-geoair-theme='dark'] .ga-public :is(.gs-button-primary, .gs-nav-cta) { background: #e9e6f7; color: #181622; }
html[data-geoair-theme='dark'] .ga-public :is(input, textarea, select) { background: var(--surface-1); color: var(--text-primary); border-color: var(--gs-line); }
html[data-geoair-theme='dark'] .ga-public .gs-faq-item[open] summary { background: var(--surface-3); color: var(--text-primary); }
html[data-geoair-theme='dark'] .ga-public .gs-orbit-core { box-shadow: 0 0 0 7px #181a1f, 0 0 0 8px #6b588e; }
@media (max-width: 600px) { .ga-appearance-toggle [data-geoair-theme-label] { display: none; } }
@media print {
    .ga-appearance-toggle { display: none !important; }
    html[data-geoair-theme='dark'] body { color-scheme: light; background: white !important; color: #172033 !important; }
    html[data-geoair-theme='dark'] :is(main, section, article, .gf-card, .gf-main, .gf-content) { background: white !important; color: #172033 !important; }
}

.ga-appearance-floating { position: fixed; top: 20px; right: 20px; z-index: 60; }
.ga-appearance-legacy { display: inline-flex; margin-left: auto; }

html[data-geoair-theme='light'] .tt-body { --tt-bg: #f5f7fa; --tt-card: #fff; --tt-soft: #f1f5f9; }
html[data-geoair-theme='dark'] .tt-body { --tt-bg: #101114; --tt-card: #1c1f25; --tt-soft: #252930; --tt-ink: #eef0f3; --tt-muted: #a5afbd; --tt-line: #363d48; --tt-red: #72c9f7; --tt-red-dark: #9ad9fa; }
html[data-geoair-theme='dark'] .tt-body { --ga-canvas: var(--tt-bg); --ga-surface: var(--tt-card); --ga-ink: var(--tt-ink); --ga-muted: var(--tt-muted); --ga-line: var(--tt-line); color-scheme: dark; }
html[data-geoair-theme] .tt-header { background: var(--tt-card); }
html[data-geoair-theme='dark'] .tt-body :is(.tt-topnav, .tt-brand, .tt-title, .tt-sidebar-title) { color: var(--tt-ink); }
html[data-geoair-theme='dark'] .tt-body :is(.tt-feed, .tt-feed-card, .tt-panel, .tt-article-card, .ga-empty, .ga-home-search) { background: var(--tt-card); color: var(--tt-ink); border-color: var(--tt-line); }
html[data-geoair-theme='dark'] .tt-body :is(input, select, textarea, .tt-search) { background: var(--tt-card); color: var(--tt-ink); border-color: var(--tt-line); }
html[data-geoair-theme='dark'] .tt-body :is(.tt-section-title, .ga-empty h2) { color: var(--tt-ink); border-color: var(--tt-line); }
html[data-geoair-theme='dark'] .tt-body :is(.ga-empty p, .ga-home-intro p) { color: var(--tt-muted); }

/* Local marketing landing: keep every section readable in dark appearance. */
html[data-geoair-theme='dark'] .ga-public .ga-service { background: var(--surface-0); }
html[data-geoair-theme='dark'] .ga-public :is(.gs-check-sheet, .gs-report-sheet, .gs-orbit-core) { background: var(--surface-2); color: var(--text-primary); border-color: var(--gs-line); }
html[data-geoair-theme='dark'] .ga-public .gs-architecture span { background: linear-gradient(135deg, #252432 20%, #302b40 50%, #403650 50.2%, #23212d 67%, #332b42 90%); }

html[data-geoair-theme='dark'] .ga-admin-dark .gf-dashboard__quick-action:first-child .gf-dashboard__step-number {
    background: #173b50 !important;
    color: #7dd3fc !important;
}
