/*
 * Tmavý režim administrace.
 *
 * Platí jen pod html[data-bs-theme="dark"] (nastavuje inc/themeHead.twig podle
 * volby uživatele, viz src/Admin/AdminTheme.php). Načítá se jako poslední styl,
 * takže přebíjí vendor šablonu Neptune (main.min.css), admin-shell.css i custom.css.
 *
 * Vrstvy:
 *   1. admin-dark-neptune.css  — tmavý motiv Neptune (vygenerovaný, needitovat)
 *   2. tento soubor            — paleta, Bootstrap proměnné, vlastní prvky administrace
 *                                a barvy zapsané přímo ve style="" šablon
 *
 * Prvek, který má zůstat světlý (náhled webu, ukázka e-mailu), označit třídou
 * .mw-keep-light nebo atributem data-mw-keep-light.
 */

:root[data-bs-theme="dark"] {
    --mw-d-bg: #181821;
    --mw-d-surface: #1f1f2b;
    --mw-d-surface-2: #262635;
    --mw-d-surface-3: #2d2d3f;
    --mw-d-border: #34344a;
    --mw-d-text: #c9cbd8;
    --mw-d-text-strong: #eceef6;
    --mw-d-muted: #9a9cab;
    --mw-d-faint: #7c7f92;
    --mw-d-primary: #5b8fff;
    --mw-d-primary-soft: rgba(91, 143, 255, .16);
    --mw-d-danger-soft: rgba(239, 83, 80, .16);
    --mw-d-success-soft: rgba(52, 199, 120, .16);
    --mw-d-warning-soft: rgba(245, 158, 11, .16);

    color-scheme: dark;

    /* Bootstrap 5.3 */
    --bs-body-bg: var(--mw-d-bg);
    --bs-body-bg-rgb: 24, 24, 33;
    --bs-body-color: var(--mw-d-text);
    --bs-body-color-rgb: 201, 203, 216;
    --bs-emphasis-color: var(--mw-d-text-strong);
    --bs-emphasis-color-rgb: 236, 238, 246;
    --bs-secondary-color: var(--mw-d-muted);
    --bs-tertiary-color: var(--mw-d-faint);
    --bs-secondary-bg: var(--mw-d-surface-2);
    --bs-secondary-bg-rgb: 38, 38, 53;
    --bs-tertiary-bg: var(--mw-d-surface);
    --bs-tertiary-bg-rgb: 31, 31, 43;
    --bs-border-color: var(--mw-d-border);
    --bs-border-color-translucent: rgba(255, 255, 255, .1);
    --bs-heading-color: var(--mw-d-text-strong);
    --bs-link-color: var(--mw-d-primary);
    --bs-link-color-rgb: 91, 143, 255;
    --bs-link-hover-color: #85abff;
    --bs-link-hover-color-rgb: 133, 171, 255;
    --bs-code-color: #f38ba8;

    /* admin-shell.css */
    --mw-border: var(--mw-d-border);
    --mw-card-shadow: 0 1px 2px rgba(0, 0, 0, .3);
}

/* ── Základ ─────────────────────────────────────────────────────────────── */

:root[data-bs-theme="dark"],
:root[data-bs-theme="dark"] body,
:root[data-bs-theme="dark"] .app,
:root[data-bs-theme="dark"] .app-container,
:root[data-bs-theme="dark"] .app-content {
    background-color: var(--mw-d-bg);
    color: var(--mw-d-text);
}

:root[data-bs-theme="dark"] h1, :root[data-bs-theme="dark"] h2, :root[data-bs-theme="dark"] h3,
:root[data-bs-theme="dark"] h4, :root[data-bs-theme="dark"] h5, :root[data-bs-theme="dark"] h6,
:root[data-bs-theme="dark"] .h1, :root[data-bs-theme="dark"] .h2, :root[data-bs-theme="dark"] .h3,
:root[data-bs-theme="dark"] .h4, :root[data-bs-theme="dark"] .h5, :root[data-bs-theme="dark"] .h6,
:root[data-bs-theme="dark"] strong, :root[data-bs-theme="dark"] b,
:root[data-bs-theme="dark"] .card-title, :root[data-bs-theme="dark"] .modal-title,
:root[data-bs-theme="dark"] label:not(.btn), :root[data-bs-theme="dark"] .form-label {
    color: var(--mw-d-text-strong);
}

:root[data-bs-theme="dark"] .text-muted,
:root[data-bs-theme="dark"] .text-secondary,
:root[data-bs-theme="dark"] .form-text,
:root[data-bs-theme="dark"] small.text-muted {
    color: var(--mw-d-muted) !important;
}
:root[data-bs-theme="dark"] .text-dark,
:root[data-bs-theme="dark"] .text-black,
:root[data-bs-theme="dark"] .text-body { color: var(--mw-d-text) !important; }
/* na světlých barevných štítcích (žlutá, tyrkysová) zůstává text tmavý */
:root[data-bs-theme="dark"] .bg-warning.text-dark, :root[data-bs-theme="dark"] .bg-info.text-dark,
:root[data-bs-theme="dark"] .text-bg-warning, :root[data-bs-theme="dark"] .text-bg-info,
:root[data-bs-theme="dark"] .btn-warning.text-dark, :root[data-bs-theme="dark"] .bg-warning .text-dark { color: #1a1a24 !important; }
:root[data-bs-theme="dark"] .text-primary { color: var(--mw-d-primary) !important; }
:root[data-bs-theme="dark"] .text-danger { color: #ff7b7b !important; }
:root[data-bs-theme="dark"] .text-success { color: #4fd18b !important; }
:root[data-bs-theme="dark"] .text-warning { color: #ffc35a !important; }
:root[data-bs-theme="dark"] .text-info { color: #5cd3f0 !important; }

:root[data-bs-theme="dark"] a:not(.btn):not(.nav-link):not(.dropdown-item):not(.badge):not(.list-group-item):not(.page-link):not(.app-sidebar a) { color: var(--mw-d-primary); }
:root[data-bs-theme="dark"] hr { border-color: var(--mw-d-border); opacity: 1; }
:root[data-bs-theme="dark"] code { color: #f38ba8; }
:root[data-bs-theme="dark"] pre { color: var(--mw-d-text); background: var(--mw-d-surface-2); }
:root[data-bs-theme="dark"] kbd { background: var(--mw-d-surface-3); color: var(--mw-d-text-strong); }
:root[data-bs-theme="dark"] mark, :root[data-bs-theme="dark"] .mark { background: rgba(255, 195, 90, .3); color: var(--mw-d-text-strong); }
:root[data-bs-theme="dark"] ::placeholder { color: var(--mw-d-faint) !important; }

/* nadpisy a tučné písmo na sytých barevných plochách (hlavičky modálních oken, karty) */
:root[data-bs-theme="dark"] :is(.bg-danger, .bg-primary, .bg-success, .bg-dark, .bg-secondary) :is(h1, h2, h3, h4, h5, h6, .modal-title, strong, b, label, i) { color: #fff; }
:root[data-bs-theme="dark"] .bg-warning :is(h1, h2, h3, h4, h5, h6, .modal-title, strong, b, label, i) { color: #1a1a24; }

/* ── Pozadí a povrchy z Bootstrapu ──────────────────────────────────────── */

:root[data-bs-theme="dark"] .bg-white,
:root[data-bs-theme="dark"] .bg-body { background-color: var(--mw-d-surface) !important; }
:root[data-bs-theme="dark"] .bg-light,
:root[data-bs-theme="dark"] .bg-body-tertiary,
:root[data-bs-theme="dark"] .bg-body-secondary { background-color: var(--mw-d-surface-2) !important; color: var(--mw-d-text); }
:root[data-bs-theme="dark"] .bg-light.text-dark,
:root[data-bs-theme="dark"] .badge.bg-light { color: var(--mw-d-text) !important; }
:root[data-bs-theme="dark"] .border,
:root[data-bs-theme="dark"] .border-top,
:root[data-bs-theme="dark"] .border-bottom,
:root[data-bs-theme="dark"] .border-start,
:root[data-bs-theme="dark"] .border-end { border-color: var(--mw-d-border) !important; }
:root[data-bs-theme="dark"] .shadow,
:root[data-bs-theme="dark"] .shadow-sm { box-shadow: 0 2px 8px rgba(0, 0, 0, .35) !important; }

:root[data-bs-theme="dark"] .bg-primary-subtle, :root[data-bs-theme="dark"] .alert-primary { background-color: var(--mw-d-primary-soft) !important; }
:root[data-bs-theme="dark"] .bg-danger-subtle { background-color: var(--mw-d-danger-soft) !important; }
:root[data-bs-theme="dark"] .bg-success-subtle { background-color: var(--mw-d-success-soft) !important; }
:root[data-bs-theme="dark"] .bg-warning-subtle { background-color: var(--mw-d-warning-soft) !important; }

/* ── Karty, tabulky, seznamy ────────────────────────────────────────────── */

:root[data-bs-theme="dark"] .card {
    --bs-card-bg: var(--mw-d-surface);
    --bs-card-cap-bg: var(--mw-d-surface);
    --bs-card-border-color: var(--mw-d-border);
    --bs-card-color: var(--mw-d-text);
    background-color: var(--mw-d-surface);
    color: var(--mw-d-text);
    border-color: var(--mw-d-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
}
:root[data-bs-theme="dark"] .card-header,
:root[data-bs-theme="dark"] .card-footer {
    background-color: var(--mw-d-surface);
    border-color: var(--mw-d-border);
    color: var(--mw-d-text-strong);
}
:root[data-bs-theme="dark"] .card .card-body { color: var(--mw-d-text); }

:root[data-bs-theme="dark"] .table {
    --bs-table-color: var(--mw-d-text);
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--mw-d-border);
    --bs-table-striped-bg: rgba(255, 255, 255, .03);
    --bs-table-striped-color: var(--mw-d-text);
    --bs-table-hover-bg: rgba(255, 255, 255, .05);
    --bs-table-hover-color: var(--mw-d-text-strong);
    --bs-table-active-bg: rgba(255, 255, 255, .08);
    color: var(--mw-d-text);
    border-color: var(--mw-d-border);
}
:root[data-bs-theme="dark"] .table > :not(caption) > * > * { border-bottom-color: var(--mw-d-border); color: var(--bs-table-color); }
:root[data-bs-theme="dark"] .table thead th,
:root[data-bs-theme="dark"] .table-light,
:root[data-bs-theme="dark"] .table-light > * > *,
:root[data-bs-theme="dark"] thead.table-light th {
    --bs-table-bg: var(--mw-d-surface-2);
    --bs-table-color: var(--mw-d-muted);
    background-color: var(--mw-d-surface-2) !important;
    color: var(--mw-d-muted) !important;
    border-color: var(--mw-d-border);
}
:root[data-bs-theme="dark"] .table-warning > *, :root[data-bs-theme="dark"] tr.table-warning > * { --bs-table-bg: var(--mw-d-warning-soft); --bs-table-color: var(--mw-d-text); }
:root[data-bs-theme="dark"] .table-danger > *, :root[data-bs-theme="dark"] tr.table-danger > * { --bs-table-bg: var(--mw-d-danger-soft); --bs-table-color: var(--mw-d-text); }
:root[data-bs-theme="dark"] .table-success > *, :root[data-bs-theme="dark"] tr.table-success > * { --bs-table-bg: var(--mw-d-success-soft); --bs-table-color: var(--mw-d-text); }
:root[data-bs-theme="dark"] .table-info > *, :root[data-bs-theme="dark"] .table-primary > *,
:root[data-bs-theme="dark"] tr.table-info > *, :root[data-bs-theme="dark"] tr.table-primary > * { --bs-table-bg: var(--mw-d-primary-soft); --bs-table-color: var(--mw-d-text); }
:root[data-bs-theme="dark"] .table-active > * { --bs-table-bg: rgba(255, 255, 255, .08); }

:root[data-bs-theme="dark"] .list-group {
    --bs-list-group-bg: var(--mw-d-surface);
    --bs-list-group-color: var(--mw-d-text);
    --bs-list-group-border-color: var(--mw-d-border);
    --bs-list-group-action-hover-bg: var(--mw-d-surface-2);
    --bs-list-group-action-hover-color: var(--mw-d-text-strong);
    --bs-list-group-action-color: var(--mw-d-text);
}
:root[data-bs-theme="dark"] .list-group-item { background-color: var(--mw-d-surface); color: var(--mw-d-text); border-color: var(--mw-d-border); }
:root[data-bs-theme="dark"] .list-group-item.active { background-color: var(--mw-d-primary-soft); color: var(--mw-d-text-strong); border-color: var(--mw-d-primary); }

/* ── Formuláře ──────────────────────────────────────────────────────────── */

:root[data-bs-theme="dark"] .form-control,
:root[data-bs-theme="dark"] .form-select,
:root[data-bs-theme="dark"] input[type="text"], :root[data-bs-theme="dark"] input[type="email"],
:root[data-bs-theme="dark"] input[type="number"], :root[data-bs-theme="dark"] input[type="password"],
:root[data-bs-theme="dark"] input[type="search"], :root[data-bs-theme="dark"] input[type="url"],
:root[data-bs-theme="dark"] input[type="tel"], :root[data-bs-theme="dark"] input[type="date"],
:root[data-bs-theme="dark"] input[type="datetime-local"], :root[data-bs-theme="dark"] input[type="time"],
:root[data-bs-theme="dark"] textarea, :root[data-bs-theme="dark"] select {
    /* jeden odstín pro všechna pole (Neptune má pro .form-control, -solid a select různé) */
    background-color: #181821 !important;
    color: var(--mw-d-text-strong);
    border-color: var(--mw-d-border);
}
:root[data-bs-theme="dark"] .form-control:focus,
:root[data-bs-theme="dark"] .form-select:focus,
:root[data-bs-theme="dark"] textarea:focus, :root[data-bs-theme="dark"] select:focus {
    background-color: #181821;
    color: var(--mw-d-text-strong);
    border-color: var(--mw-d-primary);
    box-shadow: 0 0 0 .2rem rgba(91, 143, 255, .25);
}
:root[data-bs-theme="dark"] .form-control:disabled,
:root[data-bs-theme="dark"] .form-control[readonly],
:root[data-bs-theme="dark"] .form-select:disabled { background-color: var(--mw-d-surface-2) !important; color: var(--mw-d-muted); }
:root[data-bs-theme="dark"] .form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23c9cbd8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
:root[data-bs-theme="dark"] .input-group-text { background-color: var(--mw-d-surface-2); color: var(--mw-d-text); border-color: var(--mw-d-border); }
:root[data-bs-theme="dark"] .form-check-input { background-color: #181821 !important; border-color: #6a6a88 !important; }
:root[data-bs-theme="dark"] .form-check-input:checked { background-color: var(--mw-d-primary) !important; border-color: var(--mw-d-primary) !important; }
:root[data-bs-theme="dark"] .form-check-input:checked { background-color: var(--mw-d-primary); border-color: var(--mw-d-primary); }
:root[data-bs-theme="dark"] .form-range::-webkit-slider-runnable-track { background-color: var(--mw-d-surface-3); }
:root[data-bs-theme="dark"] input[type="color"] { background-color: transparent; }
:root[data-bs-theme="dark"] option { background-color: var(--mw-d-surface); color: var(--mw-d-text-strong); }
/* nativní políčka bez .form-check-input: tmavá varianta prohlížeče na tmavých řádcích mizí, světlá je čitelná */
:root[data-bs-theme="dark"] input[type="checkbox"]:not(.form-check-input), :root[data-bs-theme="dark"] input[type="radio"]:not(.form-check-input) { color-scheme: light; accent-color: #2269f5; }
:root[data-bs-theme="dark"] input.form-check-input[type="checkbox"], :root[data-bs-theme="dark"] input.form-check-input[type="radio"] { background-color: #181821 !important; }
:root[data-bs-theme="dark"] input.form-check-input:checked { background-color: var(--mw-d-primary) !important; }
:root[data-bs-theme="dark"] input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #14141c inset !important;
    -webkit-text-fill-color: var(--mw-d-text-strong) !important;
}

/* ── Tlačítka ───────────────────────────────────────────────────────────── */

:root[data-bs-theme="dark"] .btn-light {
    --bs-btn-bg: var(--mw-d-surface-2); --bs-btn-border-color: var(--mw-d-border); --bs-btn-color: var(--mw-d-text);
    --bs-btn-hover-bg: var(--mw-d-surface-3); --bs-btn-hover-border-color: var(--mw-d-border); --bs-btn-hover-color: var(--mw-d-text-strong);
    --bs-btn-active-bg: var(--mw-d-surface-3); --bs-btn-active-color: var(--mw-d-text-strong);
    background-color: var(--mw-d-surface-2); border-color: var(--mw-d-border); color: var(--mw-d-text);
}
:root[data-bs-theme="dark"] .btn-white,
:root[data-bs-theme="dark"] .btn-outline-light { background-color: var(--mw-d-surface-2); border-color: var(--mw-d-border); color: var(--mw-d-text); }
:root[data-bs-theme="dark"] .btn-outline-secondary,
:root[data-bs-theme="dark"] .btn-outline-dark {
    --bs-btn-color: var(--mw-d-text); --bs-btn-border-color: #4a4a63;
    --bs-btn-hover-bg: var(--mw-d-surface-3); --bs-btn-hover-color: var(--mw-d-text-strong); --bs-btn-hover-border-color: #5a5a76;
    --bs-btn-active-bg: var(--mw-d-surface-3); --bs-btn-active-color: var(--mw-d-text-strong);
    color: var(--mw-d-text); border-color: #4a4a63;
}
:root[data-bs-theme="dark"] .btn-outline-secondary:hover, :root[data-bs-theme="dark"] .btn-outline-dark:hover,
:root[data-bs-theme="dark"] .btn-outline-secondary.active, :root[data-bs-theme="dark"] .btn-check:checked + .btn-outline-secondary {
    background-color: var(--mw-d-surface-3); color: var(--mw-d-text-strong);
}
:root[data-bs-theme="dark"] .btn-outline-primary { --bs-btn-color: var(--mw-d-primary); --bs-btn-border-color: var(--mw-d-primary); color: var(--mw-d-primary); border-color: var(--mw-d-primary); }
:root[data-bs-theme="dark"] .btn-outline-primary:hover { color: #fff; }
:root[data-bs-theme="dark"] .btn-link { color: var(--mw-d-primary); }
:root[data-bs-theme="dark"] .btn-secondary { background-color: #4a4a63; border-color: #4a4a63; color: #fff; }
:root[data-bs-theme="dark"] .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }

/* ── Badge, alerty, progress ────────────────────────────────────────────── */

/* Neptune v tmavém motivu barví text štítků a tlačítek šedě; na sytém podkladu má být bílý. */
:root[data-bs-theme="dark"] .badge.bg-primary, :root[data-bs-theme="dark"] .badge.bg-danger,
:root[data-bs-theme="dark"] .badge.bg-success, :root[data-bs-theme="dark"] .badge.bg-secondary,
:root[data-bs-theme="dark"] .badge.bg-dark, :root[data-bs-theme="dark"] .badge.bg-info:not(.text-dark),
:root[data-bs-theme="dark"] .text-bg-primary, :root[data-bs-theme="dark"] .text-bg-danger,
:root[data-bs-theme="dark"] .text-bg-success, :root[data-bs-theme="dark"] .text-bg-secondary,
:root[data-bs-theme="dark"] .btn-primary, :root[data-bs-theme="dark"] .btn-danger,
:root[data-bs-theme="dark"] .btn-success, :root[data-bs-theme="dark"] .btn-info,
:root[data-bs-theme="dark"] .btn-primary i, :root[data-bs-theme="dark"] .btn-danger i,
:root[data-bs-theme="dark"] .btn-success i { color: #fff !important; }
:root[data-bs-theme="dark"] .table .btn-primary, :root[data-bs-theme="dark"] .table .btn-danger,
:root[data-bs-theme="dark"] .table .btn-success, :root[data-bs-theme="dark"] .table .btn-info,
:root[data-bs-theme="dark"] .table .btn-secondary, :root[data-bs-theme="dark"] .table .btn-dark,
:root[data-bs-theme="dark"] .table .btn-primary *, :root[data-bs-theme="dark"] .table .btn-danger *,
:root[data-bs-theme="dark"] .table .btn-success *, :root[data-bs-theme="dark"] .table .btn-info * { color: #fff !important; }
:root[data-bs-theme="dark"] .btn-warning, :root[data-bs-theme="dark"] .btn-warning *,
:root[data-bs-theme="dark"] .table .btn-warning, :root[data-bs-theme="dark"] .table .btn-warning * { color: #1a1a24 !important; }
:root[data-bs-theme="dark"] .btn-info, :root[data-bs-theme="dark"] .card.bg-info { background-color: #2a73c4 !important; border-color: #2a73c4 !important; }
:root[data-bs-theme="dark"] .card.bg-success { background-color: #23824f !important; }
:root[data-bs-theme="dark"] .card.bg-warning { background-color: #b86e0a !important; }
:root[data-bs-theme="dark"] .card.bg-info *, :root[data-bs-theme="dark"] .card.bg-success *, :root[data-bs-theme="dark"] .card.bg-warning * { color: #fff !important; }
:root[data-bs-theme="dark"] .table .form-check-input { border-color: #6a6a88 !important; }
:root[data-bs-theme="dark"] .btn-check:checked + .btn-outline-primary,
:root[data-bs-theme="dark"] .btn-outline-primary.active,
:root[data-bs-theme="dark"] .btn-outline-primary:active { background-color: #2269f5; border-color: #2269f5; color: #fff !important; }

:root[data-bs-theme="dark"] .badge.bg-light,
:root[data-bs-theme="dark"] .badge.text-bg-light { background-color: var(--mw-d-surface-3) !important; color: var(--mw-d-text) !important; }
:root[data-bs-theme="dark"] .badge.bg-secondary { background-color: #4a4a63 !important; }
:root[data-bs-theme="dark"] .alert { border-color: transparent; }
:root[data-bs-theme="dark"] .alert-primary,
:root[data-bs-theme="dark"] .alert-info { background-color: var(--mw-d-primary-soft); color: #b9cdff; border-color: rgba(91, 143, 255, .3); }
:root[data-bs-theme="dark"] .alert-success { background-color: var(--mw-d-success-soft); color: #9fe3bd; border-color: rgba(52, 199, 120, .3); }
:root[data-bs-theme="dark"] .alert-warning { background-color: var(--mw-d-warning-soft); color: #ffd796; border-color: rgba(245, 158, 11, .3); }
:root[data-bs-theme="dark"] .alert-danger { background-color: var(--mw-d-danger-soft); color: #ffb4b2; border-color: rgba(239, 83, 80, .3); }
:root[data-bs-theme="dark"] .alert-secondary,
:root[data-bs-theme="dark"] .alert-light { background-color: var(--mw-d-surface-2); color: var(--mw-d-text); border-color: var(--mw-d-border); }
:root[data-bs-theme="dark"] .alert a:not(.btn) { color: inherit; text-decoration: underline; }
:root[data-bs-theme="dark"] .alert strong { color: inherit; }
:root[data-bs-theme="dark"] .progress { background-color: var(--mw-d-surface-3); }

/* ── Dropdowny, modaly, popovery, tooltipy, offcanvas ───────────────────── */

:root[data-bs-theme="dark"] .dropdown-menu {
    --bs-dropdown-bg: var(--mw-d-surface);
    --bs-dropdown-color: var(--mw-d-text);
    --bs-dropdown-border-color: var(--mw-d-border);
    --bs-dropdown-link-color: var(--mw-d-text);
    --bs-dropdown-link-hover-color: var(--mw-d-text-strong);
    --bs-dropdown-link-hover-bg: var(--mw-d-surface-2);
    --bs-dropdown-header-color: var(--mw-d-muted);
    --bs-dropdown-divider-bg: var(--mw-d-border);
    background-color: var(--mw-d-surface);
    border-color: var(--mw-d-border);
    color: var(--mw-d-text);
    box-shadow: 0 12px 32px rgba(0, 0, 0, .5);
}
:root[data-bs-theme="dark"] .dropdown-item { color: var(--mw-d-text); }
:root[data-bs-theme="dark"] .dropdown-item:hover,
:root[data-bs-theme="dark"] .dropdown-item:focus { background-color: var(--mw-d-surface-2); color: var(--mw-d-text-strong); }
:root[data-bs-theme="dark"] .dropdown-item.active,
:root[data-bs-theme="dark"] .dropdown-item:active { background-color: var(--mw-d-primary-soft); color: var(--mw-d-text-strong); }
:root[data-bs-theme="dark"] .dropdown-header { color: var(--mw-d-muted); }
:root[data-bs-theme="dark"] .dropdown-divider { border-color: var(--mw-d-border); }

:root[data-bs-theme="dark"] .modal-content {
    --bs-modal-bg: var(--mw-d-surface);
    --bs-modal-color: var(--mw-d-text);
    --bs-modal-border-color: var(--mw-d-border);
    --bs-modal-header-border-color: var(--mw-d-border);
    --bs-modal-footer-border-color: var(--mw-d-border);
    background-color: var(--mw-d-surface);
    color: var(--mw-d-text);
    border-color: var(--mw-d-border);
}
:root[data-bs-theme="dark"] .modal-header,
:root[data-bs-theme="dark"] .modal-footer { border-color: var(--mw-d-border); background-color: var(--mw-d-surface); }
:root[data-bs-theme="dark"] .modal-backdrop.show { opacity: .7; }
:root[data-bs-theme="dark"] .offcanvas { background-color: var(--mw-d-surface); color: var(--mw-d-text); border-color: var(--mw-d-border); }
:root[data-bs-theme="dark"] .popover {
    --bs-popover-bg: var(--mw-d-surface-2); --bs-popover-border-color: var(--mw-d-border);
    --bs-popover-header-bg: var(--mw-d-surface-3); --bs-popover-header-color: var(--mw-d-text-strong);
    --bs-popover-body-color: var(--mw-d-text);
}
:root[data-bs-theme="dark"] .tooltip { --bs-tooltip-bg: #eceef6; --bs-tooltip-color: #181821; }
:root[data-bs-theme="dark"] .toast { background-color: var(--mw-d-surface-2); color: var(--mw-d-text); border-color: var(--mw-d-border); }
:root[data-bs-theme="dark"] .toast-header { background-color: var(--mw-d-surface-3); color: var(--mw-d-text-strong); }

/* ── Navigace: záložky, pilulky, stránkování, breadcrumb, accordion ─────── */

:root[data-bs-theme="dark"] .nav-tabs { border-color: var(--mw-d-border); }
:root[data-bs-theme="dark"] .nav-tabs .nav-link { color: var(--mw-d-muted); }
:root[data-bs-theme="dark"] .nav-tabs .nav-link:hover { color: var(--mw-d-text-strong); border-color: var(--mw-d-border); }
:root[data-bs-theme="dark"] .nav-tabs .nav-link.active,
:root[data-bs-theme="dark"] .nav-tabs .nav-item.show .nav-link {
    background-color: var(--mw-d-surface); color: var(--mw-d-text-strong);
    border-color: var(--mw-d-border) var(--mw-d-border) var(--mw-d-surface);
}
:root[data-bs-theme="dark"] .nav-pills .nav-link { color: var(--mw-d-muted); }
:root[data-bs-theme="dark"] .nav-pills .nav-link.active { background-color: var(--mw-d-primary); color: #fff; }
:root[data-bs-theme="dark"] .page-link { background-color: var(--mw-d-surface); border-color: var(--mw-d-border); color: var(--mw-d-text); }
:root[data-bs-theme="dark"] .page-link:hover { background-color: var(--mw-d-surface-2); color: var(--mw-d-text-strong); }
:root[data-bs-theme="dark"] .page-item.active .page-link,
:root[data-bs-theme="dark"] .dataTables_paginate .paginate_button.current,
:root[data-bs-theme="dark"] .dataTables_paginate .paginate_button.current:hover { background: #2269f5 !important; border-color: #2269f5 !important; color: #fff !important; }
:root[data-bs-theme="dark"] .page-item.disabled .page-link { background-color: var(--mw-d-surface); color: var(--mw-d-faint); }
:root[data-bs-theme="dark"] .breadcrumb-item, :root[data-bs-theme="dark"] .breadcrumb-item.active { color: var(--mw-d-muted); }
:root[data-bs-theme="dark"] .accordion {
    --bs-accordion-bg: var(--mw-d-surface); --bs-accordion-color: var(--mw-d-text);
    --bs-accordion-border-color: var(--mw-d-border);
    --bs-accordion-btn-bg: var(--mw-d-surface); --bs-accordion-btn-color: var(--mw-d-text-strong);
    --bs-accordion-active-bg: var(--mw-d-surface-2); --bs-accordion-active-color: var(--mw-d-text-strong);
}
:root[data-bs-theme="dark"] .accordion-button::after { filter: invert(1) brightness(1.5); }

/* ── Shell administrace (admin-shell.css) ───────────────────────────────── */

:root[data-bs-theme="dark"] .app-header,
:root[data-bs-theme="dark"] .app-header .navbar { background-color: var(--mw-d-surface); border-color: var(--mw-d-border); }
:root[data-bs-theme="dark"] .app-header { box-shadow: 0 1px 0 var(--mw-d-border); }
:root[data-bs-theme="dark"] .app-header .navbar .navbar-nav > li > a,
:root[data-bs-theme="dark"] .app-header .navbar .navbar-nav > li > a i,
:root[data-bs-theme="dark"] .app-header .mw-page-title { color: var(--mw-d-text); }
:root[data-bs-theme="dark"] .app-header .navbar .navbar-nav > li > a:hover,
:root[data-bs-theme="dark"] .app-header .navbar .navbar-nav > li > a:hover i { color: var(--mw-d-text-strong); }
:root[data-bs-theme="dark"] .app-sidebar { border-color: var(--mw-d-border); }
:root[data-bs-theme="dark"] .app-sidebar .logo { background: var(--mw-d-surface); border-color: var(--mw-d-border); }
:root[data-bs-theme="dark"] .app-sidebar .logo .mw-brand-logo { background: var(--mw-d-surface-2); }
:root[data-bs-theme="dark"] .app-sidebar .logo a,
:root[data-bs-theme="dark"] .app-sidebar .logo .logo-text { color: var(--mw-d-text-strong); }
:root[data-bs-theme="dark"] .app-sidebar .app-menu a { color: var(--mw-d-text); }
:root[data-bs-theme="dark"] .app-sidebar .app-menu a:hover { color: var(--mw-d-text-strong); }
:root[data-bs-theme="dark"] .app-sidebar .mw-brand-name { color: var(--mw-d-text-strong); }
:root[data-bs-theme="dark"] .app-menu > ul > li > a i,
:root[data-bs-theme="dark"] .accordion-menu li.sidebar-title { color: var(--mw-d-muted); }
:root[data-bs-theme="dark"] .app-menu > ul > li.active-page > a,
:root[data-bs-theme="dark"] .app-menu > ul > li.active-page > a i,
:root[data-bs-theme="dark"] .app-menu > ul > li > a:hover,
:root[data-bs-theme="dark"] .app-menu > ul > li > a:hover i { color: var(--mw-d-text-strong) !important; }
:root[data-bs-theme="dark"] .app-menu > ul > li.active-page > a { background-color: var(--mw-d-primary-soft); }

:root[data-bs-theme="dark"] .mw-drawer { background: var(--mw-d-surface); box-shadow: -12px 0 32px rgba(0, 0, 0, .5); color: var(--mw-d-text); }
:root[data-bs-theme="dark"] .mw-drawer .mw-drawer-close { color: var(--mw-d-muted); }
:root[data-bs-theme="dark"] .mw-drawer .mw-drawer-close:hover { background: var(--mw-d-surface-2); }
:root[data-bs-theme="dark"] .mw-drawer-backdrop { background: rgba(0, 0, 0, .6); }

:root[data-bs-theme="dark"] .mw-user-dropdown .dropdown-header,
:root[data-bs-theme="dark"] .mw-user-dropdown .dropdown-item i,
:root[data-bs-theme="dark"] .mw-credit-dropdown .dropdown-header,
:root[data-bs-theme="dark"] .mw-credit-dropdown .mw-credit-total .unit,
:root[data-bs-theme="dark"] .mw-superadmin-mega .dropdown-header { color: var(--mw-d-muted); }
:root[data-bs-theme="dark"] .mw-superadmin-mega .mw-mega-title .dropdown-header { color: var(--mw-d-text); }
:root[data-bs-theme="dark"] .mw-user-dropdown .dropdown-item:hover i { color: var(--mw-d-text-strong); }
:root[data-bs-theme="dark"] .mw-credit-dropdown .mw-credit-line { color: var(--mw-d-text); }
:root[data-bs-theme="dark"] .mw-credit-dropdown .mw-credit-note { color: #ff9a98; }
:root[data-bs-theme="dark"] .mw-user-dropdown .dropdown-item.mw-menu-cta,
:root[data-bs-theme="dark"] .mw-credit-dropdown .dropdown-item.mw-menu-cta { background: var(--mw-d-primary-soft); color: #9bbcff; }
:root[data-bs-theme="dark"] .mw-user-dropdown .dropdown-item.mw-menu-cta i { color: #9bbcff; }
:root[data-bs-theme="dark"] .mw-user-dropdown .dropdown-item.mw-menu-cta:hover,
:root[data-bs-theme="dark"] .mw-credit-dropdown .dropdown-item.mw-menu-cta:hover { background: #2269f5; color: #fff; }
:root[data-bs-theme="dark"] .app-header .navbar .navbar-nav > li > a.mw-credit-chip,
:root[data-bs-theme="dark"] .app-header .navbar .navbar-nav > li > span.mw-credit { background: var(--mw-d-primary-soft); color: #b9cdff; }
:root[data-bs-theme="dark"] .app-header .navbar .navbar-nav > li > a.mw-credit-chip:hover { background: rgba(91, 143, 255, .26); color: #dbe6ff; }
:root[data-bs-theme="dark"] .app-header .mw-credit-chip.is-low,
:root[data-bs-theme="dark"] .app-header .navbar .navbar-nav > li > a.mw-credit-chip.is-low { background: var(--mw-d-danger-soft); color: #ffb4b2; }

:root[data-bs-theme="dark"] .mw-tile,
:root[data-bs-theme="dark"] .mw-metric,
:root[data-bs-theme="dark"] .mw-site-card { background: var(--mw-d-surface); border-color: var(--mw-d-border); color: var(--mw-d-text); }
:root[data-bs-theme="dark"] a.mw-tile:hover { border-color: #4f6db0; }
:root[data-bs-theme="dark"] .mw-tile .mw-tile-icon { background: color-mix(in srgb, var(--tile-c, #5b8fff) 22%, var(--mw-d-surface)); color: color-mix(in srgb, var(--tile-c, #5b8fff) 70%, #fff); }
:root[data-bs-theme="dark"] .mw-tile .mw-tile-label,
:root[data-bs-theme="dark"] .mw-metric .mw-metric-label,
:root[data-bs-theme="dark"] .mw-kpi-label,
:root[data-bs-theme="dark"] .mw-site-extra { color: var(--mw-d-muted); }
:root[data-bs-theme="dark"] .mw-tile .mw-tile-value,
:root[data-bs-theme="dark"] .mw-metric .mw-metric-value,
:root[data-bs-theme="dark"] .mw-kpi-value { color: var(--mw-d-text-strong); }
:root[data-bs-theme="dark"] .mw-tile .mw-tile-value small,
:root[data-bs-theme="dark"] .mw-tile .mw-tile-sub,
:root[data-bs-theme="dark"] .mw-site-domain,
:root[data-bs-theme="dark"] .mw-site-extra i,
:root[data-bs-theme="dark"] .mw-kpi-empty { color: var(--mw-d-faint); }
:root[data-bs-theme="dark"] .mw-tile .progress { background: var(--mw-d-surface-3); }
:root[data-bs-theme="dark"] .mw-metric.active { border-color: var(--mw-d-primary); box-shadow: 0 0 0 3px rgba(91, 143, 255, .2); }
:root[data-bs-theme="dark"] .mw-up, :root[data-bs-theme="dark"] .mw-site-issues--ok { color: #4fd18b !important; }
:root[data-bs-theme="dark"] .mw-down, :root[data-bs-theme="dark"] .mw-issue--danger { color: #ff7b7b !important; }
:root[data-bs-theme="dark"] .mw-flat { color: var(--mw-d-muted) !important; }
:root[data-bs-theme="dark"] .mw-kpi-value.is-active { color: var(--mw-d-primary); }
:root[data-bs-theme="dark"] .mw-kpi-value.is-warn, :root[data-bs-theme="dark"] .mw-issue--warning { color: #ffc35a; }
:root[data-bs-theme="dark"] .mw-site-shot,
:root[data-bs-theme="dark"] .mw-site-logo { background: var(--mw-d-surface-2); }
:root[data-bs-theme="dark"] .mw-site-logo--initials { background: var(--mw-d-surface-3); color: var(--mw-d-text); }
:root[data-bs-theme="dark"] .app.sidebar-hidden .app-sidebar { box-shadow: 12px 0 32px rgba(0, 0, 0, .5); }

:root[data-bs-theme="dark"] .mw-tour-overlay { background: rgba(0, 0, 0, .6); }
:root[data-bs-theme="dark"] .mw-tour-bubble { background: var(--mw-d-surface-2); box-shadow: 0 18px 44px rgba(0, 0, 0, .6); color: var(--mw-d-text); }
:root[data-bs-theme="dark"] .mw-tour-body { color: var(--mw-d-text); }
:root[data-bs-theme="dark"] .mw-tour-counter, :root[data-bs-theme="dark"] .mw-tour-x, :root[data-bs-theme="dark"] .mw-tour-link { color: var(--mw-d-muted); }
:root[data-bs-theme="dark"] .mw-tour-x:hover { color: var(--mw-d-text-strong); }

:root[data-bs-theme="dark"] .mw-codes__head { background: var(--mw-d-surface-2); color: var(--mw-d-text-strong); }
:root[data-bs-theme="dark"] .mw-codes__head:hover { background: var(--mw-d-surface-3); }
:root[data-bs-theme="dark"] .mw-filechoice__thumb { background: var(--mw-d-surface-2); color: var(--mw-d-muted); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06); }
:root[data-bs-theme="dark"] .mw-filechoice__name { color: var(--mw-d-text-strong); }
:root[data-bs-theme="dark"] .mw-filechoice__meta { color: var(--mw-d-muted); }

:root[data-bs-theme="dark"] .user-avatar-trigger { background: var(--mw-d-surface-3); color: var(--mw-d-text); }

/* ── Barvy zapsané přímo ve style="" šablon ────────────────────────────────
 * Bílá pozadí z šablon se mapují hned tady (bez probliknutí). Ostatní světlé
 * podklady a tmavé texty převádí assets/js/admin-dark.js na tmavý odstín
 * téže barvy, aby barevné panely neztratily význam. */

:root[data-bs-theme="dark"] [style*="background:#fff"]:not(.mw-keep-light *),
:root[data-bs-theme="dark"] [style*="background: #fff"]:not(.mw-keep-light *),
:root[data-bs-theme="dark"] [style*="background-color:#fff"]:not(.mw-keep-light *),
:root[data-bs-theme="dark"] [style*="background-color: #fff"]:not(.mw-keep-light *),
:root[data-bs-theme="dark"] [style*="background:white"]:not(.mw-keep-light *),
:root[data-bs-theme="dark"] [style*="background: white"]:not(.mw-keep-light *),
:root[data-bs-theme="dark"] [style*="background-color: white"]:not(.mw-keep-light *),
:root[data-bs-theme="dark"] [style*="background:#ffffff"]:not(.mw-keep-light *),
:root[data-bs-theme="dark"] [style*="background: #ffffff"]:not(.mw-keep-light *),
:root[data-bs-theme="dark"] [style*="background-color:#ffffff"]:not(.mw-keep-light *),
:root[data-bs-theme="dark"] [style*="background-color: #ffffff"]:not(.mw-keep-light *) {
    background-color: var(--mw-d-surface) !important;
    color: var(--mw-d-text);
}
/* CodeMirror 5 (HTML režim editoru stránek, článků a šablon) */
:root[data-bs-theme="dark"] .CodeMirror { background: #14141c; color: #e3e5ee; border-color: var(--mw-d-border); }
:root[data-bs-theme="dark"] .CodeMirror-gutters { background: #1b1b25; border-right-color: var(--mw-d-border); }
:root[data-bs-theme="dark"] .CodeMirror-linenumber { color: #6b6e82; }
:root[data-bs-theme="dark"] .CodeMirror-cursor { border-left-color: #fff; }
:root[data-bs-theme="dark"] .CodeMirror-selected, :root[data-bs-theme="dark"] .CodeMirror-focused .CodeMirror-selected { background: rgba(91, 143, 255, .3); }
:root[data-bs-theme="dark"] .CodeMirror-activeline-background { background: rgba(255, 255, 255, .04); }
:root[data-bs-theme="dark"] .CodeMirror-matchingbracket { color: #7ee787 !important; }
:root[data-bs-theme="dark"] .cm-s-default .cm-tag { color: #7ee787; }
:root[data-bs-theme="dark"] .cm-s-default .cm-attribute { color: #79c0ff; }
:root[data-bs-theme="dark"] .cm-s-default .cm-string, :root[data-bs-theme="dark"] .cm-s-default .cm-string-2 { color: #ffa657; }
:root[data-bs-theme="dark"] .cm-s-default .cm-keyword { color: #ff7b72; }
:root[data-bs-theme="dark"] .cm-s-default .cm-def, :root[data-bs-theme="dark"] .cm-s-default .cm-variable-2 { color: #d2a8ff; }
:root[data-bs-theme="dark"] .cm-s-default .cm-variable, :root[data-bs-theme="dark"] .cm-s-default .cm-property { color: #e3e5ee; }
:root[data-bs-theme="dark"] .cm-s-default .cm-number, :root[data-bs-theme="dark"] .cm-s-default .cm-atom { color: #79c0ff; }
:root[data-bs-theme="dark"] .cm-s-default .cm-comment { color: #8b949e; }
:root[data-bs-theme="dark"] .cm-s-default .cm-bracket, :root[data-bs-theme="dark"] .cm-s-default .cm-meta { color: #a5a8b8; }
:root[data-bs-theme="dark"] .cm-s-default .cm-qualifier, :root[data-bs-theme="dark"] .cm-s-default .cm-builtin { color: #d2a8ff; }

/* Návrhář sekcí: ukazatel přiblížení nad plátnem */
:root[data-bs-theme="dark"] #nv-zoom { background: rgba(31, 31, 43, .92) !important; color: var(--mw-d-text); }

/* Prvky, které mají zůstat světlé: náhled webu, ukázka e-mailu, vybraná barva. */
:root[data-bs-theme="dark"] .mw-keep-light,
:root[data-bs-theme="dark"] [data-mw-keep-light] { color-scheme: light; }
