/**
 * Dunkelmodus für den Admin-Bereich (html.admin-theme-dark).
 * Wird per admin-theme.js + localStorage gesteuert; Login bleibt unverändert.
 */

html.admin-theme-dark {
    color-scheme: dark;
}

html.admin-theme-dark {
    --admin-bg: #12151a;
    --admin-surface: #1a2028;
    --admin-elevated: #222a34;
    --admin-border: rgba(255, 255, 255, 0.09);
    --admin-text: #e4e7eb;
    --admin-muted: #9aa3ad;
    --admin-input-bg: #252d38;
    --admin-topbar: #1e252d;
}

html.admin-theme-dark body {
    background-color: var(--admin-bg) !important;
    color: var(--admin-text);
}

html.admin-theme-dark .preloader {
    background: var(--admin-bg) !important;
}

/* Hauptfläche */
html.admin-theme-dark #main-wrapper[data-layout="vertical"] .page-wrapper,
html.admin-theme-dark #main-wrapper[data-layout="horizontal"] .page-wrapper,
html.admin-theme-dark .page-wrapper {
    background: var(--admin-bg) !important;
}

/* Topbar (rechter Teil war weiß) */
html.admin-theme-dark .topbar {
    background: var(--admin-topbar) !important;
    box-shadow: 0 1px 0 var(--admin-border);
}

html.admin-theme-dark #main-wrapper[data-layout="vertical"] .topbar .navbar-collapse[data-navbarbg="skin6"],
html.admin-theme-dark #main-wrapper[data-layout="vertical"] .topbar[data-navbarbg="skin6"],
html.admin-theme-dark #main-wrapper[data-layout="horizontal"] .topbar .navbar-collapse[data-navbarbg="skin6"],
html.admin-theme-dark #main-wrapper[data-layout="horizontal"] .topbar[data-navbarbg="skin6"] {
    background: var(--admin-topbar) !important;
}

html.admin-theme-dark .topbar .top-navbar .navbar-nav > .nav-item:hover {
    background: rgba(255, 255, 255, 0.06);
}

html.admin-theme-dark .topbar .top-navbar .navbar-nav > .nav-item > .nav-link {
    color: var(--admin-muted);
}

html.admin-theme-dark .topbar .top-navbar .navbar-nav > .nav-item > .nav-link.text-muted {
    color: var(--admin-muted) !important;
}

@media (max-width: 767px) {
    html.admin-theme-dark .topbar .top-navbar .navbar-collapse.show,
    html.admin-theme-dark .topbar .top-navbar .navbar-collapse.collapsing {
        background: var(--admin-topbar) !important;
        border-top-color: var(--admin-border) !important;
    }
}

/* Logo-Zeile bleibt dunkelblau, Text hell */
html.admin-theme-dark #main-wrapper[data-layout="vertical"] .topbar .top-navbar .navbar-header[data-logobg="skin5"],
html.admin-theme-dark #main-wrapper[data-layout="horizontal"] .topbar .top-navbar .navbar-header[data-logobg="skin5"] {
    background: #1a2430 !important;
}

/* Sidebar: leicht an neues Schema angeglichen */
html.admin-theme-dark #main-wrapper[data-layout="vertical"] .left-sidebar[data-sidebarbg="skin5"],
html.admin-theme-dark #main-wrapper[data-layout="horizontal"] .left-sidebar[data-sidebarbg="skin5"],
html.admin-theme-dark #main-wrapper[data-layout="vertical"] .left-sidebar[data-sidebarbg="skin5"] .sidebar-nav ul,
html.admin-theme-dark #main-wrapper[data-layout="horizontal"] .left-sidebar[data-sidebarbg="skin5"] .sidebar-nav ul {
    background: #1a2430 !important;
}

html.admin-theme-dark .left-sidebar {
    box-shadow: 1px 0 0 var(--admin-border);
}

@media (max-width: 1366px) {
    html.admin-theme-dark .sidebar-mobile-header {
        border-bottom-color: var(--admin-border);
    }
    html.admin-theme-dark .sidebar-mobile-close-btn {
        background: rgba(255, 255, 255, 0.08);
        color: rgba(255, 255, 255, 0.92);
    }
    html.admin-theme-dark .sidebar-mobile-close-btn:hover,
    html.admin-theme-dark .sidebar-mobile-close-btn:focus {
        background: rgba(126, 184, 255, 0.18);
        color: #e8f4ff;
    }
    html.admin-theme-dark .sidebar-mobile-close-btn:focus-visible {
        outline-color: rgba(126, 184, 255, 0.55);
    }
}

/*
 * Sidebar-Links: globale a / a:hover aus style.css (#2962ff, #381be7) würden sonst
 * dunkle Schrift auf dunklem Grund erzwingen. active sitzt auf <li>, nicht auf .sidebar-link.
 * Inaktive Einträge leicht dimmen, aktiver Eintrag klar dunkel/blau + linker Rand (nicht „heller Streifen“).
 */
html.admin-theme-dark .left-sidebar .sidebar-nav a.sidebar-link,
html.admin-theme-dark .left-sidebar .sidebar-nav a.sidebar-link:visited {
    color: rgba(255, 255, 255, 0.88) !important;
    text-decoration: none !important;
}

html.admin-theme-dark .left-sidebar .sidebar-nav #sidebarnav > .sidebar-item:not(.active) > .sidebar-link {
    opacity: 0.78 !important;
}

html.admin-theme-dark .left-sidebar .sidebar-nav #sidebarnav > .sidebar-item > .sidebar-link:hover,
html.admin-theme-dark .left-sidebar .sidebar-nav #sidebarnav > .sidebar-item > .sidebar-link:focus {
    color: #fff !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    text-decoration: none !important;
    opacity: 1 !important;
}

html.admin-theme-dark .left-sidebar .sidebar-nav #sidebarnav > .sidebar-item.active > .sidebar-link,
html.admin-theme-dark .left-sidebar .sidebar-nav #sidebarnav > .sidebar-item.active > .sidebar-link:hover,
html.admin-theme-dark .left-sidebar .sidebar-nav #sidebarnav > .sidebar-item.active > .sidebar-link:focus {
    color: #fff !important;
    /* Kein helles Blau: einheitlich dunkel, nur dezenter heller linker Rand */
    background-color: #0c1218 !important;
    background-image: none !important;
    border-left: 3px solid rgba(255, 255, 255, 0.45) !important;
    opacity: 1 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06) !important;
}

html.admin-theme-dark .left-sidebar .sidebar-nav a.sidebar-link i {
    color: inherit !important;
}

html.admin-theme-dark .left-sidebar .sidebar-nav ul .nav-small-cap.text-primary {
    color: #7eb8ff !important;
}

/* Untermenüs (Finanzen / System): normale <a>, keine .sidebar-link-Klasse */
html.admin-theme-dark .left-sidebar .sidebar-nav .collapse a,
html.admin-theme-dark .left-sidebar .sidebar-nav .collapse.list-unstyled a {
    color: rgba(255, 255, 255, 0.9) !important;
    text-decoration: none !important;
}

html.admin-theme-dark .left-sidebar .sidebar-nav .collapse a:hover,
html.admin-theme-dark .left-sidebar .sidebar-nav .collapse a:focus {
    color: #fff !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    text-decoration: none !important;
}

/*
 * custom.css: .sidebar-item ul.collapse { background: #f7fafd; … }
 * und li a:hover { background: #e0eafc; color: #007bff } — im Dark-Mode hart überschreiben.
 * Shorthand `background:` nötig, sonst gewinnt das helle Blau aus custom.
 */
html.admin-theme-dark .left-sidebar .sidebar-nav .sidebar-item ul.collapse {
    background: #121a24 !important;
    background-color: #121a24 !important;
    box-shadow: none !important;
    border-left: 3px solid rgba(255, 255, 255, 0.35) !important;
}

html.admin-theme-dark .left-sidebar .sidebar-nav .sidebar-item ul.collapse li a {
    color: rgba(255, 255, 255, 0.92) !important;
    background: transparent !important;
    background-color: transparent !important;
}

html.admin-theme-dark .left-sidebar .sidebar-nav .sidebar-item ul.collapse li a::before {
    color: rgba(255, 255, 255, 0.45) !important;
}

html.admin-theme-dark .left-sidebar .sidebar-nav .sidebar-item ul.collapse li a:hover,
html.admin-theme-dark .left-sidebar .sidebar-nav .sidebar-item ul.collapse li a:focus,
html.admin-theme-dark .left-sidebar .sidebar-nav .sidebar-item ul.collapse li.active > a {
    background: #0c1218 !important;
    background-color: #0c1218 !important;
    color: #fff !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* custom.css: .sidebar-link:hover { background: #e9f2fb; } ohne #sidebarnav — für alle .sidebar-link absichern */
html.admin-theme-dark .left-sidebar .sidebar-nav a.sidebar-link:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    background-color: rgba(255, 255, 255, 0.08) !important;
    color: #fff !important;
}

/* Seitentitel & Breadcrumb */
html.admin-theme-dark .page-breadcrumb .page-title {
    color: var(--admin-text) !important;
}

html.admin-theme-dark .breadcrumb-item a {
    color: #7eb8ff;
}

html.admin-theme-dark .breadcrumb-item.active {
    color: var(--admin-muted);
}

/* Karten & Container */
html.admin-theme-dark .card {
    background-color: var(--admin-surface);
    border-color: var(--admin-border);
    color: var(--admin-text);
}

html.admin-theme-dark .card-header {
    background-color: var(--admin-elevated);
    border-bottom-color: var(--admin-border);
    color: var(--admin-text);
}

html.admin-theme-dark .card-footer {
    background-color: var(--admin-elevated);
    border-top-color: var(--admin-border);
}

/* .bg-light: BS setzt background !important (#f6fafe) — html… schlägt .bg-light; input-group-text separat */
html.admin-theme-dark .bg-light:not(.badge):not(.btn):not(.input-group-text) {
    background-color: var(--admin-elevated) !important;
    background-image: none !important;
    color: var(--admin-text);
}

/* Admin-Rechte: Unterkarten ohne bg-light (bnb-admin-subcard in admins_edit.view.php) */
html.admin-theme-dark .bnb-admin-subcard {
    background-color: var(--admin-elevated) !important;
    border-color: var(--admin-border) !important;
    color: var(--admin-text);
}

html.admin-theme-dark .bnb-admin-subcard .card-body {
    background-color: transparent !important;
}

html.admin-theme-dark .bnb-admin-subcard .card-title {
    color: var(--admin-text);
}

html.admin-theme-dark .list-group-item {
    background-color: var(--admin-surface);
    border-color: var(--admin-border);
    color: var(--admin-text);
}

/* Tabellen */
html.admin-theme-dark .table {
    color: var(--admin-text);
    /* BS5-Tabellen: Hover über --bs-table-accent-bg + Gradient auf Zellen */
    --bs-table-bg: transparent;
    --bs-table-accent-bg: transparent;
    --bs-table-hover-bg: rgba(0, 0, 0, 0.28);
    --bs-table-hover-color: var(--admin-text);
    --bs-table-striped-bg: rgba(255, 255, 255, 0.04);
}

html.admin-theme-dark .table thead th {
    border-bottom-color: var(--admin-border);
    color: var(--admin-muted);
}

/* Bootstrap .thead-light (z. B. Einstellungen → Kategorie): sonst #e9ecef */
html.admin-theme-dark .table .thead-light th {
    background: #252d38 !important;
    background-color: #252d38 !important;
    color: var(--admin-text) !important;
    border-color: var(--admin-border) !important;
}

html.admin-theme-dark .table td,
html.admin-theme-dark .table th {
    border-color: var(--admin-border);
}

html.admin-theme-dark .table-bordered {
    border-color: var(--admin-border);
}

html.admin-theme-dark .table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.03);
}

/*
 * Tabellen-Hover: BS4 setzt #f6fafe auf tr; BS5 legt Farbe über Variablen + linear-gradient auf td/th.
 * tr-Hintergrund aushebeln, Zellen dunkel färben, Gradient entfernen.
 */
html.admin-theme-dark .table-hover > tbody > tr:hover,
html.admin-theme-dark .table.table-hover > tbody > tr:hover {
    background: transparent !important;
    background-color: transparent !important;
    --bs-table-accent-bg: rgba(0, 0, 0, 0.3);
    --bs-table-hover-bg: rgba(0, 0, 0, 0.3);
    color: var(--admin-text) !important;
}

html.admin-theme-dark .table-hover tbody tr:hover > td,
html.admin-theme-dark .table-hover tbody tr:hover > th,
html.admin-theme-dark .table.table-hover > tbody > tr:hover > td,
html.admin-theme-dark .table.table-hover > tbody > tr:hover > th {
    background-color: rgba(0, 0, 0, 0.3) !important;
    background-image: none !important;
    color: var(--admin-text) !important;
}

/* BS5-Selektor „> :not(caption) > * > *“ — Zellen ohne direktes > vom tr */
html.admin-theme-dark .table.table-hover > tbody > tr:hover > :not(script) {
    background-color: rgba(0, 0, 0, 0.3) !important;
    background-image: none !important;
    color: var(--admin-text) !important;
}

/* Formulare (inkl. Selects: Theme-Styles müssen BS #fff schlagen) */
html.admin-theme-dark .form-control {
    background-color: var(--admin-input-bg) !important;
    border-color: var(--admin-border) !important;
    color: var(--admin-text) !important;
    background-image: none;
}

html.admin-theme-dark select.form-control {
    background-color: var(--admin-input-bg) !important;
    color: var(--admin-text) !important;
}

html.admin-theme-dark .form-control:focus {
    background-color: var(--admin-input-bg) !important;
    color: var(--admin-text) !important;
    border-color: #4a7fd4;
}

html.admin-theme-dark .form-control:disabled,
html.admin-theme-dark .form-control[readonly] {
    background-color: var(--admin-elevated) !important;
    color: var(--admin-muted) !important;
    opacity: 1;
}

html.admin-theme-dark .form-control::placeholder {
    color: var(--admin-muted);
}

html.admin-theme-dark .input-group-text {
    background-color: var(--admin-elevated);
    border-color: var(--admin-border);
    color: var(--admin-muted);
}

/* Bootstrap .bg-light auf Präfix-Spans (z. B. Annahme „PREFIX-“ vor Listennr.) nutzt !important */
html.admin-theme-dark .input-group-text.bg-light {
    background-color: var(--admin-elevated) !important;
    border-color: var(--admin-border) !important;
    color: var(--admin-text) !important;
}

html.admin-theme-dark select.form-control {
    color: var(--admin-text);
}

html.admin-theme-dark .custom-select {
    background-color: var(--admin-input-bg);
    border-color: var(--admin-border);
    color: var(--admin-text);
}

/* Modals */
html.admin-theme-dark .modal-content {
    background-color: var(--admin-surface);
    border-color: var(--admin-border);
    color: var(--admin-text);
}

html.admin-theme-dark .modal-header {
    border-bottom-color: var(--admin-border);
}

html.admin-theme-dark .modal-footer {
    border-top-color: var(--admin-border);
}

html.admin-theme-dark .close {
    color: var(--admin-text);
    text-shadow: none;
    opacity: 0.75;
}

html.admin-theme-dark .close:hover {
    color: #fff;
    opacity: 1;
}

/* Dropdowns */
html.admin-theme-dark .dropdown-menu {
    background-color: var(--admin-elevated);
    border-color: var(--admin-border);
}

html.admin-theme-dark .dropdown-item {
    color: var(--admin-text);
}

html.admin-theme-dark .dropdown-item:hover,
html.admin-theme-dark .dropdown-item:focus {
    background-color: rgba(255, 255, 255, 0.08);
    color: var(--admin-text);
}

html.admin-theme-dark .dropdown-divider {
    border-top-color: var(--admin-border);
}

/* Alerts: Kontrast beibehalten, Rahmen anpassen */
html.admin-theme-dark .alert {
    border-color: transparent;
}

/* Info-Alerts (z. B. Abrechnung „Zusammenfassung …“): dunkel, aber klar erkennbar */
html.admin-theme-dark .alert-info {
    background-color: #0f2538 !important;
    background-image: none !important;
    color: #c8e8f5 !important;
    border: 1px solid rgba(78, 163, 255, 0.35) !important;
    border-left: 4px solid #4ea3ff !important;
    box-shadow: 0 0 0 1px rgba(78, 163, 255, 0.12), 0 4px 14px rgba(0, 0, 0, 0.35);
}

html.admin-theme-dark .alert-info h1,
html.admin-theme-dark .alert-info h2,
html.admin-theme-dark .alert-info h3,
html.admin-theme-dark .alert-info h4,
html.admin-theme-dark .alert-info h5,
html.admin-theme-dark .alert-info h6,
html.admin-theme-dark .alert-info p,
html.admin-theme-dark .alert-info .alert-heading {
    color: inherit !important;
}

html.admin-theme-dark .alert-info a {
    color: #9fd4ff !important;
    text-decoration: underline;
}

html.admin-theme-dark .alert-info a:hover {
    color: #cfeaff !important;
}

html.admin-theme-dark .alert-success {
    background-color: #0f2a1c !important;
    background-image: none !important;
    color: #b8f0c8 !important;
    border: 1px solid rgba(72, 199, 116, 0.35) !important;
}

html.admin-theme-dark .alert-warning {
    background-color: #2a2210 !important;
    background-image: none !important;
    color: #fde6a8 !important;
    border: 1px solid rgba(255, 193, 7, 0.35) !important;
}

html.admin-theme-dark .alert-danger {
    background-color: #2a1518 !important;
    background-image: none !important;
    color: #fecaca !important;
    border: 1px solid rgba(220, 53, 69, 0.35) !important;
}

/* Pagination */
html.admin-theme-dark .page-link {
    background-color: var(--admin-surface);
    border-color: var(--admin-border);
    color: #7eb8ff;
}

html.admin-theme-dark .page-item.disabled .page-link {
    background-color: var(--admin-elevated);
    color: var(--admin-muted);
}

/* Bootstrap-Hilfsklassen */
html.admin-theme-dark .text-dark {
    color: var(--admin-text) !important;
}

html.admin-theme-dark .text-body {
    color: var(--admin-text) !important;
}

html.admin-theme-dark .text-muted {
    color: var(--admin-muted) !important;
}

html.admin-theme-dark .bg-white {
    background-color: var(--admin-surface) !important;
}

html.admin-theme-dark .border,
html.admin-theme-dark .card,
html.admin-theme-dark .table {
    border-color: var(--admin-border) !important;
}

html.admin-theme-dark .btn-light {
    background-color: var(--admin-elevated);
    border-color: var(--admin-border);
    color: var(--admin-text);
}

html.admin-theme-dark .btn-light:hover {
    background-color: #2d3744;
    color: var(--admin-text);
}

html.admin-theme-dark .btn-outline-secondary {
    color: var(--admin-muted);
    border-color: var(--admin-border);
}

html.admin-theme-dark .btn-outline-secondary:hover {
    background-color: rgba(255, 255, 255, 0.08);
    color: var(--admin-text);
}

/* Code / Logs */
html.admin-theme-dark code,
html.admin-theme-dark .log-file-inline-path {
    background-color: var(--admin-elevated);
    color: #a5d6ff;
}

/* Chat-Widget (custom.css) */
html.admin-theme-dark .chat-widget {
    background: var(--admin-surface);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.45);
}

html.admin-theme-dark .chat-body {
    background: var(--admin-bg);
}

html.admin-theme-dark .chat-input {
    background: var(--admin-elevated);
    border-top-color: var(--admin-border);
}

html.admin-theme-dark .chat-room-list {
    background: var(--admin-elevated);
    border-right-color: var(--admin-border);
}

html.admin-theme-dark .chat-room-entry {
    color: var(--admin-text);
}

html.admin-theme-dark .emoji-picker {
    background: var(--admin-surface);
    border-color: var(--admin-border);
}

html.admin-theme-dark .message .content {
    background: #2d3540;
    color: var(--admin-text);
}

html.admin-theme-dark .chat-mention {
    background: rgba(100, 180, 255, 0.18);
    color: #90caf9;
}

html.admin-theme-dark .chat-load-more-wrap {
    border-bottom-color: var(--admin-border);
}

html.admin-theme-dark .message .sender,
html.admin-theme-dark .message .timestamp {
    color: var(--admin-muted);
}

html.admin-theme-dark .reaction {
    background: #2d3540;
}

html.admin-theme-dark .reaction:hover {
    background: #3d4654;
}

/* Schichtplan: CSS-Variablen + harte Light-Farben überschreiben */
html.admin-theme-dark .schichtplan-page {
    --sp-bg: #12151a;
    --sp-surface: #1c222b;
    --sp-ink: #e8eaed;
    --sp-muted: #9aa3ad;
    --sp-line: rgba(255, 255, 255, 0.1);
    --sp-accent: #fb923c;
    --sp-accent-hover: #fdba74;
    --sp-accent-soft: rgba(251, 146, 60, 0.18);
    --sp-teal: #2dd4bf;
    --sp-teal-soft: rgba(45, 212, 191, 0.15);
    --sp-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
    --sp-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.25);
}

html.admin-theme-dark .schichtplan-hero {
    background: linear-gradient(135deg, #1c222b 0%, #1a2430 50%, #2a1f18 100%);
}

html.admin-theme-dark .schichtplan-acc-item:hover {
    background: rgba(255, 255, 255, 0.04) !important;
}

html.admin-theme-dark .schichtplan-acc-body {
    background: linear-gradient(180deg, #161b22 0%, #1c222b 100%) !important;
}

html.admin-theme-dark .schichtplan-panel--sl {
    background: linear-gradient(180deg, #2a2318 0%, #1c222b 48%) !important;
}

html.admin-theme-dark .schichtplan-panel--add {
    background: linear-gradient(180deg, #0f2320 0%, #1c222b 40%) !important;
}

html.admin-theme-dark .schichtplan-panel--export {
    background: linear-gradient(180deg, #1a2028 0%, #1c222b 55%) !important;
}

html.admin-theme-dark .schichtplan-panel--export summary .mdi {
    color: var(--sp-muted) !important;
}

html.admin-theme-dark .schichtplan-panel[open] summary {
    background: rgba(255, 255, 255, 0.05) !important;
}

html.admin-theme-dark .schichtplan-pill {
    background: #2a3139;
    color: var(--sp-muted);
}

html.admin-theme-dark .schichtplan-table-wrap .table thead th {
    background: #252d38 !important;
}

html.admin-theme-dark .schichtplan-table-wrap .table-striped tbody tr:nth-of-type(odd) {
    background: rgba(255, 255, 255, 0.03) !important;
}

html.admin-theme-dark .schichtplan-table-wrap .table-striped tbody tr:nth-of-type(odd):hover {
    background: rgba(251, 146, 60, 0.08) !important;
}

html.admin-theme-dark .schichtplan-badge--geplant {
    background: #164e63;
    color: #a5f3fc;
}

html.admin-theme-dark .schichtplan-badge--anwesend {
    background: #14532d;
    color: #bbf7d0;
}

html.admin-theme-dark .schichtplan-badge--fertig {
    background: #334155;
    color: #e2e8f0;
}

html.admin-theme-dark .schichtplan-badge--nichtgekommen {
    background: #7f1d1d;
    color: #fecaca;
}

html.admin-theme-dark .schichtplan-single-card .card-body {
    background: linear-gradient(180deg, #161b22 0%, #1c222b 100%) !important;
}

html.admin-theme-dark #schichtplanEditModal .modal-header {
    background: linear-gradient(135deg, #2a1f18 0%, #1c222b 100%) !important;
}

/* Theme-Toggle in der Navbar (Desktop + mobil) */
.admin-theme-toggle {
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.15);
}

.admin-theme-toggle:focus {
    outline: 2px solid rgba(126, 184, 255, 0.5);
    outline-offset: 2px;
}

/* Mobiler Button in der Header-Zeile: über evtl. breitem Logo, klickbar */
.topbar .navbar-header > .admin-theme-toggle--header {
    position: relative;
    z-index: 12;
    flex-shrink: 0;
    min-width: 2.75rem;
    min-height: 64px;
    line-height: 1;
    background: transparent !important;
}

@media (max-width: 767px) {
    .topbar .navbar-header .navbar-brand {
        flex: 1 1 auto;
        min-width: 0;
        overflow: hidden;
    }
}

@media (max-width: 767px) {
    html.admin-theme-dark .topbar .navbar-header .pro-pic-mobile img {
        border-color: rgba(255, 255, 255, 0.28);
    }
    html.admin-theme-dark .topbar .navbar-header .navbar-user-mobile .dropdown-menu {
        background: var(--admin-surface);
        border: 1px solid var(--admin-border);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    }
    html.admin-theme-dark .topbar .navbar-header .navbar-user-mobile .dropdown-item {
        color: var(--admin-text);
    }
    html.admin-theme-dark .topbar .navbar-header .navbar-user-mobile .dropdown-item:hover,
    html.admin-theme-dark .topbar .navbar-header .navbar-user-mobile .dropdown-item:focus {
        background: rgba(126, 184, 255, 0.12);
        color: var(--admin-text);
    }
    html.admin-theme-dark .topbar .navbar-header .navbar-user-mobile .dropdown-divider {
        border-top-color: var(--admin-border);
    }
}

html.admin-theme-dark .topbar .admin-theme-toggle.text-muted {
    color: var(--admin-muted) !important;
}

html.admin-theme-dark .topbar .navbar-header[data-logobg="skin5"] .admin-theme-toggle.text-muted {
    color: rgba(255, 255, 255, 0.75) !important;
}

/* -------------------------------------------------------------------------- */
/* Kasse (Desktop): Bootstrap table-* setzt helle Zell-Hintergründe (style.css) */
/* -------------------------------------------------------------------------- */
html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info {
    background-color: var(--admin-surface) !important;
    color: var(--admin-text) !important;
}

/* Basis: jede Zelle dunkel — überschreibt u.a. .table-info/.table-primary aus dem Theme */
html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info > tbody > tr > td,
html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info > tbody > tr > th {
    background-color: var(--admin-surface) !important;
    color: var(--admin-text) !important;
    border-color: var(--admin-border) !important;
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info > thead > tr > th {
    border-color: var(--admin-border);
}

/* Kopfzeile „Menge / Artikel / …“ */
html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info thead th.table-primary,
html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info tbody th.table-primary {
    background-color: #1a3a5c !important;
    color: #e8f4ff !important;
}

/* Zeile „Gegeben“ + Eingabe */
html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info tbody td.table-primary {
    background-color: #1e2835 !important;
    color: var(--admin-text) !important;
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info tbody td.table-primary b,
html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info tbody td.table-primary u {
    color: #e8f4ff !important;
}

/* Summe */
html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info td.table-danger,
html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info th.table-danger {
    background-color: #5c2a2e !important;
    color: #fecaca !important;
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info tr[style*="ffe5db"] td,
html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info tr[style*="ffe5db"] th {
    background-color: #4a2528 !important;
    color: #fecaca !important;
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info tbody td[style*="f8f9fa"] {
    background-color: #252d38 !important;
    color: var(--admin-text) !important;
}

/* Unterer Block: Buttons, Checkboxen, Vorschlagsbeträge (eigene Zeile, colspan 4) */
html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info tbody td[colspan="4"] {
    background-color: #161c24 !important;
    color: var(--admin-text) !important;
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info .form-check-label {
    color: var(--admin-text) !important;
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info .form-check-input {
    border-color: #8a95a3;
    background-color: var(--admin-input-bg);
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info .btn-secondary {
    background-color: #4a5568 !important;
    border-color: #5d6b7e !important;
    color: #f1f5f9 !important;
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info .btn-secondary:hover {
    background-color: #5c677a !important;
    color: #fff !important;
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info .btn-info {
    background-color: #1e5a8a !important;
    border-color: #2563a8 !important;
    color: #e8f4ff !important;
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info .btn-info:hover {
    background-color: #256fa8 !important;
    color: #fff !important;
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) table.table.table-info .btn-warning {
    color: #1a1408 !important;
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) .table a {
    color: #7eb8ff;
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) .table a:hover {
    color: #b8d9ff;
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) #uniqueid,
html.admin-theme-dark :is(.kasse-page, .annahme-page) #zahl2 {
    background-color: var(--admin-input-bg) !important;
    color: var(--admin-text) !important;
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) #uniqueid {
    border-color: #3d7fc7 !important;
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) #zahl2 {
    border-color: #2f8f5a !important;
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) #uniqueid:focus,
html.admin-theme-dark :is(.kasse-page, .annahme-page) #zahl2:focus {
    background-color: #2d3744 !important;
    color: var(--admin-text) !important;
    border-color: #48c774 !important;
    box-shadow: 0 0 0 0.2rem rgba(72, 199, 116, 0.35) !important;
}

html.admin-theme-dark :is(.kasse-page, .annahme-page) #uniqueid::placeholder,
html.admin-theme-dark :is(.kasse-page, .annahme-page) #zahl2::placeholder {
    color: var(--admin-muted) !important;
}

/* -------------------------------------------------------------------------- */
/* Annahme: untere Tabelle (.table-striped) — Kopfzeile nicht gestreift; .table-success */
/* -------------------------------------------------------------------------- */
html.admin-theme-dark .annahme-page table.table.table-striped {
    background-color: var(--admin-surface) !important;
    color: var(--admin-text) !important;
}

html.admin-theme-dark .annahme-page table.table.table-striped tbody tr:first-child {
    background-color: transparent !important;
    background-image: none !important;
}

html.admin-theme-dark .annahme-page table.table.table-striped tbody tr:first-child > th.table-primary {
    background-color: #1a3a5c !important;
    color: #e8f4ff !important;
    border-color: var(--admin-border) !important;
}

html.admin-theme-dark .annahme-page table.table.table-striped tbody tr > td {
    background-color: var(--admin-surface) !important;
    color: var(--admin-text) !important;
    border-color: var(--admin-border) !important;
    background-image: none !important;
}

html.admin-theme-dark .annahme-page table.table.table-striped tbody tr:nth-of-type(odd):not(:first-child) td {
    background-color: #1c232e !important;
}

html.admin-theme-dark .annahme-page table.table.table-striped tbody tr:nth-of-type(even):not(:first-child) td {
    background-color: var(--admin-surface) !important;
}

html.admin-theme-dark .annahme-page table.table.table-striped tbody tr.table-success td {
    background-color: #0f2d1f !important;
    background-image: none !important;
    color: #b8f0c8 !important;
    border-color: var(--admin-border) !important;
}

/* -------------------------------------------------------------------------- */
/* Kasse (Handy) – Akkordeon-Köpfe & Hilfsflächen */
/* -------------------------------------------------------------------------- */
html.admin-theme-dark .kasse-mobile-wrapper .kasse-mobile-accordion .card-header {
    background: var(--admin-elevated) !important;
    color: var(--admin-text) !important;
}

html.admin-theme-dark .kasse-mobile-wrapper .kasse-mobile-accordion .card-header:hover {
    background: #2d3540 !important;
}

html.admin-theme-dark .kasse-mobile-wrapper .kasse-mobile-accordion-chevron {
    color: var(--admin-muted) !important;
}

html.admin-theme-dark .kasse-mobile-wrapper .bg-light {
    background-color: var(--admin-elevated) !important;
    color: var(--admin-text);
}

html.admin-theme-dark .kasse-mobile-wrapper .kasse-mobile-summe-betrag {
    color: #6ee7a8 !important;
}

html.admin-theme-dark .kasse-mobile-wrapper .kasse-mobile-card .card-title {
    color: var(--admin-text);
}

/* -------------------------------------------------------------------------- */
/* Schlussrechnung: Summe (table-info) & Abgerechnete Auszahlung (table-warning) */
/* Bootstrap .table-info + .table-striped setzen helle Hintergründe auf tr/td — */
/* eigene Klasse + alle Zellen explizit, damit nichts durchscheint. */
/* -------------------------------------------------------------------------- */
html.admin-theme-dark .schlussrechnung-page .table.table-striped tbody tr.table-info,
html.admin-theme-dark .schlussrechnung-page .table.table-striped tbody tr.table-info td,
html.admin-theme-dark .schlussrechnung-page .table.table-striped tbody tr.table-info th,
html.admin-theme-dark .schlussrechnung-page tr.schlussrechnung-summe-row,
html.admin-theme-dark .schlussrechnung-page tr.schlussrechnung-summe-row td,
html.admin-theme-dark .schlussrechnung-page tr.schlussrechnung-summe-row th {
    background-color: #0c141c !important;
    background-image: none !important;
    color: #e8eef4 !important;
    border-color: var(--admin-border) !important;
}

html.admin-theme-dark .schlussrechnung-page tr.schlussrechnung-summe-row td:first-child {
    border-left: 3px solid #4ea3ff !important;
}

html.admin-theme-dark .schlussrechnung-page .table.table-striped tbody tr.table-warning,
html.admin-theme-dark .schlussrechnung-page .table.table-striped tbody tr.table-warning td,
html.admin-theme-dark .schlussrechnung-page .table.table-striped tbody tr.table-warning th {
    background-color: #2a2210 !important;
    background-image: none !important;
    color: #fde6a8 !important;
    border-color: var(--admin-border) !important;
}

html.admin-theme-dark .schlussrechnung-page .table tfoot tr,
html.admin-theme-dark .schlussrechnung-page .table tfoot td,
html.admin-theme-dark .schlussrechnung-page .table tfoot th {
    background-color: var(--admin-elevated) !important;
    color: var(--admin-text) !important;
    border-color: var(--admin-border) !important;
}

/* -------------------------------------------------------------------------- */
/* Abrechnung: abrechnung.view.php — Inline-Styles (#f5f7fa, #f8f9fa, #e6f9e6 !important) */
/* Höhere Spezifität als Seiten-<style>, damit verkaufte Zeilen (.table-success) dunkel sind */
/* -------------------------------------------------------------------------- */
html.admin-theme-dark .abrechnung-table {
    color: var(--admin-text);
}

html.admin-theme-dark .abrechnung-table thead th {
    background: #252d38 !important;
    background-color: #252d38 !important;
    color: var(--admin-text) !important;
    border-color: var(--admin-border) !important;
}

html.admin-theme-dark .abrechnung-table tbody tr {
    background-color: transparent !important;
    background-image: none !important;
}

html.admin-theme-dark .abrechnung-table tbody tr > td,
html.admin-theme-dark .abrechnung-table tbody tr > th {
    background-color: var(--admin-surface) !important;
    background-image: none !important;
    color: var(--admin-text) !important;
    border-color: var(--admin-border) !important;
}

html.admin-theme-dark .abrechnung-table tbody tr:nth-child(even) > td,
html.admin-theme-dark .abrechnung-table tbody tr:nth-child(even) > th {
    background-color: #1c232e !important;
}

html.admin-theme-dark .abrechnung-table tbody tr.table-success > td,
html.admin-theme-dark .abrechnung-table tbody tr.table-success > th {
    background-color: #0f2d1f !important;
    background-image: none !important;
    color: #b8f0c8 !important;
    border-color: var(--admin-border) !important;
}

html.admin-theme-dark .abrechnung-table tbody tr.table-warning > td,
html.admin-theme-dark .abrechnung-table tbody tr.table-warning > th {
    background-color: #2a2210 !important;
    background-image: none !important;
    color: #fde6a8 !important;
    border-color: var(--admin-border) !important;
}

html.admin-theme-dark .abrechnung-table .article-name-with-image {
    color: #7eb8ff !important;
}

html.admin-theme-dark .abrechnung-table td span[style*="#555"] {
    color: var(--admin-muted) !important;
}

html.admin-theme-dark .abrechnung-table .form-check-label {
    color: var(--admin-text) !important;
}

html.admin-theme-dark .abrechnung-table .badge.bg-success {
    background-color: #1e5a38 !important;
    color: #d8f5e4 !important;
}

html.admin-theme-dark .abrechnung-table .badge.bg-danger {
    background-color: #6b2a2a !important;
    color: #fecaca !important;
}

html.admin-theme-dark .abrechnung-table .badge.bg-info.text-dark {
    background-color: #1a4a5c !important;
    color: #c8e8fa !important;
}

html.admin-theme-dark .abrechnung-table .warehouse-badge {
    background-color: #2a5490 !important;
    color: #e8f4ff !important;
    border-color: #3d6fa8 !important;
    box-shadow: none !important;
}

/* -------------------------------------------------------------------------- */
/* Standkassen: Tabelle, Neu-Zeile, Pills — überschreibt Inline-<style> in der View */
/* -------------------------------------------------------------------------- */
html.admin-theme-dark .standkassen-page .border.rounded.bg-light {
    background-color: var(--admin-elevated) !important;
    border-color: var(--admin-border) !important;
}

html.admin-theme-dark .standkassen-page .standkasse-wrap {
    background-color: var(--admin-surface) !important;
    border-color: var(--admin-border) !important;
}

html.admin-theme-dark .standkassen-page .standkasse-table thead th {
    background-color: #252d38 !important;
    background-image: none !important;
    color: var(--admin-text) !important;
    border-color: var(--admin-border) !important;
}

html.admin-theme-dark .standkassen-page .standkasse-table tbody td {
    background-color: var(--admin-surface) !important;
    background-image: none !important;
    color: var(--admin-text) !important;
    border-color: var(--admin-border) !important;
}

html.admin-theme-dark .standkassen-page .standkasse-table.table-striped tbody tr:nth-of-type(odd) td {
    background-color: #1c232e !important;
}

html.admin-theme-dark .standkassen-page .standkasse-code-pill {
    color: #e8eef4 !important;
    background: #2d3540 !important;
    background-color: #2d3540 !important;
    border-color: var(--admin-border) !important;
}

html.admin-theme-dark .standkassen-page .standkasse-db-pill {
    background-color: #3d4a5c !important;
    color: #f0f4f8 !important;
}

html.admin-theme-dark .standkassen-page .standkasse-art-zero {
    color: var(--admin-muted) !important;
}

html.admin-theme-dark .standkassen-page .standkasse-hilfe {
    background-color: var(--admin-elevated) !important;
    border-color: var(--admin-border) !important;
    color: var(--admin-muted) !important;
}

html.admin-theme-dark .standkassen-page .standkasse-hilfe .text-dark,
html.admin-theme-dark .standkassen-page .standkasse-hilfe .font-weight-bold.text-dark {
    color: var(--admin-text) !important;
}

html.admin-theme-dark .standkassen-page .standkasse-hilfe code {
    background-color: rgba(0, 0, 0, 0.28);
    color: #c8d8e8;
    padding: 0.12em 0.35em;
    border-radius: 3px;
}

html.admin-theme-dark .standkassen-page .badge.badge-warning.text-dark {
    background-color: #5c4a1a !important;
    color: #fde6a8 !important;
}

html.admin-theme-dark .standkassen-page .btn-outline-warning.text-dark:not(:disabled):not(.disabled) {
    color: #f5d78e !important;
    border-color: rgba(255, 193, 7, 0.5) !important;
}

html.admin-theme-dark .standkassen-page .btn-outline-warning.text-dark:not(:disabled):not(.disabled):hover {
    background-color: rgba(255, 193, 7, 0.2) !important;
    color: #fff8e6 !important;
    border-color: rgba(255, 193, 7, 0.65) !important;
}

html.admin-theme-dark .standkassen-page .form-check-label {
    color: var(--admin-text);
}

html.admin-theme-dark .standkassen-page .standkasse-checkbox {
    border-color: #8a95a3;
    background-color: var(--admin-input-bg);
}

/* -------------------------------------------------------------------------- */
/* Lagerverwaltung: warehouse.view.php setzt .warehouse-table th { #f8f9fa } */
/* -------------------------------------------------------------------------- */
html.admin-theme-dark .warehouse-table thead th,
html.admin-theme-dark .warehouse-table th {
    background: #252d38 !important;
    background-color: #252d38 !important;
    color: var(--admin-text) !important;
    border-color: var(--admin-border) !important;
}
