/* Tema Escuro */
:root[data-bs-theme="dark"] {
    --bs-body-bg: #121212;
    --bs-body-color: #e0e0e0;
    --bs-border-color: #333333;
    --bs-primary: #3498db;
    --bs-secondary: #6c757d;
    --bs-success: #2ecc71;
    --bs-danger: #e74c3c;
    --bs-warning: #f39c12;
    --bs-info: #17a2b8;
    --bs-light: #2d3748;
    --bs-dark: #1a202c;
}

[data-bs-theme="dark"] body {
    background: linear-gradient(135deg, #121212 0%, #1a1a1a 100%);
    color: #e0e0e0;
}

[data-bs-theme="dark"] .sidebar {
    background: linear-gradient(180deg, #1a1a1a 0%, #121212 100%);
    border-right: 1px solid #333;
    box-shadow: 2px 0 15px rgba(0,0,0,0.3);
}

[data-bs-theme="dark"] .navbar {
    background: linear-gradient(135deg, #1a1a1a 0%, #121212 100%) !important;
    border-bottom: 1px solid #333;
}

[data-bs-theme="dark"] .card {
    background: linear-gradient(135deg, #1a1a1a 0%, #121212 100%);
    border: 1px solid #333;
    box-shadow: 0 4px 6px rgba(0,0,0,0.3);
}

[data-bs-theme="dark"] .table {
    --bs-table-bg: transparent;
    --bs-table-striped-bg: rgba(255,255,255,0.05);
    --bs-table-hover-bg: rgba(255,255,255,0.1);
    color: #e0e0e0;
    border-color: #333;
}

[data-bs-theme="dark"] .modal-content {
    background: linear-gradient(135deg, #1a1a1a 0%, #121212 100%);
    border: 1px solid #333;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}

[data-bs-theme="dark"] .dropdown-menu {
    background: linear-gradient(135deg, #1a1a1a 0%, #121212 100%);
    border: 1px solid #333;
    box-shadow: 0 5px 15px rgba(0,0,0,0.5);
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
    background-color: #2d3748;
    border-color: #4a5568;
    color: #e0e0e0;
}

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
    background-color: #2d3748;
    border-color: #3498db;
    box-shadow: 0 0 0 0.25rem rgba(52, 152, 219, 0.25);
    color: #e0e0e0;
}

[data-bs-theme="dark"] .btn-outline-primary {
    border-color: #3498db;
    color: #3498db;
}

[data-bs-theme="dark"] .btn-outline-primary:hover {
    background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
    border-color: #3498db;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(52, 152, 219, 0.3);
}

[data-bs-theme="dark"] .btn-primary {
    background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
    border: none;
}

[data-bs-theme="dark"] .btn-primary:hover {
    background: linear-gradient(135deg, #2980b9 0%, #3498db 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(52, 152, 219, 0.4);
}

[data-bs-theme="dark"] .loading-overlay {
    background: rgba(26, 26, 26, 0.95);
}

[data-bs-theme="dark"] .toast {
    background: linear-gradient(135deg, #1a1a1a 0%, #121212 100%);
    border: 1px solid #333;
    color: #e0e0e0;
}

[data-bs-theme="dark"] .nav-link {
    color: #b0b0b0;
}

[data-bs-theme="dark"] .nav-link:hover {
    background: rgba(52, 152, 219, 0.1);
    color: #3498db;
}

[data-bs-theme="dark"] .nav-link.active {
    background: rgba(52, 152, 219, 0.2);
    color: #3498db;
    border-left-color: #3498db;
}

[data-bs-theme="dark"] .footer {
    background: linear-gradient(135deg, #1a1a1a 0%, #121212 100%);
    border-top: 1px solid #333;
}

[data-bs-theme="dark"] .card-header {
    background: linear-gradient(135deg, rgba(52, 152, 219, 0.1) 0%, rgba(52, 152, 219, 0.05) 100%);
    border-bottom: 1px solid #333;
}

[data-bs-theme="dark"] .alert {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
}

[data-bs-theme="dark"] .text-muted {
    color: #888 !important;
}

[data-bs-theme="dark"] .breadcrumb-item + .breadcrumb-item::before {
    color: #666;
}

[data-bs-theme="dark"] .badge {
    color: #ffffff;
}

[data-bs-theme="dark"] .list-group-item {
    background-color: rgba(255,255,255,0.05);
    border-color: #333;
    color: #e0e0e0;
}

[data-bs-theme="dark"] .list-group-item:hover {
    background-color: rgba(255,255,255,0.1);
}

[data-bs-theme="dark"] .page-link {
    background-color: rgba(255,255,255,0.05);
    border-color: #333;
    color: #e0e0e0;
}

[data-bs-theme="dark"] .page-link:hover {
    background-color: rgba(52, 152, 219, 0.2);
    border-color: #3498db;
    color: #3498db;
}

[data-bs-theme="dark"] .page-item.active .page-link {
    background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
    border-color: #3498db;
    color: #ffffff;
}

[data-bs-theme="dark"] .progress {
    background-color: rgba(255,255,255,0.1);
}

[data-bs-theme="dark"] .progress-bar {
    background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
}

[data-bs-theme="dark"] .form-check-input {
    background-color: #2d3748;
    border-color: #4a5568;
}

[data-bs-theme="dark"] .form-check-input:checked {
    background-color: #3498db;
    border-color: #3498db;
}

[data-bs-theme="dark"] ::-webkit-scrollbar {
    width: 10px;
}

[data-bs-theme="dark"] ::-webkit-scrollbar-track {
    background: #1a1a1a;
}

[data-bs-theme="dark"] ::-webkit-scrollbar-thumb {
    background: #333;
    border-radius: 5px;
}

[data-bs-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: #444;
}

[data-bs-theme="dark"] ::selection {
    background-color: rgba(52, 152, 219, 0.3);
    color: #ffffff;
}

[data-bs-theme="dark"] .modal-backdrop {
    background-color: rgba(0,0,0,0.7);
}

[data-bs-theme="dark"] .offcanvas {
    background: linear-gradient(135deg, #1a1a1a 0%, #121212 100%);
    border: 1px solid #333;
}

[data-bs-theme="dark"] .tooltip {
    --bs-tooltip-bg: #333;
    --bs-tooltip-color: #e0e0e0;
}

[data-bs-theme="dark"] .popover {
    background: linear-gradient(135deg, #1a1a1a 0%, #121212 100%);
    border: 1px solid #333;
    color: #e0e0e0;
}

[data-bs-theme="dark"] .popover-header {
    background: linear-gradient(135deg, rgba(52, 152, 219, 0.1) 0%, rgba(52, 152, 219, 0.05) 100%);
    border-bottom: 1px solid #333;
    color: #e0e0e0;
}

[data-bs-theme="dark"] code {
    background-color: rgba(255,255,255,0.05);
    color: #e83e8c;
}

[data-bs-theme="dark"] pre {
    background-color: rgba(255,255,255,0.05);
    border: 1px solid #333;
    color: #e0e0e0;
}

[data-bs-theme="dark"] blockquote {
    border-left: 4px solid #3498db;
    background-color: rgba(52, 152, 219, 0.05);
    color: #b0b0b0;
}

[data-bs-theme="dark"] .figure-caption {
    color: #888;
}

[data-bs-theme="dark"] .input-group-text {
    background-color: #2d3748;
    border-color: #4a5568;
    color: #e0e0e0;
}

[data-bs-theme="dark"] .input-group .form-control {
    border-right: none;
}

[data-bs-theme="dark"] .form-range::-webkit-slider-track {
    background-color: #2d3748;
}

[data-bs-theme="dark"] .form-range::-webkit-slider-thumb {
    background-color: #3498db;
}

[data-bs-theme="dark"] .form-range::-moz-range-track {
    background-color: #2d3748;
}

[data-bs-theme="dark"] .form-range::-moz-range-thumb {
    background-color: #3498db;
}

[data-bs-theme="dark"] .form-switch .form-check-input:checked {
    background-color: #3498db;
    border-color: #3498db;
}

[data-bs-theme="dark"] .form-select option {
    background-color: #1a1a1a;
    color: #e0e0e0;
}

[data-bs-theme="dark"] .form-select option:hover {
    background-color: #3498db;
}

[data-bs-theme="dark"] .was-validated .form-control:valid,
[data-bs-theme="dark"] .form-control.is-valid {
    border-color: #2ecc71;
    background-color: rgba(46, 204, 113, 0.05);
}

[data-bs-theme="dark"] .was-validated .form-control:invalid,
[data-bs-theme="dark"] .form-control.is-invalid {
    border-color: #e74c3c;
    background-color: rgba(231, 76, 60, 0.05);
}