/* ============================================================
   pwpush x1F custom theme  v1.0
   Basis: Bootstrap 5 (Bootswatch Flatly)
   Ziel: x1F-Branding analog zum SFTPGo-Theme

   Wird per panginx sub_filter in jede HTML-Response injected
   (siehe demo/panginx-sites/pwpush.conf). KEIN pwpush-Image-Patch.
   Iteration: Datei ändern → panginx reload → fertig.
   ============================================================ */

/* ---------- Brand tokens ---------- */
:root {
  --x1f-lime:        #DCFF4A;
  --x1f-lime-hover:  #C5E63A;
  --x1f-lime-soft:   rgba(220,255,74,0.15);
  --x1f-on-lime:     #000000;          /* NIE ändern */
  --x1f-anthracite:  #1F1E1D;
  --x1f-surface-d:   #2A2928;
  --x1f-border-d:    #3A3937;
  --x1f-text-d:      #ECEAE6;
  --x1f-muted-d:     #9C9A95;
}

/* Light-Scope (data-bs-theme="light" ODER kein Attribut) */
[data-bs-theme="light"],
:root:not([data-bs-theme="dark"]) {
  --bs-primary:          #DCFF4A;
  --bs-primary-rgb:      220,255,74;
  --bs-link-color:       #000000;
  --bs-link-hover-color: var(--x1f-lime-hover);
  --bs-body-bg:          #FFFFFF;
  --bs-body-color:       #1F1E1D;
  --bs-border-color:     #D2D2D5;
  --bs-tertiary-bg:      #F0F0F0;
  --bs-secondary-bg:     #D2D2D5;
}

/* ============================================================
   LIGHT MODE
   ============================================================ */

/* --- Buttons: Primary + Success als Haupt-CTA --- */
[data-bs-theme="light"] .btn-primary,
[data-bs-theme="light"] .btn-success,
:root:not([data-bs-theme="dark"]) .btn-primary,
:root:not([data-bs-theme="dark"]) .btn-success {
  background-color: var(--x1f-lime) !important;
  border-color:     var(--x1f-lime) !important;
  color:            var(--x1f-on-lime) !important;
}
[data-bs-theme="light"] .btn-primary:hover,
[data-bs-theme="light"] .btn-primary:focus,
[data-bs-theme="light"] .btn-primary:active,
[data-bs-theme="light"] .btn-success:hover,
[data-bs-theme="light"] .btn-success:focus,
[data-bs-theme="light"] .btn-success:active,
:root:not([data-bs-theme="dark"]) .btn-primary:hover,
:root:not([data-bs-theme="dark"]) .btn-primary:focus,
:root:not([data-bs-theme="dark"]) .btn-primary:active,
:root:not([data-bs-theme="dark"]) .btn-success:hover,
:root:not([data-bs-theme="dark"]) .btn-success:focus,
:root:not([data-bs-theme="dark"]) .btn-success:active {
  background-color: var(--x1f-lime-hover) !important;
  border-color:     var(--x1f-lime-hover) !important;
  color:            var(--x1f-on-lime) !important;
}

/* --- Buttons: Outline Primary --- */
[data-bs-theme="light"] .btn-outline-primary,
:root:not([data-bs-theme="dark"]) .btn-outline-primary {
  color: #000 !important;
  border-color: var(--x1f-lime) !important;
}
[data-bs-theme="light"] .btn-outline-primary:hover,
:root:not([data-bs-theme="dark"]) .btn-outline-primary:hover {
  background-color: var(--x1f-lime) !important;
  color: var(--x1f-on-lime) !important;
}

/* --- Action-Buttons in Tabellen / btn-group: schwarzer Outline + Lime-Hover --- */
[data-bs-theme="light"] table .btn-outline-primary,
[data-bs-theme="light"] .btn-group .btn-outline-primary,
[data-bs-theme="light"] table .btn-outline-secondary,
[data-bs-theme="light"] .btn-group .btn-outline-secondary,
:root:not([data-bs-theme="dark"]) table .btn-outline-primary,
:root:not([data-bs-theme="dark"]) .btn-group .btn-outline-primary,
:root:not([data-bs-theme="dark"]) table .btn-outline-secondary,
:root:not([data-bs-theme="dark"]) .btn-group .btn-outline-secondary {
  color: #1F1E1D !important;
  border-color: #1F1E1D !important;
  background-color: transparent !important;
}
[data-bs-theme="light"] table .btn-outline-primary:hover,
[data-bs-theme="light"] table .btn-outline-primary:focus,
[data-bs-theme="light"] .btn-group .btn-outline-primary:hover,
[data-bs-theme="light"] .btn-group .btn-outline-primary:focus,
[data-bs-theme="light"] table .btn-outline-secondary:hover,
[data-bs-theme="light"] table .btn-outline-secondary:focus,
[data-bs-theme="light"] .btn-group .btn-outline-secondary:hover,
[data-bs-theme="light"] .btn-group .btn-outline-secondary:focus,
:root:not([data-bs-theme="dark"]) table .btn-outline-primary:hover,
:root:not([data-bs-theme="dark"]) table .btn-outline-primary:focus,
:root:not([data-bs-theme="dark"]) .btn-group .btn-outline-primary:hover,
:root:not([data-bs-theme="dark"]) .btn-group .btn-outline-primary:focus,
:root:not([data-bs-theme="dark"]) table .btn-outline-secondary:hover,
:root:not([data-bs-theme="dark"]) table .btn-outline-secondary:focus,
:root:not([data-bs-theme="dark"]) .btn-group .btn-outline-secondary:hover,
:root:not([data-bs-theme="dark"]) .btn-group .btn-outline-secondary:focus {
  background-color: var(--x1f-lime) !important;
  border-color: var(--x1f-lime) !important;
  color: var(--x1f-on-lime) !important;
}
/* Aktiver Filter-Button (z.B. "Alle"-Filter im Dashboard) auf Lime */
[data-bs-theme="light"] .btn-group .btn-outline-secondary.active,
:root:not([data-bs-theme="dark"]) .btn-group .btn-outline-secondary.active {
  background-color: var(--x1f-lime) !important;
  border-color: var(--x1f-lime) !important;
  color: var(--x1f-on-lime) !important;
}

/* --- Nav-Tabs --- */
[data-bs-theme="light"] .nav-link.active,
:root:not([data-bs-theme="dark"]) .nav-link.active {
  color: #000 !important;
  border-bottom: 2px solid var(--x1f-lime) !important;
}
[data-bs-theme="light"] .nav-link:hover,
:root:not([data-bs-theme="dark"]) .nav-link:hover {
  color: var(--x1f-lime-hover) !important;
}

/* --- Links --- */
[data-bs-theme="light"] a:not(.btn):not(.nav-link):not(.text-body-emphasis):not(.dropdown-item),
:root:not([data-bs-theme="dark"]) a:not(.btn):not(.nav-link):not(.text-body-emphasis):not(.dropdown-item) {
  color: #000;
  text-decoration: underline;
  text-decoration-color: var(--x1f-lime);
}
[data-bs-theme="light"] a:not(.btn):not(.nav-link):not(.dropdown-item):hover,
:root:not([data-bs-theme="dark"]) a:not(.btn):not(.nav-link):not(.dropdown-item):hover {
  color: var(--x1f-lime-hover);
}

/* --- Slider-Bubbles (Badges in Primary) --- */
[data-bs-theme="light"] .badge.bg-primary,
[data-bs-theme="light"] .badge.text-bg-primary,
:root:not([data-bs-theme="dark"]) .badge.bg-primary,
:root:not([data-bs-theme="dark"]) .badge.text-bg-primary {
  background-color: var(--x1f-lime) !important;
  color: var(--x1f-on-lime) !important;
}

/* --- Range-Slider Thumbs (Vendor-Prefixes müssen getrennt bleiben) --- */
[data-bs-theme="light"] .form-range::-webkit-slider-thumb,
:root:not([data-bs-theme="dark"]) .form-range::-webkit-slider-thumb { background: var(--x1f-lime); }
[data-bs-theme="light"] .form-range::-moz-range-thumb,
:root:not([data-bs-theme="dark"]) .form-range::-moz-range-thumb     { background: var(--x1f-lime); }

/* --- Form fields: Focus-Ring --- */
[data-bs-theme="light"] .form-control:focus,
[data-bs-theme="light"] .form-select:focus,
:root:not([data-bs-theme="dark"]) .form-control:focus,
:root:not([data-bs-theme="dark"]) .form-select:focus {
  border-color: var(--x1f-lime) !important;
  box-shadow: 0 0 0 .2rem rgba(220,255,74,.35) !important;
  outline: 0;
}

/* --- Checkboxen / Radios --- */
[data-bs-theme="light"] .form-check-input:checked,
:root:not([data-bs-theme="dark"]) .form-check-input:checked {
  background-color: var(--x1f-lime) !important;
  border-color: var(--x1f-lime) !important;
}
[data-bs-theme="light"] .form-check-input:checked[type="checkbox"],
:root:not([data-bs-theme="dark"]) .form-check-input:checked[type="checkbox"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e") !important;
}
[data-bs-theme="light"] .form-check-input:checked[type="radio"],
:root:not([data-bs-theme="dark"]) .form-check-input:checked[type="radio"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23000000'/%3e%3c/svg%3e") !important;
}
[data-bs-theme="light"] .form-check-input:focus,
:root:not([data-bs-theme="dark"]) .form-check-input:focus {
  border-color: var(--x1f-lime) !important;
  box-shadow: 0 0 0 .2rem rgba(220,255,74,.35) !important;
}

/* --- Notice-Card / Info-Alert --- */
[data-bs-theme="light"] .card,
[data-bs-theme="light"] .alert-info,
:root:not([data-bs-theme="dark"]) .card,
:root:not([data-bs-theme="dark"]) .alert-info {
  background-color: #F0F0F0;
  border-color: #D2D2D5;
  color: #1F1E1D;
}

/* --- Success-Akzente: dezenter Forest-Green statt Bootstrap-Neonmint --- */
[data-bs-theme="light"] .text-success,
:root:not([data-bs-theme="dark"]) .text-success {
  color: #3FA66B !important;
}
[data-bs-theme="light"] .alert-success,
:root:not([data-bs-theme="dark"]) .alert-success {
  background-color: rgba(63,166,107,0.10);
  border-color: #3FA66B;
  color: #1F1E1D;
}

/* --- Footer --- */
[data-bs-theme="light"] footer.border-top,
:root:not([data-bs-theme="dark"]) footer.border-top {
  border-top-color: #D2D2D5 !important;
}

/* --- Dropdown-Menüs (Konto-Dropdown etc.) --- */
[data-bs-theme="light"] .dropdown-item:hover,
[data-bs-theme="light"] .dropdown-item:focus,
[data-bs-theme="light"] .dropdown-item.active,
[data-bs-theme="light"] .dropdown-item:active,
:root:not([data-bs-theme="dark"]) .dropdown-item:hover,
:root:not([data-bs-theme="dark"]) .dropdown-item:focus,
:root:not([data-bs-theme="dark"]) .dropdown-item.active,
:root:not([data-bs-theme="dark"]) .dropdown-item:active {
  background-color: var(--x1f-lime) !important;
  color: var(--x1f-on-lime) !important;
}
[data-bs-theme="light"] .dropdown-item:hover .text-primary,
[data-bs-theme="light"] .dropdown-item:focus .text-primary,
[data-bs-theme="light"] .dropdown-item.active .text-primary,
[data-bs-theme="light"] .dropdown-item:hover .text-secondary,
[data-bs-theme="light"] .dropdown-item:focus .text-secondary,
[data-bs-theme="light"] .dropdown-item.active .text-secondary,
:root:not([data-bs-theme="dark"]) .dropdown-item:hover .text-primary,
:root:not([data-bs-theme="dark"]) .dropdown-item:focus .text-primary,
:root:not([data-bs-theme="dark"]) .dropdown-item.active .text-primary,
:root:not([data-bs-theme="dark"]) .dropdown-item:hover .text-secondary,
:root:not([data-bs-theme="dark"]) .dropdown-item:focus .text-secondary,
:root:not([data-bs-theme="dark"]) .dropdown-item.active .text-secondary {
  color: var(--x1f-on-lime) !important;
}
[data-bs-theme="light"] .dropdown-item.text-danger:hover,
[data-bs-theme="light"] .dropdown-item.text-danger:focus,
:root:not([data-bs-theme="dark"]) .dropdown-item.text-danger:hover,
:root:not([data-bs-theme="dark"]) .dropdown-item.text-danger:focus {
  background-color: var(--x1f-lime) !important;
  color: #8b0000 !important;
}
/* Icons im Ruhezustand: einheitlich Anthrazit, kein grünlicher Schimmer */
[data-bs-theme="light"] .dropdown-item .text-primary,
[data-bs-theme="light"] .dropdown-item .text-secondary,
:root:not([data-bs-theme="dark"]) .dropdown-item .text-primary,
:root:not([data-bs-theme="dark"]) .dropdown-item .text-secondary {
  color: #1F1E1D !important;
}

/* ============================================================
   DARK MODE
   Greift voll, sobald CSS auch auf Login/Public lädt (per ENV)
   ============================================================ */
[data-bs-theme="dark"] {
  --bs-primary:          #DCFF4A;
  --bs-primary-rgb:      220,255,74;
  --bs-body-bg:          var(--x1f-anthracite);
  --bs-body-color:       var(--x1f-text-d);
  --bs-border-color:     var(--x1f-border-d);
  --bs-tertiary-bg:      var(--x1f-surface-d);
  --bs-secondary-bg:     #1B1A19;
  --bs-link-color:       var(--x1f-lime);
  --bs-link-hover-color: var(--x1f-lime-hover);
  --bs-emphasis-color:   var(--x1f-text-d);
}
[data-bs-theme="dark"] body {
  background-color: var(--x1f-anthracite);
  color: var(--x1f-text-d);
}

/* Buttons: Primary + Success */
[data-bs-theme="dark"] .btn-primary,
[data-bs-theme="dark"] .btn-success {
  background-color: var(--x1f-lime) !important;
  border-color:     var(--x1f-lime) !important;
  color:            var(--x1f-on-lime) !important;
}
[data-bs-theme="dark"] .btn-primary:hover,
[data-bs-theme="dark"] .btn-primary:focus,
[data-bs-theme="dark"] .btn-primary:active,
[data-bs-theme="dark"] .btn-success:hover,
[data-bs-theme="dark"] .btn-success:focus,
[data-bs-theme="dark"] .btn-success:active {
  background-color: var(--x1f-lime-hover) !important;
  border-color:     var(--x1f-lime-hover) !important;
  color:            var(--x1f-on-lime) !important;
}
[data-bs-theme="dark"] .btn-outline-primary       { color: var(--x1f-lime) !important; border-color: var(--x1f-lime) !important; }
[data-bs-theme="dark"] .btn-outline-primary:hover { background-color: var(--x1f-lime) !important; color: var(--x1f-on-lime) !important; }
[data-bs-theme="dark"] .btn-outline-secondary       { color: var(--x1f-text-d); border-color: var(--x1f-border-d); }
[data-bs-theme="dark"] .btn-outline-secondary:hover { background: var(--x1f-surface-d); color: var(--x1f-lime); }

/* Action-Buttons in Tabellen/btn-group (Dark) */
[data-bs-theme="dark"] table .btn-outline-primary,
[data-bs-theme="dark"] .btn-group .btn-outline-primary,
[data-bs-theme="dark"] table .btn-outline-secondary,
[data-bs-theme="dark"] .btn-group .btn-outline-secondary {
  color: var(--x1f-text-d) !important;
  border-color: var(--x1f-text-d) !important;
  background-color: transparent !important;
}
[data-bs-theme="dark"] table .btn-outline-primary:hover,
[data-bs-theme="dark"] table .btn-outline-primary:focus,
[data-bs-theme="dark"] .btn-group .btn-outline-primary:hover,
[data-bs-theme="dark"] .btn-group .btn-outline-primary:focus,
[data-bs-theme="dark"] table .btn-outline-secondary:hover,
[data-bs-theme="dark"] table .btn-outline-secondary:focus,
[data-bs-theme="dark"] .btn-group .btn-outline-secondary:hover,
[data-bs-theme="dark"] .btn-group .btn-outline-secondary:focus {
  background-color: var(--x1f-lime) !important;
  border-color: var(--x1f-lime) !important;
  color: var(--x1f-on-lime) !important;
}
[data-bs-theme="dark"] .btn-group .btn-outline-secondary.active {
  background-color: var(--x1f-lime) !important;
  border-color: var(--x1f-lime) !important;
  color: var(--x1f-on-lime) !important;
}

/* Form fields */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
  background-color: var(--x1f-surface-d);
  color: var(--x1f-text-d);
  border-color: var(--x1f-border-d);
}
[data-bs-theme="dark"] .form-control::placeholder { color: var(--x1f-muted-d); }
[data-bs-theme="dark"] .form-floating > .form-control::placeholder { color: transparent; }
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
  border-color: var(--x1f-lime);
  box-shadow: 0 0 0 .2rem rgba(220,255,74,.20);
  outline: 0;
}

/* Checkboxen / Radios */
[data-bs-theme="dark"] .form-check-input:checked {
  background-color: var(--x1f-lime) !important;
  border-color: var(--x1f-lime) !important;
}
[data-bs-theme="dark"] .form-check-input:checked[type="checkbox"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e") !important;
}
[data-bs-theme="dark"] .form-check-input:focus {
  border-color: var(--x1f-lime) !important;
  box-shadow: 0 0 0 .2rem rgba(220,255,74,.35) !important;
}

/* Nav-Tabs */
[data-bs-theme="dark"] .nav-link        { color: var(--x1f-muted-d); }
[data-bs-theme="dark"] .nav-link:hover  { color: var(--x1f-lime); }
[data-bs-theme="dark"] .nav-link.active { color: var(--x1f-text-d) !important; border-bottom: 2px solid var(--x1f-lime) !important; }

/* Badges/Bubbles */
[data-bs-theme="dark"] .badge.bg-primary,
[data-bs-theme="dark"] .badge.text-bg-primary {
  background-color: var(--x1f-lime) !important;
  color: var(--x1f-on-lime) !important;
}

/* Slider (Vendor-Prefixes getrennt) */
[data-bs-theme="dark"] .form-range::-webkit-slider-thumb          { background: var(--x1f-lime); }
[data-bs-theme="dark"] .form-range::-moz-range-thumb              { background: var(--x1f-lime); }
[data-bs-theme="dark"] .form-range::-webkit-slider-runnable-track { background: var(--x1f-surface-d); }

/* Cards / Notice / Alerts */
[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .alert-info {
  background-color: var(--x1f-surface-d);
  border-color: var(--x1f-border-d);
  color: var(--x1f-text-d);
}

/* Success-Akzente (Dark) */
[data-bs-theme="dark"] .text-success { color: #5DC487 !important; }
[data-bs-theme="dark"] .alert-success {
  background-color: rgba(93,196,135,0.12);
  border-color: #5DC487;
  color: var(--x1f-text-d);
}

/* Tabellen */
[data-bs-theme="dark"] .table {
  --bs-table-bg: var(--x1f-anthracite);
  --bs-table-color: var(--x1f-text-d);
  --bs-table-border-color: var(--x1f-border-d);
}
[data-bs-theme="dark"] .table-hover > tbody > tr:hover > * { --bs-table-hover-bg: var(--x1f-surface-d); }

/* Dropdown-Menüs */
[data-bs-theme="dark"] .dropdown-menu { background: var(--x1f-surface-d); border-color: var(--x1f-border-d); }
[data-bs-theme="dark"] .dropdown-item { color: var(--x1f-text-d); }
[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus,
[data-bs-theme="dark"] .dropdown-item.active,
[data-bs-theme="dark"] .dropdown-item:active {
  background-color: var(--x1f-lime) !important;
  color: var(--x1f-on-lime) !important;
}
[data-bs-theme="dark"] .dropdown-item:hover .text-primary,
[data-bs-theme="dark"] .dropdown-item:focus .text-primary,
[data-bs-theme="dark"] .dropdown-item.active .text-primary,
[data-bs-theme="dark"] .dropdown-item:hover .text-secondary,
[data-bs-theme="dark"] .dropdown-item:focus .text-secondary,
[data-bs-theme="dark"] .dropdown-item.active .text-secondary {
  color: var(--x1f-on-lime) !important;
}
[data-bs-theme="dark"] .dropdown-item.text-danger:hover,
[data-bs-theme="dark"] .dropdown-item.text-danger:focus {
  background-color: var(--x1f-lime) !important;
  color: #8b0000 !important;
}

/* Footer */
[data-bs-theme="dark"] footer.border-top { border-top-color: var(--x1f-border-d) !important; color: var(--x1f-muted-d); }
[data-bs-theme="dark"] footer a          { color: var(--x1f-text-d) !important; }
[data-bs-theme="dark"] footer a:hover    { color: var(--x1f-lime) !important; }

/* ============================================================
   ADMIN SIDEBAR (Passwort-Pusher Verwaltung) – x1F PATCH
   Aside-Layout: aside.bg-white.shadow.border-end
   Items: a.d-flex.rounded-3 mit bg-primary.bg-opacity-10.text-primary (aktiv)
          und text-dark.hover-bg-light (idle/hover)
   ============================================================ */

/* Sidebar-Container – warmes Off-White */
aside.bg-white.shadow.border-end {
  background-color: #FAFAF9 !important;
  border-right: 1px solid rgba(31, 30, 29, 0.12) !important;
}

/* Sektionsüberschrift "SYSTEMADMINISTRATION" */
aside.bg-white.shadow.border-end .text-uppercase,
aside.bg-white.shadow.border-end h6,
aside.bg-white.shadow.border-end small.text-muted {
  color: #6B6A68 !important;
  letter-spacing: 0.06em;
  font-weight: 700;
}

/* Idle-Items (text-dark .hover-bg-light) – Anthrazit */
aside.bg-white.shadow.border-end a.text-dark,
aside.bg-white.shadow.border-end a.hover-bg-light {
  color: #1F1E1D !important;
  background-color: transparent !important;
}
aside.bg-white.shadow.border-end a.text-dark i,
aside.bg-white.shadow.border-end a.text-dark svg,
aside.bg-white.shadow.border-end a.hover-bg-light i,
aside.bg-white.shadow.border-end a.hover-bg-light svg {
  color: #1F1E1D !important;
  fill: currentColor !important;
}

/* Hover-State (.hover-bg-light) – Lime + schwarz */
aside.bg-white.shadow.border-end a.hover-bg-light:hover,
aside.bg-white.shadow.border-end a.text-dark:hover {
  background-color: #DCFF4A !important;
  color: #000000 !important;
}
aside.bg-white.shadow.border-end a.hover-bg-light:hover i,
aside.bg-white.shadow.border-end a.hover-bg-light:hover svg,
aside.bg-white.shadow.border-end a.text-dark:hover i,
aside.bg-white.shadow.border-end a.text-dark:hover svg {
  color: #000000 !important;
  fill: #000000 !important;
}

/* AKTIV-Eintrag – das eigentliche Lesbarkeitsproblem
   Bootstrap rendert hier bg-primary.bg-opacity-10 + text-primary
   → Lime-Text auf hell-Lime-BG. Wir überschreiben beides. */
aside.bg-white.shadow.border-end a.bg-primary.bg-opacity-10,
aside.bg-white.shadow.border-end a.bg-primary.bg-opacity-10.text-primary,
aside.bg-white.shadow.border-end a.text-primary.fw-semibold {
  background-color: #DCFF4A !important;
  color: #000000 !important;
  box-shadow: inset 3px 0 0 0 #1F1E1D;
  font-weight: 600 !important;
}
aside.bg-white.shadow.border-end a.bg-primary.bg-opacity-10 i,
aside.bg-white.shadow.border-end a.bg-primary.bg-opacity-10 svg,
aside.bg-white.shadow.border-end a.text-primary i,
aside.bg-white.shadow.border-end a.text-primary svg {
  color: #000000 !important;
  fill: #000000 !important;
}

/* Focus-Ring – Lime, kein Bootstrap-Blau */
aside.bg-white.shadow.border-end a:focus,
aside.bg-white.shadow.border-end a:focus-visible {
  outline: 2px solid #DCFF4A !important;
  outline-offset: 2px;
  box-shadow: none !important;
}

/* Footer-Copyright in der Sidebar */
aside.bg-white.shadow.border-end small,
aside.bg-white.shadow.border-end .text-muted:not(.text-uppercase) {
  color: #6B6A68 !important;
}

/* ------------------------------------------------------------
   Bonus: Stat-Card Icons im Admin-Dashboard
   (Gesamtzahl Nutzer, Unentschieden, Aktive Pushes, Prüfprotokolle)
   ------------------------------------------------------------ */
main .card .bg-warning.bg-opacity-10,
main .card .bg-info.bg-opacity-10,
main .card .bg-success.bg-opacity-10,
main .card .bg-primary.bg-opacity-10 {
  background-color: rgba(220, 255, 74, 0.18) !important;
}
main .card .text-warning,
main .card .text-info,
main .card .text-success,
main .card .text-primary {
  color: #1F1E1D !important;
}

/* "OSS-Version 2.6.6" Badge – schon Lime, nur Lesbarkeit absichern */
main .badge.bg-primary,
main .badge.bg-success {
  background-color: #DCFF4A !important;
  color: #000000 !important;
}

/* "System aktiv" Pill oben rechts – grün → Forest-Green dezent */
.badge.bg-success.bg-opacity-10,
.badge .text-success {
  color: #3FA66B !important;
}

/* ============================================================
   LIST-GROUP-ITEM-ACTION (Attachment-Links auf Retrieve-Page,
   und überall sonst wo .list-group-item-action benutzt wird)
   Bootstrap-Default-Hover ist hier mit Primary verknüpft
   → erzeugt grünen/limen Hover-Text + grünen Rand
   ============================================================ */

/* Idle-State – schwarzer Text auf Weiß, Anthrazit-Border */
.list-group-item,
.list-group-item-action {
  color: #1F1E1D !important;
  background-color: #FFFFFF !important;
  border-color: rgba(31, 30, 29, 0.15) !important;
}

/* Hover – Lime-Tint im Hintergrund, schwarzer Text, schwarze Border */
.list-group-item-action:hover,
.list-group-item-action:focus {
  background-color: rgba(220, 255, 74, 0.20) !important;
  color: #000000 !important;
  border-color: #1F1E1D !important;
  z-index: 1;
}

/* Active-State (aufgeklappt / gewählt) – volles Lime */
.list-group-item-action.active,
.list-group-item-action:active {
  background-color: #DCFF4A !important;
  color: #000000 !important;
  border-color: #1F1E1D !important;
}

/* Icons innerhalb des Items (z.B. das externe-Link-Icon) */
.list-group-item-action i,
.list-group-item-action svg,
.list-group-item-action .bi {
  color: #1F1E1D !important;
  fill: currentColor !important;
}
.list-group-item-action:hover i,
.list-group-item-action:hover svg,
.list-group-item-action:hover .bi {
  color: #000000 !important;
  fill: #000000 !important;
}

/* Focus-Ring – Lime statt Bootstrap-Blau */
.list-group-item-action:focus,
.list-group-item-action:focus-visible {
  outline: 2px solid #DCFF4A !important;
  outline-offset: 1px;
  box-shadow: none !important;
}

/* Falls Bootstrap das übergeordnete .list-group selbst noch eine
   farbige Border bekommt (variable --bs-list-group-border-color) */
.list-group {
  --bs-list-group-border-color: rgba(31, 30, 29, 0.15);
  --bs-list-group-action-hover-color: #000000;
  --bs-list-group-action-hover-bg: rgba(220, 255, 74, 0.20);
  --bs-list-group-action-active-color: #000000;
  --bs-list-group-action-active-bg: #DCFF4A;
  --bs-list-group-active-color: #000000;
  --bs-list-group-active-bg: #DCFF4A;
  --bs-list-group-active-border-color: #1F1E1D;
}

/* ============================================================
   FIX: Grüner Schimmer durch text-decoration-color auf
   list-group-item-action (Retrieve-Page Attachment-Link).
   Die globale Link-Regel setzt eine Lime-Unterstreichung —
   bei kleiner Schrift wirkt das wie ein grüner Tint auf dem Text.
   Hier explizit zurücknehmen.
   ============================================================ */
a.list-group-item-action,
a.list-group-item-action:hover,
a.list-group-item-action:focus,
a.list-group-item-action:active {
  text-decoration: none !important;
  text-decoration-color: transparent !important;
}
