/* ONFIT staging + AIR inscription identity. Shared local Barlow font assets. */
:root{--bg:#f6f5f0;--card:#fff;--ink:#101110;--muted:#6b6b66;--line:#d2d1ca;--soft:#eeede7;--accent:#ff501f;--shadow:none}
html[data-theme=dark]{--bg:#101110;--card:#191a18;--ink:#f6f5f0;--muted:#bdbdb5;--line:#42433d;--soft:#242520;--shadow:none}
body{font-family:Barlow,Arial,sans-serif;-webkit-font-smoothing:antialiased}
header{background:#101110;color:#f6f5f0;min-height:86px;border-bottom:1px solid #ffffff25}
.brand img{background:transparent;border-radius:0;padding:0;filter:brightness(0) invert(1);width:149px}
.club{border-left-color:#ffffff30;font-weight:600;letter-spacing:.08em}.club small{color:#bdbdb5;font-weight:400}
.header-actions button{background:transparent;color:#f6f5f0;border-color:#ffffff40;font-size:13px}.header-actions .primary{background:#ff501f;color:#101110;border-color:#ff501f}
.test-banner{background:#e4e3dd;color:#54564f;letter-spacing:.12em;font-size:9px}
h1,h2,h3,.price{font-family:'Barlow Condensed',Barlow,sans-serif;text-transform:uppercase}
h1{font-weight:700;font-size:clamp(44px,4.5vw,64px);line-height:.98;letter-spacing:-.015em;margin:10px 0 18px}
h2{font-weight:700;font-size:32px;line-height:1.04;letter-spacing:-.015em}h3{font-size:24px;line-height:1.08}.intro{font-size:16px;line-height:1.5;max-width:50ch;margin-bottom:32px}
.eyebrow{font-weight:600;font-size:10px;letter-spacing:.12em;color:#a83512}html[data-theme=dark] .eyebrow{color:#ff956e}
button,.button{border-radius:0;font-weight:600;min-height:46px;transition:background .15s,border-color .15s}.primary{font-weight:700;min-height:52px;padding:14px 24px}.primary:hover{background:#ff734b;color:#101110}.secondary{background:transparent;border-color:#a3a39a}
.card{border-radius:0;box-shadow:none;padding:26px;border-color:var(--line)}.plan-card{border-top:3px solid var(--accent)}.price{font-size:68px;font-weight:700;letter-spacing:-.025em;margin-top:22px}.price-note{font-size:14px}.pill{border-radius:0;font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:7px 10px}.facts{border-top:1px solid var(--line);padding-top:22px}.facts dt,.data-grid dt{font-size:12px}.facts dd,.data-grid dd{font-weight:500}
aside{padding-top:38px}.nav-heading{font-family:Barlow}nav button{border-radius:0;font-weight:600}aside nav button[aria-current=page]{border-color:transparent;border-left:3px solid var(--accent);background:var(--soft)}.side-help{font-size:14px}.side-help strong{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:26px;line-height:1.1}
.quick-qr{background:#101110;color:#f6f5f0;border-color:#101110;position:relative;border-top:3px solid var(--accent)}.quick-qr h2{font-size:40px}.quick-qr p{color:#c3c3ba}.quick-qr .qr-icon{color:#ff754d;font-size:44px;margin-bottom:20px}
.action-list button{font-size:16px}.action-list small{font-size:13px}.action-list button>span:last-child{color:var(--accent)}.empty{border-radius:0}.notice{border-radius:0}.empty h3{font-size:25px}.notice,.empty p{font-size:14px}.loading{border-radius:0}
input,select{border-radius:0}.qr-card h2{font-size:42px}.qr{border-radius:0}.profile-heading h2{font-size:32px}.avatar{font-family:'Barlow Condensed',sans-serif;font-size:32px}.data-grid{gap:26px}.row>strong{font-weight:600}.row>span{font-size:14px}
.member-club{display:grid;grid-template-columns:42% 1fr;border:1px solid var(--line);background:var(--soft);margin:0 0 20px;min-height:200px}.member-club img{width:100%;height:100%;min-height:200px;object-fit:cover}.member-club>div{padding:24px}.member-club h2{font-size:36px;margin:12px 0}.member-club p{color:var(--muted);font-size:14px;margin:0}.member-club .eyebrow{font-size:9px}
footer{background:#101110;color:#bdbdb5;border:0;font-size:10px;letter-spacing:.1em;padding-top:28px;padding-bottom:28px}dialog{border-radius:0}dialog h2{font-size:34px}.login h2{font-size:38px}
@media(max-width:900px){h1{font-size:52px}.card{padding:24px}.member-club h2{font-size:32px}.member-club>div{padding:20px}.brand img{width:125px}}
@media(max-width:640px){header{min-height:76px;padding:15px 18px}.brand img{width:108px}.header-actions button{font-size:12px;padding:9px 10px;min-height:42px}.header-actions .primary{min-height:42px}.app-layout main{padding-top:28px}h1{font-size:44px;max-width:12ch;margin-bottom:18px}.intro{font-size:15px;margin-bottom:26px}h2{font-size:29px}.card{padding:22px;border-radius:0}.price{font-size:62px}.quick-qr h2{font-size:38px}.member-club{min-height:180px;grid-template-columns:40% 1fr}.member-club img{min-height:180px}.member-club>div{padding:18px}.member-club h2{font-size:29px}.member-club p{font-size:12px}.member-club .eyebrow{font-size:8px}.mobile-nav{background:var(--card);padding-top:8px}.mobile-nav button{font-family:Barlow;font-weight:500}.mobile-nav button[aria-current=page]{border:0;border-top:2px solid var(--accent);background:var(--soft)}.mobile-nav .qr-shortcut{border-radius:0;transform:translateY(-7px);background:var(--accent)}.profile-heading h2{font-size:28px}.qr-card h2{font-size:37px}.test-banner{font-size:8px}.avatar{height:68px;width:68px}.club-photo{width:calc(100% + 44px);margin:-22px -22px 22px}}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}}
/* Custom ONFIT pictograms: 24-unit geometry, angular corners, consistent weight. */
.onfit-icon{display:inline-block;width:22px;height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;vertical-align:middle;overflow:visible}
.header-actions .onfit-icon{width:20px;height:20px;flex-basis:20px}aside nav .onfit-icon{color:var(--muted)}aside nav button[aria-current=page] .onfit-icon{color:var(--accent)}.quick-qr .qr-icon .onfit-icon{width:48px;height:48px;stroke-width:1.4}.action-list button{gap:15px}.action-list button>.onfit-icon{color:var(--accent)}.action-list button>span:first-of-type{flex:1}.action-list button>span:last-child{display:flex}.side-help a .onfit-icon{width:16px;height:16px;margin-left:6px}.mobile-nav .onfit-icon{width:23px;height:23px;flex-basis:23px}.mobile-nav button{gap:5px}.mobile-nav .qr-shortcut .onfit-icon{width:25px;height:25px;flex-basis:25px}.button .onfit-icon,#refresh .onfit-icon{width:18px;height:18px;flex-basis:18px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid>.card:last-child{grid-column:1/-1}.cancel-form{padding:20px 0;border-top:1px solid var(--line)}label{display:block;margin:18px 0}input,select,textarea{display:block;width:100%;max-width:100%;box-sizing:border-box;background:var(--card);color:var(--ink);border:1px solid var(--line);padding:14px;font:inherit}textarea{min-height:90px}.check{display:flex;gap:12px;align-items:start}.check input{width:20px;flex:0 0 20px;margin-top:3px}.qr{background:#fff;padding:18px;width:276px;max-width:100%;margin:24px auto;box-sizing:border-box}.qr img,.qr canvas{max-width:100%;height:auto}.request-feedback{color:var(--accent)}@media(max-width:640px){.grid{grid-template-columns:1fr}}

.club-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0}.club-choice{display:block;text-align:left;padding:0;overflow:hidden;border:1px solid var(--line);background:var(--card);color:var(--ink);white-space:normal}.club-choice>img{display:block;width:100%;height:220px;object-fit:cover;border-radius:0}.club-choice>span{display:grid;gap:12px;padding:24px}.club-choice strong{font-size:32px;line-height:1.1}.club-choice small{letter-spacing:.12em;color:var(--accent)}.club-choice:hover,.club-choice:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:3px}.chosen-club{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line);font-size:12px}.chosen-club button{font-size:13px;padding:8px}.choosing-club aside,.choosing-club .mobile-nav,.choosing-club .header-actions [data-page],.choosing-club #account-link{display:none}.choosing-club .app-layout{display:block}.choosing-club main{max-width:1000px;margin:auto}@media(max-width:640px){.club-choices{grid-template-columns:1fr;gap:16px}.club-choice>img{height:160px}.club-choice strong{font-size:28px}}
.membership-intro{color:var(--muted);margin:-12px 0 30px}.plan-sheet{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);margin:24px 0 36px;border:1px solid var(--line);background:var(--card);overflow:hidden}.plan-feature{position:relative;padding:32px;background:linear-gradient(135deg,#fff1df 0%,#ffd4bd 58%,#ffb990 100%);color:#242018;min-width:0}.plan-feature:after{content:'';position:absolute;right:-65px;bottom:-45px;width:220px;height:220px;border:35px solid #e4602520;border-radius:50%;pointer-events:none}.plan-tags{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.08em;margin-bottom:38px}.plan-status{padding:7px 9px;background:#ffffffaa;letter-spacing:0;font-weight:650}.plan-status.is-active{color:#21573b;background:#eef8ef}.plan-feature h2{font-size:clamp(32px,4vw,54px);line-height:1.05;overflow-wrap:anywhere;margin:10px 0 24px;max-width:100%}.plan-amount{font-size:clamp(30px,4vw,52px);font-weight:750;line-height:1.1;letter-spacing:-.04em;overflow-wrap:anywhere;position:relative;z-index:1}.plan-amount.unconfirmed{font-size:24px;letter-spacing:-.02em}.plan-frequency{font-size:16px;font-weight:600;margin:12px 0}.plan-source{font-size:12px;max-width:290px;position:relative;z-index:1;line-height:1.65;opacity:.8}.plan-overview{padding:32px;min-width:0}.plan-overview h3{font-size:27px;margin:12px 0 28px}.plan-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0}.plan-facts>div{border-top:1px solid var(--line);padding-top:14px;min-width:0}.plan-facts dt{font-size:12px;color:var(--muted);line-height:1.5}.plan-facts dd{margin:7px 0 0;font-size:17px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.plan-note{font-size:12px;line-height:1.7;margin-top:28px;color:var(--muted)}.plan-conditions{grid-column:1/-1;border-top:1px solid var(--line);padding:0 32px}.plan-conditions summary,.plan-history summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 0;font-size:16px;font-weight:650;list-style:none}.plan-conditions summary::-webkit-details-marker,.plan-history summary::-webkit-details-marker{display:none}.plan-conditions summary span{color:var(--accent);font-size:24px}.plan-conditions[open] summary span{transform:rotate(45deg)}.plan-conditions>p{font-size:13px;line-height:1.75;color:var(--muted);max-width:780px;margin:22px 0}.plan-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;padding:24px 32px;background:var(--paper);border-top:1px solid var(--line)}.plan-actions button{min-height:46px}.plan-history{border-top:1px solid var(--line);margin:32px 0}.plan-history summary>span{font-size:13px;background:var(--card);padding:5px 10px}.plan-history article{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line)}.plan-history h3{font-size:20px;margin:0 0 6px}.plan-history p,.plan-history article>span{font-size:13px;color:var(--muted)}@media(max-width:800px){.plan-sheet{grid-template-columns:1fr}.plan-feature,.plan-overview{padding:24px}.plan-tags{margin-bottom:24px}.plan-conditions{padding:0 24px}.plan-actions{padding:20px 24px}.plan-actions button{flex:1 1 160px}.plan-facts{gap:20px 16px}}@media(max-width:380px){.plan-facts{grid-template-columns:1fr}}

.plan-feature{overflow:hidden}
.occupancy-panel{margin:28px 0;padding:30px;background:radial-gradient(ellipse at 85% 0,#53392d 0,transparent 45%),linear-gradient(130deg,#202a30,#151b21);color:#f8f4ef;border:1px solid #475057;box-shadow:0 12px 34px #1e252414;overflow:hidden}.occupancy-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.occupancy-head .eyebrow{color:#ffc294}.occupancy-head h2{font-size:32px;margin:12px 0}.live-badge{display:flex;align-items:center;gap:8px;font-size:11px;color:#d5eddf;white-space:nowrap;padding:9px 11px;border:1px solid #ffffff25}.live-badge i{height:7px;width:7px;background:#b4f7cb;border-radius:50%;box-shadow:0 0 12px #b4f7cb99}.occupancy-value{display:flex;align-items:center;gap:18px;margin:20px 0 26px}.occupancy-value strong{font-size:68px;line-height:1;font-weight:750;letter-spacing:-.05em;color:#fff4e6;text-shadow:0 0 26px #ffa26b22}.occupancy-value span{font-size:15px}.occupancy-value small{display:block;font-size:11px;color:#c2c8ca;margin-top:9px}.occupancy-controls{display:flex;flex-wrap:wrap;gap:8px}.occupancy-controls button{padding:8px 14px;font-size:12px;border:1px solid #ffffff35;color:#e3e6e6;background:transparent}.occupancy-controls button[aria-pressed=true]{background:#ffb57b;color:#24201b;border-color:#ffb57b}.occupancy-controls #refresh-occupancy{margin-left:auto}.occupancy-plot{margin-top:20px}.occupancy-plot svg{display:block;width:100%;height:auto;overflow:visible}.occupancy-axis{display:flex;justify-content:space-between;color:#c3cbce;font-size:11px}.occupancy-scrub{font-size:12px;color:#dde2e3;margin:20px 0 8px}.occupancy-scrub input{padding:0;accent-color:#ffb57b;cursor:pointer;height:25px;border:0;background:transparent}.occupancy-panel output{font-size:14px;color:#ffe3be;display:block;min-height:22px}.occupancy-note{font-size:11px;line-height:1.7;color:#b8c4ca}.occupancy-panel #occupancy-feedback{font-size:12px;color:#ffd9bc}.payment-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;margin:28px 0}.payment-card{position:relative;padding:30px;min-height:220px;background:radial-gradient(ellipse at 100% 0,#f9ba84,transparent 65%),linear-gradient(135deg,#f5e8d5,#e4c3a2);color:#30271f;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #cbb8a0;overflow:hidden}.payment-card:after{content:'';position:absolute;width:210px;height:210px;right:-100px;bottom:-130px;border:30px solid #ffffff45;border-radius:50%;pointer-events:none}.payment-card-top{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em}.payment-digits{font-size:clamp(23px,3vw,35px);letter-spacing:.08em;margin:32px 0 24px}.payment-card-bottom{display:flex;justify-content:space-between;font-size:12px}.payment-card-bottom small{display:block;font-size:9px;letter-spacing:.12em;margin-bottom:7px}.payment-detail{background:var(--card);border:1px solid var(--line);padding:28px}.payment-detail h3{font-size:26px;margin:10px 0 25px}.payment-detail .row{gap:20px}.payment-security{border-top:1px solid var(--line);padding:22px 0;font-size:13px;color:var(--muted);line-height:1.8}.payment-empty{padding:28px;background:var(--card);border:1px solid var(--line)}@media(max-width:700px){.occupancy-panel{padding:22px 18px}.occupancy-head{flex-wrap:wrap}.occupancy-head h2{font-size:28px}.occupancy-value strong{font-size:58px}.payment-layout{grid-template-columns:1fr}.payment-card{min-height:200px}.payment-detail{padding:22px}}
