.analytics-page{max-width:1200px;margin:0 auto;padding-bottom:40px}
.analytics-page-head{align-items:flex-end}
.analytics-page-head h1{font-family:var(--display);font-size:clamp(30px,3vw,44px);font-weight:500;line-height:1.08}
.analytics-head-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.analytics-overview{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.85fr);gap:20px}
.analytics-occupancy,.analytics-attendance{border-radius:var(--radius);padding:30px 32px;min-width:0}
.analytics-occupancy{background:var(--feature);color:var(--feature-ink)}
.analytics-occupancy .eyebrow{color:var(--feature-muted)}
.analytics-occupancy h2{font-family:var(--display);font-size:clamp(64px,7vw,94px);font-weight:500;line-height:1;letter-spacing:-.065em;margin:16px 0 12px;font-variant-numeric:tabular-nums}
.analytics-occupancy h2 small{font-family:Aptos,"Segoe UI",sans-serif;font-size:15px;letter-spacing:0;font-weight:500;margin-left:14px;color:var(--feature-muted);white-space:nowrap}
.analytics-occupancy p,.analytics-attendance p{font-size:13px;line-height:1.55;margin:0 0 24px}
.analytics-occupancy p{color:var(--feature-muted)}
.analytics-progress{height:12px;border-radius:20px;background:rgba(255,255,255,.15);overflow:hidden}
.analytics-progress span{display:block;height:100%;border-radius:inherit;background:var(--feature-accent)}
.analytics-progress-note{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:12px;font-size:12px;color:var(--feature-muted)}
.analytics-progress-note strong{color:var(--feature-ink);font-weight:650}
.analytics-attendance{background:var(--accent-soft);border:1px solid var(--line);display:flex;flex-direction:column}
.analytics-attendance h2{font-family:var(--display);font-size:clamp(48px,5vw,66px);font-weight:500;letter-spacing:-.05em;line-height:1.1;margin:22px 0 10px;font-variant-numeric:tabular-nums;color:var(--ink)}
.analytics-attendance p{color:var(--secondary)}
.analytics-attendance-key{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--secondary);font-size:12px}
.analytics-attendance-key span{display:flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums}
.analytics-attendance-key i{width:8px;height:8px;border-radius:50%;background:var(--success)}
.analytics-attendance-key i.absent{background:var(--danger)}
.analytics-status{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-block:1px solid var(--line);margin:24px 0 42px;padding:20px 0}
.analytics-metric{padding:0 17px;border-left:1px solid var(--line);min-width:0;display:grid;align-content:start;gap:5px}
.analytics-metric:first-child{border-left:0;padding-left:0}
.analytics-metric>span{font-size:11px;color:var(--secondary);font-weight:650}
.analytics-metric strong{font-size:28px;line-height:1.15;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.analytics-metric small{font-size:10px;color:var(--muted);line-height:1.4}
.analytics-metric.present strong{color:var(--success)}
.analytics-metric.absent strong,.analytics-metric.cancelled strong{color:var(--danger)}
.analytics-metric.waitlist strong{color:var(--warning)}
.analytics-section-title{margin:40px 0 18px}
.analytics-section-title .eyebrow{display:block;margin-bottom:8px}
.analytics-section-title h2{font-family:var(--display);font-size:27px;font-weight:500;letter-spacing:-.025em;margin:0 0 6px}
.analytics-section-title p{color:var(--secondary);font-size:12px;margin:0}
.analytics-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.analytics-panel{display:flex;flex-direction:column;min-height:300px}
.analytics-panel-head{margin-bottom:23px}
.analytics-panel-head h2{font-size:18px;font-weight:650;margin:0 0 5px}
.analytics-panel-head p{font-size:12px;color:var(--secondary);margin:0}
.analytics-bars{display:grid;gap:17px}
.analytics-bar-label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:7px;font-size:12px}
.analytics-bar-label strong{font-weight:600;overflow-wrap:anywhere}
.analytics-bar-label span{color:var(--secondary);white-space:nowrap;font-variant-numeric:tabular-nums}
.analytics-bar-track{height:7px;background:var(--inset);border-radius:6px;overflow:hidden}
.analytics-bar-track span{display:block;height:100%;border-radius:inherit;background:var(--accent)}
.analytics-bar-track span.sex{background:var(--success)}
.analytics-age-footer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border-top:1px dashed var(--line);padding-top:18px;margin-top:auto}
.analytics-age-footer div{display:grid;gap:4px}
.analytics-age-footer span{font-size:10px;color:var(--secondary)}
.analytics-age-footer strong{font-size:17px;font-weight:650;font-variant-numeric:tabular-nums}
.analytics-empty{color:var(--secondary);font-size:13px;background:var(--control);border-radius:8px;padding:24px;line-height:1.5}
.analytics-more{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}
.analytics-more summary{cursor:pointer;color:var(--accent);font-size:12px;font-weight:650;min-height:32px}
.analytics-more .analytics-bars{padding:12px 0}
.analytics-acquisition .analytics-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
@media(max-width:780px){.analytics-acquisition .analytics-bars{grid-template-columns:1fr}}
@media(max-width:1060px){.analytics-status{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:22px}.analytics-metric:nth-child(4){border-left:0;padding-left:0}}
@media(max-width:780px){.analytics-overview,.analytics-two-columns{grid-template-columns:1fr}.analytics-page-head{align-items:flex-start;flex-direction:column}.analytics-head-actions{justify-content:flex-start}.analytics-attendance{min-height:230px}}
@media(max-width:520px){.analytics-occupancy,.analytics-attendance{padding:24px}.analytics-occupancy h2 small{display:block;margin:7px 0 0}.analytics-status{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}.analytics-metric:nth-child(odd){border-left:0;padding-left:0}.analytics-metric:nth-child(4){border-left:1px solid var(--line);padding-left:17px}.analytics-metric strong{font-size:25px}.analytics-age-footer{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-page-head h1{font-size:32px}}
