/* v41.0 – offizieller öffentlicher KO-Baum + Nachrücker */
.publicKoNativeHiddenByV410{display:none!important}

.publicKoTreeStatus.official{
  background:#e8f6ee!important;
  border-color:#b8dfc7!important;
  color:#08704c!important;
}

.publicKoOfficialGame .publicKoTreePlayer{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:6px 8px;
  margin-top:5px;
  border-radius:9px;
  background:#f1f5f3;
  color:#17382f;
}
.publicKoOfficialGame .publicKoTreePlayer.winner{
  background:#e6f7df;
  color:#0b673f;
  box-shadow:inset 3px 0 0 #41a963;
}
.publicKoOfficialGame .publicKoTreePlayer b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.publicKoTreeScore{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:2px 8px;
  align-items:center;
  margin-top:7px;
  padding:7px 8px;
  border-radius:9px;
  background:#f8faf9;
  border:1px solid #e1e9e5;
}
.publicKoTreeScore span{
  color:#77847e;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.publicKoTreeScore b{
  justify-self:end;
  color:#1c3a31;
  font-size:11px;
}
.publicKoTreeScore small{
  grid-column:1/-1;
  color:#0b6b50;
  font-size:9px;
  font-weight:800;
}
.publicKoTreeScore.done{
  background:#f0f8f3;
  border-color:#cce6d5;
}
.publicKoReplacementNotice{
  display:grid;
  gap:4px;
  margin:8px 0 13px;
  padding:10px 12px;
  border:1px solid #ecd69d;
  border-radius:12px;
  background:#fff9e8;
  color:#5d4a14;
  font-size:11px;
}
.publicKoReplacementNotice b{font-size:11px}
.publicKoReplacementNotice span{display:block}

.replacedKoQualifierRow{
  opacity:.62;
}
.koReplacementBadge,
.koReplacementOutBadge{
  display:inline-flex;
  align-items:center;
  margin-left:6px;
  padding:2px 6px;
  border-radius:999px;
  font-size:8px;
  font-weight:950;
  letter-spacing:.03em;
  vertical-align:middle;
}
.koReplacementBadge{
  background:#fff0b8;
  color:#765500;
}
.koReplacementOutBadge{
  background:#eceff1;
  color:#637078;
}

/* Admin: Nachrücker-Block */
.koReplacementBox{
  margin:14px 0 18px;
  padding:14px;
  border:1px solid #d8dfef;
  border-radius:16px;
  background:linear-gradient(145deg,#f8f9ff,#fff);
}
.koReplacementTitle{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:11px;
}
.koReplacementTitle>span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:10px;
  background:#ebe9fb;
  color:#614aa7;
  font-size:20px;
  font-weight:900;
}
.koReplacementTitle div{display:grid;gap:2px}
.koReplacementTitle b{color:#26334d}
.koReplacementTitle small{color:#6d7688;line-height:1.35}
.koReplacementControls{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
}
.koReplacementControls label{display:grid;gap:4px}
.koReplacementControls label>span,
.koReplacementSuggestion small{
  color:#707b8e;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.koReplacementControls select{
  width:100%;
  min-height:42px;
  padding:8px 10px;
  border:1px solid #ccd7d2;
  border-radius:11px;
  background:#fff;
}
.koReplacementSuggestion{
  min-height:42px;
  display:grid;
  gap:2px;
  padding:7px 10px;
  border:1px solid #dbe4df;
  border-radius:11px;
  background:#f7faf8;
}
.koReplacementSuggestion b{color:#0c654d;font-size:12px}
.koReplacementSuggestion span{color:#6a7771;font-size:9px}
.koReplacementApply{
  min-height:42px;
  padding:8px 12px;
  border:0;
  border-radius:11px;
  background:#6552ad;
  color:#fff;
  font:inherit;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}
.koReplacementApply:disabled{opacity:.4;cursor:not-allowed}
.koReplacementActive{
  display:grid;
  gap:6px;
  margin:0 0 10px;
}
.koReplacementActive>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:7px 9px;
  border-radius:10px;
  background:#fff4d5;
  color:#675017;
  font-size:10px;
}
.koReplacementActive button{
  border:1px solid #dfc77f;
  border-radius:999px;
  background:#fff;
  color:#72570d;
  padding:5px 8px;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}
.koReplacementBox>p{
  margin:10px 0 0;
  color:#707a75;
  font-size:10px;
  line-height:1.4;
}

@media(max-width:760px){
  .koReplacementControls{grid-template-columns:1fr}
  .koReplacementApply{width:100%}
}


/* v41.1 – Ergebnis kompakt direkt an der Siegerzeile */
.publicKoOfficialGame .publicKoTreePlayer b{
  min-width:0;
  flex:1 1 auto;
}
.publicKoOfficialGame .publicKoTreeInlineResult{
  flex:0 0 auto;
  margin-left:auto;
  padding-left:8px;
  color:#0b673f;
  font-size:10px;
  font-weight:950;
  white-space:nowrap;
}
.publicKoOfficialGame .publicKoTreePlayer.winner .publicKoTreeInlineResult{
  color:#075c38;
}
