/* Isolated layout: does not change monthly statistics or attendance calendars. */
.clubStatsPeriodShell{min-width:0;width:100%}
.clubStatsPeriodShell [hidden],.clubPcInsightsWorkspace.clubOverallActive>.clubCalendarPanel[hidden]{display:none!important}
.clubStatsPeriodTabs{display:flex;justify-content:center;align-items:center;gap:6px;padding:5px;margin:0 auto 18px;max-width:340px;border:1px solid #dce5ef;border-radius:13px;background:#f3f6fa}
.clubStatsPeriodTabs button{flex:1;min-width:0;min-height:42px;padding:10px 16px;border:0;border-radius:9px;background:transparent;color:#59687b;font:inherit;font-weight:750;line-height:1.3;text-align:center;cursor:pointer}
.clubStatsPeriodTabs button[aria-selected=true]{background:#fff;color:#175eaf;box-shadow:0 2px 7px #213c5f12}
.clubStatsPeriodTabs button:focus-visible,[data-club-overall-root] button:focus-visible{outline:3px solid #1c76da;outline-offset:3px}
.clubPcInsightsWorkspace.clubOverallActive{grid-template-columns:minmax(0,1fr)!important}
/* The existing statistics panel uses size containment and normally borrows its
   row height from the calendar. Give the standalone overall view its own track. */
html[data-pe-tab="clubs"] #app.clubScreen[data-club-windows-pc="true"] .clubPcInsightsWorkspace.clubOverallActive{height:max(400px,calc(100dvh - 260px));min-height:400px}
html[data-pe-tab="clubs"] #app.clubScreen[data-club-windows-pc="true"] .clubStatsPanel>.clubStatsPeriodShell{display:flex;flex:1 1 0;flex-direction:column;min-height:0}
html[data-pe-tab="clubs"] #app.clubScreen[data-club-windows-pc="true"] .clubStatsPeriodTabs{flex:none;width:min(100%,340px)}
html[data-pe-tab="clubs"] #app.clubScreen[data-club-windows-pc="true"] [data-club-monthly-root]{display:flex;flex:1 1 0;flex-direction:column;min-height:0;min-width:0}
html[data-pe-tab="clubs"] #app.clubScreen[data-club-windows-pc="true"] [data-club-overall-root]{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px 5px 12px 2px;scrollbar-gutter:stable}
[data-club-overall-root]{min-width:0;color:#23364c;text-align:left}
.clubOverallHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.clubOverallHeader h3,.clubOverallStudentHeading h4{margin:0;font-size:17px;line-height:1.5;font-weight:800;word-break:keep-all;overflow-wrap:anywhere}
.clubOverallHeader p,.clubOverallStudentHeading p{margin:5px 0 0;color:#64748b;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.clubOverallScopeBadge{flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:20px;padding:7px 12px;background:#eaf3ff;color:#2263a7;font-size:12px;font-weight:750;white-space:nowrap}
.clubOverallDepartmentGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}
.clubOverallDepartment{display:flex;flex-direction:column;gap:10px;min-width:0;width:100%;padding:17px;border:1px solid #dce5ee;border-radius:13px;background:#fff;font:inherit;text-align:left;color:inherit;cursor:pointer;box-shadow:0 2px 8px #273e5910}
.clubOverallDepartment[aria-pressed=true]{border-color:#508cd0;background:#f3f8ff;box-shadow:0 0 0 1px #508cd0}
.clubOverallDepartmentTitle{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.clubOverallDepartmentTitle strong{font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.clubOverallDepartmentTitle>b{flex:none;color:#2365b1;font-size:21px;font-variant-numeric:tabular-nums}
.clubOverallDepartmentMeta,.clubOverallDepartmentRange{display:block;color:#64748b;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.clubOverallDepartmentMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 4px;text-align:center;padding:10px 0;border-top:1px solid #e2e9f0;border-bottom:1px solid #e2e9f0}
.clubOverallDepartmentMetrics>span{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;color:#64748b;white-space:nowrap}
.clubOverallDepartmentMetrics b{color:#293e55;font-size:14px;font-variant-numeric:tabular-nums}
.clubOverallNotice,.clubOverallFootnote{margin:14px 0;color:#63748a;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.clubOverallNotice{padding:11px 13px;border-radius:9px;background:#f5f7fa}
.clubOverallStudents{min-width:0;margin-top:22px}
.clubOverallStudentHeading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}
.clubOverallStudentHeading>span{flex:none;color:#64748b;font-size:12px}
.clubOverallTableWrap{width:100%;min-width:0;overflow-x:auto;border:1px solid #dce5ed;border-radius:12px;overscroll-behavior-x:contain}
.clubOverallTable{width:100%;min-width:620px;border-collapse:collapse;table-layout:fixed;text-align:center;font-size:13px}
.clubOverallTable th,.clubOverallTable td{padding:11px 5px;border-bottom:1px solid #e8edf3;vertical-align:middle;text-align:center;line-height:1.5}
.clubOverallTable thead th{background:#f4f7fb;color:#51657d;font-weight:750;white-space:nowrap}
.clubOverallTable th:first-child{width:31%}
.clubOverallTable tbody tr:last-child>*{border-bottom:0}
.clubOverallTable .clubOverallStudentName{padding-left:12px;padding-right:12px;font-weight:500;overflow-wrap:anywhere}
.clubOverallStudentName small{display:block;color:#7b899b;font-size:11px;margin-top:3px}
.clubOverallRate{color:#2469b4;font-variant-numeric:tabular-nums}
.clubOverallCount{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;max-width:100%;padding:5px;border:1px solid #dbe7f5;border-radius:8px;background:#f1f7ff;color:#2465ac;font:inherit;font-weight:750;font-variant-numeric:tabular-nums;cursor:pointer}
.clubOverallCount:disabled{border-color:transparent;background:transparent;color:#8d9aab;cursor:default}
.clubOverallMessage{padding:35px 16px;border:1px dashed #dce5ed;border-radius:12px;text-align:center;color:#6c7b8e;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.clubOverallMessage p{margin:0}
.clubOverallMessage.error{color:#a24848;background:#fff9f9;border-color:#edcccc}
.clubOverallMessage button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin-top:13px;padding:8px 16px;border:1px solid #bfd0e5;border-radius:9px;background:#fff;color:#2d5d96;font:inherit;font-weight:700;cursor:pointer}
body.mobileClubView #mobileClubRoot .clubStatsPeriodShell{padding:0}
body.mobileClubView #mobileClubRoot [data-club-overall-root]{padding:16px;background:#fff;border:1px solid #dce5ef;border-radius:16px}
@media(max-width:768px){
  .clubStatsPeriodTabs{max-width:100%;margin-bottom:13px}
  .clubOverallHeader{align-items:flex-start}
  .clubOverallHeader h3,.clubOverallStudentHeading h4{font-size:16px}
  .clubOverallScopeBadge{padding:6px 9px;font-size:11px}
  .clubOverallDepartmentGrid{grid-template-columns:1fr}
  .clubOverallDepartment{padding:14px}
  .clubOverallStudentHeading{align-items:flex-start}
  .clubOverallTableWrap{border:0;overflow:visible;border-radius:0}
  .clubOverallTable{display:block;min-width:0;width:100%;font-size:12px}
  .clubOverallTable thead{display:none}
  .clubOverallTable tbody{display:grid;gap:12px;width:100%}
  .clubOverallTable tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;border:1px solid #dce5ed;border-radius:12px;padding:12px;gap:10px 4px;box-sizing:border-box}
  .clubOverallTable tbody th,.clubOverallTable tbody td{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;min-width:0;border:0}
  .clubOverallTable tbody .clubOverallStudentName{display:block;grid-column:1/3;width:auto;text-align:left;align-self:center;padding:0;font-size:13px}
  .clubOverallTable .clubOverallRate{grid-column:3;font-size:18px}
  .clubOverallTable tbody td:not(.clubOverallRate)::before{content:attr(data-label);font-size:11px;color:#687b91}
  .clubOverallCount{min-width:44px;min-height:40px}
}
