
[hidden]{display:none!important}header #access{font-size:1.3rem;min-width:44px;min-height:44px;padding:.45rem .7rem;background:transparent;color:#d8e6ae;border:1px solid #6b8f79}header{align-items:center}#trainerMenuToggle{margin:1rem 0;min-height:46px}#trainerPanel{border:1px solid #d5e2d6;border-radius:14px;background:#fff;margin:1rem 0;overflow:hidden} .trainerPanelTop{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#123f30;color:#fff;padding:1rem}.trainerPanelTop button{background:transparent;color:#fff;border:1px solid #a5c2a9;min-height:44px}#trainerNav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;padding:1rem;margin:0;border:0;background:#e9f0e2}#trainerNav button{min-height:48px;padding:.7rem;color:#174b38;background:#fff}#trainerNav button.active{background:#155b43;color:white}#trainerContent{padding:1rem;max-width:1000px;margin:auto}#trainerContent h2{font-size:1.25rem;margin:0 0 1rem}#trainerContent form{max-width:520px}#trainerContent label{display:block;margin:.8rem 0}#trainerContent textarea,#trainerContent input,#trainerContent select{width:100%;font-size:1rem}#trainerContent button{min-height:44px}#trainerContent table{width:100%;max-width:600px}#trainerContent th,#trainerContent td{padding:.65rem}.ourStat{background:#e4f2df;font-weight:bold}.trainerSlots{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.6rem}.trainerSlotCard{text-align:left;display:flex;flex-direction:column;gap:.4rem;padding:.85rem;min-height:74px;color:#173e31;border:1px solid #c7d9c8;border-left:5px solid var(--team-color,#29704d);background:var(--team-bg,#f2f7ed);border-radius:9px}.trainerSlotCard span{font-size:.9rem;font-weight:400}.messageCount:not(:empty){display:inline-flex;min-width:1.4rem;min-height:1.4rem;align-items:center;justify-content:center;border-radius:1rem;background:#a52b30;color:white;padding:0 .25rem;font-size:.8rem;margin-left:.3rem}.trainerMessageTabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.trainerMessageTabs button.active{background:#155b43;color:white}.trainerRequest,.systemMessage,.chatFeed article{border:1px solid #dae5d7;border-radius:9px;padding:1rem;margin:.65rem 0}.trainerRequest button{margin:.4rem .5rem 0 0}.trainerRequest p,.systemMessage p,.chatFeed p{white-space:pre-wrap;overflow-wrap:anywhere}.chatFeed{max-height:50vh;overflow:auto}.chatFeed article{background:#f4f7f0}.buttonLink{display:block;padding:.9rem;border:1px solid #cad9ca;border-radius:8px;margin:1rem 0;max-width:520px}#trainerSlotDialog{max-width:600px;width:calc(100% - 2rem);max-height:90dvh;overflow:auto}#trainerSlotDialog button{min-height:44px;margin:.45rem .4rem .2rem 0}#trainerSlotDialog label{display:block;margin:1rem 0}#trainerSlotDialog select{width:100%;font-size:1rem}#trainerSlotDialog .scopeChoices{max-height:230px;overflow:auto;border:1px solid #d5e2d6;padding:.5rem}.scopeChoices label{display:flex!important;gap:.7rem;align-items:center;padding:.5rem}.scopeChoices input{width:20px;height:20px;flex-shrink:0}#teamAccessBar{display:none!important}body:not(.adminSignedIn) main>nav{display:none}body.trainerSignedIn main>footer #reload{display:none}body:not(.adminSignedIn) #admin{display:none!important}#trainerPanel nav{border:0}#trainerSlotError:empty,#message:empty{display:none}
@media(max-width:700px){header{padding:1rem;gap:.6rem}.brand{gap:.65rem}.clubLogo{width:48px!important;height:72px!important;object-fit:contain}header h1{font-size:1.6rem!important}header .eyebrow{font-size:.6rem;letter-spacing:.08em}header .brand p:not(.eyebrow){font-size:.75rem}main{padding:.65rem!important}.topline{font-size:.75rem;gap:.5rem}#trainerNav{grid-template-columns:repeat(2,minmax(0,1fr));padding:.7rem}#trainerNav.menuOverview{grid-template-columns:1fr}#trainerNav.menuOverview button{text-align:left;font-size:1.05rem;min-height:58px}#trainerNav:not(.menuOverview){display:none}#trainerMenuToggle{width:100%;text-align:left}.trainerPanelTop{padding:.75rem}#trainerContent{padding:.75rem}.trainerSlots{grid-template-columns:1fr}#trainerContent input,#trainerContent textarea,#trainerContent select{font-size:16px;min-height:44px}.trainerMessageTabs button{flex:1;font-size:.9rem}body.adminSignedIn header #access{position:fixed;right:1rem;bottom:1rem;z-index:30;border-radius:50%;background:#155b43;color:white;box-shadow:0 2px 8px #0003}body.adminSignedIn footer{padding-bottom:4rem}.trainerPanelTop strong{font-size:.95rem}#trainerSlotDialog{padding:1rem;margin:auto}#trainerSlotDialog .dialogTitle h2{font-size:1.05rem;overflow-wrap:anywhere}body.trainerSignedIn .toolbar{gap:.5rem}.toolbar label{min-width:0}.toolbar select{max-width:100%}}
@media print{#trainerMenuToggle,#trainerPanel,#access,#trainerSlotDialog{display:none!important}#weekView{display:block!important}}

header{position:relative}header #access{position:absolute;right:1.2rem;top:1.2rem;display:flex;align-items:center;justify-content:center}header #access img{display:block;width:22px;height:22px}header .brand{padding-right:48px}.trainerClickable{cursor:pointer}.trainerClickable:focus-visible{outline:3px solid #155b43;outline-offset:2px}#trainerMenuToggle{position:sticky;top:.35rem;z-index:20;background:#fff;box-shadow:0 1px 5px #0001}@media(max-width:700px){header #access{right:.8rem;top:.8rem}body.adminSignedIn header #access{top:auto}header .brand p:not(.eyebrow){max-width:250px}#trainerMenuToggle{margin:.6rem 0}#trainerPanel{margin:.6rem 0}.trainerPanelTop button{white-space:nowrap}}

#adminMobileMenu{display:none}@media(max-width:700px){body.adminSignedIn header #access{display:none}body.adminSignedIn #adminMobileMenu:not([hidden]){display:flex;justify-content:center;padding:.7rem;background:#e9f0e2;border-radius:10px}#adminMobileAccess{min-height:44px;width:100%;background:#155b43;color:white}body.adminSignedIn footer{padding-bottom:1rem}}

/* Shared compact header and one navigation drawer for every view. */
header.compactHeader{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px max(16px,calc((100vw - 1320px)/2));min-height:76px}
header.compactHeader .brand{padding:0;gap:10px;text-decoration:none;color:#fff;min-width:0}header.compactHeader .clubLogo{width:36px!important;height:54px!important;object-fit:contain;flex-shrink:0}header.compactHeader h1{font-size:23px!important;line-height:1.15;margin:0;color:#fff}
header.compactHeader #trainerMenuToggle{position:relative;top:auto;margin:0;padding:6px;background:transparent;color:#d8e6ae;border:1px solid #6b8f79;box-shadow:none;width:44px;min-height:44px;height:44px;font-size:25px;display:flex;align-items:center;justify-content:center}
header.compactHeader #menuCount:not(:empty){position:absolute;top:-7px;right:-9px;margin:0;font-size:10px;min-width:18px;min-height:18px}
header.compactHeader #access{position:static;top:auto;right:auto;bottom:auto;display:flex!important;align-items:center;justify-content:center;gap:6px;width:auto;min-width:44px;min-height:44px;margin:0;padding:8px;background:transparent;color:#d8e6ae;border:1px solid #6b8f79;border-radius:9px;box-shadow:none;font-size:13px}
header.compactHeader #access .accountTeam{font-weight:650;max-width:90px;white-space:normal;line-height:1.15}
#trainerPanel{padding:0;margin:0;border-radius:10px}#trainerPanel .trainerPanelTop{display:none}#trainerContent{padding:18px}#trainerPanel #trainerContent>h2{margin-bottom:18px}
#siteMenu.siteMenu{position:fixed;inset:0 auto 0 0;margin:0;width:min(88vw,350px);max-width:none;height:100dvh;max-height:100dvh;border-radius:0 16px 16px 0;padding:18px;background:#f4f6ef;overflow:auto}
.menuHeading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;color:#123b2d;font-size:20px}.menuHeading button{min-width:44px;min-height:44px;font-size:24px;padding:0}
#siteMenu #publicNav:not([hidden]),#siteMenu #trainerNav:not([hidden]){display:grid!important;grid-template-columns:1fr;gap:8px;padding:0;margin:0;border:0;background:transparent}
#siteMenu nav button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:12px 16px;text-align:left;font-size:16px;background:#fff;color:#155b43}
#siteMenu #trainerNav button.active{background:#155b43;color:#fff}#menuAdminArea{border-top:1px solid #d9e3dc;margin-top:22px;padding-top:14px}#menuAdminArea button{width:100%;min-height:48px;text-align:left}main>nav[aria-label="Ansichten"],#adminMobileMenu{display:none!important}
.planFootnote{margin-top:24px;padding:14px 0 0;border-top:1px solid #d9e3dc}.planFootnote .badge{font-size:11px;padding:4px 9px}.planFootnote #updated{font-size:11px}#weekView{padding-top:10px}#trainerContent h3{margin-top:20px}
@media(max-width:700px){header.compactHeader{min-height:68px;padding:7px 10px;gap:8px}header.compactHeader h1{font-size:19px!important}header.compactHeader .brand{gap:7px}header.compactHeader .clubLogo{width:30px!important;height:45px!important}header.compactHeader #access{font-size:11px;padding:6px;gap:4px}header.compactHeader #access .accountTeam{max-width:70px}#trainerContent{padding:14px}main{padding-top:12px!important}#trainerPanel{margin:0}.quickSwapBar{top:75px}}
@media print{header.compactHeader{position:static;display:flex;padding:0;background:white}header.compactHeader h1{color:black}header.compactHeader #trainerMenuToggle,header.compactHeader #access{display:none!important}#siteMenu,#publicCalendarDialog{display:none!important}}

.hallViewFilters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.hallViewFilters button{min-height:44px;padding:10px 16px}.hallViewFilters button.active{background:#155b43;color:white}@media(max-width:700px){.hallViewFilters{gap:6px;margin-bottom:14px}.hallViewFilters button{flex:1;padding:9px 6px;font-size:13px;white-space:nowrap}}@media print{.hallViewFilters{display:none!important}}

#weekView.ownCompactView>.toolbar,#weekView.ownCompactView>.legend,#weekView.ownCompactView>#teamLegend,#weekView.ownCompactView>#weekNote,#weekView.ownCompactView>.calendarViewport,#weekView.ownCompactView>p.small{display:none!important}
.ownCompactHeading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0}.ownCompactHeading h2{font-size:20px;margin:0}.ownCompactHeading p{margin:0}.ownMonthGroup{padding-top:14px}.ownMonthGroup h3{font-size:14px;margin:0 0 8px;color:#587066}.ownTimeRow{display:grid;grid-template-columns:125px 130px minmax(170px,1fr) auto;align-items:center;gap:14px;padding:12px 14px;background:white;border:1px solid #d9e3dc;border-left:4px solid #155b43;border-radius:9px;margin-bottom:7px;font-size:14px}.ownTimeDate{display:flex;flex-direction:column}.ownTimeDate span{font-size:12px;color:#718478}.ownTimeClock{font-weight:650;white-space:nowrap}.ownTimeActions{display:flex;gap:7px;flex-wrap:wrap}.ownTimeActions button{min-height:44px;padding:8px 12px;font-size:13px}.ownTimeActions button:first-child{background:#f5f8f0}@media(max-width:800px){.ownTimeRow{grid-template-columns:1fr auto;gap:7px 12px;padding:11px 12px}.ownTimeHall{grid-column:1/-1;font-size:13px;color:#587066}.ownTimeActions{grid-column:1/-1}.ownTimeActions button{flex:1}.ownCompactHeading{display:block}.ownCompactHeading p{margin-top:5px}}@media print{.ownTimeActions{display:none!important}.ownTimeRow{break-inside:avoid}}

.statsFilterBar{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 16px}.statsFilterBar label{flex:1;min-width:140px;margin:0!important}.statsFilterBar select{width:100%;min-height:44px}.compactStatTiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}.compactStatTiles>div{background:#e9f1e4;border:1px solid #d4e2d0;border-radius:9px;padding:13px}.compactStatTiles strong{display:block;font-size:23px;line-height:1.2;color:#155b43}.compactStatTiles span{display:block;font-size:12px;margin-top:5px;color:#587066}.clubStatsTable{width:100%;overflow-x:auto}.clubStatsTable table{width:100%!important;max-width:none!important}.clubStatsTable td,.clubStatsTable th{vertical-align:top;padding:12px 10px!important}.clubStatsTable td:last-child{min-width:100px;width:36%;white-space:normal}.clubStatsTable details{border:0;background:transparent;padding:0;margin-top:5px;border-radius:0;font-size:12px}.clubStatsTable details p{font-size:12px;white-space:normal;margin:7px 0;overflow-wrap:anywhere}.clubStatsTable summary{font-size:11px;color:#587066}.ownStatsDetail{padding:10px 12px;font-size:13px}.ownStatsDetail p{margin:8px 0;font-size:12px}@media(max-width:700px){.compactStatTiles{gap:6px}.compactStatTiles>div{padding:10px 8px}.compactStatTiles strong{font-size:21px}.compactStatTiles span{font-size:11px}.statsFilterBar{gap:8px}.statsFilterBar label{min-width:120px}.clubStatsTable td,.clubStatsTable th{padding:10px 6px!important;font-size:12px}.clubStatsTable td:last-child{min-width:75px;width:29%}.clubStatsTable .teamBadge{font-size:11px}}

.clubStatsTable .clubStatsDetailRow td{white-space:normal;width:auto;background:#f0f5eb}.clubStatsDetailRow p{margin:5px 0;font-size:12px;white-space:normal}@media(max-width:700px){.statsFilterBar label{flex-basis:100%}}

.passwordWelcome{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px;margin-bottom:14px;border:1px solid #d7d9aa;border-radius:9px;background:#f4f5df;font-size:13px}.passwordWelcome button{min-height:44px;white-space:nowrap}.compactStatTiles{grid-template-columns:repeat(4,minmax(0,1fr))}.clubStatsTable td:last-child{width:auto;min-width:35px}.clubStatsTable td:nth-child(4){min-width:52px}@media(max-width:700px){.compactStatTiles{grid-template-columns:repeat(2,minmax(0,1fr))}.passwordWelcome{display:block}.passwordWelcome button{margin-top:8px}.clubStatsTable td,.clubStatsTable th{padding:9px 4px!important;font-size:11px}}

.passwordWelcome{position:relative;padding-right:64px}#passwordWelcomeDismiss{position:absolute;right:9px;top:8px;margin:0;min-width:44px;min-height:44px;width:44px;padding:0;font-size:24px;border:0;background:transparent;color:#587066}#passwordWelcomeDismiss:hover{background:#e8ebcf}

.scopeCalendar{border:1px solid #d9e3dc;border-radius:10px;padding:10px;background:#f7f9f3;margin:10px 0}.scopeCalendarControls{display:grid;grid-template-columns:44px 1fr 44px;gap:7px;align-items:center}#trainerSlotDialog .scopeCalendarControls button{margin:0;padding:0;min-height:44px;font-size:24px}#trainerSlotDialog .scopeCalendarControls select{font-size:14px;min-width:0;text-align:center}.scopeCalendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.scopeWeekday{text-align:center;font-size:11px;font-weight:700;color:#587066;padding:4px 0}.scopeDay{min-width:0;min-height:43px;background:#fff;border:1px solid #e2e9e0;border-radius:5px;padding:3px}.scopeDayNumber{display:block;font-size:11px;font-weight:650}.scopeDayEmpty{background:transparent;color:#92a095;border-color:transparent}#trainerSlotDialog .scopeAppointment{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-width:0;min-height:44px;margin:3px 0 0;padding:4px 1px;border-radius:5px;font-size:10px;line-height:1.2;color:#155b43;background:#e5f0df;border:1px solid #9cbd98}#trainerSlotDialog .scopeAppointment strong{font-size:11px}#trainerSlotDialog .scopeAppointment.selected{background:#155b43;border-color:#155b43;color:#fff;box-shadow:0 0 0 1px #155b43}.scopeCalendarSelection{padding:9px!important;margin:10px 0 0!important;background:white!important;border-radius:7px;font-size:12px}.scopeSelectedList{max-height:160px;overflow:auto}.scopeSelectedItem{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #e2e9e0;padding:4px 0;font-size:11px}.scopeSelectedItem span{flex:1;line-height:1.4}#trainerSlotDialog .scopeSelectedItem button{flex:none;min-width:36px;min-height:36px;margin:0;padding:0;font-size:20px;border:0;background:transparent}.scopeCalendar>p{margin:8px 0;font-size:11px}@media(max-width:420px){.scopeCalendar{padding:6px}.scopeCalendarGrid{gap:2px}.scopeDay{padding:2px}#trainerSlotDialog .scopeCalendarControls select{font-size:13px;padding:9px 3px}.scopeCalendarControls{grid-template-columns:36px 1fr 36px;gap:4px}}

.day.pastDay{filter:grayscale(1);background:#f1f2ef}.day.pastDay h2{color:#66716a}.day.pastDay .entry{opacity:.72}.day.currentDay{outline:2px solid #155b43;outline-offset:-2px}.day.currentDay>h2{background:#d9edcb;color:#123f30}.todayLabel{display:block;font-size:.75rem;font-weight:700;color:#155b43}

.headerAccountActions{display:flex;align-items:center;gap:8px}header.compactHeader #headerInbox{position:relative;display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;min-height:44px;padding:6px;margin:0;border:1px solid #6b8f79;border-radius:9px;background:transparent;color:#d8e6ae;font-size:25px;line-height:1}#headerInboxCount:not(:empty){position:absolute;right:-6px;top:-6px;margin:0;min-width:18px;min-height:18px;font-size:11px}@media(max-width:420px){header.compactHeader{gap:7px}header.compactHeader h1{font-size:18px!important}.headerAccountActions{gap:5px}}
