/* ===== Dark Theme — Modern Minimal ===== */

[data-theme="dark"] {
    scrollbar-color: rgba(255, 255, 255, 0.12) transparent;
}

[data-theme="dark"] ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 999px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.2);
}

[data-theme="dark"] body {
    background: var(--bg);
    background-image:
        radial-gradient(ellipse 80% 50% at 50% -20%, rgba(129, 140, 248, 0.08), transparent),
        radial-gradient(ellipse 60% 40% at 100% 100%, rgba(45, 212, 191, 0.04), transparent);
}

/* — Layout — */
[data-theme="dark"] .sidebar {
    background: rgba(17, 17, 19, 0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-left-color: var(--border);
    box-shadow: -4px 0 32px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .sidebar-footer {
    background: rgba(24, 24, 27, 0.6);
    border-top-color: var(--border);
}

[data-theme="dark"] .topbar {
    background: rgba(17, 17, 19, 0.88);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom-color: var(--border);
}

[data-theme="dark"] .sidebar-overlay {
    background: rgba(0, 0, 0, 0.65);
}

/* — Cards & surfaces — */
[data-theme="dark"] .card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .user-card {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow-glow);
}

[data-theme="dark"] .stat-card:hover {
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: var(--shadow-md);
}

[data-theme="dark"] .card-header h2,
[data-theme="dark"] .card h2 {
    color: var(--text);
}

/* — Forms — */
[data-theme="dark"] .form-input,
[data-theme="dark"] .form-select,
[data-theme="dark"] .form-textarea,
[data-theme="dark"] .search-input-large,
[data-theme="dark"] .topbar-search input {
    background: var(--surface-2);
    border-color: var(--border);
    color: var(--text);
}

[data-theme="dark"] .form-input::placeholder,
[data-theme="dark"] .topbar-search input::placeholder {
    color: var(--text-tertiary);
}

[data-theme="dark"] .form-input:hover,
[data-theme="dark"] .form-select:hover,
[data-theme="dark"] .form-textarea:hover,
[data-theme="dark"] .topbar-search input:hover {
    border-color: rgba(255, 255, 255, 0.12);
}

/* — Buttons — */
[data-theme="dark"] .btn-secondary,
[data-theme="dark"] .btn-ghost {
    background: var(--surface-2);
    border-color: var(--border);
    color: var(--text-secondary);
}

[data-theme="dark"] .btn-secondary:hover,
[data-theme="dark"] .btn-ghost:hover {
    background: var(--surface-3);
    color: var(--text);
    border-color: rgba(255, 255, 255, 0.12);
}

[data-theme="dark"] .btn-primary {
    box-shadow: 0 1px 8px rgba(var(--primary-rgb), 0.3);
}

[data-theme="dark"] .btn-primary:hover {
    box-shadow: 0 2px 12px rgba(var(--primary-rgb), 0.4);
}

/* — Navigation — */
[data-theme="dark"] .nav-item:hover {
    background: rgba(255, 255, 255, 0.04);
}

[data-theme="dark"] .nav-item.active {
    box-shadow: 0 2px 12px rgba(var(--primary-rgb), 0.25);
}

[data-theme="dark"] .nav-item-postponed {
    color: #c084fc;
    background: rgba(192, 132, 252, 0.1);
}

[data-theme="dark"] .nav-item-postponed:hover {
    background: rgba(192, 132, 252, 0.15);
}

[data-theme="dark"] .nav-badge {
    background: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .nav-item.active .nav-badge {
    background: rgba(255, 255, 255, 0.18);
    color: var(--on-accent);
}

[data-theme="dark"] .nav-badge-warning {
    background: #a855f7 !important;
}

[data-theme="dark"] .bottom-nav {
    background: rgba(17, 17, 19, 0.94);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-top-color: var(--border);
}

/* — Modals — */
[data-theme="dark"] .modal {
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(4px);
}

[data-theme="dark"] .modal-header {
    border-bottom-color: var(--border);
}

[data-theme="dark"] .modal-footer {
    border-top-color: var(--border);
    background: var(--surface-2);
}

[data-theme="dark"] .modal-subtitle kbd {
    background: var(--surface-3);
    border-color: var(--border);
    color: var(--text-secondary);
}

/* — Calendar & events — */
[data-theme="dark"] .month-day {
    background: var(--surface);
    border-color: var(--border);
}

[data-theme="dark"] .month-day.other-month {
    background: var(--surface-2);
    opacity: 0.5;
}

[data-theme="dark"] .month-day.today {
    background: var(--primary-soft);
    border-color: rgba(var(--primary-rgb), 0.3);
}

[data-theme="dark"] .month-day.today .day-number {
    background: var(--accent);
    color: var(--on-accent);
}

[data-theme="dark"] .schedule-item,
[data-theme="dark"] .event-row,
[data-theme="dark"] .timeline-card,
[data-theme="dark"] .weekly-event {
    background: var(--surface);
    border-color: var(--border);
}

[data-theme="dark"] .schedule-item:hover,
[data-theme="dark"] .event-row:hover {
    background: var(--surface-2);
}

[data-theme="dark"] .chip {
    background: var(--surface-2);
    border-color: var(--border);
    color: var(--text-secondary);
}

[data-theme="dark"] .chip:hover,
[data-theme="dark"] .chip.active {
    background: var(--accent);
    color: var(--on-accent);
    border-color: var(--accent);
}

/* — Tables — */
[data-theme="dark"] table th {
    background: var(--surface-2);
    color: var(--text-secondary);
    border-color: var(--border);
}

[data-theme="dark"] table td {
    border-color: var(--border);
}

[data-theme="dark"] table tr:hover td {
    background: rgba(255, 255, 255, 0.02);
}

/* — Empty & misc — */
[data-theme="dark"] .empty-state {
    color: var(--text-tertiary);
}

[data-theme="dark"] kbd,
[data-theme="dark"] .search-kbd {
    background: var(--surface-3);
    border-color: var(--border);
    color: var(--text-secondary);
}

[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .notif-dropdown {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow-md);
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .notif-item:hover {
    background: var(--surface-2);
}

/* — Auth pages — */
[data-theme="dark"] .auth-layout {
    background: var(--bg);
    background-image:
        radial-gradient(ellipse 70% 50% at 50% 0%, rgba(129, 140, 248, 0.1), transparent);
}

[data-theme="dark"] .auth-card {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow-glow);
}

/* — Theme toggle — */
[data-theme="dark"] .theme-toggle-btn {
    background: var(--surface-3);
    border-color: var(--border);
}

[data-theme="dark"] .theme-toggle-btn:hover {
    background: var(--accent-soft);
    border-color: rgba(var(--primary-rgb), 0.3);
    color: var(--accent);
}

/* — Schedule manager mode — */
[data-theme="dark"] .schedule-manager-mode {
    --accent: #2dd4bf;
    --accent-hover: #5eead4;
    --accent-soft: rgba(45, 212, 191, 0.1);
    --primary: #2dd4bf;
    --primary-rgb: 45, 212, 191;
    --primary-soft: rgba(45, 212, 191, 0.12);
    --focus-ring: rgba(45, 212, 191, 0.22);
}

[data-theme="dark"] .schedule-manager-mode .sidebar {
    background: rgba(9, 15, 14, 0.94);
}

[data-theme="dark"] .schedule-manager-mode .sm-dash-hero,
[data-theme="dark"] .schedule-manager-mode .sm-stat-ring-wrap,
[data-theme="dark"] .schedule-manager-mode .sm-widget,
[data-theme="dark"] .schedule-manager-mode .sm-insight-strip {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow-glow);
}

[data-theme="dark"] .schedule-manager-mode .sm-task-card {
    background: var(--surface-2);
    border-color: var(--border);
}

[data-theme="dark"] .schedule-manager-mode .sm-task-card:hover {
    border-color: rgba(45, 212, 191, 0.25);
    background: var(--surface-3);
}

[data-theme="dark"] .schedule-manager-mode .sm-modal-sheet {
    background: var(--surface);
    border-color: var(--border);
}

[data-theme="dark"] .schedule-manager-mode .sm-modal-handle {
    background: rgba(255, 255, 255, 0.15);
}

[data-theme="dark"] .schedule-manager-mode .sm-day-pill {
    background: var(--surface-3);
    border-color: var(--border);
    color: var(--text-secondary);
}

[data-theme="dark"] .schedule-manager-mode .sm-day-pill.active,
[data-theme="dark"] .schedule-manager-mode .sm-day-pill:has(input:checked) {
    background: var(--accent-soft);
    border-color: rgba(45, 212, 191, 0.35);
    color: var(--accent);
}

[data-theme="dark"] .schedule-manager-mode .sm-schedule-row {
    background: var(--surface-2);
    border-color: var(--border);
}

[data-theme="dark"] .schedule-manager-mode .sm-schedule-row:hover {
    background: var(--surface-3);
}

[data-theme="dark"] .sm-team-page {
    --sm-accent: #2dd4bf;
    --sm-accent-soft: rgba(45, 212, 191, 0.12);
    --sm-accent-dark: #5eead4;
}

[data-theme="dark"] .sm-team-hero,
[data-theme="dark"] .sm-team-chart-card,
[data-theme="dark"] .sm-team-manager-card,
[data-theme="dark"] .sm-team-stat {
    background: var(--surface);
    border-color: var(--border);
    box-shadow: var(--shadow-glow);
}

[data-theme="dark"] .sm-team-hero {
    background: linear-gradient(135deg, rgba(45, 212, 191, 0.08) 0%, var(--surface) 65%);
}

[data-theme="dark"] .sm-team-stat-accent {
    background: rgba(45, 212, 191, 0.1);
    border-color: rgba(45, 212, 191, 0.2);
}

[data-theme="dark"] .sm-team-bar-col.is-selected {
    background: rgba(45, 212, 191, 0.1);
}

[data-theme="dark"] .sm-team-mini-week {
    background: var(--surface-2);
}

[data-theme="dark"] .schedule-manager-mode .sm-hero,
[data-theme="dark"] .schedule-manager-mode .sm-hero-dash .sm-hero {
    background: linear-gradient(135deg, rgba(45, 212, 191, 0.08) 0%, var(--surface) 65%);
    border-color: var(--border);
    box-shadow: var(--shadow-glow);
}

[data-theme="dark"] .schedule-manager-mode .sm-my-tasks-hero {
    background: linear-gradient(135deg, rgba(45, 212, 191, 0.06) 0%, var(--surface) 70%);
}

[data-theme="dark"] .schedule-manager-mode .sm-task-card.status-done {
    background: rgba(74, 222, 128, 0.06);
    border-color: rgba(74, 222, 128, 0.25);
}

[data-theme="dark"] .schedule-manager-mode .btn-primary {
    box-shadow: 0 2px 12px rgba(45, 212, 191, 0.3);
}

/* — Telegram widget — */
[data-theme="dark"] .tg-connect-banner {
    background: var(--surface-2);
    border-color: var(--border);
}

[data-theme="dark"] .tg-status-pill.connected {
    background: var(--success-soft);
    color: var(--success);
}

/* — Team messages — */
[data-theme="dark"] .team-chat-layout {
    background: var(--bg);
}

[data-theme="dark"] .team-chat-sidebar,
[data-theme="dark"] .team-chat-main {
    background: var(--surface);
    border-color: var(--border);
}

[data-theme="dark"] .team-msg-bubble.mine {
    background: var(--accent);
    color: var(--on-accent);
}

[data-theme="dark"] .team-msg-bubble.theirs {
    background: var(--surface-2);
    border-color: var(--border);
}
