/* ============================================================
   ТЁМНАЯ ТЕМА
   ============================================================ */

body.dark { background: #1a1a1a; color: #e0e0e0; }

/* --- Шапка и сайдбар --- */
body.dark .header,
body.dark .sidebar { background: #2a2a2a; color: #e0e0e0; }
body.dark .header { box-shadow: 0 2px 4px rgba(0,0,0,0.3); }
body.dark .header nav a { color: #aaa; }
body.dark .header nav a:hover,
body.dark .header nav a.active { color: #66bb6a; }
body.dark .header-btn { color: #ccc; }
body.dark .header-btn:hover { background: #3a3a3a; }
body.dark .header-user { color: #888; }
body.dark .hamburger { color: #e0e0e0; }
body.dark .hamburger:hover { background: #3a3a3a; }
body.dark .sidebar-header { border-bottom-color: #3a3a3a; color: #aaa; }
body.dark .sidebar-link { color: #ccc; }
body.dark .sidebar-link:hover { background: #333; }
body.dark .sidebar-link.active { background: #1e3a1e; color: #81c784; }

/* --- Карточки --- */
body.dark .stat-card,
body.dark .chart-card,
body.dark .client-card,
body.dark .master-card,
body.dark .charts-grid .chart-card { background: #2a2a2a; box-shadow: 0 2px 8px rgba(0,0,0,0.3); }
body.dark .stat-card .label,
body.dark .client-info .label { color: #888; }
body.dark .stat-card .value { color: #66bb6a; }

/* --- Таблицы --- */
body.dark .container table,
body.dark .chart-card table,
body.dark .client-card table { background: #2a2a2a; color: #e0e0e0; }
body.dark .container table th,
body.dark .chart-card table th,
body.dark .client-card table th { background: #333; color: #bbb; }
body.dark .container table td,
body.dark .chart-card table td,
body.dark .client-card table td { border-top-color: #3a3a3a; }
body.dark .container table tr:hover,
body.dark .chart-card table tr:hover,
body.dark .client-card table tr:hover { background: #333; }

/* --- Общие блоки --- */
body.dark .empty, body.dark .empty-day { background: #2a2a2a; color: #888; }
body.dark .count { color: #888; }
body.dark .legend { color: #aaa; }
body.dark .charts-grid .chart-card h3 { color: #aaa; }
body.dark .master-desc { color: #888; }
body.dark .service-note-preview { color: #aaa; }
body.dark .cat-code { background: #444; color: #e0e0e0; }

/* --- Фильтры / поиск --- */
body.dark .filters,
body.dark .search { background: #2a2a2a; box-shadow: 0 2px 8px rgba(0,0,0,0.3); }
body.dark .filters input, body.dark .filters select,
body.dark .search input { background: #333; color: #e0e0e0; border-color: #444; }
body.dark .filters a, body.dark .search a { background: #444; color: #ccc; }

/* --- Модалки / календарь --- */
body.dark .modal,
body.dark #calendar { background: #2a2a2a; color: #e0e0e0; box-shadow: 0 2px 8px rgba(0,0,0,0.3); }
body.dark .modal-close { color: #888; }
body.dark .modal-close:hover { color: #fff; }

/* --- Записи / заметки --- */
body.dark .appointment-item { background: #333; color: #e0e0e0; }
body.dark .appointment-item.note { background: #3a1a3a; }
body.dark .bulk-actions { background: #333; }

/* --- Формы --- */
body.dark .edit-form input,
body.dark .edit-form select,
body.dark .edit-form textarea,
body.dark .wh-period input,
body.dark .bulk-item input { background: #333; color: #e0e0e0; border-color: #444; }

/* --- Клиенты --- */
body.dark .client-results { background: #2a2a2a; border-color: #444; }
body.dark .client-result-item { color: #e0e0e0; border-bottom-color: #3a3a3a; }
body.dark .client-result-item:hover { background: #333; }
body.dark #add-client-search,
body.dark #note-client-search { background: #333; color: #e0e0e0; border-color: #444; }

/* --- VK --- */
body.dark .vk-result { background: #1e3a1e; border-left-color: #4CAF50; }
body.dark .vk-result .vk-name { color: #81c784; }
body.dark .vk-result .vk-link { color: #ccc; }
body.dark .vk-result .vk-id { color: #999; }

/* --- Неоплаченные --- */
body.dark .unpaid-block { background: #3a2e1a; border-left-color: #ff9800; }
body.dark .unpaid-block h3 { color: #ffb74d; }
body.dark .unpaid-item { background: #2a2a2a; color: #e0e0e0; }
body.dark .unpaid-item .unpaid-info b { color: #e0e0e0; }

/* --- Логин --- */
body.dark .login-box { background: #2a2a2a; color: #e0e0e0; }
body.dark .login-box input { background: #333; color: #e0e0e0; border-color: #444; }

/* --- FullCalendar (сетка) --- */
body.dark .event-label {
    background: rgba(50, 50, 50, 0.95) !important;
    color: #fff !important;
}
body.dark .event-label .fc-event-title { color: #fff !important; }
body.dark .fc-daygrid-day:hover { background: #333; }
body.dark .fc-col-header-cell { background: #333; color: #bbb; }
body.dark .fc-daygrid-day-number { color: #e0e0e0; }
body.dark .fc-theme-standard td,
body.dark .fc-theme-standard th { border-color: #3a3a3a; }
body.dark .fc-theme-standard .fc-scrollgrid { border-color: #3a3a3a; }
body.dark .fc-button { background: #444 !important; border-color: #555 !important; }
body.dark .fc-button:hover { background: #555 !important; }
body.dark .fc-button-active { background: #66bb6a !important; }
body.dark .fc-toolbar-title { color: #e0e0e0; }
body.dark .fc-day-working {
    box-shadow: inset 0 0 0 2px #66bb6a;
    background: rgba(102, 187, 106, 0.08);
}

/* --- FullCalendar (list) --- */
body.dark .fc .fc-list-day-cushion.fc-cell-shaded {
    background: #333;
    color: #e0e0e0;
}
body.dark .fc .fc-list-day-text {
    color: #e0e0e0;
}
body.dark .fc .fc-list-event td { color: #e0e0e0; }
body.dark .fc .fc-list-event-title { color: #e0e0e0; }
body.dark .fc .fc-list-event:hover td { background: #333; }