/* ==========================================================
   SIBA Modern Dark Mode
   Ausschließlich Darkmode; Lightmode und Drucklayouts bleiben unverändert.
   ========================================================== */
@media screen {
  html.siba-dark,
  html.dark,
  html[data-theme="dark"] {
    color-scheme: dark;
    --siba-bg: #0b0d12;
    --siba-bg-soft: #11151d;
    --siba-surface: #151a23;
    --siba-surface-2: #1b222e;
    --siba-surface-3: #232c39;
    --siba-border: #2b3544;
    --siba-border-soft: rgba(255,255,255,.08);
    --siba-text: #f4f7fb;
    --siba-muted: #9ca8b8;
    --siba-orange: #ff7417;
    --siba-orange-hover: #ff8a36;
    --siba-green: #28b463;
    --siba-red: #e44e55;
    --siba-shadow: 0 12px 32px rgba(0,0,0,.28);
  }

  body.siba-dark,
  body.dark,
  body[data-theme="dark"] {
    background: var(--siba-bg) !important;
    color: var(--siba-text) !important;
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
  }

  body.siba-dark :where(.siba-main, main, .main, .content, .main-content, .page-content, .content-wrapper, .page-wrapper, .wrapper),
  body.dark :where(.siba-main, main, .main, .content, .main-content, .page-content, .content-wrapper, .page-wrapper, .wrapper),
  body[data-theme="dark"] :where(.siba-main, main, .main, .content, .main-content, .page-content, .content-wrapper, .page-wrapper, .wrapper) {
    background: var(--siba-bg) !important;
    color: var(--siba-text) !important;
  }

  /* Header */
  body.siba-dark .siba-header,
  body.dark .siba-header,
  body[data-theme="dark"] .siba-header {
    background: linear-gradient(110deg, #ff7417 0%, #ff5c25 100%) !important;
    border: 0 !important;
    box-shadow: 0 5px 18px rgba(0,0,0,.24) !important;
  }

  body.siba-dark :where(.siba-header-ui-btn,.siba-header-btn),
  body.dark :where(.siba-header-ui-btn,.siba-header-btn),
  body[data-theme="dark"] :where(.siba-header-ui-btn,.siba-header-btn) {
    background: rgba(14,17,23,.26) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.42) !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    transition: background .18s ease, transform .18s ease, border-color .18s ease !important;
  }
  body.siba-dark :where(.siba-header-ui-btn,.siba-header-btn):hover,
  body.dark :where(.siba-header-ui-btn,.siba-header-btn):hover,
  body[data-theme="dark"] :where(.siba-header-ui-btn,.siba-header-btn):hover {
    background: rgba(14,17,23,.42) !important;
    border-color: #fff !important;
    transform: translateY(-1px);
  }

  body.siba-dark :where(#sibaHeaderLangMenu,#sibaLangMenu),
  body.dark :where(#sibaHeaderLangMenu,#sibaLangMenu),
  body[data-theme="dark"] :where(#sibaHeaderLangMenu,#sibaLangMenu) {
    background: var(--siba-surface-2) !important;
    border: 1px solid var(--siba-border) !important;
    border-radius: 12px !important;
    box-shadow: var(--siba-shadow) !important;
    padding: 7px !important;
  }
  body.siba-dark :where(#sibaHeaderLangMenu,#sibaLangMenu) button,
  body.dark :where(#sibaHeaderLangMenu,#sibaLangMenu) button,
  body[data-theme="dark"] :where(#sibaHeaderLangMenu,#sibaLangMenu) button {
    background: transparent !important;
    border: 0 !important;
    border-radius: 8px !important;
    color: var(--siba-text) !important;
  }
  body.siba-dark :where(#sibaHeaderLangMenu,#sibaLangMenu) button:hover,
  body.dark :where(#sibaHeaderLangMenu,#sibaLangMenu) button:hover,
  body[data-theme="dark"] :where(#sibaHeaderLangMenu,#sibaLangMenu) button:hover {
    background: var(--siba-surface-3) !important;
    color: #fff !important;
  }

  /* Sidebar */
  body.siba-dark :where(.siba-sidebar,.sidebar,#sidebar),
  body.dark :where(.siba-sidebar,.sidebar,#sidebar),
  body[data-theme="dark"] :where(.siba-sidebar,.sidebar,#sidebar) {
    background: #10131a !important;
    border-right: 1px solid var(--siba-border-soft) !important;
    box-shadow: 6px 0 24px rgba(0,0,0,.16) !important;
  }
  body.siba-dark .siba-sidebar-top,
  body.dark .siba-sidebar-top,
  body[data-theme="dark"] .siba-sidebar-top {
    background: #f8f9fb !important;
    border-bottom: 1px solid var(--siba-border) !important;
  }
  body.siba-dark .navigation-link,
  body.dark .navigation-link,
  body[data-theme="dark"] .navigation-link {
    color: #d5dbe5 !important;
    border-radius: 9px !important;
    margin: 2px 9px !important;
    transition: background .16s ease, color .16s ease, transform .16s ease !important;
  }
  body.siba-dark .navigation-link:hover,
  body.dark .navigation-link:hover,
  body[data-theme="dark"] .navigation-link:hover {
    background: #1b222d !important;
    color: #fff !important;
    transform: translateX(2px);
  }
  body.siba-dark :where(.navigation-link.active,.navigation-link.active-parent),
  body.dark :where(.navigation-link.active,.navigation-link.active-parent),
  body[data-theme="dark"] :where(.navigation-link.active,.navigation-link.active-parent) {
    background: linear-gradient(90deg, rgba(255,116,23,.22), rgba(255,116,23,.07)) !important;
    color: #ff944d !important;
    border-left: 3px solid var(--siba-orange) !important;
  }

  /* Karten und Flächen */
  body.siba-dark :where(.card,.box,.panel,.widget,.tile,.dash-card,.dashboard-card,.stat-box,.stats-card,.table-box,.table-card,.form-box,.list-box,.filter-box,.filter-card,.filter-panel,.search-panel,.export-panel,.content-box,.white-box,.page-header,.page-heading,.title-card,.headline-card,.location-filter,.zeit-card,.live-card,.history-card,.report-card,.bericht-card,.modal-content),
  body.dark :where(.card,.box,.panel,.widget,.tile,.dash-card,.dashboard-card,.stat-box,.stats-card,.table-box,.table-card,.form-box,.list-box,.filter-box,.filter-card,.filter-panel,.search-panel,.export-panel,.content-box,.white-box,.page-header,.page-heading,.title-card,.headline-card,.location-filter,.zeit-card,.live-card,.history-card,.report-card,.bericht-card,.modal-content),
  body[data-theme="dark"] :where(.card,.box,.panel,.widget,.tile,.dash-card,.dashboard-card,.stat-box,.stats-card,.table-box,.table-card,.form-box,.list-box,.filter-box,.filter-card,.filter-panel,.search-panel,.export-panel,.content-box,.white-box,.page-header,.page-heading,.title-card,.headline-card,.location-filter,.zeit-card,.live-card,.history-card,.report-card,.bericht-card,.modal-content) {
    background: var(--siba-surface) !important;
    color: var(--siba-text) !important;
    border: 1px solid var(--siba-border) !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.16) !important;
  }

  /* Rückgängig machen: alte globale orange Rahmen */
  body.siba-dark :where([class*="card"],[class*="box"],[class*="panel"],.form-group),
  body.dark :where([class*="card"],[class*="box"],[class*="panel"],.form-group),
  body[data-theme="dark"] :where([class*="card"],[class*="box"],[class*="panel"],.form-group) {
    border-color: var(--siba-border) !important;
  }

  /* Tabellen */
  body.siba-dark :where(table,.table),
  body.dark :where(table,.table),
  body[data-theme="dark"] :where(table,.table) {
    background: transparent !important;
    color: var(--siba-text) !important;
    border-color: var(--siba-border) !important;
  }
  body.siba-dark :where(thead,thead tr,th),
  body.dark :where(thead,thead tr,th),
  body[data-theme="dark"] :where(thead,thead tr,th) {
    background: var(--siba-surface-2) !important;
    color: #f8fafc !important;
    border-color: var(--siba-border) !important;
  }
  body.siba-dark :where(tbody tr,td),
  body.dark :where(tbody tr,td),
  body[data-theme="dark"] :where(tbody tr,td) {
    background: var(--siba-surface) !important;
    color: #e7ebf1 !important;
    border-color: var(--siba-border-soft) !important;
  }
  body.siba-dark tbody tr:hover td,
  body.dark tbody tr:hover td,
  body[data-theme="dark"] tbody tr:hover td {
    background: #1b2330 !important;
  }

  /* Formulare */
  body.siba-dark :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.form-control,.form-select),
  body.dark :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.form-control,.form-select),
  body[data-theme="dark"] :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.form-control,.form-select) {
    background: #111722 !important;
    color: var(--siba-text) !important;
    border: 1px solid #354154 !important;
    border-radius: 9px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.02) !important;
    outline: none !important;
  }
  body.siba-dark :where(input,select,textarea):focus,
  body.dark :where(input,select,textarea):focus,
  body[data-theme="dark"] :where(input,select,textarea):focus {
    border-color: var(--siba-orange) !important;
    box-shadow: 0 0 0 3px rgba(255,116,23,.16) !important;
  }
  body.siba-dark :where(input::placeholder,textarea::placeholder),
  body.dark :where(input::placeholder,textarea::placeholder),
  body[data-theme="dark"] :where(input::placeholder,textarea::placeholder) {
    color: #7f8b9c !important;
  }
  body.siba-dark option,
  body.dark option,
  body[data-theme="dark"] option {
    background: var(--siba-surface-2) !important;
    color: var(--siba-text) !important;
  }

  /* Buttons – Statusfarben bleiben erhalten */
  body.siba-dark :where(button,.btn,.pbtn,a.btn):not(.btn-danger):not(.btn-success):not(.danger):not(.success):not(.status-badge):not(.siba-header-ui-btn),
  body.dark :where(button,.btn,.pbtn,a.btn):not(.btn-danger):not(.btn-success):not(.danger):not(.success):not(.status-badge):not(.siba-header-ui-btn),
  body[data-theme="dark"] :where(button,.btn,.pbtn,a.btn):not(.btn-danger):not(.btn-success):not(.danger):not(.success):not(.status-badge):not(.siba-header-ui-btn) {
    border-radius: 9px !important;
  }

  /* Texte */
  body.siba-dark :where(h1,h2,h3,h4,h5,h6),
  body.dark :where(h1,h2,h3,h4,h5,h6),
  body[data-theme="dark"] :where(h1,h2,h3,h4,h5,h6) { color: #f7f9fc !important; }
  body.siba-dark :where(label,small,.muted,.text-muted),
  body.dark :where(label,small,.muted,.text-muted),
  body[data-theme="dark"] :where(label,small,.muted,.text-muted) { color: var(--siba-muted) !important; }

  /* Dialoge, Dropdowns, Tooltips */
  body.siba-dark :where(.dropdown-menu,.popover,.tooltip-inner,.autocomplete-items),
  body.dark :where(.dropdown-menu,.popover,.tooltip-inner,.autocomplete-items),
  body[data-theme="dark"] :where(.dropdown-menu,.popover,.tooltip-inner,.autocomplete-items) {
    background: var(--siba-surface-2) !important;
    color: var(--siba-text) !important;
    border: 1px solid var(--siba-border) !important;
    box-shadow: var(--siba-shadow) !important;
  }

  /* Scrollbar */
  body.siba-dark *,
  body.dark *,
  body[data-theme="dark"] * {
    scrollbar-color: #4a5566 #11151d;
    scrollbar-width: thin;
  }
  body.siba-dark *::-webkit-scrollbar,
  body.dark *::-webkit-scrollbar,
  body[data-theme="dark"] *::-webkit-scrollbar { width: 10px; height: 10px; }
  body.siba-dark *::-webkit-scrollbar-track,
  body.dark *::-webkit-scrollbar-track,
  body[data-theme="dark"] *::-webkit-scrollbar-track { background: #11151d; }
  body.siba-dark *::-webkit-scrollbar-thumb,
  body.dark *::-webkit-scrollbar-thumb,
  body[data-theme="dark"] *::-webkit-scrollbar-thumb { background: #465164; border: 2px solid #11151d; border-radius: 999px; }

  /* Status- und farbcodierte Bereiche nicht neutralisieren */
  body.siba-dark :where(.status-offen,.status-freigegeben,.status-abgelehnt,.status-fertig,.badge-success,.badge-danger,.badge-warning),
  body.dark :where(.status-offen,.status-freigegeben,.status-abgelehnt,.status-fertig,.badge-success,.badge-danger,.badge-warning),
  body[data-theme="dark"] :where(.status-offen,.status-freigegeben,.status-abgelehnt,.status-fertig,.badge-success,.badge-danger,.badge-warning) {
    color: inherit;
  }

  /* Mobile */
  @media (max-width: 900px) {
    body.siba-dark :where(.card,.box,.panel,.table-card,.filter-card),
    body.dark :where(.card,.box,.panel,.table-card,.filter-card),
    body[data-theme="dark"] :where(.card,.box,.panel,.table-card,.filter-card) {
      border-radius: 11px !important;
      box-shadow: 0 5px 18px rgba(0,0,0,.18) !important;
    }
  }
}

/* Refined dark mode fallback: pages that do not load siba_dark_last_override.css */
@import url("siba_dark_last_override.css");


/* SIBA globale semantische Aktionsfarben wie im Lightmode */
body:is(.siba-dark,.dark,[data-theme="dark"]) :is(button,input[type="submit"],a.btn)[name="freigeben"],
body:is(.siba-dark,.dark,[data-theme="dark"]) :is(.btn-success,.success,.approve,.freigeben){background:#198754 !important;color:#fff !important;border-color:#34a66f !important;}
body:is(.siba-dark,.dark,[data-theme="dark"]) :is(button,input[type="submit"],a.btn)[name="ablehnen"],
body:is(.siba-dark,.dark,[data-theme="dark"]) :is(.btn-danger,.danger,.reject,.ablehnen){background:#c62828 !important;color:#fff !important;border-color:#e34a4a !important;}
body:is(.siba-dark,.dark,[data-theme="dark"]) :is(button,input[type="submit"],a.btn)[name="notiz_speichern"],
body:is(.siba-dark,.dark,[data-theme="dark"]) :is(button,input[type="submit"],a.btn)[name="speichern"]{background:#f28c00 !important;color:#fff !important;border-color:#ffad38 !important;}
body:is(.siba-dark,.dark,[data-theme="dark"]) :is(button,input[type="submit"],a.btn)[name="zurueckgegeben"]{background:#0d6efd !important;color:#fff !important;border-color:#4d94ff !important;}
body:is(.siba-dark,.dark,[data-theme="dark"]) :is(button,input[type="submit"],a.btn)[name="druck_fertig"]{background:#198754 !important;color:#fff !important;border-color:#34a66f !important;}
body:is(.siba-dark,.dark,[data-theme="dark"]) :is(button,input[type="submit"],a.btn)[name="druck_offen"]{background:#d99000 !important;color:#17120a !important;border-color:#f0b429 !important;}
