/* ===== DARK THEME ===== */
[data-theme="dark"] {
    /* Dark Theme Colors */
    --bg-primary: #1C1C1E;
    --bg-secondary: #2C2C2E;
    --bg-tertiary: #3A3A3C;
    --text-primary: #FFFFFF;
    --text-secondary: #AEAEB2;
    --text-muted: #8E8E93;
    --border: #38383A;
    --border-light: #48484A;
    --shadow: rgba(0, 0, 0, 0.3);
    --shadow-hover: rgba(0, 0, 0, 0.4);
}

/* Dark theme specific adjustments */
[data-theme="dark"] .header {
    background: var(--bg-primary);
    border-bottom-color: var(--border);
}

[data-theme="dark"] .timer-card,
[data-theme="dark"] .form-card,
[data-theme="dark"] .table-card,
[data-theme="dark"] .stat-card {
    background: var(--bg-primary);
    border-color: var(--border);
    box-shadow: 0 2px 8px var(--shadow);
}

[data-theme="dark"] .form-header,
[data-theme="dark"] .table-header,
[data-theme="dark"] .table-footer,
[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer {
    background: var(--bg-secondary);
    border-color: var(--border);
}

[data-theme="dark"] .form-group input,
[data-theme="dark"] .form-group select,
[data-theme="dark"] .form-group textarea,
[data-theme="dark"] .search-box input,
[data-theme="dark"] .filter-box select {
    background: var(--bg-secondary);
    border-color: var(--border);
    color: var(--text-primary);
}

[data-theme="dark"] .form-group input:focus,
[data-theme="dark"] .form-group select:focus,
[data-theme="dark"] .form-group textarea:focus,
[data-theme="dark"] .search-box input:focus,
[data-theme="dark"] .filter-box select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(88, 86, 214, 0.2);
}

[data-theme="dark"] .btn-secondary {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border-color: var(--border);
}

[data-theme="dark"] .btn-secondary:hover {
    background: var(--bg-tertiary);
    border-color: var(--text-secondary);
}

[data-theme="dark"] .btn-icon {
    color: var(--text-secondary);
}

[data-theme="dark"] .btn-icon:hover {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border-color: var(--border);
}

[data-theme="dark"] .data-table th {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

[data-theme="dark"] .data-table tbody tr:hover {
    background: var(--bg-secondary);
}

[data-theme="dark"] .action-btn:hover {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

[data-theme="dark"] .pagination button {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border-color: var(--border);
}

[data-theme="dark"] .pagination button:hover {
    background: var(--primary);
    color: white;
    border-color: var(--primary);
}

[data-theme="dark"] .modal-content {
    background: var(--bg-primary);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .modal-close:hover {
    background: var(--bg-tertiary);
    color: var(--text-primary);
}

[data-theme="dark"] .toast {
    background: var(--bg-primary);
    border-color: var(--border);
    box-shadow: 0 4px 16px var(--shadow);
}

[data-theme="dark"] .toast-close:hover {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

[data-theme="dark"] .loading-overlay {
    background: rgba(28, 28, 30, 0.9);
}

/* Theme transition animations */
* {
    transition: background-color var(--transition-base), 
                border-color var(--transition-base), 
                color var(--transition-base),
                box-shadow var(--transition-base);
}

/* Theme toggle specific styles for dark mode */
[data-theme="dark"] .theme-label {
    background: var(--bg-secondary);
    border-color: var(--border);
}

[data-theme="dark"] .theme-label::before {
    background: var(--primary);
}

[data-theme="dark"] .theme-label i {
    color: var(--text-muted);
}

/* Scrollbar styling for dark theme */
[data-theme="dark"] ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

[data-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: var(--bg-tertiary);
    border-radius: 4px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: var(--text-muted);
}

/* Light theme scrollbar */
[data-theme="light"] ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

[data-theme="light"] ::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

[data-theme="light"] ::-webkit-scrollbar-thumb {
    background: var(--border);
    border-radius: 4px;
}

[data-theme="light"] ::-webkit-scrollbar-thumb:hover {
    background: var(--text-muted);
}

/* Selection colors for both themes */
[data-theme="light"] ::selection {
    background: rgba(88, 86, 214, 0.2);
    color: var(--text-primary);
}

[data-theme="dark"] ::selection {
    background: rgba(88, 86, 214, 0.4);
    color: var(--text-primary);
}

/* Focus indicators for accessibility */
[data-theme="dark"] *:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

[data-theme="light"] *:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    :root {
        --border: #000000;
        --text-secondary: #000000;
    }
    
    [data-theme="dark"] {
        --border: #FFFFFF;
        --text-secondary: #FFFFFF;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Print styles for dark theme */
@media print {
    [data-theme="dark"] {
        --bg-primary: #FFFFFF;
        --bg-secondary: #F8F9FA;
        --text-primary: #000000;
        --text-secondary: #333333;
        --border: #CCCCCC;
    }
}

