*{box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;margin:0;background:#080808;color:#f3f3f3}header{background:#000;padding:12px 16px;border-bottom:4px solid #ffe100;box-shadow:0 2px 14px #000}h1{margin:0 0 8px;font-size:1.45rem;color:#ffe100;letter-spacing:.2px}h2,h3{color:#ffe100}nav.mainnav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}nav.mainnav a{display:inline-block;margin:4px 0;background:#ffe100;color:#111;font-weight:900;text-decoration:none;padding:12px 18px;font-size:1.08rem;border-radius:9px;border:1px solid #ffd000;box-shadow:0 2px 0 #8a7600}nav.mainnav a:hover{filter:brightness(1.08);transform:translateY(-1px);text-decoration:none}.card{background:#151515;margin:14px auto;padding:14px;border:1px solid #3a3a3a;border-radius:12px;max-width:1100px;box-shadow:0 2px 8px #0008}.msg{background:#183c22;border:1px solid #3fb35a;color:#e9ffee;padding:10px;border-radius:8px}.err{background:#4a1111;border:1px solid #d66;color:#fff1f1;padding:10px;border-radius:8px}table{border-collapse:collapse;width:100%;background:#121212;color:#f3f3f3}th,td{border-bottom:1px solid #383838;padding:7px;text-align:left;vertical-align:top}th{background:#ffe100;color:#111}tr:nth-child(even) td{background:#181818}input,select,button{font-size:1rem;padding:7px;margin:3px;border:1px solid #666;border-radius:7px;background:#222;color:#fff}input:focus,select:focus{outline:2px solid #ffe100;border-color:#ffe100}button,.btn{background:#ffe100;color:#111;border:0;text-decoration:none;display:inline-block;cursor:pointer;font-weight:800}.btn.small,button.small{font-size:.86rem;padding:4px 7px}.danger{background:#a40000;color:#fff}.muted{color:#bbb;font-size:.9rem}.money{font-weight:800;color:#ffe100}.match-row{display:grid;grid-template-columns:110px 1fr 140px 120px 80px;gap:8px;align-items:center;padding:9px;border-bottom:1px solid #454545;background:#141414}.match-row:nth-child(even){background:#1d1d1d}.pairing{font-weight:800;cursor:pointer;color:#ffe100}.pairing:hover{text-decoration:underline}.details{display:none;padding:10px 12px;background:#202020;border-bottom:2px solid #ffe100}.details.open{display:block;background:#0b2e13;border:1px solid #1f6b33;border-top:0}.details-title{font-size:1.05rem;margin:.2rem 0 .4rem;color:#ffe100}.subhead{font-size:.95rem;font-weight:700;color:#e7d36a;margin:1rem 0 .35rem;border-top:1px solid #275c35;padding-top:.55rem}.helpmark{display:inline-flex;align-items:center;justify-content:center;width:1.25em;height:1.25em;border-radius:50%;background:#ffe100;color:#111!important;text-decoration:none!important;font-weight:900;font-size:.82em;margin-left:.25em}.help-card h3{margin-top:1.6rem;color:#ffe100}.help-card li{margin:.3rem 0}.tipnum{width:58px}.resultnum{width:62px}.inline{display:inline}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:8px 0 14px;padding:8px;background:#101010;border:1px solid #333;border-radius:8px}.toolbar label{white-space:nowrap}a{color:#ffe100}.reminder-box{border:1px solid #444;border-radius:10px;padding:12px;margin:12px 0;background:#111}.reminder-box textarea{width:100%;max-width:720px;background:#0b0b0b;color:#fff;border:1px solid #555;border-radius:8px;padding:10px}
@media(max-width:760px){.match-row{grid-template-columns:74px 1fr 74px 72px 48px;font-size:.88rem;gap:5px}.tipnum{width:42px;padding:5px}.resultnum{width:48px;padding:5px}input,select,button{font-size:.92rem}.grid2{grid-template-columns:1fr}th,td{padding:5px}.card{margin:10px 6px;padding:10px;overflow-x:auto}nav.mainnav a{padding:6px 9px;font-size:.88rem}.toolbar{display:block}.toolbar label{display:block;margin:6px 0}}
.kpi-row{max-width:1100px;margin:14px auto 4px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi{background:#ffe100;color:#111;border-radius:14px;padding:14px 16px;box-shadow:0 4px 0 #8a7600,0 4px 18px #0009;border:2px solid #fff07a}.kpi div{text-transform:uppercase;font-size:.9rem;font-weight:900;letter-spacing:.04em}.kpi strong{display:block;font-size:2rem;line-height:1.1;margin-top:4px}.kpi span{display:block;font-size:.84rem;margin-top:5px;color:#333}.next-card{border-color:#ffe100}.bigpair{font-size:1.35rem;font-weight:900}.checkline{display:inline-flex;align-items:center;gap:5px;margin:3px 8px 3px 0}.checkline input{margin:0}
@media(max-width:760px){.kpi-row{grid-template-columns:1fr;margin:10px 6px}.kpi{padding:12px}.kpi strong{font-size:1.6rem}.bigpair{font-size:1.1rem}.match-row{grid-template-columns:70px 1fr 56px 70px 36px}.match-row div:nth-child(3){font-size:.8rem}}
/* v6 Anpassungen */
.topline{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.userbadge{background:#0b2e13;color:#fff;border:1px solid #ffe100;border-radius:999px;padding:6px 10px;font-size:.9rem;white-space:nowrap}.kpi-row.compact{max-width:1100px;margin:10px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.kpi-row.compact .kpi{background:#061b0b;color:#fff;border:1px solid #ffe100;border-radius:10px;padding:8px 11px;box-shadow:none}.kpi-row.compact .kpi div{font-size:.74rem;color:#ffe100}.kpi-row.compact .kpi strong{font-size:1.25rem}.kpi-row.compact .kpi span{font-size:.72rem;color:#ddd}.match-row{grid-template-columns:96px 1fr 110px 95px 64px}.match-row>div:last-child{text-align:right;color:#ffe100;font-weight:800}.next-card p{margin:.45rem 0}
@media(max-width:760px){.topline{align-items:center}.userbadge{font-size:.82rem;padding:5px 8px}.kpi-row.compact{grid-template-columns:repeat(3,1fr);gap:5px;margin:8px 0 0}.kpi-row.compact .kpi{padding:6px 5px;border-radius:8px}.kpi-row.compact .kpi div{font-size:.62rem}.kpi-row.compact .kpi strong{font-size:.93rem}.kpi-row.compact .kpi span{display:none}.match-row{grid-template-columns:60px 1fr 46px 60px 42px;font-size:.8rem}}

.warn{background:#3b2500;border:1px solid #d6a000;color:#ffe08a;padding:8px;border-radius:8px;}
.tabletabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.tabletabs a,.buttonlink{display:inline-block;background:#f5c400;color:#111;text-decoration:none;border-radius:8px;padding:8px 12px;font-weight:700;border:1px solid #7a6500}
.tabletabs a.active{background:#0b2e13;color:#fff;border-color:#f5c400}
.scrolltable{overflow:auto;max-width:100%;border:1px solid #333;border-radius:8px}
.dbtable{min-width:900px;font-size:.9rem}
.dbtable th{position:sticky;top:0;background:#171717;color:#f5c400;z-index:1}
.dbtable td{vertical-align:top;max-width:360px;word-break:break-word}
.dbschema{margin:10px 0 14px 0}
.dbschema pre{white-space:pre-wrap;background:#111;border:1px solid #333;border-radius:8px;padding:10px;overflow:auto}
.smallform select{width:auto;min-width:120px}
/* v15: aufgeräumtes Menü und Kassenfelder */
nav.mainnav .navdrop{position:relative;display:inline-block;margin:3px 0}
nav.mainnav .navdrop>button{background:#ffe100;color:#111;font-weight:900;padding:7px 12px;border-radius:9px;border:1px solid #ffd000;box-shadow:0 2px 0 #8a7600;margin:0}
.navdrop-content{display:none;position:absolute;z-index:20;min-width:190px;background:#111;border:1px solid #ffe100;border-radius:10px;padding:6px;box-shadow:0 8px 25px #000}
.navdrop:hover .navdrop-content,.navdrop:focus-within .navdrop-content{display:block}
.navdrop-content a{display:block;margin:4px 0;box-shadow:none;border-radius:7px;padding:8px 10px}
.userbadge a{color:#ffe100;text-decoration:none;font-weight:800}.userbadge a:hover{text-decoration:underline}
.audit-ok{background:#113819;border:1px solid #3fb35a;color:#e9ffee;padding:10px;border-radius:8px;margin:8px 0}.audit-bad{background:#4a1111;border:1px solid #d66;color:#fff1f1;padding:10px;border-radius:8px;margin:8px 0}.audit-warn{background:#3b2500;border:1px solid #d6a000;color:#ffe08a;padding:10px;border-radius:8px;margin:8px 0}.admin-section{border:1px solid #444;border-radius:12px;margin:12px 0;background:#111}.admin-section>summary{cursor:pointer;padding:12px 14px;color:#ffe100;font-weight:900;font-size:1.1rem}.admin-section>.section-body{padding:0 14px 14px}.admin-section[open]>summary{border-bottom:1px solid #333}
@media(max-width:760px){.navdrop-content{position:static;min-width:0}.navdrop:hover .navdrop-content{display:none}.navdrop:focus-within .navdrop-content{display:block}nav.mainnav .navdrop>button{padding:6px 9px;font-size:.88rem}}
.attendance-actions{margin:8px 0 10px;padding:8px;background:#191919;border:1px solid #333;border-radius:8px}
.booking-actions{margin:10px 0 14px;padding:8px 10px;background:#111;border-left:4px solid #ffe100;border-radius:8px}
.booking-actions form{display:inline-block}

/* v19 Chat und Auto-Aktualisierung */
.row-actions{text-align:right;line-height:1.25}.chatlink{font-size:.78rem;font-weight:800;color:#ffe100;text-decoration:none}.chatlink:hover{text-decoration:underline}.chat-card{max-width:850px}.chat-list{margin:14px 0;display:flex;flex-direction:column;gap:12px}.chat-msg{display:flex;flex-direction:column;max-width:82%}.chat-other{align-self:flex-start}.chat-own{align-self:flex-end;align-items:flex-end}.chat-meta{font-size:.82rem;color:#d8d8d8;margin:0 8px 3px}.chat-bubble{border:1px solid #d6b800;border-radius:14px;padding:10px 12px;box-shadow:0 2px 8px rgba(0,0,0,.28)}.chat-other .chat-bubble{background:#1b1b1b;border-top-left-radius:4px}.chat-own .chat-bubble{background:#0b2e13;border-top-right-radius:4px}.chat-text{white-space:normal;line-height:1.4;font-size:1rem}.chat-time{font-size:.75rem;color:#cfcfcf;text-align:right;margin-top:6px}.chat-delete{margin:3px 8px 0}.chat-form textarea{width:100%;max-width:760px;background:#111;color:#fff;border:1px solid #777;border-radius:10px;padding:12px;font-size:1.15rem;min-height:80px;line-height:1.35}.details .btn.small{margin-bottom:4px}
@media(max-width:760px){.chatlink{font-size:.7rem}.row-actions{font-size:.78rem}.chat-msg{max-width:92%}.chat-bubble{padding:9px 10px}.chat-form textarea{font-size:1.15rem;min-height:90px}}

.chat-card{background:#111}
.chat-msg{margin:14px 0}
.chat-own .chat-bubble{background:#0b5a22;border:2px solid #f6c800;box-shadow:0 4px 14px rgba(0,0,0,.6)}
.chat-other .chat-bubble{background:#3b3b3b;border:2px solid #777;box-shadow:0 4px 14px rgba(0,0,0,.6)}
.chat-bubble{padding:12px 16px;border-radius:16px;max-width:85%}
.chat-own{text-align:right}
.chat-form textarea{font-size:22px!important;min-height:120px!important}

.chat-meta{font-size:1.05rem;font-weight:700;}
.chat-deleted{font-size:.8rem;opacity:.7;font-style:italic;padding:2px 4px;margin:4px 0;}
.chat-deleted .chat-time{display:inline;margin-left:8px;}
.chat-bubble{box-shadow:0 3px 10px rgba(0,0,0,.5);}


/* ===== Tippbereich oben v19.5a ===== */
.tip-panel-top{
    background:#111a11;
    border:1px solid rgba(246,200,0,.45);
    border-radius:10px;
    padding:10px 12px;
    margin:12px 0 10px 0;
}
.tips-overview-top{
    background:#0b2e13;
    border:1px solid rgba(246,200,0,.35);
    border-radius:10px;
    padding:10px 12px;
    margin:10px 0 16px 0;
}
.own-tip-box{
    display:inline-block;
    background:#0b5a22;
    border:2px solid #f6c800;
    border-radius:10px;
    padding:8px 12px;
    margin:4px 0;
    font-size:1.08rem;
}
.tip-form-top{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
}
@media(max-width:700px){
    .tip-panel-top,.tips-overview-top{
        padding:9px;
        margin-left:-2px;
        margin-right:-2px;
    }
    .tip-form-top .tipnum{
        max-width:64px;
    }
}
/* ===== Ende Tippbereich oben v19.5a ===== */


.chatbtn{display:inline-block;margin:8px 0 12px 0;font-weight:bold;}


/* ===== Chat-Optik v19.7 ===== */
.other .chat-bubble,
.other .chat-text,
.other .message-bubble {
    background: #2f3f38 !important;
    color: #ffffff !important;
    border-color: #7fa88c !important;
    box-shadow: 0 4px 14px rgba(0,0,0,.55) !important;
}
.chat-form,
.chat-input,
form.chat-form {
    background: #071f0e !important;
    border: 2px solid #f6c800 !important;
    border-radius: 14px !important;
    padding: 12px !important;
    margin-top: 18px !important;
    box-shadow: 0 4px 14px rgba(0,0,0,.45) !important;
}
.chat-form textarea,
textarea[name="message"],
textarea[name="text"],
#message,
#chat_message,
.chat-input textarea {
    background: #ffffff !important;
    color: #111111 !important;
    border: 2px solid #f6c800 !important;
    border-radius: 10px !important;
    font-size: 22px !important;
    min-height: 120px !important;
}
/* ===== Ende Chat-Optik v19.7 ===== */


code{background:#111;border:1px solid #444;border-radius:5px;padding:2px 5px;color:#ffe000;}


/* ===== Spiele-Ansichten v20.3 ===== */
.games-nav p{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 0 0;}
.games-nav .btn.small{display:inline-block;text-decoration:none;}
/* ===== Ende Spiele-Ansichten v20.3 ===== */



/* v20.6 – Spiele-Menü und Kalender */
.games-menu-buttons{
  display:flex;
  flex-direction:column;
  gap:10px;
  max-width:430px;
  margin:12px 0 18px;
}
.games-menu-buttons .games-main-btn{
  display:block;
  padding:15px 20px;
  font-size:1.18rem;
  text-align:center;
}
.match-calendar{
  margin:18px 0 22px;
  max-width:920px;
}
.calendar-head{
  display:grid;
  grid-template-columns:52px 1fr 52px;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
}
.calendar-head h3{
  margin:0;
  text-align:center;
}
.calendar-arrow{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:44px;
  border-radius:9px;
  background:#ffe100;
  color:#111;
  text-decoration:none;
  font-size:2rem;
  font-weight:900;
}
.calendar-legend{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin:8px 0 10px;
  font-size:.9rem;
}
.calendar-legend span{display:inline-flex;align-items:center;gap:6px}
.legend-box{display:inline-block;width:18px;height:18px;border:1px solid #777;border-radius:3px}
.legend-box.future{background:#ffe100}
.legend-box.current{background:#31a24c}
.legend-box.past{background:#e6e6e6}
.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:5px;
}
.calendar-weekdays div{
  text-align:center;
  color:#ffe100;
  font-weight:900;
  padding:5px 0;
}
.calendar-day{
  position:relative;
  aspect-ratio:1/1;
  min-width:0;
  overflow:auto;
  background:#202020;
  border:1px solid #555;
  border-radius:7px;
  padding:24px 5px 5px;
}
.calendar-day.empty{
  background:transparent;
  border-color:transparent;
}
.calendar-day.future{background:#ffe100;color:#111;border-color:#c9ad00}
.calendar-day.current{background:#31a24c;color:#061b0b;border-color:#8df0a1}
.calendar-day.past{background:#e6e6e6;color:#111;border-color:#bbb}
.calendar-number{
  position:absolute;
  top:4px;
  left:6px;
  font-weight:900;
}
.calendar-day a{
  display:block;
  color:inherit;
  font-size:.72rem;
  line-height:1.18;
  text-decoration:none;
  font-weight:800;
  overflow-wrap:anywhere;
  margin-bottom:4px;
}
.calendar-day a:hover{text-decoration:underline}
@media(max-width:700px){
  .games-menu-buttons{max-width:none}
  .games-menu-buttons .games-main-btn{font-size:1.08rem;padding:14px}
  .calendar-grid{gap:3px}
  .calendar-day{padding:20px 3px 3px;border-radius:5px}
  .calendar-day a{font-size:.58rem}
  .calendar-number{top:2px;left:4px;font-size:.8rem}
  .calendar-weekdays div{font-size:.78rem}
}


/* v20.7 – Kalenderdruck */
.calendar-print-form{
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  gap:12px;
  margin:14px 0 22px;
  padding:14px;
  border:1px solid #555;
  border-radius:9px;
  background:#202020;
}
.calendar-print-form strong{
  width:100%;
  font-size:1.08rem;
}
.calendar-print-form label{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-weight:700;
}
.calendar-print-form select,
.calendar-print-form input{
  min-height:42px;
  padding:8px 10px;
  font-size:1rem;
}
.calendar-print-form .btn{
  min-height:44px;
  padding:10px 18px;
}


/* v20.8 – aktuelles Spiel oben und Ergebnisse im Kalender */
.current-match-top{border:2px solid #31a24c}
.current-match-top-grid{display:grid;grid-template-columns:150px 1fr auto;gap:14px;align-items:center}
.current-match-pairing{font-size:1.28rem;font-weight:900;text-align:center}
.calendar-day strong{font-size:.78rem}
.calendar-pdf-note{margin-top:-12px;margin-bottom:20px}
@media(max-width:700px){
 .current-match-top-grid{grid-template-columns:1fr;text-align:center}
 .current-match-pairing{font-size:1.12rem}
 .current-match-top-grid .btn{display:block}
}


/* v21.0 – eigene Kalenderseite */
.calendar-page-card{
  max-width:1000px;
  margin-left:auto;
  margin-right:auto;
}
.calendar-note{
  margin-top:14px;
  color:#ccc;
  font-size:.95rem;
}


/* v21.1 Handy-Kalender */
@media(max-width:700px){
  .calendar-day a{
    font-size:0.48rem !important;
    line-height:1.05;
  }
}


/* v21.3 – eigener Kalenderdialog in der Web-App */
.calendar-dialog[hidden]{
  display:none;
}
.calendar-dialog{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(0,0,0,.72);
}
.calendar-dialog-box{
  width:min(92vw,420px);
  background:#1f1f1f;
  color:#fff;
  border:2px solid #f2d000;
  border-radius:14px;
  padding:20px;
  box-shadow:0 12px 35px rgba(0,0,0,.45);
}
.calendar-dialog-box h3{
  margin-top:0;
  color:#f2d000;
}
#calendar-dialog-text{
  margin:14px 0 20px;
  font-size:1.05rem;
  line-height:1.4;
}
.calendar-dialog-actions{
  display:flex;
  gap:12px;
}
.calendar-dialog-actions .btn{
  flex:1;
  min-height:46px;
}
.calendar-dialog-actions .secondary{
  background:#555;
  color:#fff;
}


/* v21.5 – freie Kalendertermine */
.legend-box.event-europa{background:#8f6bd1}
.legend-box.event-dfb{background:#4ca3d9}
.legend-box.event-feier{background:#d96fa3}
.legend-box.event-ausflug{background:#54b978}
.legend-box.event-sonstiges{background:#888}
.calendar-event{
  position:relative;
  margin-top:3px;
  padding:3px 20px 3px 5px;
  border-left:5px solid #888;
  border-radius:4px;
  background:#292929;
  color:#fff;
  font-size:.72rem;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.calendar-event.event-europa{border-left-color:#8f6bd1}
.calendar-event.event-dfb{border-left-color:#4ca3d9}
.calendar-event.event-feier{border-left-color:#d96fa3}
.calendar-event.event-ausflug{border-left-color:#54b978}
.calendar-event.event-sonstiges{border-left-color:#888}
.calendar-event-label{font-weight:800}
.calendar-event-delete{
  position:absolute;
  top:0;
  right:0;
  margin:0;
}
.calendar-event-delete button{
  min-width:20px;
  padding:0 4px;
  margin:0;
  border-radius:0 4px 0 4px;
  background:#8c1111;
  color:#fff;
  line-height:20px;
}
.calendar-admin{
  margin:18px 0;
  padding:14px;
  border:1px solid #555;
  border-radius:10px;
  background:#101010;
}
.calendar-event-form{
  display:grid;
  grid-template-columns:170px 190px minmax(240px,1fr) auto;
  gap:10px;
  align-items:end;
}
.calendar-event-form label{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.calendar-event-form input,
.calendar-event-form select{
  width:100%;
  margin:0;
}
.calendar-event-form .btn{
  min-height:42px;
  white-space:nowrap;
}
@media(max-width:760px){
  .calendar-event{
    font-size:.48rem;
    padding:2px 15px 2px 3px;
    border-left-width:3px;
  }
  .calendar-event-label{display:none}
  .calendar-event-delete button{
    min-width:15px;
    padding:0 2px;
    line-height:15px;
    font-size:.65rem;
  }
  .calendar-event-form{
    grid-template-columns:1fr;
  }
}

/* v21.6 – Wettbewerbe und hervorgehobene Pokaltage */
.calendar-day.event-day-europa{background-image:linear-gradient(rgba(143,107,209,.18),rgba(143,107,209,.18))}
.calendar-day.event-day-dfb{background-image:linear-gradient(rgba(76,163,217,.18),rgba(76,163,217,.18))}
.calendar-day.future.event-day-europa,.calendar-day.future.event-day-dfb,
.calendar-day.past.event-day-europa,.calendar-day.past.event-day-dfb{background-blend-mode:screen}
.calendar-match{display:block;border-left:5px solid #f0c400;padding-left:4px}
.calendar-match.competition-bundesliga{border-left-color:#f0c400}
.calendar-match.competition-dfb{border-left-color:#4ca3d9}
.calendar-match.competition-europa{border-left-color:#8f6bd1}
.calendar-match.competition-freundschaft{border-left-color:#999}
.calendar-match.competition-laenderspiel{border-left-color:#e26d3f}
.calendar-match.competition-supercup{border-left-color:#d9a441}
.legend-line{display:inline-block;width:18px;height:5px;border-radius:3px;margin-right:4px;vertical-align:middle;background:#777}
.legend-line.competition-bundesliga{background:#f0c400}
.legend-line.competition-dfb{background:#4ca3d9}
.legend-line.competition-europa{background:#8f6bd1}
.legend-line.competition-freundschaft{background:#999}
.legend-line.competition-laenderspiel{background:#e26d3f}
.legend-line.competition-supercup{background:#d9a441}
.match-competition{display:inline-block;margin:0 0 6px;padding:3px 8px;border-left:5px solid #777;background:#222;font-weight:800;font-size:.85rem}
.match-competition.competition-bundesliga{border-color:#f0c400}
.match-competition.competition-dfb{border-color:#4ca3d9}
.match-competition.competition-europa{border-color:#8f6bd1}
.match-competition.competition-freundschaft{border-color:#999}
.match-competition.competition-laenderspiel{border-color:#e26d3f}
.match-competition.competition-supercup{border-color:#d9a441}


/* v21.7 – Wettbewerbsfeld in den Spielformularen deutlich sichtbar */
.match-admin-form{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:12px;
  align-items:end;
  margin-top:10px;
}
.match-admin-form label{
  display:flex;
  flex-direction:column;
  gap:5px;
  font-weight:700;
  color:#f3f3f3;
}
.match-admin-form input,
.match-admin-form select{
  width:100%;
  margin:0;
}
.match-admin-form .time-selects{
  display:flex;
  align-items:center;
  gap:5px;
}
.match-admin-form .time-selects select{
  flex:1;
}
.match-admin-form .competition-field{
  padding:8px;
  border:2px solid #ffe100;
  border-radius:9px;
  background:#2a2500;
}
.match-admin-form .competition-field strong{
  color:#ffe100;
  font-size:1.05rem;
}
.match-create-button{
  min-height:44px;
}
.match-edit-form{
  margin:14px 0;
  padding:12px;
  border:1px solid #555;
  border-radius:10px;
  background:#141414;
}
@media(max-width:760px){
  .match-admin-form{
    grid-template-columns:1fr;
  }
}

/* v21.8 – Druckoptionen */
.calendar-print-form{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.calendar-print-form label{display:flex;flex-direction:column;gap:4px}
@media(max-width:760px){.calendar-print-form{display:grid;grid-template-columns:1fr}}

@media(max-width:760px){.kpi-row.compact{grid-template-columns:repeat(2,1fr)}}


/* v24.1 – Heim- und Auswärtsteam gemeinsam in einer Zeile */
.match-admin-form .team-pair-row{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  padding:8px;
  border:1px solid #799d00;
  border-radius:9px;
  background:#111;
}
.match-admin-form .team-pair-row label{
  min-width:0;
}
.match-admin-form .team-pair-row input{
  width:100%;
}
@media(max-width:900px){
  .match-admin-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:600px){
  .match-admin-form{
    grid-template-columns:1fr;
  }
  .match-admin-form .team-pair-row{
    grid-template-columns:1fr;
    gap:10px;
  }
}


/* v24.2 – Entnahme aus der Feierkasse */
.celebration-withdraw-form{
  display:grid;
  grid-template-columns:150px minmax(260px,1fr) auto;
  gap:10px;
  align-items:end;
  max-width:900px;
  padding:10px;
  border:1px solid #d6a000;
  border-radius:9px;
  background:#1b1505;
}
.celebration-withdraw-form label{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-weight:700;
}
.celebration-withdraw-form input{
  width:100%;
  margin:0;
}
.celebration-withdraw-form button{
  min-height:40px;
  white-space:nowrap;
}
@media(max-width:760px){
  .celebration-withdraw-form{
    grid-template-columns:1fr;
  }
}


/* v24.3 – Einlagen und Entnahmen der Feierkasse */
#celebration-cash-form{
  grid-template-columns:190px 150px minmax(260px,1fr) auto;
}
@media(max-width:900px){
  #celebration-cash-form{
    grid-template-columns:1fr 1fr;
  }
  #celebration-cash-form .celebration-reason{
    grid-column:1 / -1;
  }
}
@media(max-width:600px){
  #celebration-cash-form{
    grid-template-columns:1fr;
  }
  #celebration-cash-form .celebration-reason{
    grid-column:auto;
  }
}
