/* ===== 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;
    font-family: 'Inter', sans-serif;
}

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

/* 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;
    box-shadow: none !important;
    vertical-align: middle;
}

.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;
    min-height: 100vh;
}

.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;
}

.sidebar-logistrap .nav-link:hover {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
}

.sidebar-logistrap .nav-link.active {
    background: rgba(13, 110, 253, 0.15);
    color: #0d6efd !important;
    font-weight: bold;
    border-radius: 8px;
}

/* Efeitos Hover para Cards */
.transition-hover {
    transition: transform 0.2s, background 0.2s;
    cursor: pointer;
}

.transition-hover:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.05) !important;
}

/* Drag Handle para o Sortable */
.drag-handle {
    cursor: grab;
    color: #64748b;
    font-size: 1.2rem;
}
.drag-handle:active {
    cursor: grabbing;
}
.sortable-ghost {
    opacity: 0.5;
    background: rgba(13, 110, 253, 0.1);
}

/* Ícones de estatística (Dashboard) */
.stat-icon {
    position: absolute;
    right: 20px;
    bottom: 20px;
    font-size: 2.5rem;
    opacity: 0.2;
}

/* Utilitários Extras Bootstrap Claros */
[data-bs-theme="light"] .text-white,
[data-bs-theme="sepia"] .text-white {
    color: var(--texto-base) !important;
}
