/*
 * Kickerbay – TV-Sportschau
 * Verbindliche Umsetzung des Mockups 02 auf Dashboard, Menüs und Unterseiten.
 */

html[data-kb-theme="tv-broadcast"] {
  --kb-tv-blue: #0874ed;
  --kb-tv-blue-dark: #071d51;
  --kb-tv-blue-mid: #0d3883;
  --kb-tv-red: #ff2636;
  --kb-tv-cyan: #39a6ff;
  --kb-tv-panel: rgba(2, 11, 20, .965);
  --kb-tv-panel-2: rgba(4, 22, 36, .965);
  --kb-tv-line: rgba(55, 150, 255, .72);
  --kb-tv-font: "Arial Narrow", "Roboto Condensed", "Segoe UI", Arial, sans-serif;
}

html[data-kb-theme="tv-broadcast"] body {
  font-family: var(--kb-tv-font) !important;
  background:
    linear-gradient(rgba(0, 7, 16, .40), rgba(0, 7, 16, .68)),
    url("/assets/img/bg/match-3d.webp") center / cover fixed !important;
}

html[data-kb-theme="tv-broadcast"] body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 4%, rgba(77, 165, 255, .20), transparent 28%),
    radial-gradient(circle at 88% 8%, rgba(0, 92, 255, .19), transparent 26%),
    linear-gradient(90deg, rgba(0, 20, 48, .24), transparent 24% 76%, rgba(0, 20, 48, .24));
}

/* Einheitlicher Rahmen für alle Unterseiten. */
html[data-kb-theme="tv-broadcast"] body :where(
  main, .container, .wrap, .content, .page-wrap, .app-shell, .admin-wrap,
  .profile-wrap, .team-wrap, .terms-wrap, .calendar-wrap
) {
  color: #f5f8ff;
}

html[data-kb-theme="tv-broadcast"] body :where(
  .kb-card, .kb-tile, .card, .panel, .box, .tile, .widget,
  .content-card, .settings-card, .team-card, .term-card, .profile-card,
  .modal-content, .dialog-content, fieldset, .toolbar, .topbar,
  .kb-topbar, .lb-pro-topbar
) {
  color: #f5f8ff !important;
  background:
    linear-gradient(145deg, rgba(2, 9, 17, .985), rgba(4, 22, 36, .97)) !important;
  border: 1px solid var(--kb-tv-line) !important;
  border-radius: 2px !important;
  box-shadow:
    inset 0 0 22px rgba(30, 124, 230, .045),
    0 16px 40px rgba(0, 0, 0, .46) !important;
}

html[data-kb-theme="tv-broadcast"] body :where(
  h1, h2, h3, h4, .title, .heading, .card-title, .panel-title
) {
  color: #f7f9ff !important;
  font-family: var(--kb-tv-font) !important;
  font-stretch: condensed;
  font-weight: 900 !important;
  letter-spacing: -.02em;
}

html[data-kb-theme="tv-broadcast"] body :where(
  .page-title, .section-title, .panel-title, .card-header, .panel-header
) {
  padding: 12px 16px;
  color: #fff !important;
  background: linear-gradient(180deg, #113f8c, #071f56) !important;
  border-bottom: 1px solid #1685ff !important;
  text-transform: uppercase;
}

html[data-kb-theme="tv-broadcast"] body :where(
  header, nav, .navbar, .app-header, .page-header
) {
  color: #f5f8ff !important;
  background: linear-gradient(110deg, #0a3479, #041632 52%, #0a3479) !important;
  border-color: rgba(49, 143, 246, .62) !important;
  border-bottom: 3px solid var(--kb-tv-red) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .38) !important;
}

html[data-kb-theme="tv-broadcast"] body :where(
  .card, .panel, .box, .content-card, .settings-card,
  .team-card, .term-card, .profile-card
) > :where(h1, h2, h3):first-child {
  margin: -1px -1px 16px;
  padding: 12px 16px;
  color: #fff !important;
  background: linear-gradient(180deg, #103f89, #071f54);
  border-bottom: 1px solid #1888ff;
  text-transform: uppercase;
}

html[data-kb-theme="tv-broadcast"] body :where(
  button:not(.lb-pro-player), .btn:not(.lb-pro-player),
  [role="button"]:not(.lb-pro-player), input[type="submit"], input[type="button"]
) {
  min-height: 40px;
  color: #fff !important;
  background: linear-gradient(180deg, #12356a, #061832) !important;
  border: 1px solid rgba(95, 166, 244, .48) !important;
  border-radius: 5px !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .06) !important;
  font-family: var(--kb-tv-font) !important;
  font-weight: 850 !important;
}

html[data-kb-theme="tv-broadcast"] body :where(
  button:not(.lb-pro-player):hover, .btn:not(.lb-pro-player):hover,
  [role="button"]:not(.lb-pro-player):hover,
  input[type="submit"]:hover, input[type="button"]:hover
) {
  border-color: #46a9ff !important;
  background: linear-gradient(180deg, #1268d8, #09377b) !important;
  transform: translateY(-1px);
}

html[data-kb-theme="tv-broadcast"] body :where(
  .primary, .btn-primary, button[type="submit"], input[type="submit"]
) {
  background: linear-gradient(110deg, #0755bf, #1688ff) !important;
}

html[data-kb-theme="tv-broadcast"] body :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select, textarea
) {
  color: #f4f7ff !important;
  background: rgba(1, 8, 17, .93) !important;
  border: 1px solid rgba(75, 153, 239, .48) !important;
  border-radius: 4px !important;
}

html[data-kb-theme="tv-broadcast"] body :where(table) {
  color: #eef5ff !important;
  background: rgba(2, 10, 19, .97) !important;
  border: 1px solid var(--kb-tv-line) !important;
  border-radius: 2px !important;
}

html[data-kb-theme="tv-broadcast"] body :where(th) {
  color: #fff !important;
  background: linear-gradient(180deg, #103d87, #071f53) !important;
  border-color: rgba(57, 142, 235, .42) !important;
  text-transform: uppercase;
  letter-spacing: .025em;
}

html[data-kb-theme="tv-broadcast"] body :where(td) {
  border-color: rgba(57, 142, 235, .20) !important;
}

html[data-kb-theme="tv-broadcast"] body :where(tr:hover td) {
  background: rgba(16, 102, 207, .13) !important;
}

html[data-kb-theme="tv-broadcast"] body :where(a, a:visited) {
  color: #52aaff !important;
  text-decoration-color: rgba(82, 170, 255, .65) !important;
}

html[data-kb-theme="tv-broadcast"] body :where(.badge, .pill, .chip, .tag, .status) {
  color: #f5f8ff !important;
  background: linear-gradient(180deg, rgba(18, 86, 174, .70), rgba(5, 31, 67, .86)) !important;
  border-color: rgba(77, 163, 255, .62) !important;
  border-radius: 999px !important;
}

/* Dropdown-Menüs und Quicklinks in der gleichen TV-Optik. */
html[data-kb-theme="tv-broadcast"] body .menu-dd {
  width: min(390px, 94vw) !important;
  padding: 9px !important;
  color: #f4f7ff !important;
  background:
    linear-gradient(180deg, rgba(2, 10, 20, .995), rgba(3, 19, 32, .995)) !important;
  border: 1px solid #197ee9 !important;
  border-radius: 3px !important;
  box-shadow: 0 24px 58px rgba(0, 0, 0, .72), inset 0 0 30px rgba(10, 90, 190, .07) !important;
}

html[data-kb-theme="tv-broadcast"] body .menu-section {
  margin: 7px 0 4px;
  padding: 8px 10px !important;
  color: #d8e9ff !important;
  background: linear-gradient(90deg, #0b377b, #061a43 78%, transparent) !important;
  border-left: 4px solid var(--kb-tv-red);
  font-weight: 900;
}

html[data-kb-theme="tv-broadcast"] body .menu-sep {
  background: linear-gradient(90deg, #1378df, rgba(19, 120, 223, 0)) !important;
}

html[data-kb-theme="tv-broadcast"] body .menu-link {
  min-height: 40px;
  margin: 2px 0;
  padding: 8px 10px !important;
  color: #eaf3ff !important;
  background: rgba(7, 27, 47, .58);
  border: 1px solid transparent;
  border-radius: 3px !important;
  text-decoration: none !important;
}

html[data-kb-theme="tv-broadcast"] body .menu-link:hover {
  color: #fff !important;
  background: linear-gradient(90deg, rgba(12, 85, 177, .78), rgba(5, 33, 67, .72)) !important;
  border-color: rgba(61, 150, 248, .48);
}

html[data-kb-theme="tv-broadcast"] body :where(
  .team-quicklinks, .quicklinks, .menu-links
) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 128px), 1fr)) !important;
  gap: 7px !important;
  overflow-x: hidden !important;
  background: rgba(1, 8, 17, .70) !important;
  border-color: rgba(45, 132, 227, .42) !important;
  border-radius: 3px !important;
}

html[data-kb-theme="tv-broadcast"] body .menu-scroller {
  display: block !important;
  max-height: 330px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background: rgba(1, 8, 17, .70) !important;
  border: 1px solid rgba(45, 132, 227, .42) !important;
  border-radius: 3px !important;
}

html[data-kb-theme="tv-broadcast"] body .team-quicklinks-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
  width: 100% !important;
}

html[data-kb-theme="tv-broadcast"] body .kb-quicklink {
  display: flex !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  background: rgba(10, 45, 82, .58) !important;
  border-color: rgba(59, 138, 224, .34) !important;
}

/* ======================== Dashboard ======================== */
@media (min-width: 701px) {
  html[data-kb-theme="tv-broadcast"].kb-dashboard-fit .kb-card {
    width: 1180px !important;
  }
}

html[data-kb-theme="tv-broadcast"] body.kb-bg > .kb-card {
  padding: 12px !important;
  overflow: visible;
  background: rgba(1, 8, 16, .90) !important;
  border: 1px solid #1888ff !important;
  box-shadow:
    0 0 0 2px rgba(4, 27, 57, .94),
    0 22px 65px rgba(0, 0, 0, .64) !important;
}

html[data-kb-theme="tv-broadcast"] .kb-topbar {
  position: relative;
  z-index: 6000;
  display: grid !important;
  grid-template-columns: minmax(210px, 1fr) minmax(300px, 380px) minmax(260px, 1fr);
  grid-template-areas: "brand score actions";
  align-items: center;
  gap: 12px;
  min-height: 112px;
  margin: -12px -12px 12px !important;
  padding: 14px 18px !important;
  overflow: visible;
  background:
    linear-gradient(120deg, rgba(8, 47, 108, .98), rgba(2, 18, 49, .99) 50%, rgba(8, 52, 119, .98)) !important;
  border: 0 !important;
  border-bottom: 4px solid var(--kb-tv-red) !important;
  box-shadow: inset 0 0 34px rgba(33, 130, 239, .20) !important;
}

html[data-kb-theme="tv-broadcast"] .kb-topbar--no-match {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "brand actions";
}

html[data-kb-theme="tv-broadcast"] .kb-topbar::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .46;
  background:
    linear-gradient(115deg, transparent 0 12%, rgba(80, 157, 255, .13) 12% 15%, transparent 15% 74%, rgba(80, 157, 255, .13) 74% 77%, transparent 77%),
    linear-gradient(135deg, transparent 52%, rgba(255, 255, 255, .035) 52% 53%, transparent 53%);
}

html[data-kb-theme="tv-broadcast"] .kb-top-left {
  position: relative;
  z-index: 1;
  grid-area: brand;
  min-width: 0;
  gap: 14px !important;
}

html[data-kb-theme="tv-broadcast"] .kb-teamlogo img {
  width: 76px !important;
  height: 76px !important;
  padding: 2px;
  object-fit: contain !important;
  background: rgba(0, 8, 20, .58);
  border: 2px solid rgba(255, 255, 255, .58) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 20px rgba(58, 154, 255, .35) !important;
}

html[data-kb-theme="tv-broadcast"] .kb-brand {
  gap: 2px;
  line-height: 1.08 !important;
}

html[data-kb-theme="tv-broadcast"] .kb-brand .kb-app {
  max-width: 310px;
  color: #f7f9ff !important;
  font-size: 1.65rem !important;
  font-weight: 950 !important;
  letter-spacing: -.035em !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .55) !important;
}

html[data-kb-theme="tv-broadcast"] .kb-brand .kb-hi {
  color: #f7f9ff !important;
  font-size: 1.04rem !important;
  font-weight: 900 !important;
}

html[data-kb-theme="tv-broadcast"] .kb-brand .kb-role {
  color: #c4d1e2 !important;
  font-size: .84rem !important;
  opacity: 1 !important;
}

html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard {
  position: relative;
  z-index: 2;
  grid-area: score;
  display: grid;
  grid-template-columns: 1fr 1.2fr 1fr;
  align-items: center;
  min-height: 70px;
  color: #fff;
  background: linear-gradient(180deg, rgba(7, 20, 35, .99), rgba(3, 10, 20, .99));
  border: 1px solid #2a79dc;
  clip-path: polygon(7% 0, 93% 0, 100% 50%, 93% 100%, 7% 100%, 0 50%);
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .50));
}

html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard::before,
html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 22%;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255, 255, 255, .04), transparent);
}

html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard::before { left: 0; }
html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard::after { right: 0; transform: scaleX(-1); }

html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard__live {
  position: absolute;
  left: 50%;
  top: -13px;
  z-index: 2;
  min-width: 92px;
  max-width: calc(100% - 62px);
  padding: 4px 17px 5px;
  color: #fff;
  background: linear-gradient(180deg, #ef3d2e, #a90909);
  border: 1px solid #ff6b58;
  clip-path: polygon(12% 0, 88% 0, 100% 100%, 0 100%);
  transform: translateX(-50%);
  text-align: center;
  font-size: .74rem;
  font-weight: 950;
  white-space: nowrap;
}

html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard--next .kb-live-scoreboard__live {
  min-width: 148px;
  background: linear-gradient(180deg, #1478de, #08468c);
  border-color: #5db5ff;
}

html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard--fade-in {
  animation: kbTvLiveFade 1.55s ease both;
}

@keyframes kbTvLiveFade {
  0% { opacity: .18; filter: brightness(.65) drop-shadow(0 0 0 rgba(255,38,54,0)); }
  45% { opacity: 1; filter: brightness(1.32) drop-shadow(0 0 18px rgba(255,38,54,.75)); }
  100% { opacity: 1; filter: brightness(1) drop-shadow(0 8px 16px rgba(0,0,0,.50)); }
}

html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard__team {
  position: relative;
  z-index: 1;
  text-align: center;
  font-size: 1.42rem;
  font-weight: 950;
  letter-spacing: .02em;
}

html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard__score {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  padding: 12px 6px 5px;
  background: linear-gradient(180deg, rgba(28, 37, 50, .96), rgba(4, 10, 18, .98));
  text-align: center;
  font-size: 2rem;
  font-weight: 900;
  line-height: .94;
  transform: skewX(-6deg);
}

html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard__score small {
  margin-top: 8px;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .08em;
}

html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard__date {
  font-size: 1.48rem;
  line-height: 1;
}

html[data-kb-theme="tv-broadcast"] .kb-top-right {
  position: relative;
  z-index: 3;
  grid-area: actions;
  justify-content: flex-end;
  gap: 8px !important;
}

html[data-kb-theme="tv-broadcast"] .kb-header-action {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  box-sizing: border-box;
  gap: 0;
  padding-bottom: 0;
}

html[data-kb-theme="tv-broadcast"] .kb-header-action::after {
  display: none !important;
  content: none !important;
}

html[data-kb-theme="tv-broadcast"] .kb-iconbtn,
html[data-kb-theme="tv-broadcast"] .kb-iconlink {
  width: 50px !important;
  height: 50px !important;
  min-height: 50px !important;
  padding: 0 !important;
  color: #08234d !important;
  background: #f7f9ff !important;
  border: 2px solid rgba(255, 255, 255, .82) !important;
  border-radius: 50% !important;
  box-shadow: 0 5px 14px rgba(0, 0, 0, .34) !important;
  text-decoration: none !important;
}

html[data-kb-theme="tv-broadcast"] .kb-avatar {
  width: 62px !important;
  height: 62px !important;
  margin-left: 4px;
  border: 2px solid #ffb32d !important;
  border-radius: 50% !important;
}

html[data-kb-theme="tv-broadcast"] .kb-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-top: 0 !important;
}

html[data-kb-theme="tv-broadcast"] .kb-grid > .kb-tile {
  position: relative;
  min-width: 0;
  min-height: 360px;
  padding: 16px !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0, rgba(27, 123, 223, .09), transparent 44%),
    linear-gradient(145deg, rgba(2, 10, 18, .99), rgba(3, 21, 35, .985)) !important;
  border: 1px solid #2389f4 !important;
  border-bottom: 5px solid #126bf0 !important;
  border-radius: 0 !important;
}

html[data-kb-theme="tv-broadcast"] .kb-grid > .kb-tile:nth-child(-n+3) {
  min-height: 510px;
}

html[data-kb-theme="tv-broadcast"] .kb-grid > .kb-tile:nth-child(3n) {
  border-bottom-color: var(--kb-tv-red) !important;
}

html[data-kb-theme="tv-broadcast"] .kb-grid > .kb-tile > h3,
html[data-kb-theme="tv-broadcast"] #kbFinanceTile > div:first-child {
  min-height: 56px;
  margin: -16px -16px 16px !important;
  padding: 0 18px !important;
  color: #f7f9ff !important;
  background:
    linear-gradient(180deg, rgba(18, 65, 143, .99), rgba(5, 28, 73, .99)) !important;
  border-bottom: 1px solid #1c8cff !important;
  align-items: center !important;
}

html[data-kb-theme="tv-broadcast"] .kb-grid > .kb-tile > h3 {
  display: flex;
  font-size: 1.24rem !important;
  text-transform: uppercase;
  letter-spacing: -.025em;
}

html[data-kb-theme="tv-broadcast"] #kbFinanceTile > div:first-child h3 {
  font-size: 1.2rem !important;
  text-transform: uppercase;
}

html[data-kb-theme="tv-broadcast"] #kbFinanceTile > div:first-child a {
  font-size: .72rem;
  text-transform: uppercase;
}

html[data-kb-theme="tv-broadcast"] .kb-roster-event {
  border-radius: 8px !important;
  background: linear-gradient(145deg, rgba(5, 20, 35, .92), rgba(7, 31, 49, .90)) !important;
  border-color: rgba(91, 162, 237, .42) !important;
}

html[data-kb-theme="tv-broadcast"] .kb-roster-event__type {
  color: #fff !important;
  background: #116bd7 !important;
}

html[data-kb-theme="tv-broadcast"] .kb-roster-label > span:last-child {
  min-width: 28px;
  padding: 2px 8px;
  color: #fff;
  background: #0a6fe3;
  border-radius: 999px;
  text-align: center;
}

html[data-kb-theme="tv-broadcast"] .kb-lineup-lock,
html[data-kb-theme="tv-broadcast"] .kb-lineup-wait {
  align-items: flex-start;
  text-align: left;
  border-radius: 8px !important;
  background: rgba(7, 22, 37, .88) !important;
  border-color: rgba(91, 149, 210, .36) !important;
}

html[data-kb-theme="tv-broadcast"] .kb-lineup-lock strong {
  color: #ff6671;
}

html[data-kb-theme="tv-broadcast"] .kb-lineup-edit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 44px;
  padding: 8px 12px;
  color: #fff !important;
  background: linear-gradient(180deg, rgba(13, 30, 49, .94), rgba(3, 14, 26, .94));
  border: 1px solid rgba(94, 143, 194, .40);
  border-radius: 6px;
  text-decoration: none !important;
}

html[data-kb-theme="tv-broadcast"] .kb-lineup-edit::after { content: "›"; font-size: 1.5rem; }

/* Wäschekachel: große Trikot-Inszenierung wie im Mockup. */
html[data-kb-theme="tv-broadcast"] .kb-laundry-tile > p strong {
  color: #479fff;
}

html[data-kb-theme="tv-broadcast"] .kb-laundry-showcase {
  position: relative;
  display: grid;
  grid-template-columns: minmax(110px, .8fr) minmax(170px, 1.2fr);
  align-items: center;
  min-height: 330px;
  margin-top: 5px;
  border-top: 1px solid rgba(120, 151, 181, .28);
}

html[data-kb-theme="tv-broadcast"] .kb-laundry-action {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  color: #fff !important;
  text-decoration: none !important;
}

html[data-kb-theme="tv-broadcast"] .kb-laundry-action strong { font-size: 1rem; }
html[data-kb-theme="tv-broadcast"] .kb-laundry-action small { max-width: 145px; color: #b7c2cf; line-height: 1.25; }

html[data-kb-theme="tv-broadcast"] .kb-laundry-machine {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  margin-bottom: 8px;
  color: #dcecff;
  background:
    radial-gradient(circle, #aec8e6 0 14%, #48617f 15% 31%, transparent 32%),
    linear-gradient(145deg, #8fb0d8, #324968);
  border: 4px solid #0f73e8;
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(21, 100, 199, .22), 0 8px 20px rgba(0, 0, 0, .45);
  font-size: 0;
}

html[data-kb-theme="tv-broadcast"] .kb-laundry-jersey {
  width: 100%;
  max-width: 245px;
  height: 305px;
  object-fit: contain;
  filter: drop-shadow(0 18px 18px rgba(0, 0, 0, .62));
}

/* Termin: Spielfeld und Bedienelemente werden zu einer Sportgrafik. */
html[data-kb-theme="tv-broadcast"] .kb-next-viewport {
  overflow: hidden;
  border-radius: 0 !important;
}

html[data-kb-theme="tv-broadcast"] .kb-next-bg,
html[data-kb-theme="tv-broadcast"] .kb-next-dark {
  display: none;
}

html[data-kb-theme="tv-broadcast"] .kb-next-term__over {
  padding: 6px !important;
}

html[data-kb-theme="tv-broadcast"] .kb-next-term__eyebrow {
  color: #aeb8c6;
  font-size: .74rem;
  font-weight: 800;
  text-transform: uppercase;
}

html[data-kb-theme="tv-broadcast"] .kb-next-term__title {
  margin: 5px 0 12px;
  padding-left: 13px;
  border-left: 7px solid var(--kb-tv-red);
  font-size: 1.35rem !important;
  text-transform: uppercase;
  line-height: 1.05;
}

html[data-kb-theme="tv-broadcast"] .kb-next-term__chips {
  display: grid;
  gap: 0;
}

html[data-kb-theme="tv-broadcast"] .kb-next-term__chip {
  position: relative;
  display: block;
  padding: 8px 8px 8px 34px !important;
  color: #e8edf5;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(143, 166, 190, .24) !important;
  border-radius: 0 !important;
}

html[data-kb-theme="tv-broadcast"] .kb-next-term__chip::before {
  position: absolute;
  left: 8px;
  color: #f5f8ff;
}

html[data-kb-theme="tv-broadcast"] .kb-next-term__chip:nth-child(1)::before { content: "▣"; }
html[data-kb-theme="tv-broadcast"] .kb-next-term__chip:nth-child(2)::before { content: "◷"; }
html[data-kb-theme="tv-broadcast"] .kb-next-term__chip:nth-child(3)::before { content: "⌖"; }

html[data-kb-theme="tv-broadcast"] .kb-attend {
  position: relative;
  min-height: 245px;
  margin: 10px 0 0;
  padding: 132px 10px 9px !important;
  overflow: hidden;
  background:
    linear-gradient(rgba(1, 8, 15, .20), rgba(1, 8, 15, .20)),
    url("/assets/img/boards/green_pitch_wide.png") center 7px / calc(100% - 14px) 126px no-repeat,
    rgba(5, 14, 23, .88) !important;
  border-color: rgba(118, 147, 177, .50) !important;
  border-radius: 0 !important;
}

html[data-kb-theme="tv-broadcast"] .kb-att-icons {
  position: absolute;
  left: 50%;
  top: 48px;
  z-index: 2;
  display: flex;
  gap: 12px;
  transform: translateX(-50%);
  white-space: nowrap;
}

html[data-kb-theme="tv-broadcast"] .kb-att-btn-icon {
  width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  background: rgba(2, 12, 22, .82) !important;
  border: 2px solid rgba(218, 230, 242, .48) !important;
  border-radius: 50% !important;
  font-size: 21px;
}

html[data-kb-theme="tv-broadcast"] .kb-att-btn-icon[data-status="yes"] { border-color: #55d36b !important; }
html[data-kb-theme="tv-broadcast"] .kb-att-btn-icon[data-status="later"] { border-color: #f2983f !important; }
html[data-kb-theme="tv-broadcast"] .kb-att-btn-icon[data-status="sick"] { border-color: #f5c44b !important; }
html[data-kb-theme="tv-broadcast"] .kb-att-btn-icon[data-status="no"] { border-color: #ff3e50 !important; }

html[data-kb-theme="tv-broadcast"] .kb-att-row {
  display: block !important;
  justify-content: center;
  gap: 7px !important;
}

html[data-kb-theme="tv-broadcast"] .kb-att-actions {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin-top: 2px;
}

html[data-kb-theme="tv-broadcast"] .kb-att-actions > .kb-att-btn {
  flex: 0 1 auto;
  min-height: 34px;
  padding: 5px 9px !important;
  font-size: .72rem;
  text-transform: uppercase;
}

html[data-kb-theme="tv-broadcast"] .kb-att-btn--delete {
  border: 1px solid rgba(255, 117, 130, .50) !important;
}

html[data-kb-theme="tv-broadcast"] .kb-att-btn--reset {
  border: 1px solid rgba(126, 181, 255, .48) !important;
}

html[data-kb-theme="tv-broadcast"] .kb-att-stats {
  justify-content: center;
  gap: 16px !important;
  font-size: .82rem !important;
}

html[data-kb-theme="tv-broadcast"] .kb-allterms {
  margin: 8px -10px -9px;
  padding: 8px 12px;
  color: #fff !important;
  background: linear-gradient(180deg, rgba(15, 31, 48, .98), rgba(4, 13, 23, .98)) !important;
  border-top: 1px solid rgba(113, 145, 177, .34);
  animation: none !important;
  text-align: left;
  text-transform: uppercase;
  font-size: .84rem !important;
}

html[data-kb-theme="tv-broadcast"] .kb-allterms::after {
  content: "›";
  float: right;
  font-size: 1.3rem;
  line-height: 1;
}

/* Aktuelles als kompakte News-Sendung. */
html[data-kb-theme="tv-broadcast"] .kb-events-list {
  display: grid;
  gap: 10px;
  max-height: 250px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 5px;
  scrollbar-color: rgba(44, 129, 231, .86) rgba(2, 11, 22, .76);
}

html[data-kb-theme="tv-broadcast"] .kb-news-search {
  min-height: 36px;
  color: #eef6ff !important;
  background: linear-gradient(180deg, rgba(7, 24, 42, .96), rgba(3, 13, 25, .98)) !important;
  border: 1px solid rgba(49, 139, 239, .55) !important;
  border-radius: 5px !important;
  box-shadow: inset 0 0 15px rgba(21, 101, 194, .08) !important;
}

html[data-kb-theme="tv-broadcast"] .kb-news-search:focus {
  border-color: #52a7ff !important;
  box-shadow: 0 0 0 2px rgba(45, 139, 241, .24) !important;
}

html[data-kb-theme="tv-broadcast"] .kb-event-link {
  color: inherit !important;
  text-decoration: none !important;
}

html[data-kb-theme="tv-broadcast"] .kb-event-card {
  grid-template-columns: 110px 1fr !important;
  padding: 9px !important;
  background: linear-gradient(145deg, rgba(7, 24, 40, .90), rgba(3, 14, 26, .94)) !important;
  border-color: rgba(75, 136, 199, .37) !important;
  border-radius: 7px !important;
}

html[data-kb-theme="tv-broadcast"] .kb-event-card--text-only {
  grid-template-columns: 1fr !important;
  min-height: 74px;
}

html[data-kb-theme="tv-broadcast"] .kb-event-media {
  width: 110px !important;
  height: 86px !important;
  border-radius: 3px !important;
}

html[data-kb-theme="tv-broadcast"] .kb-event-title::before {
  content: "NEWS";
  display: table;
  margin-bottom: 4px;
  padding: 1px 5px;
  color: #fff;
  background: #146fe4;
  font-size: .58rem;
  letter-spacing: .04em;
}

/* Kasse und Strafen. */
html[data-kb-theme="tv-broadcast"] #kbFinanceTile {
  isolation: isolate;
}

html[data-kb-theme="tv-broadcast"] #kbFinanceTile::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: 36px;
  top: 112px;
  width: 120px;
  height: 120px;
  opacity: .88;
  background: url("/assets/icons/cash.svg") center / contain no-repeat;
  filter: drop-shadow(0 0 12px rgba(31, 140, 255, .45));
}

html[data-kb-theme="tv-broadcast"] #kbFinanceTile > * {
  position: relative;
  z-index: 1;
}

html[data-kb-theme="tv-broadcast"] #kbFinanceTile > div:nth-of-type(3) {
  display: inline-block;
  min-width: 175px;
  margin: 10px 0 25px !important;
  padding: 13px 18px;
  color: #fff;
  background: linear-gradient(135deg, #0f64da, #07388c);
  border-radius: 8px;
  font-size: 2.2rem !important;
  line-height: 1;
  box-shadow: inset 0 1px rgba(255, 255, 255, .13);
}

html[data-kb-theme="tv-broadcast"] .kb-penalties-tile::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 44px;
  margin: 30px 16px 0 4px;
  vertical-align: middle;
  background: linear-gradient(180deg, #ff4d58, #d61020);
  box-shadow: 0 0 15px rgba(255, 38, 54, .28);
}

html[data-kb-theme="tv-broadcast"] .kb-penalties-tile > p {
  display: inline-block;
  vertical-align: middle;
}

html[data-kb-theme="tv-broadcast"] .kb-penalties-tile > a {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 18px;
  display: flex;
  justify-content: space-between;
  padding: 10px 12px;
  color: #fff !important;
  background: linear-gradient(180deg, rgba(14, 31, 48, .96), rgba(4, 13, 23, .96));
  border: 1px solid rgba(102, 139, 177, .38);
  border-radius: 6px;
  text-decoration: none !important;
  text-transform: uppercase;
}

html[data-kb-theme="tv-broadcast"] .kb-penalties-tile > a::after { content: "›"; font-size: 1.25rem; }

html[data-kb-theme="tv-broadcast"] .kb-broadcast-footer {
  display: grid;
  grid-template-columns: .8fr 2.8fr;
  align-items: center;
  min-height: 60px;
  margin-top: 12px;
  padding: 0 22px;
  color: #bfcce0;
  background: linear-gradient(110deg, rgba(3, 17, 31, .98), rgba(8, 37, 75, .96), rgba(3, 17, 31, .98));
  border: 1px solid rgba(75, 142, 214, .55);
  font-size: .83rem;
  letter-spacing: .08em;
}

html[data-kb-theme="tv-broadcast"] .kb-broadcast-footer strong {
  padding: 10px 18px;
  color: #fff;
  background: linear-gradient(110deg, transparent 6%, #0b4fa9 6% 94%, transparent 94%);
  text-align: center;
  font-size: .88rem;
  line-height: 1.22;
}

/* Mockup 02 in automatisch ermittelten Mannschafts-/Vereinsfarben. */
html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] {
  --kb-tv-blue: var(--kb-club-ai-primary);
  --kb-tv-blue-dark: var(--kb-club-ai-dark);
  --kb-tv-blue-mid: var(--kb-club-ai-mid);
  --kb-tv-red: var(--kb-club-ai-secondary);
  --kb-tv-cyan: var(--kb-club-ai-bright);
  --kb-tv-panel: color-mix(in srgb, var(--kb-club-ai-dark) 96%, #000);
  --kb-tv-panel-2: color-mix(in srgb, var(--kb-club-ai-deep) 93%, #020810);
  --kb-tv-line: color-mix(in srgb, var(--kb-club-ai-primary) 72%, var(--kb-club-ai-secondary));
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] body::before {
  background:
    radial-gradient(circle at 12% 4%, color-mix(in srgb, var(--kb-club-ai-primary) 25%, transparent), transparent 28%),
    radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--kb-club-ai-secondary) 16%, transparent), transparent 26%),
    linear-gradient(90deg, color-mix(in srgb, var(--kb-club-ai-deep) 30%, transparent), transparent 24% 76%, color-mix(in srgb, var(--kb-club-ai-deep) 30%, transparent));
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] body :where(
  .kb-card, .kb-tile, .card, .panel, .box, .tile, .widget,
  .content-card, .settings-card, .team-card, .term-card, .profile-card,
  .modal-content, .dialog-content, fieldset, .toolbar, .topbar,
  .kb-topbar, .lb-pro-topbar
) {
  background: linear-gradient(145deg, var(--kb-club-ai-dark), var(--kb-club-ai-deep)) !important;
  border-color: var(--kb-tv-line) !important;
  box-shadow:
    inset 0 0 22px color-mix(in srgb, var(--kb-club-ai-primary) 7%, transparent),
    0 16px 40px rgba(0, 0, 0, .46) !important;
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] body :where(
  .page-title, .section-title, .panel-title, .card-header, .panel-header
) {
  background: linear-gradient(180deg, var(--kb-club-ai-mid), var(--kb-club-ai-deep)) !important;
  border-bottom-color: var(--kb-club-ai-bright) !important;
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] body :where(
  header, nav, .navbar, .app-header, .page-header
) {
  background: linear-gradient(110deg, var(--kb-club-ai-mid), var(--kb-club-ai-dark) 52%, var(--kb-club-ai-mid)) !important;
  border-color: var(--kb-tv-line) !important;
  border-bottom-color: var(--kb-club-ai-secondary) !important;
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] body :where(
  .card, .panel, .box, .content-card, .settings-card,
  .team-card, .term-card, .profile-card
) > :where(h1, h2, h3):first-child {
  background: linear-gradient(180deg, var(--kb-club-ai-mid), var(--kb-club-ai-deep)) !important;
  border-bottom-color: var(--kb-club-ai-bright) !important;
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] .kb-topbar {
  background: linear-gradient(120deg, var(--kb-club-ai-mid), var(--kb-club-ai-dark) 50%, var(--kb-club-ai-mid)) !important;
  border-bottom-color: var(--kb-club-ai-secondary) !important;
  box-shadow: inset 0 0 34px color-mix(in srgb, var(--kb-club-ai-primary) 24%, transparent) !important;
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] .kb-topbar::before {
  background:
    linear-gradient(115deg, transparent 0 12%, color-mix(in srgb, var(--kb-club-ai-secondary) 15%, transparent) 12% 15%, transparent 15% 74%, color-mix(in srgb, var(--kb-club-ai-secondary) 15%, transparent) 74% 77%, transparent 77%),
    linear-gradient(135deg, transparent 52%, rgba(255, 255, 255, .045) 52% 53%, transparent 53%);
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] .kb-teamlogo img {
  box-shadow: 0 0 20px color-mix(in srgb, var(--kb-club-ai-primary) 48%, transparent) !important;
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] .kb-live-scoreboard {
  background: linear-gradient(180deg, var(--kb-club-ai-deep), var(--kb-club-ai-dark));
  border-color: var(--kb-club-ai-bright);
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] .kb-live-scoreboard--next .kb-live-scoreboard__live,
html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] .kb-roster-event__type {
  color: var(--kb-club-ai-primary-text) !important;
  background: linear-gradient(180deg, var(--kb-club-ai-bright), var(--kb-club-ai-primary)) !important;
  border-color: var(--kb-club-ai-secondary) !important;
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] .kb-iconbtn,
html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] .kb-iconlink {
  color: var(--kb-club-ai-secondary-text) !important;
  background: var(--kb-club-ai-secondary) !important;
  border-color: color-mix(in srgb, var(--kb-club-ai-secondary) 80%, #fff) !important;
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] .kb-avatar {
  border-color: var(--kb-club-ai-secondary) !important;
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] .kb-grid > .kb-tile {
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--kb-club-ai-primary) 14%, transparent), transparent 44%),
    linear-gradient(145deg, var(--kb-club-ai-dark), var(--kb-club-ai-deep)) !important;
  border-color: var(--kb-club-ai-bright) !important;
  border-bottom-color: var(--kb-club-ai-primary) !important;
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] .kb-grid > .kb-tile:nth-child(3n) {
  border-bottom-color: var(--kb-club-ai-secondary) !important;
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] .kb-grid > .kb-tile > h3,
html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] #kbFinanceTile > div:first-child {
  background: linear-gradient(180deg, var(--kb-club-ai-mid), var(--kb-club-ai-deep)) !important;
  border-bottom-color: var(--kb-club-ai-bright) !important;
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] .kb-roster-event {
  background: linear-gradient(145deg, var(--kb-club-ai-dark), var(--kb-club-ai-deep)) !important;
  border-color: var(--kb-tv-line) !important;
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] .kb-broadcast-footer {
  background: linear-gradient(110deg, var(--kb-club-ai-dark), var(--kb-club-ai-deep), var(--kb-club-ai-dark));
  border-color: var(--kb-tv-line);
}

html[data-kb-theme="tv-broadcast"][data-kb-theme-variant="club-ai"] .kb-broadcast-footer strong {
  background: linear-gradient(110deg, transparent 6%, var(--kb-club-ai-primary) 6% 94%, transparent 94%);
  color: var(--kb-club-ai-primary-text);
}

/* Theme-Auswahl bleibt erreichbar, fügt sich aber optisch ein. */
html[data-kb-theme="tv-broadcast"] .kb-theme-launcher {
  color: #fff !important;
  background: linear-gradient(180deg, #115ebc, #062c6d) !important;
  border-color: #389fff !important;
  border-radius: 5px !important;
}

/* Mobile: Sportstudio-Kopf kompakt, Kacheln bleiben als wischbare Seiten. */
@media (max-width: 700px) {
  html[data-kb-theme="tv-broadcast"] .kb-topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "brand actions"
      "score score";
    min-height: 116px;
    margin: 0 0 7px !important;
    padding: 7px 8px 9px !important;
    gap: 8px 6px;
  }

  html[data-kb-theme="tv-broadcast"] .kb-topbar--no-match {
    grid-template-areas: "brand actions";
    min-height: 66px;
  }

  html[data-kb-theme="tv-broadcast"] .kb-header-action::after {
    display: none !important;
  }

  html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard {
    display: grid !important;
    width: 100%;
    min-height: 46px;
    grid-template-columns: 1fr .86fr 1fr;
  }

  html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard__live {
    top: -8px;
    min-width: 70px;
    padding: 2px 11px 3px;
    font-size: .56rem;
  }

  html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard--next .kb-live-scoreboard__live {
    min-width: 116px;
  }

  html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard__team {
    font-size: .9rem;
  }

  html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard__score {
    padding: 8px 4px 3px;
    font-size: 1.16rem;
  }

  html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard__date {
    font-size: 1rem;
  }

  html[data-kb-theme="tv-broadcast"] .kb-live-scoreboard__score small {
    margin-top: 4px;
    font-size: .5rem;
  }

  html[data-kb-theme="tv-broadcast"] .kb-broadcast-footer {
    display: block !important;
    flex: 0 0 auto;
    min-height: 28px;
    margin-top: 6px;
    padding: 3px 7px;
  }

  html[data-kb-theme="tv-broadcast"] .kb-broadcast-footer span {
    display: none;
  }

  html[data-kb-theme="tv-broadcast"] .kb-broadcast-footer strong {
    display: block;
    padding: 4px 10px;
    background: linear-gradient(110deg, transparent 3%, #0b4fa9 3% 97%, transparent 97%);
    font-size: .65rem;
    line-height: 1.15;
  }

  html[data-kb-theme="tv-broadcast"] .kb-teamlogo img {
    width: 42px !important;
    height: 42px !important;
  }

  html[data-kb-theme="tv-broadcast"] .kb-brand .kb-app {
    max-width: 42vw !important;
    font-size: .98rem !important;
  }

  html[data-kb-theme="tv-broadcast"] .kb-brand .kb-hi { font-size: .78rem !important; }
  html[data-kb-theme="tv-broadcast"] .kb-brand .kb-role { font-size: .66rem !important; }

  html[data-kb-theme="tv-broadcast"] .kb-top-right { gap: 5px !important; }

  html[data-kb-theme="tv-broadcast"] .kb-header-action {
    min-width: 0;
    padding-bottom: 0;
  }

  html[data-kb-theme="tv-broadcast"] .kb-iconbtn,
  html[data-kb-theme="tv-broadcast"] .kb-iconlink {
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    font-size: 14px !important;
  }

  html[data-kb-theme="tv-broadcast"] .kb-avatar {
    width: 37px !important;
    height: 37px !important;
  }

  html[data-kb-theme="tv-broadcast"].kb-dashboard-fit .kb-grid {
    display: flex !important;
  }

  html[data-kb-theme="tv-broadcast"] .kb-grid > .kb-tile:nth-child(-n+3),
  html[data-kb-theme="tv-broadcast"] .kb-grid > .kb-tile {
    min-height: 0 !important;
  }

  html[data-kb-theme="tv-broadcast"] .kb-grid > .kb-tile > h3,
  html[data-kb-theme="tv-broadcast"] #kbFinanceTile > div:first-child {
    min-height: 48px;
  }

  html[data-kb-theme="tv-broadcast"] .kb-laundry-showcase {
    min-height: 280px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-kb-theme="tv-broadcast"] body :where(button, .btn, [role="button"]) {
    transition: none !important;
  }
}

/* R164: Voting-Kacheln besitzen bereits einen eigenen Kopfbereich.
   Der allgemeine blaue TV-Kachelkopf darf deshalb nicht in diesen Bereich
   gezogen werden und ihn ueberdecken. */
html[data-kb-theme="tv-broadcast"] .kb-grid > .kb-match-vote-tile > h3,
html[data-kb-theme="tv-broadcast"] .kb-grid > .kb-coach-vote-tile > h3 {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: auto !important;
  max-width: calc(100% - 54px) !important;
  min-height: 0 !important;
  margin: 12px 0 8px !important;
  padding: 0 !important;
  line-height: 1.15 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

html[data-kb-theme="tv-broadcast"] .kb-grid > .kb-match-vote-tile > .kb-match-vote-tile__head,
html[data-kb-theme="tv-broadcast"] .kb-grid > .kb-coach-vote-tile > .kb-coach-vote-tile__head {
  position: relative !important;
  z-index: 3 !important;
  min-width: 0 !important;
  margin: 0 !important;
}

@media (max-width: 420px) {
  html[data-kb-theme="tv-broadcast"] .kb-grid > .kb-match-vote-tile > h3,
  html[data-kb-theme="tv-broadcast"] .kb-grid > .kb-coach-vote-tile > h3 {
    max-width: 100% !important;
    margin-top: 10px !important;
    padding-right: 42px !important;
    overflow-wrap: break-word !important;
  }
}
