/* ==========================================================================
   Tema Escuro - Ativado via data-theme="dark"
   ========================================================================== */

[data-theme="dark"] {
    /* Cores de fundo */
    --app-bg: #0f172a;
    --app-surface: #1e293b;
    --app-surface-secondary: #334155;
    --app-border: #475569;
    --app-border-light: #334155;

    /* Cores de texto */
    --app-text-primary: #f1f5f9;
    --app-text-secondary: #cbd5e1;
    --app-text-muted: #94a3b8;

    /* Cores principais (base azul - mais vibrante no escuro) */
    --app-primary: #3b82f6;
    --app-primary-hover: #2563eb;
    --app-primary-light: rgba(59, 130, 246, 0.2);
    --app-primary-dark: #93c5fd;

    /* Cores de status */
    --app-success: #22c55e;
    --app-success-light: rgba(34, 197, 94, 0.2);
    --app-warning: #facc15;
    --app-warning-light: rgba(250, 204, 21, 0.2);
    --app-danger: #ef4444;
    --app-danger-light: rgba(239, 68, 68, 0.2);
    --app-info: #06b6d4;
    --app-info-light: rgba(6, 182, 212, 0.2);

    /* Sidebar */
    --app-sidebar-bg: linear-gradient(180deg, #1e3a8a 0%, #1e40af 100%);
    --app-sidebar-text: #ffffff;
    --app-sidebar-text-muted: rgba(255, 255, 255, 0.7);
    --app-sidebar-hover: rgba(255, 255, 255, 0.1);
    --app-sidebar-active: rgba(255, 255, 255, 0.2);

    /* Navbar/Top row */
    --app-navbar-bg: #1e293b;
    --app-navbar-border: #334155;
    --app-navbar-text: #f1f5f9;

    /* Inputs */
    --app-input-bg: #334155;
    --app-input-border: #475569;
    --app-input-focus-border: #3b82f6;
    --app-input-placeholder: #64748b;

    /* Stat boxes */
    --app-stat-primary-bg: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    --app-stat-success-bg: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
    --app-stat-warning-bg: linear-gradient(135deg, #eab308 0%, #ca8a04 100%);
    --app-stat-danger-bg: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
}

/* Body */
[data-theme="dark"] body {
    background-color: var(--app-bg);
    color: var(--app-text-primary);
}

/* Cards */
[data-theme="dark"] .card {
    background-color: var(--app-surface);
    border-color: var(--app-border-light);
    color: var(--app-text-primary);
}

[data-theme="dark"] .card-header {
    background-color: var(--app-surface-secondary);
    border-bottom-color: var(--app-border-light);
    color: var(--app-text-primary);
}

/* Textos */
[data-theme="dark"] .text-muted {
    color: var(--app-text-muted) !important;
}

/* Tables */
[data-theme="dark"] .table {
    color: var(--app-text-primary);
    --bs-table-bg: var(--app-surface);
    --bs-table-striped-bg: var(--app-surface-secondary);
    --bs-table-hover-bg: var(--app-primary-light);
}

[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: var(--app-surface-secondary);
    color: var(--app-text-primary);
}

[data-theme="dark"] .table-hover > tbody > tr:hover > * {
    background-color: var(--app-primary-light);
}

[data-theme="dark"] .table > thead {
    border-bottom-color: var(--app-border);
}

/* Header da tabela - .table-light no tema escuro */
[data-theme="dark"] .table-light {
    --bs-table-bg: #3c4d5d !important;
    --bs-table-color: #f1f5f9 !important;
    --bs-table-border-color: #475569 !important;
}

[data-theme="dark"] .table-light th,
[data-theme="dark"] .table-light td {
    background-color: #3c4d5d !important;
    color: #f1f5f9 !important;
}

[data-theme="dark"] .table > thead th,
[data-theme="dark"] .table thead th {
    background-color: #3c4d5d;
    color: #f1f5f9;
    border-bottom-color: #475569;
}

[data-theme="dark"] thead.table-light th {
    background-color: #3c4d5d !important;
    color: #f1f5f9 !important;
}

/* Inputs */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
    background-color: var(--app-input-bg);
    border-color: var(--app-input-border);
    color: var(--app-text-primary);
}

[data-theme="dark"] .form-control::placeholder {
    color: var(--app-input-placeholder);
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
    border-color: var(--app-input-focus-border);
    background-color: var(--app-input-bg);
    color: var(--app-text-primary);
}

[data-theme="dark"] .form-control:disabled,
[data-theme="dark"] .form-select:disabled {
    background-color: var(--app-surface);
    opacity: 0.6;
}

/* Input groups */
[data-theme="dark"] .input-group-text {
    background-color: var(--app-surface-secondary);
    border-color: var(--app-input-border);
    color: var(--app-text-secondary);
}

/* Modais */
[data-theme="dark"] .modal-content {
    background-color: var(--app-surface);
    color: var(--app-text-primary);
}

[data-theme="dark"] .modal-header {
    background-color: var(--app-surface-secondary);
    border-bottom-color: var(--app-border-light);
}

[data-theme="dark"] .modal-footer {
    background-color: var(--app-surface-secondary);
    border-top-color: var(--app-border-light);
}

[data-theme="dark"] .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Dropdowns */
[data-theme="dark"] .dropdown-menu {
    background-color: var(--app-surface);
    border-color: var(--app-border);
}

[data-theme="dark"] .dropdown-item {
    color: var(--app-text-primary);
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
    background-color: var(--app-primary-light);
    color: var(--app-primary-dark);
}

[data-theme="dark"] .dropdown-divider {
    border-color: var(--app-border);
}

/* Alerts */
[data-theme="dark"] .alert-info {
    background-color: var(--app-info-light);
    border-color: var(--app-info);
    color: var(--app-info);
}

[data-theme="dark"] .alert-warning {
    background-color: var(--app-warning-light);
    border-color: var(--app-warning);
    color: var(--app-warning);
}

[data-theme="dark"] .alert-success {
    background-color: var(--app-success-light);
    border-color: var(--app-success);
    color: var(--app-success);
}

[data-theme="dark"] .alert-danger {
    background-color: var(--app-danger-light);
    border-color: var(--app-danger);
    color: var(--app-danger);
}

/* Botões - ajustes para tema escuro */
[data-theme="dark"] .btn-outline-secondary {
    color: var(--app-text-secondary);
    border-color: var(--app-border);
}

[data-theme="dark"] .btn-outline-secondary:hover {
    background-color: var(--app-surface-secondary);
    color: var(--app-text-primary);
}

[data-theme="dark"] .btn-light {
    background-color: var(--app-surface-secondary);
    border-color: var(--app-border);
    color: var(--app-text-primary);
}

[data-theme="dark"] .btn-light:hover {
    background-color: var(--app-border);
}

/* List groups */
[data-theme="dark"] .list-group-item {
    background-color: var(--app-surface);
    border-color: var(--app-border-light);
    color: var(--app-text-primary);
}

[data-theme="dark"] .list-group-item:hover {
    background-color: var(--app-surface-secondary);
}

[data-theme="dark"] .list-group-item.active {
    background-color: var(--app-primary);
    border-color: var(--app-primary);
}

/* Badges no tema escuro */
[data-theme="dark"] .badge.bg-light {
    background-color: var(--app-surface-secondary) !important;
    color: var(--app-text-primary);
}

/* Borders */
[data-theme="dark"] .border {
    border-color: var(--app-border) !important;
}

[data-theme="dark"] .border-top,
[data-theme="dark"] .border-bottom,
[data-theme="dark"] .border-start,
[data-theme="dark"] .border-end {
    border-color: var(--app-border) !important;
}

/* Backgrounds */
[data-theme="dark"] .bg-light {
    background-color: var(--app-surface-secondary) !important;
}

[data-theme="dark"] .bg-white {
    background-color: var(--app-surface) !important;
}

[data-theme="dark"] .bg-body-tertiary {
    background-color: var(--app-bg) !important;
}

/* Scrollbars */
[data-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--app-surface);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: var(--app-border);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: var(--app-text-muted);
}

/* Quill editor no tema escuro */
[data-theme="dark"] .ql-toolbar {
    background-color: var(--app-surface-secondary);
    border-color: var(--app-border) !important;
}

[data-theme="dark"] .ql-container {
    background-color: var(--app-surface);
    border-color: var(--app-border) !important;
}

[data-theme="dark"] .ql-editor {
    color: var(--app-text-primary);
}

[data-theme="dark"] .ql-stroke {
    stroke: var(--app-text-secondary) !important;
}

[data-theme="dark"] .ql-fill {
    fill: var(--app-text-secondary) !important;
}

[data-theme="dark"] .ql-picker-label {
    color: var(--app-text-secondary) !important;
}

[data-theme="dark"] .ql-picker-options {
    background-color: var(--app-surface) !important;
    border-color: var(--app-border) !important;
}

/* ==========================================================================
   Links - Cor vibrante para bom contraste
   ========================================================================== */

[data-theme="dark"] a {
    color: #60a5fa; /* Azul mais claro e vibrante */
}

[data-theme="dark"] a:hover {
    color: #93c5fd; /* Ainda mais claro no hover */
}

/* Links em tabelas - IMPORTANTE para visibilidade */
[data-theme="dark"] .table a,
[data-theme="dark"] table a,
[data-theme="dark"] td a,
[data-theme="dark"] .list-group-item a {
    color: #60a5fa !important;
}

[data-theme="dark"] .table a:hover,
[data-theme="dark"] table a:hover,
[data-theme="dark"] td a:hover {
    color: #93c5fd !important;
}

/* Texto em células de tabela */
[data-theme="dark"] .table td,
[data-theme="dark"] .table th,
[data-theme="dark"] table td,
[data-theme="dark"] table th {
    color: var(--app-text-primary) !important;
}

/* ==========================================================================
   Layout App Wrapper
   ========================================================================== */

[data-theme="dark"] .app-wrapper {
    background-color: var(--app-bg);
}

[data-theme="dark"] .app-header {
    background-color: var(--app-navbar-bg) !important;
    border-bottom-color: var(--app-border);
}

[data-theme="dark"] .app-header .nav-link {
    color: var(--app-text-primary) !important;
}

[data-theme="dark"] .app-header .nav-link:hover {
    color: #60a5fa !important;
}

[data-theme="dark"] .app-main {
    background-color: var(--app-bg);
}

[data-theme="dark"] .app-footer {
    background-color: var(--app-surface);
    border-top-color: var(--app-border);
    color: var(--app-text-muted);
}

/* ==========================================================================
   Text colors override
   ========================================================================== */

[data-theme="dark"] .text-dark {
    color: var(--app-text-primary) !important;
}

[data-theme="dark"] .text-secondary {
    color: var(--app-text-secondary) !important;
}

[data-theme="dark"] .text-body {
    color: var(--app-text-primary) !important;
}

/* Small text */
[data-theme="dark"] small,
[data-theme="dark"] .small {
    color: var(--app-text-secondary);
}

/* ==========================================================================
   Container fluid e content
   ========================================================================== */

[data-theme="dark"] .container-fluid {
    color: var(--app-text-primary);
}
