:root{--ink:#172033;--muted:#667085;--panel:#fff;--line:#d6deee;--paper:#f4f7fb;--blue:#0a2e73;--red:#d94658;--green:#208765;--gold:#ffb000;--navy:#061f52;--club-blue:#0a2e73;--club-deep:#061f52;--club-orange:#f26b1d;--club-light:#eef4ff;--club-sky:#dff0ff;--shadow:0 18px 45px #0a2e731f}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink)}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled,select:disabled,input:disabled{cursor:not-allowed;opacity:.58}.appShell{min-height:100vh;padding:24px}.protectedShell{place-items:center;display:grid}.topBand{background:linear-gradient(180deg, var(--club-blue), var(--club-deep));color:#fff;border-radius:8px;grid-template-columns:1.1fr 1fr;align-items:end;gap:28px;padding:30px;display:grid;position:relative;overflow:hidden}.topBand:after{content:"";opacity:0;pointer-events:none;position:absolute;inset:0}.topBand>*{z-index:1;position:relative}.brandLockup{grid-template-columns:132px minmax(0,1fr);align-items:center;gap:20px;display:grid}.clubLogo{object-fit:contain;background:#fffffff5;border:1px solid #ffffffa6;border-radius:8px;width:132px;max-height:132px;padding:8px;display:block;box-shadow:0 16px 34px #00144638}.eyebrow{color:var(--club-blue);text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:800}.topBand .eyebrow{color:#fff}h1,h2,h3,p{margin-top:0}h1{margin-bottom:12px;font-size:2.4rem;line-height:1.05}h2{margin-bottom:0;font-size:1.45rem;line-height:1.2}h3{margin-bottom:10px;font-size:1rem}.lead{color:#ffffffd1;max-width:680px;margin-bottom:0;font-size:1rem;line-height:1.55}.teamSwitch,.sessionChooser,.stepButtons,.statusTotals{flex-wrap:wrap;gap:8px;display:flex}.teamButton,.sessionButton,.navButton,.statusButton,.availabilityButton,.stepButton,.primaryButton,.secondaryButton,.selectInput,.textInput,.textArea,.dangerButton{border-radius:8px}.teamButton{color:#fff;text-align:left;background:#ffffff1a;border:1px solid #ffffff2e;min-width:142px;padding:12px}.teamButton span,.sessionButton span,.playerIdentity span,.tableHeader span,.contextStrip span,.metric small,.scoreBar span,.roleLine span,.playDetail dd,.teamActions span,.matchNotice,.quietPill{color:var(--muted)}.teamButton span{color:#ffffffb8;margin-top:4px;font-size:.82rem;display:block}.teamButton.isActive{color:var(--navy);background:#fff}.teamButton.isActive span{color:var(--blue)}.playerHeroCard{background:#ffffff1f;border:1px solid #fff3;border-radius:8px;gap:5px;min-width:260px;padding:16px;display:grid}.playerHeroCard span,.playerHeroCard small{color:#ffffffb8;font-size:.82rem}.playerHeroCard strong{color:#fff;font-size:1.25rem}.accessPanel{background:var(--panel);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px;padding:18px;display:grid}.playerAccessReturn{background:var(--panel);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;padding:12px;display:flex}.playerAccessReturn div{gap:2px;display:grid}.playerAccessReturn span{color:var(--muted);font-size:.84rem;font-weight:800}.accessPageHeader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;display:flex}.accessModes{border:1px solid var(--line);background:#f1f4f8;border-radius:8px;gap:4px;padding:4px;display:flex}.modeButton{color:var(--muted);background:0 0;border:0;border-radius:6px;min-height:34px;padding:7px 11px;font-weight:900}.modeButton.isActive{color:var(--blue);background:#fff;box-shadow:0 1px 3px #1229471a}.accountChooser{grid-template-columns:minmax(150px,.7fr) minmax(170px,.8fr) auto;align-items:end;gap:10px;display:grid}.playerPreviewChooser,.playerPreviewBanner{grid-column:auto}.playerPreviewBanner{background:var(--club-light);border:1px solid #b9d7ff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.playerPreviewBanner div{gap:2px;display:grid}.playerPreviewBanner strong{color:var(--club-blue)}.playerPreviewBanner span,.playerPreviewBanner small{color:var(--muted);font-size:.8rem;font-weight:800}.accountSummary{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:3px;padding:9px 12px;display:grid}.accountSummary span{color:var(--muted);font-size:.82rem}.inlineField{margin-bottom:0}.accessStatus{color:var(--muted);font-size:.82rem;font-weight:800}.protectionBadge{border:1px solid var(--line);background:#f8fafc;border-radius:8px;grid-column:1/-1;gap:3px;padding:9px 12px;display:grid}.protectionBadge strong{color:var(--club-blue);font-size:.84rem}.protectionBadge span,.protectionBadge small{color:var(--muted);font-size:.78rem;font-weight:800;line-height:1.35}.protectionBadge.server{background:#e6f5ef;border-color:#a7dcc9}.protectionBadge.local{background:#fff7ed;border-color:#fed7aa}.protectionBadge.blocked{background:#fff1f2;border-color:#fecdd3}.protectedGate{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;border-radius:8px;place-items:center;gap:12px;width:min(100%,620px);max-width:620px;margin:0 auto;padding:36px;display:grid}.protectedGateLogo{width:min(220px,56vw);max-height:220px}.protectedGate p{color:var(--muted);line-height:1.5}.setupGateForm{justify-items:stretch;gap:10px;width:100%;max-width:360px;display:grid}.setupGateForm small{color:var(--muted);font-size:.82rem;font-weight:800;line-height:1.4}.gateLink{justify-self:center;text-decoration:none}.memberAccessManager{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.memberAccessHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.memberAccessHeader strong,.memberAccessRow strong{color:var(--club-blue)}.memberAccessHeader span,.memberAccessRow span,.memberAccessRow small{color:var(--muted);font-size:.8rem;font-weight:800}.memberAccessForm{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end;gap:8px;display:grid}.playerAssignmentPanel{border-top:1px solid var(--line);gap:12px;padding-top:12px;display:grid}.playerAssignmentList{gap:10px;display:grid}.playerAssignmentRow{border-top:1px solid var(--line);grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr) minmax(220px,.8fr);align-items:center;gap:12px;padding-top:12px;display:grid}.accessLinkedStatus{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:3px;min-height:48px;padding:8px 10px;display:grid}.accessLinkedStatus span{color:var(--muted);font-size:.74rem;font-weight:900}.accessLinkedStatus strong{color:var(--club-deep);overflow-wrap:anywhere;font-size:.85rem}.staffScopeEditor{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;grid-column:1/-1;gap:8px;margin:0;padding:10px;display:flex}.staffScopeEditor legend{color:var(--club-blue);text-transform:uppercase;padding:0 4px;font-size:.78rem;font-weight:900}.staffScopeOption{color:var(--club-deep);background:#fff;border:1px solid #c9d9f0;border-radius:8px;align-items:center;gap:6px;min-height:34px;padding:7px 9px;font-size:.82rem;font-weight:900;display:inline-flex}.staffScopeOption.allTeams{background:var(--club-light)}.memberAccessList{gap:8px;display:grid}.accessPlayerSearch{max-width:480px;margin:0 0 16px}.accessCategory{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0}.accessCategory>summary{cursor:pointer;color:var(--club-deep);padding:14px 16px;font-size:1rem;font-weight:800}.accessCategory>summary .quietPill{margin-left:12px;font-size:.875rem;display:inline-block}.accessCategory>summary:hover{background:var(--club-light)}.accessCategory>summary:focus-visible{outline:3px solid var(--club-blue);outline-offset:2px}.accessCategoryContent{gap:8px;padding:0 12px 12px;display:grid}.playerAccessCard{border:1px solid var(--line);border-radius:8px;min-width:0}.playerAccessCard>summary{cursor:pointer;padding:12px;font-size:1rem}.playerAccessCard>summary>span{color:var(--club-blue);margin-left:12px;font-size:.875rem}.playerAccessCard>summary:focus-visible{outline:3px solid var(--club-blue)}.playerAccessCard .playerAssignmentRow{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));padding:12px}.playerAccessEditor{gap:12px;padding:12px;display:grid}.playerAccessEmail{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.playerAccessEmail>div{overflow-wrap:anywhere;gap:4px;display:grid}.playerAccessForm{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.playerAccessForm>.field{flex:220px}.playerAccessForm>small,.playerAccessForm>p{flex-basis:100%;margin:0}.memberAccessRow{border:1px solid var(--line);background:#f8fafc;border-radius:8px;grid-template-columns:minmax(190px,1fr) minmax(120px,.7fr) minmax(120px,.7fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.memberAccessRowWithScope{align-items:start}.memberAccessRow div{gap:2px;display:grid}.staffScopeEditorInline{background:#fff;grid-column:1/-1;margin-top:2px}.contextStrip{background:var(--panel);border:1px solid var(--line);border-radius:8px;grid-template-columns:.7fr 1.4fr 1fr;gap:1px;margin:14px 0;display:grid;overflow:hidden}.contextStrip div{background:#fff;padding:16px 18px}.contextStrip span{text-transform:uppercase;margin-bottom:5px;font-size:.75rem;font-weight:700;display:block}.contextStrip strong{font-size:.95rem;line-height:1.35;display:block}.workspace{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:14px;display:grid}.sideNav{background:linear-gradient(180deg, var(--club-blue), var(--club-deep));border:1px solid #ffffff2e;border-radius:8px;gap:6px;padding:8px;display:grid;position:sticky;top:18px}.navButton{color:#dbe6ff;text-align:left;background:0 0;border:0;min-height:42px;padding:10px 12px}.navButton.isActive{background:var(--club-orange);color:#fff;font-weight:800}.navButton:hover{color:#fff;background:#ffffff1a}.contentArea{min-width:0}.module{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:20px}.moduleHeader{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.headerActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.quietPill{border:1px solid var(--line);color:var(--club-deep);background:#fff;padding:8px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.kpiGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.metric{border:1px solid var(--line);border-radius:8px;padding:16px}.metric span,.metric small{display:block}.metric span{color:var(--muted);font-size:.82rem;font-weight:700}.metric strong{margin:8px 0 2px;font-size:1.7rem;display:block}.tablePanel,.evaluationPanel,.evolutionPanel,.debriefPanel,.principles,.roleBoard,.courtPanel,.playDetail{border:1px solid var(--line);border-radius:8px;padding:16px}.tableHeader{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.tableHeader h3{margin-bottom:0}.tableHeader>div span{color:var(--muted);margin-top:3px;font-size:.82rem;font-weight:700;display:block}.playerTable,.attendanceList,.debriefList,.principleList{gap:10px;display:grid}.weeklyTrainingPanel,.presenceStatsPanel,.carpoolSummaryPanel{margin-bottom:16px}.weeklyTrainingList,.presenceStatsList{gap:10px;display:grid}.weeklyTrainingRow,.presenceStatRow{border-top:1px solid var(--line);align-items:center;gap:12px;padding-top:12px;display:grid}.weeklyTrainingRow{grid-template-columns:minmax(0,1fr) auto}.weeklyTrainingRow strong,.weeklyTrainingRow span,.weeklyTrainingRow small{display:block}.weeklyTrainingRow span,.weeklyTrainingRow small,.weeklyTrainingActions span{color:var(--muted);font-size:.82rem}.weeklyTrainingActions{align-items:center;gap:10px;display:flex}.attendanceFilters{grid-template-columns:repeat(2,minmax(150px,1fr));align-items:end;gap:10px;display:grid}.compactField{margin-bottom:0}.presenceStatsPanel>.tableHeader{flex-wrap:wrap;gap:12px}.presenceSortFilters{grid-template-columns:repeat(3,minmax(150px,1fr))}.presenceStatRow{grid-template-columns:minmax(220px,1.2fr) minmax(120px,.4fr) minmax(300px,1fr)}.presenceRateBlock{gap:2px;display:grid}.presenceRateBlock strong{color:var(--club-deep);font-size:1.45rem}.presenceRateBlock span{color:var(--muted);font-size:.78rem;font-weight:800}.presenceStatCounts{grid-template-columns:repeat(4,minmax(54px,1fr));gap:7px;display:grid}.playerRow,.attendanceRow{border-top:1px solid var(--line);grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(110px,1fr));align-items:center;gap:12px;padding-top:12px;display:grid}.attendanceRow{grid-template-columns:minmax(220px,.8fr) minmax(360px,1.2fr)}.playerIdentity,.playerFocus{align-items:center;gap:10px;display:flex}.playerIdentity strong,.playerIdentity span,.playerFocus p{display:block}.playerIdentity span,.playerFocus p{margin-bottom:0;font-size:.84rem}.number{border:1px solid var(--line);color:var(--blue);background:#eef3f8;justify-content:center;align-items:center;min-width:44px;height:38px;padding:0 8px;font-weight:800;display:inline-flex}.number.large{min-width:60px;height:54px}.scoreBar span,.ratingSlider span{justify-content:space-between;align-items:center;margin-bottom:7px;font-size:.78rem;font-weight:700;display:flex}.ratingSlider small{color:var(--muted);margin:-2px 0 8px;font-size:.76rem;line-height:1.35;display:block}.scoreBar strong,.ratingSlider strong{color:var(--ink)}.barTrack{background:#edf1f5;height:8px;overflow:hidden}.barTrack,.barTrack i{border-radius:8px;display:block}.barTrack i{background:var(--club-blue);height:100%}.sessionButton{border:1px solid var(--line);color:var(--ink);text-align:left;background:#f8fafc;padding:11px 12px}.sessionButton span{margin-top:3px;font-size:.78rem;display:block}.sessionButton.isActive{background:var(--club-light);border-color:#b9d7ff}.attendanceCalendar{border:1px solid var(--line);background:#fbfdff;border-radius:8px;margin:14px 0;padding:14px}.attendanceCalendarHeader{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.attendanceCalendarHeader h3,.attendanceCalendarHeader p{margin-bottom:0}.attendanceCalendarHeader span{color:var(--muted);margin-top:4px;font-size:.82rem;font-weight:700;display:block}.calendarNav,.calendarLegend{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.calendarLegend{color:var(--muted);margin-bottom:10px;font-size:.78rem;font-weight:800}.calendarLegend span{align-items:center;gap:6px;display:inline-flex}.calendarLegend i{border-radius:999px;width:9px;height:9px;display:inline-block}.calendarLegend i.training{background:var(--club-blue)}.calendarLegend i.match{background:var(--club-orange)}.calendarLegend i.unavailable{background:#f97316}.calendarLegend i.selected{background:var(--green)}.calendarWeekdays,.calendarGrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendarWeekdays{color:var(--muted);text-align:center;text-transform:uppercase;margin-bottom:6px;font-size:.76rem;font-weight:900}.calendarDay{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;min-height:150px;padding:9px;display:grid}.calendarDay.isOutside{opacity:.62;background:#f4f7fb}.calendarDay.isToday{border-color:#b9d7ff;box-shadow:inset 0 0 0 1px #b9d7ff}.calendarDay.isSelected{border-color:#a7dcc9;box-shadow:inset 0 0 0 1px #a7dcc9}.calendarDay.hasUnavailable{border-color:#fed7aa}.calendarDayHeader{justify-content:space-between;align-items:center;display:flex}.calendarDayHeader strong{color:var(--club-deep)}.calendarDayHeader span{color:var(--club-blue);font-size:.68rem;font-weight:900}.calendarSessions{align-content:start;gap:6px;display:grid}.calendarUnavailableSummary{color:#9a3412;overflow-wrap:anywhere;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:5px 6px;font-size:.72rem;font-weight:900;line-height:1.15}.calendarAddActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.calendarSessionChip{border:1px solid var(--line);color:var(--ink);text-align:left;background:#f8fafc;border-radius:8px;gap:2px;width:100%;min-height:58px;padding:7px;line-height:1.2;display:grid}.calendarSessionChip.training{border-left:4px solid var(--club-blue)}.calendarSessionSettings{border:1px solid var(--line);border-radius:8px;margin:14px 0;padding:14px}.calendarSettingsGrid{grid-template-columns:minmax(150px,.4fr) minmax(260px,1fr);gap:10px;display:grid}.calendarSettingsGrid.match{grid-template-columns:minmax(132px,.45fr) minmax(132px,.45fr) minmax(170px,.7fr) minmax(112px,.35fr) minmax(132px,.42fr) minmax(220px,1fr)}.calendarSessionChip.match{border-left:4px solid var(--club-orange)}.calendarSessionChip.isActive{background:#e6f5ef;border-color:#a7dcc9}.calendarSessionChip strong,.calendarSessionChip span,.calendarSessionChip small{overflow-wrap:anywhere}.calendarSessionChip strong{font-size:.78rem}.calendarSessionChip span,.calendarSessionChip small{color:var(--muted);font-size:.72rem}.calendarAddMatch{color:#9a3412;background:#fff7ed;border:1px dashed #fed7aa;border-radius:8px;width:100%;min-height:32px;padding:6px;font-size:.74rem;font-weight:900}.unavailabilityPanel{border:1px solid var(--line);background:#fff;border-radius:8px;margin:14px 0;padding:14px}.playerUnavailabilityPanel{background:#fbfdff}.staffUnavailabilityPanel{background:#fffaf3;border-color:#fed7aa}.unavailabilityForm{grid-template-columns:minmax(130px,.28fr) minmax(130px,.28fr) minmax(220px,1fr) auto;align-items:end;gap:10px;display:grid}.pastUnavailability{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}.pastUnavailability summary{color:var(--muted);cursor:pointer;padding:6px 0;font-size:.88rem;font-weight:700}.pastUnavailability summary:focus-visible{outline-offset:3px;outline:2px solid #9a3412}.pastUnavailability .unavailabilityDate{border-color:var(--line);color:var(--muted);background:#f8fafc}.unavailabilityNoteField{min-width:0}.unavailabilityList{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.unavailabilityList li{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(160px,.35fr) minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.unavailabilityList.staff li{grid-template-columns:minmax(160px,.35fr) minmax(0,1fr)}.unavailabilityDate{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:7px 9px;font-size:.76rem;font-weight:900;line-height:1.25}.unavailabilityList strong,.unavailabilityList small{overflow-wrap:anywhere;display:block}.unavailabilityList small,.unavailabilityEmpty{color:var(--muted)}.unavailabilityEmpty{margin:10px 0 0;font-size:.88rem;font-weight:700}.attendanceSummary{border:1px solid var(--line);background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;margin:14px 0;padding:14px;display:flex}.attendanceSummary h3,.attendanceSummary p{margin-bottom:0}.attendanceSummary p{color:var(--muted);margin-top:4px}.carpoolSummaryPanel{border:1px solid var(--line);background:#fbfdff;border-radius:8px;padding:14px}.carpoolSummaryHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.carpoolSummaryHeader h3,.carpoolSummaryHeader p{margin-bottom:0}.carpoolBalance{color:var(--muted);background:#f1f4f8;border:1px solid #cbd7e4;border-radius:8px;padding:8px 10px;font-size:.82rem;font-weight:900}.carpoolBalance.positive{color:var(--green);background:#e6f5ef;border-color:#a7dcc9}.carpoolSummaryGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.carpoolSummaryGrid span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;padding:10px;font-size:.78rem;font-weight:800}.carpoolSummaryGrid strong{color:var(--club-deep);margin-bottom:4px;font-size:1.28rem;line-height:1;display:block}.carpoolGroupGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.carpoolGroup{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px}.carpoolGroupHeader{justify-content:space-between;align-items:center;display:flex}.carpoolGroupHeader strong{color:var(--ink)}.carpoolGroupHeader span{background:var(--club-light);color:var(--club-blue);border-radius:8px;padding:4px 7px;font-size:.76rem;font-weight:900}.carpoolGroup p,.carpoolGroupList small{color:var(--muted);font-size:.78rem;line-height:1.35}.carpoolGroup p{margin:8px 0 0}.carpoolGroupList{gap:7px;margin:8px 0 0;padding:0;list-style:none;display:grid}.carpoolGroupList li{border-top:1px solid var(--line);gap:2px;padding-top:7px;display:grid}.carpoolGroupList strong{color:var(--ink);font-size:.84rem}.statusTotal,.statusButton,.availabilityButton{border:1px solid var(--line);font-size:.82rem;font-weight:800}.statusTotal{background:#fff;padding:7px 9px}.statusButton,.availabilityButton{color:var(--ink);background:#fff;min-height:36px;padding:7px 10px}.statusButton.isActive.present,.statusTotal.present{color:var(--green);background:#e6f5ef;border-color:#a7dcc9}.statusButton.isActive.late,.statusTotal.late{color:#8a5b00;background:#fff3d8;border-color:#f0ce7a}.statusButton.isActive.injured,.statusTotal.injured{color:var(--blue);background:#eef3f8;border-color:#cbd7e4}.statusTotal.carpool{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.statusTotal.calledUp{background:var(--club-light);color:var(--club-blue);border-color:#b9d7ff}.statusButton.isActive.absent,.statusTotal.absent{color:var(--red);background:#fde8eb;border-color:#efb6bf}.availabilityButton.isActive.available{color:var(--green);background:#e6f5ef;border-color:#a7dcc9}.availabilityButton.isActive.late{color:#8a5b00;background:#fff3d8;border-color:#f0ce7a}.availabilityButton.isActive.unavailable{color:var(--red);background:#fde8eb;border-color:#efb6bf}.availabilityButton.isActive.unknown,.statusTotal.pending{color:var(--muted);background:#f1f4f8;border-color:#cbd7e4}.statusPicker{grid-template-columns:repeat(4,minmax(72px,1fr));gap:7px;display:grid}.availabilityPicker{grid-template-columns:repeat(4,minmax(82px,1fr));gap:7px;display:grid}.calledUpToggle{border:1px solid var(--line);color:var(--club-blue);background:#fff;border-radius:8px;align-items:center;gap:7px;width:fit-content;min-height:32px;margin-top:7px;padding:6px 8px;font-size:.78rem;font-weight:900;display:inline-flex}.calledUpToggle input{accent-color:var(--club-orange)}.calledUpToggle span{color:inherit;margin:0;display:inline}.presenceRow.notCalledUp{background:#f8fafc;border-color:#e3eaf4}.presenceRow{grid-template-columns:minmax(210px,.8fr) minmax(260px,1fr) minmax(320px,1.1fr) 138px}.matchPresenceRow{grid-template-columns:minmax(190px,.75fr) minmax(220px,.9fr) minmax(300px,1fr) 132px;align-items:start}.matchPresenceRow .carpoolCell{grid-column:1/-1}.matchPresenceRow .validationCell{grid-area:1/4}.validationCell{align-items:center;gap:8px;display:grid}.carpoolCell{border:1px solid var(--line);background:#fbfdff;border-radius:8px;grid-template-columns:minmax(300px,1.25fr) minmax(150px,.55fr) minmax(160px,.7fr) 86px minmax(170px,.8fr);align-items:end;gap:8px;padding:10px;display:grid}.carpoolModePicker{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.carpoolModeButton{border:1px solid var(--line);color:var(--ink);text-align:center;background:#fff;border-radius:8px;min-height:36px;padding:7px 8px;font-size:.76rem;font-weight:900;line-height:1.15}.carpoolModeButton.isActive.unset{color:var(--muted);background:#f1f4f8;border-color:#cbd7e4}.carpoolModeButton.isActive.needsSeat{color:#8a5b00;background:#fff3d8;border-color:#f0ce7a}.carpoolModeButton.isActive.driver{color:var(--green);background:#e6f5ef;border-color:#a7dcc9}.carpoolModeButton.isActive.autonomous{background:var(--club-light);color:var(--club-blue);border-color:#b9d7ff}.carpoolDepartureField select,.carpoolAreaInput,.seatInput,.carpoolNoteInput{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;width:100%;min-height:40px;padding:8px 10px}.seatField{color:var(--muted);gap:6px;font-size:.78rem;font-weight:800;display:grid}.seatInput{text-align:center}.carpoolNoteInput{min-width:0}.seatInput:disabled{background:#f8fafc}.validationBadge{color:#8a5b00;background:#fff3d8;border:1px solid #f0ce7a;border-radius:8px;justify-content:center;padding:7px 8px;font-size:.78rem;font-weight:900;display:inline-flex}.validationBadge.done{color:var(--green);background:#e6f5ef;border-color:#a7dcc9}.readonlyStatus{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:4px;min-height:48px;padding:8px 10px;display:grid}.readonlyStatus span{color:var(--muted);font-size:.74rem;font-weight:800}.readonlyStatus strong{color:var(--ink)}.readonlyStatus small{color:var(--muted);line-height:1.35}.compactButton{min-height:34px;padding:6px 9px}.primaryButton,.secondaryButton,.dangerButton{border:1px solid #0000;min-height:40px;padding:9px 13px;font-weight:800}.primaryButton{background:var(--club-blue);color:#fff}.secondaryButton{border-color:var(--club-orange);color:var(--club-deep);background:#fff}.dangerButton{color:var(--red);background:#fff;border-color:#efb6bf}.dangerButton:disabled{cursor:not-allowed;opacity:.45}.dangerButton.subtle{min-height:36px;padding:7px 10px}.selectInput,.textInput,.textArea{color:var(--ink);background:#fff;border:1px solid #b8ccff;width:100%;min-height:40px;padding:8px 10px}.selectInput:focus,.textInput:focus,.textArea:focus{border-color:var(--club-orange);outline:none;box-shadow:0 0 0 3px #ff5a1f29}.textArea{resize:vertical;min-height:96px;line-height:1.4}.privateGrid,.privateEvaluationGrid,.collectiveGrid,.playbookGrid,.scheduleGrid,.animationGrid,.managementGrid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;display:grid}.animationGrid{grid-template-columns:minmax(0,1fr) minmax(200px,260px);align-items:start}.scheduleGrid{grid-template-columns:minmax(0,1fr)}.editPanel{border:1px solid var(--line);border-radius:8px;padding:16px}.fieldGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.fieldGrid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.field{color:var(--muted);gap:6px;margin-bottom:12px;font-size:.78rem;font-weight:800;display:grid}.teamActions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding-top:12px;display:flex}.addPlayerForm{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:10px;margin-bottom:14px;padding:12px;display:grid}.playerEditorList{gap:10px;display:grid}.playerEditRow{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.scheduleEditor{border-top:1px solid var(--line);margin-top:4px;padding-top:12px}.slotList{gap:10px;display:grid}.slotRow{border-top:1px solid var(--line);grid-template-columns:minmax(120px,1fr) 96px 96px;align-items:end;gap:10px;padding-top:10px;display:grid}.slotVenueField,.slotActions{grid-column:1/-1}.slotActions{justify-content:flex-end;display:flex}.scheduleFocus .scheduleEditor{border-top:0;margin-top:0;padding-top:0}.seasonMatchEditor{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.slotReadRow{border:1px solid var(--line);background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.slotReadRow strong,.slotReadRow span{display:block}.slotReadRow>span{color:var(--blue);white-space:nowrap;font-weight:900}.scheduleInfoList{gap:10px;display:grid}.scheduleInfoList article{border-top:1px solid var(--line);gap:5px;padding-top:11px;display:grid}.scheduleInfoList strong{color:var(--ink)}.scheduleInfoList span{color:var(--muted);line-height:1.45}.matchEditorList{gap:10px;display:grid}.matchEditorRow{border-top:1px solid var(--line);grid-template-columns:minmax(132px,.55fr) minmax(140px,.65fr) minmax(110px,.42fr) minmax(132px,.48fr) minmax(150px,.8fr) minmax(180px,1fr) minmax(100px,auto);align-items:end;gap:10px;padding-top:10px;display:grid}.dateInput{cursor:pointer}.fieldHint{color:var(--muted);font-size:.74rem;font-weight:700;line-height:1.3}.matchEditorActions{justify-content:flex-end;display:flex}.seasonMatchCard{border:1px solid var(--line);background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.seasonMatchCard strong,.seasonMatchCard small,.seasonMatchCard p{display:block}.seasonMatchCard strong{color:var(--ink);margin-top:7px}.seasonMatchCard small,.seasonMatchCard p{color:var(--muted)}.seasonMatchCard p{margin:5px 0 0;line-height:1.4}.matchTypePill{color:var(--club-blue);text-transform:uppercase;background:#eef4ff;border:1px solid #c9d9f0;border-radius:8px;padding:5px 7px;font-size:.74rem;font-weight:900;display:inline-flex}.matchTypePill.friendly{color:var(--green);background:#e6f5ef;border-color:#a7dcc9}.matchTypePill.cup{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.matchTypePill.tournament{color:#8a5b00;background:#fff3d8;border-color:#f0ce7a}.emptyState{background:#f8fafc;border:1px dashed #cbd7e4;border-radius:8px;padding:18px}.emptyState strong{margin-bottom:6px;display:block}.emptyState p{color:var(--muted);margin-bottom:0;line-height:1.45}.roleTags{flex-wrap:wrap;gap:7px;margin:14px 0;display:flex}.roleTags span{border:1px solid var(--line);color:var(--muted);background:#f2f5f8;border-radius:8px;padding:7px 9px;font-size:.82rem;font-weight:800}.privateIntro{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(210px,.8fr) minmax(280px,1.1fr) auto;align-items:center;gap:12px;margin-bottom:14px;padding:12px;display:grid}.privatePresenceRecap{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.privatePresenceHeader{justify-content:space-between;align-items:center;gap:10px;display:flex}.privatePresenceHeader span,.privatePresenceHeader small{color:var(--muted);font-size:.78rem;font-weight:800}.privatePresenceHeader strong{color:var(--club-deep);font-size:1.35rem;line-height:1;display:block}.privatePresenceFilters{grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px;display:grid}.privatePresenceCounts{grid-template-columns:repeat(4,minmax(44px,1fr));gap:6px;display:grid}.evaluationStatus{color:var(--green);background:#e6f5ef;border:1px solid #a7dcc9;border-radius:8px;padding:8px 10px;font-size:.82rem;font-weight:900;display:inline-flex}.evaluationStatus.blank{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.observationObjectivesPanel,.physicalSheet{gap:12px;display:grid}.observationObjectivesPanel .tableHeader{margin-bottom:0}.observationObjectivesField{min-height:210px}.observationObjectivesField[readonly]{background:#f8fafc}.physicalTestList{gap:10px;display:grid}.physicalTestRow{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));align-items:end;gap:8px;padding-top:10px;display:grid}.physicalTestRow .field{margin-bottom:0}.customTestNameField,.testNoteField{min-width:0}.directionToggle{border:1px solid var(--line);color:var(--club-blue);background:#f3f7ff;border-radius:8px;align-self:stretch;align-items:center;gap:8px;min-height:42px;padding:10px;font-size:.78rem;font-weight:900;display:flex}.progressPanel{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.progressRule{color:var(--muted);margin-top:2px;font-size:.78rem;font-weight:900;display:block}.compactSelect{max-width:180px}.progressChart{border:1px solid var(--line);background:#fbfdff;border-radius:8px;align-items:end;gap:12px;min-height:220px;padding:14px;display:flex;overflow-x:auto}.progressPoint{flex:0 0 72px;place-items:center;gap:6px;display:grid}.progressTrack{background:#e8eef8;border-radius:8px 8px 0 0;align-items:end;width:100%;height:138px;display:flex;overflow:hidden}.progressTrack span{background:var(--club-orange);width:100%;display:block}.progressPoint strong{color:var(--club-blue);font-size:.86rem}.progressPoint small,.chartEmpty{color:var(--muted);font-size:.78rem;font-weight:800}.sliderList{gap:16px;display:grid}.ratingSlider input{accent-color:var(--club-blue);width:100%}.trendBars{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);align-items:end;gap:14px;height:210px;margin-bottom:16px;padding:10px 18px 0;display:grid}.trendBarGroup{place-items:center;gap:6px;display:grid}.trendBarTrack{background:#edf1f5;align-items:end;width:100%;height:150px;display:flex;overflow:hidden}.trendBarTrack,.trendBarTrack span{border-radius:8px 8px 0 0}.trendBarTrack span{background:var(--blue);width:100%;display:block}.trendBarGroup small{color:var(--muted)}.testGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.matchSheet{gap:12px;display:grid}.matchSheetMeta{grid-template-columns:1.2fr .8fr .6fr;gap:10px;display:grid}.indicatorTable{border:1px solid var(--line);border-radius:8px;overflow:hidden}.indicatorRow{grid-template-columns:minmax(150px,.9fr) minmax(140px,.7fr) minmax(92px,.4fr) minmax(180px,1.2fr);align-items:center;gap:0;display:grid}.indicatorRow>*{border-left:1px solid var(--line);min-height:42px;padding:9px 10px}.indicatorRow>:first-child{border-left:0}.indicatorRow+.indicatorRow{border-top:1px solid var(--line)}.indicatorHeader{background:var(--club-blue);color:#fff;text-transform:uppercase;font-size:.76rem;font-weight:900}.indicatorRow strong{color:var(--club-blue);font-size:.84rem}.indicatorHeader span{color:#fff}.compactInput{text-align:center}.synthesisGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.synthesisGrid .field{background:var(--club-light);border:1px solid #c9d9f0;border-radius:8px;margin-bottom:0;padding:10px}.synthesisGrid .field.fragile{background:#fff7ed;border-color:#fed7aa}.ratingScale{gap:8px;margin-bottom:14px;display:grid}.ratingScale article{border:1px solid var(--line);background:#fbfdff;border-radius:8px;gap:3px;padding:9px 10px;display:grid}.ratingScale strong{color:var(--club-blue)}.ratingScale span{color:var(--muted);font-size:.82rem;line-height:1.35}.quickReview{border-top:1px solid var(--line);gap:8px;margin-top:14px;padding-top:14px;display:grid}.compactArea{min-height:64px}.debriefList article,.principleList article{border-top:1px solid var(--line);padding-top:12px}.debriefList strong,.principleList strong{margin-bottom:5px;display:block}.debriefList p,.principleList p{color:var(--muted);margin-bottom:0;line-height:1.45}.principleList article{grid-template-columns:40px 1fr;gap:8px;display:grid}.principleList article p{grid-column:2}.principleList article span{background:var(--navy);color:#fff;justify-content:center;align-items:center;width:34px;height:34px;font-weight:800;display:inline-flex}.roleBoard{gap:10px;display:grid}.roleLine{border-top:1px solid var(--line);grid-template-columns:110px 1fr;gap:8px;padding-top:11px;display:grid}.courtPanel{min-width:0;overflow-x:visible}.animationGrid .courtPanel{padding:14px;overflow:hidden}.playMenus{background:var(--club-deep);border:1px solid var(--club-blue);border-radius:8px;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);align-items:end;gap:10px;width:100%;min-width:0;margin-bottom:12px;padding:12px;display:grid}.menuField{color:#fff;text-transform:uppercase;gap:6px;font-size:.76rem;font-weight:900;display:grid}.playMenus .selectInput{border-color:var(--club-orange);color:var(--club-deep);font-weight:800}.accessTeamTags{border:1px solid var(--line);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;width:100%;min-width:0;margin-bottom:12px;padding:9px 10px;display:flex}.accessTeamTags strong{color:var(--club-blue);text-transform:uppercase;font-size:.8rem;font-weight:900}.accessTeamTags span,.teamAccessOption{background:var(--club-light);color:var(--club-deep);border:1px solid #c9d9f0;border-radius:8px;padding:7px 9px;font-size:.82rem;font-weight:900}.teamAccessEditor{border:1px solid var(--line);border-radius:8px;gap:10px;margin:0;padding:12px;display:grid}.teamAccessEditor legend{color:var(--club-blue);padding:0 4px;font-weight:900}.teamAccessEditor p{color:var(--muted);margin:0;font-size:.86rem;line-height:1.4}.teamAccessList{flex-wrap:wrap;gap:8px;display:flex}.teamAccessOption{cursor:pointer;align-items:center;gap:7px;display:inline-flex}.teamAccessOption input{accent-color:var(--club-orange)}.courtStage{touch-action:none;-webkit-user-select:none;user-select:none;gap:8px;width:100%;min-width:0;display:grid}.benchLine{flex-wrap:wrap;align-items:center;gap:8px;min-height:42px;display:flex}.benchLine.top{justify-content:flex-end;padding-right:10%}.benchLine.bottom{justify-content:flex-start;padding-left:10%}.court{aspect-ratio:2;border:4px solid var(--club-blue);background:#dff0ff;border-radius:2px;width:100%;min-width:0;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #c9d9f0,0 10px 30px #0a2e7314}.court.isPlayback{overflow:hidden}.courtViewport{aspect-ratio:2;width:100%;position:relative}.courtViewport .court{height:100%}.courtLines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.courtLines path,.courtLines circle{vector-effect:non-scaling-stroke}.halfwayLine,.throwOffCircle{fill:none;stroke:#547c9b;stroke-width:1.5px}.goalArea{fill:#bedced;stroke:var(--club-blue);stroke-width:2px}.freeThrowLine{fill:none;stroke:var(--club-blue);stroke-width:1.8px;stroke-dasharray:5 5}.penaltyLine{fill:none;stroke:var(--club-blue);stroke-width:2px}.goalMouth{fill:none;stroke:var(--club-orange);stroke-width:5px}.portraitCourtHint{display:none}.courtStage:not(.isEditing),.courtStage:not(.isEditing) .courtDot,.courtStage:not(.isEditing) .ballDot{touch-action:pan-y}.courtDot{color:#fff;height:38px;left:var(--x);top:var(--y);z-index:2;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:38px;font-size:.72rem;font-weight:900;transition:none;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.court.arrowMode{cursor:crosshair}.passLayer{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.passLayer line{marker-end:url(#passArrow);stroke:var(--club-orange);stroke-dasharray:4 3;stroke-linecap:round;stroke-width:1.8px}.passLayer marker path{fill:var(--club-orange)}.ballDot{border:3px solid var(--club-orange);color:var(--club-deep);height:26px;left:var(--x);top:var(--y);z-index:4;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;font-size:.9rem;font-weight:900;transition:none;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.courtDot,.ballDot{touch-action:none;-webkit-user-select:none;user-select:none}.courtDot.attack.field,.benchDot.attack{background:var(--club-orange);color:#fff;border-color:#fff;box-shadow:0 0 0 2px #0a2e7333}.courtDot.defense.field,.benchDot.defense{background:var(--club-blue);color:#fff;border-color:#fff}.courtDot.keeper{border-radius:8px}.courtDot.attack.keeper{background:var(--club-orange);color:#fff;border-color:#fff;box-shadow:0 0 0 2px #0a2e7333}.courtDot.defense.keeper{box-shadow:0 0 0 2px var(--club-blue);color:var(--club-blue);background:#fff;border-color:#fff}.benchDot{cursor:grab;touch-action:none;color:#fff;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:.72rem;font-weight:900;display:inline-flex}.courtControls{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.secondaryButton.isActive{background:var(--club-orange);border-color:var(--club-orange);color:#fff}.saveFeedback{color:var(--green);font-size:.82rem;font-weight:900}.editNotice{color:var(--muted);font-size:.82rem;font-weight:800}.courtLegend{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.courtLegend span{border:1px solid var(--line);color:var(--muted);background:#f8fafc;border-radius:8px;align-items:center;gap:7px;padding:7px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.legendDot{border:2px solid #fff;border-radius:50%;width:14px;height:14px;display:inline-block}.legendDot.attack{background:var(--club-orange);border-color:#fff}.legendDot.defense{background:var(--club-blue)}.legendDot.keeper{border-color:var(--club-blue);background:#fff}.legendDot.bench{background:linear-gradient(90deg, var(--club-orange) 0 50%, var(--club-blue) 50% 100%);border-color:#fff}.stepButton{border:1px solid var(--line);color:var(--muted);background:#fff;width:36px;height:36px;font-weight:900}.stepButton.isActive{background:var(--club-orange);color:#fff}.playDetail dl{gap:10px;margin:0;display:grid}.animationGrid .playDetail{padding:12px}.animationGrid .playDetail h3{margin-bottom:12px;font-size:1.05rem;line-height:1.25}.playDetail dt{color:var(--club-blue);text-transform:uppercase;margin-bottom:4px;font-size:.7rem;font-weight:900}.playDetail dd{margin:0;font-size:.9rem;line-height:1.38}.playEditForm{border-bottom:1px solid var(--line);gap:2px;margin-bottom:14px;padding-bottom:8px;display:grid}.projectEditorPanel{align-content:start;gap:12px;display:grid}.projectTextArea{white-space:pre-wrap;min-height:220px}.animationGrid .playEditForm .field{margin-bottom:8px}.animationGrid .playEditForm .textArea{min-height:76px}@media (max-width:1280px){.animationGrid{grid-template-columns:1fr}}@media (max-width:1100px){.topBand,.accessPanel,.accountChooser,.workspace,.privateGrid,.privateEvaluationGrid,.collectiveGrid,.playbookGrid,.scheduleGrid,.animationGrid,.managementGrid{grid-template-columns:1fr}.sideNav{display:flex;position:static;overflow-x:auto}.navButton{flex:none;min-width:135px}.kpiGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.appShell{padding:12px}.topBand{padding:20px}.brandLockup{grid-template-columns:92px minmax(0,1fr);align-items:start}.clubLogo{width:92px;max-height:92px}.protectedGate{padding:24px}.protectedGateLogo{width:min(180px,62vw);max-height:180px}h1{font-size:1.8rem}h2{font-size:1.25rem}.contextStrip,.kpiGrid,.accountChooser,.memberAccessRow,.playerAssignmentRow,.playerRow,.attendanceRow,.attendanceFilters,.presenceRow,.matchPresenceRow,.presenceStatRow,.presenceStatCounts,.carpoolSummaryGrid,.carpoolGroupGrid,.calendarGrid,.calendarSettingsGrid,.calendarSettingsGrid.match,.unavailabilityForm,.unavailabilityList li,.unavailabilityList.staff li,.privatePresenceFilters,.privatePresenceCounts,.carpoolCell,.privateIntro,.physicalTestRow,.slotRow,.matchEditorRow,.weeklyTrainingRow,.testGrid,.matchSheetMeta,.indicatorRow,.synthesisGrid,.roleLine,.fieldGrid,.fieldGrid.compact{grid-template-columns:1fr}.moduleHeader,.attendanceSummary,.attendanceCalendarHeader,.carpoolSummaryHeader,.playerPreviewBanner,.courtControls,.weeklyTrainingRow,.weeklyTrainingActions,.teamActions{flex-direction:column;align-items:stretch}.statusPicker,.availabilityPicker{grid-template-columns:repeat(2,minmax(0,1fr))}.matchPresenceRow .carpoolCell,.matchPresenceRow .validationCell{grid-area:auto}.carpoolModePicker{grid-template-columns:repeat(2,minmax(0,1fr))}.calendarWeekdays{display:none}.calendarDay{min-height:0}.calendarDay.isOutside{display:none}.playerCalendarMode .calendarWeekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.playerCalendarMode .calendarGrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.playerCalendarMode .calendarDay{aspect-ratio:1;align-content:start;gap:3px;min-height:0;padding:5px}.playerCalendarMode .calendarDay.isOutside{display:grid}.playerCalendarMode .calendarDayHeader strong{font-size:.72rem}.playerCalendarMode .calendarDayHeader span{display:none}.playerCalendarMode .calendarUnavailableSummary{text-align:center;padding:3px 2px;font-size:.56rem}.playerCalendarMode .calendarSessions{gap:2px}.playerCalendarMode .calendarSessionChip{text-align:center;border-left-width:0;min-height:18px;padding:2px}.playerCalendarMode .calendarSessionChip strong{font-size:0}.playerCalendarMode .calendarSessionChip strong:after{content:"Entr.";font-size:.56rem}.playerCalendarMode .calendarSessionChip.match strong:after{content:"Match"}.playerCalendarMode .calendarSessionChip span,.playerCalendarMode .calendarSessionChip small{display:none}.headerActions{justify-content:stretch}.court{min-width:0}.playMenus{grid-template-columns:1fr;min-width:0}.accessTeamTags,.courtStage{min-width:0}.courtDot,.benchDot{width:32px;height:32px;font-size:.64rem}.ballDot{width:22px;height:22px;font-size:.78rem}.slotReadRow,.seasonMatchCard{flex-direction:column;align-items:stretch}.slotReadRow>span{white-space:normal}}.academyIntro{background:#f2f7f4;border:1px solid #d7e4dd;border-radius:16px;justify-content:space-between;gap:24px;padding:22px;display:flex}.academyIntro p{max-width:780px;line-height:1.6}.academyActions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.academyFilters{flex-wrap:wrap;align-items:end;gap:16px;margin:24px 0;display:flex}.academyFilters .field{flex:1;min-width:150px}.academyEditor{gap:18px;margin:24px 0;display:grid}.academyEditorFields{border:0;gap:18px;min-width:0;margin:0;padding:0;display:grid}.academyError{color:#922c22;background:#fff0ed;border-radius:10px;padding:16px}.academyEntry{border:1px solid #d7e4dd;border-radius:12px;margin-top:12px;overflow:hidden}.academyEntry summary{cursor:pointer;background:#f7faf8;align-items:center;gap:18px;padding:18px;display:flex}.academyEntry summary:before{content:"▸"}.academyEntry[open] summary:before{content:"▾"}.academyEntry summary>span{flex:1;gap:6px;display:grid}.academyEntry summary:focus-visible{outline-offset:-3px;outline:3px solid #1e7352}.academyEntryBody{padding:22px}.academyEntryBody p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.academyEntryBody .academyActions{margin-top:18px}@media (max-width:700px){.academyIntro{flex-direction:column}.academyEntry summary{flex-wrap:wrap}.academyEntry summary small{width:100%}}@media (max-width:760px) and (orientation:portrait){.courtViewport{aspect-ratio:1/2}.courtViewport .court{transform-origin:0 0;border-width:2px;width:200%;height:50%;position:absolute;top:0;left:100%;transform:rotate(90deg)}.courtViewport .courtDot,.courtViewport .ballDot{transform:translate(-50%,-50%)rotate(-90deg)}.courtViewport .courtDot{width:28px;height:28px;font-size:.64rem}.courtViewport .ballDot{border-width:2px;width:18px;height:18px;font-size:.65rem}.animationGrid .courtPanel{padding:8px}.portraitCourtHint{color:var(--muted);margin:8px 0;font-size:.8rem;display:block}.courtStage .benchLine:empty{display:none}}.refereeRatings{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:20px 0;display:grid}.refereeScores{gap:10px;display:grid}.refereeScores>div{border-bottom:1px solid #dce5e3;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:10px 0;display:flex}.refereeScores dd{margin:0;font-weight:600}.summaryPlayerRow{grid-template-columns:1.1fr .75fr 1.4fr}.summaryTest{overflow-wrap:anywhere;gap:5px;min-width:0;display:grid}.summaryTest small,.summaryExplanation{color:var(--muted)}.summaryExplanation{margin:16px 0;line-height:1.5}@media (max-width:700px){.summaryPlayerRow{grid-template-columns:1fr}}
