/* Kickerbay R120 – lesbare Termin-Kachel mit sechs Rückmeldungen */
html[data-kb-theme="tv-broadcast"] .kb-next-viewport{
  overflow:hidden!important;
}
html[data-kb-theme="tv-broadcast"] .kb-next-slide{
  min-width:100%;
  overflow:hidden;
}
html[data-kb-theme="tv-broadcast"] .kb-next-term__over{
  display:flex!important;
  min-width:0;
  flex-direction:column;
  gap:7px;
  padding:7px!important;
}
html[data-kb-theme="tv-broadcast"] .kb-next-term__eyebrow{
  font-size:.80rem!important;
  line-height:1.2;
}
html[data-kb-theme="tv-broadcast"] .kb-next-term__title{
  max-width:100%;
  margin:4px 0 7px!important;
  padding:2px 0 2px 11px;
  overflow-wrap:anywhere;
  font-size:clamp(1.05rem,4.2vw,1.28rem)!important;
  line-height:1.15!important;
}
html[data-kb-theme="tv-broadcast"] .kb-next-term__chips{
  min-width:0;
}
html[data-kb-theme="tv-broadcast"] .kb-next-term__chip{
  min-width:0;
  padding:7px 6px 7px 29px!important;
  overflow-wrap:anywhere;
  white-space:normal;
  font-size:.88rem!important;
  line-height:1.25;
}
html[data-kb-theme="tv-broadcast"] .kb-next-term__chip::before{
  left:6px;
}

/* Spielfeld, Statussymbole, Aktionen und Zähler haben eigene feste Zeilen. */
html[data-kb-theme="tv-broadcast"] .kb-attend{
  position:relative;
  display:block;
  min-width:0;
  min-height:0!important;
  margin:7px 0 0!important;
  padding:126px 8px 8px!important;
  overflow:hidden;
  background:
    linear-gradient(rgba(1,8,15,.12),rgba(1,8,15,.12)),
    url("/assets/img/boards/green_pitch_wide.png") center 6px / calc(100% - 12px) 117px no-repeat,
    rgba(5,14,23,.94)!important;
}
html[data-kb-theme="tv-broadcast"] .kb-att-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  gap:7px!important;
  width:100%;
  min-width:0;
}
html[data-kb-theme="tv-broadcast"] .kb-att-icons{
  position:absolute!important;
  top:17px!important;
  left:50%!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:min(252px,calc(100% - 24px));
  max-width:calc(100% - 24px);
  align-items:center;
  justify-content:center;
  gap:8px!important;
  transform:translateX(-50%)!important;
}
html[data-kb-theme="tv-broadcast"] .kb-att-btn-icon{
  display:flex!important;
  flex:1 1 auto;
  width:100%!important;
  height:43px!important;
  min-height:43px!important;
  flex-direction:column;
  gap:1px;
  border-radius:11px!important;
  font-size:15px!important;
  line-height:1!important;
}
html[data-kb-theme="tv-broadcast"] .kb-att-btn-icon small{
  display:block;
  max-width:100%;
  overflow:hidden;
  color:#e7f3ff;
  font-size:.52rem;
  font-weight:900;
  line-height:1.05;
  text-overflow:ellipsis;
  white-space:nowrap;
}
html[data-kb-theme="tv-broadcast"] .kb-att-btn-icon[data-status="vacation"]{border-color:#49d8e8!important}
html[data-kb-theme="tv-broadcast"] .kb-att-btn-icon[data-status="loan"]{border-color:#c189ff!important}
html[data-kb-theme="tv-broadcast"] .kb-att-actions{
  position:static!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  gap:6px!important;
  width:100%;
  min-width:0;
  margin:0!important;
}
html[data-kb-theme="tv-broadcast"] .kb-att-actions>.kb-att-btn{
  display:flex;
  width:100%;
  min-width:0;
  min-height:32px!important;
  align-items:center;
  justify-content:center;
  padding:6px 8px!important;
  overflow-wrap:anywhere;
  white-space:normal;
  font-size:.78rem!important;
  line-height:1.15;
  text-align:center;
}
html[data-kb-theme="tv-broadcast"] .kb-att-btn--trainer-info{
  border:1px solid rgba(66,211,255,.52)!important;
  background:linear-gradient(180deg,rgba(11,99,157,.95),rgba(5,52,101,.98))!important;
  color:#fff!important;
}
html[data-kb-theme="tv-broadcast"] .kb-att-saved{
  display:block!important;
  width:100%;
  margin:0!important;
  text-align:center;
}
html[data-kb-theme="tv-broadcast"] .kb-att-stats{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px!important;
  width:100%;
  min-width:0;
  margin:8px 0 0!important;
  padding-top:7px;
  border-top:1px solid rgba(119,151,183,.25);
  font-size:.82rem!important;
  line-height:1;
}
html[data-kb-theme="tv-broadcast"] .kb-att-chip{
  min-width:0;
  justify-content:center;
  gap:3px!important;
  white-space:nowrap;
}
html[data-kb-theme="tv-broadcast"] .kb-att-detail{
  margin-top:7px;
  padding:7px 9px;
  border:1px solid rgba(196,142,255,.42);
  border-radius:8px;
  background:rgba(75,28,126,.28);
  color:#e8d5ff;
  font-size:.78rem;
  line-height:1.3;
  overflow-wrap:anywhere;
  text-align:center;
}
html[data-kb-theme="tv-broadcast"] .kb-att-detail[hidden]{display:none!important}

/* Eingabefenster für Ausleihe und die unabhängige Info an Trainer. */
body.kb-attendance-modal-open{overflow:hidden!important}
.kb-att-dashboard-modal[hidden]{display:none!important}
.kb-att-dashboard-modal{
  position:fixed;
  inset:0;
  z-index:50000;
  display:grid;
  place-items:center;
  padding:18px;
}
.kb-att-dashboard-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,5,14,.82);
  backdrop-filter:blur(5px);
}
.kb-att-dashboard-modal__dialog{
  position:relative;
  z-index:1;
  width:min(470px,100%);
  box-sizing:border-box;
  padding:16px;
  border:1px solid rgba(83,174,255,.72);
  border-radius:15px;
  background:linear-gradient(180deg,#092653,#031222);
  box-shadow:0 24px 70px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.08);
  color:#fff;
}
.kb-att-dashboard-modal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.kb-att-dashboard-modal__head h2{margin:0;font-size:1.25rem;line-height:1.2}
.kb-att-dashboard-modal__close{
  flex:0 0 38px;
  width:38px;
  height:38px;
  border:1px solid rgba(147,197,253,.42);
  border-radius:9px;
  background:#0c3267;
  color:#fff;
  font-size:1.55rem;
  cursor:pointer;
}
.kb-att-dashboard-modal__label{display:block;margin-bottom:7px;font-weight:900;color:#eaf4ff}
.kb-att-dashboard-modal textarea{
  display:block;
  width:100%;
  min-height:110px;
  box-sizing:border-box;
  resize:vertical;
  padding:11px 12px;
  border:1px solid #3977b9;
  border-radius:10px;
  background:#020c1b;
  color:#fff;
  font:700 1rem/1.4 system-ui,sans-serif;
}
.kb-att-dashboard-modal textarea:focus{outline:3px solid rgba(67,168,255,.28);border-color:#6bbcff}
.kb-att-dashboard-modal__hint{min-height:34px;margin:8px 0 12px;color:#bed4ed;font-size:.86rem;line-height:1.35}
.kb-att-dashboard-modal__actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.kb-att-dashboard-modal__actions button{
  min-height:43px;
  border:1px solid rgba(105,174,241,.55);
  border-radius:10px;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
.kb-att-dashboard-modal__cancel{background:#102847}
.kb-att-dashboard-modal__save{background:linear-gradient(180deg,#168cff,#0560bd)}

/* „Alle Termine“ und Slider-Navigation liegen unterhalb der Abstimmung. */
html[data-kb-theme="tv-broadcast"] .kb-next-term__footer-row{
  display:block;
  min-width:0;
  margin-top:0;
}
html[data-kb-theme="tv-broadcast"] .kb-next-term__footer-row .kb-allterms{
  display:flex!important;
  width:100%;
  min-height:34px;
  align-items:center;
  justify-content:space-between;
  margin:0!important;
  padding:8px 10px!important;
  box-sizing:border-box;
  border:1px solid rgba(113,145,177,.34);
  font-size:.84rem!important;
  line-height:1.1;
}
html[data-kb-theme="tv-broadcast"] .kb-next-term__footer-row .kb-allterms::after{
  float:none!important;
  flex:0 0 auto;
  margin-left:8px;
}
html[data-kb-theme="tv-broadcast"] .kb-next-dots{
  position:relative!important;
  inset:auto!important;
  display:flex;
  min-height:12px;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:7px auto 1px;
  pointer-events:auto;
}
html[data-kb-theme="tv-broadcast"] .kb-next-dot{
  width:9px;
  height:9px;
}

@media(max-width:390px){
  html[data-kb-theme="tv-broadcast"] .kb-next-term__over{padding:6px!important}
  html[data-kb-theme="tv-broadcast"] .kb-next-term__title{font-size:1.08rem!important}
  html[data-kb-theme="tv-broadcast"] .kb-next-term__chip{font-size:.84rem!important}
  html[data-kb-theme="tv-broadcast"] .kb-att-icons{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  html[data-kb-theme="tv-broadcast"] .kb-att-btn-icon{
    width:100%!important;
    height:43px!important;
    min-height:43px!important;
  }
  .kb-att-dashboard-modal{align-items:end;padding:9px}
  .kb-att-dashboard-modal__dialog{padding:14px;border-radius:15px 15px 10px 10px}
}
