/*
 * ICM App – Neues Design (dunkel, Grün-Akzent)
 * Gilt für eingeloggte Ansicht (index + alle Scripts mit header.php)
 * Inhalte unverändert, nur Darstellung angepasst.
 */

/* Seitenhintergrund ohne Bild (Farben ggf. aus Admin → Rechtliches) */
html.full:has(body.icm-app) {
  background: var(--app-bg, #0f1419) !important;
  background-image: none !important;
  background-size: auto;
}

body.icm-app {
  --app-text-muted: #b8bdc2; /* helleres Grau für bessere Lesbarkeit auf dunklem Grund */
  background: var(--app-bg, #0f1419);
  color: var(--app-text, #e8eaed);
  font-family: 'Outfit', 'Poppins', sans-serif;
}

/* ---------- Schwarze Schrift auf Grau (besser lesbar auf dunklem Grund) ---------- */
body.icm-app p,
body.icm-app li,
body.icm-app small {
  color: var(--app-text-muted, #9aa0a6) !important;
}

body.icm-app h1,
body.icm-app h2,
body.icm-app h3,
body.icm-app h4,
body.icm-app h5,
body.icm-app h6,
body.icm-app .h1, body.icm-app .h2, body.icm-app .h3,
body.icm-app .h4, body.icm-app .h5, body.icm-app .h6 {
  color: var(--app-text, #e8eaed) !important;
}

body.icm-app label {
  color: var(--app-text-muted, #9aa0a6) !important;
}

body.icm-app .tr_bg,
body.icm-app .tr_bg_nurBank,
body.icm-app .tr_bg_ohneEinsatz {
  color: var(--app-text, #e8eaed) !important;
}

body.icm-app .table th,
body.icm-app .table thead th {
  color: var(--app-text, #e8eaed) !important;
}

body.icm-app .table td {
  color: var(--app-text-muted, #9aa0a6) !important;
}

body.icm-app .panel-title,
body.icm-app .card-title {
  color: var(--app-text, #e8eaed) !important;
}

body.icm-app .text-dark,
body.icm-app .text-body {
  color: var(--app-text, #e8eaed) !important;
}

/* ========== App-Header (Menü in einer Zeile, mobil: Burger) ========== */
body.icm-app {
  --app-header-height: 100px; /* feste Header-Höhe (Logo-Zeile + Nav) */
}
body.icm-app .app-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
  height: var(--app-header-height, 100px);
  background: var(--app-header-bg, rgba(26, 32, 39, 0.98));
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  min-height: 56px;
}

body.icm-app .app-header-inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  height: 100%;
  padding: 0;
  max-width: 100%;
}

/* Oberste Zeile: Logo links, rechts User-Menü + Verein – feste Höhe 64px */
body.icm-app .app-header-top {
  display: flex;
  flex: 0 0 64px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  padding: 0 20px 0;
  position: relative;
  gap: 16px;
}

body.icm-app .app-header-logo {
  flex: 0 0 auto;
}

body.icm-app .app-header-logo img {
  display: block;
  height: 64px;
  width: auto;
}

body.icm-app .app-theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-right: 0;
  color: var(--app-text-muted, #9aa0a6);
  font-size: 0.82rem;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

body.icm-app .app-theme-toggle-nav {
  margin-right: 10px;
}
body.icm-app .app-theme-toggle-header {
  padding: 6px 10px;
  border-radius: 8px;
  margin-right: 0;
  transform: translateY(5px);
}
body.icm-app .app-theme-toggle-mobile {
  display: none;
}
body.icm-app .app-theme-toggle input {
  display: none;
}
body.icm-app .app-theme-toggle-slider {
  position: relative;
  width: 34px;
  height: 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, #1f2937 0 50%, #f3f4f6 50% 100%);
  border: 1px solid rgba(15, 23, 42, 0.35);
  transition: border-color .2s, box-shadow .2s;
}
body.icm-app .app-theme-toggle-slider::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.25);
  transition: transform .2s;
}
body.icm-app .app-theme-toggle input:checked + .app-theme-toggle-slider {
  box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.2);
  border-color: rgba(14, 165, 233, 0.65);
}
body.icm-app .app-theme-toggle input:checked + .app-theme-toggle-slider::after {
  transform: translateX(16px);
}

body.icm-app .app-header-top-right {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 8px;
  min-width: 0;
}

body.icm-app .app-header-user-menu {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  min-width: 0;
}

body.icm-app .app-header-user-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  color: var(--app-text-muted, #9aa0a6);
  text-decoration: none;
  font-size: 0.85rem;
  border-radius: 8px;
  white-space: nowrap;
  flex-shrink: 0;
  transition: color 0.2s, background 0.2s;
}

body.icm-app .app-header-user-link:hover {
  color: var(--app-accent, #00d26a);
  background: rgba(255, 255, 255, 0.06);
}

body.icm-app .app-header-user-link .badge {
  margin-left: 4px;
}

body.icm-app .app-header-user-link-logout {
  padding: 6px 10px;
}

body.icm-app .app-header-club-wrap {
  position: relative;
  margin-left: 4px;
  flex-shrink: 0;
}

body.icm-app .app-header-club-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px 6px 8px;
  color: var(--app-text, #e8eaed);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: background 0.2s, border-color 0.2s;
  white-space: nowrap;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.icm-app .app-header-club-toggle:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
  color: var(--app-text, #e8eaed);
}

body.icm-app .app-header-club-icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
  flex-shrink: 0;
}

body.icm-app .app-header-club-icon-placeholder {
  font-size: 1.1rem;
  color: var(--app-text-muted, #9aa0a6);
  width: 28px;
  text-align: center;
  flex-shrink: 0;
}

body.icm-app .app-header-club-name {
  overflow: hidden;
  text-overflow: ellipsis;
}

body.icm-app .app-header-club-chevron {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.5);
  flex-shrink: 0;
  margin-left: 2px;
}

body.icm-app .app-header-club-dropdown {
  right: 0;
  left: auto;
}

body.icm-app .app-header-club-wrap:hover .app-header-club-dropdown,
body.icm-app .app-header-club-wrap.app-nav-open .app-header-club-dropdown {
  opacity: 1;
  visibility: visible;
}

body.icm-app .app-header-burger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: transparent;
  border: none;
  color: var(--app-text, #e8eaed);
  font-size: 1.25rem;
  cursor: pointer;
  border-radius: 8px;
  transition: background 0.2s;
  flex-shrink: 0;
}

body.icm-app .app-header-burger:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--app-accent, #00d26a);
}

/* Nav-Zeile: feste Höhe 36px, Header gesamt 100px */
body.icm-app .app-header-nav {
  display: flex;
  flex: 0 0 36px;
  align-items: center;
  justify-content: center;
  padding: 4px 20px 6px;
  width: 100%;
  box-sizing: border-box;
}

@media (min-width: 992px) {
  body.icm-app .app-header-nav {
    transform: translateY(-5px);
  }
}

body.icm-app .app-nav-list {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 2px;
}

body.icm-app .app-nav-list > li {
  position: relative;
}

body.icm-app .app-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  color: var(--app-text-muted, #9aa0a6);
  text-decoration: none;
  font-size: 0.85rem;
  border-radius: 8px;
  transition: all 0.2s;
  white-space: nowrap;
}

body.icm-app .app-nav-link:hover {
  color: var(--app-accent, #00d26a);
  background: rgba(255, 255, 255, 0.06);
}

/* Nur Icon (z. B. Logout) */
body.icm-app .app-nav-link.app-nav-link-icon {
  padding: 6px;
}

body.icm-app .app-nav-icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
  flex-shrink: 0;
}

body.icm-app .app-nav-dropdown:hover .app-nav-sub,
body.icm-app .app-nav-dropdown.app-nav-open .app-nav-sub {
  opacity: 1;
  visibility: visible;
}

body.icm-app .app-nav-sub {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 200px;
  margin: 4px 0 0 0;
  padding: 8px 0;
  list-style: none;
  background: rgba(26, 32, 39, 0.98);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
  z-index: 1000;
}

body.icm-app .app-nav-sub li a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  color: var(--app-text-muted, #9aa0a6);
  text-decoration: none;
  font-size: 0.9rem;
  transition: all 0.2s;
}

body.icm-app .app-nav-sub li a:hover {
  color: var(--app-accent, #00d26a);
  background: rgba(255, 255, 255, 0.06);
}

body.icm-app .app-nav-sub .app-nav-icon {
  width: 16px;
  height: 16px;
}

/* Light Mode */
body.icm-app[data-theme="light"] {
  --app-bg: #f3f4f6;
  --app-header-bg: #f8fafc;
  --app-panel-heading-bg: #e5e7eb;
  --app-accent: #0ea5e9;
  --app-accent-hover: #0284c7;
  --app-text: #111827;
  --app-text-muted: #111827;
  --app-accent-text: #ffffff;
}
body.icm-app[data-theme="light"] .app-header,
body.icm-app[data-theme="light"] .app-footer,
body.icm-app[data-theme="light"] .app-nav-sub,
body.icm-app[data-theme="light"] .dropdown-menu,
body.icm-app[data-theme="light"] .modal-content,
body.icm-app[data-theme="light"] .panel.panel-primary,
body.icm-app[data-theme="light"] .panel,
body.icm-app[data-theme="light"] .card {
  background: #ffffff !important;
  border-color: rgba(15, 23, 42, 0.12) !important;
  color: #1f2937 !important;
}
body.icm-app[data-theme="light"] .app-header-user-link:hover,
body.icm-app[data-theme="light"] .app-nav-link:hover,
body.icm-app[data-theme="light"] .app-nav-sub li a:hover {
  background: rgba(15, 23, 42, 0.06) !important;
}
body.icm-app[data-theme="light"] .table td:not(.table-pos-color),
body.icm-app[data-theme="light"] .table th,
body.icm-app[data-theme="light"] .card-body p,
body.icm-app[data-theme="light"] .card-body small,
body.icm-app[data-theme="light"] .card-body label {
  color: #111827 !important;
}
body.icm-app[data-theme="light"] .table-striped tbody tr:nth-of-type(odd) td:not(.table-pos-color),
body.icm-app[data-theme="light"] .table-striped tbody tr:nth-of-type(odd) th {
  background-color: rgba(15, 23, 42, 0.03) !important;
}
body.icm-app[data-theme="light"] .form-control,
body.icm-app[data-theme="light"] input.form-control,
body.icm-app[data-theme="light"] textarea.form-control,
body.icm-app[data-theme="light"] select.form-control {
  background-color: #ffffff !important;
  border-color: rgba(15, 23, 42, 0.2) !important;
  color: #1f2937 !important;
}
body.icm-app[data-theme="light"] .form-control::placeholder {
  color: #6b7280 !important;
}
body.icm-app[data-theme="light"] p,
body.icm-app[data-theme="light"] li,
body.icm-app[data-theme="light"] small,
body.icm-app[data-theme="light"] label,
body.icm-app[data-theme="light"] td,
body.icm-app[data-theme="light"] th,
body.icm-app[data-theme="light"] h1,
body.icm-app[data-theme="light"] h2,
body.icm-app[data-theme="light"] h3,
body.icm-app[data-theme="light"] h4,
body.icm-app[data-theme="light"] h5,
body.icm-app[data-theme="light"] h6,
body.icm-app[data-theme="light"] .app-header-user-link,
body.icm-app[data-theme="light"] .app-nav-link,
body.icm-app[data-theme="light"] .app-nav-sub li a,
body.icm-app[data-theme="light"] .panel-title,
body.icm-app[data-theme="light"] .card-title,
body.icm-app[data-theme="light"] #content a,
body.icm-app[data-theme="light"] .app-footer a,
body.icm-app[data-theme="light"] .app-footer-inner,
body.icm-app[data-theme="light"] .app-theme-toggle {
  color: #111827 !important;
}

/* Content: Abstand nach fixed Header – Laufband muss unter dem Menü starten */
body.icm-app .wrapper {
  flex-direction: column;
  min-height: 100vh;
}

/* Fester Abstandshalter unter dem fixen Header – gleiche Höhe wie Variable */
body.icm-app .app-header-spacer {
  flex: 0 0 auto;
  height: var(--app-header-height, 88px);
  width: 100%;
}

body.icm-app #content {
  background: var(--app-bg, #0f1419);
  color: var(--app-text, #e8eaed);
  padding: 20px;
  margin-left: 0;
  margin-top: 0;
}

/* App-Footer (Impressum, Datenschutz) */
body.icm-app .app-footer {
  background: rgba(26, 32, 39, 0.98);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 14px 20px;
  text-align: center;
}

body.icm-app .app-footer-inner {
  color: var(--app-text-muted, #9aa0a6);
  font-size: 0.875rem;
}

body.icm-app .app-footer a {
  color: var(--app-text-muted, #9aa0a6);
  text-decoration: none;
}

body.icm-app .app-footer a:hover {
  color: var(--app-accent, #00d26a);
}

body.icm-app .app-footer-sep {
  margin: 0 10px;
  color: rgba(255, 255, 255, 0.2);
}

/* Panels → Karten */
body.icm-app .panel.panel-primary {
  background: rgba(26, 32, 39, 0.85) !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
}

body.icm-app .panel.panel-primary > .panel-heading,
body.icm-app .panel .panel-heading {
  background: var(--app-panel-heading-bg, rgba(0, 210, 106, 0.12)) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--app-text, #e8eaed) !important;
  padding: 14px 20px;
  border-radius: 12px 12px 0 0;
}

body.icm-app .panel .panel-title {
  color: var(--app-text, #e8eaed) !important;
  font-weight: 600;
}

body.icm-app .panel .card-body,
body.icm-app .panel .table-responsive,
body.icm-app .panel-body {
  background: transparent !important;
  color: var(--app-text, #e8eaed);
  padding: 20px;
}

/* Tabellen – mit !important gegen Bootstrap (.table { color:#000 }, .table-hover { background }) */
body.icm-app .table {
  color: var(--app-text-muted, #9aa0a6) !important;
}

body.icm-app .table td:not(.table-pos-color),
body.icm-app .table th {
  background-color: transparent !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: inherit !important;
  padding: 12px;
}
/* Farbleiste (Qualifikation): schmal halten – Inline-Hintergrund darf nicht von Stripes überdeckt werden */
body.icm-app .table td.table-pos-color,
body.icm-app .table tr.tr_bg td:first-child {
  width: 8px;
  min-width: 8px;
  max-width: 8px;
  padding-left: 4px;
  padding-right: 4px;
}
/* Kein Streifen/Hover auf Farbsäule – nur background-image aus, Farbe kommt aus Inline-Style */
body.icm-app .table-striped tbody tr td.table-pos-color,
body.icm-app .table-hover tbody tr:hover td.table-pos-color {
  background-image: none !important;
}

body.icm-app .table thead th {
  color: var(--app-text, #e8eaed) !important;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.03) !important;
  background-color: rgba(255, 255, 255, 0.03) !important;
}

body.icm-app .table-striped tbody tr:nth-of-type(odd) td:not(.table-pos-color),
body.icm-app .table-striped tbody tr:nth-of-type(odd) th {
  background-color: rgba(255, 255, 255, 0.02) !important;
}

body.icm-app .table-hover tbody tr:hover td:not(.table-pos-color),
body.icm-app .table-hover tbody tr:hover th {
  background-color: rgba(255, 255, 255, 0.05) !important;
  color: var(--app-text, #e8eaed) !important;
}

/* Primary Buttons */
body.icm-app .btn-primary,
body.icm-app .btn-primary:hover,
body.icm-app .btn-primary:focus,
body.icm-app .btn-primary:not(:disabled):not(.disabled).active,
body.icm-app .show > .btn-primary.dropdown-toggle {
  background-color: var(--app-accent, #00d26a) !important;
  border-color: var(--app-accent, #00d26a) !important;
  color: var(--app-accent-text, #0f1419) !important;
}

body.icm-app .btn-primary:hover {
  background-color: var(--app-accent-hover, #00e676) !important;
  border-color: var(--app-accent-hover, #00e676) !important;
}

/* Kalender-Header in Panels (allgemein) */
body.icm-app .tr_bg_calendar {
  background: var(--app-panel-heading-bg, rgba(0, 210, 106, 0.12)) !important;
  color: var(--app-text, #e8eaed) !important;
}

/* ========== Index: Wochenkalender oben ========== */
/* Weißen Hintergrund aus Bootstrap (.card-body, .table td/th) komplett entfernen */
body.icm-app .index-week-calendar .table-responsive,
body.icm-app .index-week-calendar .card-body {
  background-color: rgba(26, 32, 39, 0.6) !important;
  background: rgba(26, 32, 39, 0.6) !important;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

body.icm-app .index-week-calendar .scroll150 {
  background: transparent !important;
  background-color: transparent !important;
}

body.icm-app .index-week-calendar .table td,
body.icm-app .index-week-calendar .table th {
  background-color: transparent !important;
}

body.icm-app .index-week-calendar .index-week-calendar-table {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 800px;
  width: 100%;
}

body.icm-app .index-week-calendar .index-week-calendar-table > tbody > tr > td {
  background-color: transparent !important;
}

body.icm-app .index-week-calendar .calendar-day-col {
  width: 12.5%;
  min-width: 108px;
  vertical-align: top;
  padding: 0 !important;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.02) !important;
  background-color: rgba(255, 255, 255, 0.02) !important;
  box-sizing: border-box;
}

body.icm-app .index-week-calendar .calendar-day-col:last-child {
  border-right: none;
}

body.icm-app .index-week-calendar .calendar-day-today {
  background: rgba(0, 210, 106, 0.08) !important;
  box-shadow: inset 0 0 0 2px rgba(0, 210, 106, 0.35);
}

body.icm-app .index-week-calendar .scroll150 {
  min-height: 150px;
  max-height: 280px;
  overflow: auto;
  padding: 0 8px 12px;
}
/* Laptop: Kalender-Tage ohne feste Höhe, alles auf einen Blick sichtbar */
@media (min-width: 992px) {
  body.icm-app .index-week-calendar .scroll150 {
    max-height: none;
    overflow: visible;
    height: auto;
  }
}

/* Globale Suche: kompakt, ohne zusätzliches Scrollen */
body.icm-app .index-global-search .card-body-compact {
  padding: 0.5rem 1rem !important;
}
body.icm-app .index-global-search .card-body-compact .form-control-sm {
  min-width: 0;
}

body.icm-app .index-week-calendar .calendar-day-header.tr_bg_calendar {
  height: auto !important;
  min-height: 36px;
  padding: 6px 6px 8px !important;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--app-text, #e8eaed) !important;
  background: var(--app-panel-heading-bg, rgba(0, 210, 106, 0.2)) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  white-space: nowrap;
  line-height: 1.2;
}

body.icm-app .index-week-calendar .calendar-day-header td {
  color: var(--app-text, #e8eaed) !important;
  border: none !important;
}

body.icm-app .index-week-calendar .calendar-day-inner {
  width: 100%;
}

body.icm-app .index-week-calendar .calendar-day-inner tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

body.icm-app .index-week-calendar .calendar-day-inner tr:last-child {
  border-bottom: none;
}

body.icm-app .index-week-calendar .calendar-day-inner .calendar-match-row {
  display: grid;
  grid-template-columns: 55px 1fr 55px;
  grid-template-areas:
    "competition result opponent"
    "place place place";
  column-gap: 8px;
  row-gap: 4px;
  align-items: center;
}

body.icm-app .index-week-calendar .calendar-day-inner .calendar-match-row td {
  width: auto !important;
  padding: 2px 0 !important;
  border: none !important;
}

body.icm-app .index-week-calendar .calendar-day-inner .calendar-match-row .calendar-match-competition {
  grid-area: competition;
  text-align: left !important;
}

body.icm-app .index-week-calendar .calendar-day-inner .calendar-match-row .calendar-match-result {
  grid-area: result;
  text-align: center !important;
  white-space: nowrap;
}

body.icm-app .index-week-calendar .calendar-day-inner .calendar-match-row .calendar-match-place {
  grid-area: place;
  text-align: center !important;
  font-size: 0.78rem;
  line-height: 1.2;
  color: var(--app-text-muted, #9aa0a6);
}

body.icm-app .index-week-calendar .calendar-day-inner .calendar-match-row .calendar-match-opponent {
  grid-area: opponent;
  text-align: right !important;
}

body.icm-app .index-week-calendar .calendar-day-inner td {
  padding: 8px 6px !important;
  font-size: 0.85rem;
  color: var(--app-text-muted, #9aa0a6);
  border: none !important;
  vertical-align: middle !important;
  background-color: transparent !important;
}

body.icm-app .index-week-calendar .calendar-day-inner a {
  color: var(--app-accent, #00d26a);
  font-weight: 600;
}

body.icm-app .index-week-calendar .calendar-day-inner a:hover {
  color: var(--app-accent-hover, #00e676);
}

body.icm-app .index-week-calendar .img-calendar {
  width: 55px;
  height: 55px;
  object-fit: contain;
  vertical-align: middle;
}

/* Mobil: breitere Felder (≈160px pro Tag), kleinere Badges, Inhalt passt besser rein */
@media (max-width: 991px) {
  body.icm-app .index-week-calendar .index-week-calendar-table {
    min-width: 1120px;
  }
  body.icm-app .index-week-calendar .img-calendar {
    width: 36px;
    height: 36px;
  }
  body.icm-app .index-week-calendar .calendar-day-inner td {
    padding: 4px 4px !important;
    font-size: 0.8rem;
  }
  body.icm-app .index-week-calendar .calendar-day-header.tr_bg_calendar {
    min-height: 32px;
    padding: 6px 6px !important;
    font-size: 0.75rem;
  }
  body.icm-app .index-week-calendar .scroll150 {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    min-height: 120px;
  }
  body.icm-app .index-week-calendar .calendar-day-inner .calendar-match-row {
    grid-template-columns: 36px 1fr 36px;
    column-gap: 6px;
    row-gap: 2px;
  }
  body.icm-app .index-week-calendar .calendar-day-inner .calendar-match-row .calendar-match-place {
    font-size: 0.76rem;
  }
}

/* =========================================================
   Dark-Mode safety net: Tabelleninhalte immer lesbar
   (fix für Freie Vereine/Kader/Training/Finanzen/Transfermarkt/
    Blickfeld/Arbeitsamt/Wettbewerbe/Tabellen/Ergebnisse/Manager/Statistiken)
   ========================================================= */
body.icm-app:not([data-theme="light"]) .table td,
body.icm-app:not([data-theme="light"]) .table th,
body.icm-app:not([data-theme="light"]) .table td small,
body.icm-app:not([data-theme="light"]) .table td b,
body.icm-app:not([data-theme="light"]) .table td span,
body.icm-app:not([data-theme="light"]) .table td a,
body.icm-app:not([data-theme="light"]) .table td a small,
body.icm-app:not([data-theme="light"]) .panel .table-no-border td,
body.icm-app:not([data-theme="light"]) .panel .table-no-border td a,
body.icm-app:not([data-theme="light"]) .panel .table-no-border td a small,
body.icm-app:not([data-theme="light"]) .panel .table-bordered td,
body.icm-app:not([data-theme="light"]) .panel .table-bordered td a,
body.icm-app:not([data-theme="light"]) .panel .table-bordered td a small,
body.icm-app:not([data-theme="light"]) .sel_results_result .table td,
body.icm-app:not([data-theme="light"]) .sel_results_result .table a,
body.icm-app:not([data-theme="light"]) .sel_results_result .table a small {
  color: #e8eaed !important;
}

body.icm-app:not([data-theme="light"]) .table thead th,
body.icm-app:not([data-theme="light"]) .table-no-border tr.tr_bg td,
body.icm-app:not([data-theme="light"]) .table-no-border tr.tr_bg td b,
body.icm-app:not([data-theme="light"]) .table-bordered tr.tr_bg td,
body.icm-app:not([data-theme="light"]) .table-bordered tr.tr_bg td b,
body.icm-app:not([data-theme="light"]) .tr_bg,
body.icm-app:not([data-theme="light"]) .tr_bg td,
body.icm-app:not([data-theme="light"]) .tr_bg th {
  background-color: rgba(0, 210, 106, 0.12) !important;
  color: #e8eaed !important;
}

/* Statistiken: alte bgcolor-Zeilen im Dark-Mode neutralisieren */
body.icm-app:not([data-theme="light"]) .table tr[bgcolor] td,
body.icm-app:not([data-theme="light"]) .table td[bgcolor],
body.icm-app:not([data-theme="light"]) .table-no-border tr[bgcolor] td,
body.icm-app:not([data-theme="light"]) #showStatistics .table tr[bgcolor] td,
body.icm-app:not([data-theme="light"]) #showStatistics .table td[bgcolor] {
  background-color: rgba(0, 210, 106, 0.12) !important;
  color: #e8eaed !important;
}

/* Login/Start: Fehlermeldungen im Dark-Mode klar lesbar */
body.icm-app:not([data-theme="light"]) .alert,
body.icm-app:not([data-theme="light"]) .alert *,
body.landing-page .alert,
body.landing-page .alert * {
  color: #ffffff !important;
}

/* Login/Landing: Bootstrap-Alert-Farben überschreiben (sonst dunkle Standardschrift) */
body.landing-page .alert-primary,
body.landing-page .alert-success,
body.landing-page .alert-danger,
body.landing-page .alert-warning,
body.landing-page .alert-info,
body.landing-page .alert-primary *,
body.landing-page .alert-success *,
body.landing-page .alert-danger *,
body.landing-page .alert-warning *,
body.landing-page .alert-info * {
  color: #ffffff !important;
}

/* Tabs – Bootstrap setzt .nav-link.active Hintergrund, mit !important überschreiben */
body.icm-app .nav-tabs {
  position: relative;
  z-index: 2;
  border-color: rgba(255, 255, 255, 0.08);
  background: transparent !important;
}
body.icm-app .nav-tabs .nav-link,
body.icm-app .nav-tabs .nav-item .nav-link,
body.icm-app .card .card-body .nav-tabs .nav-link,
body.icm-app .card .card-body .nav-tabs .nav-item .nav-link {
  color: #e8eaed !important;
  border-color: rgba(255, 255, 255, 0.08);
  background-color: transparent !important;
  cursor: pointer;
}
body.icm-app .nav-tabs .nav-link:hover,
body.icm-app .nav-tabs .nav-item .nav-link:hover {
  color: #e8eaed !important;
  background-color: rgba(255, 255, 255, 0.06) !important;
}
body.icm-app .nav-tabs .nav-link.active,
body.icm-app .nav-tabs .nav-item.show .nav-link,
body.icm-app .card .card-body .nav-tabs .nav-link.active {
  background-color: rgba(0, 210, 106, 0.12) !important;
  background: rgba(0, 210, 106, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.08);
  color: #00d26a !important;
}

/* Teamprofil: Tabs explizit klickbar halten (kein Überdecken) */
#teamprofile-card .card-body {
  position: relative;
  z-index: 1;
  display: block;
}
#teamprofile-card .teamprofile-tabs {
  position: relative;
  z-index: 2;
  pointer-events: auto;
  width: 100%;
  flex: none;
  margin-bottom: 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
#teamprofile-card .teamprofile-tabs .nav-link {
  pointer-events: auto;
}

/* Teamprofil: Tab-Panes – nur das aktive anzeigen (Redesign überschreibt sonst ggf. Bootstrap) */
#teamprofile-card .tab-content > .tab-pane {
  display: none !important;
}
#teamprofile-card .tab-content > .tab-pane.active {
  display: block !important;
}

/* Teamprofil: Managerhistorie – Tabelle voll sichtbar, keine Überlagerung */
#teamprofile-card .tab-pane#teamprofile-manager {
  overflow: visible;
  position: relative;
  z-index: 2;
  width: 100%;
  min-width: 0;
}
#teamprofile-card .tab-pane#teamprofile-manager .teamprofile-manager-wrap {
  width: 100%;
  overflow-x: auto;
  overflow-y: visible;
}
#teamprofile-card .tab-pane#teamprofile-manager .table {
  width: 100%;
  min-width: 500px;
  table-layout: fixed;
}
#teamprofile-card .tab-pane#teamprofile-manager .table td,
#teamprofile-card .tab-pane#teamprofile-manager .table th {
  overflow: visible;
  white-space: normal;
  max-width: none;
}
/* Spalten mindestens breit halten (5% | 55% | 15% | 25%) */
#teamprofile-card .tab-pane#teamprofile-manager .table td:nth-child(1),
#teamprofile-card .tab-pane#teamprofile-manager .table th:nth-child(1) { min-width: 50px; }
#teamprofile-card .tab-pane#teamprofile-manager .table td:nth-child(2),
#teamprofile-card .tab-pane#teamprofile-manager .table th:nth-child(2) { min-width: 120px; }
#teamprofile-card .tab-pane#teamprofile-manager .table td:nth-child(3),
#teamprofile-card .tab-pane#teamprofile-manager .table th:nth-child(3) { min-width: 70px; }
#teamprofile-card .tab-pane#teamprofile-manager .table td:nth-child(4),
#teamprofile-card .tab-pane#teamprofile-manager .table th:nth-child(4) { min-width: 100px; }
/* Tab-Content im Teamprofil: Abstand unter Tab-Leiste, volle Breite */
#teamprofile-card .tab-content {
  width: 100%;
  min-width: 0;
  padding-top: 12px;
  margin-top: 0;
  clear: both;
}

/* Teamprofil: Trophäen – Container-Höhe für absolute Positionierung, Inhalt sichtbar */
#teamprofile-card .tab-pane#teamprofile-trophys {
  overflow: visible;
  min-height: 720px;
  position: relative;
}
#teamprofile-card .tab-pane#teamprofile-trophys .table-responsive.card-body {
  min-height: 720px;
  position: relative;
  overflow: visible;
}

/* Trophäen-Boxen im App-Design: Grün statt Blau (Vereins- und Manager-Trophäen) */
body.icm-app .teamtrophy-competition,
body.icm-app .teamtrophy-titles,
body.icm-app .teamtrophy-counter,
body.icm-app .usertrophy-counter {
  background-color: var(--app-accent, #00d26a) !important;
  border-color: rgba(0, 0, 0, 0.2) !important;
  color: var(--app-accent-text, #0f1419) !important;
}

/* Manager-Profil Trophäen: Pokale 5 px kleiner */
body.icm-app .usertrophy .img-usertrophy {
  height: 95px !important;
  width: auto;
}

/* Card-Header – Bootstrap setzt .card-header { background-color:#3E6082 }, einheitlich überschreiben */
body.icm-app .card-header {
  background-color: var(--app-panel-heading-bg, rgba(0, 210, 106, 0.12)) !important;
  background: var(--app-panel-heading-bg, rgba(0, 210, 106, 0.12)) !important;
  border-color: rgba(255, 255, 255, 0.08);
  color: var(--app-text, #e8eaed) !important;
}

/* Resultticker (Marquee) – garantiert unter dem Header */
body.icm-app #content > .row:first-child {
  margin-top: 0;
}

body.icm-app .resultticker {
  margin-top: 0 !important;
  padding-top: 0;
  /* Abstand kommt von #content padding-top (84px), damit Ticker nicht vom Menü überdeckt wird */
  background: rgba(26, 32, 39, 0.9) !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 12px 16px;
  color: var(--app-text, #e8eaed);
}

body.icm-app .resultticker a {
  color: var(--app-accent, #00d26a);
}

body.icm-app .resultticker a:hover {
  color: var(--app-accent-hover, #00e676);
}

/* Alerts */
body.icm-app .alert-primary {
  background: rgba(0, 210, 106, 0.15) !important;
  border-color: rgba(0, 210, 106, 0.3);
  color: var(--app-text, #e8eaed);
}

body.icm-app .alert-success {
  background: rgba(0, 210, 106, 0.12) !important;
  border-color: rgba(0, 210, 255, 0.2);
  color: var(--app-text, #e8eaed);
}

body.icm-app .alert-danger {
  background: rgba(220, 53, 69, 0.15);
  border-color: rgba(220, 53, 69, 0.3);
  color: #f8d7da;
}

/* Links */
body.icm-app #content a {
  color: var(--app-accent, #00d26a);
}

body.icm-app #content a:hover {
  color: var(--app-accent-hover, #00e676);
}

/* ---------- Weiße Hintergründe nach Login entfernen ---------- */
body.icm-app .wrapper,
body.icm-app #content {
  background: var(--app-bg, #0f1419) !important;
}

body.icm-app .container,
body.icm-app .container-fluid,
body.icm-app .row,
body.icm-app [class*="col-"] {
  background: transparent !important;
}

/* Panel/Card – Bootstrap setzt .card { background-color:#fff }, mit !important überschreiben */
body.icm-app .panel {
  background-color: rgba(26, 32, 39, 0.85) !important;
  background: rgba(26, 32, 39, 0.85) !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

body.icm-app .card {
  background-color: rgba(26, 32, 39, 0.85) !important;
  background: rgba(26, 32, 39, 0.85) !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--app-text, #e8eaed) !important;
}

body.icm-app .card-body {
  background-color: transparent !important;
  background: transparent !important;
  color: var(--app-text, #e8eaed) !important;
}

/* Lesbarkeit: Beschreibungstext und Labels in Karten/Panels (z. B. Freie Mitarbeiter) */
body.icm-app .card-body p,
body.icm-app .card-body small,
body.icm-app .card-body td,
body.icm-app .card-body label,
body.icm-app .panel .card-body p,
body.icm-app .panel .card-body small,
body.icm-app .panel .card-body .table-no-border td,
body.icm-app .panel .card-body label,
body.icm-app .panel .table-responsive.card-body,
body.icm-app .panel .table-responsive.card-body td,
body.icm-app .panel .table-responsive.card-body small {
  color: #e8eaed !important;
}

/* Kein weißer Hintergrund in Kacheln/Karten – Bootstrap-Defaults überschreiben */
body.icm-app .card .card-body,
body.icm-app .panel .card-body,
body.icm-app .panel .table-responsive.card-body {
  background-color: transparent !important;
  background: transparent !important;
}
body.icm-app .card .nav-tabs,
body.icm-app .card-body .nav-tabs {
  background: transparent !important;
}
/* Inputs/Selects in Karten und Panels: immer dunkler Hintergrund, helle Schrift (kein Weiß-auf-Weiß) */
body.icm-app .card input:not([type="hidden"]),
body.icm-app .card select,
body.icm-app .card textarea,
body.icm-app .panel input:not([type="hidden"]),
body.icm-app .panel select,
body.icm-app .panel textarea {
  background-color: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: #e8eaed !important;
}
body.icm-app .card input::placeholder,
body.icm-app .card textarea::placeholder,
body.icm-app .panel input::placeholder,
body.icm-app .panel textarea::placeholder {
  color: #b8bdc2 !important;
}
/* Tabellen in Karten/Panels: Zellen nie mit weißem Hintergrund, Text immer lesbar (Farbsäule .table-pos-color ausgenommen) */
body.icm-app .card .table td:not(.table-pos-color),
body.icm-app .card .table th,
body.icm-app .panel .table td:not(.table-pos-color),
body.icm-app .panel .table th,
body.icm-app .panel .table-no-border td:not(.table-pos-color),
body.icm-app .panel .table-no-border th {
  background-color: transparent !important;
  color: #e8eaed !important;
}
/* Zeile „Name | Geburtstag | Gehalt“ und alle Tabellenzellen in Panels: lesbar, kein Weiß */
body.icm-app .panel .table-no-border tr.tr_bg,
body.icm-app .panel .table-no-border tr.tr_bg td,
body.icm-app .panel .table-no-border tr.tr_bg td b,
body.icm-app .card .table-no-border tr.tr_bg,
body.icm-app .card .table-no-border tr.tr_bg td,
body.icm-app .card .table-no-border tr.tr_bg td b {
  background-color: rgba(0, 210, 106, 0.12) !important;
  background: rgba(0, 210, 106, 0.12) !important;
  color: #e8eaed !important;
  border-color: rgba(255, 255, 255, 0.08);
}
/* Kontoauszug-Tabellen (.table-bordered): Datum, Kategorie, Beschreibung etc. lesbar */
body.icm-app .card .table-bordered tr.tr_bg,
body.icm-app .card .table-bordered tr.tr_bg td,
body.icm-app .card .table-bordered tr.tr_bg td b,
body.icm-app .panel .table-bordered tr.tr_bg,
body.icm-app .panel .table-bordered tr.tr_bg td,
body.icm-app .panel .table-bordered tr.tr_bg td b {
  background-color: rgba(0, 210, 106, 0.12) !important;
  background: rgba(0, 210, 106, 0.12) !important;
  color: #e8eaed !important;
  border-color: rgba(255, 255, 255, 0.08);
  font-weight: 600;
}
body.icm-app .card .table-bordered td,
body.icm-app .card .table-bordered th,
body.icm-app .panel .table-bordered td,
body.icm-app .panel .table-bordered th {
  background-color: transparent !important;
  color: #e8eaed !important;
  border-color: rgba(255, 255, 255, 0.08);
}
body.icm-app .card .table-striped tbody tr:nth-of-type(odd) td:not(.table-pos-color),
body.icm-app .card .table-striped tbody tr:nth-of-type(odd) th,
body.icm-app .panel .table-striped tbody tr:nth-of-type(odd) td:not(.table-pos-color),
body.icm-app .panel .table-striped tbody tr:nth-of-type(odd) th {
  background-color: rgba(255, 255, 255, 0.02) !important;
  color: #e8eaed !important;
}

body.icm-app .table-responsive {
  background-color: transparent !important;
  background: transparent !important;
}

/* Büro → Kalender: Lesbarkeit (Tage + Ergebnisse) */
body.icm-app div#calendar.table-responsive.card-body,
body.icm-app div#calendar {
  background-color: rgba(26, 32, 39, 0.5) !important;
}
body.icm-app div#calendar .table.calendar-month-table,
body.icm-app div#calendar .table,
body.icm-app div#calendar .table tbody,
body.icm-app div#calendar .table tbody tr {
  background: transparent !important;
}
body.icm-app div#calendar .table.calendar-month-table tr.tr_bg th,
body.icm-app div#calendar .table.calendar-month-table thead th,
body.icm-app div#calendar .table tr.tr_bg th,
body.icm-app div#calendar .table thead th {
  background: var(--app-panel-heading-bg, rgba(0, 210, 106, 0.12)) !important;
  color: #e8eaed !important;
  border-color: rgba(255, 255, 255, 0.1);
  font-weight: 600;
}
body.icm-app div#calendar .table.calendar-month-table tr.tr_bg th b,
body.icm-app div#calendar .table tr.tr_bg th b {
  color: #e8eaed !important;
  font-weight: 600;
}
body.icm-app div#calendar .table.calendar-month-table td,
body.icm-app div#calendar .table td {
  background-color: rgba(26, 32, 39, 0.6) !important;
  color: #9aa0a6 !important;
  border-color: rgba(255, 255, 255, 0.08);
}
body.icm-app div#calendar .table.calendar-month-table td[bgcolor="#AAAAAA"],
body.icm-app div#calendar .table td[bgcolor="#AAAAAA"] {
  background-color: rgba(0, 210, 106, 0.15) !important;
}
body.icm-app div#calendar .table.calendar-month-table td:hover,
body.icm-app div#calendar .table td:hover {
  background-color: rgba(255, 255, 255, 0.08) !important;
}
body.icm-app div#calendar .table.calendar-month-table td small,
body.icm-app div#calendar .table.calendar-month-table td small i,
body.icm-app div#calendar .table.calendar-month-table td .text-right,
body.icm-app div#calendar .table td small,
body.icm-app div#calendar .table td small i,
body.icm-app div#calendar .table td .text-right {
  color: #e8eaed !important;
}
/* Ergebnis-Links in Spiel-Events: dunkle Schrift auf grünem Hintergrund */
body.icm-app div#calendar .table td .events div.match a,
body.icm-app div#calendar .table td .events div.match b {
  color: #0f1419 !important;
  font-weight: 700;
}
body.icm-app div#calendar .table td .events div.match a:hover {
  color: #1a3a1a !important;
}

/* Ergebnisse (scripts/results): saubere Zweispalten-Darstellung auf Desktop */
body.icm-app .sel_results_result .row-results-wrap .card-body {
  padding-bottom: 1rem;
}
body.icm-app .sel_results_result .nav-tabs {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  margin-bottom: 0;
}
body.icm-app .sel_results_result .tab-content .row > .results-col {
  min-width: 0;
}
body.icm-app .sel_results_result .tab-content .tab-pane .row-own {
  margin-bottom: 0.5rem;
}
body.icm-app .sel_results_result .tab-content .tab-pane .row-own:last-child {
  margin-bottom: 0;
}
/* Results: linke Tabellen (Ergebnisse, Torschützen, …) – helle Schrift */
body.icm-app .sel_results_result .table td,
body.icm-app .sel_results_result .table th {
  color: #e8eaed !important;
}
body.icm-app .sel_results_result .table thead th,
body.icm-app .sel_results_result .table tr.tr_bg th,
body.icm-app .sel_results_result .table tr.tr_bg td {
  color: #e8eaed !important;
  font-weight: 600;
}
body.icm-app .sel_results_result .table a {
  color: var(--app-accent, #00d26a) !important;
}
body.icm-app .sel_results_result .table a:hover {
  color: var(--app-accent-hover, #00e676) !important;
}
body.icm-app .sel_results_result .table tr[bgcolor] td {
  color: #e8eaed !important;
}
/* Results: rechte Tabelle („Tabelle nach dem X. Spieltag“) – nur Schriftfarbe schwarz */
body.icm-app .sel_results_result .table-leaguetable td,
body.icm-app .sel_results_result .table-leaguetable th {
  color: #000 !important;
}
body.icm-app .sel_results_result .table-leaguetable tr.tr_bg th,
body.icm-app .sel_results_result .table-leaguetable tr.tr_bg td {
  color: #000 !important;
}
body.icm-app .sel_results_result .table-leaguetable tr[bgcolor] td {
  color: #000 !important;
}
body.icm-app .sel_results_result .table-leaguetable a {
  color: #0d6efd !important;
}
body.icm-app .sel_results_result .table-leaguetable a:hover {
  color: #0a58ca !important;
}

body.icm-app a.download {
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--app-accent, #00d26a);
}

body.icm-app a.download:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  color: var(--app-accent-hover, #00e676);
}

body.icm-app .list-group-item {
  background-color: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08);
  color: var(--app-text, #e8eaed) !important;
}

body.icm-app .dropdown-menu {
  background: rgba(26, 32, 39, 0.98) !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

body.icm-app .dropdown-item {
  color: var(--app-text, #e8eaed) !important;
}
body.icm-app .dropdown-item:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--app-accent, #00d26a) !important;
}

body.icm-app .modal-content {
  background: rgba(26, 32, 39, 0.98) !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--app-text, #e8eaed);
}

body.icm-app .modal-header,
body.icm-app .modal-footer {
  border-color: rgba(255, 255, 255, 0.08);
}

body.icm-app .breadcrumb {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--app-text-muted, #9aa0a6) !important;
}
body.icm-app .breadcrumb-item,
body.icm-app .breadcrumb-item a {
  color: var(--app-text-muted, #9aa0a6) !important;
}
body.icm-app .breadcrumb-item.active {
  color: var(--app-text, #e8eaed) !important;
}

body.icm-app .alert:not(.alert-primary):not(.alert-success):not(.alert-danger) {
  background: rgba(26, 32, 39, 0.9) !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--app-text, #e8eaed);
}

/* Vereinsnachrichten (Twitter-Box) – kein weißer Hintergrund */
body.icm-app .tweet-wrap-websoccer,
body.icm-app .tweet-wrap {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom-color: rgba(255, 255, 255, 0.08);
  border-top-color: rgba(255, 255, 255, 0.08);
  color: var(--app-text, #e8eaed);
}

body.icm-app .tweet-header-info span {
  color: var(--app-text-muted, #9aa0a6);
}

body.icm-app .tweet-header-info p {
  color: var(--app-text-muted, #9aa0a6);
}

body.icm-app .tweet-info-counts div svg {
  color: var(--app-text-muted, #9aa0a6);
}

/* Formulare – mit !important gegen Bootstrap/Browser (z. B. .form-control:focus { background:#fff }) */
body.icm-app .form-control,
body.icm-app input.form-control,
body.icm-app textarea.form-control {
  background-color: rgba(255, 255, 255, 0.06) !important;
  background-image: none !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: var(--app-text, #e8eaed) !important;
}

body.icm-app .form-control:focus,
body.icm-app input.form-control:focus,
body.icm-app textarea.form-control:focus {
  background-color: rgba(255, 255, 255, 0.08) !important;
  border-color: var(--app-accent, #00d26a) !important;
  box-shadow: 0 0 0 3px rgba(0, 210, 106, 0.2) !important;
  color: var(--app-text, #e8eaed) !important;
}

body.icm-app .form-control::placeholder {
  color: var(--app-text-muted, #9aa0a6) !important;
}

body.icm-app .form-control:disabled,
body.icm-app .form-control[readonly] {
  background-color: rgba(255, 255, 255, 0.04) !important;
  color: var(--app-text-muted, #9aa0a6) !important;
}

/* Select-Dropdowns: dunkler Hintergrund erzwingen (Bootstrap/Browser setzen sonst oft #fff) */
body.icm-app select.form-control {
  background-color: #1a2027 !important;
  color: #e8eaed !important;
}
body.icm-app select.form-control:focus {
  background-color: #1a2027 !important;
  color: #e8eaed !important;
}
body.icm-app select.form-control option {
  background: #1a2027;
  color: #e8eaed;
}

/* Input-Group-Text / Custom-Select – Bootstrap setzt helle Hintergründe */
body.icm-app .input-group-text {
  background-color: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: var(--app-text, #e8eaed) !important;
}
body.icm-app .custom-select {
  background-color: #1a2027 !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: var(--app-text, #e8eaed) !important;
}

/* Aufstellung: Spieler-Auswahlfelder gut lesbar (schwarzer Hintergrund) */
body.icm-app .lineup-select,
body.icm-app .bench-select,
body.icm-app .lineuplist-select {
  background: #1a2027 !important;
  border-color: rgba(255, 255, 255, 0.15);
  color: #e8eaed !important;
}

body.icm-app .lineup-select option,
body.icm-app .bench-select option,
body.icm-app .lineuplist-select option {
  background: #1a2027;
  color: #e8eaed;
}

/* Kaderliste: farbige Kästchen (Sta., DS, FRI, ZUF) und Position-Badges gut lesbar */
body.icm-app .playersColumn .bg,
body.icm-app .playersColumn .bg small,
body.icm-app .playersColumn .pos,
body.icm-app .playersColumn .pos small {
  color: #fff !important;
  text-shadow: 0 0 1px #000, 0 1px 2px rgba(0, 0, 0, 0.9);
  font-weight: 600;
}

/* Auf hellen Hintergründen (gelb/grün) dunkle Schrift für besseren Kontrast */
body.icm-app .playersColumn .bg-51, body.icm-app .playersColumn .bg-52,
body.icm-app .playersColumn .bg-53, body.icm-app .playersColumn .bg-54,
body.icm-app .playersColumn .bg-55, body.icm-app .playersColumn .bg-56,
body.icm-app .playersColumn .bg-57, body.icm-app .playersColumn .bg-58,
body.icm-app .playersColumn .bg-59, body.icm-app .playersColumn .bg-60,
body.icm-app .playersColumn .bg-61, body.icm-app .playersColumn .bg-62,
body.icm-app .playersColumn .bg-63, body.icm-app .playersColumn .bg-64,
body.icm-app .playersColumn .bg-65, body.icm-app .playersColumn .bg-66,
body.icm-app .playersColumn .bg-67, body.icm-app .playersColumn .bg-68,
body.icm-app .playersColumn .bg-69, body.icm-app .playersColumn .bg-70,
body.icm-app .playersColumn .bg-71, body.icm-app .playersColumn .bg-72,
body.icm-app .playersColumn .bg-73, body.icm-app .playersColumn .bg-74,
body.icm-app .playersColumn .bg-75,
body.icm-app .playersColumn .bg-51 small, body.icm-app .playersColumn .bg-52 small,
body.icm-app .playersColumn .bg-53 small, body.icm-app .playersColumn .bg-54 small,
body.icm-app .playersColumn .bg-55 small, body.icm-app .playersColumn .bg-56 small,
body.icm-app .playersColumn .bg-57 small, body.icm-app .playersColumn .bg-58 small,
body.icm-app .playersColumn .bg-59 small, body.icm-app .playersColumn .bg-60 small,
body.icm-app .playersColumn .bg-61 small, body.icm-app .playersColumn .bg-62 small,
body.icm-app .playersColumn .bg-63 small, body.icm-app .playersColumn .bg-64 small,
body.icm-app .playersColumn .bg-65 small, body.icm-app .playersColumn .bg-66 small,
body.icm-app .playersColumn .bg-67 small, body.icm-app .playersColumn .bg-68 small,
body.icm-app .playersColumn .bg-69 small, body.icm-app .playersColumn .bg-70 small,
body.icm-app .playersColumn .bg-71 small, body.icm-app .playersColumn .bg-72 small,
body.icm-app .playersColumn .bg-73 small, body.icm-app .playersColumn .bg-74 small,
body.icm-app .playersColumn .bg-75 small,
body.icm-app .playersColumn .pos-1, body.icm-app .playersColumn .pos-2,
body.icm-app .playersColumn .pos-3, body.icm-app .playersColumn .pos-4,
body.icm-app .playersColumn .pos-5, body.icm-app .playersColumn .pos-6,
body.icm-app .playersColumn .pos-7, body.icm-app .playersColumn .pos-8,
body.icm-app .playersColumn .pos-9, body.icm-app .playersColumn .pos-10,
body.icm-app .playersColumn .pos-11, body.icm-app .playersColumn .pos-12,
body.icm-app .playersColumn .pos-13, body.icm-app .playersColumn .pos-14,
body.icm-app .playersColumn .pos-15, body.icm-app .playersColumn .pos-16,
body.icm-app .playersColumn .pos-17, body.icm-app .playersColumn .pos-18,
body.icm-app .playersColumn .pos-19,
body.icm-app .playersColumn .pos-1 small, body.icm-app .playersColumn .pos-2 small,
body.icm-app .playersColumn .pos-3 small, body.icm-app .playersColumn .pos-4 small,
body.icm-app .playersColumn .pos-5 small, body.icm-app .playersColumn .pos-6 small,
body.icm-app .playersColumn .pos-7 small, body.icm-app .playersColumn .pos-8 small,
body.icm-app .playersColumn .pos-9 small, body.icm-app .playersColumn .pos-10 small,
body.icm-app .playersColumn .pos-11 small, body.icm-app .playersColumn .pos-12 small,
body.icm-app .playersColumn .pos-13 small, body.icm-app .playersColumn .pos-14 small,
body.icm-app .playersColumn .pos-15 small, body.icm-app .playersColumn .pos-16 small,
body.icm-app .playersColumn .pos-17 small, body.icm-app .playersColumn .pos-18 small,
body.icm-app .playersColumn .pos-19 small {
  color: #1a1a1a !important;
  text-shadow: 0 0 1px rgba(255, 255, 255, 0.8), 0 1px 1px rgba(255, 255, 255, 0.5);
}

/* Badges – Bootstrap setzt helle Farben, mit !important überschreiben */
body.icm-app .badge-success {
  background-color: var(--app-accent, #00d26a) !important;
  color: var(--app-accent-text, #0f1419) !important;
}
body.icm-app .badge-danger {
  background-color: #dc3545 !important;
  color: #fff !important;
}
body.icm-app .badge-secondary {
  background-color: rgba(255, 255, 255, 0.15) !important;
  color: var(--app-text, #e8eaed) !important;
}

/* DataTables falls genutzt */
body.icm-app .dataTables_wrapper {
  color: var(--app-text-muted, #9aa0a6);
}

/* Pagination – Bootstrap .page-link hat hellen Hintergrund */
body.icm-app .page-link {
  background-color: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: var(--app-accent, #00d26a) !important;
}
body.icm-app .page-link:hover {
  background-color: rgba(255, 255, 255, 0.1) !important;
  color: var(--app-accent-hover, #00e676) !important;
}
body.icm-app .page-item.active .page-link {
  background-color: var(--app-accent, #00d26a) !important;
  border-color: var(--app-accent, #00d26a) !important;
  color: var(--app-accent-text, #0f1419) !important;
}
body.icm-app .page-item.disabled .page-link {
  background-color: rgba(255, 255, 255, 0.03) !important;
  color: var(--app-text-muted, #9aa0a6) !important;
}

/* User-Menü im Burger: nur auf Mobil sichtbar */
body.icm-app .app-header-user-nav-mobile {
  display: none;
}

/* App-Header: Mobil = Burger-Menü (User-Punkte + Hauptnav in einem) */
@media (max-width: 991px) {
  body.icm-app {
    --app-header-height: 56px; /* Mobil: nur eine Zeile */
  }

  /* Header-Inhalt mobil: eine Zeile 56px, kein fester 100px-Block */
  body.icm-app .app-header-top {
    flex: 0 0 56px;
    min-height: 56px;
    padding: 6px 12px 0;
  }

  body.icm-app .app-header-logo img {
    height: 44px;
  }
  body.icm-app .app-theme-toggle {
    display: none;
  }
  body.icm-app .app-header-user-nav-mobile .app-theme-toggle-mobile {
    display: inline-flex !important;
    margin: 2px 14px 8px;
    padding: 8px 0;
    color: var(--app-text-muted, #9aa0a6);
  }

  /* Oben rechts nur Burger anzeigen, User-Menü (Profil/Nachrichten/Admin/Verein) ausblenden */
  body.icm-app .app-header-user-menu {
    display: none !important;
  }

  body.icm-app .app-header-user-nav-mobile {
    display: block;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    margin-bottom: 8px;
  }

  body.icm-app .app-header-user-nav-mobile > a,
  body.icm-app .app-header-user-nav-mobile > .app-nav-dropdown > .app-nav-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    color: var(--app-text-muted, #9aa0a6);
    text-decoration: none;
    font-size: 0.95rem;
    border-radius: 8px;
    margin: 2px 0;
    transition: color 0.2s, background 0.2s;
  }

  body.icm-app .app-header-user-nav-mobile > a:hover,
  body.icm-app .app-header-user-nav-mobile .app-nav-link:hover {
    color: var(--app-accent, #00d26a);
    background: rgba(255, 255, 255, 0.06);
  }

  body.icm-app .app-header-user-nav-mobile .app-nav-sub {
    margin-left: 20px;
    padding: 8px 0;
  }

  body.icm-app .app-header-burger {
    display: flex;
  }

  body.icm-app .app-header-nav {
    position: fixed;
    top: 56px;
    left: 0;
    right: 0;
    bottom: auto;
    max-height: calc(100vh - 56px);
    overflow-y: auto;
    background: rgba(26, 32, 39, 0.98);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 12px;
    display: none;
    flex-direction: column;
    align-items: stretch;
  }

  body.icm-app .app-header-nav.app-nav-open {
    display: flex;
  }

  body.icm-app .app-nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
  }

  body.icm-app .app-nav-list > li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  }

  body.icm-app .app-nav-list > li:last-child {
    border-bottom: none;
  }

  body.icm-app .app-nav-dropdown .app-nav-sub {
    position: static;
    opacity: 1;
    visibility: visible;
    display: none;
    margin: 0 0 0 20px;
    padding: 8px 0;
    min-width: auto;
    border: none;
    box-shadow: none;
    border-radius: 0;
  }

  body.icm-app .app-nav-dropdown.app-nav-open .app-nav-sub {
    display: block;
  }

  body.icm-app .app-nav-link {
    padding: 12px 14px;
    width: 100%;
    box-sizing: border-box;
  }

  body.icm-app .app-nav-toggle .fa-chevron-down {
    transition: transform 0.2s;
  }

  body.icm-app .app-nav-dropdown.app-nav-open .app-nav-toggle .fa-chevron-down {
    transform: rotate(180deg);
  }
}

/* Startseite: News-Box kleiner, neben Nächstes Spiel */
body.icm-app .index-news-panel .scroll300 {
  max-height: 280px;
  overflow-y: auto;
  width: 100%;
}
body.icm-app .index-news-panel .img-newsbox-small {
  max-width: 100%;
  height: auto;
  max-height: 90px;
  object-fit: cover;
}
body.icm-app .index-news-panel .table td {
  padding: 6px 4px;
  font-size: 0.875rem;
}

/* Newscenter: Reply / Gelesen / Löschen – gleiche Farbe & gleicher Mauszeiger */
.newscenter-actions a,
.newscenter-actions i {
  color: #fff !important;
  cursor: pointer;
}
.newscenter-actions a {
  text-decoration: none;
}
.newscenter-actions a:hover,
.newscenter-actions i:hover {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* =========================================================
   FINAL Light-Mode readability override
   (bewusst am Dateiende, um Dark-!important zu übersteuern)
   ========================================================= */
body.icm-app[data-theme="light"],
body.icm-app[data-theme="light"] #content,
body.icm-app[data-theme="light"] .panel,
body.icm-app[data-theme="light"] .card,
body.icm-app[data-theme="light"] .card-body,
body.icm-app[data-theme="light"] .table,
body.icm-app[data-theme="light"] .table td,
body.icm-app[data-theme="light"] .table th,
body.icm-app[data-theme="light"] p,
body.icm-app[data-theme="light"] li,
body.icm-app[data-theme="light"] small,
body.icm-app[data-theme="light"] label,
body.icm-app[data-theme="light"] .panel-title,
body.icm-app[data-theme="light"] .card-title,
body.icm-app[data-theme="light"] .app-header-user-link,
body.icm-app[data-theme="light"] .app-nav-link,
body.icm-app[data-theme="light"] .app-nav-sub li a,
body.icm-app[data-theme="light"] .app-footer,
body.icm-app[data-theme="light"] .app-footer a,
body.icm-app[data-theme="light"] .app-footer-inner,
body.icm-app[data-theme="light"] .form-control,
body.icm-app[data-theme="light"] input.form-control,
body.icm-app[data-theme="light"] textarea.form-control,
body.icm-app[data-theme="light"] select.form-control,
body.icm-app[data-theme="light"] select.form-control option {
  color: #111827 !important;
}

body.icm-app[data-theme="light"] #content a,
body.icm-app[data-theme="light"] .table a,
body.icm-app[data-theme="light"] .card a,
body.icm-app[data-theme="light"] .panel a {
  color: #1d4ed8 !important;
}

body.icm-app[data-theme="light"] #content a:hover,
body.icm-app[data-theme="light"] .table a:hover,
body.icm-app[data-theme="light"] .card a:hover,
body.icm-app[data-theme="light"] .panel a:hover {
  color: #1e40af !important;
}

/* Dashboard-spezifisch: harte Lesbarkeit im Light-Mode */
body.icm-app[data-theme="light"] .index-week-calendar,
body.icm-app[data-theme="light"] .index-week-calendar .card-body,
body.icm-app[data-theme="light"] .index-week-calendar .table,
body.icm-app[data-theme="light"] .index-week-calendar td,
body.icm-app[data-theme="light"] .index-week-calendar th,
body.icm-app[data-theme="light"] .index-news-panel,
body.icm-app[data-theme="light"] .index-news-panel .card-body,
body.icm-app[data-theme="light"] .index-news-panel .table,
body.icm-app[data-theme="light"] .index-news-panel td,
body.icm-app[data-theme="light"] .index-news-panel small,
body.icm-app[data-theme="light"] .index-global-search,
body.icm-app[data-theme="light"] .index-global-search .card-body,
body.icm-app[data-theme="light"] .tweet-wrap-websoccer,
body.icm-app[data-theme="light"] .tweet-wrap,
body.icm-app[data-theme="light"] .tweet-header-info,
body.icm-app[data-theme="light"] .tweet-header-info p,
body.icm-app[data-theme="light"] .tweet-header-info span {
  color: #111827 !important;
}

/* Dashboard Light-Mode: übersteuert die sehr spezifischen Dark-!important-Regeln */
body.icm-app[data-theme="light"] .card .table td:not(.table-pos-color),
body.icm-app[data-theme="light"] .card .table th,
body.icm-app[data-theme="light"] .panel .table td:not(.table-pos-color),
body.icm-app[data-theme="light"] .panel .table th,
body.icm-app[data-theme="light"] .panel .table-no-border td:not(.table-pos-color),
body.icm-app[data-theme="light"] .panel .table-no-border th,
body.icm-app[data-theme="light"] .card .table-bordered td,
body.icm-app[data-theme="light"] .card .table-bordered th,
body.icm-app[data-theme="light"] .panel .table-bordered td,
body.icm-app[data-theme="light"] .panel .table-bordered th,
body.icm-app[data-theme="light"] .card .table-striped tbody tr:nth-of-type(odd) td:not(.table-pos-color),
body.icm-app[data-theme="light"] .card .table-striped tbody tr:nth-of-type(odd) th,
body.icm-app[data-theme="light"] .panel .table-striped tbody tr:nth-of-type(odd) td:not(.table-pos-color),
body.icm-app[data-theme="light"] .panel .table-striped tbody tr:nth-of-type(odd) th {
  color: #111827 !important;
}

body.icm-app[data-theme="light"] .panel .table-no-border tr.tr_bg,
body.icm-app[data-theme="light"] .panel .table-no-border tr.tr_bg td,
body.icm-app[data-theme="light"] .panel .table-no-border tr.tr_bg td b,
body.icm-app[data-theme="light"] .card .table-no-border tr.tr_bg,
body.icm-app[data-theme="light"] .card .table-no-border tr.tr_bg td,
body.icm-app[data-theme="light"] .card .table-no-border tr.tr_bg td b,
body.icm-app[data-theme="light"] .card .table-bordered tr.tr_bg,
body.icm-app[data-theme="light"] .card .table-bordered tr.tr_bg td,
body.icm-app[data-theme="light"] .card .table-bordered tr.tr_bg td b,
body.icm-app[data-theme="light"] .panel .table-bordered tr.tr_bg,
body.icm-app[data-theme="light"] .panel .table-bordered tr.tr_bg td,
body.icm-app[data-theme="light"] .panel .table-bordered tr.tr_bg td b {
  color: #111827 !important;
}

body.icm-app[data-theme="light"] div#calendar.table-responsive.card-body,
body.icm-app[data-theme="light"] div#calendar {
  background-color: #ffffff !important;
}
body.icm-app[data-theme="light"] div#calendar .table.calendar-month-table tr.tr_bg th,
body.icm-app[data-theme="light"] div#calendar .table.calendar-month-table thead th,
body.icm-app[data-theme="light"] div#calendar .table tr.tr_bg th,
body.icm-app[data-theme="light"] div#calendar .table thead th,
body.icm-app[data-theme="light"] div#calendar .table.calendar-month-table tr.tr_bg th b,
body.icm-app[data-theme="light"] div#calendar .table tr.tr_bg th b {
  color: #111827 !important;
}
body.icm-app[data-theme="light"] div#calendar .table.calendar-month-table td,
body.icm-app[data-theme="light"] div#calendar .table td,
body.icm-app[data-theme="light"] div#calendar .table.calendar-month-table td small,
body.icm-app[data-theme="light"] div#calendar .table.calendar-month-table td small i,
body.icm-app[data-theme="light"] div#calendar .table.calendar-month-table td .text-right,
body.icm-app[data-theme="light"] div#calendar .table td small,
body.icm-app[data-theme="light"] div#calendar .table td small i,
body.icm-app[data-theme="light"] div#calendar .table td .text-right {
  background-color: #ffffff !important;
  color: #111827 !important;
}

body.icm-app[data-theme="light"] .tweet-header-info span,
body.icm-app[data-theme="light"] .tweet-header-info p,
body.icm-app[data-theme="light"] .tweet-info-counts div svg {
  color: #111827 !important;
}

/* News-Panel auf Startseite: Text konsequent dunkel */
body.icm-app[data-theme="light"] .index-news-panel,
body.icm-app[data-theme="light"] .index-news-panel .table,
body.icm-app[data-theme="light"] .index-news-panel .table td,
body.icm-app[data-theme="light"] .index-news-panel b,
body.icm-app[data-theme="light"] .index-news-panel small,
body.icm-app[data-theme="light"] .index-news-panel .scroll300,
body.icm-app[data-theme="light"] .index-news-panel .scroll300 * {
  color: #111827 !important;
}

/* Menü-Icons in Light-Mode: schwarz statt weiß */
body.icm-app[data-theme="light"] .app-header-user-link i,
body.icm-app[data-theme="light"] .app-nav-link i,
body.icm-app[data-theme="light"] .app-nav-sub li a i,
body.icm-app[data-theme="light"] .app-header-burger i {
  color: #111827 !important;
}

body.icm-app[data-theme="light"] .app-nav-icon {
  filter: brightness(0) saturate(100%) !important;
}

/* Ticker oben: Ergebnis-Link im Light-Mode weiß */
body.icm-app[data-theme="light"] .resultticker a,
body.icm-app[data-theme="light"] .resultticker a b,
body.icm-app[data-theme="light"] .resultticker a span {
  color: #ffffff !important;
}

/* Wettbewerbe -> Freundschaftsspiele: Infotexte in Light-Mode dunkler */
body.icm-app[data-theme="light"] [id^="friendly_"] .panel .card-body,
body.icm-app[data-theme="light"] [id^="friendly_"] .panel .card-body small,
body.icm-app[data-theme="light"] [id^="friendly_"] .panel .card-body td,
body.icm-app[data-theme="light"] [id^="friendly_"] .panel .card-body b {
  color: #111827 !important;
}

/* Ergebnisse: Selects im Light-Mode hell + dunkle Schrift */
body.icm-app[data-theme="light"] .sel_results_season.form-control,
body.icm-app[data-theme="light"] .sel_results_league.form-control,
body.icm-app[data-theme="light"] .sel_results_matchday.form-control {
  background-color: #ffffff !important;
  border-color: rgba(15, 23, 42, 0.2) !important;
  color: #111827 !important;
}

body.icm-app[data-theme="light"] .sel_results_season.form-control:focus,
body.icm-app[data-theme="light"] .sel_results_league.form-control:focus,
body.icm-app[data-theme="light"] .sel_results_matchday.form-control:focus {
  background-color: #ffffff !important;
  color: #111827 !important;
}

body.icm-app[data-theme="light"] .sel_results_season.form-control option,
body.icm-app[data-theme="light"] .sel_results_league.form-control option,
body.icm-app[data-theme="light"] .sel_results_matchday.form-control option {
  background: #ffffff !important;
  color: #111827 !important;
}

/* Manager-Suche: Feld "Name" klar sichtbar im Light-Mode */
body.icm-app[data-theme="light"] #user.form-control {
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.25) !important;
  color: #111827 !important;
}

/* Transfermarkt -> Transferanfrage: Liga/Team Auswahlfelder im Light-Mode */
body.icm-app[data-theme="light"] .sel_transfers_competition.form-control,
body.icm-app[data-theme="light"] .sel_transfers_team.form-control {
  background-color: #ffffff !important;
  border-color: rgba(15, 23, 42, 0.2) !important;
  color: #111827 !important;
}

body.icm-app[data-theme="light"] .sel_transfers_competition.form-control:focus,
body.icm-app[data-theme="light"] .sel_transfers_team.form-control:focus {
  background-color: #ffffff !important;
  color: #111827 !important;
}

body.icm-app[data-theme="light"] .sel_transfers_competition.form-control option,
body.icm-app[data-theme="light"] .sel_transfers_team.form-control option {
  background: #ffffff !important;
  color: #111827 !important;
}

/* Infrastruktur -> Mitarbeiter: Beschreibungstext (klein/italic) dunkler */
body.icm-app[data-theme="light"] [id^="teamstaff_"] .panel .card-body small,
body.icm-app[data-theme="light"] [id^="teamstaff_"] .panel .card-body small i {
  color: #111827 !important;
  opacity: 1 !important;
}

/* Aufstellung: Kaderlisten-Dropdown immer sichtbar und sauber ausgerichtet */
body.icm-app .playersColumn .panel-heading .panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

body.icm-app .playersColumn .lineuplist-select {
  float: none !important;
  width: auto !important;
  min-width: 190px;
  margin-top: 0 !important;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 0 0 auto;
}

/* Mannschaft -> Aufstellung -> Kaderliste: Name/Alter im Light-Mode dunkler */
body.icm-app[data-theme="light"] .playersColumn .table td:nth-child(5) a,
body.icm-app[data-theme="light"] .playersColumn .table td:nth-child(5) a small,
body.icm-app[data-theme="light"] .playersColumn .table td:nth-child(1) small,
body.icm-app[data-theme="light"] .playersColumn .table td:nth-child(7) small {
  color: #111827 !important;
  opacity: 1 !important;
}

/* Aufstellung -> Kaderliste Detailtabs: gezielte Lesbarkeit im Light-Mode */
body.icm-app[data-theme="light"] .playersColumn .panel:has(.lineuplist-select option[value="playerdata"]:checked) .table td:nth-child(9) small {
  color: #111827 !important;
  opacity: 1 !important;
}

body.icm-app[data-theme="light"] .playersColumn .panel:has(.lineuplist-select option[value="attributes"]:checked) .table td:nth-child(3) a,
body.icm-app[data-theme="light"] .playersColumn .panel:has(.lineuplist-select option[value="attributes"]:checked) .table td:nth-child(3) a small,
body.icm-app[data-theme="light"] .playersColumn .panel:has(.lineuplist-select option[value="positions"]:checked) .table td:nth-child(3) a,
body.icm-app[data-theme="light"] .playersColumn .panel:has(.lineuplist-select option[value="positions"]:checked) .table td:nth-child(3) a small {
  color: #111827 !important;
  opacity: 1 !important;
}

body.icm-app[data-theme="light"] .playersColumn .panel:has(.lineuplist-select option[value="performance"]:checked) .table td:nth-child(3) a,
body.icm-app[data-theme="light"] .playersColumn .panel:has(.lineuplist-select option[value="performance"]:checked) .table td:nth-child(3) a small,
body.icm-app[data-theme="light"] .playersColumn .panel:has(.lineuplist-select option[value="performance"]:checked) .table td:nth-child(4) small,
body.icm-app[data-theme="light"] .playersColumn .panel:has(.lineuplist-select option[value="performance"]:checked) .table td:nth-child(5) small,
body.icm-app[data-theme="light"] .playersColumn .panel:has(.lineuplist-select option[value="performance"]:checked) .table td:nth-child(6) small,
body.icm-app[data-theme="light"] .playersColumn .panel:has(.lineuplist-select option[value="performance"]:checked) .table td:nth-child(8) small,
body.icm-app[data-theme="light"] .playersColumn .panel:has(.lineuplist-select option[value="performance"]:checked) .table td:nth-child(9) small,
body.icm-app[data-theme="light"] .playersColumn .panel:has(.lineuplist-select option[value="performance"]:checked) .table td:nth-child(10) small,
body.icm-app[data-theme="light"] .playersColumn .panel:has(.lineuplist-select option[value="performance"]:checked) .table td:nth-child(11) small {
  color: #111827 !important;
  opacity: 1 !important;
}

/* Aufstellung -> Kaderliste Dropdown: im Light-Mode dunkle Schrift auf hellem Feld */
body.icm-app[data-theme="light"] .playersColumn .lineuplist-select {
  background: #ffffff !important;
  border-color: rgba(15, 23, 42, 0.22) !important;
  color: #111827 !important;
}

body.icm-app[data-theme="light"] .playersColumn .lineuplist-select:focus {
  background: #ffffff !important;
  color: #111827 !important;
}

body.icm-app[data-theme="light"] .playersColumn .lineuplist-select option {
  background: #ffffff !important;
  color: #111827 !important;
}

/* Mobile Light-Mode: Burger-Menü hell mit dunkler Schrift */
@media (max-width: 991px) {
  body.icm-app[data-theme="light"] .app-header-nav {
    background: #ffffff !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.15) !important;
  }

  body.icm-app[data-theme="light"] .app-header-user-nav-mobile {
    border-bottom: 1px solid rgba(15, 23, 42, 0.12) !important;
  }

  body.icm-app[data-theme="light"] .app-header-user-nav-mobile > a,
  body.icm-app[data-theme="light"] .app-header-user-nav-mobile > .app-nav-dropdown > .app-nav-link,
  body.icm-app[data-theme="light"] .app-nav-link,
  body.icm-app[data-theme="light"] .app-nav-sub li a,
  body.icm-app[data-theme="light"] .app-nav-toggle,
  body.icm-app[data-theme="light"] .app-header-burger,
  body.icm-app[data-theme="light"] .app-header-burger i {
    color: #111827 !important;
  }

  body.icm-app[data-theme="light"] .app-nav-list > li {
    border-bottom: 1px solid rgba(15, 23, 42, 0.1) !important;
  }

  body.icm-app[data-theme="light"] .app-header-user-nav-mobile > a:hover,
  body.icm-app[data-theme="light"] .app-header-user-nav-mobile .app-nav-link:hover,
  body.icm-app[data-theme="light"] .app-nav-link:hover {
    background: rgba(15, 23, 42, 0.06) !important;
    color: #111827 !important;
  }

  body.icm-app[data-theme="light"] .app-header-user-nav-mobile .app-theme-toggle-mobile {
    color: #111827 !important;
  }
}
