/* Auth, public club pages, booking confirmations, legal and print surfaces. */
body.portal-public{
 --primary:#39794d;--primary-dark:#285d39;--primary-bg:#edf4ee;--primary-border:#c3d7c8;
 --green:#39794d;--green-bright:#5a926a;--green-deep:#285d39;--green-dark:#285d39;--green-bg:#edf4ee;
 --ink:#24332a;--muted:#5d6e63;--dim:#718076;--hairline:#dfe6e1;--border:#dfe6e1;--navy:#1d2923;--navy-deep:#1d2923;
 background:#f5f7f5;color:#24332a;line-height:1.6;
}
.portal-public ::selection{background:#c3d7c8;color:#24332a}
.portal-public :focus-visible{outline:2px solid #39794d;outline-offset:3px}
.portal-public a{text-underline-offset:3px}
.portal-public :is(.card,.join-card,.trial-card,.legal-card,.sb-card,.box){border:1px solid #dfe6e1;border-radius:12px;box-shadow:none;background:white}
.portal-public :is(.card,.join-card,.trial-card,.legal-card)::before,.portal-public :is(.card,.join-card,.trial-card,.legal-card)::after{display:none}
.portal-public :is(.card-eyebrow,.eyebrow,.join-eyebrow,.trial-eyebrow,.legal-eyebrow){display:none}
.portal-public :is(.stage,.join-hero,.trial-hero,.legal-hero){background:#1d2923;color:#f2f6f3;box-shadow:none}
.portal-public :is(.stage,.join-hero,.trial-hero,.legal-hero)::before,.portal-public :is(.stage,.join-hero,.trial-hero,.legal-hero)::after{display:none}
.portal-public :is(.stage,.join-hero,.trial-hero,.legal-hero) :is(h1,h2,.brand-name,.display){color:#f2f6f3;text-shadow:none}
.portal-public :is(.stage,.join-hero,.trial-hero,.legal-hero) :is(p,.lead,.brand-name small){color:#bfcfc4}
.portal-public :is(.stage,.join-hero,.trial-hero,.legal-hero) :is(.grad,.gradient-text){background:none;-webkit-text-fill-color:currentColor;color:#c3dec9}
.portal-public :is(.brand-logo,.join-club-badge,.trial-club-badge){box-shadow:none;border-radius:9px}
.portal-public :is(.sheet,.join-wrap,.trial-wrap){background:transparent}
.portal-public :is(.stage-main h1,.join-hero h1,.trial-hero h1){font-size:clamp(30px,3.5vw,48px);line-height:1.15;letter-spacing:-.025em}
.portal-public :is(.benefit-icon,.join-perk-icon,.trial-trust-icon){background:#344b3c;border-radius:7px;box-shadow:none;color:#c3dec9}
.portal-public :is(.field label,.field-label,.join-field label,.trial-field label,.sec-title,.trial-section-label){text-transform:none;letter-spacing:0;font-size:13px;color:#43584a}
.portal-public :is(.field input,.field select,.join-input,.trial-input,.pw-wrap input,input[type=password],input[type=email]){border:1px solid #c5d2c9;border-radius:6px;background:#fff;color:#24332a;font-size:15px;box-shadow:none;min-height:44px;caret-color:#39794d}
.portal-public input::placeholder,.portal-public textarea::placeholder{color:#718076;opacity:1}
.portal-public :is(.submit,.join-submit,.trial-submit,.btn-primary,.cta-login){background:#39794d;color:#fff;border-color:#39794d;border-radius:7px;box-shadow:none}
.portal-public :is(.submit,.join-submit,.trial-submit,.btn-primary,.cta-login):hover{background:#285d39;transform:none;box-shadow:none}
.portal-public :is(.alt,.role-card-inner){border:1px solid #dfe6e1;border-radius:8px;background:#fff;box-shadow:none}
.portal-public :is(.alt,.role-card-inner):hover{background:#edf4ee;transform:none;box-shadow:none;border-color:#c3d7c8}
.portal-public :is(.alt-ic,.role-card-icon){border-radius:6px;background:#edf4ee;color:#285d39}
.portal-public :is(.join-row,.trial-row,.row-2)>*{min-width:0}
.portal-public :is(.join-consents,.consents){background:#f6f9f6;border:1px solid #dfe6e1;border-radius:8px}
.portal-public :is(.section-num,.sec-chip){background:#edf4ee;color:#285d39;box-shadow:none}
.portal-public :is(.confetti,.check-wrap::before){display:none}
.portal-public .legal-hero{padding-block:38px}.portal-public .legal-hero h1{font-size:clamp(28px,4vw,40px);letter-spacing:-.025em}
.portal-public .legal-card{padding:28px}.portal-public .legal-card h2{font-size:21px;color:#24332a}
.portal-public .legal-callout{border:1px solid #c3d7c8;background:#edf4ee;border-radius:8px}
.portal-public .legal-toc{background:#f6f9f6;border-radius:8px}.portal-public .legal-meta-table{font-variant-numeric:tabular-nums}
.portal-public .clubhead{padding-bottom:20px;border-bottom:1px solid #dfe6e1;margin-bottom:24px}
.portal-public .clubhead h1{font-size:26px;line-height:1.25;color:#24332a}
.portal-public .wrap{max-width:1100px}.portal-public[data-public-page="public-courts"] .wrap{max-width:820px;padding:28px 20px}
.portal-public[data-public-page="public-courts"] .btn{background:#39794d;border:1px solid #39794d;border-radius:6px;box-shadow:none;color:white;min-height:42px}
.portal-public[data-public-page="public-courts"] :is(input,select){min-height:44px;border:1px solid #c5d2c9;border-radius:6px;padding:10px;font-size:15px;max-width:100%}
.portal-public[data-public-page="public/landing"] .hero{background-color:#1d2923;box-shadow:none}
.portal-public[data-public-page="public/landing"] :is(.highlight-card,.group-card,.post-card,.cta-card){border:1px solid #dfe6e1;border-radius:10px;box-shadow:none}
.portal-public[data-public-page="public/landing"] .cta-card{background:#edf4ee;color:#24332a}
.portal-public[data-public-page="public/landing"] :is(.cta-title,.cta-sub){color:#24332a}
.portal-public[data-public-page="public/landing"] .hero-cta,.portal-public[data-public-page="public/landing"] .cta-btn{border-radius:7px;box-shadow:none;background:#39794d;color:white}
.portal-public[data-public-page="public/landing"] :is(.section-title,.highlight-title){letter-spacing:-.015em}
.portal-public[data-public-page="onboard/form"] .topbar{background:#fff;border-bottom:1px solid #dfe6e1;backdrop-filter:none}
.portal-public[data-public-page="onboard/form"] .sidebar{background:none}
.portal-public[data-public-page="onboard/success"] .grad{background:none;-webkit-text-fill-color:currentColor;color:#285d39}
.portal-public[data-public-page="design"] :is(.hero,.top){background:none;color:#24332a}
.portal-public[data-public-page="design"] .hero h1{color:#24332a}
.portal-public[data-public-page="design"] .btn-green{background:#39794d;border-radius:7px;box-shadow:none}
@media(max-width:700px){
 .portal-public :is(.join-row,.trial-row,.row-2){grid-template-columns:minmax(0,1fr)}
 .portal-public :is(.card,.join-card,.trial-card,.legal-card){padding:22px 18px;max-width:100%;min-width:0}
 .portal-public :is(.field input,.field select,.join-input,.trial-input,input[type=password],input[type=email]){font-size:16px}
 .portal-public :is(.join-hero,.trial-hero,.legal-hero){padding:28px 20px}
 .portal-public :is(.join-wrap,.trial-wrap,.legal-wrap){padding-inline:16px}
 .portal-public :is(.stage-main h1,.join-hero h1,.trial-hero h1){font-size:30px}
 .portal-public .legal-meta-table{display:block;max-width:100%;overflow-x:auto}
 .portal-public .rows .row{min-width:0;overflow-wrap:anywhere}
 .portal-public[data-public-page="public-courts"] .row{flex-wrap:wrap}
}
@media print{
 body.portal-public{background:white;color:#111}
 .portal-public :is(.sheet,.box){box-shadow:none;border:0}
 .portal-public :is(.actions,.print-actions,.print){display:none!important}
}
@media(prefers-reduced-motion:reduce){.portal-public *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.portal-public .clubhead{background:#edf4ee;border:1px solid #c3d7c8;border-radius:10px;padding:20px;color:#24332a}
.portal-public .clubhead .meta{color:#5d6e63}
.portal-public .clubhead .logo{background:#39794d;border-radius:8px;box-shadow:none}
.portal-public .input-wrap .f-ic,.portal-public .input-wrap:focus-within .f-ic{color:#285d39;background:#edf4ee;box-shadow:none;border-radius:6px}
.portal-public .input-wrap .f-ic svg{color:inherit}
.portal-public[data-public-page="design"] :is(.type-card,.tok-grid>*,.scale,.scale .row,.scale .row .samp){min-width:0}
.portal-public[data-public-page="design"] .usage code{white-space:normal;overflow-wrap:anywhere}
@media(max-width:700px){
 .portal-public[data-public-page="design"] .top .wrap{height:auto;min-height:60px;flex-wrap:wrap;padding-block:12px;gap:10px}
 .portal-public[data-public-page="design"] .top nav{margin:0;gap:0;flex-wrap:wrap}
 .portal-public[data-public-page="design"] .top nav a{padding:5px 8px;font-size:12px}
 .portal-public[data-public-page="design"] .sec-head{flex-wrap:wrap;gap:6px}
 .portal-public[data-public-page="design"] .scale .row{flex-wrap:wrap;gap:5px}
 .portal-public[data-public-page="design"] .scale .row .samp{max-width:100%;font-size:clamp(14px,6vw,28px)!important}
 .portal-public[data-public-page="design"] .type-face{font-size:40px;overflow-wrap:anywhere}
 .portal-public[data-public-page="design"] .search{min-width:0;flex-basis:100%}
 .portal-public[data-public-page="design"] .search input{min-width:0;width:100%}
 .portal-public[data-public-page="design"] .wrap{padding-inline:16px}
 .portal-public[data-public-page="lineups/print"]{padding:12px}
 .portal-public[data-public-page="lineups/print"] .sheet{padding:18px}
 .portal-public[data-public-page="lineups/print"] .hd{flex-wrap:wrap;gap:12px}
}
/* Standalone success screens use the same light surface and readable ink. */
body[data-public-page="onboard/success"] h1{color:#24392c}
body[data-public-page="onboard/success"] .lead,body[data-public-page="onboard/success"] .lead strong,body[data-public-page="onboard/success"] .steps-title,body[data-public-page="onboard/success"] .foot{color:#526459}
body[data-public-page="onboard/success"] .trial-pill,body[data-public-page="onboard/success"] .trial-pill strong{color:#6a481e;background:#f7efdf;border-color:#e0cfad}
body[data-public-page="onboard/success"] .check{background:#39794d;box-shadow:none;width:76px;height:76px}
body[data-public-page="onboard/success"] .check-wrap{width:76px;height:76px;margin:0 auto 24px}
body[data-public-page="onboard/success"] .check-wrap::before,body[data-public-page="onboard/success"] .check-wrap::after,body[data-public-page="onboard/success"] .confetti{display:none}
body[data-public-page="onboard/success"] .step{box-shadow:none;border:1px solid #d6e0d8;border-radius:10px}
body[data-public-page="onboard/success"] .btn-ghost{color:#315e3f;border:1px solid #c5d6ca;background:white}
body[data-public-page="trial/form"] .trial-wrap,body[data-public-page="trial/form"] .trial-trust{max-width:820px}
body[data-public-page="onboard/success"]::before,body[data-public-page="onboard/success"]::after{display:none}
body[data-public-page="onboard/success"] .check,body[data-public-page="onboard/success"] .step{animation:none;opacity:1}
body[data-public-page="onboard/success"] .trial-pill{background:#edf4ee;border:1px solid #c9dccc;color:#365c40;border-radius:10px}
body[data-public-page="onboard/success"] .trial-pill strong{background:transparent;color:#365c40}
body[data-public-page="onboard/success"] .trial-pill svg{color:#456e4f}
