@font-face{font-family:'Barlow Condensed';src:url('/fonts/barlow-condensed-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
.gym-demo{--club-green:#12392e;--club-paper:#f7f6ef;--club-accent:#d5ed53;--club-rule:#bcc7b9;--club-ink:#192d22;--club-display:'Barlow Condensed','Arial Narrow',sans-serif;padding-block:1.4rem 4rem;color:var(--club-ink)}
.demo-intro,.demo-apply,.club-day{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap}
.demo-intro{padding:1.8rem 0 1.6rem}.demo-intro h1,.demo-apply h2{font:550 clamp(2.7rem,6vw,5.2rem)/1.03 'DM Sans',system-ui,sans-serif;letter-spacing:-.06em}
.demo-intro p,.demo-apply p{max-width:62ch;line-height:1.5;color:#45574b;margin-top:.7rem}.demo-intro .button-dark,.demo-apply .button-dark{white-space:nowrap}
.demo-workbench,.sample-periods{min-width:0;padding:0;margin:0;border:0}.demo-workbench{border:1px solid #a7b5a7;border-radius:6px;overflow:hidden;background:var(--club-paper)}
.demo-brand{display:flex;align-items:center;gap:.6rem;padding:.85rem clamp(1rem,2.3vw,2rem);background:var(--club-green);color:#fff}.demo-brand strong{font-weight:650;letter-spacing:-.04em;font-size:1.22rem}.demo-brand small{margin-left:auto;color:#d5e0ce;font-size:.83rem}
.demo-radio{position:absolute;opacity:0;inline-size:1px;block-size:1px;margin:0;overflow:hidden}
.demo-radio+label{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;min-height:44px;line-height:1.25;background:transparent;color:#284332;border:1px solid #90a18b;font-weight:620;padding:.4rem .8rem;border-radius:4px;font-size:.95rem;touch-action:manipulation}
.demo-radio:checked+label{background:var(--club-green);border-color:var(--club-green);color:white}.demo-radio:focus-visible+label{outline:3px solid #197ac1;outline-offset:3px}
.demo-workbench>.demo-radio+label{margin-top:1rem}.demo-workbench>#demo-owner+label{margin-left:clamp(1rem,2.3vw,2rem)}
.club-role-pane{display:none;padding:clamp(1rem,2.3vw,2rem)}#demo-owner:checked~.owner-pane,#demo-member:checked~.member-pane{display:block}
.club-day{border-bottom:1px solid var(--club-rule);padding:.3rem 0 1.2rem;margin-bottom:1.4rem}.club-day small,.date-caption,.club-day p span{color:#4c6153;font-size:.87rem;font-weight:550}.club-day h2{font:700 clamp(3.6rem,7vw,6.8rem)/.98 var(--club-display);text-transform:uppercase;letter-spacing:-.035em;margin:.35rem 0 0}.club-day p{font-weight:650;line-height:1.4}.gym-demo h3{font:700 clamp(1.5rem,2.35vw,2.3rem)/1.12 var(--club-display);text-transform:uppercase;letter-spacing:-.022em;margin:0 0 .7rem}
.club-desk-grid,.member-cards{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(13rem,1fr);gap:clamp(1rem,3vw,3.4rem)}
.sample-session{border-top:1px solid var(--club-rule)}.sample-session summary,.sample-log summary{display:grid;grid-template-columns:4.5rem minmax(0,1fr) auto;gap:clamp(.5rem,1vw,1.1rem);align-items:start;cursor:pointer;padding:1rem 0;list-style:none;min-height:44px}.sample-session summary:hover,.sample-log summary:hover{background:#edf1e6}.sample-session summary::-webkit-details-marker,.sample-log summary::-webkit-details-marker{display:none}.sample-session time{font:700 1.8rem/1.1 var(--club-display)}.sample-session summary>span:first-of-type,.sample-log summary>span{border-left:3px solid var(--club-accent);padding-left:.7rem}.sample-session small,.sample-log small,.member-cards small{display:block;color:#4c6153;font-size:.84rem;font-weight:550;margin-top:.12rem}.sample-session summary>span:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:650}.sample-session summary>span:last-child::after{content:'Expand';font-size:.72rem;text-decoration:underline;color:#4c6153}.sample-session[open] summary>span:last-child::after{content:'Close'}
.session-roster{padding:0 .9rem .9rem 5.2rem}.session-roster h4{font-size:.95rem;margin:0}.session-roster ul{margin:.4rem 0;padding:0;list-style:none;display:flex;gap:.3rem .8rem;flex-wrap:wrap}.session-roster li{font-size:.88rem}.session-roster p{font-size:.85rem;color:#405a46}
.sample-roster-panel{border-left:1px solid var(--club-rule);padding-left:clamp(1rem,2vw,2rem)}.sample-roster-panel label{display:grid;font-size:.84rem;font-weight:600;gap:.3rem}
.sample-roster-panel input{min-height:44px;padding:.45rem .6rem;font:inherit;font-size:1rem;border-radius:4px;border:1px solid #91a28f;background:#fffef8;color:var(--club-ink);width:100%}
.demo-roster{max-height:12.6rem;overflow-y:auto;list-style:none;padding:0;margin:.6rem 0 0;scrollbar-gutter:stable}.demo-roster li{display:flex;align-items:baseline;justify-content:space-between;gap:.4rem .7rem;border-bottom:1px solid var(--club-rule);padding:.45rem 0;flex-wrap:wrap}.demo-roster small{font-size:.8rem;color:#4b6051}
.club-report-block{border-top:1px solid var(--club-rule);padding-top:1.2rem;margin-top:1.35rem}.sample-periods legend{font-size:.86rem;font-weight:600;margin:0 0 .4rem}.sample-periods>.demo-radio+label{font-size:.87rem}
.period-panel{display:none;margin-top:.65rem}#period-1:checked~.report-panel-1,#period-4:checked~.report-panel-4,#period-8:checked~.report-panel-8{display:block}
.sample-stats,.sample-charts{display:grid;gap:1rem}.sample-stats{grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--club-rule);padding:.8rem 0;margin:.6rem 0}.sample-stats>div{padding-left:1rem;border-left:1px solid var(--club-rule)}.sample-stats>div:first-child{padding:0;border:0}.sample-stats dt,.credit-count dt{color:#465c4b;font-size:.86rem}.sample-stats dd,.credit-count dd{font:700 2.35rem/1.05 var(--club-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.sample-charts{grid-template-columns:1fr 1fr}.club-trend{min-width:0;padding:.5rem 0}.club-trend figcaption{font-weight:650}.club-trend svg{display:block;width:100%;height:auto;overflow:visible}.club-trend svg text{fill:#4b6052;font:10px 'DM Sans',sans-serif;font-variant-numeric:tabular-nums}.club-trend svg .point-value{font-weight:650;fill:#203826}.trend-grid{stroke:#b8c7b6;stroke-width:1}.visit-trend .trend-bar{fill:#315f47}.join-trend .trend-bar{fill:#698638}
.sample-source summary,.sample-log summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600}.sample-source table{width:100%;text-align:left;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.9rem}.sample-source caption{text-align:left;color:#506953;margin:.4rem 0}.sample-source :is(th,td){border-bottom:1px solid var(--club-rule);padding:.45rem .2rem}
.member-cards{grid-template-columns:1fr 1fr}.member-cards>section{padding:.7rem 0}.member-cards>section+section{padding-left:1.1rem;border-left:1px solid var(--club-rule)}.member-next{font-size:1.25rem}.member-cards p,.sample-log p{margin:.5rem 0;color:#43594b}.credit-count{display:flex;gap:1.3rem;flex-wrap:wrap}.credit-count dd{font-size:1.9rem}
.sample-goal{border-block:1px solid var(--club-rule);padding:1.1rem 0;margin:1rem 0;display:grid;grid-template-columns:1.5fr 1fr;gap:1rem;align-items:center}.sample-goal small{color:#455c4c}.sample-goal h3{margin:.3rem 0 0}.sample-goal progress{display:block;width:100%;height:1rem;accent-color:var(--club-green)}
.sample-log summary{border-top:1px solid var(--club-rule);grid-template-columns:4.5rem 1fr;align-items:center}.sample-log p{margin:0 0 1rem 5.2rem}.demo-apply{margin-block:clamp(2rem,4.5vw,4.3rem);border-top:1px solid var(--club-rule);padding-top:1.3rem}.demo-apply h2{font-size:clamp(1.9rem,3.5vw,3.45rem)}
.gym-demo :is(summary,input,a):focus-visible{outline:3px solid #197ac1;outline-offset:2px}
@media(max-width:710px){.club-desk-grid,.member-cards,.sample-charts{grid-template-columns:minmax(0,1fr)}.sample-roster-panel,.member-cards>section+section{border-left:0;padding-left:0}.sample-roster-panel{border-top:1px solid var(--club-rule);padding-top:1rem}.gym-demo{padding-block:1rem 2rem}.demo-intro{padding-top:1.2rem}.sample-goal{grid-template-columns:1fr}.sample-session summary,.sample-log summary{grid-template-columns:3.6rem minmax(0,1fr) auto}.demo-brand small{font-size:.75rem}.sample-stats{gap:.4rem}.sample-stats>div{padding-left:.45rem}.sample-stats dt{font-size:.78rem}.sample-roster-panel input{font-size:16px}.session-roster{padding-left:.5rem}.sample-log p{margin-left:.6rem}}
