/* Theme fixes - minimal and conservative */

/* Let the original template CSS handle the theming */
/* Only minimal overrides here */

/* --- Reusable CSS Variables --- */
:root {
    --default-border: #dee2e6;
    --default-background: #f8f9fa;
    --text-muted-color: #6c757d;
    --subtle-background: #fafbfd;
    --header-gradient-start: #f8fafc;
    --header-gradient-end: #e2e8f0;
    --card-section-border: #e2e8f0;
    --range-track-bg: #e2e8f0;
    --checkbox-bg: #f1f5f9;
    --secondary-text: #374151;
    --scrollbar-track: #f1f1f1;
    --scrollbar-thumb: var(--primary-color, #6c5ffc);
    --chat-bot-bg: #f0f0ff;
    --chat-bot-border: #e0e0f5;
    --chat-status-bg: #e8f5e9;
    --chat-status-border: #c8e6c9;
    --chat-suggestion-bg: #fff8e1;
    --chat-suggestion-border: #ffecb3;
    --chat-alert-bg: #fce4ec;
    --chat-alert-border: #f8bbd0;
    --step-completed-bg: #f0f9f0;
    --step-current-bg: #fff8e6;
    --step-icon-completed-bg: #d4edda;
}

[data-theme-mode="dark"] {
    --default-border: rgba(255, 255, 255, 0.1);
    --default-background: rgba(255, 255, 255, 0.05);
    --text-muted-color: rgba(255, 255, 255, 0.5);
    --subtle-background: rgba(255,255,255,0.03);
    --header-gradient-start: rgba(255,255,255,0.05);
    --header-gradient-end: rgba(255,255,255,0.1);
    --card-section-border: rgba(255,255,255,0.1);
    --range-track-bg: rgba(255,255,255,0.15);
    --checkbox-bg: rgba(255,255,255,0.08);
    --secondary-text: rgba(255,255,255,0.6);
    --scrollbar-track: rgba(255,255,255,0.05);
    --chat-bot-bg: rgba(108,95,252,0.1);
    --chat-bot-border: rgba(108,95,252,0.2);
    --chat-status-bg: rgba(40,167,69,0.1);
    --chat-status-border: rgba(40,167,69,0.2);
    --chat-suggestion-bg: rgba(255,193,7,0.1);
    --chat-suggestion-border: rgba(255,193,7,0.2);
    --chat-alert-bg: rgba(220,53,69,0.1);
    --chat-alert-border: rgba(220,53,69,0.2);
    --step-completed-bg: rgba(40,167,69,0.1);
    --step-current-bg: rgba(255,193,7,0.1);
    --step-icon-completed-bg: rgba(40,167,69,0.15);
}

/* Ensure transitions work smoothly */
.app-sidebar,
.app-header,
.main-content {
    transition: all 0.3s ease-in-out !important;
}

/* Fix breadcrumb text color to follow theme */
.breadcrumb .breadcrumb-item.active {
    color: var(--bs-secondary-color) !important;
}

/* ============================================================
   DARK MODE - Comprehensive fixes
   Targets [data-theme-mode="dark"] set by YNEX template
   ============================================================ */

/* --- Base containers --- */
[data-theme-mode="dark"] .modal-content,
[data-theme-mode="dark"] .offcanvas-body,
[data-theme-mode="dark"] .offcanvas-header {
    background-color: var(--custom-white, #1a1e2e) !important;
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .modal-header,
[data-theme-mode="dark"] .modal-footer {
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .modal-title,
[data-theme-mode="dark"] .offcanvas-title {
    color: var(--default-text-color, #d0d0d0) !important;
}

/* --- Cards --- */
[data-theme-mode="dark"] .card {
    background-color: var(--custom-white, #1a1e2e) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .card-header {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .card-body {
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .card-body p,
[data-theme-mode="dark"] .card-body .fw-semibold,
[data-theme-mode="dark"] .card-body h6,
[data-theme-mode="dark"] .card-body strong,
[data-theme-mode="dark"] .card-title {
    color: var(--default-text-color, #d0d0d0) !important;
}

/* --- Form controls --- */
[data-theme-mode="dark"] .form-control,
[data-theme-mode="dark"] .form-select {
    background-color: var(--custom-white, #1a1e2e) !important;
    color: var(--default-text-color, #d0d0d0) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}

[data-theme-mode="dark"] .form-control::placeholder {
    color: rgba(255, 255, 255, 0.35) !important;
}

[data-theme-mode="dark"] .form-control:focus,
[data-theme-mode="dark"] .form-select:focus {
    background-color: var(--custom-white, #1a1e2e) !important;
    color: var(--default-text-color, #d0d0d0) !important;
    border-color: var(--primary-color, #667eea) !important;
    box-shadow: 0 0 0 0.25rem rgba(102, 126, 234, 0.25) !important;
}

[data-theme-mode="dark"] .form-label {
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .form-check-label {
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .input-group-text {
    background-color: rgba(255, 255, 255, 0.08) !important;
    color: var(--default-text-color, #d0d0d0) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}

/* --- Tabs --- */
[data-theme-mode="dark"] .nav-tabs .nav-link {
    color: rgba(255, 255, 255, 0.6) !important;
}

[data-theme-mode="dark"] .nav-tabs .nav-link:hover {
    color: var(--default-text-color, #d0d0d0) !important;
    border-bottom-color: rgba(255, 255, 255, 0.3) !important;
    background-color: transparent !important;
}

[data-theme-mode="dark"] .nav-tabs .nav-link.active {
    background-color: var(--custom-white, #1a1e2e) !important;
    color: var(--primary-color, #667eea) !important;
    border-color: rgba(255, 255, 255, 0.1) rgba(255, 255, 255, 0.1) var(--custom-white, #1a1e2e) !important;
    border-bottom-color: var(--primary-color, #667eea) !important;
}

[data-theme-mode="dark"] .tab-content {
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .tab-navigation {
    background: var(--custom-white, #1a1e2e) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

/* --- Background overrides --- */
[data-theme-mode="dark"] .bg-light {
    background-color: rgba(255, 255, 255, 0.08) !important;
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .bg-white {
    background-color: var(--custom-white, #1a1e2e) !important;
}

/* --- Tables --- */
[data-theme-mode="dark"] .table {
    color: var(--default-text-color, #d0d0d0) !important;
    --bs-table-bg: transparent !important;
}

[data-theme-mode="dark"] .table-light th,
[data-theme-mode="dark"] .table-light td {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .table-hover tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .table td,
[data-theme-mode="dark"] .table th {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme-mode="dark"] .table-active,
[data-theme-mode="dark"] .table-active td,
[data-theme-mode="dark"] .table-active th {
    --bs-table-active-bg: rgba(255, 255, 255, 0.08);
    --bs-table-active-color: var(--default-text-color, #d0d0d0);
    background-color: rgba(255, 255, 255, 0.08) !important;
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .table-secondary,
[data-theme-mode="dark"] .table-secondary td,
[data-theme-mode="dark"] .table-secondary th {
    --bs-table-bg: rgba(255, 255, 255, 0.03);
    --bs-table-color: var(--default-text-color, #d0d0d0);
    background-color: rgba(255, 255, 255, 0.03) !important;
    color: var(--default-text-color, #d0d0d0) !important;
}

/* --- Text colors --- */
[data-theme-mode="dark"] .text-dark {
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] h1, [data-theme-mode="dark"] h2,
[data-theme-mode="dark"] h3, [data-theme-mode="dark"] h4,
[data-theme-mode="dark"] h5, [data-theme-mode="dark"] h6 {
    color: var(--default-text-color, #d0d0d0);
}

[data-theme-mode="dark"] p {
    color: var(--default-text-color, #d0d0d0);
}

[data-theme-mode="dark"] label {
    color: var(--default-text-color, #d0d0d0);
}

[data-theme-mode="dark"] .text-muted {
    color: rgba(255, 255, 255, 0.5) !important;
}

/* --- List groups --- */
[data-theme-mode="dark"] .list-group-item {
    background-color: var(--custom-white, #1a1e2e) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .list-group-item:hover {
    background-color: rgba(255, 255, 255, 0.08) !important;
}

/* --- Offcanvas specific (Historico, etc.) --- */
[data-theme-mode="dark"] .offcanvas-historico .offcanvas-header {
    background: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme-mode="dark"] .offcanvas-historico .offcanvas-body {
    background: var(--custom-white, #1a1e2e) !important;
}

/* --- Timeline (Historico de Atendimento) --- */
[data-theme-mode="dark"] .fluxograma-container,
[data-theme-mode="dark"] .timeline-container {
    background: var(--custom-white, #1a1e2e) !important;
}

[data-theme-mode="dark"] .timeline-header {
    background: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme-mode="dark"] .timeline::before {
    background: rgba(255, 255, 255, 0.15) !important;
}

[data-theme-mode="dark"] .timeline-content {
    background: var(--custom-white, #1a1e2e) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .timeline-content h6 {
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .timeline-content:hover {
    border-color: rgba(255, 255, 255, 0.2) !important;
}

[data-theme-mode="dark"] .fluxo-step.completed {
    background: rgba(40, 167, 69, 0.15) !important;
}

[data-theme-mode="dark"] .fluxo-step.current {
    background: rgba(255, 193, 7, 0.15) !important;
}

[data-theme-mode="dark"] .fluxo-step.pending {
    background: rgba(255, 255, 255, 0.05) !important;
    border-left-color: rgba(255, 255, 255, 0.15) !important;
}

[data-theme-mode="dark"] .fluxo-content h6 {
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .fluxo-arrow {
    color: rgba(255, 255, 255, 0.3) !important;
}

/* --- Alerts in dark mode --- */
[data-theme-mode="dark"] .alert {
    color: var(--default-text-color, #d0d0d0);
}

/* --- Borders --- */
[data-theme-mode="dark"] .border,
[data-theme-mode="dark"] .border-top,
[data-theme-mode="dark"] .border-bottom,
[data-theme-mode="dark"] .border-start,
[data-theme-mode="dark"] .border-end {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

/* --- Accordion --- */
[data-theme-mode="dark"] .accordion-item {
    background-color: var(--custom-white, #1a1e2e) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme-mode="dark"] .accordion-button {
    background-color: var(--custom-white, #1a1e2e) !important;
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .accordion-button:not(.collapsed) {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: var(--primary-color, #667eea) !important;
}

/* --- Dropdown menus --- */
[data-theme-mode="dark"] .dropdown-menu {
    background-color: var(--custom-white, #1a1e2e) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme-mode="dark"] .dropdown-item {
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .dropdown-item:hover,
[data-theme-mode="dark"] .dropdown-item:focus {
    background-color: rgba(255, 255, 255, 0.08) !important;
}

/* --- TomSelect (autocomplete CID, etc.) --- */
[data-theme-mode="dark"] .ts-control {
    background: var(--custom-white, #1a1e2e) !important;
    color: var(--default-text-color, #d0d0d0) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}

[data-theme-mode="dark"] .ts-control .item {
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .ts-dropdown {
    background: var(--custom-white, #1a1e2e) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: var(--default-text-color, #d0d0d0) !important;
}

[data-theme-mode="dark"] .ts-dropdown .option {
    color: var(--default-text-color, #d0d0d0) !important;
    border-color: rgba(255, 255, 255, 0.05) !important;
}

[data-theme-mode="dark"] .ts-dropdown .option:hover {
    background-color: rgba(255, 255, 255, 0.08) !important;
    color: var(--default-text-color, #d0d0d0) !important;
}

/* --- Page header --- */
[data-theme-mode="dark"] .page-header-breadcrumb h1,
[data-theme-mode="dark"] .page-title {
    color: var(--default-text-color, #d0d0d0) !important;
}

/* --- Popover/Tooltip --- */
[data-theme-mode="dark"] .popover {
    background-color: var(--custom-white, #1a1e2e) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme-mode="dark"] .popover-body {
    color: var(--default-text-color, #d0d0d0) !important;
}

/* --- Internacao specific --- */
[data-theme-mode="dark"] .Glasgow-point {
    color: var(--default-text-color, #d0d0d0) !important;
}

/* --- Chat (Triagem IA) --- */
[data-theme-mode="dark"] .chat-message {
    color: var(--default-text-color, #d0d0d0) !important;
}

/* --- Miscellaneous elements with inline backgrounds --- */
[data-theme-mode="dark"] .status-container,
[data-theme-mode="dark"] .info-section,
[data-theme-mode="dark"] .detail-card {
    background-color: var(--custom-white, #1a1e2e) !important;
    color: var(--default-text-color, #d0d0d0) !important;
}

/* --- Close button for dark mode --- */
[data-theme-mode="dark"] .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%) !important;
}

/* --- Calendar (AgendaEspecialistas) --- */
[data-theme-mode="dark"] .calendar-grid { background-color: var(--default-border) !important; border-color: var(--default-border) !important; }
[data-theme-mode="dark"] .calendar-header { background-color: var(--default-background) !important; border-color: var(--default-border) !important; color: var(--default-text-color, #d0d0d0) !important; }
[data-theme-mode="dark"] .time-slot { background-color: var(--custom-white, #1a1e2e) !important; color: var(--text-muted-color) !important; }
[data-theme-mode="dark"] .calendar-cell { background-color: var(--custom-white, #1a1e2e) !important; }
[data-theme-mode="dark"] .calendar-cell:hover { background-color: rgba(255, 255, 255, 0.08) !important; }
[data-theme-mode="dark"] .add-agenda-cell { color: var(--text-muted-color) !important; }
[data-theme-mode="dark"] .agenda-item { box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important; }

/* --- Glasgow & Evolução modals --- */
[data-theme-mode="dark"] .glasgow-range-card,
[data-theme-mode="dark"] .evolucao-section,
[data-theme-mode="dark"] .pupil-section { background: var(--custom-white, #1a1e2e) !important; border-color: rgba(255, 255, 255, 0.1) !important; }
[data-theme-mode="dark"] .glasgow-range-header,
[data-theme-mode="dark"] .evolucao-section-header { background: var(--default-background) !important; border-color: rgba(255, 255, 255, 0.1) !important; }
[data-theme-mode="dark"] .modal-glasgow-modern .modal-content,
[data-theme-mode="dark"] .modal-evolucao-moderna .modal-content { background: var(--custom-white, #1a1e2e) !important; }
[data-theme-mode="dark"] .modal-glasgow-modern .modal-body,
[data-theme-mode="dark"] .modal-evolucao-moderna .modal-body { background: var(--custom-white, #1a1e2e) !important; }
