*{box-sizing:border-box}body{margin:0;background:#f3f5f7;color:#17202a;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}header{background:#101820;color:white;position:sticky;top:0;z-index:10}.wrap{max-width:1180px;margin:auto;padding:0 18px}.brand{font-weight:800;color:white;text-decoration:none;font-size:20px}header .wrap{height:64px;display:flex;align-items:center;justify-content:space-between}nav{display:flex;gap:18px}nav a{color:#dce5eb;text-decoration:none}.hero{margin:28px 0;padding:32px;border-radius:20px;background:linear-gradient(135deg,#15212b,#28495d);color:white}.hero h1{font-size:42px;margin:6px 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;opacity:.75}.tabs{display:flex;gap:8px;overflow:auto;margin:0 0 18px}.tabs a{background:white;padding:10px 14px;border-radius:999px;text-decoration:none;color:#17202a;white-space:nowrap}.card{background:white;border-radius:16px;padding:20px;margin:18px 0;box-shadow:0 4px 18px rgba(0,0,0,.06)}.compact{padding:16px}.muted{color:#697681}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #e7ebee}th{font-size:12px;text-transform:uppercase;color:#68747d}.round-grid{display:grid;grid-template-columns:repeat(5,minmax(205px,1fr));gap:14px;margin-top:20px;overflow-x:auto;padding:2px 2px 6px}.round{background:#f7f9fa;border:1px solid #e7ebee;border-radius:14px;padding:12px;min-width:205px}.round h3{margin:2px 2px 12px;font-size:14px;display:flex;align-items:center;justify-content:space-between}.match{background:white;border:1px solid #e1e6ea;border-radius:12px;padding:11px 10px 9px;margin:9px 0;display:block;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.match-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;align-items:center;min-height:42px}.match-team{font-weight:700;line-height:1.25;overflow-wrap:anywhere}.match-team-a{text-align:left}.match-team-b{text-align:right}.match-vs{font-size:11px;color:#9aa4ab;text-transform:uppercase}.match-results{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.match-result{background:#f5f7f8;border-radius:8px;padding:6px 5px;text-align:center}.match-result-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#697681;margin-bottom:2px}.match-result strong{display:block;font-size:16px;line-height:1.15}.match-lanes{display:block;color:#75818a;text-align:center;margin-top:8px;font-size:11px}.match.match-highlight{background:#eef6fc;border-color:#8dbfe5;box-shadow:0 0 0 2px rgba(22,119,200,.10);transform:translateY(-1px)}.notice{padding:12px 14px;background:#e7f6ea;border:1px solid #b9dfc0;border-radius:10px;margin-bottom:14px}.button{border:0;border-radius:9px;background:#1677c8;color:white;padding:9px 14px;cursor:pointer}.button.danger{background:#a94442}.match-title{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.result-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.result-form label{display:flex;gap:5px;align-items:center}.result-form input{width:58px;padding:8px;border:1px solid #ccd4da;border-radius:7px}footer{color:#74808a;padding:25px 0}@media(max-width:900px){.round-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:32px}}@media(max-width:600px){.round-grid{grid-template-columns:1fr}.match-title{display:block}.result-form{display:block}.result-form label{margin:8px 0}}

.login-card{max-width:430px;margin:70px auto;background:white;border-radius:18px;padding:30px;box-shadow:0 8px 30px rgba(0,0,0,.08)}.login-card h1{margin:5px 0 8px}.login-card form{margin-top:24px}.login-card label{display:block;font-weight:700;margin-bottom:7px}.login-card input[type=password]{width:100%;padding:12px;border:1px solid #ccd4da;border-radius:9px;font-size:16px;margin-bottom:14px}.error{background:#fdeaea;border:1px solid #efb7b7;color:#8b2424;padding:10px 12px;border-radius:9px;margin:15px 0}.back{margin:22px 0 0}.back a{color:#1677c8;text-decoration:none}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.button.secondary{background:#6c757d;text-decoration:none;display:inline-block}

.print-controls select{min-width:360px;padding:10px;border:1px solid #ccd4da;border-radius:8px;font-size:15px;margin:6px 10px 10px 0}
.print-sheet{background:#fff;padding:30px;border-radius:16px;box-shadow:0 4px 18px rgba(0,0,0,.06);margin:18px 0 30px}
.print-title{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #17202a;padding-bottom:18px;margin-bottom:20px}
.print-title h1{margin:3px 0;font-size:30px}.print-title h2{margin:5px 0;color:#52606b;font-size:20px}.print-logo{font-weight:800;font-size:18px}
.print-table th,.print-table td{border:1px solid #b9c2c8}.print-table th{background:#eef2f4}.print-table td{height:105px;vertical-align:middle}
.print-table .center{text-align:center}.score-box{text-align:center;min-width:150px}.score-box>div:first-child{font-size:14px}.handwrite{font-size:25px;letter-spacing:2px;margin-top:18px}.versus{font-size:12px;color:#74808a}.note-box{width:130px}
.legend{margin-top:18px;padding:12px;border:1px solid #ccd4da;border-radius:8px;display:flex;justify-content:space-between;gap:15px}
@media print{
  @page{size:A4 landscape;margin:12mm}
  body{background:#fff;font-size:12px}
  header,footer,.no-print{display:none!important}
  main.wrap{max-width:none;padding:0;margin:0}
  .print-sheet{box-shadow:none;border-radius:0;padding:0;margin:0}
  .print-title h1{font-size:25px}.print-title h2{font-size:16px}
  .print-table td{height:100px}
  .print-table{font-size:12px}
  .legend{font-size:11px}
}

.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));gap:14px;margin:18px 0}
.settings-grid label,.lane-setting label{font-weight:700}.settings-grid span{display:block;margin-bottom:6px}
.settings-grid input,.lane-setting input{width:100%;padding:10px;border:1px solid #ccd4da;border-radius:8px;font-size:15px}
.lane-setting{max-width:360px;margin:8px 0 18px}.lane-setting input{width:120px;margin-top:6px}
@media(max-width:700px){.settings-grid{grid-template-columns:1fr}}

/* Verwaltung: Spieltage klar gruppieren */
.admin-matchday{background:#fff;border:1px solid #d7dce2;border-radius:12px;margin:18px 0;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.admin-matchday-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f1f3f5;border-bottom:3px solid #222;gap:20px}
.admin-matchday-kicker{display:block;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:#666;font-weight:700;margin-bottom:3px}
.admin-matchday-header h2{margin:0;font-size:1.45rem}
.admin-matchday-date{font-size:1.1rem;font-weight:700;white-space:nowrap}
.admin-matchday-body{padding:0 20px}
.admin-result-row{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid #dfe3e7}
.admin-result-row:last-child{border-bottom:0}
.admin-result-match strong{display:block;font-size:1.05rem}
.admin-result-match small{display:block;color:#6b7280;margin-top:5px}
.admin-result-row .result-form{margin:0}
@media(max-width:900px){.admin-result-row{grid-template-columns:1fr}.admin-result-row .result-form{width:100%}.admin-matchday-header{align-items:flex-start;flex-direction:column;gap:4px}}
@media print{.admin-matchday{break-inside:avoid}.admin-matchday-header{background:#eee;box-shadow:none}}

.season-planner h3{margin-top:24px}.season-planner hr{border:0;border-top:1px solid #ddd;margin:24px 0}.draft-groups{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:16px 0}.draft-groups>div{border:1px solid #d8d8d8;border-radius:10px;padding:14px;background:#fafafa}.draft-groups h4{margin-top:0}.draft-groups ol{margin-bottom:0;padding-left:24px}.draft-groups small{color:#777}@media(max-width:700px){.draft-groups{grid-template-columns:1fr}}

.draft-groups{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.draft-groups>div{border:1px solid #d8dee8;border-radius:10px;padding:16px;background:#f8fafc}
.draft-groups h4{margin-top:0}
.draft-groups label{display:grid;grid-template-columns:35px 1fr;gap:8px;align-items:center;margin:7px 0}
@media(max-width:800px){.draft-groups{grid-template-columns:1fr}}


/* Liga: Mannschaft anklicken und alle zugehörigen Paarungen hervorheben */
.team-row{cursor:pointer;transition:background .15s ease,box-shadow .15s ease}
.team-row:focus-visible{outline:2px solid #1677c8;outline-offset:-2px}
.team-row.team-selected{background:#eef6fc;box-shadow:inset 4px 0 0 #1677c8}
@media(max-width:1180px){.round-grid{grid-template-columns:repeat(5,minmax(205px,1fr));overflow-x:auto}}
@media(max-width:900px){.round-grid{grid-template-columns:repeat(2,minmax(205px,1fr));overflow-x:visible}}
@media(max-width:600px){.round-grid{grid-template-columns:1fr}.round{min-width:0}}

/* v13.3: Vereinsnamen nur an den definierten Stellen umbrechen */
.match-team,
.team-row td,
.standings-team {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

/* v13.4: ein Speichern-Button pro Spieltag */
.admin-matchday-save{
  display:flex;
  justify-content:flex-end;
  padding:12px 0 2px;
  margin-top:4px;
  border-top:1px solid #e7ebee;
}
.matchday-result-form .result-form{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  align-items:center;
}
.matchday-result-form .result-form label{
  white-space:nowrap;
}
@media(max-width:700px){
  .admin-matchday-save{justify-content:stretch}
  .admin-matchday-save .button{width:100%}
}

/* v13.7: Datum direkt am Spieltag in der Liga */
.round h3 .round-date{font-size:11px;font-weight:500;color:#75818a;white-space:nowrap;margin-left:8px}


/* v13.8.3 – Krefeld-Farbsystem ohne Vereinslogo */
:root{--bc-dark:#171615;--bc-dark-2:#242321;--bc-gold:#f2b400;--bc-gold-dark:#b87900;--bc-cream:#f4efe4;--bc-line:#ded8cd}
body{background:#f5f3ef;color:#1b1b1d}
header{background:var(--bc-dark);border-bottom:2px solid rgba(242,180,0,.55)}
header .wrap{height:66px}
.brand{font-weight:800;color:#fff;text-decoration:none;font-size:18px;display:flex;align-items:center;gap:10px;min-width:0}
.brand span{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.brand small{font-size:11px;color:#f2b400;font-weight:800}
nav a{color:#eee8dc}
nav a:hover{color:#f2b400}
.hero{background:linear-gradient(135deg,var(--bc-dark),#2a2926);border:1px solid #3b3934;min-height:148px;padding:25px 30px}
.hero h1{color:var(--bc-gold);margin:5px 0;font-size:40px}
.hero .eyebrow{color:#e9e1d1;opacity:.85}
.tabs a{border-color:#ded8cd}
.tabs a:hover{border-color:#d89e00;color:#8f6100}
.card{border-color:#e2ddd4}
.round{background:#faf8f3;border-color:#ddd7cc}
.match{border-color:#ddd7cc}
.match-result{background:#f3eee3}
.match.match-highlight{background:#fff8df;border-color:#dca800;box-shadow:0 0 0 2px rgba(242,180,0,.14)}
.team-row.team-selected{background:#fff8df;box-shadow:inset 4px 0 0 #dca800}
.button{background:var(--bc-gold-dark)}
.button:hover{background:#9e6700}
.notice{background:#fff8df;border-color:#e6c86f}
.admin-matchday-header{background:#f1ede4;border-bottom-color:#171615}
.print-sheet{border:1px solid #e0dbd1}
.print-title{border-bottom:3px solid var(--bc-dark)}
.print-title h1{color:#1b1b1d}
.print-title h2{color:#6b665d}
.print-table th{background:#eee9df}
.print-table th,.print-table td{border-color:#bdb6aa}
.legend{border-color:#d9d1c3;background:#faf7f0}
@media(max-width:700px){
  .brand{font-size:16px}
  .hero{padding:20px}
  .hero h1{font-size:32px}
}
@media print{
  body{background:#fff}
  .print-sheet{border:0}
  .print-table th{background:#eee9df}
}

/* v13.8.4 – Vereinslogo ausschließlich an den markierten Positionen */
.hero-content{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.hero-content > div:first-child{min-width:0}
.hero-logo{
  flex:0 0 62px;
  width:62px;
  height:62px;
  margin-right:77px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:10px;
}
.hero-logo img{
  display:block;
  width:62px;
  height:62px;
  object-fit:contain;
}
.print-logo{
  flex:0 0 76px;
  width:76px;
  height:76px;
  margin-right:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:10px;
}
.print-logo img{
  display:block;
  width:76px;
  height:76px;
  object-fit:contain;
}
@media(max-width:700px){
  .hero-content{gap:16px}
  .hero-logo,.hero-logo img{width:64px;height:64px}
  .hero-logo{flex-basis:64px;margin-right:0}
}
@media print{
  .print-logo,.print-logo img{width:68px;height:68px}
  .print-logo{flex-basis:68px}
}
/* Subtle competition identity colors */
.group-rot{border-top:4px solid #d98c8c;background:linear-gradient(180deg,#fffafa 0,#fff 180px)}
.group-blau{border-top:4px solid #8bb8e0;background:linear-gradient(180deg,#f7fbff 0,#fff 180px)}
.group-cl{border-top:4px solid #e9a35a;background:linear-gradient(180deg,#fffaf4 0,#fff 180px)}
.group-cup{border-top:4px solid #8ebd91;background:linear-gradient(180deg,#f7fcf7 0,#fff 180px)}
.subround-heading{font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin:14px 2px 4px;padding:5px 7px;border-radius:6px;background:#edf0f2;color:#45515a}
.print-subround td{height:auto!important;background:#edf0f2;font-weight:800;text-transform:uppercase;font-size:12px;padding:6px 10px}


/* v13.10: vertikale Spieltagsübersicht und deutlich erkennbare, dezente Wettbewerbsfarben */
#rot.group-rot, .card.group-rot {
  background: #fff8f8 !important;
  border: 1px solid #e8caca;
  border-top: 5px solid #c96b6b;
  box-shadow: 0 4px 18px rgba(150, 40, 40, .07);
}
#blau.group-blau, .card.group-blau {
  background: #f6faff !important;
  border: 1px solid #c7d9ed;
  border-top: 5px solid #5d94ca;
  box-shadow: 0 4px 18px rgba(35, 95, 155, .07);
}
#cl.group-cl, .card.group-cl {
  background: #fff9f0 !important;
  border: 1px solid #efd5b2;
  border-top: 5px solid #df963d;
  box-shadow: 0 4px 18px rgba(175, 105, 20, .07);
}
#cup.group-cup, .card.group-cup {
  background: #f5fbf5 !important;
  border: 1px solid #c9e0c9;
  border-top: 5px solid #6ca66e;
  box-shadow: 0 4px 18px rgba(45, 120, 55, .07);
}
#rot.group-rot > h2, .card.group-rot > h2 { color: #9c3434; border-bottom: 1px solid #e8caca; padding-bottom: 10px; }
#blau.group-blau > h2, .card.group-blau > h2 { color: #285f91; border-bottom: 1px solid #c7d9ed; padding-bottom: 10px; }
#cl.group-cl > h2, .card.group-cl > h2 { color: #a65c10; border-bottom: 1px solid #efd5b2; padding-bottom: 10px; }
#cup.group-cup > h2, .card.group-cup > h2 { color: #2f7135; border-bottom: 1px solid #c9e0c9; padding-bottom: 10px; }
/* Spieltage nacheinander von oben nach unten, Runden innerhalb jedes Spieltags ebenfalls vertikal */
.round-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 18px; overflow: visible; }
.round { min-width: 0 !important; width: 100%; background: rgba(255,255,255,.78); padding: 15px; }
.round > h3 { font-size: 17px; justify-content: flex-start; gap: 12px; padding: 0 0 10px; margin: 0 0 10px; border-bottom: 1px solid #dfe4e8; }
.round-date { font-size: 14px; color: #66737e; font-weight: 600; }
.subround-heading { margin-top: 16px; padding: 8px 10px; background: #e9eef2; color: #344653; border-left: 3px solid #9baab5; font-size: 13px; }
@media(max-width:600px) { .round-grid { grid-template-columns: minmax(0,1fr) !important; } .round { padding: 11px; } .round > h3 { flex-wrap: wrap; } }

/* v13.11: kompakte Spieltagskarten mit getrennten Runden */
.round-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px;overflow:visible!important}
.round{min-width:0!important;width:100%;padding:14px}
.subround-group{margin:10px 0 14px;padding:0 0 12px;border-bottom:1px solid #e5ded2}
.subround-group:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.subround-fixtures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
.subround-fixtures .match{margin:0;min-width:0;padding:9px}
.subround-heading{margin:0 0 8px!important;border-left:3px solid #9baab5;padding:6px 9px!important;background:#f0eee8!important}
.group-rot .round{border-color:#e6caca}.group-rot .round>h3{border-bottom-color:#e6caca}.group-rot .subround-heading{border-left-color:#c96d6d;background:#fff1f1!important}
.group-blau .round{border-color:#c8d9ea}.group-blau .round>h3{border-bottom-color:#c8d9ea}.group-blau .subround-heading{border-left-color:#5d93c8;background:#eef6ff!important}
.group-cl .round{border-color:#ead4bb}.group-cl .subround-heading{border-left-color:#d98b36;background:#fff4e6!important}
.group-cup .round{border-color:#c9dfca}.group-cup .subround-heading{border-left-color:#5b9a60;background:#eff9ef!important}
.admin-subround{margin:10px 0 16px;padding:10px;border:1px solid #e2e5e8;border-radius:9px;background:#fbfbfa}
.admin-subround h3{margin:0 0 8px;padding:5px 8px;background:#edf0f2;border-left:3px solid #a2adb5;font-size:14px}
.admin-round-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.admin-result-row{min-width:0;border:1px solid #e3e5e7;border-radius:8px;padding:8px;display:flex;flex-direction:column;align-items:stretch;gap:8px}
.admin-result-row .result-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.admin-result-row .result-form input{width:42px;padding:5px}
@media(max-width:700px){.subround-fixtures,.admin-round-grid{grid-template-columns:1fr}}
@media print{
 @page{size:A4 landscape;margin:7mm}
 .print-controls,header,footer,.no-print{display:none!important}
 main.wrap{max-width:none!important;padding:0!important;margin:0!important}
 .print-sheet{padding:0!important;margin:0!important;box-shadow:none!important;border:0!important}
 .print-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:4mm}
 .print-title h1{font-size:17pt!important;margin:0}.print-title h2{font-size:11pt!important;margin:2mm 0}
 .print-logo img{max-height:18mm!important;width:auto!important}
 .print-table{font-size:8.5pt!important;width:100%;border-collapse:collapse}
 .print-table th,.print-table td{padding:2mm 3mm!important;line-height:1.15}
 .print-table td{height:auto!important;vertical-align:middle!important}
 .print-table td:first-child strong{display:inline!important}
 .print-table .versus{display:inline!important;margin:0 2mm}
 .print-subround td{padding:1.5mm 3mm!important;font-size:8pt!important}
 .score-box>div{display:inline-block;margin-right:4mm}
 .handwrite{min-width:22mm}
 .legend{margin-top:3mm;padding:2mm 3mm;font-size:8pt!important}
}
@media print{.print-table td:first-child br{display:none}.print-table td:first-child strong{font-size:8.5pt}.print-table .versus{font-size:7.5pt;color:#555}}

/* v13.12: Spieltage in der Liga-Übersicht klar voneinander abgrenzen */
#rot .round-grid > .round,
#blau .round-grid > .round,
#cl .round-grid > .round,
#cup .round-grid > .round {
  border: 1px solid #d8dce0 !important;
  border-radius: 14px !important;
  margin: 0 0 22px !important;
  padding: 16px 18px 18px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 3px 12px rgba(20,30,40,.09) !important;
  overflow: hidden;
}
#rot .round-grid > .round > h3,
#blau .round-grid > .round > h3,
#cl .round-grid > .round > h3,
#cup .round-grid > .round > h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: -16px -18px 14px !important;
  padding: 13px 18px 12px !important;
  border-bottom: 2px solid #d8dce0 !important;
  font-size: 1.05rem !important;
  font-weight: 800;
  background: #f0f2f4;
}
#rot .round-grid > .round > h3 { background:#fbeeee; border-bottom-color:#c96d6d !important; color:#8d3030; }
#blau .round-grid > .round > h3 { background:#edf5fd; border-bottom-color:#5d93c8 !important; color:#285f91; }
#cl .round-grid > .round > h3 { background:#fff3e4; border-bottom-color:#d98b36 !important; color:#99570f; }
#cup .round-grid > .round > h3 { background:#edf7ed; border-bottom-color:#5b9a60 !important; color:#2f7135; }
#rot .round-grid > .round { border-color:#e6caca !important; }
#blau .round-grid > .round { border-color:#c8d9ea !important; }
#cl .round-grid > .round { border-color:#ead4bb !important; }
#cup .round-grid > .round { border-color:#c9dfca !important; }
#rot .round-grid > .round + .round,
#blau .round-grid > .round + .round,
#cl .round-grid > .round + .round,
#cup .round-grid > .round + .round { margin-top: 24px !important; }
@media(max-width:600px) {
 #rot .round-grid > .round, #blau .round-grid > .round,
 #cl .round-grid > .round, #cup .round-grid > .round { padding:12px !important; margin-bottom:18px !important; }
 #rot .round-grid > .round > h3, #blau .round-grid > .round > h3,
 #cl .round-grid > .round > h3, #cup .round-grid > .round > h3 { margin:-12px -12px 12px !important; padding:11px 12px !important; }
}


/* v13.13: Verwaltung erhält Wettbewerbsfarben; Liga nutzt dieselbe klare Kartenhierarchie */
.admin-matchday { margin: 24px 0 30px !important; border-radius: 14px !important; }
.admin-matchday-header { padding: 16px 20px !important; }
.admin-group-rot { border-color:#e6caca !important; }
.admin-group-rot .admin-matchday-header { background:#fff1f1 !important; border-bottom-color:#c96d6d !important; }
.admin-group-rot .admin-subround { border-color:#e6caca !important; background:#fffafa !important; }
.admin-group-rot .admin-subround h3 { background:#fbeeee !important; border-left-color:#c96d6d !important; color:#8d3030 !important; }
.admin-group-blau { border-color:#c8d9ea !important; }
.admin-group-blau .admin-matchday-header { background:#eef6ff !important; border-bottom-color:#5d93c8 !important; }
.admin-group-blau .admin-subround { border-color:#c8d9ea !important; background:#f9fcff !important; }
.admin-group-blau .admin-subround h3 { background:#edf5fd !important; border-left-color:#5d93c8 !important; color:#285f91 !important; }
.admin-group-cl { border-color:#ead4bb !important; }
.admin-group-cl .admin-matchday-header { background:#fff4e6 !important; border-bottom-color:#d98b36 !important; }
.admin-group-cl .admin-subround { border-color:#ead4bb !important; background:#fffdf9 !important; }
.admin-group-cl .admin-subround h3 { background:#fff3e4 !important; border-left-color:#d98b36 !important; color:#99570f !important; }
.admin-group-cup { border-color:#c9dfca !important; }
.admin-group-cup .admin-matchday-header { background:#eff9ef !important; border-bottom-color:#5b9a60 !important; }
.admin-group-cup .admin-subround { border-color:#c9dfca !important; background:#fbfefb !important; }
.admin-group-cup .admin-subround h3 { background:#edf7ed !important; border-left-color:#5b9a60 !important; color:#2f7135 !important; }
/* Liga: klare Trennung wie in Verwaltung, mit Abstand zwischen Spieltagen und Runden */
#rot .round-grid > .round, #blau .round-grid > .round, #cl .round-grid > .round, #cup .round-grid > .round {
  margin: 0 0 30px !important; padding: 16px 18px 18px !important;
  border-radius: 14px !important; box-shadow: 0 2px 8px rgba(0,0,0,.06) !important;
}
.subround-group { margin: 14px 0 18px !important; padding: 0 0 16px !important; border-bottom: 1px solid #d8dde2 !important; }
.subround-heading { margin-bottom: 10px !important; border-radius: 5px; }
.subround-fixtures { gap: 10px 14px !important; }
/* A4 landscape: compact print layout for one matchday per page */
@media print {
  @page { size: A4 landscape; margin: 7mm; }
  .print-controls, header, footer, .no-print { display:none !important; }
  main.wrap { max-width:none !important; padding:0 !important; margin:0 !important; }
  .print-sheet { padding:0 !important; margin:0 !important; box-shadow:none !important; border:0 !important; }
  .print-title { margin:0 0 3mm !important; padding-bottom:2mm !important; border-bottom-width:1.5pt !important; }
  .print-title h1 { font-size:16pt !important; margin:0 !important; }
  .print-title h2 { font-size:10pt !important; margin:1mm 0 0 !important; }
  .print-logo img { max-height:15mm !important; width:auto !important; }
  .print-table { width:100% !important; font-size:8pt !important; border-collapse:collapse !important; }
  .print-table th, .print-table td { padding:1.2mm 2mm !important; line-height:1.05 !important; }
  .print-table td { height:auto !important; vertical-align:middle !important; }
  .print-table td:first-child br { display:none !important; }
  .print-table td:first-child strong { font-size:8pt !important; display:inline !important; }
  .print-table .versus { display:inline !important; margin:0 1mm !important; font-size:7pt !important; }
  .print-subround td { padding:1mm 2mm !important; font-size:7.5pt !important; }
  .score-box { min-width:0 !important; }
  .score-box>div { display:inline-block !important; margin-right:2mm !important; font-size:7.5pt !important; }
  .handwrite { font-size:13pt !important; letter-spacing:1px !important; margin-top:1mm !important; }
  .legend { margin-top:2mm !important; padding:1mm 2mm !important; font-size:7pt !important; }
  .print-table tr { break-inside:avoid !important; }
}

/* v13.14: Öffentliche Liga-Übersicht verwendet dieselbe Spieltags-/Rundenstruktur wie die Verwaltung */
.liga-matchday { margin:24px 0 30px !important; border:1px solid #d7dce2; border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.05); }
.liga-matchday .admin-matchday-header { display:flex; justify-content:space-between; align-items:center; padding:16px 20px; gap:20px; }
.liga-matchday .admin-matchday-body { padding:0 20px 8px; }
.liga-matchday .admin-subround { margin:14px 0 16px; padding:10px; border:1px solid #e2e5e8; border-radius:9px; background:#fbfbfa; }
.liga-matchday .admin-subround h3 { margin:0 0 8px; padding:5px 8px; background:#edf0f2; border-left:3px solid #a2adb5; font-size:14px; }
.liga-matchday .liga-round-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.liga-matchday .liga-result-row { min-width:0; border:1px solid #e3e5e7; border-radius:8px; padding:10px; display:grid; grid-template-columns:minmax(0,1fr) minmax(110px,.55fr); align-items:center; gap:12px; background:#fff; }
.liga-matchday .admin-result-match strong { font-size:1rem; overflow-wrap:anywhere; }
.liga-matchday .admin-result-match small { font-size:11px; }
.liga-scores { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.liga-scores span { display:block; text-align:center; padding:6px 4px; border-radius:6px; background:#f3f5f6; }
.liga-scores small { display:block; font-size:10px; color:#6b7280; text-transform:uppercase; }
.liga-scores b { display:block; font-size:14px; white-space:nowrap; }
.liga-versus { color:#75818a; padding:0 3px; }
.liga-matchday.admin-group-rot { border-color:#e6caca !important; }
.liga-matchday.admin-group-rot .admin-matchday-header { background:#fff1f1 !important; border-bottom:3px solid #c96d6d !important; }
.liga-matchday.admin-group-rot .admin-subround { border-color:#e6caca !important; background:#fffafa !important; }
.liga-matchday.admin-group-rot .admin-subround h3 { background:#fbeeee !important; border-left-color:#c96d6d !important; color:#8d3030 !important; }
.liga-matchday.admin-group-blau { border-color:#c8d9ea !important; }
.liga-matchday.admin-group-blau .admin-matchday-header { background:#eef6ff !important; border-bottom:3px solid #5d93c8 !important; }
.liga-matchday.admin-group-blau .admin-subround { border-color:#c8d9ea !important; background:#f9fcff !important; }
.liga-matchday.admin-group-blau .admin-subround h3 { background:#edf5fd !important; border-left-color:#5d93c8 !important; color:#285f91 !important; }
.liga-matchday.admin-group-cl { border-color:#ead4bb !important; }
.liga-matchday.admin-group-cl .admin-matchday-header { background:#fff4e6 !important; border-bottom:3px solid #d98b36 !important; }
.liga-matchday.admin-group-cl .admin-subround { border-color:#ead4bb !important; background:#fffdf9 !important; }
.liga-matchday.admin-group-cl .admin-subround h3 { background:#fff3e4 !important; border-left-color:#d98b36 !important; color:#99570f !important; }
.liga-matchday.admin-group-cup { border-color:#c9dfca !important; }
.liga-matchday.admin-group-cup .admin-matchday-header { background:#eff9ef !important; border-bottom:3px solid #5b9a60 !important; }
.liga-matchday.admin-group-cup .admin-subround { border-color:#c9dfca !important; background:#fbfefb !important; }
.liga-matchday.admin-group-cup .admin-subround h3 { background:#edf7ed !important; border-left-color:#5b9a60 !important; color:#2f7135 !important; }
@media(max-width:700px) { .liga-matchday .liga-round-grid { grid-template-columns:1fr; } .liga-matchday .liga-result-row { grid-template-columns:1fr; } .liga-matchday .admin-matchday-body { padding:0 10px 6px; } .liga-matchday .admin-matchday-header { padding:12px; } }

/* v13.16: gut lesbarer Ausdruck auf DIN A4 hochkant */
@media print {
  @page { size: A4 portrait; margin: 6mm; }
  html, body { width: auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; background: #fff !important; color: #111 !important; }
  .print-controls, header, footer, .no-print { display: none !important; }
  main.wrap { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  .print-sheet { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: #fff !important; }
  .print-title { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 5mm !important; margin: 0 0 4mm !important; padding: 0 0 3mm !important; border-bottom: 1.5pt solid #444 !important; }
  .print-title .eyebrow { font-size: 10pt !important; margin-bottom: 1mm !important; }
  .print-title h1 { font-size: 17pt !important; line-height: 1.15 !important; margin: 0 !important; }
  .print-title h2 { font-size: 12pt !important; line-height: 1.2 !important; margin: 1.5mm 0 0 !important; }
  .print-logo img { max-width: 34mm !important; max-height: 18mm !important; width: auto !important; height: auto !important; }
  .print-table { width: 100% !important; table-layout: fixed !important; border-collapse: collapse !important; font-size: 11pt !important; }
  .print-table th { font-size: 10.5pt !important; font-weight: 700 !important; padding: 2mm 2.5mm !important; line-height: 1.15 !important; background: #f0f0f0 !important; border: 0.5pt solid #777 !important; }
  .print-table td { font-size: 11pt !important; padding: 2mm 2.5mm !important; line-height: 1.15 !important; vertical-align: middle !important; border: 0.5pt solid #aaa !important; height: auto !important; }
  .print-table th:first-child, .print-table td:first-child { width: 48% !important; }
  .print-table th:nth-child(2), .print-table td:nth-child(2), .print-table th:nth-child(3), .print-table td:nth-child(3) { width: 26% !important; }
  .print-table td:first-child br { display: none !important; }
  .print-table td:first-child strong { display: inline !important; font-size: 11pt !important; line-height: 1.2 !important; }
  .print-table .versus { display: inline !important; font-size: 9pt !important; color: #555 !important; margin: 0 1.5mm !important; }
  .print-subround td { padding: 1.5mm 2.5mm !important; font-size: 10.5pt !important; font-weight: 700 !important; color: #111 !important; background: #e9edf0 !important; border-top: 1pt solid #777 !important; border-bottom: 0.5pt solid #aaa !important; }
  .score-box { min-width: 0 !important; }
  .score-box>div { display: block !important; margin: 0 0 1mm !important; font-size: 10pt !important; }
  .handwrite { min-width: 0 !important; font-size: 14pt !important; font-weight: 600 !important; letter-spacing: .5px !important; margin: 1mm 0 0 !important; line-height: 1.2 !important; white-space: nowrap !important; }
  .legend { margin-top: 3mm !important; padding: 2mm !important; font-size: 9.5pt !important; }
  .print-table tr { break-inside: avoid !important; page-break-inside: avoid !important; }
}
