/* ============================================================
   table.css – IVD Saisontabelle (eigenständige iframe-Seite)
   Fullscreen, helles Markendesign (kein Karten-Panel, kein
   Dark-Toggle). Markenfarben/Tokens analog zum Scoreboard.
   ============================================================ */

:root{
  --red:#c7171c; --red-hi:#f02c2e; --gold:#e7b62c; --gold-ink:#5a4304;
  --bg:#eceef1; --surface:#ffffff; --surface-2:#f4f5f7; --line:#e3e3e3;
  --text:#262f3e; --muted:#797e87; --score-ink:#262f3e; --hl:#faf3f3;
  --tor:#1aa64b; --foul:#d6342b;
  --font:'Segoe UI',Roboto,-apple-system,Helvetica,Arial,sans-serif;
  --mono:'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:var(--font);background:var(--surface);color:var(--text);
  -webkit-font-smoothing:antialiased;line-height:1.4}
.wrap{min-height:100%;display:flex;flex-direction:column;background:var(--surface)}

/* Kopfzeile (fullscreen, ohne Karte/Toggle) */
.topbar{display:flex;align-items:center;gap:12px;padding:15px 20px;
  background:var(--surface);border-bottom:2px solid var(--red)}
.brand{font-weight:900;letter-spacing:.5px;font-size:16px;color:var(--text)}
.brand b{color:var(--red)}
.topbar .season{margin-left:auto;color:var(--muted);font-weight:700;font-size:12px;
  text-transform:uppercase;letter-spacing:.4px}

/* Tabelle – füllt die Breite */
.standtbl{width:100%;border-collapse:collapse;font-size:14px}
.standtbl th,.standtbl td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:center}
.standtbl th{font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.4px;
  font-weight:800;background:var(--surface-2)}
.standtbl td{color:var(--text)}
.standtbl th.l,.standtbl td.tn{text-align:left}
.standtbl td.r{font-family:var(--mono);font-weight:900;color:var(--red);min-width:30px}
.standtbl td.tn{font-weight:700}
.standtbl .team{display:inline-flex;align-items:center;gap:11px;min-width:0}
.standtbl .team img{height:28px;width:28px;object-fit:contain;flex:none}
.standtbl .team .ini{display:inline-flex;align-items:center;justify-content:center;
  height:28px;min-width:28px;border-radius:7px;background:var(--surface-2);border:1px solid var(--line);
  font-size:11px;font-weight:900;color:var(--muted);flex:none}
.standtbl .team .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.standtbl td.pts{font-family:var(--mono);font-weight:900;color:var(--text)}
.standtbl td.goals{font-family:var(--mono);color:var(--muted)}
.standtbl td.diff{font-family:var(--mono);font-weight:700}
.standtbl td.diff.pos{color:var(--tor)}
.standtbl td.diff.neg{color:var(--foul)}
.standtbl tr.play td{background:var(--hl)}
.standtbl tr.play td.tn .nm::after{content:"live";font-size:9px;font-weight:800;color:var(--red);
  margin-left:7px;letter-spacing:.3px;text-transform:uppercase}

/* Losentscheid-Hinweis (§3.9.1.5) */
.lotmark{color:var(--gold);font-weight:800;margin-left:2px}
.lotnote{color:var(--muted);font-size:11px;padding:8px 16px 0}

/* Platzhalter / Status / Fuß */
.placeholder{text-align:center;color:var(--muted);padding:48px 16px;font-size:14px}
.placeholder .big{font-size:40px;margin-bottom:8px;opacity:.5}
.foot{margin-top:auto;text-align:center;color:var(--muted);font-size:10px;
  padding:14px 0;border-top:1px solid var(--line)}
.foot b{color:var(--red)}
.statusline{display:flex;align-items:center;justify-content:center;gap:7px;
  font-size:10px;color:var(--muted);padding-bottom:6px}
.statusline .dot{width:7px;height:7px;border-radius:50%;background:var(--tor)}
body.stale .statusline .dot{background:var(--gold)}

/* Schmale Einbettung: kompaktere Sekundärspalten */
@media(max-width:460px){
  .standtbl th.opt,.standtbl td.opt{display:none}
  .standtbl{font-size:13px}
  .standtbl th,.standtbl td{padding:11px 7px}
  .topbar{padding:13px 14px}
}
