/* ===== VARIÁVEIS POR TEMA ===== */

/* Dark Theme (Default) */
[data-bs-theme="dark"] {
    --body-bg: #0f172a;
    --texto-base: #f1f5f9;
    --card-bg: rgba(30, 41, 59, 0.7);
    --tabela-borda: #334155;

    --tabela-linha-bg: #1e293b;
    --tabela-linha-hover: #2d3748;
    --tabela-cabecalho-bg: #334155;
    --tabela-cabecalho-txt: #94a3b8;

    --modal-bg: #1e293b;
    --modal-titulo: #fbbf24;
    --modal-texto: #ffffff;

    --input-bg: #0f172a;
    --input-border: #334155;
    --input-text: #ffffff;

    --menu-bg: rgba(15, 23, 42, 0.98);
}

/* Light Theme */
[data-bs-theme="light"] {
    --body-bg: #f8fafc;
    --texto-base: #0f172a;
    --card-bg: rgba(255, 255, 255, 0.95);
    --tabela-borda: #cbd5e1;

    --tabela-linha-bg: #ffffff;
    --tabela-linha-hover: #f1f5f9;
    --tabela-cabecalho-bg: #e2e8f0;
    --tabela-cabecalho-txt: #475569;

    --modal-bg: #ffffff;
    --modal-titulo: #d97706;
    --modal-texto: #0f172a;

    --input-bg: #ffffff;
    --input-border: #cbd5e1;
    --input-text: #0f172a;

    --menu-bg: #ffffff;
}

/* Sepia Theme */
[data-bs-theme="sepia"] {
    --body-bg: #f4ecd8;
    --texto-base: #433422;
    --card-bg: rgba(250, 244, 227, 0.95);
    --tabela-borda: #d6c5a5;

    --tabela-linha-bg: #fdf6e3;
    --tabela-linha-hover: #e8dbbc;
    --tabela-cabecalho-bg: #d6c5a5;
    --tabela-cabecalho-txt: #5e4933;

    --modal-bg: #fdf6e3;
    --modal-titulo: #a85800;
    --modal-texto: #433422;

    --input-bg: #fdf6e3;
    --input-border: #d6c5a5;
    --input-text: #433422;

    --menu-bg: #fdf6e3;
}

/* ===== APLICAÇÃO GERAL ===== */

body {
    background-color: var(--body-bg) !important;
    color: var(--texto-base) !important;
}

.glass-card {
    background: var(--card-bg) !important;
    backdrop-filter: blur(10px);
    border: 1px solid var(--tabela-borda) !important;
}

/* Formulários */
.form-control,
.form-select,
.input-group-text {
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--input-text) !important;
}

.form-control:focus,
.form-select:focus {
    background-color: var(--input-bg) !important;
    color: var(--input-text) !important;
    border-color: #38bdf8 !important;
    box-shadow: 0 0 0 0.25rem rgba(56, 189, 248, 0.25) !important;
}

/* Tabelas Genéricas (Sobrescrita de .table e .table-dark) */
.table,
.table-dark {
    --bs-table-bg: transparent;
    color: var(--texto-base) !important;
    border-color: var(--tabela-borda) !important;
}

.table tbody tr,
.table-dark tbody tr,
.table-custom tbody tr {
    background-color: var(--tabela-linha-bg) !important;
}

.table tbody tr td,
.table-dark tbody tr td,
.table-custom tbody tr td {
    color: var(--texto-base) !important;
    border-color: var(--tabela-borda) !important;
    background-color: transparent !important;
}

.table tbody tr:hover td,
.table-dark tbody tr:hover td,
.table-custom tbody tr:hover td {
    background-color: var(--tabela-linha-hover) !important;
}

.table thead th,
.table-dark thead th,
.table-custom thead th {
    background-color: var(--tabela-cabecalho-bg) !important;
    color: var(--tabela-cabecalho-txt) !important;
    border-color: var(--tabela-borda) !important;
}

/* Menu Lateral (Sidebar) */
.sidebar-logistrap {
    background: var(--menu-bg) !important;
    border-right: 1px solid var(--tabela-borda) !important;
}



.sidebar-logistrap .nav-link,
.sidebar-logistrap .text-white,
.sidebar-logistrap .text-white-50 {
    color: var(--texto-base) !important;
}

.sidebar-logistrap .text-white-50 {
    opacity: 0.7;
}

/* Modais */
.modal-content {
    background-color: var(--modal-bg) !important;
    color: var(--modal-texto) !important;
    border: 1px solid var(--tabela-borda) !important;
}

.modal-header .modal-title {
    color: var(--modal-titulo) !important;
}

/* Utilitários Bootstrap Sobrescritos para os Temas Claros */
[data-bs-theme="light"] .bg-dark,
[data-bs-theme="sepia"] .bg-dark {
    background-color: var(--card-bg) !important;
}

[data-bs-theme="light"] .text-white,
[data-bs-theme="sepia"] .text-white {
    color: var(--texto-base) !important;
}

[data-bs-theme="light"] .text-white-50,
[data-bs-theme="sepia"] .text-white-50 {
    color: var(--texto-base) !important;
    opacity: 0.7;
}

[data-bs-theme="light"] .border-secondary,
[data-bs-theme="sepia"] .border-secondary {
    border-color: var(--tabela-borda) !important;
}

[data-bs-theme="light"] .badge.bg-dark,
[data-bs-theme="sepia"] .badge.bg-dark {
    background-color: #cbd5e1 !important;
    color: #0f172a !important;
}

/* Personalização para o Popover combinar com o tema Dark */
.popover {
    background-color: rgba(30, 41, 59, 0.95);
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
}

.popover-header {
    background-color: rgba(15, 23, 42, 0.5);
    color: #0dcaf0;
    /* Cor Info */
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.popover-body {
    color: #f1f5f9;
}

.bs-popover-auto[data-poppe-placement^=bottom] .popover-arrow::after,
.bs-popover-bottom .popover-arrow::after {
    border-bottom-color: rgba(30, 41, 59, 0.95);
}