@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap";:root{--forest:#123d2b;--deep:#092b1e;--grass:#3f7653;--sage:#e8eee8;--ivory:#f8f6ef;--sand:#d9c59b;--ink:#16221c;--muted:#66716b;--line:#dfe5e0;--white:#fff;--danger:#a74432;--shadow:0 18px 50px #0c30201a;color:var(--ink);font-synthesis:none;background:#fdfdfb;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}header{z-index:20;background:#fff;border-bottom:1px solid #123d2b14;justify-content:space-between;align-items:center;height:78px;padding:0 clamp(24px,5vw,76px);display:flex;position:sticky;top:0}.logo{color:var(--deep);background:0 0;border:0;align-items:center;gap:9px;padding:0;font:700 19px DM Sans;display:flex}.logo>span:last-child span{font-weight:400}.logo-mark{background:var(--forest);color:#fff;border-radius:50%;place-items:center;width:35px;height:35px;display:grid}.logo-mark img{object-fit:contain;filter:drop-shadow(0 1px 1px #00000026);width:29px;height:29px}.logo-mark:has(img){background:var(--ivory);border:1px solid #d8ded9}header nav{gap:30px;display:flex}header nav button,footer button{color:#3c4942;background:0 0;border:0}.header-actions{align-items:center;gap:12px;display:flex}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:relative}.icon-btn i{background:#c35e3d;border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:5px}.avatar{background:var(--sand);width:38px;height:38px;color:var(--deep);border:0;border-radius:50%;font-weight:700}.menu{background:0 0;border:0;display:none}.hero{color:#fff;align-items:center;min-height:650px;display:flex;position:relative;overflow:hidden}.hero-bg{background:linear-gradient(90deg,#051e14e0 0%,#082b1db3 38%,#0925181f 70%),url(../golf-hero.png) 50%/cover no-repeat;position:absolute;inset:0;transform:scale(1.01)}.hero-copy{width:min(1200px,90%);margin:auto;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--grass);align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.eyebrow.light{color:#e7ddc4}.hero h1,.search-title h1,.detail h1,.onboard h1,.checkout h1,.success h1{margin:20px 0;font:600 clamp(48px,6vw,80px)/1.02 Playfair Display}.hero h1 em{color:var(--sand)}.hero-copy>p{color:#e7ede9;max-width:560px;font-size:18px;line-height:1.7}.hero-search{max-width:810px;color:var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:12px;margin-top:35px;padding:8px;display:flex}.hero-search label{border-right:1px solid var(--line);flex:1;align-items:center;gap:12px;padding:4px 24px;display:flex}.hero-search label svg{color:var(--grass)}.hero-search label span{color:var(--muted);font-size:11px;font-weight:600}.hero-search input,.hero-search select{color:var(--ink);background:0 0;border:0;outline:0;padding:3px 0 0;font-weight:600;display:block}.hero-search button,.btn.primary{background:var(--forest);color:#fff;border:0;border-radius:9px;justify-content:center;align-items:center;gap:9px;padding:15px 23px;font-weight:700;display:flex}.trust{color:#dce5df;gap:27px;margin-top:22px;font-size:13px;display:flex}.trust span{align-items:center;gap:6px;display:flex}.trust svg{width:15px}.section,.page{max-width:1200px;margin:auto;padding:90px 24px}.section-head,.dash-head,.block-head{justify-content:space-between;align-items:end;display:flex}.section h2,.how h2,.teacher h2{margin:10px 0;font:600 42px Playfair Display}.section-head p,.search-title p,.dash-head p{color:var(--muted)}.text-btn,.block-head button,.back{color:var(--forest);background:0 0;border:0;align-items:center;gap:7px;font-weight:700;display:flex}.text-btn svg{width:18px}.cards{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px;display:grid}.group-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;transition:all .25s;overflow:hidden}.group-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.card-top{height:160px;padding:14px;position:relative}.card-top>span,.detail-hero>span{background:#ffffffe6;border-radius:20px;padding:7px 11px;font-size:11px;font-weight:700}.card-top button{float:right;background:#fff;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.card-top button svg{width:17px}.golf-lines{opacity:.25;color:var(--forest);font:120px Playfair Display;position:absolute;bottom:-40px;right:20%}.card-body{padding:19px}.card-meta{color:var(--grass);text-transform:uppercase;letter-spacing:1.3px;justify-content:space-between;font-size:10px;font-weight:700;display:flex}.card-body h3{margin:11px 0;font:600 22px Playfair Display}.instructor{align-items:center;gap:6px;font-size:13px;display:flex}.instructor>span{background:var(--sage);border-radius:50%;place-items:center;width:26px;height:26px;font-size:9px;font-weight:700;display:grid}.instructor svg{width:14px;color:var(--grass)}.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);gap:7px;padding:12px 0;font-size:12px;display:grid}.facts span{align-items:center;gap:7px;display:flex}.facts svg{width:14px}.price{grid-template-columns:auto 1fr auto;align-items:end;padding-top:14px;display:grid}.price strong{font-size:18px}.price small{color:var(--muted);margin-left:8px}.price svg{width:18px}.how{background:var(--forest);color:#fff;text-align:center;padding:85px max(24px,50% - 576px)}.how h2{margin-bottom:45px}.steps{background:#ffffff21;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:35px;display:grid}.step{background:var(--forest);padding:30px 35px;position:relative}.step>b{color:#ffffff2e;font:600 28px Playfair Display;position:absolute;top:25px;right:25px}.step i{width:52px;height:52px;color:var(--sand);background:#315c49;border-radius:50%;place-items:center;margin:auto;display:grid}.step h3{font:600 21px Playfair Display}.step p{color:#cbd8d1;font-size:13px;line-height:1.6}.btn{border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:13px 20px;font-weight:700;display:inline-flex}.btn svg{width:18px}.btn.sand{background:var(--sand);color:var(--deep)}.btn.outline{color:var(--forest);background:#fff;border:1px solid #b9c5be}.btn.full{width:100%}.teacher{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.teacher-art{background:linear-gradient(150deg,#9cad96,#284e3a);border-radius:100px 12px 12px;height:480px;position:relative}.teacher-art:after{content:"⛳";opacity:.25;font-size:180px;position:absolute;inset:80px}.quote{z-index:1;width:250px;box-shadow:var(--shadow);background:#fff;padding:18px;font:italic 16px Playfair Display;position:absolute;bottom:35px;right:-28px}.teacher>div>p{color:var(--muted);line-height:1.8}.checks{gap:14px;margin:28px 0;display:grid}.checks span{align-items:center;gap:10px;display:flex}.checks svg{color:var(--grass)}.search-title{text-align:center}.search-title .eyebrow{justify-content:center}.search-title h1,.detail h1,.onboard h1,.checkout h1,.success h1{font-size:48px}.filters{border:1px solid var(--line);border-radius:12px;grid-template-columns:2fr 1fr 1fr auto;gap:10px;margin:35px 0;padding:12px;display:grid;box-shadow:0 8px 35px #0c30200f}.filters label{border-right:1px solid var(--line);color:var(--muted);align-items:center;gap:9px;padding:0 12px;display:flex}.filters input,.filters select{background:#fff;border:0;outline:0;width:100%}.filter-more{background:var(--forest);color:#fff;border:0;border-radius:8px;padding:12px}.result-head{color:var(--muted);justify-content:space-between;margin:25px 0;font-size:13px;display:flex}.search-grid{grid-template-columns:250px 1fr;gap:30px;display:grid}.search-grid>aside{border:1px solid var(--line);border-radius:12px;height:max-content;padding:22px;position:sticky;top:100px}.profile-score{border:7px solid var(--sage);border-top-color:var(--grass);border-radius:50%;place-items:center;width:90px;height:90px;margin:20px auto;display:grid}.profile-score b{font-size:23px}.profile-score span{color:var(--muted);margin-top:-25px;font-size:9px}.search-grid aside p{color:var(--muted);font-size:12px}.search-grid aside button{color:var(--grass);background:0 0;border:0;padding:0;font-weight:700}.results{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.result-wrap{position:relative}.match{background:var(--forest);color:#fff;border-radius:10px 10px 0 0;align-items:center;gap:6px;padding:10px;font-size:12px;font-weight:700;display:flex}.match svg{width:14px}.match small{color:#cee0d6;margin-left:auto;font-weight:400}.result-wrap .group-card{border-radius:0 0 14px 14px}.empty{text-align:center;border:1px dashed var(--line);grid-column:1/-1;padding:80px}.back{margin-bottom:25px}.detail-grid{grid-template-columns:1fr 340px;gap:38px;display:grid}.detail-hero{border-radius:14px;height:270px;padding:20px;position:relative;overflow:hidden}.golf-lines.big{font-size:260px}.detail-main{padding-top:28px}.title-row{justify-content:space-between;display:flex}.title-row .eyebrow svg{width:14px}.title-row h1{margin:12px 0}.title-row p{color:var(--muted)}.pills{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:9px;padding:22px 0;display:flex}.pills span{background:var(--ivory);border-radius:7px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;display:flex}.pills svg{width:15px}.detail-main h2,.checkout-card h2,.summary h2{margin-top:35px;font:600 25px Playfair Display}.detail-main>p{color:var(--muted);line-height:1.8}.learn{grid-template-columns:1fr 1fr;gap:12px;display:grid}.learn span{align-items:center;gap:8px;display:flex}.learn svg{width:17px;color:var(--grass)}.instructor-box{border:1px solid var(--line);border-radius:12px;align-items:center;gap:15px;padding:18px;display:flex}.teacher-avatar{background:var(--sand);border-radius:50%;place-items:center;width:58px;height:58px;font-weight:700;display:grid}.instructor-box h3{align-items:center;gap:5px;margin:0;display:flex}.instructor-box h3 svg{width:16px;color:var(--grass)}.instructor-box p{color:var(--muted);margin:5px 0;font-size:12px}.instructor-box>button{color:var(--grass);background:0 0;border:0;margin-left:auto;font-weight:700}.session{border-bottom:1px solid var(--line);grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding:15px 0;display:grid}.session>b{background:var(--sage);width:44px;height:44px;color:var(--forest);border-radius:8px;place-items:center;display:grid}.session>b small{margin-top:-12px;font-size:9px}.session strong{font-size:14px}.session p{color:var(--muted);margin:4px 0;font-size:11px}.session>span,.status{color:var(--grass);background:var(--sage);border-radius:20px;padding:6px 9px;font-size:10px;font-weight:700}.booking-box,.summary{border:1px solid var(--line);height:max-content;box-shadow:var(--shadow);border-radius:14px;padding:25px;position:sticky;top:105px}.booking-price{margin-bottom:20px}.booking-price strong{font:600 32px Playfair Display}.booking-price span{color:var(--muted);font-size:11px;display:block}.line{justify-content:space-between;padding:10px 0;font-size:13px;display:flex}.line span{color:var(--muted)}.line.total{border-top:1px solid var(--line);margin-top:8px;padding:17px 0;font-size:16px}.safe{color:var(--muted);justify-content:center;align-items:center;gap:5px;display:flex;text-align:center!important;font-size:10px!important}.safe svg{width:14px}.spots{background:var(--ivory);border-radius:8px;gap:10px;margin-top:15px;padding:13px;display:flex}.spots svg{width:20px}.spots div{display:grid}.spots b{font-size:12px}.spots span{color:var(--muted);margin-top:3px;font-size:10px}.onboard{text-align:center;max-width:720px;min-height:650px}.onboard .eyebrow{justify-content:center;margin-top:35px}.onboard>p{color:var(--muted)}.progress{background:var(--line);border-radius:5px;height:4px}.progress span{background:var(--forest);height:100%;transition:all .3s;display:block}.choices{grid-template-columns:1fr 1fr;gap:12px;margin:35px 0;display:grid}.choices button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:9px;justify-content:space-between;padding:17px;display:flex}.choices button svg{opacity:0;width:18px}.choices button.selected{border-color:var(--forest);background:var(--sage);color:var(--forest);font-weight:700}.choices button.selected svg{opacity:1}.onboard-actions{justify-content:flex-end;gap:10px;margin-top:30px;display:flex}.form-grid{text-align:left;grid-template-columns:1fr 1fr;gap:15px;margin-top:30px;display:grid}.form-grid label{gap:6px;font-size:12px;font-weight:700;display:grid}.form-grid input,.form-grid select{border:1px solid var(--line);border-radius:7px;padding:13px}.form-grid .wide{grid-column:1/-1}.checkout-grid{grid-template-columns:1fr 350px;gap:45px;display:grid}.checkout-card{border:1px solid var(--line);border-radius:13px;padding:28px}.payment-options{gap:10px;display:grid}.payment-options button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;align-items:center;gap:10px;padding:15px;display:flex}.payment-options button.active{border-color:var(--forest);background:var(--sage)}.payment-options button i{margin-left:auto}.payment-options svg{width:20px}.checkout-card .form-grid{margin:20px 0}.check{align-items:center;margin-top:20px;grid-template-columns:auto 1fr!important;font-weight:400!important;display:flex!important}.notice{background:var(--sage);color:var(--forest);border-radius:8px;align-items:center;gap:10px;margin:18px 0;padding:14px;font-size:13px;display:flex}.summary h3{margin-bottom:4px}.summary>p{color:var(--muted);margin-top:0}.success{text-align:center;max-width:660px;min-height:650px}.success .eyebrow{justify-content:center}.success>p{color:var(--muted);font-size:17px;line-height:1.7}.success-icon{background:var(--sage);width:78px;height:78px;color:var(--forest);border-radius:50%;place-items:center;margin:auto;display:grid}.success-icon svg{width:34px}.ticket{text-align:left;border:1px solid var(--line);border-radius:12px;gap:15px;max-width:480px;margin:30px auto;padding:20px;display:flex}.ticket>svg{color:var(--grass)}.ticket div{gap:3px;display:grid}.ticket span,.ticket b{color:var(--muted);font-size:11px}.dashboard{background:#f6f8f5;grid-template-columns:245px 1fr;min-height:750px;display:grid}.side-nav{border-right:1px solid var(--line);background:#fff;padding:25px 14px}.mini-profile{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin:0 8px 25px;padding-bottom:20px;display:flex}.mini-profile>div{background:var(--sand);border-radius:50%;place-items:center;width:39px;height:39px;font-weight:700;display:grid}.mini-profile span{display:grid}.mini-profile small{color:var(--muted)}.side-nav button{width:100%;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;margin:3px 0;padding:12px;display:flex}.side-nav button svg{width:17px}.side-nav button.active{background:var(--sage);color:var(--forest);font-weight:700}.dash-main{width:100%;max-width:1250px;padding:48px}.dash-head h1{margin:10px 0;font:600 38px Playfair Display}.next-class{background:var(--forest);color:#fff;border-radius:14px;align-items:center;gap:20px;margin:30px 0;padding:24px;display:flex}.date-block{width:65px;height:72px;color:var(--forest);background:#fff;border-radius:9px;place-items:center;display:grid}.date-block b{font:600 27px Playfair Display}.date-block span{margin-top:-15px;font-size:10px}.next-class h2{margin:8px 0;font:600 23px Playfair Display}.next-class p{color:#d5e0da;align-items:center;gap:5px;margin:5px;font-size:11px;display:flex}.next-class p svg{width:14px}.next-actions{gap:8px;margin-left:auto;display:flex}.stats{grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0;display:grid}.stats>div{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:12px;padding:18px;display:flex}.stats svg{color:var(--grass)}.stats span{color:var(--muted);font-size:11px;display:grid}.stats b{color:var(--ink);font:600 23px Playfair Display}.dash-cols{grid-template-columns:2fr 1fr;gap:24px;display:grid}.dash-cols>div,.panel{border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px}.block-head{align-items:center}.block-head h2{font:600 21px Playfair Display}.progress-card{text-align:center}.ring{border:10px solid var(--sage);border-top-color:var(--grass);border-right-color:var(--grass);border-radius:50%;place-items:center;width:105px;height:105px;margin:20px auto;font:600 25px Playfair Display;display:grid}.ring span{font-size:11px}.progress-card p,.progress-card>span{color:var(--muted);font-size:11px}.bar{background:var(--sage);border-radius:5px;height:6px;margin:18px 0}.bar i{background:var(--grass);border-radius:5px;height:100%;display:block}.finance-grid{grid-template-columns:2fr 1fr;gap:20px;display:grid}.chart{border-bottom:1px solid var(--line);align-items:end;gap:12px;height:170px;padding:20px;display:flex}.chart i{background:var(--grass);opacity:.85;border-radius:4px 4px 0 0;flex:1}.legend{justify-content:space-between;margin:15px;font-size:11px;display:flex}.legend i{background:var(--grass);border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.account>svg{color:var(--grass);width:35px;height:35px}.account p{color:var(--grass)}.table-row{border-top:1px solid var(--line);grid-template-columns:1fr 2fr 1fr 1fr;padding:14px;font-size:12px;display:grid}footer{background:var(--deep);color:#fff;grid-template-columns:2fr repeat(3,1fr);gap:30px;padding:55px max(24px,50% - 576px);display:grid;position:relative}footer .logo{color:#fff}footer>div{align-content:start;gap:9px;display:grid}footer p,footer button{color:#9fb2a8;text-align:left;padding:0}footer b{text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:12px}footer small{color:#71877b;position:absolute;bottom:15px;left:max(24px,50% - 576px)}.canarias .hero-bg{background:linear-gradient(90deg,#032427e0,#032d2b94 43%,#0319190f 72%),url(../canarias-pitch-putt-hero.png) 50%/cover no-repeat}.account-chip{border:1px solid var(--line);color:var(--forest);background:#fff;border-radius:22px;align-items:center;gap:7px;padding:9px 13px;font-weight:700;display:flex}.account-chip svg{width:16px}.icon-btn svg{width:18px}.empty-state{background:linear-gradient(145deg, #fbfcf9, var(--sage));text-align:center;border:1px dashed #b8c9bf;border-radius:16px;margin:35px 0;padding:70px 20px}.empty-state>svg{width:48px;height:48px;color:var(--grass)}.empty-state h3{margin:15px 0 5px;font:600 25px Playfair Display}.empty-state p{color:var(--muted);margin-bottom:22px}.volcanic{background:linear-gradient(145deg,#244f46 0%,#42826a 48%,#272c29 49%,#454a44 65%,#c6a86a 66%,#e4cc94 100%)!important}.course-flag{color:#fff;filter:drop-shadow(0 4px 5px #14251b);width:62px;height:62px;position:absolute;bottom:20%;right:25%}.auth-page{grid-template-columns:1fr 440px;align-items:center;gap:80px;min-height:680px;display:grid}.auth-copy h1,.create-page h1,.dash-clean h1{margin:18px 0;font:600 52px/1.05 Playfair Display}.auth-copy>p,.create-page>div>p{color:var(--muted);font-size:17px;line-height:1.7}.auth-benefits{gap:13px;margin-top:30px;display:grid}.auth-benefits span{align-items:center;gap:8px;display:flex}.auth-benefits svg{width:18px;color:var(--grass)}.auth-card,.create-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:32px}.auth-card h2{margin-top:0;font:600 28px Playfair Display}.auth-card>label{gap:7px;margin:17px 0;font-size:12px;font-weight:700;display:grid}.auth-card input{border:1px solid var(--line);outline-color:var(--grass);border-radius:8px;width:100%;padding:13px}.password{position:relative}.password button{background:0 0;border:0;width:34px;height:34px;position:absolute;top:6px;right:6px}.password svg{width:18px}.auth-switch{color:var(--grass);background:0 0;border:0;margin:17px auto;font-weight:700;display:block}.auth-card small{text-align:center;color:var(--muted);display:block}.form-error{color:var(--danger);background:#fff0ed;border-radius:7px;margin-bottom:12px;padding:11px;font-size:12px}.create-page{grid-template-columns:1fr 1.2fr;align-items:start;gap:70px;display:grid}.create-card .btn{margin-top:24px}.filters.simple{grid-template-columns:1fr auto}.search-cards{grid-template-columns:repeat(3,1fr)}.toast{background:var(--deep);color:#fff;box-shadow:var(--shadow);z-index:100;border-radius:9px;align-items:center;gap:8px;padding:14px 18px;display:flex;position:fixed;bottom:25px;right:25px}.toast svg{width:17px}.dash-clean{min-height:680px}.dash-clean .section-head{margin-top:45px}.profile-panel{background:var(--sage);border:1px solid #ccdbd0;border-radius:14px;align-items:center;gap:18px;margin-top:30px;padding:22px;display:flex}.profile-panel .avatar.large{place-items:center;width:58px;height:58px;font-size:18px;display:grid}.profile-panel h2{margin:0}.profile-panel p{color:var(--muted);margin:5px 0}.profile-panel button{margin-left:auto}@media (width<=900px){header nav{box-shadow:var(--shadow);background:#fff;padding:20px;display:none;position:absolute;top:77px;left:0;right:0}header nav.open{display:grid}.menu{display:block}.hero{min-height:720px}.hero-copy{padding:50px 0}.hero-search{display:grid}.hero-search label{border:0;border-bottom:1px solid var(--line);padding:12px}.cards,.steps,.teacher{grid-template-columns:1fr}.teacher-art{height:320px}.results{grid-template-columns:1fr}.match small{display:none}.detail-grid,.checkout-grid{grid-template-columns:1fr}.booking-box,.summary{position:static}.dashboard{grid-template-columns:1fr}.side-nav{display:none}.stats{grid-template-columns:1fr 1fr}.finance-grid{grid-template-columns:1fr}.auth-page,.create-page{grid-template-columns:1fr;gap:35px}.auth-card{width:100%;max-width:560px;margin:auto}.search-cards{grid-template-columns:1fr 1fr}}@media (width<=620px){header{height:68px;padding:0 16px}.hero h1{font-size:47px}.hero-copy{width:92%}.hero-search{margin-top:20px}.trust{gap:8px;display:grid}.section,.page{padding:60px 18px}.section-head,.dash-head{flex-direction:column;align-items:flex-start;gap:20px}.section h2,.how h2{font-size:34px}.search-grid{grid-template-columns:1fr}.search-grid>aside{display:none}.filters{grid-template-columns:1fr}.filters label{border:0;border-bottom:1px solid var(--line);padding:10px}.result-head span:last-child{display:none}.detail h1,.onboard h1,.checkout h1,.success h1{font-size:38px}.learn,.choices,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.pills{grid-template-columns:1fr 1fr;display:grid}.instructor-box{align-items:flex-start}.instructor-box button{display:none}.dash-main{padding:28px 16px}.next-class{flex-wrap:wrap;align-items:flex-start}.next-actions{width:100%;margin:0}.stats{grid-template-columns:1fr 1fr}.stats>div{padding:13px}.dash-cols{grid-template-columns:1fr}.session{grid-template-columns:45px 1fr}.session>span,.session>button{display:none}.finance-grid{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr;padding-bottom:70px}footer>div:first-child{grid-column:1/-1}.teacher-art:after{font-size:100px}.quote{right:10px}.title-row h1{font-size:38px}}.install-header{border:1px solid var(--line);color:var(--forest);background:#fff;border-radius:22px;align-items:center;gap:6px;padding:9px 13px;font-weight:700;display:flex}.install-header svg{width:16px}.mobile-nav{display:none}.offline-badge{color:#fff;z-index:300;box-shadow:var(--shadow);background:#332f29;border-radius:22px;align-items:center;gap:7px;padding:10px 16px;font-size:11px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.offline-badge svg{width:16px}@media (width<=700px){body{-webkit-tap-highlight-color:transparent;padding-bottom:72px}header{padding-top:env(safe-area-inset-top);height:calc(68px + env(safe-area-inset-top))}.install-header{display:none}.mobile-nav{z-index:150;border-top:1px solid var(--line);padding:7px 6px calc(7px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0a2b1d14}.mobile-nav button{color:var(--muted);background:0 0;border:0;place-items:center;gap:2px;min-height:48px;font-size:9px;font-weight:700;display:grid}.mobile-nav svg{width:20px;height:20px;color:var(--forest)}.offline-badge{width:max-content;max-width:92%;bottom:78px}.hero{min-height:calc(100svh - 68px)}input,select,textarea{font-size:16px!important}.auth-page,.setup-page,.create-page{min-height:calc(100svh - 140px)}footer{padding-bottom:95px}.member-modal,.admin-modal{border-radius:15px 15px 0 0;align-self:end;max-height:calc(100svh - 90px)}.modal-backdrop{padding:0}.cards{gap:16px}.group-card:hover{transform:none}}@media (display-mode:standalone){header{padding-top:env(safe-area-inset-top)}.install-header{display:none}}.qr-fab{z-index:120;background:var(--sand);color:var(--deep);box-shadow:var(--shadow);border:0;border-radius:28px;align-items:center;gap:7px;padding:13px 17px;font-weight:700;display:flex;position:fixed;bottom:22px;right:22px}.qr-fab svg{width:19px}.qr-modal{text-align:center;width:min(460px,100%);box-shadow:var(--shadow);background:#fff;border-radius:17px;padding:30px;position:relative}.qr-close{position:absolute;top:15px;right:15px}.qr-modal .eyebrow{justify-content:center}.qr-modal h2{margin:13px 0 7px;font:600 29px Playfair Display}.qr-modal>p{color:var(--muted)}.qr-code{place-items:center;margin:20px auto 14px;display:grid}.qr-loading{border:1px dashed var(--line);height:230px;color:var(--muted);background:var(--ivory);border-radius:11px;place-items:center;margin:20px 0 14px;display:grid}.qr-code svg{border:1px solid var(--line);border-radius:11px;max-width:100%;height:auto}.qr-modal code{text-overflow:ellipsis;white-space:nowrap;background:var(--ivory);border-radius:6px;margin-bottom:14px;padding:9px;font-size:10px;display:block;overflow:hidden}.qr-steps{text-align:left;gap:7px;margin:15px 0;display:grid}.qr-steps span{background:var(--sage);border-radius:7px;padding:10px;font-size:11px}.qr-steps b{color:var(--forest);margin-bottom:2px;display:block}@media (width<=700px){.qr-fab{display:none}.qr-modal{padding-bottom:calc(25px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;align-self:end}}@media (width<=620px){.auth-copy h1,.create-page h1,.dash-clean h1{font-size:40px}.auth-card,.create-card{padding:22px}.search-cards{grid-template-columns:1fr}.profile-panel{flex-wrap:wrap;align-items:flex-start}.profile-panel button{width:100%;margin-left:0}.filters.simple{grid-template-columns:1fr}.account-chip{padding:8px}.account-chip:not(:hover){font-size:0}.account-chip svg{margin:0}}.role-picker{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;display:grid}.forgot-link{color:var(--grass);text-underline-offset:3px;background:0 0;border:0;margin:14px auto 0;font-weight:700;text-decoration:underline;display:block}.mail-status{background:var(--sage);color:var(--forest);border:1px solid #c8dbce;border-radius:8px;margin:15px 0;padding:13px;font-size:12px;line-height:1.5}.recovery-done{text-align:center}.recovery-done .success-icon{margin:0 auto 18px}.recovery-done p{color:var(--muted)}.recovery-page .auth-switch{align-items:center;gap:5px;display:flex}.recovery-page .auth-switch svg{width:16px}.role-picker button{border:1px solid var(--line);background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:16px;font-weight:700;display:flex}.role-picker button.active{background:var(--sage);border-color:var(--forest);color:var(--forest)}.role-picker svg{width:19px}.setup-page{grid-template-columns:.75fr 1.25fr;gap:70px;display:grid}.setup-page h1,.club-panel h1,.public-club-head h1{margin:12px 0;font:600 48px Playfair Display}.setup-page>div>p{color:var(--muted);line-height:1.7}.logo-upload{background:var(--sage);cursor:pointer;border:1px dashed #9fb4a7;border-radius:12px;align-items:center;gap:14px;margin-bottom:20px;padding:16px;display:flex;position:relative}.logo-upload>svg,.logo-upload img{object-fit:contain;background:#fff;border-radius:10px;width:65px;height:65px;padding:6px}.logo-upload span{display:grid}.logo-upload small{color:var(--muted);margin-top:4px}.logo-upload input{opacity:0;cursor:pointer;position:absolute;inset:0}.logo-upload>i{margin-left:auto}.form-grid textarea{border:1px solid var(--line);resize:vertical;border-radius:7px;padding:13px}.form-actions{justify-content:flex-end;gap:10px;margin-top:25px;display:flex}.club-grid{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:35px;display:grid}.club-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:24px}.club-card .club-logo{margin-bottom:18px}.club-card h2{margin:9px 0;font:600 25px Playfair Display}.club-card>p{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.club-card>p svg,.class-count svg{width:15px}.class-count{background:var(--sage);color:var(--forest);border-radius:7px;align-items:center;gap:7px;margin:18px 0;padding:11px;font-size:12px;font-weight:700;display:flex}.club-logo{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:13px;width:82px;height:82px;padding:7px}.club-logo.placeholder{background:var(--forest);color:#fff;place-items:center;display:grid}.club-logo.placeholder svg{width:32px}.club-admin-head,.public-club-head{border-bottom:1px solid var(--line);align-items:center;gap:22px;margin-bottom:35px;padding-bottom:28px;display:flex}.club-admin-head>button{margin-left:auto}.club-admin-head p,.public-club-head p{color:var(--muted)}.club-description{max-width:760px;color:var(--muted);margin-bottom:50px;line-height:1.8}.manage-list{gap:11px;margin-top:28px;display:grid}.manage-list article{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:1fr auto auto;align-items:center;gap:25px;padding:18px;display:grid}.manage-list h3{margin:7px 0}.manage-list p{color:var(--muted);margin:0;font-size:12px}.publish-state{text-transform:uppercase;letter-spacing:1px;border-radius:15px;padding:5px 8px;font-size:9px;font-weight:700}.publish-state.published{background:var(--sage);color:var(--forest)}.publish-state.draft{color:#666;background:#eee}.row-actions{gap:7px;display:flex}.row-actions button{border:1px solid var(--line);color:var(--forest);background:#fff;border-radius:7px;padding:8px}.row-actions button:first-child{padding:8px 13px}.row-actions svg{width:16px;height:16px}.row-actions .danger{color:var(--danger)}.card-body>.btn{margin-top:14px}.hero-copy>.btn{margin-top:25px}.detail .detail-hero{margin-bottom:28px}@media (width<=900px){.setup-page{grid-template-columns:1fr}.club-grid{grid-template-columns:1fr 1fr}}@media (width<=620px){.club-grid{grid-template-columns:1fr}.club-admin-head,.public-club-head{flex-wrap:wrap;align-items:flex-start}.club-admin-head>button{width:100%;margin-left:0}.manage-list article{grid-template-columns:1fr}.row-actions{justify-content:flex-end}.form-actions{display:grid}.setup-page h1,.club-panel h1,.public-club-head h1{font-size:38px}}.admin-page h1{margin:10px 0;font:600 48px Playfair Display}.admin-heading{justify-content:space-between;align-items:center;display:flex}.security-note{background:var(--sage);color:var(--forest);border-radius:9px;align-items:center;gap:9px;max-width:360px;padding:13px 16px;font-size:12px;display:flex}.security-note svg{width:21px}.admin-stats{grid-template-columns:repeat(3,1fr);gap:15px;margin:30px 0;display:grid}.admin-stats>div{border:1px solid var(--line);background:#fff;border-radius:11px;padding:20px;display:grid}.admin-stats b{font:600 30px Playfair Display}.admin-stats span{color:var(--muted);font-size:11px}.admin-section{margin-top:40px}.admin-table{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:18px;overflow:hidden}.admin-row{border-top:1px solid var(--line);grid-template-columns:1.2fr 1.6fr 1.3fr .8fr auto;align-items:center;gap:12px;padding:13px 16px;font-size:12px;display:grid}.admin-row:first-child{border-top:0}.admin-row.labels{background:var(--ivory);color:var(--muted);text-transform:uppercase;letter-spacing:.7px;font-size:10px;font-weight:700}.admin-row .btn{padding:8px 12px;font-size:11px}.masked-password{letter-spacing:2px;color:var(--muted)}.club-admin-row{grid-template-columns:1.4fr .8fr 1.4fr 1.4fr auto}.admin-club-name{align-items:center;gap:9px;font-weight:700;display:flex}.admin-club-name .club-logo{border-radius:7px;width:38px;height:38px}.modal-backdrop{z-index:200;background:#031a129e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.admin-modal{width:min(500px,100%);box-shadow:var(--shadow);background:#fff;border-radius:15px;max-height:90vh;padding:28px;overflow:auto}.admin-modal h2{margin-top:0;font:600 27px Playfair Display}.admin-modal>label{gap:6px;margin:14px 0;font-size:12px;font-weight:700;display:grid}.admin-modal input,.admin-modal select,.admin-modal textarea{border:1px solid var(--line);border-radius:7px;width:100%;padding:12px}.btn:disabled{opacity:.48;cursor:not-allowed}@media (width<=760px){.admin-heading{flex-direction:column;align-items:flex-start;gap:15px}.admin-stats{grid-template-columns:1fr}.admin-table{overflow-x:auto}.admin-row{min-width:720px}.admin-page h1{font-size:39px}}.members-button{align-items:center;gap:5px;display:flex}.members-button svg{width:15px}.member-modal{background:#fff;border-radius:16px;width:min(900px,100%);max-height:88vh;padding:28px;overflow:auto}.member-modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding-bottom:18px;display:flex}.member-modal-head h2{margin:8px 0;font:600 28px Playfair Display}.member-modal-head p{color:var(--muted);margin:0}.member-list{gap:12px;margin-top:20px;display:grid}.member-list article{border:1px solid var(--line);border-radius:11px;grid-template-columns:48px 1fr 1.2fr;align-items:start;gap:15px;padding:16px;display:grid}.member-avatar{background:var(--sage);width:44px;height:44px;color:var(--forest);border-radius:50%;place-items:center;font-weight:700;display:grid}.member-data{gap:4px;display:grid}.member-data h3{margin:0}.member-data a{color:var(--grass);font-size:12px}.member-data small{color:var(--muted);line-height:1.5}.member-list label{gap:6px;font-size:11px;font-weight:700;display:grid}.member-list textarea{border:1px solid var(--line);resize:vertical;border-radius:7px;padding:9px}.member-list label .btn{justify-self:end;padding:8px 12px;font-size:11px}.member-empty{text-align:center;color:var(--muted);padding:60px}.member-empty>svg{width:45px;height:45px;color:var(--grass)}.payment-config{border:1px solid var(--line);border-radius:9px;grid-template-columns:1fr 1fr;gap:10px;padding:15px;display:grid}.payment-config legend{padding:0 6px;font-size:12px;font-weight:700}.payment-config .check{margin:0}.card-field{gap:6px;margin:16px 0;font-size:12px;font-weight:700;display:grid}.card-field input{border:1px solid var(--line);border-radius:7px;padding:13px}.card-field small{color:var(--muted);font-weight:400}@media (width<=700px){.member-list article{grid-template-columns:48px 1fr}.member-list article>label{grid-column:1/-1}.payment-config{grid-template-columns:1fr}.row-actions{flex-wrap:wrap}}.settings-heading{border-top:1px solid var(--line);color:var(--forest);margin:26px 0 2px;padding-top:22px;font:600 21px Playfair Display}.club-kpis{grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0;display:grid}.club-kpis>div{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:17px;display:flex}.club-kpis svg{width:22px;color:var(--grass)}.club-kpis span{color:var(--muted);font-size:10px;display:grid}.club-kpis b{color:var(--ink);font:600 22px Playfair Display}.management-strip{background:var(--sage);border:1px solid #cadbce;border-radius:11px;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:15px;margin-bottom:42px;padding:17px;display:grid}.management-strip b{font-size:11px}.management-strip p{color:var(--muted);margin:4px 0 0;font-size:10px;line-height:1.4}.public-club-info{border:1px solid var(--line);border-radius:11px;flex-wrap:wrap;gap:10px 22px;margin:-25px 0 45px;padding:16px;display:flex}.public-club-info span,.public-club-info a{color:var(--grass);align-items:center;gap:6px;font-size:12px;display:flex}.public-club-info svg{width:15px}.public-club-info p{width:100%;color:var(--muted);margin:4px 0;font-size:12px}.payment-rule{color:var(--muted);font-size:12px;line-height:1.5}.setup-page .create-card{max-height:78vh;overflow:auto}.payment-config{grid-template-columns:repeat(3,1fr)}@media (width<=900px){.club-kpis,.management-strip{grid-template-columns:1fr 1fr}.setup-page .create-card{max-height:none}}@media (width<=620px){.club-kpis,.management-strip,.payment-config{grid-template-columns:1fr}}
