@charset "utf-8";

/* =============================================================================
   Sendeplan – Custom Overrides (Modern Dark Theme)
   Lädt nach global.css. Keine Logik-Änderungen – nur Optik.
============================================================================= */

/* Seiten-Hintergrund & Grundfarben */
html, body {
  background: #0c0c1e !important;
  color: #e2e8f0 !important;
}

/* Wrapper */
#wrapper.container {
  background: transparent;
  max-width: 100% !important;
  padding: 0 !important;
}

/* Navigation */
nav.text-center.bg-dark {
  background: #06060f !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
ul.nav#headnav {
  background: transparent;
  border-bottom: none;
}
ul.nav#headnav li a {
  color: #94a3b8 !important;
  background: transparent !important;
  border-bottom: 2px solid transparent;
  transition: color .18s, border-color .18s;
  font-size: clamp(12px, 2vw, 13px);
}
ul.nav#headnav li a:hover,
ul.nav#headnav li a.active {
  color: #f1f5f9 !important;
  background: rgba(255,255,255,.06) !important;
  border-bottom-color: #7c3aed;
}
ul.nav#headnav li span#headline {
  color: #f1f5f9 !important;
  font-size: clamp(13px, 2.5vw, 15px);
}

/* Inhalt */
div#content {
  background: #0c0c1e !important;
  color: #e2e8f0 !important;
  padding: clamp(10px, 2.5vw, 20px) !important;
  min-height: 300px;
}

/* Tabellen */
table.table {
  border-color: rgba(255,255,255,.1) !important;
  color: #e2e8f0 !important;
  min-width: 280px;
}
table.table thead th {
  background: #12122a !important;
  color: #c8d0dc !important;
  border-color: rgba(255,255,255,.1) !important;
  font-size: clamp(12px, 2vw, 14px);
  font-weight: 700;
}
table.table tbody tr {
  background: transparent !important;
  border-color: rgba(255,255,255,.07) !important;
}
table.table tbody tr:nth-child(even) {
  background: rgba(255,255,255,.03) !important;
}
table.table tbody tr:hover {
  background: rgba(124,58,237,.12) !important;
}
table.table td, table.table th {
  border-color: rgba(255,255,255,.07) !important;
  padding: clamp(6px, 1.5vw, 10px) clamp(8px, 2vw, 12px) !important;
  vertical-align: middle;
}
/* Event-Zeilen */
table.content tr.event-sendung {
  background: rgba(124,58,237,.1) !important;
}

/* Sendeplan Tagesnavigation / Tabs */
ul.tabmenu li a {
  background: #12122a !important;
  color: #94a3b8 !important;
  border-color: rgba(255,255,255,.1) !important;
}
ul.tabmenu li a:hover,
ul.tabmenu li a.current {
  background: #1a1a36 !important;
  color: #f1f5f9 !important;
}

/* Bilder */
img.profil_bild {
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.15) !important;
  object-fit: cover;
  max-width: clamp(50px, 12vw, 80px) !important;
  max-height: clamp(50px, 12vw, 80px) !important;
}

/* Sendung Titel */
h6 strong { color: #f1f5f9 !important; }
p.mb-2 { color: #94a3b8 !important; }
p:not(.mb-2):not(.mb-0) { color: #c8d0dc !important; }

/* Links */
a { color: #06b6d4 !important; }
a:hover { color: #0891b2 !important; }

/* Buttons */
input[type=submit], input[type=reset], input[type=button],
.btn { border-radius: 8px !important; }
.btn-primary { background: #7c3aed !important; border-color: #7c3aed !important; }
.btn-primary:hover { background: #6d28d9 !important; border-color: #6d28d9 !important; }
.btn-secondary { background: #1a1a36 !important; border-color: rgba(255,255,255,.2) !important; }

/* Badges & Labels */
span.label { background: #1a1a36 !important; color: #94a3b8 !important; }
span.label-green { background: #166534 !important; color: #86efac !important; }
span.label-red { background: #7f1d1d !important; color: #fca5a5 !important; }
span.label-orange { background: #78350f !important; color: #fcd34d !important; }
span.circle-red { background: #dc2626 !important; }

/* Events */
span.event {
  background: rgba(124,58,237,.15) !important;
  border-color: rgba(124,58,237,.3) !important;
  color: #c4b5fd !important;
}
span.event-Success {
  background: rgba(22,163,74,.15) !important;
  border-color: rgba(22,163,74,.3) !important;
  color: #86efac !important;
}
span.event-Fail {
  background: rgba(220,38,38,.15) !important;
  border-color: rgba(220,38,38,.3) !important;
  color: #fca5a5 !important;
}

/* h1 Überschriften */
h1.headline { color: #f1f5f9 !important; border-color: rgba(255,255,255,.12) !important; }

/* Formulare */
input[type=text], input[type=password], input[type=email],
input[type=url], input[type=search], select, textarea {
  background: #12122a !important;
  color: #e2e8f0 !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 8px !important;
  padding: 6px 10px !important;
}
input:focus, select:focus, textarea:focus {
  box-shadow: 0 0 0 3px rgba(124,58,237,.25) !important;
  border-color: #7c3aed !important;
  outline: none;
}
.form-control, .form-select {
  background: #12122a !important;
  color: #e2e8f0 !important;
  border-color: rgba(255,255,255,.12) !important;
}
.form-control:focus, .form-select:focus {
  background: #12122a !important;
  color: #e2e8f0 !important;
  border-color: #7c3aed !important;
  box-shadow: 0 0 0 3px rgba(124,58,237,.25) !important;
}

/* Footer */
.col-12.footer.bg-dark {
  background: #06060f !important;
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 8px 12px !important;
}
div.footer a { color: #64748b !important; font-size: 12px; }
div.footer a:hover { color: #94a3b8 !important; background: transparent; }

/* Seitennavigation */
div.pagenav ul {
  border-color: rgba(255,255,255,.1) !important;
}
div.pagenav ul li {
  border-color: rgba(255,255,255,.1) !important;
}
div.pagenav ul li a {
  color: #94a3b8 !important;
  background: transparent;
}
div.pagenav ul li a:hover,
div.pagenav ul li#currentpage {
  background: rgba(255,255,255,.06) !important;
  color: #f1f5f9 !important;
}

/* DataTables */
table.dataTable thead th { background: #12122a !important; color: #c8d0dc !important; }
.dataTables_wrapper { color: #e2e8f0 !important; }
.dataTables_filter input {
  background: #12122a !important;
  color: #e2e8f0 !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 6px !important;
  padding: 4px 8px !important;
}
.dataTables_length select {
  background: #12122a !important;
  color: #e2e8f0 !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 6px !important;
  padding: 3px 8px !important;
}
table.dataTable tbody tr { background: transparent !important; }
table.dataTable tbody tr.odd { background: rgba(255,255,255,.02) !important; }
table.dataTable tbody tr:hover { background: rgba(124,58,237,.1) !important; }
.dataTables_paginate .paginate_button {
  color: #94a3b8 !important;
  border-radius: 6px !important;
}
.dataTables_paginate .paginate_button.current {
  background: #7c3aed !important;
  border-color: #7c3aed !important;
  color: #fff !important;
}

/* Alert */
.alert { border-radius: 10px !important; }
.alert-info { background: rgba(6,182,212,.12) !important; border-color: rgba(6,182,212,.3) !important; color: #67e8f9 !important; }
.alert-success { background: rgba(22,163,74,.12) !important; border-color: rgba(22,163,74,.3) !important; color: #86efac !important; }
.alert-danger { background: rgba(220,38,38,.12) !important; border-color: rgba(220,38,38,.3) !important; color: #fca5a5 !important; }

/* Karten (Bootstrap 4) */
.card { background: #12122a !important; border-color: rgba(255,255,255,.08) !important; color: #e2e8f0 !important; }
.card-header { background: #1a1a36 !important; border-color: rgba(255,255,255,.08) !important; }

/* Popup-Profil */
table.popup-table td.popup-desc span.headline {
  color: #f1f5f9 !important;
  border-color: rgba(255,255,255,.12) !important;
}

/* Mobile: Sendeplan als Card-Stack */
@media (max-width: 480px) {
  table.table thead { display: none; }
  table.table, table.table tbody, table.table tr, table.table td {
    display: block !important;
    width: 100% !important;
    min-width: unset !important;
  }
  table.table tr {
    background: #12122a !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    border-radius: 12px !important;
    margin-bottom: 10px !important;
    padding: 10px !important;
    overflow: hidden;
  }
  table.table td {
    border: none !important;
    padding: 4px 8px !important;
    text-align: left !important;
  }
  table.table td:first-child {
    font-weight: 700;
    color: #06b6d4 !important;
    font-size: 13px;
  }
  img.profil_bild {
    max-width: 50px !important;
    max-height: 50px !important;
  }
}
