/* ---- Energokotel Dark Theme ---- */

[data-theme="dark"] {
    --ek-bg: #0f172a;
    --ek-surface: #1e293b;
    --ek-surface-hover: #273548;
    --ek-text: #e2e8f0;
    --ek-text-muted: #94a3b8;
    --ek-border: #334155;
    --ek-primary-light: #134e4a;
    --ek-input-bg: #1e293b;
    --ek-input-border: #475569;
}

/* Body & base */
[data-theme="dark"] body {
    background: var(--ek-bg) !important;
    color: var(--ek-text);
}

/* Override Bootstrap bg-light, bg-white */
[data-theme="dark"] .bg-light { background: var(--ek-bg) !important; }
[data-theme="dark"] .bg-white { background: var(--ek-surface) !important; }

/* Text */
[data-theme="dark"] .text-dark { color: var(--ek-text) !important; }
[data-theme="dark"] .text-muted { color: var(--ek-text-muted) !important; }

/* Sidebar */
[data-theme="dark"] .sidebar {
    background: var(--ek-surface);
    border-color: var(--ek-border);
}
[data-theme="dark"] .sidebar-brand { border-color: var(--ek-border); }
[data-theme="dark"] .sidebar .nav-link { color: var(--ek-text-muted); }
[data-theme="dark"] .sidebar .nav-link:hover { background: var(--ek-surface-hover); color: var(--ek-text); }
[data-theme="dark"] .sidebar .nav-link.active { background: var(--ek-primary-light); color: #5eead4; }
[data-theme="dark"] .sidebar .nav-section { color: var(--ek-text-muted); }
[data-theme="dark"] .sidebar-user { border-color: var(--ek-border); }
[data-theme="dark"] .sidebar-user .user-name { color: var(--ek-text); }

/* Header */
[data-theme="dark"] .main-header {
    background: var(--ek-surface);
    border-color: var(--ek-border);
}
[data-theme="dark"] .page-title { color: var(--ek-text); }

/* Cards & containers */
[data-theme="dark"] .card { background: var(--ek-surface); border-color: var(--ek-border); color: var(--ek-text); }
[data-theme="dark"] .stat-card { background: var(--ek-surface); border-color: var(--ek-border); }
[data-theme="dark"] .border { border-color: var(--ek-border) !important; }
[data-theme="dark"] .rounded-4 { border-color: var(--ek-border); }

/* Tables */
[data-theme="dark"] .table-container { background: var(--ek-surface); border-color: var(--ek-border); }
[data-theme="dark"] .table { color: var(--ek-text); --bs-table-bg: transparent; }
[data-theme="dark"] .table th { background: var(--ek-surface); color: var(--ek-text-muted); border-color: var(--ek-border); }
[data-theme="dark"] .table td { border-color: var(--ek-border); }
[data-theme="dark"] .table-hover > tbody > tr:hover { background: var(--ek-surface-hover); --bs-table-hover-bg: var(--ek-surface-hover); }
[data-theme="dark"] .table a { color: var(--ek-text); }
[data-theme="dark"] .table-toolbar { border-color: var(--ek-border); }
[data-theme="dark"] .table-pagination { border-color: var(--ek-border); }

/* Forms & inputs */
[data-theme="dark"] .form-control, [data-theme="dark"] .form-select {
    background: var(--ek-input-bg);
    border-color: var(--ek-input-border);
    color: var(--ek-text);
}
[data-theme="dark"] .form-control:focus, [data-theme="dark"] .form-select:focus {
    background: var(--ek-input-bg);
    color: var(--ek-text);
    border-color: var(--ek-primary);
}
[data-theme="dark"] .form-control::placeholder { color: var(--ek-text-muted); }
[data-theme="dark"] .input-group-text { background: var(--ek-input-bg); border-color: var(--ek-input-border); color: var(--ek-text-muted); }
[data-theme="dark"] .form-label { color: var(--ek-text-muted); }

/* Panels (right-side edit/add) */
[data-theme="dark"] .OpenFormIzmZay { background: var(--ek-surface); border-color: var(--ek-border); }
[data-theme="dark"] .OpenFormIzmZay-TopMenuPanel { background: var(--ek-surface); border-color: var(--ek-border); }
[data-theme="dark"] .OpenFormIzmZay-ConsolIzm { background: var(--ek-bg); }
[data-theme="dark"] .OpenFormIzmZay .block { border-color: var(--ek-border); background: var(--ek-surface); }
[data-theme="dark"] .OpenFormIzmZay .block p { color: var(--ek-text-muted); }
[data-theme="dark"] .OpenFormIzmZay .block input,
[data-theme="dark"] .OpenFormIzmZay .block select,
[data-theme="dark"] .OpenFormIzmZay .block textarea {
    background: var(--ek-input-bg);
    border-color: var(--ek-input-border);
    color: var(--ek-text);
}
[data-theme="dark"] .OpenAddZay { background: var(--ek-surface); border-color: var(--ek-border); }
[data-theme="dark"] .OpenAddZay .block { border-color: var(--ek-border); background: var(--ek-surface); }
[data-theme="dark"] .OpenAddZay .block input,
[data-theme="dark"] .OpenAddZay .block select,
[data-theme="dark"] .OpenAddZay .block textarea {
    background: var(--ek-input-bg);
    border-color: var(--ek-input-border);
    color: var(--ek-text);
}

/* Anketa (detail view) */
[data-theme="dark"] .Anketa { background: var(--ek-bg); color: var(--ek-text); }
[data-theme="dark"] .Anketa .razdel { background: var(--ek-primary-light); color: #5eead4; border-color: var(--ek-border); }
[data-theme="dark"] .Anketa .block { border-color: var(--ek-border); }
[data-theme="dark"] .Anketa .block label { color: var(--ek-text-muted); }
[data-theme="dark"] .Anketa .block span { color: var(--ek-text); }

/* Buttons (outline variants) */
[data-theme="dark"] .btn-outline-secondary { color: var(--ek-text-muted); border-color: var(--ek-border); }
[data-theme="dark"] .btn-outline-secondary:hover { background: var(--ek-surface-hover); color: var(--ek-text); }
[data-theme="dark"] .btn-outline-primary { color: #5eead4; border-color: #5eead4; }

/* Context menu */
[data-theme="dark"] .MenuZayavki { background: var(--ek-surface); border-color: var(--ek-border); }
[data-theme="dark"] .MenuZayavki a { color: var(--ek-text); }
[data-theme="dark"] .MenuZayavki a:hover { background: var(--ek-surface-hover); }

/* Error modal */
[data-theme="dark"] .error-modal { background: var(--ek-surface); color: var(--ek-text); }
[data-theme="dark"] .error-modal-header { border-color: var(--ek-border); }
[data-theme="dark"] .error-modal-footer { border-color: var(--ek-border); }

/* Overlay */
[data-theme="dark"] .zat { background: rgba(0, 0, 0, 0.6); }

/* Nav tabs (settings) */
[data-theme="dark"] .nav-tabs { border-color: var(--ek-border); }
[data-theme="dark"] .nav-tabs .nav-link { color: var(--ek-text-muted); }
[data-theme="dark"] .nav-tabs .nav-link.active { background: var(--ek-surface); color: var(--ek-text); border-color: var(--ek-border) var(--ek-border) var(--ek-surface); }

/* Progress bars in dark mode */
[data-theme="dark"] .progress { background: var(--ek-surface-hover); }

/* Badge */
[data-theme="dark"] .badge.bg-secondary { background: var(--ek-surface-hover) !important; }

/* Pagination */
[data-theme="dark"] .page-link { background: var(--ek-surface); border-color: var(--ek-border); color: var(--ek-text-muted); }
[data-theme="dark"] .page-item.active .page-link { background: var(--ek-primary); border-color: var(--ek-primary); }

/* Upload zone */
[data-theme="dark"] .upload-zone { background: var(--ek-surface); border-color: var(--ek-border); }
[data-theme="dark"] .upload-zone:hover, [data-theme="dark"] .upload-zone.drag-over { border-color: var(--ek-primary); background: var(--ek-primary-light); }

/* Autosave indicator */
.autosave-indicator {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: #fef3c7;
    color: #92400e;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13px;
    display: none;
    align-items: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    z-index: 9999;
}
[data-theme="dark"] .autosave-indicator {
    background: #78350f;
    color: #fef3c7;
}

/* Filter inputs in table header */
[data-theme="dark"] .table th input {
    background: var(--ek-input-bg);
    border-color: var(--ek-input-border);
    color: var(--ek-text);
}

/* Audit trail */
.audit-timeline { padding-left: 20px; border-left: 2px solid #e2e8f0; }
.audit-event { position: relative; padding: 8px 0 8px 16px; font-size: 13px; }
.audit-event::before { content: ''; position: absolute; left: -25px; top: 14px; width: 10px; height: 10px; border-radius: 50%; background: var(--ek-primary); }
.audit-event .audit-action { font-weight: 600; }
.audit-event .audit-date { color: #94a3b8; font-size: 12px; }
.audit-diff-table { font-size: 12px; margin-top: 4px; }
.audit-diff-table td { padding: 2px 8px; }
.audit-diff-old { color: #dc2626; text-decoration: line-through; }
.audit-diff-new { color: #059669; }

[data-theme="dark"] .audit-timeline { border-color: var(--ek-border); }
