:root {
    color-scheme: light;
    --eg-brand: #1b405f;
    --eg-brand-hover: #102f49;
    --eg-on-brand: #ffffff;
    --eg-accent: #f78510;
    --eg-surface: #ffffff;
    --eg-raised: #ffffff;
    --eg-canvas: #ffffff;
    --eg-soft: #f7f7f5;
    --eg-ink: #17212a;
    --eg-body: #545454;
    --eg-muted: #61676b;
    --eg-faint: #73797d;
    --eg-line: #dedfdd;
    --eg-strong: #b8bcbf;
    --eg-hero: #1b405f;
    --eg-hero-raised: #26516f;
    --eg-on-hero: #ffffff;
    --eg-hero-muted: #d2dee5;
    --eg-ok: #147347;
    --eg-warn: #925400;
    --eg-bad: #b92a37;
}
:root[data-theme="dark"] {
    color-scheme: dark;
    --eg-brand: #f9a24e;
    --eg-brand-hover: #ffb368;
    --eg-on-brand: #17212a;
    --eg-surface: #131719;
    --eg-raised: #1b2023;
    --eg-canvas: #131719;
    --eg-soft: #202629;
    --eg-ink: #f5f5f0;
    --eg-body: #d2d5d6;
    --eg-muted: #afb7bb;
    --eg-faint: #a0a9ae;
    --eg-line: #363e42;
    --eg-strong: #626c73;
    --eg-hero: #162d3e;
    --eg-hero-raised: #244458;
    --eg-hero-muted: #d0dce3;
    --eg-ok: #79d5a2;
    --eg-warn: #f4bf76;
    --eg-bad: #ff98a1;
}
html, body { background-color: var(--eg-surface); color: var(--eg-ink); }
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-width: 42px; min-height: 42px; padding: 9px; border: 1px solid var(--eg-strong); border-radius: 50%; color: var(--eg-ink); background: var(--eg-surface); cursor: pointer; }
.theme-toggle svg { width: 20px; height: 20px; }
.theme-toggle:focus-visible { outline: 2px solid var(--eg-accent); outline-offset: 3px; }
.theme-sun, [data-theme="dark"] .theme-moon { display: none; }
[data-theme="dark"] .theme-sun { display: block; }
.appearance-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 24px; border-bottom: 1px solid var(--eg-line); background: var(--eg-surface); color: var(--eg-ink); }
.appearance-bar a { color: inherit; text-decoration: none; font: 800 18px system-ui, sans-serif; }
.bg-brand, .bg-brand-dark { color: var(--eg-on-brand); }
.bg-white { background-color: var(--eg-surface); }
[data-theme="dark"] .bg-brand .text-white { color: var(--eg-on-brand); }
@media (max-width: 640px) { .appearance-bar { padding: 10px 18px; } }

.google-button { display: flex; align-items: center; justify-content: center; gap: 12px; }
.google-emblem { display: inline-flex; align-items: center; justify-content: center; padding: 4px; border-radius: 50%; background: #fff; flex-shrink: 0; }
.google-emblem img { display: block; width: 20px; height: 20px; }
.icon-button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; min-width: 44px; padding: 0; border-radius: 10px; cursor: pointer; }
.icon-button svg { width: 22px; height: 22px; }
.label-action { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; }
.appearance-bar { background: var(--eg-surface); color: var(--eg-ink); z-index: 50; }

@media(max-width:1023px) { .admin-desktop-theme { display: none; } }
@media print { .theme-toggle, .appearance-bar { display: none; } html, body { background: white !important; color: #17212a !important; } }

@media print { :root[data-theme="dark"] { --eg-brand: #1b405f; --eg-on-brand: white; --eg-surface: white; --eg-canvas: white; --eg-soft: #f7f7f5; --eg-ink: #17212a; --eg-body: #545454; --eg-muted: #61676b; --eg-faint: #73797d; --eg-line: #dedfdd; --eg-strong: #b8bcbf; --eg-ok: #147347; --eg-bad: #b92a37; --eg-warn: #925400; } }
