/* ── Tema: Padrão (sidebar escura, content claro) ── */
[data-theme="default"] {
    --sidebar-bg:          #1e293b;
    --sidebar-link:        #94a3b8;
    --sidebar-active:      #6366f1;
    --sidebar-accent:      #818cf8;
    --sidebar-border:      #334155;
    --sidebar-brand:       #f8fafc;
    --scrollbar-thumb:     #6366f1;
    --scrollbar-hover:     #4f46e5;
    --body-bg:             #f1f5f9;
    --navbar-bg:           rgba(255, 255, 255, 0.85);
    --card-bg:             #ffffff;
    --text-color:          #0f172a;
    --glass-bg:            rgba(255, 255, 255, 0.7);
    --glass-border:        rgba(255, 255, 255, 0.5);
    --glass-shadow:        0 8px 32px 0 rgba(31, 38, 135, 0.07);
    --primary-color:       #6366f1;
    --surface-2:           #f8fafc;
    --border-color:        rgba(15, 23, 42, 0.08);
    --text-muted:          #64748b;
    --input-bg:            #ffffff;
    --input-border:        #e2e8f0;
    --footer-bg:           #ffffff;
    --nav-dropdown-bg:     #ffffff;
    --nav-dropdown-border: rgba(0, 0, 0, 0.08);
}

/* ── Tema: Escuro total ── */
[data-theme="dark"] {
    /* Superfícies e Fundos Principais */
    --body-bg:             #030712; /* Cinza quase preto (Gray 950) - ultra moderno */
    --sidebar-bg:          #0b0f19; /* Ligeiramente mais claro que o body para separação limpa */
    --navbar-bg:           rgba(3, 7, 18, 0.75); /* Blur glass combinando com o body */
    --footer-bg:           #030712;
    
    /* Elementos de Interface (Cards e Inputs) */
    --card-bg:             #0f172a; /* Slate 900 - Contraste suave sobre o fundo */
    --surface-2:           #1e293b; /* Slate 800 - Para elementos dentro de cards / hovers */
    --input-bg:            #0f172a; /* Casado com o card ou ligeiramente mais escuro */
    --nav-dropdown-bg:     #0f172a;

    /* Tipografia (Acessibilidade e Leitura) */
    --text-color:          #f9fafb; /* Branco suave (Gray 50) para não agredir os olhos */
    --text-muted:          #9ca3af; /* Cinza médio (Gray 400) perfeito para leitura secundária */
    --sidebar-link:        #9ca3af;

    /* Cores de Destaque (Brand & Accent) - Menos cansativo, mais tecnológico */
    --primary-color:       #6366f1; /* Indigo 500 (Vibrante mas profissional) */
    --sidebar-active:      #818cf8; /* Indigo light para o link ativo */
    --sidebar-accent:      rgba(99, 102, 241, 0.1); /* Fundo sutil para o item ativo */
    --sidebar-brand:       #ffffff;

    /* Bordas e Divisores (Sutileza é a chave aqui) */
    --border-color:        rgba(255, 255, 255, 0.06); /* Quase invisível, apenas para delimitar */
    --sidebar-border:      rgba(255, 255, 255, 0.05);
    --input-border:        #1e293b;
    --nav-dropdown-border: rgba(255, 255, 255, 0.08);

    /* Efeito Glassmorphism (Efeito Frosted Glass moderno) */
    --glass-bg:            rgba(15, 23, 42, 0.65);
    --glass-border:        rgba(255, 255, 255, 0.05);
    --glass-shadow:        0 8px 32px 0 rgba(0, 0, 0, 0.5);

    /* Scrollbars Modernas (Finíssimas e discretas) */
    --scrollbar-thumb:     rgba(255, 255, 255, 0.1);
    --scrollbar-hover:     rgba(255, 255, 255, 0.2);
}

/* ── Tema: Azul/Oceano ── */
[data-theme="ocean"] {
    --sidebar-bg:          #082f49;
    --sidebar-link:        #7dd3fc;
    --sidebar-active:      #0ea5e9;
    --sidebar-accent:      #38bdf8;
    --sidebar-border:      #0c4a6e;
    --sidebar-brand:       #f0f9ff;
    --scrollbar-thumb:     #0ea5e9;
    --scrollbar-hover:     #0284c7;
    --body-bg:             #e0f2fe;
    --navbar-bg:           rgba(255, 255, 255, 0.85);
    --card-bg:             #ffffff;
    --text-color:          #082f49;
    --glass-bg:            rgba(255, 255, 255, 0.6);
    --glass-border:        rgba(255, 255, 255, 0.5);
    --glass-shadow:        0 8px 32px 0 rgba(14, 165, 233, 0.1);
    --primary-color:       #0ea5e9;
    --surface-2:           #e0f2fe;
    --border-color:        rgba(8, 47, 73, 0.10);
    --text-muted:          #0369a1;
    --input-bg:            #ffffff;
    --input-border:        #bae6fd;
    --footer-bg:           #f0f9ff;
    --nav-dropdown-bg:     #ffffff;
    --nav-dropdown-border: rgba(8, 47, 73, 0.10);
}

/* ── Tema: Verde/Floresta ── */
[data-theme="forest"] {
    --sidebar-bg:          #064e3b;
    --sidebar-link:        #6ee7b7;
    --sidebar-active:      #10b981;
    --sidebar-accent:      #34d399;
    --sidebar-border:      #065f46;
    --sidebar-brand:       #ecfdf5;
    --scrollbar-thumb:     #10b981;
    --scrollbar-hover:     #059669;
    --body-bg:             #d1fae5;
    --navbar-bg:           rgba(255, 255, 255, 0.85);
    --card-bg:             #ffffff;
    --text-color:          #064e3b;
    --glass-bg:            rgba(255, 255, 255, 0.6);
    --glass-border:        rgba(255, 255, 255, 0.5);
    --glass-shadow:        0 8px 32px 0 rgba(16, 185, 129, 0.1);
    --primary-color:       #10b981;
    --surface-2:           #d1fae5;
    --border-color:        rgba(6, 78, 59, 0.10);
    --text-muted:          #065f46;
    --input-bg:            #ffffff;
    --input-border:        #a7f3d0;
    --footer-bg:           #ecfdf5;
    --nav-dropdown-bg:     #ffffff;
    --nav-dropdown-border: rgba(6, 78, 59, 0.10);
}

/* ── Tema: Prefeitura (Azul Municipal + Amarelo) ── */
[data-theme="prefeitura"] {
    --sidebar-bg:          #0D2B5E;
    --sidebar-link:        #A8C4E8;
    --sidebar-active:      #FFD100;
    --sidebar-accent:      #FFC200;
    --sidebar-border:      #1A3F7A;
    --sidebar-brand:       #FFFFFF;
    --scrollbar-thumb:     #FFD100;
    --scrollbar-hover:     #FFC200;
    --body-bg:             #EEF3FA;
    --navbar-bg:           rgba(255, 255, 255, 0.92);
    --card-bg:             #FFFFFF;
    --text-color:          #0D2B5E;
    --glass-bg:            rgba(255, 255, 255, 0.7);
    --glass-border:        rgba(13, 43, 94, 0.15);
    --glass-shadow:        0 8px 32px 0 rgba(13, 43, 94, 0.1);
    --primary-color:       #0D2B5E;
    --surface-2:           #eef3fa;
    --border-color:        rgba(13, 43, 94, 0.10);
    --text-muted:          #3a5f9e;
    --input-bg:            #ffffff;
    --input-border:        #c7d8ef;
    --footer-bg:           #ffffff;
    --nav-dropdown-bg:     #ffffff;
    --nav-dropdown-border: rgba(13, 43, 94, 0.10);
}

/* ── Tema: Boa Vista (cores reais do site boavista.rr.gov.br) ── */
[data-theme="boavista"] {
    --sidebar-bg:          #002131;
    --sidebar-link:        #7BBFDA;
    --sidebar-active:      #3a99cc;
    --sidebar-accent:      #4a90e2;
    --sidebar-border:      #0A3246;
    --sidebar-brand:       #FFFFFF;
    --scrollbar-thumb:     #3a99cc;
    --scrollbar-hover:     #4a90e2;
    --body-bg:             #EBF5FB;
    --navbar-bg:           rgba(255, 255, 255, 0.92);
    --card-bg:             #FFFFFF;
    --text-color:          #002131;
    --glass-bg:            rgba(255, 255, 255, 0.75);
    --glass-border:        rgba(0, 33, 49, 0.12);
    --glass-shadow:        0 8px 32px 0 rgba(58, 153, 204, 0.1);
    --primary-color:       #2a6496;
    --surface-2:           #ebf5fb;
    --border-color:        rgba(0, 33, 49, 0.10);
    --text-muted:          #2a6496;
    --input-bg:            #ffffff;
    --input-border:        #acd9ef;
    --footer-bg:           #ffffff;
    --nav-dropdown-bg:     #ffffff;
    --nav-dropdown-border: rgba(0, 33, 49, 0.10);
}

/* ── Tema: Brisa (clean azul-ardósia + céu) ── */
[data-theme="breeze"] {
    --sidebar-bg:          #2C4A6E;
    --sidebar-link:        #A5C4D4;
    --sidebar-active:      #56CCF2;
    --sidebar-accent:      #2D9CDB;
    --sidebar-border:      #3A5F8A;
    --sidebar-brand:       #FFFFFF;
    --scrollbar-thumb:     #56CCF2;
    --scrollbar-hover:     #2D9CDB;
    --body-bg:             #F0F7FF;
    --navbar-bg:           rgba(255, 255, 255, 0.95);
    --card-bg:             #FFFFFF;
    --text-color:          #1E3A52;
    --glass-bg:            rgba(255, 255, 255, 0.82);
    --glass-border:        rgba(44, 74, 110, 0.1);
    --glass-shadow:        0 8px 32px 0 rgba(44, 74, 110, 0.06);
    --primary-color:       #2C4A6E;
    --surface-2:           #e4f0f9;
    --border-color:        rgba(44, 74, 110, 0.10);
    --text-muted:          #4a7499;
    --input-bg:            #ffffff;
    --input-border:        #b8d6ec;
    --footer-bg:           #ffffff;
    --nav-dropdown-bg:     #ffffff;
    --nav-dropdown-border: rgba(44, 74, 110, 0.10);
}

/* ── Tema: Aurora (suave violeta/lavanda) ── */
[data-theme="aurora"] {
    --sidebar-bg:          #3D2F6E;
    --sidebar-link:        #BDB0D8;
    --sidebar-active:      #C4B5FD;
    --sidebar-accent:      #A78BFA;
    --sidebar-border:      #5245A0;
    --sidebar-brand:       #FFFFFF;
    --scrollbar-thumb:     #C4B5FD;
    --scrollbar-hover:     #A78BFA;
    --body-bg:             #F5F3FF;
    --navbar-bg:           rgba(255, 255, 255, 0.92);
    --card-bg:             #FFFFFF;
    --text-color:          #3D2F6E;
    --glass-bg:            rgba(255, 255, 255, 0.78);
    --glass-border:        rgba(61, 47, 110, 0.1);
    --glass-shadow:        0 8px 32px 0 rgba(61, 47, 110, 0.07);
    --primary-color:       #7C3AED;
    --surface-2:           #ede9fe;
    --border-color:        rgba(61, 47, 110, 0.10);
    --text-muted:          #6d4ea8;
    --input-bg:            #ffffff;
    --input-border:        #c4b5fd;
    --footer-bg:           #ffffff;
    --nav-dropdown-bg:     #ffffff;
    --nav-dropdown-border: rgba(61, 47, 110, 0.10);
}

/* ── Tema: Pétala (suave rosé/blush) ── */
[data-theme="petal"] {
    --sidebar-bg:          #5E2C40;
    --sidebar-link:        #D4A0B0;
    --sidebar-active:      #FCA5A5;
    --sidebar-accent:      #F87171;
    --sidebar-border:      #7A3D53;
    --sidebar-brand:       #FFFFFF;
    --scrollbar-thumb:     #FCA5A5;
    --scrollbar-hover:     #F87171;
    --body-bg:             #FFF5F7;
    --navbar-bg:           rgba(255, 255, 255, 0.92);
    --card-bg:             #FFFFFF;
    --text-color:          #5E2C40;
    --glass-bg:            rgba(255, 255, 255, 0.78);
    --glass-border:        rgba(94, 44, 64, 0.1);
    --glass-shadow:        0 8px 32px 0 rgba(94, 44, 64, 0.07);
    --primary-color:       #BE185D;
    --surface-2:           #fce7f3;
    --border-color:        rgba(94, 44, 64, 0.10);
    --text-muted:          #9d4468;
    --input-bg:            #ffffff;
    --input-border:        #fca5a5;
    --footer-bg:           #ffffff;
    --nav-dropdown-bg:     #ffffff;
    --nav-dropdown-border: rgba(94, 44, 64, 0.10);
}

/* ── Tema: Terra (suave terracota/creme) ── */
[data-theme="earth"] {
    --sidebar-bg:          #5C3D2E;
    --sidebar-link:        #C9A98A;
    --sidebar-active:      #FDBA74;
    --sidebar-accent:      #FB923C;
    --sidebar-border:      #7A5040;
    --sidebar-brand:       #FFFFFF;
    --scrollbar-thumb:     #FDBA74;
    --scrollbar-hover:     #FB923C;
    --body-bg:             #FFF8F2;
    --navbar-bg:           rgba(255, 255, 255, 0.92);
    --card-bg:             #FFFFFF;
    --text-color:          #5C3D2E;
    --glass-bg:            rgba(255, 255, 255, 0.78);
    --glass-border:        rgba(92, 61, 46, 0.1);
    --glass-shadow:        0 8px 32px 0 rgba(92, 61, 46, 0.07);
    --primary-color:       #C2410C;
    --surface-2:           #ffedd5;
    --border-color:        rgba(92, 61, 46, 0.10);
    --text-muted:          #92522c;
    --input-bg:            #ffffff;
    --input-border:        #fdba74;
    --footer-bg:           #ffffff;
    --nav-dropdown-bg:     #ffffff;
    --nav-dropdown-border: rgba(92, 61, 46, 0.10);
}

/* ── Tema: Menta (fresco menta/teal) ── */
[data-theme="menta"] {
    --sidebar-bg:          #0d3d36;
    --sidebar-link:        #5eead4;
    --sidebar-active:      #2dd4bf;
    --sidebar-accent:      #99f6e4;
    --sidebar-border:      #134e4a;
    --sidebar-brand:       #f0fdfa;
    --scrollbar-thumb:     #2dd4bf;
    --scrollbar-hover:     #14b8a6;
    --body-bg:             #f0fdfa;
    --navbar-bg:           rgba(255, 255, 255, 0.90);
    --card-bg:             #ffffff;
    --text-color:          #042f2e;
    --glass-bg:            rgba(255, 255, 255, 0.68);
    --glass-border:        rgba(255, 255, 255, 0.55);
    --glass-shadow:        0 8px 32px 0 rgba(45, 212, 191, 0.12);
    --primary-color:       #14b8a6;
    --surface-2:           #ccfbf1;
    --border-color:        rgba(4, 47, 46, 0.09);
    --text-muted:          #0d9488;
    --input-bg:            #ffffff;
    --input-border:        #99f6e4;
    --footer-bg:           #f0fdfa;
    --nav-dropdown-bg:     #ffffff;
    --nav-dropdown-border: rgba(4, 47, 46, 0.09);
}

/* ── Tema: Coral (quente laranja/coral) ── */
[data-theme="coral"] {
    --sidebar-bg:          #431407;
    --sidebar-link:        #fdba74;
    --sidebar-active:      #fb923c;
    --sidebar-accent:      #fcd34d;
    --sidebar-border:      #7c2d12;
    --sidebar-brand:       #fff7ed;
    --scrollbar-thumb:     #fb923c;
    --scrollbar-hover:     #f97316;
    --body-bg:             #fff7ed;
    --navbar-bg:           rgba(255, 255, 255, 0.90);
    --card-bg:             #ffffff;
    --text-color:          #431407;
    --glass-bg:            rgba(255, 255, 255, 0.70);
    --glass-border:        rgba(255, 255, 255, 0.55);
    --glass-shadow:        0 8px 32px 0 rgba(251, 146, 60, 0.14);
    --primary-color:       #ea580c;
    --surface-2:           #ffedd5;
    --border-color:        rgba(67, 20, 7, 0.09);
    --text-muted:          #9a3412;
    --input-bg:            #ffffff;
    --input-border:        #fdba74;
    --footer-bg:           #ffffff;
    --nav-dropdown-bg:     #ffffff;
    --nav-dropdown-border: rgba(67, 20, 7, 0.09);
}

/* ── Tema: Ardósia (ultra-limpo cinza-ardósia + céu) ── */
[data-theme="ardosia"] {
    --sidebar-bg:          #0f172a;
    --sidebar-link:        #cbd5e1;
    --sidebar-active:      #38bdf8;
    --sidebar-accent:      #7dd3fc;
    --sidebar-border:      #1e293b;
    --sidebar-brand:       #f8fafc;
    --scrollbar-thumb:     #38bdf8;
    --scrollbar-hover:     #0ea5e9;
    --body-bg:             #f8fafc;
    --navbar-bg:           rgba(255, 255, 255, 0.95);
    --card-bg:             #ffffff;
    --text-color:          #0f172a;
    --glass-bg:            rgba(255, 255, 255, 0.85);
    --glass-border:        rgba(0, 0, 0, 0.05);
    --glass-shadow:        0 8px 32px 0 rgba(15, 23, 42, 0.05);
    --primary-color:       #0ea5e9;
    --surface-2:           #f1f5f9;
    --border-color:        rgba(15, 23, 42, 0.07);
    --text-muted:          #64748b;
    --input-bg:            #ffffff;
    --input-border:        #e2e8f0;
    --footer-bg:           #ffffff;
    --nav-dropdown-bg:     #ffffff;
    --nav-dropdown-border: rgba(15, 23, 42, 0.07);
}

/* ── Tema: Rubi (rosa/carmesim elegante) ── */
[data-theme="rubi"] {
    --sidebar-bg:          #4c0519;
    --sidebar-link:        #fda4af;
    --sidebar-active:      #fb7185;
    --sidebar-accent:      #fecdd3;
    --sidebar-border:      #881337;
    --sidebar-brand:       #fff1f2;
    --scrollbar-thumb:     #fb7185;
    --scrollbar-hover:     #f43f5e;
    --body-bg:             #fff1f2;
    --navbar-bg:           rgba(255, 255, 255, 0.90);
    --card-bg:             #ffffff;
    --text-color:          #4c0519;
    --glass-bg:            rgba(255, 255, 255, 0.72);
    --glass-border:        rgba(255, 255, 255, 0.55);
    --glass-shadow:        0 8px 32px 0 rgba(251, 113, 133, 0.13);
    --primary-color:       #e11d48;
    --surface-2:           #ffe4e6;
    --border-color:        rgba(76, 5, 25, 0.09);
    --text-muted:          #9f1239;
    --input-bg:            #ffffff;
    --input-border:        #fecdd3;
    --footer-bg:           #ffffff;
    --nav-dropdown-bg:     #ffffff;
    --nav-dropdown-border: rgba(76, 5, 25, 0.09);
}

/* ── Tema: Âmbar (dourado/âmbar quente) ── */
[data-theme="ambar"] {
    --sidebar-bg:          #451a03;
    --sidebar-link:        #fcd34d;
    --sidebar-active:      #fbbf24;
    --sidebar-accent:      #fde68a;
    --sidebar-border:      #78350f;
    --sidebar-brand:       #fffbeb;
    --scrollbar-thumb:     #fbbf24;
    --scrollbar-hover:     #f59e0b;
    --body-bg:             #fffbeb;
    --navbar-bg:           rgba(255, 255, 255, 0.92);
    --card-bg:             #ffffff;
    --text-color:          #451a03;
    --glass-bg:            rgba(255, 255, 255, 0.75);
    --glass-border:        rgba(255, 255, 255, 0.55);
    --glass-shadow:        0 8px 32px 0 rgba(251, 191, 36, 0.14);
    --primary-color:       #d97706;
    --surface-2:           #fef3c7;
    --border-color:        rgba(69, 26, 3, 0.09);
    --text-muted:          #92400e;
    --input-bg:            #ffffff;
    --input-border:        #fde68a;
    --footer-bg:           #ffffff;
    --nav-dropdown-bg:     #ffffff;
    --nav-dropdown-border: rgba(69, 26, 3, 0.09);
}

/* ── Tema: Neve (branco puro, ultra-minimalista) ── */
[data-theme="neve"] {
    --sidebar-bg:          #374151;
    --sidebar-link:        #d1d5db;
    --sidebar-active:      #6366f1;
    --sidebar-accent:      #a5b4fc;
    --sidebar-border:      #4b5563;
    --sidebar-brand:       #f9fafb;
    --scrollbar-thumb:     #6366f1;
    --scrollbar-hover:     #4f46e5;
    --body-bg:             #f9fafb;
    --navbar-bg:           rgba(255, 255, 255, 0.96);
    --card-bg:             #ffffff;
    --text-color:          #111827;
    --glass-bg:            rgba(255, 255, 255, 0.90);
    --glass-border:        rgba(0, 0, 0, 0.05);
    --glass-shadow:        0 8px 32px 0 rgba(17, 24, 39, 0.05);
    --primary-color:       #6366f1;
    --surface-2:           #f3f4f6;
    --border-color:        rgba(17, 24, 39, 0.07);
    --text-muted:          #6b7280;
    --input-bg:            #ffffff;
    --input-border:        #e5e7eb;
    --footer-bg:           #ffffff;
    --nav-dropdown-bg:     #ffffff;
    --nav-dropdown-border: rgba(17, 24, 39, 0.07);
}

/* ── Aplicação das variáveis ─────────────────────────────────────── */
body {
    background-color: var(--body-bg);
    color: var(--text-color);
    transition: background-color 0.4s ease, color 0.4s ease;
}

.wrapper .sidebar {
    background-color: var(--sidebar-bg) !important;
}

.wrapper .sidebar .admin_brand {
    color: var(--sidebar-brand);
    border-bottom-color: var(--sidebar-border);
}

.wrapper .sidebar .nav-item .nav-link {
    color: var(--sidebar-link);
    transition: color 0.2s ease, background-color 0.2s ease;
}

.wrapper .sidebar .nav-item:hover .nav-link,
.wrapper .sidebar .admin_brand > div:hover {
    color: var(--sidebar-active);
}

.wrapper .sidebar .nav-item.active .nav-link {
    background-color: var(--sidebar-active);
    color: #ffffff;
    border-left-color: var(--sidebar-accent);
}

::-webkit-scrollbar-thumb       { background-color: var(--scrollbar-thumb); }
::-webkit-scrollbar-thumb:hover { background-color: var(--scrollbar-hover); }

.navbar.bg-light, nav.bg-light {
    background-color: var(--navbar-bg) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--glass-border);
}

.card {
    background-color: var(--card-bg);
    color: var(--text-color);
    border: none;
    border-radius: 16px;
}

/* Temas com active claro: texto escuro para contraste */
[data-theme="prefeitura"] .wrapper .sidebar .nav-item.active .nav-link { color: #0D2B5E !important; }
[data-theme="breeze"]     .wrapper .sidebar .nav-item.active .nav-link { color: #1E3A52 !important; }
[data-theme="aurora"]     .wrapper .sidebar .nav-item.active .nav-link { color: #3D2F6E !important; }
[data-theme="petal"]      .wrapper .sidebar .nav-item.active .nav-link { color: #5E2C40 !important; }
[data-theme="earth"]      .wrapper .sidebar .nav-item.active .nav-link { color: #5C3D2E !important; }
[data-theme="menta"]      .wrapper .sidebar .nav-item.active .nav-link { color: #042f2e !important; }
[data-theme="coral"]      .wrapper .sidebar .nav-item.active .nav-link { color: #431407 !important; }
[data-theme="ardosia"]    .wrapper .sidebar .nav-item.active .nav-link { color: #0c4a6e !important; }
[data-theme="rubi"]       .wrapper .sidebar .nav-item.active .nav-link { color: #4c0519 !important; }
[data-theme="ambar"]      .wrapper .sidebar .nav-item.active .nav-link { color: #451a03 !important; }

/* ── Bootstrap component theming ─────────────────────────────────── */

/* Form controls */
.form-control,
.form-select,
textarea.form-control {
    background-color: var(--input-bg);
    color: var(--text-color);
    border-color: var(--input-border);
}
.form-control:focus,
.form-select:focus,
textarea.form-control:focus {
    background-color: var(--input-bg);
    color: var(--text-color);
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}
.form-control::placeholder { color: var(--text-muted); opacity: 1; }
.form-control:disabled,
.form-select:disabled {
    background-color: var(--surface-2);
    color: var(--text-muted);
    border-color: var(--input-border);
}
.input-group-text {
    background-color: var(--surface-2);
    color: var(--text-muted);
    border-color: var(--input-border);
}
.form-text { color: var(--text-muted); }

/* Dropdowns */
.dropdown-menu {
    background-color: var(--nav-dropdown-bg);
    border: 1px solid var(--nav-dropdown-border);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}
.dropdown-item { color: var(--text-color); }
.dropdown-item:hover, .dropdown-item:focus {
    background-color: var(--surface-2);
    color: var(--text-color);
}
.dropdown-divider { border-top-color: var(--border-color); }

/* Tables */
.table { color: var(--text-color); }
.table > :not(caption) > * > * {
    border-bottom-color: var(--border-color);
    color: var(--text-color);
}
.table-hover > tbody > tr:hover > * {
    background-color: var(--surface-2);
    color: var(--text-color);
}

/* bg-light → surface-2 para compatibilidade com todos os temas */
.bg-light { background-color: var(--surface-2) !important; }

/* Modals */
.modal-content {
    background-color: var(--card-bg);
    color: var(--text-color);
    border-color: var(--border-color);
}
.modal-header, .modal-footer { border-color: var(--border-color); }

/* Footer — selector com especificidade > .bg-white */
[data-theme] footer {
    background-color: var(--footer-bg) !important;
    border-top-color: var(--border-color) !important;
}

/* Muted text */
.text-muted { color: var(--text-muted) !important; }

/* ── Tema: Claro (sidebar branca, visual limpo) ── */

[data-theme="light"] {
    /* Superfícies e Fundos Principais (Clean & Crisp) */
    --body-bg:             #f9fafb; /* Gray 50 - Fundo extremamente limpo e moderno */
    --sidebar-bg:          #ffffff; /* Branco puro para criar contraste com o fundo */
    --navbar-bg:           rgba(255, 255, 255, 0.8); /* Perfeito para o efeito blur glass */
    --footer-bg:           #f9fafb;
    
    /* Elementos de Interface (Elevação Suave) */
    --card-bg:             #ffffff;
    --surface-2:           #f3f4f6; /* Gray 100 - Para hovers e áreas de agrupamento interno */
    --input-bg:            #ffffff;
    --nav-dropdown-bg:     #ffffff;

    /* Tipografia de Alto Contraste e Leitura Confortável */
    --text-color:          #111827; /* Gray 900 - Quase preto, excelente legibilidade */
    --text-muted:          #6b7280; /* Gray 500 - O cinza perfeito para textos secundários */
    --sidebar-link:        #4b5563; /* Gray 600 - Mais legível no fundo branco */
    --sidebar-brand:       #111827;

    /* Cores de Destaque (Brand & Accent) */
    --primary-color:       #4f46e5; /* Indigo 600 - Um tom ligeiramente mais profundo para contraste no claro */
    --sidebar-active:      #4f46e5; /* Texto do link ativo */
    --sidebar-accent:      rgba(79, 70, 229, 0.06); /* Fundo do link ativo (suave e elegante, sem bloco sólido) */

    /* Bordas e Divisores Minimais */
    --border-color:        rgba(17, 24, 39, 0.05); /* Baseado no texto, fica natural em qualquer tela */
    --sidebar-border:      rgba(17, 24, 39, 0.05);
    --input-border:        #e5e7eb; /* Gray 200 - Padrão limpo para inputs */
    --nav-dropdown-border: rgba(17, 24, 39, 0.06);

    /* Glassmorphism Refinado */
    --glass-bg:            rgba(255, 255, 255, 0.7);
    --glass-border:        rgba(255, 255, 255, 0.5);
    --glass-shadow:        0 8px 30px rgba(0, 0, 0, 0.03), 0 1px 2px rgba(0, 0, 0, 0.02); /* Sombra ultra leve */

    /* Scrollbars Elegantes */
    --scrollbar-thumb:     rgba(0, 0, 0, 0.15);
    --scrollbar-hover:     rgba(0, 0, 0, 0.25);
}
/* Sidebar branca: links ficam escuros */
[data-theme="light"] .sidebar { border-right: 1px solid var(--sidebar-border); }
[data-theme="light"] .sidebar .nav-link { color: var(--sidebar-link); }
[data-theme="light"] .sidebar .nav-link:hover,
[data-theme="light"] .sidebar .nav-link.active { color: var(--sidebar-active); }

/* ──────────────────────────────────────────────────────────────────
   Portal público em tema claro: navbar-dark tem texto branco,
   mas o fundo é branco → inverte para texto escuro
   ────────────────────────────────────────────────────────────────── */
[data-theme="light"] nav.navbar {
    box-shadow: 0 1px 0 var(--border-color), 0 2px 10px rgba(0,0,0,0.05) !important;
}
[data-theme="light"] .navbar.navbar-dark .navbar-brand,
[data-theme="light"] .navbar.navbar-dark .nav-link {
    color: var(--sidebar-link) !important;
}
[data-theme="light"] .navbar.navbar-dark .nav-link:hover,
[data-theme="light"] .navbar.navbar-dark .nav-link:focus {
    color: var(--sidebar-active) !important;
    opacity: 1;
}
[data-theme="light"] .navbar.navbar-dark .navbar-toggler {
    border-color: var(--border-color) !important;
}
[data-theme="light"] .navbar.navbar-dark .navbar-toggler-icon {
    /* ícone do hambúrguer em cor escura */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2817%2C24%2C39%2C0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Botões do portal na navbar clara */
[data-theme="light"] .navbar .btn-outline-light {
    color: var(--sidebar-link) !important;
    border-color: var(--input-border) !important;
    background-color: transparent !important;
}
[data-theme="light"] .navbar .btn-outline-light:hover {
    color: var(--sidebar-active) !important;
    border-color: var(--sidebar-active) !important;
    background-color: rgba(79, 70, 229, 0.06) !important;
}

/* Pill de tema em navbar clara (anula a variante navbar-dark) */
[data-theme="light"] .navbar .theme-mode-toggle {
    background: var(--surface-2) !important;
    border-color: var(--border-color) !important;
}
[data-theme="light"] .navbar .theme-mode-btn {
    color: var(--text-muted) !important;
}
[data-theme="light"] .navbar .theme-mode-btn:hover {
    color: var(--text-color) !important;
    background: var(--border-color) !important;
}
[data-theme="light"] .navbar .theme-mode-btn.active {
    background: var(--primary-color) !important;
    color: #ffffff !important;
}
