/* Application custom styles */
body {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.card {
    border-radius: 0.5rem;
}

.navbar-brand {
    font-size: 1.25rem;
}

.table > tbody > tr {
    transition: background-color 0.15s;
}

.badge {
    font-weight: 500;
}

.pagination {
    margin-bottom: 0;
}

/* Theme toggle (standalone pages) */
.theme-toggle {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 1rem;
}

/* Client portal hero navbar */
.hero {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

/* ---------- Dark mode: tons escurecidos da marca ---------- */
[data-bs-theme="dark"] {
    --bs-primary: #2f5d8a;
    --bs-primary-rgb: 47, 93, 138;
    --bs-secondary: #5a6268;
    --bs-secondary-rgb: 90, 98, 104;
    --bs-success: #2b6b4c;
    --bs-success-rgb: 43, 107, 76;
    --bs-info: #2b7282;
    --bs-info-rgb: 43, 114, 130;
    --bs-warning: #96700f;
    --bs-warning-rgb: 150, 112, 15;
    --bs-danger: #a63d50;
    --bs-danger-rgb: 166, 61, 80;
}

[data-bs-theme="dark"] .hero {
    background: linear-gradient(135deg, #3d4c8c 0%, #472d61 100%);
}

[data-bs-theme="dark"] .stat-card {
    border-left-color: #6ea8fe;
}

/* Ícones e links legíveis sobre fundo escuro (tints oficiais do dark) */
[data-bs-theme="dark"] .text-primary { color: #6ea8fe !important; }
[data-bs-theme="dark"] .text-secondary { color: #9cadb8 !important; }
[data-bs-theme="dark"] .text-success { color: #75b798 !important; }
[data-bs-theme="dark"] .text-info { color: #6edff6 !important; }
[data-bs-theme="dark"] .text-warning { color: #ffda6a !important; }
[data-bs-theme="dark"] .text-danger { color: #ea868f !important; }
[data-bs-theme="dark"] .text-dark { color: #dee2e6 !important; }

/* Botões: Bootstrap compila hex fixo, então override explícito */
[data-bs-theme="dark"] .btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #2f5d8a;
    --bs-btn-border-color: #2f5d8a;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #2b567f;
    --bs-btn-hover-border-color: #2b567f;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #2b567f;
    --bs-btn-active-border-color: #2b567f;
}

[data-bs-theme="dark"] .btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: #2b6b4c;
    --bs-btn-border-color: #2b6b4c;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #286246;
    --bs-btn-hover-border-color: #286246;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #286246;
    --bs-btn-active-border-color: #286246;
}

[data-bs-theme="dark"] .btn-info {
    --bs-btn-color: #fff;
    --bs-btn-bg: #2b7282;
    --bs-btn-border-color: #2b7282;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #286978;
    --bs-btn-hover-border-color: #286978;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #286978;
    --bs-btn-active-border-color: #286978;
}

[data-bs-theme="dark"] .btn-warning {
    --bs-btn-color: #fff;
    --bs-btn-bg: #96700f;
    --bs-btn-border-color: #96700f;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #8a670e;
    --bs-btn-hover-border-color: #8a670e;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #8a670e;
    --bs-btn-active-border-color: #8a670e;
}

[data-bs-theme="dark"] .btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: #a63d50;
    --bs-btn-border-color: #a63d50;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #99384a;
    --bs-btn-hover-border-color: #99384a;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #99384a;
    --bs-btn-active-border-color: #99384a;
}

[data-bs-theme="dark"] .btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #5a6268;
    --bs-btn-border-color: #5a6268;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #535a60;
    --bs-btn-hover-border-color: #535a60;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #535a60;
    --bs-btn-active-border-color: #535a60;
}

[data-bs-theme="dark"] .btn-outline-primary {
    --bs-btn-color: #6ea8fe;
    --bs-btn-border-color: #6ea8fe;
    --bs-btn-hover-color: #212529;
    --bs-btn-hover-bg: #6ea8fe;
    --bs-btn-hover-border-color: #6ea8fe;
    --bs-btn-active-color: #212529;
    --bs-btn-active-bg: #6ea8fe;
    --bs-btn-active-border-color: #6ea8fe;
}

[data-bs-theme="dark"] .btn-outline-success {
    --bs-btn-color: #75b798;
    --bs-btn-border-color: #75b798;
    --bs-btn-hover-color: #212529;
    --bs-btn-hover-bg: #75b798;
    --bs-btn-hover-border-color: #75b798;
    --bs-btn-active-color: #212529;
    --bs-btn-active-bg: #75b798;
    --bs-btn-active-border-color: #75b798;
}

[data-bs-theme="dark"] .btn-outline-info {
    --bs-btn-color: #6edff6;
    --bs-btn-border-color: #6edff6;
    --bs-btn-hover-color: #212529;
    --bs-btn-hover-bg: #6edff6;
    --bs-btn-hover-border-color: #6edff6;
    --bs-btn-active-color: #212529;
    --bs-btn-active-bg: #6edff6;
    --bs-btn-active-border-color: #6edff6;
}

[data-bs-theme="dark"] .btn-outline-warning {
    --bs-btn-color: #ffda6a;
    --bs-btn-border-color: #ffda6a;
    --bs-btn-hover-color: #212529;
    --bs-btn-hover-bg: #ffda6a;
    --bs-btn-hover-border-color: #ffda6a;
    --bs-btn-active-color: #212529;
    --bs-btn-active-bg: #ffda6a;
    --bs-btn-active-border-color: #ffda6a;
}

[data-bs-theme="dark"] .btn-outline-danger {
    --bs-btn-color: #ea868f;
    --bs-btn-border-color: #ea868f;
    --bs-btn-hover-color: #212529;
    --bs-btn-hover-bg: #ea868f;
    --bs-btn-hover-border-color: #ea868f;
    --bs-btn-active-color: #212529;
    --bs-btn-active-bg: #ea868f;
    --bs-btn-active-border-color: #ea868f;
}

[data-bs-theme="dark"] .btn-outline-secondary {
    --bs-btn-color: #9cadb8;
    --bs-btn-border-color: #9cadb8;
    --bs-btn-hover-color: #212529;
    --bs-btn-hover-bg: #9cadb8;
    --bs-btn-hover-border-color: #9cadb8;
    --bs-btn-active-color: #212529;
    --bs-btn-active-bg: #9cadb8;
    --bs-btn-active-border-color: #9cadb8;
}

/* ---------- Dark mode: Tabelas e Cabeçalhos ---------- */
[data-bs-theme="dark"] .table-light,
[data-bs-theme="dark"] .table > thead.table-light,
[data-bs-theme="dark"] thead.table-light th,
[data-bs-theme="dark"] .table thead th {
    --bs-table-bg: var(--bs-tertiary-bg);
    --bs-table-color: var(--bs-body-color);
    --bs-table-border-color: var(--bs-border-color);
    background-color: var(--bs-tertiary-bg) !important;
    color: var(--bs-body-color) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .table {
    --bs-table-hover-bg: rgba(255, 255, 255, 0.05);
}
