/* ════════════════════════════════════════════════════════════
   Tokens de tema (claro / escuro) — fonte única de cores.
   Tema efetivo: data-theme no <html> (escolha salva pelo theme.js)
   ou, sem escolha, o prefers-color-scheme do sistema.
   ════════════════════════════════════════════════════════════ */

:root {
    color-scheme: light;
    --bg-body: #F5F3EE;          /* papel */
    --bg-side: #FFFFFF;
    --bg-card: #FFFFFF;
    --bg-input: #FFFFFF;
    --bg-hover: #EFEBE2;
    --border: #D9D4C7;
    --border-light: #C9C2B1;
    --text: #14213D;             /* nanquim */
    --text-bright: #0B1530;
    --text-muted: #4A5568;
    --text-dim: #5B6474;
    --accent: #C2410C;           /* laranja-obra */
    --accent-strong: #9A3412;
    --on-accent: #FFFFFF;
    --accent-bg: rgba(194, 65, 12, 0.08);
    --ok-bg: #DCEFE3;
    --ok-fg: #14532D;
    --ok-border: #9CCFB0;
    --fail-bg: #FBE1DC;
    --fail-fg: #7F1D1D;
    --fail-border: #E8A79B;
    --warn-bg: #FBF0D5;
    --warn-fg: #713F12;
    --info-bg: #E0EBF8;
    --info-fg: #1E3A8A;
    --shadow: 0 1px 2px rgba(20, 33, 61, 0.06);
    --font-body: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --font-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

    /* Aliases legados usados inline em algumas páginas. */
    --red: var(--fail-fg);
    --green: var(--ok-fg);
    --muted: var(--text-muted);
}

/* Escuro — escolha explícita. */
:root[data-theme="dark"] {
    color-scheme: dark;
    --bg-body: #0F1623;
    --bg-side: #141C2B;
    --bg-card: #182236;
    --bg-input: #0F1623;
    --bg-hover: #1F2B42;
    --border: #2B3850;
    --border-light: #3A4A66;
    --text: #EDF0F5;
    --text-bright: #FFFFFF;
    --text-muted: #A7B2C4;
    --text-dim: #8C97AA;
    --accent: #F08A4B;
    --accent-strong: #F5A06B;
    --on-accent: #1A1205;
    --accent-bg: rgba(240, 138, 75, 0.12);
    --ok-bg: #133B26;
    --ok-fg: #86E0AE;
    --ok-border: #2C6B47;
    --fail-bg: #43191A;
    --fail-fg: #FFAAA1;
    --fail-border: #7A3330;
    --warn-bg: #3A2E12;
    --warn-fg: #FAD98A;
    --info-bg: #142A4A;
    --info-fg: #A9C8F5;
    --shadow: none;
}

/* Escuro — sem escolha salva, segue o sistema. */
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        color-scheme: dark;
        --bg-body: #0F1623;
        --bg-side: #141C2B;
        --bg-card: #182236;
        --bg-input: #0F1623;
        --bg-hover: #1F2B42;
        --border: #2B3850;
        --border-light: #3A4A66;
        --text: #EDF0F5;
        --text-bright: #FFFFFF;
        --text-muted: #A7B2C4;
        --text-dim: #8C97AA;
        --accent: #F08A4B;
        --accent-strong: #F5A06B;
        --on-accent: #1A1205;
        --accent-bg: rgba(240, 138, 75, 0.12);
        --ok-bg: #133B26;
        --ok-fg: #86E0AE;
        --ok-border: #2C6B47;
        --fail-bg: #43191A;
        --fail-fg: #FFAAA1;
        --fail-border: #7A3330;
        --warn-bg: #3A2E12;
        --warn-fg: #FAD98A;
        --info-bg: #142A4A;
        --info-fg: #A9C8F5;
        --shadow: none;
    }
}
