/* ==========================================================================
   ДАТАМЕСТО — ТЁМНАЯ ТЕМА
   Все стили тёмной темы. Не трогает светлую тему.
   Подключается после style.css
   ========================================================================== */

/* ==========================================================================
   1. ПЕРЕМЕННЫЕ
   ========================================================================== */

:root {
    /* Светлая тема — по умолчанию */
    --bg-body: #f8f9fa;
    --bg-card: #ffffff;
    --bg-input: #ffffff;
    --bg-hover: #f8f9fa;
    --bg-soft: #f1f3f5;

    --text-primary: #1a1a2e;
    --text-secondary: #495057;
    --text-muted: #6c757d;
    --text-placeholder: #adb5bd;

    --border: #e9ecef;
    --border-input: #ced4da;

    --accent: #e53935;
    --accent-hover: #c62828;
    --accent-soft: #fde8eb;
    --accent-text: #b91c1c;

    --shadow-sm: 0 2px 6px rgba(0, 0, 0, 0.06);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 12px 28px rgba(0, 0, 0, 0.12);

    /* Статусы */
    --success-bg: #e3f5e9;
    --success-text: #0a7e3d;
    --warning-bg: #fef3e0;
    --warning-text: #b45a1c;
    --error-bg: #fde8eb;
    --error-text: #b91c1c;
    --info-bg: #f0f0f0;
    --info-text: #495057;
}

[data-theme="dark"] {
    --bg-body: #0f1115;
    --bg-card: #1a1d24;
    --bg-input: #0f1115;
    --bg-hover: #1a1d24;
    --bg-soft: #22262f;

    --text-primary: #e9ecef;
    --text-secondary: #c4c9d2;
    --text-muted: #8a9aaa;
    --text-placeholder: #5c6370;

    --border: #2a2f3a;
    --border-input: #3a4150;

    --accent: #ef4444;
    --accent-hover: #dc2626;
    --accent-soft: #3a1f22;
    --accent-text: #f87171;

    --shadow-sm: 0 2px 6px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 12px 28px rgba(0, 0, 0, 0.6);

    --success-bg: #143a25;
    --success-text: #4ade80;
    --warning-bg: #3a2a14;
    --warning-text: #fbbf24;
    --error-bg: #3a1a1c;
    --error-text: #f87171;
    --info-bg: #22262f;
    --info-text: #c4c9d2;
}

/* ==========================================================================
   2. КНОПКА ПЕРЕКЛЮЧЕНИЯ ТЕМЫ
   ========================================================================== */

.theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: transparent;
    border: none;
    color: var(--text-secondary);
    font-size: 16px;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    flex-shrink: 0;
}

.theme-toggle:hover {
    background: var(--bg-soft);
    color: var(--accent);
}

.theme-toggle__icon {
    display: none;
    line-height: 1;
}

[data-theme="light"] .theme-toggle__icon--moon,
:root:not([data-theme]) .theme-toggle__icon--moon {
    display: inline-block;
}

[data-theme="dark"] .theme-toggle__icon--sun {
    display: inline-block;
}

@media (max-width: 768px) {
    .theme-toggle {
        width: 32px;
        height: 32px;
        font-size: 15px;
    }
}

/* ==========================================================================
   3. БАЗОВЫЕ ЭЛЕМЕНТЫ
   ========================================================================== */

[data-theme="dark"] body {
    background: var(--bg-body);
    color: var(--text-primary);
}

[data-theme="dark"] a {
    color: inherit;
}

[data-theme="dark"] h1,
[data-theme="dark"] h2 {
    color: var(--text-primary);
}

/* ==========================================================================
   4. ШАПКА И НАВИГАЦИЯ
   ========================================================================== */

[data-theme="dark"] .header,
[data-theme="dark"] .footer {
    background: var(--bg-card);
    border-color: var(--border);
}

[data-theme="dark"] .logo {
    color: var(--text-primary);
}

[data-theme="dark"] .nav a,
[data-theme="dark"] .nav-right a {
    color: var(--text-secondary);
}

/* Иконка настроек */
[data-theme="dark"] .nav-settings {
    background: transparent;
    color: var(--text-secondary);
}

[data-theme="dark"] .nav-settings:hover {
    background: var(--bg-soft);
    color: var(--accent);
}

/* Поиск в шапке (десктоп) */
[data-theme="dark"] .nav-search-form {
    background: var(--bg-body);
}

[data-theme="dark"] .nav-search-form input {
    background: var(--bg-input);
    color: var(--text-primary);
    border-color: var(--border-input);
}

[data-theme="dark"] .nav-search-form input::placeholder {
    color: var(--text-placeholder);
}

[data-theme="dark"] .nav-search-form input:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);
}

[data-theme="dark"] .nav-search-toggle {
    color: var(--text-secondary);
}

[data-theme="dark"] .nav-search-toggle:hover {
    background: var(--bg-soft);
    color: var(--accent);
}

/* Мобильная шапка */
[data-theme="dark"] .mobile-search-toggle {
    color: var(--text-primary);
}

[data-theme="dark"] .mobile-search-toggle:hover {
    color: var(--accent);
}

[data-theme="dark"] .burger span {
    background: var(--text-primary);
}

[data-theme="dark"] .burger:hover span,
[data-theme="dark"] .burger.active span {
    background: var(--accent);
}

@media (max-width: 768px) {
    [data-theme="dark"] .burger {
        display: flex !important;
    }

    [data-theme="dark"] .burger span {
        background: var(--text-primary) !important;
    }
}

/* ==========================================================================
   5. МЕНЮ ПОЛЬЗОВАТЕЛЯ (десктоп + мобильный)
   ========================================================================== */

[data-theme="dark"] .user-menu__dropdown {
    background: var(--bg-card);
    border-color: var(--border);
    box-shadow:
        0 4px 6px rgba(0, 0, 0, 0.2),
        0 12px 28px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .user-menu__dropdown::before {
    background: var(--bg-card);
    border-left-color: var(--border);
    border-top-color: var(--border);
}

[data-theme="dark"] .user-menu__header {
    border-bottom-color: var(--border);
}

[data-theme="dark"] .user-menu__name {
    color: var(--text-primary);
}

[data-theme="dark"] .user-menu__email {
    color: var(--text-muted);
}

[data-theme="dark"] .user-menu__divider {
    background: var(--border);
}

[data-theme="dark"] .user-menu .user-menu__item {
    color: var(--text-secondary);
}

[data-theme="dark"] .user-menu .user-menu__item i {
    color: var(--text-muted);
}

[data-theme="dark"] .user-menu .user-menu__item:hover {
    background: var(--bg-hover);
    color: var(--accent);
}

[data-theme="dark"] .user-menu .user-menu__item:hover i {
    color: var(--accent);
}

[data-theme="dark"] .user-menu .user-menu__item--danger,
[data-theme="dark"] .user-menu .user-menu__item--danger i {
    color: #f87171;
}

[data-theme="dark"] .user-menu .user-menu__item--danger:hover {
    background: rgba(248, 113, 113, 0.15);
    color: #f87171;
}

/* Аватар в меню */
.user-menu__avatar-img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

/* Мобильное позиционирование меню пользователя */
@media (max-width: 768px) {
    .user-menu__dropdown {
        position: fixed;
        top: 60px;
        right: 12px;
        left: auto;
        width: calc(100vw - 24px);
        max-width: 320px;
        z-index: 1000;
    }

    .user-menu__dropdown::before {
        display: none;
    }
}

/* ==========================================================================
   6. МОБИЛЬНОЕ МЕНЮ (бургер)
   ========================================================================== */

[data-theme="dark"] .mobile-menu {
    background: var(--bg-card);
}

[data-theme="dark"] .mobile-menu-header {
    border-bottom-color: var(--border);
}

[data-theme="dark"] .mobile-menu-title {
    color: var(--text-primary);
}

[data-theme="dark"] .mobile-menu-close {
    color: var(--text-secondary);
}

[data-theme="dark"] .mobile-menu-close:hover {
    color: var(--accent);
}

[data-theme="dark"] .mobile-menu-nav a,
[data-theme="dark"] .mobile-my-events,
[data-theme="dark"] .mobile-my-registrations,
[data-theme="dark"] .mobile-profile-link {
    color: var(--text-primary) !important;
    border-bottom-color: var(--border);
}

[data-theme="dark"] .mobile-menu-nav a i,
[data-theme="dark"] .mobile-my-events i,
[data-theme="dark"] .mobile-my-registrations i {
    color: var(--text-secondary);
}

[data-theme="dark"] .mobile-menu-nav a:hover,
[data-theme="dark"] .mobile-my-events:hover,
[data-theme="dark"] .mobile-my-registrations:hover {
    color: var(--accent) !important;
}

[data-theme="dark"] .mobile-menu-nav a:hover i,
[data-theme="dark"] .mobile-my-events:hover i,
[data-theme="dark"] .mobile-my-registrations:hover i {
    color: var(--accent);
}

/* Поиск в мобильном меню */
[data-theme="dark"] .mobile-search-form {
    border-bottom-color: var(--border);
}

[data-theme="dark"] .mobile-search-input-wrapper input {
    background: var(--bg-soft);
    color: var(--text-primary);
    border-color: var(--border-input);
}

[data-theme="dark"] .mobile-search-input-wrapper input::placeholder {
    color: #adb5bd;
    opacity: 1;
}

[data-theme="dark"] .mobile-search-input-wrapper i {
    color: var(--text-secondary);
}

[data-theme="dark"] .mobile-search-input-wrapper input:focus {
    border-color: var(--accent);
    background: var(--bg-card);
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);
}

/* Кнопка «Создать событие» */
[data-theme="dark"] .mobile-create-btn {
    background: var(--accent);
    color: #fff !important;
    border: none !important;
}

[data-theme="dark"] .mobile-create-btn:hover {
    background: var(--accent-hover);
}

/* ==========================================================================
   7. БОКОВОЕ МЕНЮ ЛИЧНОГО КАБИНЕТА
   ========================================================================== */

[data-theme="dark"] .profile-menu-toggle {
    background: var(--bg-card);
    border-color: var(--border);
    color: var(--text-primary);
}

[data-theme="dark"] .profile-menu-toggle:hover {
    background: var(--bg-hover);
    border-color: var(--text-muted);
}

[data-theme="dark"] .profile-menu-toggle i {
    color: var(--accent);
}

[data-theme="dark"] .profile-menu {
    background: var(--bg-card);
    border-color: var(--border);
}

[data-theme="dark"] .profile-menu-header {
    border-bottom-color: var(--border);
}

[data-theme="dark"] .profile-menu-title {
    color: var(--text-primary);
}

[data-theme="dark"] .profile-menu-close {
    color: var(--text-secondary);
}

[data-theme="dark"] .profile-menu-close:hover {
    color: var(--accent);
}

[data-theme="dark"] .profile-menu-item {
    color: var(--text-secondary);
    border-bottom-color: var(--border);
}

[data-theme="dark"] .profile-menu-item i {
    color: var(--text-muted);
}

[data-theme="dark"] .profile-menu-item:hover {
    background: var(--bg-hover);
    color: var(--text-primary);
}

[data-theme="dark"] .profile-menu-item:hover i {
    color: var(--text-primary);
}

[data-theme="dark"] .profile-menu-item.active {
    background: var(--bg-hover);
    color: var(--accent);
    border-left-color: var(--accent);
}

[data-theme="dark"] .profile-menu-item.active i {
    color: var(--accent);
}

[data-theme="dark"] .profile-menu-item.logout,
[data-theme="dark"] .profile-menu-item.logout i {
    color: #f87171;
}

[data-theme="dark"] .profile-menu-item.logout {
    border-top-color: var(--border);
}

[data-theme="dark"] .profile-menu-item.logout:hover {
    background: rgba(248, 113, 113, 0.1);
}

[data-theme="dark"] .profile-menu-overlay {
    background: rgba(0, 0, 0, 0.6);
}

/* ==========================================================================
   8. КНОПКИ
   ========================================================================== */

[data-theme="dark"] .btn-outline,
[data-theme="dark"] .btn-ghost,
[data-theme="dark"] .btn-edit {
    background: var(--bg-card);
    color: var(--text-primary);
    border-color: var(--border);
}

[data-theme="dark"] .btn-outline:hover,
[data-theme="dark"] .btn-ghost:hover,
[data-theme="dark"] .btn-edit:hover {
    background: var(--bg-hover);
    border-color: var(--text-muted);
}

/* Кнопки в карточках */
[data-theme="dark"] .card .btn-outline,
[data-theme="dark"] .card .btn-ghost,
[data-theme="dark"] .card .btn-edit {
    background: var(--bg-card);
    color: var(--text-primary);
    border-color: var(--border);
}

[data-theme="dark"] .card .btn-outline:hover,
[data-theme="dark"] .card .btn-ghost:hover,
[data-theme="dark"] .card .btn-edit:hover {
    background: var(--bg-hover);
    border-color: var(--text-muted);
}

/* Кнопки в моих регистрациях */
[data-theme="dark"] .my-registration-card .btn-outline,
[data-theme="dark"] .my-registration-card .btn-ghost {
    background: var(--bg-card);
    color: var(--text-primary);
    border-color: var(--border);
}

[data-theme="dark"] .my-registration-card .btn-outline:hover {
    background: var(--bg-hover);
    border-color: var(--text-muted);
}

/* Кнопки в сайдбаре события */
[data-theme="dark"] .sidebar-card .btn-primary,
[data-theme="dark"] .sidebar-card .card-share-btn {
    background: var(--accent);
    color: #fff !important;
    border: 1px solid var(--accent);
}

[data-theme="dark"] .sidebar-card .btn-primary:hover,
[data-theme="dark"] .sidebar-card .card-share-btn:hover {
    background: var(--accent-hover);
    border-color: var(--accent-hover);
    color: #fff !important;
}

[data-theme="dark"] .sidebar-card .btn-primary i,
[data-theme="dark"] .sidebar-card .card-share-btn i {
    color: #fff !important;
}

/* Кнопки быстрого выбора даты/времени */
[data-theme="dark"] .date-quick-buttons .btn,
[data-theme="dark"] .time-quick-buttons .btn {
    background: var(--bg-card);
    color: var(--text-primary);
    border-color: var(--border);
}

[data-theme="dark"] .date-quick-buttons .btn:hover,
[data-theme="dark"] .time-quick-buttons .btn:hover {
    background: var(--bg-hover);
    border-color: var(--text-muted);
}

/* Кнопка «Загрузить данные» в профиле */
[data-theme="dark"] .btn-load-data,
[data-theme="dark"] .load-data-btn,
[data-theme="dark"] #loadDataBtn {
    background: var(--bg-card);
    color: var(--text-primary);
    border-color: var(--border);
}

[data-theme="dark"] .btn-load-data:hover,
[data-theme="dark"] .load-data-btn:hover,
[data-theme="dark"] #loadDataBtn:hover {
    background: var(--bg-hover);
    border-color: var(--text-muted);
}

/* ==========================================================================
   9. КАРТОЧКИ СОБЫТИЙ
   ========================================================================== */

[data-theme="dark"] .card {
    background: var(--bg-card);
    border-color: var(--border);
}

[data-theme="dark"] .card h3,
[data-theme="dark"] .card h3 a {
    color: var(--text-primary);
}

[data-theme="dark"] .card h3 a:hover {
    color: var(--accent);
}

[data-theme="dark"] .card .description {
    color: var(--text-secondary);
}

[data-theme="dark"] .card .meta {
    color: var(--text-muted);
}

[data-theme="dark"] .card .card-footer {
    border-top-color: var(--border);
}

[data-theme="dark"] .card .badge {
    background: var(--accent-soft);
    color: var(--accent-text);
}

[data-theme="dark"] .card-share-btn {
    color: var(--text-muted);
}

[data-theme="dark"] .card-share-btn:hover {
    background: var(--bg-hover);
    color: var(--accent);
}

/* Кнопка «Купить билет» */
[data-theme="dark"] .status-buy {
    background: rgba(74, 222, 128, 0.15);
    color: #4ade80;
    border: none;
}

[data-theme="dark"] .status-buy i {
    color: #4ade80;
}

[data-theme="dark"] .status-buy-link:hover {
    background: rgba(74, 222, 128, 0.25);
    color: #4ade80;
    box-shadow: 0 2px 8px rgba(74, 222, 128, 0.15);
}

[data-theme="dark"] .status-buy-link:active {
    background: rgba(74, 222, 128, 0.35);
}

/* Статусы */
[data-theme="dark"] .status-open,
[data-theme="dark"] .status-badge.status-open,
[data-theme="dark"] .card .status-open {
    background: rgba(74, 222, 128, 0.15);
    color: #4ade80;
}

[data-theme="dark"] .status-closed,
[data-theme="dark"] .status-badge.status-closed,
[data-theme="dark"] .card .status-closed {
    background: rgba(251, 191, 36, 0.15);
    color: #fbbf24;
}

[data-theme="dark"] .status-finished,
[data-theme="dark"] .status-badge.status-finished,
[data-theme="dark"] .card .status-finished {
    background: rgba(138, 154, 170, 0.15);
    color: var(--text-muted);
}

[data-theme="dark"] .status-cancelled,
[data-theme="dark"] .status-badge.status-cancelled,
[data-theme="dark"] .card .status-cancelled {
    background: rgba(248, 113, 113, 0.15);
    color: #f87171;
}

[data-theme="dark"] .status-draft,
[data-theme="dark"] .status-badge.status-draft,
[data-theme="dark"] .card .status-draft {
    background: rgba(138, 154, 170, 0.15);
    color: var(--text-muted);
}

/* ==========================================================================
   10. МОИ СОБЫТИЯ
   ========================================================================== */

[data-theme="dark"] .my-event-card {
    background: var(--bg-card);
    border-color: var(--border);
}

[data-theme="dark"] .my-event-info h3 {
    color: var(--text-primary);
}

[data-theme="dark"] .my-event-meta {
    color: var(--text-secondary);
}

[data-theme="dark"] .my-event-info .badge {
    background: var(--accent-soft);
    color: var(--accent-text);
}

[data-theme="dark"] .my-event-thumb {
    border-color: var(--border);
    background: var(--bg-soft);
}

[data-theme="dark"] .my-event-thumb--placeholder {
    color: var(--text-muted);
}

/* ==========================================================================
   11. МОИ РЕГИСТРАЦИИ
   ========================================================================== */

[data-theme="dark"] .my-registration-card {
    background: var(--bg-card);
    border-color: var(--border);
}

[data-theme="dark"] .my-registration-info h3 a {
    color: var(--text-primary);
}

[data-theme="dark"] .my-registration-info h3 a:hover {
    color: var(--accent);
}

[data-theme="dark"] .my-registration-meta {
    color: var(--text-secondary);
}

[data-theme="dark"] .my-registration-info .badge {
    background: var(--accent-soft);
    color: var(--accent-text);
}

[data-theme="dark"] .reg-status-confirmed {
    background: rgba(74, 222, 128, 0.15);
    color: #4ade80;
}

[data-theme="dark"] .reg-status-waiting {
    background: rgba(251, 191, 36, 0.15);
    color: #fbbf24;
}

[data-theme="dark"] .reg-status-cancelled {
    background: rgba(248, 113, 113, 0.15);
    color: #f87171;
}

[data-theme="dark"] .reg-status-attended {
    background: rgba(96, 165, 250, 0.15);
    color: #60a5fa;
}

/* ==========================================================================
   12. СТРАНИЦА СОБЫТИЯ
   ========================================================================== */

[data-theme="dark"] .event-main,
[data-theme="dark"] .sidebar-card {
    background: var(--bg-card);
    border-color: var(--border);
}

[data-theme="dark"] .sidebar-card h3 {
    color: var(--text-primary);
}

[data-theme="dark"] .sidebar-card p {
    color: var(--text-secondary);
}

[data-theme="dark"] .sidebar-card .stat {
    border-bottom-color: var(--border);
}

[data-theme="dark"] .sidebar-card .stat-label {
    color: var(--text-muted);
}

[data-theme="dark"] .sidebar-card .stat-value {
    color: var(--text-primary);
}

[data-theme="dark"] .category-tag {
    background: var(--accent-soft);
    color: var(--accent-text);
}

[data-theme="dark"] .event-meta {
    color: var(--text-secondary);
}

[data-theme="dark"] .event-meta i {
    color: var(--accent);
}

[data-theme="dark"] .event-description,
[data-theme="dark"] .event-description p,
[data-theme="dark"] .event-description strong,
[data-theme="dark"] .event-description b {
    color: var(--text-primary);
}

[data-theme="dark"] .event-description a {
    color: var(--accent);
}

/* Требования к участникам */
[data-theme="dark"] .event-requirements {
    background: rgba(251, 191, 36, 0.1);
    border-left-color: var(--accent);
}

[data-theme="dark"] .event-requirements h3 {
    color: #fbbf24;
}

/* Участники */
[data-theme="dark"] .participants-list .participant-name {
    color: var(--text-primary);
}

[data-theme="dark"] .participants-list li {
    border-bottom-color: var(--border);
}

/* Уведомления */
[data-theme="dark"] .event-notice-success {
    background: rgba(74, 222, 128, 0.12);
    color: #4ade80;
}

[data-theme="dark"] .event-notice-warning {
    background: rgba(251, 191, 36, 0.12);
    color: #fbbf24;
}

[data-theme="dark"] .event-notice-error {
    background: rgba(248, 113, 113, 0.12);
    color: #f87171;
}

[data-theme="dark"] .event-notice-info {
    background: var(--bg-soft);
    color: var(--text-secondary);
}

[data-theme="dark"] .event-notice-info a {
    color: var(--accent);
}

/* Empty state */
[data-theme="dark"] .empty-state {
    background: var(--bg-card);
    border-color: var(--border);
    color: var(--text-secondary);
}

/* Хлебные крошки */
[data-theme="dark"] .breadcrumbs {
    color: var(--text-muted);
}

[data-theme="dark"] .breadcrumbs a {
    color: var(--accent);
    font-weight: 500;
}

[data-theme="dark"] .breadcrumbs a:hover {
    color: var(--accent-hover);
    text-decoration: underline;
}

[data-theme="dark"] .breadcrumbs li:not(:last-child)::after {
    color: var(--text-muted);
}

[data-theme="dark"] .breadcrumbs li:last-child span {
    color: var(--text-primary);
    font-weight: 600;
}

/* ==========================================================================
   13. КОММЕНТАРИИ
   ========================================================================== */

[data-theme="dark"] .event-main__comments {
    border-top-color: var(--border);
}

[data-theme="dark"] .event-main__comments-title {
    color: var(--text-primary);
}

[data-theme="dark"] .comment-item {
    background: var(--bg-soft);
    border: 1px solid var(--border);
}

[data-theme="dark"] .comment-author {
    color: var(--text-primary);
}

[data-theme="dark"] .comment-date {
    color: var(--text-muted);
}

[data-theme="dark"] .comment-text {
    color: var(--text-secondary);
}

[data-theme="dark"] .comment-actions a {
    color: var(--text-secondary);
    font-weight: 500;
}

[data-theme="dark"] .comment-actions a:hover {
    color: var(--accent);
}

[data-theme="dark"] .comment-actions a:last-child {
    color: #f87171;
}

[data-theme="dark"] .comment-actions a:last-child:hover {
    color: #ef4444;
}

[data-theme="dark"] .comment-actions a i {
    color: inherit;
}

/* ==========================================================================
   14. ФИЛЬТРЫ
   ========================================================================== */

[data-theme="dark"] .filters {
    background: var(--bg-card);
    border-color: var(--border);
}

[data-theme="dark"] .filters a {
    background: var(--bg-card);
    color: var(--text-primary);
    border-color: var(--border);
}

[data-theme="dark"] .filters a.active {
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
}

/* ==========================================================================
   15. ФОРМЫ
   ========================================================================== */

/* Все поля ввода — единый стиль */
[data-theme="dark"] input,
[data-theme="dark"] textarea,
[data-theme="dark"] select,
[data-theme="dark"] .form-control {
    background-color: var(--bg-input);
    color: var(--text-primary);
    border: 1px solid var(--border-input);
    transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s;
}

[data-theme="dark"] input:hover:not(:focus),
[data-theme="dark"] textarea:hover:not(:focus),
[data-theme="dark"] select:hover:not(:focus),
[data-theme="dark"] .form-control:hover:not(:focus) {
    border-color: #4a5260;
}

[data-theme="dark"] input:focus,
[data-theme="dark"] textarea:focus,
[data-theme="dark"] select:focus,
[data-theme="dark"] .form-control:focus {
    background-color: var(--bg-input);
    color: var(--text-primary);
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
    outline: none;
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder,
[data-theme="dark"] .form-control::placeholder {
    color: var(--text-placeholder);
    opacity: 1;
}

/* Автозаполнение */
[data-theme="dark"] input:-webkit-autofill,
[data-theme="dark"] input:-webkit-autofill:hover,
[data-theme="dark"] input:-webkit-autofill:focus,
[data-theme="dark"] textarea:-webkit-autofill,
[data-theme="dark"] select:-webkit-autofill {
    -webkit-text-fill-color: var(--text-primary) !important;
    -webkit-box-shadow: 0 0 0 1000px var(--bg-input) inset !important;
    box-shadow: 0 0 0 1000px var(--bg-input) inset !important;
    background-color: var(--bg-input) !important;
    transition: background-color 5000s ease-in-out 0s !important;
    caret-color: var(--text-primary) !important;
    border: 1px solid var(--border-input) !important;
}

/* Label — прозрачный фон */
[data-theme="dark"] label,
[data-theme="dark"] .form-group label,
[data-theme="dark"] .form-check label,
[data-theme="dark"] .form-label,
[data-theme="dark"] .control-label {
    background: transparent;
    border: none;
    color: var(--text-secondary);
    padding-left: 0;
    padding-right: 0;
}

/* Убираем фон у form-group */
[data-theme="dark"] .form-group {
    background: transparent;
    border: none;
    box-shadow: none;
}

/* Чекбоксы */
[data-theme="dark"] .form-check input[type="checkbox"] {
    accent-color: var(--accent);
}

[data-theme="dark"] .form-check label small,
[data-theme="dark"] .form-check small,
[data-theme="dark"] .form-check label span {
    color: var(--text-muted);
}

/* Предупреждения в чекбоксах */
[data-theme="dark"] .form-check .text-danger,
[data-theme="dark"] .form-check .error-text,
[data-theme="dark"] .form-check .warning-text,
[data-theme="dark"] .form-check .danger,
[data-theme="dark"] .form-check .error,
[data-theme="dark"] .form-check .warning,
[data-theme="dark"] .form-check span[style*="color"] {
    color: #f87171;
    font-weight: 500;
}

/* Иконки даты/времени */
[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator,
[data-theme="dark"] input[type="time"]::-webkit-calendar-picker-indicator {
    filter: invert(1);
    opacity: 0.7;
    cursor: pointer;
}

/* ==========================================================================
   16. ФОРМА СОЗДАНИЯ СОБЫТИЯ
   ========================================================================== */

[data-theme="dark"] #event-form {
    background: var(--bg-card);
    border-color: var(--border);
}

[data-theme="dark"] #event-form label {
    color: var(--text-primary);
}

[data-theme="dark"] #event-form .form-hint,
[data-theme="dark"] #event-form small {
    color: var(--text-muted);
}

[data-theme="dark"] #event-form .form-group {
    background: transparent;
    border: none;
    box-shadow: none;
}

/* Выпадашка категорий */
[data-theme="dark"] .category-search-dropdown {
    background: var(--bg-card);
    border-color: var(--border-input);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .category-search-option {
    color: var(--text-primary);
    border-bottom-color: var(--border);
}

[data-theme="dark"] .category-search-option:hover,
[data-theme="dark"] .category-search-option:active {
    background: var(--bg-hover);
    color: var(--accent);
}

[data-theme="dark"] .category-search-option.disabled {
    color: var(--text-muted);
}

[data-theme="dark"] .category-search-option.disabled:hover,
[data-theme="dark"] .category-search-option.disabled:active {
    background: transparent;
    color: var(--text-muted);
}

[data-theme="dark"] .category-search-option.selected {
    background: var(--accent-soft);
    color: var(--accent-text);
    font-weight: 600;
}

/* ==========================================================================
   17. ПРОФИЛЬ
   ========================================================================== */

[data-theme="dark"] .profile-card-single {
    background: var(--bg-card);
    border-color: var(--border);
}

[data-theme="dark"] .profile-header-row {
    border-bottom-color: var(--border);
}

[data-theme="dark"] .profile-title {
    color: var(--text-primary);
}

[data-theme="dark"] .profile-container h1 {
    color: var(--text-primary);
}

[data-theme="dark"] .profile-data-list p {
    border-bottom-color: var(--border);
    color: var(--text-primary);
}

[data-theme="dark"] .profile-data-list strong {
    color: var(--text-secondary);
}

[data-theme="dark"] .profile-data-list .profile-value {
    color: var(--text-primary);
}

[data-theme="dark"] .edit-profile-card .form-control:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);
    outline: none;
}

/* ==========================================================================
   18. АВАТАР
   ========================================================================== */

[data-theme="dark"] .avatar-field {
    background: var(--bg-soft);
    border-color: var(--border);
}

[data-theme="dark"] .avatar-preview {
    border-color: var(--border);
    background: var(--bg-card);
}

[data-theme="dark"] .avatar-upload-btn {
    background: var(--bg-card);
    color: var(--text-primary);
    border-color: var(--border);
}

[data-theme="dark"] .avatar-upload-btn:hover {
    background: var(--bg-hover);
    border-color: var(--text-muted);
}

[data-theme="dark"] .avatar-upload-btn:active {
    background: var(--bg-hover);
}

[data-theme="dark"] .avatar-upload-btn i {
    color: var(--text-muted);
}

[data-theme="dark"] .avatar-file-name {
    color: var(--text-muted);
}

[data-theme="dark"] .avatar-file-name.has-file {
    color: #4ade80;
}

/* ==========================================================================
   19. МОДАЛКА «ПОДЕЛИТЬСЯ»
   ========================================================================== */

[data-theme="dark"] .share-modal-overlay {
    background: rgba(0, 0, 0, 0.75);
}

[data-theme="dark"] .share-modal {
    background: var(--bg-card);
    border: 1px solid var(--border);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6);
}

[data-theme="dark"] .share-modal-header {
    border-bottom-color: var(--border);
}

[data-theme="dark"] .share-modal-title {
    color: var(--text-primary);
}

[data-theme="dark"] .share-modal-close {
    color: var(--text-secondary);
}

[data-theme="dark"] .share-modal-close:hover {
    color: var(--accent);
}

[data-theme="dark"] .share-btn {
    background: var(--bg-soft);
    color: var(--text-primary);
    border: 1px solid var(--border);
}

[data-theme="dark"] .share-btn:hover {
    background: var(--bg-hover);
    color: var(--text-primary);
    border-color: var(--text-muted);
}

[data-theme="dark"] .share-btn i {
    color: var(--text-secondary);
}

[data-theme="dark"] .share-btn-telegram:hover {
    background: rgba(0, 136, 204, 0.2);
    color: #4fc3f7;
    border-color: rgba(0, 136, 204, 0.4);
}
[data-theme="dark"] .share-btn-telegram:hover i {
    color: #4fc3f7;
}

[data-theme="dark"] .share-btn-whatsapp:hover {
    background: rgba(37, 211, 102, 0.2);
    color: #4ade80;
    border-color: rgba(37, 211, 102, 0.4);
}
[data-theme="dark"] .share-btn-whatsapp:hover i {
    color: #4ade80;
}

[data-theme="dark"] .share-btn-vk:hover {
    background: rgba(76, 117, 163, 0.25);
    color: #7b9fd6;
    border-color: rgba(76, 117, 163, 0.5);
}
[data-theme="dark"] .share-btn-vk:hover i {
    color: #7b9fd6;
}

[data-theme="dark"] .share-btn-max:hover {
    background: rgba(108, 43, 217, 0.25);
    color: #a78bfa;
    border-color: rgba(108, 43, 217, 0.5);
}
[data-theme="dark"] .share-btn-max:hover i {
    color: #a78bfa;
}

[data-theme="dark"] .share-btn-instagram:hover {
    background: rgba(229, 57, 53, 0.2);
    color: #f87171;
    border-color: rgba(229, 57, 53, 0.4);
}
[data-theme="dark"] .share-btn-instagram:hover i {
    color: #f87171;
}

[data-theme="dark"] .share-btn-copy:hover {
    background: rgba(230, 81, 0, 0.2);
    color: #fb923c;
    border-color: rgba(230, 81, 0, 0.4);
}
[data-theme="dark"] .share-btn-copy:hover i {
    color: #fb923c;
}

/* ==========================================================================
   20. ФУТЕР
   ========================================================================== */

[data-theme="dark"] .footer-slogan {
    color: #d8dde3;
    font-weight: 500;
}

[data-theme="dark"] .footer-links a {
    color: var(--text-secondary);
}

[data-theme="dark"] .footer-links a:hover {
    color: var(--accent);
}

[data-theme="dark"] .footer-copy {
    color: var(--text-muted);
    border-top-color: var(--border);
}
/* ===== ФОРМА РЕДАКТИРОВАНИЯ СОБЫТИЯ — полная перекраска ===== */
[data-theme="dark"] .main-other,
[data-theme="dark"] .main-home,
[data-theme="dark"] #edit-event-form,
[data-theme="dark"] form#event-form,
[data-theme="dark"] .edit-event-container {
    background: var(--bg-body) !important;
    color: var(--text-primary) !important;
}

/* Карточка формы (белая на скрине) */
[data-theme="dark"] #event-form,
[data-theme="dark"] form[id*="event"] {
    background: var(--bg-card) !important;
    border-color: var(--border) !important;
}

/* Лейблы — светлые */
[data-theme="dark"] #event-form label,
[data-theme="dark"] form[id*="event"] label {
    color: var(--text-primary) !important;
}

/* Заголовок «Изменить событие» */
[data-theme="dark"] h1,
[data-theme="dark"] .main-other h1,
[data-theme="dark"] .event-form-title {
    color: var(--text-primary) !important;
}

/* Подзаголовок «Интервалы на стадионе Партизан» */
[data-theme="dark"] .event-form-subtitle,
[data-theme="dark"] .main-other > p {
    color: var(--text-secondary) !important;
}

/* Жёлтый alert «Внимание!» */
[data-theme="dark"] .alert-warning,
[data-theme="dark"] .alert.alert-warning {
    background: rgba(251, 191, 36, 0.15) !important;
    color: #fbbf24 !important;
    border-color: rgba(251, 191, 36, 0.3) !important;
}

/* Поля — уже тёмные, оставляем */
[data-theme="dark"] #event-form input,
[data-theme="dark"] #event-form textarea,
[data-theme="dark"] #event-form select {
    background-color: var(--bg-input) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-input) !important;
}

/* Подсказки */
[data-theme="dark"] #event-form small,
[data-theme="dark"] #event-form .form-hint {
    color: var(--text-muted) !important;
}

/* Чекбоксы — светлые лейблы, красные галочки */
[data-theme="dark"] #event-form .form-check label {
    color: var(--text-primary) !important;
}

[data-theme="dark"] #event-form .form-check input[type="checkbox"] {
    accent-color: var(--accent) !important;
    background: var(--bg-input) !important;
    border: 1px solid var(--border-input) !important;
}

/* Кнопка «Сохранить» */
[data-theme="dark"] #event-form .btn-primary,
[data-theme="dark"] #event-form button[type="submit"] {
    background: var(--accent) !important;
    color: #fff !important;
    border-color: var(--accent) !important;
}
/* ===== FLATPICKR — тёмная тема ===== */
[data-theme="dark"] .flatpickr-calendar {
    background: var(--bg-card);
    border: 1px solid var(--border);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .flatpickr-calendar.arrowTop::before,
[data-theme="dark"] .flatpickr-calendar.arrowTop::after {
    border-bottom-color: var(--bg-card);
}

[data-theme="dark"] .flatpickr-calendar.arrowBottom::before,
[data-theme="dark"] .flatpickr-calendar.arrowBottom::after {
    border-top-color: var(--bg-card);
}

[data-theme="dark"] .flatpickr-months,
[data-theme="dark"] .flatpickr-month {
    background: var(--bg-card);
    color: var(--text-primary);
}

[data-theme="dark"] .flatpickr-current-month,
[data-theme="dark"] .flatpickr-current-month .flatpickr-monthDropdown-months,
[data-theme="dark"] .flatpickr-current-month input.cur-year {
    color: var(--text-primary);
    background: transparent;
}

[data-theme="dark"] .flatpickr-prev-month,
[data-theme="dark"] .flatpickr-next-month {
    color: var(--text-secondary);
    fill: var(--text-secondary);
}

[data-theme="dark"] .flatpickr-prev-month:hover,
[data-theme="dark"] .flatpickr-next-month:hover {
    color: var(--accent);
    fill: var(--accent);
}

[data-theme="dark"] .flatpickr-weekdays,
[data-theme="dark"] .flatpickr-weekday {
    background: var(--bg-card);
    color: var(--text-muted);
}

[data-theme="dark"] .flatpickr-day {
    color: var(--text-primary);
    border-color: transparent;
}

[data-theme="dark"] .flatpickr-day:hover,
[data-theme="dark"] .flatpickr-day:focus {
    background: var(--bg-hover);
    border-color: var(--bg-hover);
    color: var(--text-primary);
}

[data-theme="dark"] .flatpickr-day.today {
    border-color: var(--accent);
    color: var(--accent);
}

[data-theme="dark"] .flatpickr-day.today:hover {
    background: var(--accent);
    color: #fff;
}

[data-theme="dark"] .flatpickr-day.selected,
[data-theme="dark"] .flatpickr-day.selected:hover {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}

[data-theme="dark"] .flatpickr-day.flatpickr-disabled,
[data-theme="dark"] .flatpickr-day.prevMonthDay,
[data-theme="dark"] .flatpickr-day.nextMonthDay {
    color: var(--text-muted);
    opacity: 0.4;
}

[data-theme="dark"] .flatpickr-day.flatpickr-disabled:hover {
    background: transparent;
    color: var(--text-muted);
}

/* Поле ввода даты */
[data-theme="dark"] .flatpickr-input {
    background: var(--bg-input);
    color: var(--text-primary);
    border-color: var(--border-input);
}

/* Мобильный flatpickr */
[data-theme="dark"] .flatpickr-calendar.open,
[data-theme="dark"] .flatpickr-calendar.inline {
    background: var(--bg-card);
}
/* ===== ФИЛЬТРЫ: ГОРОД И ДАТА (тёмная тема) ===== */

/* Селект «Все города» */
[data-theme="dark"] .city-filter {
    background-color: var(--bg-input);
    color: var(--text-primary);
    border-color: var(--border-input);
}

[data-theme="dark"] .city-filter:hover {
    background-color: var(--bg-hover) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-input) !important;
}

[data-theme="dark"] .city-filter:focus {
    background-color: var(--bg-input) !important;
    color: var(--text-primary) !important;
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
}

[data-theme="dark"] .city-filter option {
    background: var(--bg-card);
    color: var(--text-primary);
}

/* Поле даты */
[data-theme="dark"] .date-picker-input {
    background-color: var(--bg-input);
    color: var(--text-primary);
    border-color: var(--border-input);
}

[data-theme="dark"] .date-picker-input:hover {
    background-color: var(--bg-hover) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-input) !important;
}

[data-theme="dark"] .date-picker-input:focus {
    background-color: var(--bg-input) !important;
    color: var(--text-primary) !important;
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
}

/* Кнопка очистки даты */
[data-theme="dark"] .date-picker-clear {
    background: rgba(248, 113, 113, 0.15);
    color: #f87171;
}

[data-theme="dark"] .date-picker-clear:hover {
    background: rgba(248, 113, 113, 0.25);
}