/* public/assets/css/themes.css
   ============================================================================
   TEMAS DA PLATAFORMA — refatoração total (motor de derivação)
   ----------------------------------------------------------------------------
   • Sem data-theme  -> tema padrão (classic-blue, definido no styles.css).
   • Cada tema define só ~16 CORES-BASE. O bloco :root[data-theme] (motor)
     deriva TODOS os outros tokens (botão, card, input, badge, modal, tabela...)
     a partir dessas bases via color-mix.
   • Bordas/overlays derivam de var(--app-text): em tema CLARO o texto é escuro
     (bordas escuras sobre fundo claro) e vice-versa. Por isso CLARO funciona.
   • 24 temas: 12 escuros + 12 claros.
   ========================================================================== */

/* ============================================================================
   MOTOR DE DERIVAÇÃO — roda para qualquer tema com data-theme
   ============================================================================ */
:root[data-theme]{
  color-scheme: var(--app-scheme, dark);

  /* ---- sombras (suaves, baseadas no fundo) ---- */
  --app-shadow-strength: .5;
  --app-shadow-soft: 0 18px 38px color-mix(in srgb, var(--app-bg-900) 60%, transparent);
  --app-shadow-hard: 0 22px 50px color-mix(in srgb, var(--app-bg-900) 78%, transparent);
  --app-shadow-card: 0 14px 38px color-mix(in srgb, var(--app-bg-900) 52%, transparent);

  /* ---- fundo global (body) ---- */
  --app-body-bg-color: var(--app-bg-solid);
  --app-body-bg-layer-top: radial-gradient(1400px 900px at 50% -10%, var(--app-primary-glow-soft), transparent 65%);
  --app-body-bg-layer-bottom: radial-gradient(1800px 1200px at 50% 140%, color-mix(in srgb, var(--app-text) 5%, transparent), transparent 70%);
  --app-body-bg-layer-main: linear-gradient(180deg, var(--app-bg-900) 0%, var(--app-bg-solid) 100%);

  /* ---- primária ---- */
  --app-primary-glow-soft: color-mix(in srgb, var(--app-primary) 32%, transparent);
  --app-link-color: var(--app-primary);
  --app-lamina-core: var(--app-primary);

  /* ---- estados ---- */
  --app-danger-strong: color-mix(in srgb, var(--app-danger) 65%, #000);
  --app-success: #22c55e;
  --app-warning: #f59e0b;
  --app-msg-error: var(--app-danger);

  /* ---- bordas (derivam do texto -> adaptam claro/escuro) ---- */
  --app-border-strong: color-mix(in srgb, var(--app-primary) 55%, var(--app-text));
  --app-border-main: color-mix(in srgb, var(--app-text) 17%, transparent);
  --app-border-soft: color-mix(in srgb, var(--app-text) 11%, transparent);
  --app-border-muted: color-mix(in srgb, var(--app-text) 24%, transparent);
  --app-border: var(--app-border-main);

  /* ---- cards / containers ---- */
  --app-card-bg: var(--app-surface-main);
  --app-card-border: color-mix(in srgb, var(--app-text) 15%, transparent);
  --app-card-shadow: var(--app-shadow-card);
  --app-container-bg: var(--app-surface-main);
  --app-container-border: var(--app-border-main);
  --app-container-shadow: var(--app-shadow-soft);

  /* ---- inputs ---- */
  --app-input-bg: color-mix(in srgb, var(--app-surface-alt) 88%, var(--app-text) 5%);
  --app-input-border: color-mix(in srgb, var(--app-text) 22%, transparent);
  --app-input-placeholder: var(--app-text-muted);
  --app-input-focus-border: var(--app-primary);
  --app-input-focus-ring-inner: color-mix(in srgb, var(--app-bg-900) 65%, transparent);
  --app-input-focus-ring-outer: var(--app-primary-glow-soft);

  /* ---- botão primário ---- */
  --app-btn-primary-bg:
    radial-gradient(circle at 0% 0%, rgba(255,255,255,.22), transparent 55%),
    linear-gradient(180deg, var(--app-primary), var(--app-primary-strong));
  --app-btn-primary-color: var(--app-on-primary, #0a0e16);
  --app-btn-primary-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    0 14px 30px color-mix(in srgb, var(--app-primary) 38%, transparent);
  --app-btn-primary-shadow-active:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 6px 16px color-mix(in srgb, var(--app-primary) 48%, transparent);

  /* ---- botão secundário / ghost ---- */
  --app-btn-secondary-bg: color-mix(in srgb, var(--app-surface-main) 82%, var(--app-text) 7%);
  --app-btn-secondary-color: var(--app-text-soft);
  --app-btn-secondary-border: color-mix(in srgb, var(--app-text) 26%, transparent);
  --app-btn-secondary-shadow: 0 8px 20px color-mix(in srgb, var(--app-bg-900) 50%, transparent);
  --app-btn-ghost-bg: transparent;
  --app-btn-ghost-color: var(--app-text-soft);
  --app-btn-ghost-border: color-mix(in srgb, var(--app-text) 22%, transparent);

  /* ---- botão logout / perigo ---- */
  --app-btn-logout-bg: linear-gradient(180deg, var(--app-danger), var(--app-danger-strong));
  --app-btn-logout-shadow:
    inset 0 1px 0 rgba(255,255,255,.4),
    0 8px 22px color-mix(in srgb, var(--app-danger) 35%, transparent);

  /* ---- topbar ---- */
  --app-topbar-bg: color-mix(in srgb, var(--app-surface-main) 90%, transparent);
  --app-topbar-shadow:
    0 1px 0 color-mix(in srgb, var(--app-primary) 28%, transparent),
    0 10px 24px color-mix(in srgb, var(--app-bg-900) 40%, transparent);
  --app-topbar-link-bg: color-mix(in srgb, var(--app-primary) 16%, transparent);
  --app-topbar-link-color: var(--app-text);

  /* ---- pills / badges ---- */
  --app-pill-bg: color-mix(in srgb, var(--app-text) 8%, transparent);
  --app-pill-border: color-mix(in srgb, var(--app-text) 20%, transparent);
  --app-pill-text: var(--app-text-muted);
  --app-badge-bg: color-mix(in srgb, var(--app-primary) 14%, transparent);
  --app-badge-border: color-mix(in srgb, var(--app-primary) 32%, transparent);
  --app-badge-text: var(--app-text-soft);

  /* ---- status pills ---- */
  --app-status-ok-bg: color-mix(in srgb, #22c55e 15%, transparent);
  --app-status-ok-border: color-mix(in srgb, #22c55e 52%, transparent);
  --app-status-ok-text: color-mix(in srgb, #22c55e 45%, var(--app-text));
  --app-status-error-bg: color-mix(in srgb, var(--app-danger) 15%, transparent);
  --app-status-error-border: color-mix(in srgb, var(--app-danger) 52%, transparent);
  --app-status-error-text: color-mix(in srgb, var(--app-danger) 45%, var(--app-text));
  --app-status-neutral-bg: color-mix(in srgb, var(--app-text) 13%, transparent);
  --app-status-neutral-border: color-mix(in srgb, var(--app-text) 38%, transparent);
  --app-status-neutral-text: var(--app-text-soft);

  /* ---- icon buttons ---- */
  --app-icon-btn-border: color-mix(in srgb, var(--app-text) 24%, transparent);
  --app-icon-btn-bg: color-mix(in srgb, var(--app-surface-alt) 84%, var(--app-text) 6%);
  --app-icon-btn-color: var(--app-text-soft);
  --app-icon-btn-shadow: 0 8px 20px color-mix(in srgb, var(--app-bg-900) 45%, transparent);
  --app-icon-btn-border-hover: color-mix(in srgb, var(--app-primary) 60%, transparent);
  --app-icon-btn-bg-hover: color-mix(in srgb, var(--app-primary) 14%, var(--app-surface-alt));
  --app-icon-btn-danger-bg: color-mix(in srgb, var(--app-danger) 15%, var(--app-surface-alt));
  --app-icon-btn-danger-border: color-mix(in srgb, var(--app-danger) 48%, transparent);

  /* ---- modais ---- */
  --app-modal-bg: var(--app-surface-main);
  --app-modal-border: var(--app-border-main);
  --app-modal-overlay-bg: color-mix(in srgb, var(--app-bg-900) 72%, transparent);
  --app-modal-shadow: var(--app-shadow-hard);

  /* ---- tabela ---- */
  --app-table-border-row: color-mix(in srgb, var(--app-text) 12%, transparent);
  --app-table-head-bg: linear-gradient(180deg,
    color-mix(in srgb, var(--app-primary) 16%, var(--app-surface-main)),
    var(--app-surface-main));
  --app-table-row-alt-bg: color-mix(in srgb, var(--app-text) 4%, transparent);
  --app-table-row-hover-bg: color-mix(in srgb, var(--app-primary) 12%, transparent);

  /* ---- CANVAS do FLUXO (claro/escuro por tema) ---- */
  --app-canvas-bg: var(--app-bg-800);
  --app-canvas-grid: color-mix(in srgb, var(--app-text) 7%, transparent);
  --app-canvas-glow: color-mix(in srgb, var(--app-primary) 14%, transparent);
  --app-canvas-vignette: color-mix(in srgb, var(--app-bg-900) 55%, transparent);
}

/* ============================================================================
   ESCUROS (12)
   ============================================================================ */

/* 1) Emerald Forest — verde profundo (usado na Matemática Militar) */
:root[data-theme="emerald-forest"]{
  --app-scheme:dark; --app-on-primary:#03140c;
  --app-bg-900:#03110b; --app-bg-800:#04160e; --app-bg-solid:#031a11;
  --app-surface-main:#072017; --app-surface-alt:#05160f;
  --app-text:#eafff6; --app-text-soft:#a7e9c9; --app-text-muted:#74c79e;
  --app-primary:#22c55e; --app-primary-strong:#15a34a; --app-danger:#fb7185;
}
/* 2) Midnight Cyan — azul/ciano noturno */
:root[data-theme="midnight-cyan"]{
  --app-scheme:dark; --app-on-primary:#04121c;
  --app-bg-900:#050c18; --app-bg-800:#07101f; --app-bg-solid:#060e1b;
  --app-surface-main:#0b1628; --app-surface-alt:#080f1d;
  --app-text:#e9f4ff; --app-text-soft:#a8c2e0; --app-text-muted:#7f9bbd;
  --app-primary:#38bdf8; --app-primary-strong:#0ea5e9; --app-danger:#fb7185;
}
/* 3) Royal Violet — roxo nobre */
:root[data-theme="royal-violet"]{
  --app-scheme:dark; --app-on-primary:#160a26;
  --app-bg-900:#0c0717; --app-bg-800:#120a21; --app-bg-solid:#0e0819;
  --app-surface-main:#1a1030; --app-surface-alt:#130b24;
  --app-text:#f3ecff; --app-text-soft:#cbb6f2; --app-text-muted:#a088cc;
  --app-primary:#a855f7; --app-primary-strong:#7c3aed; --app-danger:#fb7185;
}
/* 4) Barbie Neon — rosa neon */
:root[data-theme="barbie-neon"]{
  --app-scheme:dark; --app-on-primary:#1c0314;
  --app-bg-900:#11010d; --app-bg-800:#1c0318; --app-bg-solid:#160213;
  --app-surface-main:#260424; --app-surface-alt:#1b0318;
  --app-text:#ffe9fb; --app-text-soft:#fbb9e6; --app-text-muted:#e07ec0;
  --app-primary:#ff4dbe; --app-primary-strong:#ec4899; --app-danger:#ff5d73;
}
/* 5) Crimson Ember — vermelho brasa */
:root[data-theme="crimson-ember"]{
  --app-scheme:dark; --app-on-primary:#1e0606;
  --app-bg-900:#140505; --app-bg-800:#1e0808; --app-bg-solid:#180606;
  --app-surface-main:#280d0d; --app-surface-alt:#1c0808;
  --app-text:#ffece9; --app-text-soft:#f3b3aa; --app-text-muted:#d68a80;
  --app-primary:#fb5e4e; --app-primary-strong:#e23b2c; --app-danger:#ff5a5a;
}
/* 6) Amber Gold — âmbar/ouro */
:root[data-theme="amber-gold"]{
  --app-scheme:dark; --app-on-primary:#191102;
  --app-bg-900:#120e04; --app-bg-800:#1b1407; --app-bg-solid:#161005;
  --app-surface-main:#241a09; --app-surface-alt:#191205;
  --app-text:#fff6e6; --app-text-soft:#f0cf99; --app-text-muted:#cda961;
  --app-primary:#f5a524; --app-primary-strong:#d97706; --app-danger:#fb7185;
}
/* 7) Deep Ocean — azul oceano */
:root[data-theme="deep-ocean"]{
  --app-scheme:dark; --app-on-primary:#04101f;
  --app-bg-900:#050a16; --app-bg-800:#070f20; --app-bg-solid:#060c1a;
  --app-surface-main:#0c1626; --app-surface-alt:#08101e;
  --app-text:#e8efff; --app-text-soft:#a3b6d8; --app-text-muted:#7689b0;
  --app-primary:#3b82f6; --app-primary-strong:#2563eb; --app-danger:#fb7185;
}
/* 8) Arctic Teal — verde-azulado gelado */
:root[data-theme="arctic-teal"]{
  --app-scheme:dark; --app-on-primary:#04140f;
  --app-bg-900:#03110f; --app-bg-800:#051915; --app-bg-solid:#041411;
  --app-surface-main:#06221d; --app-surface-alt:#051712;
  --app-text:#e6fffa; --app-text-soft:#9fe6da; --app-text-muted:#6ec3b6;
  --app-primary:#2dd4bf; --app-primary-strong:#0d9488; --app-danger:#fb7185;
}
/* 9) Graphite Mono — grafite com prata */
:root[data-theme="graphite-mono"]{
  --app-scheme:dark; --app-on-primary:#0c0e12;
  --app-bg-900:#0a0c10; --app-bg-800:#10131a; --app-bg-solid:#0d0f14;
  --app-surface-main:#161a22; --app-surface-alt:#10131a;
  --app-text:#eef2f8; --app-text-soft:#b3bcca; --app-text-muted:#8893a4;
  --app-primary:#cbd5e1; --app-primary-strong:#94a3b8; --app-danger:#f87171;
}
/* 10) Matrix Lime — verde-limão sobre preto */
:root[data-theme="matrix-lime"]{
  --app-scheme:dark; --app-on-primary:#0a1402;
  --app-bg-900:#050803; --app-bg-800:#0a1005; --app-bg-solid:#070c04;
  --app-surface-main:#0e1607; --app-surface-alt:#0a1005;
  --app-text:#eaffd6; --app-text-soft:#bce88a; --app-text-muted:#8fc35a;
  --app-primary:#a3e635; --app-primary-strong:#65a30d; --app-danger:#fb7185;
}
/* 11) Sunset Magenta — magenta/laranja por do sol */
:root[data-theme="sunset-magenta"]{
  --app-scheme:dark; --app-on-primary:#1d0613;
  --app-bg-900:#150611; --app-bg-800:#21091b; --app-bg-solid:#1a0715;
  --app-surface-main:#2b0e22; --app-surface-alt:#1f0a19;
  --app-text:#ffeaf6; --app-text-soft:#f6b6da; --app-text-muted:#d585b3;
  --app-primary:#f43f8e; --app-primary-strong:#db2777; --app-danger:#fb5a5a;
}
/* 12) Cosmic Indigo — índigo cósmico */
:root[data-theme="cosmic-indigo"]{
  --app-scheme:dark; --app-on-primary:#ffffff;
  --app-bg-900:#08091a; --app-bg-800:#0d0f24; --app-bg-solid:#0a0b1e;
  --app-surface-main:#15172f; --app-surface-alt:#0e1024;
  --app-text:#ebecff; --app-text-soft:#b3b6ef; --app-text-muted:#8688c9;
  --app-primary:#6366f1; --app-primary-strong:#4f46e5; --app-danger:#fb7185;
}

/* ============================================================================
   CLAROS (12)
   ============================================================================ */

/* 1) Paper Clean — branco + azul (limpo, profissional) */
:root[data-theme="paper-clean"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#eef2f9; --app-bg-800:#f4f7fc; --app-bg-solid:#f6f8fc;
  --app-surface-main:#ffffff; --app-surface-alt:#f2f5fb;
  --app-text:#1b2436; --app-text-soft:#475069; --app-text-muted:#6c768c;
  --app-primary:#2563eb; --app-primary-strong:#1d4ed8; --app-danger:#e11d48;
}
/* 2) Cream Sepia — creme/sépia (vibe histórica) */
:root[data-theme="cream-sepia"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#ece2d0; --app-bg-800:#f4ecdc; --app-bg-solid:#f7f1e4;
  --app-surface-main:#fffdf7; --app-surface-alt:#f3ecdb;
  --app-text:#3a2e1f; --app-text-soft:#6b5840; --app-text-muted:#8a755a;
  --app-primary:#b45309; --app-primary-strong:#92400e; --app-danger:#c0392b;
}
/* 3) Mint Fresh — branco + verde menta */
:root[data-theme="mint-fresh"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#e3f3ec; --app-bg-800:#eef9f4; --app-bg-solid:#f1faf6;
  --app-surface-main:#ffffff; --app-surface-alt:#eef7f2;
  --app-text:#13322a; --app-text-soft:#3d6357; --app-text-muted:#5f8579;
  --app-primary:#059669; --app-primary-strong:#047857; --app-danger:#e11d48;
}
/* 4) Rose Blush — branco + rosa */
:root[data-theme="rose-blush"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#f7e3ec; --app-bg-800:#fdeef4; --app-bg-solid:#fdf2f6;
  --app-surface-main:#ffffff; --app-surface-alt:#fbeaf1;
  --app-text:#3a1422; --app-text-soft:#7a3f55; --app-text-muted:#a06b80;
  --app-primary:#e11d70; --app-primary-strong:#be185d; --app-danger:#dc2626;
}
/* 5) Sky Day — branco + azul céu */
:root[data-theme="sky-day"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#dfeefb; --app-bg-800:#ecf5fd; --app-bg-solid:#eef6fc;
  --app-surface-main:#ffffff; --app-surface-alt:#eaf3fb;
  --app-text:#0f2a3f; --app-text-soft:#395870; --app-text-muted:#5d7a93;
  --app-primary:#0284c7; --app-primary-strong:#0369a1; --app-danger:#e11d48;
}
/* 6) Lavender Soft — branco + lavanda */
:root[data-theme="lavender-soft"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#eae6f8; --app-bg-800:#f3f0fc; --app-bg-solid:#f5f3fc;
  --app-surface-main:#ffffff; --app-surface-alt:#f0ecfa;
  --app-text:#241a3a; --app-text-soft:#544a72; --app-text-muted:#776e94;
  --app-primary:#7c3aed; --app-primary-strong:#6d28d9; --app-danger:#e11d48;
}
/* 7) Sand Desert — areia + terracota */
:root[data-theme="sand-desert"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#ede0cf; --app-bg-800:#f5ebdb; --app-bg-solid:#f7f0e4;
  --app-surface-main:#fffdf8; --app-surface-alt:#f3e8d6;
  --app-text:#33271a; --app-text-soft:#6a5340; --app-text-muted:#8c7158;
  --app-primary:#c2410c; --app-primary-strong:#9a3412; --app-danger:#b91c1c;
}
/* 8) Slate Light — cinza claro neutro */
:root[data-theme="slate-light"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#e6eaf1; --app-bg-800:#f1f4f8; --app-bg-solid:#f4f6f9;
  --app-surface-main:#ffffff; --app-surface-alt:#eef1f6;
  --app-text:#1e2733; --app-text-soft:#4a5566; --app-text-muted:#6f7989;
  --app-primary:#4f46e5; --app-primary-strong:#4338ca; --app-danger:#e11d48;
}
/* 9) Lemon Bright — branco + amarelo dourado */
:root[data-theme="lemon-bright"]{
  --app-scheme:light; --app-on-primary:#241a02;
  --app-bg-900:#f1ecd2; --app-bg-800:#f8f3df; --app-bg-solid:#fbf8ea;
  --app-surface-main:#fffef7; --app-surface-alt:#f5efd8;
  --app-text:#2b2410; --app-text-soft:#5e5326; --app-text-muted:#83743f;
  --app-primary:#ca8a04; --app-primary-strong:#a16207; --app-danger:#dc2626;
}
/* 10) Aqua Light — branco + turquesa */
:root[data-theme="aqua-light"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#daf1ec; --app-bg-800:#e9f8f4; --app-bg-solid:#eefbf8;
  --app-surface-main:#ffffff; --app-surface-alt:#e7f5f1;
  --app-text:#0c2e2a; --app-text-soft:#356159; --app-text-muted:#578079;
  --app-primary:#0d9488; --app-primary-strong:#0f766e; --app-danger:#e11d48;
}
/* 11) Peach Cream — pêssego cremoso */
:root[data-theme="peach-cream"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#f6e2d3; --app-bg-800:#fcefe2; --app-bg-solid:#fdf4ee;
  --app-surface-main:#fffaf6; --app-surface-alt:#fbe9dc;
  --app-text:#3a2317; --app-text-soft:#7a513a; --app-text-muted:#a0765c;
  --app-primary:#ea580c; --app-primary-strong:#c2410c; --app-danger:#dc2626;
}
/* 12) Linen Classic — linho/marrom clássico (vibe histórica alt) */
:root[data-theme="linen-classic"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#e8ddca; --app-bg-800:#f1e9d6; --app-bg-solid:#f6f1e6;
  --app-surface-main:#fffdf8; --app-surface-alt:#f2eada;
  --app-text:#322619; --app-text-soft:#665338; --app-text-muted:#8a7559;
  --app-primary:#92400e; --app-primary-strong:#78350f; --app-danger:#b91c1c;
}

/* ============================================================================
   LOTE 2 — 24 temas criativos (12 escuros + 12 claros)
   ============================================================================ */

/* Dracula */
:root[data-theme="dracula"]{
  --app-scheme:dark; --app-on-primary:#1a1b26;
  --app-bg-900:#191a21; --app-bg-800:#21222c; --app-bg-solid:#1e1f29;
  --app-surface-main:#2b2d3e; --app-surface-alt:#21222c;
  --app-text:#f8f8f2; --app-text-soft:#c8cae0; --app-text-muted:#969ac0;
  --app-primary:#bd93f9; --app-primary-strong:#9d6ff0; --app-danger:#ff5555;
}
/* Vaporwave — rosa + ciano retrô */
:root[data-theme="vaporwave"]{
  --app-scheme:dark; --app-on-primary:#1a0b2e;
  --app-bg-900:#190b2e; --app-bg-800:#241043; --app-bg-solid:#1f0d38;
  --app-surface-main:#2c1552; --app-surface-alt:#1f0d38;
  --app-text:#ffe9ff; --app-text-soft:#dab8ff; --app-text-muted:#b58fe0;
  --app-primary:#ff71ce; --app-primary-strong:#01cdfe; --app-danger:#ff5577;
}
/* Cyberpunk — amarelo neon + ciano */
:root[data-theme="cyberpunk"]{
  --app-scheme:dark; --app-on-primary:#0a0a0f;
  --app-bg-900:#08080d; --app-bg-800:#0d0d14; --app-bg-solid:#0a0a11;
  --app-surface-main:#14141d; --app-surface-alt:#0d0d14;
  --app-text:#f0f6ff; --app-text-soft:#9fb4d4; --app-text-muted:#6f86a8;
  --app-primary:#fcee0a; --app-primary-strong:#00e5ff; --app-danger:#ff3b6b;
}
/* Blood Moon */
:root[data-theme="blood-moon"]{
  --app-scheme:dark; --app-on-primary:#1a0405;
  --app-bg-900:#150407; --app-bg-800:#1f060a; --app-bg-solid:#190509;
  --app-surface-main:#2a0a0f; --app-surface-alt:#1f060a;
  --app-text:#ffe8e6; --app-text-soft:#e8a8a0; --app-text-muted:#c47b73;
  --app-primary:#e02424; --app-primary-strong:#f59e0b; --app-danger:#ff5a5a;
}
/* Toxic Swamp — lima tóxica */
:root[data-theme="toxic-swamp"]{
  --app-scheme:dark; --app-on-primary:#0e1308;
  --app-bg-900:#0b0f06; --app-bg-800:#11160a; --app-bg-solid:#0e1308;
  --app-surface-main:#161d0c; --app-surface-alt:#11160a;
  --app-text:#eaffce; --app-text-soft:#b5c88a; --app-text-muted:#8a9d5e;
  --app-primary:#aaff00; --app-primary-strong:#65a30d; --app-danger:#ff5577;
}
/* Nebula — magenta + teal */
:root[data-theme="nebula"]{
  --app-scheme:dark; --app-on-primary:#0a0820;
  --app-bg-900:#07061a; --app-bg-800:#0c0a26; --app-bg-solid:#090820;
  --app-surface-main:#14112e; --app-surface-alt:#0c0a26;
  --app-text:#efeaff; --app-text-soft:#c0b6f0; --app-text-muted:#8f86c4;
  --app-primary:#d946ef; --app-primary-strong:#14b8a6; --app-danger:#fb7185;
}
/* Obsidian Gold */
:root[data-theme="obsidian-gold"]{
  --app-scheme:dark; --app-on-primary:#0d0d0d;
  --app-bg-900:#0a0a0a; --app-bg-800:#121211; --app-bg-solid:#0e0e0d;
  --app-surface-main:#1a1a18; --app-surface-alt:#121211;
  --app-text:#fff7e6; --app-text-soft:#d9c79a; --app-text-muted:#a8966a;
  --app-primary:#d4af37; --app-primary-strong:#b8860b; --app-danger:#e05252;
}
/* Bioluminescent — aqua abissal */
:root[data-theme="bioluminescent"]{
  --app-scheme:dark; --app-on-primary:#03100f;
  --app-bg-900:#03100f; --app-bg-800:#051a18; --app-bg-solid:#041413;
  --app-surface-main:#07221f; --app-surface-alt:#051a18;
  --app-text:#d9fff8; --app-text-soft:#7fe6d6; --app-text-muted:#4fb3a4;
  --app-primary:#00f5d4; --app-primary-strong:#00bb9e; --app-danger:#ff6b8a;
}
/* Coffee Noir — espresso + caramelo */
:root[data-theme="coffee-noir"]{
  --app-scheme:dark; --app-on-primary:#1a120b;
  --app-bg-900:#140f0a; --app-bg-800:#1d160f; --app-bg-solid:#17110b;
  --app-surface-main:#261c13; --app-surface-alt:#1d160f;
  --app-text:#f5e9da; --app-text-soft:#cbb094; --app-text-muted:#a08869;
  --app-primary:#c8956b; --app-primary-strong:#a06a42; --app-danger:#e07a5f;
}
/* Northern Lights — aurora */
:root[data-theme="northern-lights"]{
  --app-scheme:dark; --app-on-primary:#060d19;
  --app-bg-900:#050a14; --app-bg-800:#08101f; --app-bg-solid:#060d19;
  --app-surface-main:#0c1729; --app-surface-alt:#08101f;
  --app-text:#eafff4; --app-text-soft:#a7d8c9; --app-text-muted:#76a896;
  --app-primary:#34d399; --app-primary-strong:#818cf8; --app-danger:#fb7185;
}
/* Ember Forge — laranja em brasa */
:root[data-theme="ember-forge"]{
  --app-scheme:dark; --app-on-primary:#140f0c;
  --app-bg-900:#100c0a; --app-bg-800:#181210; --app-bg-solid:#140f0c;
  --app-surface-main:#211814; --app-surface-alt:#181210;
  --app-text:#ffeede; --app-text-soft:#e0b297; --app-text-muted:#b88a6e;
  --app-primary:#ff6a00; --app-primary-strong:#d23f00; --app-danger:#ff4d4d;
}
/* Ultraviolet — violeta intenso */
:root[data-theme="ultraviolet"]{
  --app-scheme:dark; --app-on-primary:#0d0519;
  --app-bg-900:#0a0414; --app-bg-800:#11071f; --app-bg-solid:#0d0519;
  --app-surface-main:#1a0c2e; --app-surface-alt:#11071f;
  --app-text:#f3e9ff; --app-text-soft:#cbb0f5; --app-text-muted:#9a7fc9;
  --app-primary:#a020f0; --app-primary-strong:#7c3aed; --app-danger:#ff5577;
}

/* Bubblegum — chiclete */
:root[data-theme="bubblegum"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#fbdcec; --app-bg-800:#fde8f2; --app-bg-solid:#fdf1f7;
  --app-surface-main:#ffffff; --app-surface-alt:#fce4f0;
  --app-text:#4a1d35; --app-text-soft:#8a4a68; --app-text-muted:#ad6e89;
  --app-primary:#ec4899; --app-primary-strong:#db2777; --app-danger:#e11d48;
}
/* Terracotta Sun — barro quente */
:root[data-theme="terracotta-sun"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#eedccb; --app-bg-800:#f6e8d8; --app-bg-solid:#f9f0e5;
  --app-surface-main:#fffaf3; --app-surface-alt:#f3e6d5;
  --app-text:#4a2c1a; --app-text-soft:#7d5236; --app-text-muted:#9e7351;
  --app-primary:#d2691e; --app-primary-strong:#b04a16; --app-danger:#c0392b;
}
/* Matcha Latte */
:root[data-theme="matcha-latte"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#e4ecd2; --app-bg-800:#eef4e0; --app-bg-solid:#f3f7ea;
  --app-surface-main:#fffef8; --app-surface-alt:#ebf1dc;
  --app-text:#2e3a1c; --app-text-soft:#5a6b39; --app-text-muted:#7e8f5c;
  --app-primary:#7cb342; --app-primary-strong:#5e9028; --app-danger:#d1495b;
}
/* Blueprint — planta técnica */
:root[data-theme="blueprint"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#d6e6f5; --app-bg-800:#e6f0fa; --app-bg-solid:#edf4fb;
  --app-surface-main:#ffffff; --app-surface-alt:#e0ecf8;
  --app-text:#0d2840; --app-text-soft:#3a5b7a; --app-text-muted:#5d7c98;
  --app-primary:#1565c0; --app-primary-strong:#0d47a1; --app-danger:#d32f2f;
}
/* Coral Reef — coral tropical */
:root[data-theme="coral-reef"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#d2efea; --app-bg-800:#e4f6f1; --app-bg-solid:#ecfbf7;
  --app-surface-main:#ffffff; --app-surface-alt:#def2ed;
  --app-text:#0d3a36; --app-text-soft:#3a665f; --app-text-muted:#5e8a82;
  --app-primary:#ff6f61; --app-primary-strong:#e8503f; --app-danger:#d32f2f;
}
/* Newsprint — jornal */
:root[data-theme="newsprint"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#e5e2da; --app-bg-800:#efece4; --app-bg-solid:#f3f1ea;
  --app-surface-main:#fbfaf6; --app-surface-alt:#e9e6dd;
  --app-text:#1c1a17; --app-text-soft:#4a463f; --app-text-muted:#6f6a60;
  --app-primary:#c0392b; --app-primary-strong:#99271b; --app-danger:#b91c1c;
}
/* Cotton Candy — algodão doce */
:root[data-theme="cotton-candy"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#e6dcf5; --app-bg-800:#f0e9fb; --app-bg-solid:#f4effc;
  --app-surface-main:#ffffff; --app-surface-alt:#ece2fa;
  --app-text:#3a2a52; --app-text-soft:#6b5586; --app-text-muted:#8d78a6;
  --app-primary:#c77dff; --app-primary-strong:#a64dff; --app-danger:#e11d48;
}
/* Honey Cream — mel dourado */
:root[data-theme="honey-cream"]{
  --app-scheme:light; --app-on-primary:#2a2000;
  --app-bg-900:#f1e4c6; --app-bg-800:#f8efd6; --app-bg-solid:#fbf5e4;
  --app-surface-main:#fffdf6; --app-surface-alt:#f3e9cd;
  --app-text:#3d2f12; --app-text-soft:#6e5a2c; --app-text-muted:#927d4d;
  --app-primary:#e0a516; --app-primary-strong:#b8830a; --app-danger:#c0392b;
}
/* Sage Stone — sálvia terrosa */
:root[data-theme="sage-stone"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#dfe3d6; --app-bg-800:#eaeee2; --app-bg-solid:#eff2e9;
  --app-surface-main:#fdfdf9; --app-surface-alt:#e6e9de;
  --app-text:#2f352a; --app-text-soft:#5b6151; --app-text-muted:#7e8474;
  --app-primary:#7d9471; --app-primary-strong:#5e7553; --app-danger:#b5563f;
}
/* Arctic Frost — azul-gelo */
:root[data-theme="arctic-frost"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#d6e4ec; --app-bg-800:#e6eff4; --app-bg-solid:#eef4f8;
  --app-surface-main:#ffffff; --app-surface-alt:#e2ebf1;
  --app-text:#15303f; --app-text-soft:#436173; --app-text-muted:#688192;
  --app-primary:#2aa7c4; --app-primary-strong:#1787a3; --app-danger:#d1495b;
}
/* Lilac Meadow — lilás com verde */
:root[data-theme="lilac-meadow"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#e4ddf0; --app-bg-800:#efe9f8; --app-bg-solid:#f3effb;
  --app-surface-main:#ffffff; --app-surface-alt:#eae3f5;
  --app-text:#2f2540; --app-text-soft:#5c4f75; --app-text-muted:#7f7299;
  --app-primary:#9067c6; --app-primary-strong:#7048b0; --app-danger:#d1495b;
}
/* Citrus Pop — laranja/lima vibrante */
:root[data-theme="citrus-pop"]{
  --app-scheme:light; --app-on-primary:#ffffff;
  --app-bg-900:#f1ecd0; --app-bg-800:#f8f3df; --app-bg-solid:#fbf8ea;
  --app-surface-main:#fffef7; --app-surface-alt:#f3edcf;
  --app-text:#36340f; --app-text-soft:#5f5d22; --app-text-muted:#84813f;
  --app-primary:#f97316; --app-primary-strong:#ea580c; --app-danger:#dc2626;
}

/* ============================================================================
   LOTE 3 — FORÇAS (5 temas militares)
   ============================================================================ */

/* Exército — verde-oliva / caqui */
:root[data-theme="exercito"]{
  --app-scheme:dark; --app-on-primary:#12160a;
  --app-bg-900:#10130a; --app-bg-800:#161a0d; --app-bg-solid:#13160b;
  --app-surface-main:#1e2311; --app-surface-alt:#161a0d;
  --app-text:#f1f4df; --app-text-soft:#c4cf9c; --app-text-muted:#96a36c;
  --app-primary:#8a9b3c; --app-primary-strong:#62742a; --app-danger:#c0392b;
}
/* Marinha — azul-marinho profundo + ouro naval */
:root[data-theme="marinha"]{
  --app-scheme:dark; --app-on-primary:#0a1626;
  --app-bg-900:#060d1a; --app-bg-800:#0a1426; --app-bg-solid:#081020;
  --app-surface-main:#0e1c33; --app-surface-alt:#0a1426;
  --app-text:#eef4ff; --app-text-soft:#aec4e2; --app-text-muted:#7d97bb;
  --app-primary:#c9a227; --app-primary-strong:#a07d12; --app-danger:#e05555;
}
/* Aeronáutica — azul-aeronáutica vibrante */
:root[data-theme="aeronautica"]{
  --app-scheme:dark; --app-on-primary:#03121d;
  --app-bg-900:#050c15; --app-bg-800:#08131f; --app-bg-solid:#060f1a;
  --app-surface-main:#0c1c2d; --app-surface-alt:#08131f;
  --app-text:#e8f4ff; --app-text-soft:#a6cae8; --app-text-muted:#739dc2;
  --app-primary:#18a0e0; --app-primary-strong:#0d7fc0; --app-danger:#e25555;
}
/* Polícia Militar — grafite tático + latão */
:root[data-theme="policia-militar"]{
  --app-scheme:dark; --app-on-primary:#12131a;
  --app-bg-900:#0b0d12; --app-bg-800:#11141b; --app-bg-solid:#0d0f15;
  --app-surface-main:#181d27; --app-surface-alt:#11141b;
  --app-text:#eceff5; --app-text-soft:#b2bac9; --app-text-muted:#838da1;
  --app-primary:#c2a14a; --app-primary-strong:#9c7e2e; --app-danger:#d64545;
}
/* Bombeiros — vermelho-fogo + laranja brasa */
:root[data-theme="bombeiros"]{
  --app-scheme:dark; --app-on-primary:#ffffff;
  --app-bg-900:#150604; --app-bg-800:#1e0805; --app-bg-solid:#180604;
  --app-surface-main:#290d08; --app-surface-alt:#1e0805;
  --app-text:#ffece4; --app-text-soft:#f3b39e; --app-text-muted:#d08a72;
  --app-primary:#e8201a; --app-primary-strong:#f5821f; --app-danger:#ff5a3c;
}
