/* Tema Escuro para o Calendário de Eventos */

/* Cores principais */
:root.dark-theme {
    --bg-color: #121212;
    --bg-secondary: #1e1e1e;
    --text-color: #e0e0e0;
    --text-muted: #aaaaaa;
    --border-color: #333333;
    --primary-color: #3788d8;
    --secondary-color: #2c3e50;
    --success-color: #2ecc71;
    --danger-color: #e74c3c;
    --warning-color: #f39c12;
    --info-color: #3498db;
    --light-color: #2c3e50;
    --dark-color: #f8f9fa;
}

/* Estilos gerais */
body.dark-theme {
    background-color: var(--bg-color);
    color: var(--text-color);
}

.dark-theme .card,
.dark-theme .modal-content,
.dark-theme .form-container,
.dark-theme .list-group-item,
.dark-theme .admin-dashboard,
.dark-theme .profile-container {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
}

.dark-theme .card-header,
.dark-theme .modal-header,
.dark-theme .modal-footer {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
}

/* Texto e links */
.dark-theme h1, .dark-theme h2, .dark-theme h3, 
.dark-theme h4, .dark-theme h5, .dark-theme h6 {
    color: var(--text-color);
}

.dark-theme .text-muted {
    color: var(--text-muted) !important;
}

.dark-theme a:not(.btn) {
    color: var(--primary-color);
}

.dark-theme a:not(.btn):hover {
    color: #5a9de9;
}

/* Formulários */
.dark-theme .form-control,
.dark-theme .form-select {
    background-color: #2a2a2a;
    border-color: var(--border-color);
    color: var(--text-color);
}

.dark-theme .form-control:focus,
.dark-theme .form-select:focus {
    background-color: #2a2a2a;
    color: var(--text-color);
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.25rem rgba(55, 136, 216, 0.25);
}

.dark-theme .input-group-text {
    background-color: #333333;
    border-color: var(--border-color);
    color: var(--text-color);
}

/* Tabelas */
.dark-theme .table {
    color: var(--text-color);
}

.dark-theme .table-striped > tbody > tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.05);
}

.dark-theme .table-hover > tbody > tr:hover {
    background-color: rgba(255, 255, 255, 0.075);
}

/* Navbar */
.dark-theme .navbar-dark {
    background-color: #1a1a1a !important;
}

.dark-theme .dropdown-menu {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
}

.dark-theme .dropdown-item {
    color: var(--text-color);
}

.dark-theme .dropdown-item:hover, 
.dark-theme .dropdown-item:focus {
    background-color: rgba(55, 136, 216, 0.15);
    color: var(--text-color);
}

.dark-theme .dropdown-divider {
    border-color: var(--border-color);
}

/* Botões */
.dark-theme .btn-outline-secondary {
    color: #adb5bd;
    border-color: #adb5bd;
}

.dark-theme .btn-outline-secondary:hover {
    background-color: #adb5bd;
    color: #212529;
}

/* Alertas */
.dark-theme .alert-info {
    background-color: rgba(52, 152, 219, 0.2);
    border-color: rgba(52, 152, 219, 0.3);
    color: #9ac9f5;
}

.dark-theme .alert-success {
    background-color: rgba(46, 204, 113, 0.2);
    border-color: rgba(46, 204, 113, 0.3);
    color: #7dcea0;
}

.dark-theme .alert-warning {
    background-color: rgba(243, 156, 18, 0.2);
    border-color: rgba(243, 156, 18, 0.3);
    color: #f5c879;
}

.dark-theme .alert-danger {
    background-color: rgba(231, 76, 60, 0.2);
    border-color: rgba(231, 76, 60, 0.3);
    color: #f1948a;
}

/* FullCalendar */
.dark-theme .fc-theme-standard .fc-scrollgrid,
.dark-theme .fc-theme-standard td,
.dark-theme .fc-theme-standard th {
    border-color: var(--border-color);
}

.dark-theme .fc-theme-standard .fc-scrollgrid {
    border-color: var(--border-color);
}

.dark-theme .fc-col-header-cell-cushion,
.dark-theme .fc-daygrid-day-number {
    color: var(--text-color);
}

.dark-theme .fc-day-today {
    background-color: rgba(55, 136, 216, 0.15) !important;
}

.dark-theme .fc-button-primary {
    background-color: #2c3e50;
    border-color: #2c3e50;
}

.dark-theme .fc-button-primary:hover {
    background-color: #1a252f;
    border-color: #1a252f;
}

.dark-theme .fc-button-primary:disabled {
    background-color: #2c3e50;
    border-color: #2c3e50;
}

.dark-theme .fc-button-primary:not(:disabled):active,
.dark-theme .fc-button-primary:not(:disabled).fc-button-active {
    background-color: #1a252f;
    border-color: #151e27;
}

/* Modais */
.dark-theme .modal-content {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
}

.dark-theme .modal-header,
.dark-theme .modal-footer {
    border-color: var(--border-color);
}

.dark-theme .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Alternador de tema */
.theme-toggle {
    cursor: pointer;
    padding: 0.5rem;
    font-size: 1.25rem;
    color: rgba(255, 255, 255, 0.85);
}

.theme-toggle:hover {
    color: #ffffff;
}