:root{
    --bg:#f3f5f0;
    --panel:#ffffff;
    --ink:#1b241f;
    --muted:#647067;
    --line:#d9dfd6;
    --green:#165c38;
    --green2:#1f7a4a;
    --booked:#d6d8dc;
    --locked:#ffe0df;
    --locked-border:#d14b45;
    --free:#e9f7ee;
    --shadow:0 10px 30px rgba(20,35,25,.08);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#0e2b1d;color:#fff;padding:18px 28px;position:sticky;top:0;z-index:10;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.topbar h1{margin:0;font-size:26px;letter-spacing:.2px}.topbar p{margin:2px 0 0;color:#cbd8ce}.topbar nav{display:flex;flex-wrap:wrap;gap:10px}.topbar a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.25);padding:9px 12px;border-radius:10px}.topbar a:hover{background:rgba(255,255,255,.12)}
.page{max-width:1580px;margin:0 auto;padding:24px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:22px;margin-bottom:22px}.hero{display:flex;justify-content:space-between;align-items:center;gap:24px}.hero h2,.panel h3{margin:0 0 6px}.hero p,.small{color:var(--muted);margin:0}.narrow{max-width:520px;margin:50px auto}.grid2{display:grid;grid-template-columns:420px 1fr;gap:22px;align-items:start}
.booking-form,.series-form{display:grid;gap:14px}.booking-form label,.dayform label,.move-card label,.series-form label,.series-row label{display:grid;gap:6px;font-weight:700;color:#27352e}.booking-form input,.booking-form select,.dayform input,.move-card input,.move-card select,.series-form input,.series-form select{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:#fbfcfb;font:inherit}.timepair{display:grid;grid-template-columns:1fr 1fr;gap:12px}button,.button-link{border:0;border-radius:12px;padding:11px 14px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--green2)}.danger{background:#b82121;color:#fff}.ghost{background:#eef2ee;color:#27352e;border:1px solid var(--line)}.button-link{background:#eef2ee;color:#27352e}.messages{display:grid;gap:8px;margin-bottom:16px}.msg{border-radius:12px;padding:12px 14px;font-weight:700}.msg.success{background:#e1f5e9;color:#10502f}.msg.error{background:#ffe5e5;color:#8d1616}
.week-grid{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:12px}.week-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfcfb;color:var(--ink);text-decoration:none;display:grid;gap:6px;min-height:150px}.week-card.active{outline:3px solid rgba(22,92,56,.35);background:#f4fbf6}.week-card strong{font-size:18px}.week-card span,.week-card small{color:var(--muted)}.week-card em{font-size:13px;font-style:normal;color:#344039;border-top:1px solid #edf0ec;padding-top:5px}
.pitch-layouts{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));gap:16px}.pitch-block{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfcfb}.pitch-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.pitch-title span{font-size:12px;color:var(--muted)}.pitch{display:grid;gap:8px;background:linear-gradient(135deg,#197047,#10542f);padding:13px;border-radius:16px;min-height:150px;position:relative;overflow:hidden}.pitch:before{content:"";position:absolute;inset:12px;border:2px solid rgba(255,255,255,.45);border-radius:10px;pointer-events:none}.pitch-4{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.pitch-2{grid-template-columns:repeat(2,1fr)}.field-part{position:relative;z-index:1;border:1px dashed rgba(255,255,255,.65);background:rgba(255,255,255,.10);color:#fff;font-size:17px;min-height:58px}.field-part:hover,.field-part.selected{background:#fff;color:#0f4c2b;box-shadow:0 0 0 3px rgba(255,255,255,.45)}.field-hidden,.field-checkbox{position:absolute;left:-9999px}.mini-place{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.mini-place strong{display:block;margin-bottom:6px;color:#27352e}.field-part.mini{min-height:auto;font-size:13px;padding:7px 9px;margin:2px;background:#eef2ee;color:#27352e;border:1px solid var(--line)}.field-part.mini.selected{background:#165c38;color:#fff;box-shadow:none}.small-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.legend{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:700}.legend i{width:16px;height:16px;border-radius:4px;display:inline-block}.legend .free{background:var(--free);border:1px solid #b7e4c4}.legend .booked{background:var(--booked);border:1px solid #aeb4bd}.legend .locked{background:var(--locked);border:1px solid var(--locked-border)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.schedule{width:100%;border-collapse:separate;border-spacing:0;min-width:1260px}.schedule th,.schedule td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 8px;vertical-align:top;text-align:center;height:58px}.schedule thead th{position:sticky;top:0;background:#102d1f;color:white;z-index:2}.schedule tbody th{position:sticky;left:0;background:#f7faf7;z-index:1;font-variant-numeric:tabular-nums}.schedule td.free{background:#fbfdfb}.schedule td.booked{background:var(--booked);color:#252a2e}.schedule td.locked{background:repeating-linear-gradient(45deg,var(--locked),var(--locked) 8px,#ffd0ce 8px,#ffd0ce 16px);color:#7b1714}.schedule td small{display:block;color:#515961;margin-top:2px;font-size:11px}.schedule td.locked small{color:#8d1616}.cabin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.cabin-card{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fbfcfb;display:grid;gap:6px}.cabin-card strong{font-size:18px}.cabin-card span,.cabin-card em{font-size:13px;color:var(--muted)}.locked-card{background:#f2f2f2}.pill{border-radius:999px;padding:7px 9px;margin:2px 0;font-weight:800;font-size:13px}.pill.free{background:var(--free);color:#126037}.pill.booked{background:var(--booked);color:#2c3136}.pill.locked{background:var(--locked);color:#8d1616}.admin-list{display:grid;gap:10px}.admin-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px}.admin-row div{display:grid}.admin-row span{color:var(--muted)}.admin-bookings{display:grid;gap:8px}.move-card{display:grid;grid-template-columns:130px 180px 220px 100px 100px 150px 150px 1fr auto;gap:10px;align-items:end;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfcfb}.move-card select[multiple]{height:94px;padding:7px}.delete-inline{margin:-4px 0 12px auto;text-align:right}.delete-inline button{padding:8px 10px;font-size:13px}.display-hero h2{font-size:34px}.display-table th,.display-table td{height:68px;font-size:16px}.display-table td strong{font-size:15px}.display-cabins .cabin-card{font-size:17px}.compact-table{width:100%;border-collapse:separate;border-spacing:0}.compact-table th,.compact-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}.compact-table th{background:#102d1f;color:#fff}.audit-table td{font-size:12px}.compact-wrap{max-height:430px;overflow:auto}.series-head{display:grid;grid-template-columns:1.2fr 1fr 1fr 160px 160px;gap:12px}.series-days{display:grid;gap:14px}.series-row{border:1px solid var(--line);border-radius:16px;background:#fbfcfb;padding:14px;opacity:.58}.series-row.enabled{opacity:1}.series-day-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.checkline{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important}.checkline input{width:auto}.series-controls{display:grid;grid-template-columns:120px 120px 160px;gap:10px;margin-bottom:10px}code{background:#eef2ee;padding:2px 5px;border-radius:5px}
@media (max-width:1200px){.grid2{grid-template-columns:1fr}.week-grid{grid-template-columns:1fr 1fr}.move-card{grid-template-columns:1fr 1fr}.series-head{grid-template-columns:1fr 1fr}.series-controls{grid-template-columns:1fr 1fr 1fr}.page{padding:14px}.topbar{padding:16px}.schedule{min-width:1000px}}
@media (max-width:700px){.topbar,.hero{align-items:flex-start;flex-direction:column}.pitch-layouts,.week-grid,.series-head,.series-controls{grid-template-columns:1fr}.move-card{grid-template-columns:1fr}.timepair{grid-template-columns:1fr}}
@media print{.topbar,.dayform,.booking-form,.button-link{display:none}.page{max-width:none;padding:0}.panel{box-shadow:none;border:0}.schedule thead th{background:#111!important;color:#fff!important}}
.mt{margin-top:20px!important}.date-small{font-weight:600;color:var(--muted);margin-left:8px}.affected-list{display:grid;gap:8px;margin-top:10px}.affected-card{border:1px solid var(--locked-border);background:#fff3f2;border-radius:12px;padding:10px;display:grid;gap:4px}.affected-card span{color:#41484a}.affected-card em{color:#8d1616;font-style:normal;font-weight:800}.schedule td.locked-overlap{outline:3px solid #b82121;outline-offset:-3px}.improved-controls{grid-template-columns:110px 110px 170px minmax(260px,1fr)}.available-fields option:disabled{color:#9a2a25}.availability-note{margin-top:8px}.inline-apply{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.inline-apply label{display:grid;gap:5px;font-weight:700}.inline-apply input,.inline-apply select{border:1px solid var(--line);border-radius:10px;padding:8px;background:#fbfcfb}.week-template-grid{display:grid;grid-template-columns:repeat(5,minmax(260px,1fr));gap:12px;margin-top:16px}.template-day{border:1px solid var(--line);border-radius:15px;padding:12px;background:#fbfcfb}.template-day h4{margin:0 0 10px}.template-row{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.template-row label,.template-add-row label{display:grid;gap:4px;font-size:13px;font-weight:800}.template-row input,.template-row select,.template-add-row input,.template-add-row select,.master-row input,.master-row select{border:1px solid var(--line);border-radius:9px;padding:8px;background:#fff;font:inherit;min-width:0}.template-row button,.template-add-row button{padding:8px}.add-template{margin-top:18px;border:1px dashed var(--line);border-radius:14px;padding:14px}.add-template summary{cursor:pointer;font-weight:900}.template-add-row{display:grid;grid-template-columns:140px 1fr 110px 110px 240px 160px 1fr auto;gap:9px;align-items:end;margin-top:12px}.master-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:18px}.master-grid h4,.field-master h4{margin:0 0 10px}.master-row{display:grid;grid-template-columns:1.5fr 1.2fr 90px 80px auto;gap:7px;margin-bottom:7px;align-items:center}.cabin-master-row{grid-template-columns:70px 1fr 120px 100px 1fr 70px auto}.field-master{margin-top:18px}.field-master-row{grid-template-columns:90px 1.1fr 110px 1.1fr 1.1fr 65px 65px 90px auto}.add-row{background:#f4fbf6;border:1px solid #d7ebdc;border-radius:12px;padding:8px}.admin-bookings .move-card{grid-template-columns:130px 180px 240px 100px 100px 150px 150px 1fr auto}.series-row select.available-fields{height:auto;min-height:130px}.booking-days .series-row{opacity:.62}.booking-days .series-row.enabled{opacity:1;background:#f9fdf9}
@media (max-width:1450px){.week-template-grid{grid-template-columns:1fr 1fr}.template-add-row,.master-grid,.field-master-row,.cabin-master-row,.master-row{grid-template-columns:1fr}.improved-controls{grid-template-columns:1fr 1fr}.admin-bookings .move-card{grid-template-columns:1fr 1fr}}
@media (max-width:800px){.week-template-grid,.improved-controls{grid-template-columns:1fr}}

/* V5 geführte Buchungsmaske */
.guided-booking{overflow:hidden}.guided-title{align-items:flex-start}.guided-title h3{margin:0}.guided-main{display:grid;grid-template-columns:minmax(620px,.95fr) minmax(520px,1.05fr);gap:22px;align-items:start}.guided-left{display:grid;gap:14px}.guided-master{display:grid;grid-template-columns:1.4fr 1fr 1fr 170px;gap:12px}.note-line{display:grid;gap:7px;font-weight:900}.guidance-box{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:12px 0 18px;background:#f7faf7;display:grid;gap:5px}.guidance-box strong{font-size:17px}.guidance-box ul{margin:0;padding-left:20px}.guidance-box.warn{background:#fff5e2;border-color:#e2b05b;color:#744600}.guidance-box.ok{background:#e4f6ea;border-color:#99d8ab;color:#125631}.booking-day-table{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.booking-day-head,.booking-day-row{display:grid;grid-template-columns:160px 105px 105px minmax(240px,1.2fr) minmax(210px,1fr) 150px;gap:10px;align-items:center}.booking-day-head{background:#102d1f;color:#fff;font-weight:900;padding:10px 12px}.booking-day-row{padding:11px 12px;border-top:1px solid var(--line);opacity:.54;background:#fbfcfb}.booking-day-row.enabled{opacity:1;background:#fff}.day-toggle{display:grid!important;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;font-weight:900}.day-toggle input{grid-row:1/3;width:22px;height:22px}.day-toggle small{color:var(--muted);font-size:12px}.compact-label{display:grid!important;gap:4px!important;font-size:12px;font-weight:900}.compact-label span{color:#27352e}.booking-day-row select{padding:10px;border-radius:11px}.guided-field-choice option:disabled,.guided-cabin option:disabled{color:#9a2a25}.row-status{border-radius:10px;padding:9px 10px;font-weight:900;font-size:13px;text-align:center}.row-status.muted{background:#eef2ee;color:#68736d}.row-status.ok{background:#e4f6ea;color:#125631}.row-status.warn{background:#ffe5e5;color:#8d1616}.guided-right{position:sticky;top:14px}.guided-right h3{margin:0 0 4px}.guided-visual{grid-template-columns:1fr;gap:12px}.guided-visual .pitch-block{padding:12px}.guided-visual .pitch{min-height:120px}.visual-field{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-radius:10px;text-align:center}.visual-field span{position:relative;z-index:1}.visual-field .status-badges{position:relative;z-index:1;display:flex;gap:4px;justify-content:center;flex-wrap:wrap}.status-badges b{font-size:11px;padding:2px 5px;border-radius:999px;background:rgba(255,255,255,.9);color:#165c38}.status-badges b.bad{color:#9a1d18}.visual-field.available{background:rgba(255,255,255,.18)}.visual-field.conflict{background:#b82121!important;color:#fff!important}.visual-field.muted{background:rgba(255,255,255,.08);color:rgba(255,255,255,.72)}.visual-field.chosen{outline:4px solid rgba(255,255,255,.95);outline-offset:-5px;background:#fff!important;color:#0f4c2b!important}.visual-field.conflict.chosen{outline-color:#ffd3d1;background:#b82121!important;color:#fff!important}.visual-field.chosen .status-badges b{background:#0f4c2b;color:white}.visual-field.conflict.chosen .status-badges b{background:white;color:#9a1d18}.guided-visual .field-part{min-height:62px;cursor:default}.guided-visual .pitch-4{min-height:170px}.guided-visual .pitch-2{min-height:140px}
@media (max-width:1450px){.guided-main{grid-template-columns:1fr}.guided-right{position:static}.guided-visual{grid-template-columns:repeat(2,minmax(260px,1fr))}.guided-master{grid-template-columns:1fr 1fr}.booking-day-head,.booking-day-row{grid-template-columns:150px 100px 100px 1fr 1fr 140px}}
@media (max-width:900px){.guided-master,.booking-day-head,.booking-day-row,.guided-visual{grid-template-columns:1fr}.booking-day-head{display:none}.booking-day-row{align-items:stretch}.row-status{text-align:left}}

/* V6 Trainer-Login und Trainerverwaltung */
.role-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px}.role-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:26px;color:var(--ink);text-decoration:none;display:grid;gap:10px;min-height:170px}.role-card strong{font-size:28px}.role-card span{color:var(--muted);font-size:16px;line-height:1.35}.role-card:hover{outline:4px solid rgba(22,92,56,.25);background:#f7fcf8}.login-panel{max-width:520px;margin:40px auto}.trainer-lockbox{border:1px solid #b8d7c2;background:#effaf2;border-radius:14px;padding:14px 16px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.trainer-lockbox strong{font-size:22px;color:#114d2d}.trainer-lockbox span{color:#405048;font-weight:800}.guided-master.single-line{grid-template-columns:260px}.existing-badge{grid-column:2/3;display:inline-flex;width:max-content;background:#e4f6ea;color:#125631;border-radius:999px;padding:2px 7px;font-size:11px;font-style:normal;font-weight:900}.existing-badge.warn{background:#ffe5e5;color:#8d1616}.trainer-admin-list{display:grid;gap:12px}.trainer-admin-card{border:1px solid var(--line);border-radius:15px;background:#fbfcfb;padding:12px}.trainer-admin-form{display:grid;grid-template-columns:1.2fr 1.1fr 150px 110px 1fr auto;gap:10px;align-items:end}.trainer-admin-form label{display:grid;gap:5px;font-weight:900;color:#27352e}.trainer-admin-form input,.trainer-admin-form select{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff;font:inherit;min-width:0}
@media (max-width:1100px){.role-grid{grid-template-columns:1fr}.trainer-admin-form{grid-template-columns:1fr 1fr}.guided-master.single-line{grid-template-columns:1fr}}
@media (max-width:650px){.trainer-admin-form{grid-template-columns:1fr}}


/* V7 Trainerbuchung aufgeräumt: keine doppelte Wochenübersicht, lesbare Tageszeilen */
.trainer-hero-actions{display:flex;align-items:end;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.guided-booking .save-main{font-size:18px;padding:16px 24px;min-width:240px;border-radius:16px;box-shadow:0 8px 18px rgba(22,92,56,.22)}
.form-actions{display:flex;justify-content:flex-end;margin-top:20px;border-top:1px solid var(--line);padding-top:18px}
.save-bottom{font-size:20px;padding:18px 30px;min-width:340px;border-radius:18px;box-shadow:0 10px 22px rgba(22,92,56,.24)}
.booking-day-table{overflow:visible;border-radius:18px}
.booking-day-head,.booking-day-row{grid-template-columns:150px 110px 110px minmax(270px,1.15fr) minmax(230px,.95fr);gap:12px}
.booking-day-row{align-items:end;padding:13px 14px}
.booking-day-row *{min-width:0}.booking-day-row select,.booking-day-row input{width:100%;max-width:100%}
.compact-label span{font-size:12px;line-height:1.1}.row-status{grid-column:1/-1;text-align:left;margin-top:2px;padding:8px 10px}.day-toggle{align-self:center}
.guided-main{grid-template-columns:minmax(780px,1.25fr) minmax(430px,.75fr)}
.guided-right .small{line-height:1.25}.guided-title{gap:18px}.guided-title .small{max-width:920px}
@media (max-width:1700px){.guided-main{grid-template-columns:1fr}.guided-right{position:static}.guided-visual{grid-template-columns:repeat(2,minmax(260px,1fr))}}
@media (max-width:1050px){.booking-day-head{display:none}.booking-day-row{grid-template-columns:1fr 1fr}.day-toggle,.row-status{grid-column:1/-1}.form-actions{justify-content:stretch}.save-bottom,.guided-booking .save-main{width:100%;min-width:0}.trainer-hero-actions{justify-content:flex-start}}
@media (max-width:700px){.booking-day-row,.guided-visual{grid-template-columns:1fr}.compact-label{grid-column:1/-1}}

/* V9 Admin-Systemprüfung und Mannschaftsgruppen */
.system-check-panel{background:#fbfdfb}
.badge{border-radius:999px;padding:7px 10px;font-weight:900;font-size:13px;display:inline-flex;align-items:center}
.badge.ok{background:#e4f6ea;color:#125631}
.badge.warn{background:#fff1d6;color:#7a4a00}
.system-issues{margin:8px 0 0;padding-left:20px;display:grid;gap:5px;color:#344039}
.system-issues li.error{color:#8d1616;font-weight:800}
.system-issues li.warn{color:#744600;font-weight:800}
select optgroup{font-weight:900;color:#27352e;background:#f4f7f2}

/* V11 getrennte Admin- und Displaybereiche */
.admin-module-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:20px}.admin-module{border-radius:22px;padding:28px;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);display:grid;gap:10px;min-height:210px}.admin-module:hover{outline:4px solid rgba(22,92,56,.22)}.admin-module strong{font-size:30px}.admin-module span{color:var(--muted);font-size:16px;line-height:1.4}.admin-module em{font-style:normal;font-weight:900;color:var(--green);margin-top:auto}.module-kicker{text-transform:uppercase;letter-spacing:.1em;font-weight:900;font-size:12px!important;color:var(--green)!important}.game-module{border-top:7px solid #173d6b}.training-module{border-top:7px solid var(--green)}.display-module{border-top:7px solid #8a6b13}.admin-head-actions{display:flex;align-items:end;justify-content:flex-end;gap:10px;flex-wrap:wrap}.game-form{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px;align-items:end;margin-top:16px}.game-form label,.game-edit-form label{display:grid;gap:5px;font-weight:800}.game-form input,.game-form select,.game-edit-form input,.game-edit-form select{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;font:inherit;min-width:0}.game-note{grid-column:span 2}.game-list{display:grid;gap:14px;margin-top:14px}.game-admin-card{border:1px solid var(--line);border-left:7px solid #173d6b;border-radius:15px;padding:14px;background:#fbfcfb}.game-admin-card.status-abgesagt{opacity:.65;border-left-color:#b82121}.game-edit-form{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;align-items:end}.game-display-hero{border-top:8px solid #173d6b}.game-display-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:20px}.game-display-card{background:#fff;border:1px solid var(--line);border-top:8px solid #173d6b;border-radius:22px;box-shadow:var(--shadow);padding:24px;display:grid;gap:18px}.game-display-card.status-abgesagt{border-top-color:#b82121;opacity:.72}.game-display-time{display:flex;align-items:center;justify-content:space-between}.game-display-time strong{font-size:38px;color:#173d6b}.game-display-time span{font-weight:900;text-transform:uppercase;background:#edf2f8;border-radius:999px;padding:7px 11px}.game-display-match{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;text-align:center}.game-display-match strong{font-size:25px}.game-display-match b{color:var(--muted)}.game-display-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:14px;border-top:1px solid var(--line)}.empty-display{grid-column:1/-1;text-align:center;font-size:28px;padding:60px}
@media(max-width:950px){.admin-module-grid,.game-form,.game-edit-form,.game-display-grid{grid-template-columns:1fr}.game-note{grid-column:auto}.admin-head-actions{justify-content:flex-start}.game-display-match,.game-display-details{grid-template-columns:1fr}}
.admin-five{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.simple-admin-list{display:grid;gap:10px}.simple-admin-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:11px;background:#fbfcfb}.simple-admin-row>form:first-child{display:grid;grid-template-columns:140px minmax(220px,1fr) minmax(100px,auto) auto;gap:10px;align-items:center}.simple-admin-row input,.simple-add input,.training-edit-row input,.training-edit-row select,.range-form input{border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit;min-width:0}.simple-admin-row label{display:flex;gap:7px;align-items:center;font-weight:800}.simple-admin-row label input{width:auto}.simple-add{display:grid;grid-template-columns:160px minmax(240px,1fr) auto;gap:10px}.trainer-add{grid-template-columns:1fr 1fr 1.5fr 1fr auto}.range-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.range-form label{display:grid;gap:5px;font-weight:800}.training-team summary{display:flex;justify-content:space-between;cursor:pointer;font-size:20px}.training-team summary span{color:var(--muted);font-size:15px}.training-rows{display:grid;gap:8px;margin-top:16px}.training-edit-row{display:grid;grid-template-columns:1fr auto;gap:8px}.training-edit-row>form:first-child,.training-edit-row.training-new{display:grid;grid-template-columns:150px 110px 110px minmax(180px,1fr) auto;gap:8px}.training-new{border-top:1px solid var(--line);padding-top:12px;margin-top:5px}.training-new:before{content:'Neuer Termin';font-weight:900;grid-column:1/-1;color:var(--green)}
@media(max-width:900px){.simple-admin-row,.simple-admin-row>form:first-child,.simple-add,.trainer-add,.training-edit-row,.training-edit-row>form:first-child,.training-edit-row.training-new{grid-template-columns:1fr}}

/* V13: aufgeräumte Stammdaten und tageweise Trainingsverwaltung */
.simple-admin-row>form:first-child{grid-template-columns:minmax(260px,1fr) 110px auto}.single-name-add{grid-template-columns:minmax(280px,1fr) auto;max-width:760px}.trainer-v13-list{display:grid;gap:16px}.trainer-v13-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfcfb}.trainer-v13-form{display:grid;grid-template-columns:1fr 1fr 1.4fr 1.2fr minmax(260px,1.4fr) auto;gap:10px;align-items:end}.trainer-v13-form label{display:grid;gap:5px;font-weight:900}.trainer-v13-form input,.trainer-v13-form select{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;font:inherit;min-width:0}.trainer-team-select{grid-row:span 2}.trainer-team-select select{min-height:150px}.trainer-team-select small{color:var(--muted);font-weight:600}.trainer-v13-card .delete-inline{margin-top:10px}.admin-training-week>h3{margin-bottom:16px}.admin-training-days{display:grid;grid-template-columns:repeat(5,minmax(260px,1fr));gap:12px;align-items:start}.admin-training-day{border:1px solid var(--line);border-radius:16px;background:#fbfcfb;overflow:hidden}.admin-training-day>header{background:#dceaf6;color:#12385f;padding:13px;display:flex;justify-content:space-between;gap:8px;align-items:baseline}.admin-training-day>header strong{font-size:18px}.admin-training-day>header span{font-size:12px}.admin-day-bookings{display:grid;gap:9px;padding:10px}.admin-training-row{display:grid;gap:7px;border:1px solid var(--line);border-radius:12px;padding:10px;background:white}.admin-training-row label{display:grid;gap:4px;font-size:12px;font-weight:900}.admin-training-row input,.admin-training-row select{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px;background:#fff;font:inherit;min-width:0}.training-time-pair{display:grid;grid-template-columns:1fr 1fr;gap:7px}.delete-training-check{display:flex!important;align-items:center;gap:7px!important;color:#9a1d18;background:#fff1f1;border:1px solid #efb7b7;border-radius:9px;padding:7px}.delete-training-check input{width:auto}.admin-add-training{margin:10px;border:1px dashed #8fb89c;border-radius:12px;background:#f2faf4}.admin-add-training summary{cursor:pointer;padding:11px;font-weight:900;color:var(--green)}.admin-add-training .admin-training-row{margin:0 9px 9px;background:#fff}.no-training{padding:10px}.new-training-row .delete-training-check{display:none!important}
@media(max-width:1500px){.admin-training-days{grid-template-columns:repeat(2,minmax(300px,1fr))}.trainer-v13-form{grid-template-columns:1fr 1fr 1fr}.trainer-team-select{grid-row:auto}}
@media(max-width:800px){.simple-admin-row>form:first-child,.single-name-add,.trainer-v13-form,.admin-training-days{grid-template-columns:1fr}}

/* V14: Trainingsverwaltung als Ein-Tages-Ansicht */
.single-day-nav{display:flex;justify-content:center;align-items:end;gap:18px;flex-wrap:wrap}.day-choice-form{display:flex;align-items:end;gap:10px}.day-choice-form label{display:grid;gap:5px;font-weight:900}.day-choice-form input{border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit}.single-day-training{max-width:1180px;margin-left:auto;margin-right:auto}.single-day-heading{display:flex;justify-content:space-between;align-items:center;background:#dceaf6;color:#12385f;border-radius:14px;padding:15px 18px;margin-bottom:16px}.single-day-heading div{display:flex;gap:14px;align-items:baseline}.single-day-heading span{font-size:24px;font-weight:900}.single-day-heading strong{font-size:17px}.single-day-bookings{display:grid;gap:14px}.single-day-row{grid-template-columns:minmax(190px,1.3fr) 220px minmax(180px,1fr) minmax(180px,1fr);align-items:end;padding:16px;scroll-margin-top:130px}.single-day-row>.training-time-pair{align-self:end}.single-day-row>.delete-training-check{grid-column:1/3}.single-day-row>button{grid-column:3/5}.single-day-add{margin:20px 0 0}.single-day-add .single-day-row{margin:0 12px 12px}.single-day-row.new-training-row>button{grid-column:1/-1}.single-day-row:target{outline:4px solid rgba(22,92,56,.28);background:#f4fbf6}
@media(max-width:850px){.single-day-row{grid-template-columns:1fr}.single-day-row>.delete-training-check,.single-day-row>button{grid-column:auto}.single-day-heading,.single-day-heading div{align-items:flex-start;flex-direction:column;gap:4px}.day-choice-form{width:100%}.day-choice-form label{flex:1}.single-day-nav>a{flex:1}}
.admin-place-status{display:block;margin-top:4px;font-size:12px;font-weight:850;color:var(--muted)}.admin-place-status.ok{color:#14643b}.admin-place-status.warn{color:#9a5a0a}.admin-place-status.error{color:#a41f1f}.admin-place-status.loading{color:#56645c}

/* V15: ruhiges Infodisplay und Sicherungs-/Updatebereich */
.info-screen{background:#edf2ed}.info-screen .topbar{position:static;padding:12px 28px}.info-screen .topbar nav{display:none}.info-screen .page{max-width:1500px;padding:18px}.info-header{background:#0e2b1d;color:#fff;border-radius:20px;padding:24px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.info-header h2{font-size:42px;margin:2px 0}.info-header strong{font-size:20px;color:#cbd8ce}.info-kicker{font-size:13px;letter-spacing:.16em;font-weight:900;color:#9fd1af}.info-date-form input{font:inherit;font-weight:800;border:0;border-radius:12px;padding:12px}.info-day-nav{display:flex;justify-content:space-between;margin:12px 0}.info-day-nav a{background:#fff;color:#183428;border:1px solid var(--line);border-radius:12px;padding:9px 14px;text-decoration:none;font-weight:900}.info-content{display:grid;grid-template-columns:minmax(680px,2.2fr) minmax(310px,.8fr);gap:18px}.info-main,.info-cabins{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}.info-main h3,.info-cabins h3{font-size:24px;margin:0 0 14px}.info-booking-list{display:grid;gap:11px}.info-booking-card{display:grid;grid-template-columns:170px minmax(220px,1fr) minmax(390px,1.6fr);align-items:center;gap:18px;border:1px solid var(--line);border-left:8px solid var(--green);border-radius:15px;padding:15px 18px;background:#fbfcfb}.info-booking-card time{font-size:26px;font-weight:950;color:var(--green)}.info-team{display:grid;gap:3px}.info-team strong{font-size:22px}.info-team small{color:var(--muted)}.info-assignment{display:grid;grid-template-columns:1fr 1fr;gap:10px}.info-assignment span{display:grid;background:#eef3ef;border-radius:10px;padding:9px 11px;font-weight:800}.info-assignment b{font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.08em}.info-empty{padding:50px;text-align:center;color:var(--muted);font-size:22px}.info-cabin-list{display:grid;gap:10px}.info-cabin-list article{border:1px solid var(--line);border-radius:13px;padding:12px;display:grid;gap:7px}.info-cabin-list article>strong{font-size:19px;color:#173d6b}.info-cabin-list span{display:grid;background:#edf2f8;border-radius:9px;padding:7px 9px}.info-cabin-list span b{font-size:15px}.info-refresh{font-size:12px;color:var(--muted);margin:16px 0 0}.system-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.system-action-card{display:grid;align-content:start;gap:12px}.system-action-card p{color:var(--muted);line-height:1.45}.system-action-card form{display:grid;gap:12px}.system-action-card label{display:grid;gap:7px;font-weight:900}.system-action-card input[type=file]{border:1px solid var(--line);border-radius:11px;padding:12px;background:#fbfcfb}.update-card{border-top:7px solid #173d6b}.backup-list{display:grid;gap:8px;margin-top:14px}.backup-list a{display:grid;grid-template-columns:160px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:11px;text-decoration:none;color:var(--ink)}.backup-list em{font-style:normal;color:var(--green);font-weight:800}
@media(max-width:1000px){.info-content,.system-admin-grid{grid-template-columns:1fr}.info-booking-card{grid-template-columns:150px 1fr}.info-assignment{grid-column:1/-1}.backup-list a{grid-template-columns:1fr}}
@media(max-width:650px){.info-header,.info-booking-card{grid-template-columns:1fr;display:grid}.info-assignment{grid-template-columns:1fr}.info-header h2{font-size:34px}}
.info-screen:has(.info-header) .page{max-width:1500px}.info-screen .info-header:first-child{margin-top:0}

/* V16: CSV-Spielplan und tageweise Spielzuweisung */
.csv-import-panel{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:end;border-top:7px solid #173d6b}.csv-import-panel h3{font-size:24px}.csv-import-panel p{color:var(--muted);line-height:1.45}.csv-import-panel form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.csv-import-panel label{display:grid;gap:6px;font-weight:900}.csv-import-panel input[type=file]{border:1px solid var(--line);border-radius:11px;padding:11px;background:#fbfcfb}.game-admin-card{box-shadow:0 6px 18px rgba(20,35,25,.06)}.game-admin-card .game-edit-form{grid-template-columns:repeat(4,minmax(170px,1fr))}.game-admin-card .game-edit-form button{grid-column:span 2}.game-display-details{grid-template-columns:1fr 1fr 1fr}.game-display-card{min-height:300px}
@media(max-width:1050px){.csv-import-panel,.csv-import-panel form,.game-admin-card .game-edit-form,.game-display-details{grid-template-columns:1fr}.game-admin-card .game-edit-form button{grid-column:auto}}

/* V16.2: Spielbereich vollständig in den FSV-Grüntönen */
.game-module,.game-display-hero,.game-display-card,.csv-import-panel{border-top-color:var(--green)}
.game-admin-card{border-left-color:var(--green)}
.game-display-time strong{color:var(--green)}
.game-display-time span{background:#e4f6ea;color:#10502f;border:1px solid #b8dcc3}
.game-display-details{border-top-color:#cfe1d4}
.game-display-card{box-shadow:0 12px 30px rgba(14,70,41,.12)}
.info-content.single-column{display:block}.info-content.single-column .info-main{width:100%}
.combined-training-section{margin-bottom:22px}.combined-games-section{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}.combined-games-section>h3{font-size:24px;margin:0 0 16px}.combined-game-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}.combined-game-grid .game-display-card{min-height:0}.combined-empty{margin-top:20px}
.club-display-header{padding:16px 22px}.club-display-brand{display:flex;align-items:center;gap:16px}.club-logo-shell{width:88px;height:96px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:13px;padding:6px;box-shadow:0 5px 16px rgba(0,0,0,.22);flex:0 0 auto}.club-logo-shell img{display:block;max-width:100%;max-height:100%;object-fit:contain}.club-display-brand h1{font-size:30px;line-height:1;margin:3px 0 4px;letter-spacing:.035em}.club-display-brand p{margin:0;color:#cbd8ce;font-weight:750}.club-display-date{text-align:right;display:grid;gap:1px}.club-display-date>span{font-size:11px;letter-spacing:.14em;font-weight:900;color:#9fd1af}.club-display-date h2{font-size:31px;margin:0}.club-display-date strong{font-size:16px}.combined-refresh{text-align:right;color:var(--muted);font-size:11px;margin:10px 4px 0}
@media(orientation:portrait){.info-screen .page{padding:12px;max-width:none}.club-display-header{padding:13px 16px;border-radius:16px}.club-logo-shell{width:68px;height:75px;border-radius:10px}.club-display-brand{gap:12px}.club-display-brand h1{font-size:25px}.club-display-brand p{font-size:12px}.club-display-date h2{font-size:25px}.info-main,.combined-games-section{padding:13px;border-radius:16px}.info-main h3,.combined-games-section>h3{font-size:19px;margin-bottom:9px}.info-booking-list{gap:6px}.info-booking-card{grid-template-columns:112px minmax(145px,1fr) minmax(300px,1.65fr);gap:10px;padding:8px 11px;border-left-width:6px;border-radius:10px}.info-booking-card time{font-size:19px}.info-team strong{font-size:17px}.info-assignment{gap:6px}.info-assignment span{padding:6px 8px;font-size:13px}.combined-training-section{margin-bottom:12px}.combined-game-grid{grid-template-columns:1fr;gap:9px}.combined-game-grid .game-display-card{padding:13px;gap:10px;border-radius:14px;border-top-width:6px}.combined-game-grid .game-display-time strong{font-size:27px}.combined-game-grid .game-display-match strong{font-size:20px}.combined-game-grid .game-display-details{padding-top:9px;gap:6px;font-size:13px}}

/* V10 Admin-Wochenplan: Block speichern, Konflikte nur markieren */
.weekplan-admin-panel{overflow:hidden}
.weekplan-head{align-items:flex-start}
.weekplan-actions{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.big-admin-save{font-size:17px;padding:15px 22px;border-radius:16px;box-shadow:0 8px 18px rgba(22,92,56,.22)}
.bulk-week-grid{align-items:start}
.bulk-template-row{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px;background:#fbfcfb;border-radius:12px;padding:12px}
.bulk-template-row label{display:grid;gap:4px;font-size:13px;font-weight:900;color:#27352e}
.bulk-template-row input,.bulk-template-row select{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px;background:#fff;font:inherit;min-width:0}
.bulk-template-row select[multiple]{min-height:105px;padding:7px}
.bulk-template-row.conflict-row{border:2px solid #b82121;background:#fff1f1;box-shadow:0 0 0 4px rgba(184,33,33,.08)}
.bulk-template-row.conflict-row input,.bulk-template-row.conflict-row select{border-color:#d98989}
.template-conflict-box{display:grid;gap:4px;background:#b82121;color:#fff;border-radius:10px;padding:8px 10px;font-size:12px;line-height:1.25}
.template-conflict-box strong{font-weight:900}
.delete-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;background:#fff5f5;border:1px solid #efb7b7;border-radius:10px;padding:8px!important;color:#8d1616!important}
.delete-check input{width:auto!important}
.weekplan-bottom-actions{justify-content:flex-end;margin-top:18px}
.weekplan-bottom-actions .big-admin-save{min-width:360px}
@media (max-width:1450px){.weekplan-actions{justify-content:flex-start}.weekplan-bottom-actions .big-admin-save{min-width:0;width:100%}}
.trainer-start-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}
.trainer-start-card {
    display: flex;
    min-height: 170px;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    padding: 30px;
    border: 2px solid #17653f;
    border-radius: 22px;
    background: #fff;
    color: #17231d;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(17, 67, 43, .09);
}
.trainer-start-card strong { color: #0d5634; font-size: 1.55rem; }
.trainer-start-card span { color: #637168; line-height: 1.45; }
.trainer-start-card.primary-card { background: #0c5634; color: #fff; }
.trainer-start-card.primary-card strong,
.trainer-start-card.primary-card span { color: #fff; }
.trainer-booking-list { display: grid; gap: 14px; }
.trainer-booking-card {
    display: grid;
    grid-template-columns: 130px minmax(140px, .8fr) 155px minmax(650px, 2.6fr) 190px;
    gap: 16px;
    align-items: end;
    padding: 18px;
    border: 1px solid #d6e0d8;
    border-left: 7px solid #167044;
    border-radius: 16px;
    background: #fff;
}
.trainer-booking-date,
.trainer-booking-team,
.trainer-booking-time,
.trainer-booking-cabin { display: flex; flex-direction: column; gap: 5px; align-self: center; }
.trainer-booking-date strong { color: #0c5634; font-size: 1.25rem; }
.trainer-booking-card small { color: #69766d; }
.trainer-place-form {
    display: grid;
    grid-template-columns: 95px 95px minmax(180px, 1.2fr) minmax(190px, 1fr) auto;
    gap: 10px;
    align-items: end;
}
.trainer-place-form label { display: grid; gap: 5px; font-weight: 700; }
.trainer-place-form select { width: 100%; }
.overview-availability-status { grid-column: 1 / -1; padding: 6px 9px; border-radius: 8px; font-weight: 750; }
.overview-availability-status.loading,.overview-availability-status.neutral { background: #edf2ee; color: #5c6961; }
.overview-availability-status.ok { background: #e4f6ea; color: #125631; }
.overview-availability-status.warn { background: #fff0df; color: #874d00; }
.trainer-cancel-form { display: grid; gap: 5px; }
.trainer-cancel-form label { display: grid; gap: 5px; font-weight: 700; }
.trainer-cancel-form .danger { width: 100%; }
.empty-state { padding: 35px; text-align: center; }
.trainer-team-selection form { display: grid; grid-template-columns: minmax(260px, 1fr) auto; gap: 16px; align-items: end; max-width: 760px; }
.trainer-team-selection label,
.month-form label { display: grid; gap: 6px; font-weight: 700; }
.trainer-overview-actions { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
.primary-link { background: #146a41; color: #fff; }
.new-training-panel { display: grid; gap: 22px; }
.new-training-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: end; }
.new-training-form > label { display: grid; gap: 6px; font-weight: 700; }
.month-day-picker { grid-column: 1 / -1; border: 1px solid #d4ded6; border-radius: 16px; padding: 16px; }
.month-day-picker legend { padding: 0 8px; color: #0d5634; font-weight: 800; }
.month-day-grid { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); gap: 9px; }
.month-day-grid label { cursor: pointer; }
.month-day-grid input { position: absolute; opacity: 0; pointer-events: none; }
.month-day-grid span { display: block; padding: 11px 8px; border: 1px solid #cad8ce; border-radius: 10px; background: #f7faf8; text-align: center; }
.month-day-grid input:checked + span { border-color: #12663e; background: #12663e; color: #fff; font-weight: 800; }
.new-training-note { grid-column: span 2; }
@media (max-width: 1100px) {
    .trainer-booking-card { grid-template-columns: repeat(3, 1fr); }
    .trainer-place-form { grid-column: 1 / -1; }
    .trainer-cancel-form { grid-column: 1 / -1; grid-template-columns: 220px 1fr; align-items: center; }
    .month-day-grid { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
}
@media (max-width: 700px) {
    .trainer-start-grid { grid-template-columns: 1fr; }
    .trainer-booking-card { grid-template-columns: 1fr; }
    .trainer-place-form { grid-template-columns: 1fr; }
    .trainer-cancel-form { grid-template-columns: 1fr; }
    .trainer-team-selection form,
    .new-training-form { grid-template-columns: 1fr; }
    .month-day-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .new-training-note { grid-column: auto; }
}
.lock-form { display: grid; grid-template-columns: 150px 150px 110px 110px minmax(210px, 1.2fr) minmax(230px, 1.4fr) auto; gap: 12px; align-items: end; }
.lock-edit-form { grid-template-columns: 160px 120px 120px minmax(220px, 1.2fr) minmax(240px, 1.4fr) auto; }
.lock-form label { display: grid; gap: 5px; font-weight: 800; }
.lock-form input,.lock-form select { width: 100%; min-width: 0; }
.lock-admin-list { display: grid; gap: 16px; margin-top: 16px; }
.lock-admin-card { padding: 16px; border: 2px solid #b9d8c4; border-left: 8px solid #176b42; border-radius: 16px; background: #f8fcf9; }
.lock-admin-card.lock-conflict { border-color: #dc5a55; border-left-color: #b91f1b; background: #fff2f1; box-shadow: 0 8px 22px rgba(160, 24, 20, .12); }
.lock-conflict-box { display: grid; gap: 5px; margin-top: 12px; padding: 12px 14px; border-radius: 11px; background: #b91f1b; color: #fff; }
.lock-conflict-box strong { font-size: 17px; }
.lock-ok-box { margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: #e4f6ea; color: #125631; font-weight: 800; }
.lock-admin-card .delete-inline { margin-top: 10px; }
@media (max-width: 1150px) { .lock-form { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .lock-form { grid-template-columns: 1fr; } }
.weekday-quick-nav { display: flex; gap: 8px; align-items: stretch; }
.weekday-quick-button { display: grid; min-width: 66px; gap: 2px; padding: 9px 12px; border: 1px solid #cdd9d0; border-radius: 11px; background: #f2f6f3; color: #26362d; text-align: center; text-decoration: none; }
.weekday-quick-button strong { font-size: 17px; }
.weekday-quick-button small { color: #68766d; }
.weekday-quick-button.active,.today-button.active { border-color: #14663e; background: #14663e; color: #fff; }
.weekday-quick-button.active small { color: #dceee3; }
.game-week-nav { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; }
.game-week-nav > div { display: grid; min-width: 280px; text-align: center; }
.game-week-nav > div strong { color: #105534; font-size: 18px; }
.game-week-nav > div span { color: var(--muted); font-size: 13px; }
.game-week-list { display: grid; gap: 18px; margin-top: 14px; }
.game-week-day { border: 1px solid #d3ded6; border-radius: 16px; overflow: hidden; background: #f9fbf9; }
.game-week-day > header { display: grid; grid-template-columns: 150px 1fr auto; align-items: center; gap: 12px; padding: 13px 16px; background: #dceee3; color: #104d30; }
.game-week-day > header strong { font-size: 20px; }
.game-week-day > header small { font-weight: 800; }
.game-week-day > .game-list { padding: 12px; }
.game-week-day > p { margin: 0; padding: 11px 16px; }
.game-week-day.empty { opacity: .72; }
@media (max-width: 850px) {
    .single-day-nav { align-items: stretch; }
    .weekday-quick-nav { width: 100%; display: grid; grid-template-columns: repeat(5, 1fr); }
    .weekday-quick-button { min-width: 0; }
    .game-week-day > header { grid-template-columns: 1fr auto; }
    .game-week-day > header small { grid-column: 1 / -1; }
}

/* V17.3: Platzsperren auf dem öffentlichen Tagesdisplay */
.display-locks{display:grid;gap:9px;margin-top:18px}
.display-lock-row{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#b82121;color:#fff;border:2px solid #971717;border-radius:14px;padding:13px 20px;box-shadow:0 8px 20px rgba(130,20,20,.20);font-size:20px}
.display-lock-row strong{font-size:21px;font-weight:950}
.display-lock-row span{font-size:18px;font-weight:950;letter-spacing:.09em}
@media(orientation:portrait){.display-locks{margin-top:12px;gap:6px}.display-lock-row{padding:10px 14px;border-radius:10px;font-size:16px}.display-lock-row strong{font-size:17px}.display-lock-row span{font-size:15px}}
