:root {
    color-scheme: dark;
}

:root[data-theme="dark"] {
    color-scheme: dark;
    --theme-shell: #111b29;
    --theme-content: #121d2c;
    --theme-panel: #172334;
    --theme-panel-raised: #1b293b;
    --theme-field: #101b29;
    --theme-border: #2b3d52;
    --theme-border-soft: #223247;
    --theme-text: #e5edf7;
    --theme-text-soft: #c4d0df;
    --theme-muted: #9bacc1;
    --theme-faint: #71849b;
    --theme-accent: #e01a3f;
    --theme-accent-hover: #f02b50;
    --theme-shadow: rgba(0, 0, 0, 0.32);
}

[data-theme="dark"] body {
    background: linear-gradient(145deg, #070b12 0%, #101a28 52%, #080d15 100%);
    color: var(--theme-text);
}

[data-theme="dark"] .center-col {
    color: var(--theme-text);
}

[data-theme="dark"] .site-header,
[data-theme="dark"] .site-footer {
    border-color: #344a64;
}

[data-theme="dark"] .header-logo-text,
[data-theme="dark"] .header-logo-text span,
[data-theme="dark"] .footer-info h3,
[data-theme="dark"] .footer-info h3 span {
    color: var(--theme-muted);
}

[data-theme="dark"] .header-logo-admin {
    color: var(--theme-faint);
}

[data-theme="dark"] .user-dropdown {
    background: #172334;
    border: 1px solid var(--theme-border);
    box-shadow: 0 14px 34px var(--theme-shadow);
}

[data-theme="dark"] .dropdown-item {
    color: var(--theme-text-soft);
}

[data-theme="dark"] .dropdown-item:hover {
    background: #202f43;
    color: #ff6b86;
}

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

[data-theme="dark"] .dropdown-item.logout {
    border-color: var(--theme-border);
}

[data-theme="dark"] .user-info-mini .username {
    color: var(--theme-muted);
}

[data-theme="dark"] .admin-back[data-theme="dark"] .admin-back {
    border-color: var(--theme-border);
    background: var(--theme-panel-raised);
    color: var(--theme-text-soft);
}

[data-theme="dark"] .admin-back:hover {
    border-color: #3a4f69;
    background: #24354a;
    color: var(--theme-text);
}

[data-theme="dark"] .admin-header h1 {
    color: var(--theme-text);
}

[data-theme="dark"] .notifications-page,
[data-theme="dark"] .notifications-list {
    color: var(--theme-text);
}

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

[data-theme="dark"] .notification-item {
    background: var(--theme-panel);
    border-color: var(--theme-border);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
}

[data-theme="dark"] .notification-item:hover {
    background: var(--theme-panel-raised);
    border-color: #405773;
}

[data-theme="dark"] .notification-item.unread {
    background: #1c293c;
}

[data-theme="dark"] .notification-title {
    color: var(--theme-text);
}

[data-theme="dark"] .notification-message,
[data-theme="dark"] .notification-meta,
[data-theme="dark"] .empty-notifications,
[data-theme="dark"] .empty-notifications .hint {
    color: var(--theme-muted);
}

[data-theme="dark"] .rate-limit-card {
    background: var(--theme-panel);
    border-color: var(--theme-border);
    box-shadow: 0 12px 34px var(--theme-shadow);
}

[data-theme="dark"] .settings-card {
    border-color: var(--theme-border);
    box-shadow: 0 12px 34px var(--theme-shadow);
}

[data-theme="dark"] .register-page .register-card,
[data-theme="dark"] .login-page .login-card {
    background: var(--theme-panel);
    border-color: var(--theme-border);
    box-shadow: 0 12px 34px var(--theme-shadow);
}

[data-theme="dark"] .settings-header,
[data-theme="dark"] .register-header,
[data-theme="dark"] .login-header,
[data-theme="dark"] .privacy-header,
[data-theme="dark"] .terms-header {
    border-color: var(--theme-border);
}

[data-theme="dark"] .settings-header h1,
[data-theme="dark"] .register-header h1,
[data-theme="dark"] .login-header h1,
[data-theme="dark"] .privacy-header h1,
[data-theme="dark"] .terms-header h1,
[data-theme="dark"] .privacy-section h2,
[data-theme="dark"] .privacy-section h3,
[data-theme="dark"] .terms-section h2,
[data-theme="dark"] .terms-section h3,
[data-theme="dark"] .rate-limit-title {
    color: var(--theme-text);
}

[data-theme="dark"] .settings-header p,
[data-theme="dark"] .register-header p,
[data-theme="dark"] .login-header p,
[data-theme="dark"] .privacy-header p,
[data-theme="dark"] .terms-header p,
[data-theme="dark"] .privacy-section p,
[data-theme="dark"] .privacy-section li,
[data-theme="dark"] .terms-section p,
[data-theme="dark"] .terms-section li,
[data-theme="dark"] .rate-limit-subtitle,
[data-theme="dark"] .rate-limit-details .detail-label {
    color: var(--theme-muted);
}

[data-theme="dark"] .privacy-section,
[data-theme="dark"] .terms-section,
[data-theme="dark"] .privacy-footer,
[data-theme="dark"] .terms-footer {
    border-color: var(--theme-border);
}

[data-theme="dark"] .privacy-note,
[data-theme="dark"] .rate-limit-details {
    background: #111c2a;
    border-color: var(--theme-border);
}

[data-theme="dark"] .rate-limit-details .detail-row {
    border-color: var(--theme-border);
}

[data-theme="dark"] .rate-limit-details .detail-value {
    color: var(--theme-text);
}

[data-theme="dark"] .login-page .form-group label,
[data-theme="dark"] .register-page .form-group label,
[data-theme="dark"] .modal-body .form-group label,
[data-theme="dark"] .filter-row label {
    color: var(--theme-text-soft);
}

[data-theme="dark"] .center-col input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
[data-theme="dark"] .center-col select,
[data-theme="dark"] .center-col textarea,
[data-theme="dark"] .modal-content input:not([type="checkbox"]):not([type="radio"]),
[data-theme="dark"] .modal-content select,
[data-theme="dark"] .modal-content textarea {
    background: var(--theme-field);
    border-color: #344961;
    color: var(--theme-text);
}

[data-theme="dark"] .center-col input::placeholder,
[data-theme="dark"] .center-col textarea::placeholder,
[data-theme="dark"] .modal-content input::placeholder,
[data-theme="dark"] .modal-content textarea::placeholder {
    color: var(--theme-faint);
}

[data-theme="dark"] .center-col input:disabled,
[data-theme="dark"] .center-col textarea:disabled,
[data-theme="dark"] .disabled-input {
    background: #162131;
    color: #73869c;
}

[data-theme="dark"] .admin-section,
[data-theme="dark"] .table-wrapper {
    background: rgba(23, 35, 52, 0.9);
    border-color: var(--theme-border);
}

[data-theme="dark"] .admin-section h2 {
    color: var(--theme-text);
    border-color: var(--theme-border);
}

/* Фон убираем в прозрачный: main_styles.css задаёт таблице белый, а подложку
   в тёмной теме уже даёт .admin-section или .table-wrapper вокруг неё. */
[data-theme="dark"] .admin-table,
[data-theme="dark"] table {
    background: transparent;
    color: var(--theme-text-soft);
}

[data-theme="dark"] .admin-table th,
[data-theme="dark"] table th {
    background: #111c2a;
    color: var(--theme-text);
    border-color: var(--theme-border);
}

/* Цвет задаём самой ячейке, а не только таблице: в main_styles.css у td
   свой color, и он перебивает унаследованный от родителя. */
[data-theme="dark"] .admin-table td,
[data-theme="dark"] table td {
    border-color: var(--theme-border);
    color: var(--theme-text-soft);
}

[data-theme="dark"] .admin-table tr:hover td,
[data-theme="dark"] table tbody tr:hover td {
    background: rgba(43, 61, 82, 0.42);
}

[data-theme="dark"] .modal-content,
[data-theme="dark"] .delete-modal-content,
[data-theme="dark"] .crop-modal-content {
    background: var(--theme-panel-raised);
    border: 1px solid var(--theme-border);
    color: var(--theme-text);
}

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

[data-theme="dark"] .modal-header h3,
[data-theme="dark"] .delete-modal-header h3,
[data-theme="dark"] .crop-modal-header h3 {
    color: var(--theme-text);
}

[data-theme="dark"] .delete-modal-header {
    background: rgba(224, 26, 63, 0.13);
}

[data-theme="dark"] .modal-body p,
[data-theme="dark"] .delete-modal-body p {
    color: var(--theme-muted);
}

[data-theme="dark"] .delete-modal-body .message-preview {
    background: #111c2a;
    color: var(--theme-text-soft);
}

[data-theme="dark"] .btn-cancel,
[data-theme="dark"] .btn-crop-cancel,
[data-theme="dark"] .delete-modal-footer .btn-cancel,
[data-theme="dark"] .btn-clear-filter,
[data-theme="dark"] .btn-home {
    background: #25354a;
    border-color: #3b506a;
    color: var(--theme-text-soft);
}

[data-theme="dark"] .btn-cancel:hover,
[data-theme="dark"] .btn-crop-cancel:hover,
[data-theme="dark"] .delete-modal-footer .btn-cancel:hover,
[data-theme="dark"] .btn-clear-filter:hover,
[data-theme="dark"] .btn-home:hover {
    background: #30435b;
    color: #ffffff;
}

[data-theme="dark"] ::selection {
    background: rgba(224, 26, 63, 0.55);
    color: #ffffff;
}

[data-theme="dark"] * {
    scrollbar-color: #40546d #101a28;
}

@media (max-width: 768px) {
    [data-theme="dark"] body {
        background: #0b111b;
    }
}

/* Единый цвет текста админ-панели в тёмной теме. */
[data-theme="dark"] .admin-container [style*="color: white"],
[data-theme="dark"] .admin-container [style*="color: #fff"],
[data-theme="dark"] .admin-container [style*="color:#fff"],
[data-theme="dark"] .admin-container .btn-edit,
[data-theme="dark"] .admin-container .btn-delete,
[data-theme="dark"] .admin-container .btn-filter,
[data-theme="dark"] .admin-container .btn-confirm-delete,
[data-theme="dark"] .admin-container .stat-card {
    color: #9bacc1 !important;
}

[data-theme="dark"] .admin-container .admin-table th,
[data-theme="dark"] .admin-container .admin-table td,
[data-theme="dark"] .admin-container table th,
[data-theme="dark"] .admin-container table td {
    color: #9bacc1 !important;
}

/* Основной текст страницы админ-панели и блока дневной аналитики. */
[data-theme="dark"] .admin-container .admin-header h1,
[data-theme="dark"] .admin-container .admin-header p,
[data-theme="dark"] .admin-container .stat-value,
[data-theme="dark"] .admin-container .stat-label,
[data-theme="dark"] .admin-container .stat-action-title,
[data-theme="dark"] .admin-container .metrics-heading h2,
[data-theme="dark"] .admin-container .metrics-heading p,
[data-theme="dark"] .admin-container .metrics-note,
[data-theme="dark"] .admin-container .metrics-label,
[data-theme="dark"] .admin-container .metrics-value,
[data-theme="dark"] .admin-container .metrics-hint,
[data-theme="dark"] .admin-container .metrics-subtitle,
[data-theme="dark"] .admin-container .metrics-row,
[data-theme="dark"] .admin-container .metrics-empty {
    color: #9bacc1 !important;
}
