@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/dm-sans-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/dm-sans-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/dm-sans-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/dm-sans-3.ttf) format('truetype');
}

:root{--ink:#202d29;--green:#121814;--accent:#a2c614;--muted:#63706a;--line:#e0e5df;--paper:#f7f8f4}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}header{padding:22px 4.5%;background:white;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;color:var(--green);text-decoration:none;font-size:22px;font-weight:700}.brand small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:3px}.crest{width:42px;height:49px;background:var(--green);color:white;border-radius:8px 8px 22px 22px;display:flex;align-items:center;justify-content:center;font-size:22px;letter-spacing:-3px}.crest span{transform:translateY(5px)}nav{display:flex;gap:6px}nav button{border:0;border-radius:9px;padding:12px 17px;background:transparent;color:var(--muted)}nav button.active{background:#edf2ec;color:var(--green);font-weight:700}.demo,.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:700}.demo{border:1px solid var(--line);padding:8px 10px;border-radius:5px;color:var(--muted)}main{max-width:1340px;margin:auto;padding:38px 48px 56px}.heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}h1{font-size:32px;letter-spacing:-1px;margin:0 0 8px}h2{font-size:23px;letter-spacing:-.5px;margin:0}h3{font-size:18px;margin:0}p{line-height:1.6}.muted{color:var(--muted)}.heading p{margin:0;color:var(--muted)}.eyebrow{color:var(--muted);margin-bottom:13px}.intro{display:grid;grid-template-columns:1fr 1.05fr;gap:26px;align-items:stretch}.welcome{padding:32px;border-radius:17px;background:var(--green);color:white;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.welcome:after{content:'';position:absolute;width:280px;height:280px;border:1px solid #ffffff18;border-radius:50%;right:-110px;bottom:-140px;pointer-events:none}.welcome .eyebrow{color:var(--accent)}.welcome h2{font-size:35px;max-width:370px;line-height:1.15}.welcome p{color:#e0e9df;max-width:380px}.primary,.secondary,.textbutton{border:0;border-radius:8px;padding:12px 18px;font-weight:600;min-height:44px}.primary{color:white;background:var(--green)}.welcome .primary{background:var(--accent);color:var(--green);align-self:flex-start}.secondary{background:white;border:1px solid var(--line);color:var(--ink)}.textbutton{background:none;color:var(--green);padding-left:0}.card{background:white;border:1px solid var(--line);border-radius:17px;padding:24px}.membership{background:#f0f1e7;display:flex;flex-direction:column;justify-content:space-between;gap:22px;min-height:260px;position:relative}.membership .top,.flex,.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.membership .wordmark{font-weight:700;font-size:21px}.membership h3{font-size:25px;margin-bottom:8px}.membership small{color:var(--muted);display:block}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:30px;padding:6px 10px;font-size:12px;background:#e5eedc;color:#31502d;font-weight:600}.badge.off{background:#eee;color:#626262}.card-bottom{display:flex;justify-content:space-between;align-items:end;gap:12px}.member-id{font-size:14px;letter-spacing:2px;margin:6px 0}.qr-small{width:66px;height:66px;border-radius:7px;background:white}.locked{width:58px;height:58px;border:1px solid #bbc7b9;border-radius:50%;display:grid;place-items:center;font-size:26px;color:var(--green)}.section-head{margin-top:38px;margin-bottom:19px}.section-head p{margin:6px 0 0;color:var(--muted);font-size:14px}.controls{display:flex;gap:12px;align-items:center;margin:18px 0 24px;flex-wrap:wrap}.search{position:relative;flex:1;min-width:220px}.search input{width:100%;background:white;border:1px solid var(--line);padding:13px 16px 13px 40px;border-radius:9px}.search:before{content:'⌕';position:absolute;left:15px;top:6px;font-size:26px;color:var(--muted)}.chips{display:flex;gap:7px;flex-wrap:wrap}.chips button{background:white;border:1px solid var(--line);padding:11px 15px;border-radius:30px;font-size:13px;min-height:42px}.chips .selected{background:var(--green);border-color:var(--green);color:white}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.benefit{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.benefit-photo{height:175px;position:relative;background:#e9eadd}.benefit-photo img{width:100%;height:100%;object-fit:cover}.discount{position:absolute;top:14px;left:14px;background:white;color:var(--green);padding:8px 12px;border-radius:7px;font-weight:700;font-size:20px;box-shadow:0 2px 12px #0001}.benefit-body{padding:20px;display:flex;flex-direction:column;flex:1}.category{font-size:12px;color:var(--muted);margin-bottom:7px}.benefit-body p{font-size:14px;color:var(--muted);margin:8px 0 15px}.benefit-body .textbutton{margin-top:auto;text-align:left}.location{font-size:12px;color:var(--muted)}.notice{font-size:12px;color:var(--muted);margin:20px 0 0}.empty{padding:35px;text-align:center;background:white;border:1px dashed var(--line);border-radius:12px;grid-column:1/-1}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px}.stat{background:white;border:1px solid var(--line);padding:22px;border-radius:13px}.stat strong{font-size:32px;display:block;margin-top:7px}.stat span{color:var(--muted);font-size:14px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:24px}.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:14px 0;font-weight:600;color:var(--muted)}.tabs button.active{border-color:var(--green);color:var(--green)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:white}table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:16px 20px;border-bottom:1px solid var(--line);font-size:14px}th{font-size:12px;color:var(--muted);font-weight:500;background:#fafbf8}td small{display:block;color:var(--muted);margin-top:5px}tr:last-child td{border-bottom:0}.rowbtn{border:1px solid var(--line);background:white;border-radius:7px;padding:8px 11px;min-height:38px;color:var(--green)}.activity{list-style:none;padding:0;margin:0}.activity li{padding:16px 0;border-bottom:1px solid var(--line);display:flex;gap:18px}.activity time{color:var(--muted);font-size:12px;white-space:nowrap}.about{max-width:900px;margin:auto}.about .card{margin-bottom:20px}.about h2{margin-bottom:12px}.about li{line-height:1.7;margin:9px 0}.about video{width:100%;border-radius:12px;background:#193d35}footer{padding:23px 4.5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;color:var(--muted)}footer button{background:none;border:0;color:var(--green);font-size:12px;padding:10px}dialog{width:min(540px,calc(100% - 28px));border:0;border-radius:18px;padding:28px;color:var(--ink);box-shadow:0 25px 120px #0003}dialog::backdrop{background:#13291f88;backdrop-filter:blur(3px)}dialog h2{margin-bottom:12px}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:16px}.close{border:0;background:#f1f3ed;border-radius:50%;width:34px;height:34px;font-size:22px;flex-shrink:0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.formgrid .full{grid-column:1/-1}label{display:block;font-size:13px;font-weight:600}label input,label select,label textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #bec8bf;border-radius:8px;background:white;color:var(--ink);min-width:0}label textarea{resize:vertical}.actions{display:flex;gap:10px;margin-top:22px;justify-content:flex-end}.terms{font-size:12px;color:var(--muted)}.error{color:#a12c24;font-size:13px}.coupon{padding:24px;background:var(--paper);border:1px dashed #9aaf9a;text-align:center;margin:20px 0;border-radius:12px}.coupon strong{display:block;font-size:25px;letter-spacing:3px;margin-bottom:8px}.largeqr{display:block;width:190px;height:190px;margin:20px auto}.detail-image{height:180px;width:100%;object-fit:cover;border-radius:10px;margin:8px 0 15px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:14px 20px;background:var(--green);color:white;border-radius:10px;box-shadow:0 4px 25px #0003;z-index:10;max-width:90%;display:none}#toast.show{display:block}a{color:var(--green)}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.small{font-size:13px}.intro .primary{position:relative;z-index:1}@media(max-width:950px){main{padding:28px 25px}.demo{display:none}.benefits{grid-template-columns:repeat(2,1fr)}.intro{grid-template-columns:1fr 1fr}.welcome{padding:25px}.welcome h2{font-size:29px}}@media(max-width:640px){header{flex-wrap:wrap;padding:17px 20px;gap:18px}.brand{font-size:21px}header nav{width:100%;gap:3px;justify-content:space-between}nav button{font-size:12px;padding:10px 12px}main{padding:25px 19px 35px}.heading{align-items:start}.heading h1{font-size:27px}.heading p{font-size:14px}.heading .secondary{font-size:12px;padding:10px}.intro{grid-template-columns:1fr;gap:16px}.welcome{padding:27px}.welcome h2{font-size:31px}.welcome p{font-size:14px}.membership{min-height:235px;padding:23px}.benefits{grid-template-columns:1fr;gap:20px}.benefit-photo{height:190px}.section-head{margin-top:29px;align-items:start}.section-head h2{font-size:22px}.section-head .badge{white-space:nowrap}.controls{gap:14px}.chips button{padding:10px 13px}.stats{gap:9px}.stat{padding:15px 10px}.stat span{font-size:12px}.stat strong{font-size:26px}.formgrid{grid-template-columns:1fr}.formgrid .full{grid-column:auto}.split{grid-template-columns:1fr}.tabs{gap:23px}.tabs button{font-size:14px}dialog{padding:23px}footer{flex-direction:column;gap:5px;text-align:center}.actions{flex-wrap:wrap}.actions button{flex:1}.activity li{display:block}.activity time{display:block;margin-bottom:5px}.flex{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

@media(max-width:950px){header{position:relative}.demo{display:block;position:absolute;right:20px;top:25px}}@media(min-width:641px) and (max-width:950px){.demo{display:none}}@media(max-width:360px){.brand small{font-size:10px}}

.fee-pill{background:#e7eddd;border:1px solid #cbd8bd;border-radius:12px;padding:13px 18px;font-size:23px;font-weight:700;white-space:nowrap;color:var(--green)}.fee-pill small{font-size:12px;font-weight:500}.padel-welcome{background:linear-gradient(90deg,rgba(14,19,15,.9) 0%,rgba(14,19,15,.62) 55%,rgba(14,19,15,.25) 100%),url('/images/lc-canchas-club.jpg') center 45%/cover;min-height:315px}.hero-note{color:#e1e9df;font-size:11px;margin-top:18px}.padel-label{font-size:11px;letter-spacing:2px;border-left:1px solid #a8b7a1;padding-left:9px;margin-left:7px;vertical-align:middle}.membership-notice{border:1px solid #d9e1cc;background:#edf2e3;padding:13px 17px;border-radius:9px;color:#344c32;font-size:14px;margin:15px 0}.membership-notice p{margin:8px 0 0}.discount small{display:block;font-size:10px;font-weight:500;margin-top:3px;color:#56604d}.benefit-scope{position:absolute;bottom:13px;left:15px;background:var(--green);color:white;padding:6px 9px;border-radius:5px;font-size:10px;letter-spacing:1px;font-weight:600}.payment-summary{background:#edf2e3;border:1px solid #d4deca;border-radius:12px;padding:22px;margin:20px 0}.payment-summary strong{display:block;font-size:35px;margin-top:12px;letter-spacing:-1px}.payment-summary strong small{font-size:14px}.payment-summary p{font-size:14px;margin:12px 0 0}.membership .wordmark{white-space:nowrap}.membership .badge{white-space:nowrap}.heading .eyebrow{margin-bottom:9px}
@media(max-width:640px){.heading{flex-wrap:wrap;gap:15px}.fee-pill{padding:10px 14px;font-size:22px}.heading h1{font-size:28px}.padel-welcome{min-height:300px}.brand{font-size:20px}.membership .wordmark{font-size:19px}.padel-label{font-size:10px;letter-spacing:1px;padding-left:5px;margin-left:4px}.membership .badge{font-size:11px;padding:6px 8px}.membership-notice{font-size:13px}.membership{padding:20px}}

.membership .top{flex-wrap:wrap;align-items:flex-start}.intro>div{min-width:0}.membership h3{overflow-wrap:anywhere}.primary{max-width:100%}

header{background:var(--green);border-bottom:0}.brand img{height:54px;width:auto;display:block}.brand-tag{font-size:12px;font-weight:500;color:#b9c2bb;border-left:1px solid #ffffff2b;padding-left:12px}nav button{color:#c5cdc7}nav button.active{background:#ffffff14;color:var(--accent)}.demo{color:#c5cdc7;border-color:#ffffff2b}.membership{background:var(--green);color:white;border-color:var(--green)}.membership small,.membership .eyebrow{color:#b9c2bb}.membership .member-id{color:var(--accent)}.membership .locked{border-color:#ffffff40;color:var(--accent)}.card-logo{height:58px;width:auto;display:block}.membership .badge{background:var(--accent);color:var(--green)}.membership .badge.off{background:#ffffff1f;color:#dfe5e0}.welcome .primary{background:var(--accent);color:var(--green)}.fee-pill{background:#f0f6dc;border-color:#d6e6a0}.membership-notice,.payment-summary{background:#f3f8e3;border-color:#dce9b3}.chips .selected{background:var(--green);border-color:var(--green)}a.brand:focus-visible{outline-color:var(--accent)}
@media(max-width:640px){.brand img{height:44px}.brand-tag{display:none}.card-logo{height:46px}header nav button{color:#c5cdc7}}

.badge.ok{background:#e4f1c4;color:#3a5200}.badge.debt{background:#fde3df;color:#a12c24}.membership .badge.ok{background:var(--accent);color:var(--green)}.membership .badge.debt{background:#e5484d;color:white}.ok-text{color:#4f7300}.debt-text{color:#c2362b}
.member-head{display:flex;gap:16px;align-items:center}.avatar{width:76px;height:76px;border-radius:16px;object-fit:cover;flex-shrink:0;border:2px solid #ffffff30;display:grid;place-items:center}.avatar.initials{background:#2a332c;color:var(--accent);font-weight:700;font-size:24px}.avatar.mini{width:38px;height:38px;border-radius:10px;font-size:13px;border:0}.who{display:flex;gap:12px;align-items:center}.who p{margin:4px 0}.card .who .avatar.initials,.table-wrap .avatar.initials{background:#edf2e3;color:var(--green)}
.status-line{border-radius:10px;padding:11px 14px;font-size:14px;font-weight:600}.status-line.ok{background:#a2c6141f;color:var(--accent);border:1px solid #a2c61455}.status-line.debt{background:#e5484d24;color:#ff8c87;border:1px solid #e5484d66}.status-line.off{background:#ffffff12;color:#dfe5e0}.card-bottom small{display:block;margin-top:4px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}.ghost{border:1px solid #ffffff55;background:transparent;color:white;border-radius:8px;padding:12px 16px;font-weight:600;min-height:44px}.ghost:hover{background:#ffffff14}.intro.logged .membership{min-height:300px}
.photo-field input{padding:10px}.photo-check{display:flex;gap:14px;align-items:center;background:#f3f8e3;border:1px solid #dce9b3;border-radius:12px;padding:12px}.photo-check img{width:64px;height:64px;border-radius:12px;object-fit:cover}.photo-check strong{display:block;color:#3a5200}.photo-check span{font-size:13px;color:var(--muted)}
.methods{border:0;padding:0;margin:0 0 6px;display:grid;gap:10px}.methods legend{font-size:13px;font-weight:600;margin-bottom:10px}.method{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:14px;cursor:pointer;font-weight:400}.method:has(input:checked){border-color:var(--green);background:#f6f9ee}.method input{width:auto;margin:3px 0 0;accent-color:var(--green)}.method strong{display:block;font-size:14px}.method small{color:var(--muted);font-size:13px}
.split-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 18px}.split-stats div{background:white;border:1px solid var(--line);border-radius:12px;padding:16px}.split-stats span{display:block;font-size:13px;color:var(--muted)}.split-stats strong{font-size:24px}.ig-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;min-height:44px}
.stats{grid-template-columns:repeat(4,1fr)}
@media(max-width:640px){.stats{grid-template-columns:repeat(2,1fr)}.split-stats{grid-template-columns:1fr}.avatar{width:62px;height:62px}.hero-actions button{flex:1}.table-wrap table,.table-wrap thead,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block}.table-wrap thead{display:none}.table-wrap tr{border-bottom:1px solid var(--line);padding:10px 0}.table-wrap td{border:0;padding:6px 16px}}
@media(max-width:640px){.table-wrap td[data-label]::before{content:attr(data-label) ' · ';color:var(--muted);font-size:12px}.table-wrap td small{display:inline}}
.photo-tag{position:absolute;top:14px;right:14px;background:#121814cc;color:#e5ebe6;font-size:10px;padding:5px 8px;border-radius:6px;letter-spacing:.3px}
.benefit-photo img.shop-logo,.shop-logo{position:absolute;right:14px;bottom:12px;width:58px;height:58px;border-radius:50%;object-fit:cover;border:3px solid white;box-shadow:0 2px 10px #0003;background:white}.detail-media{position:relative}.detail-media .shop-logo{bottom:24px;width:64px;height:64px}
a[href^='tel:']{white-space:nowrap}
.club-front{display:block;width:100%;aspect-ratio:2.2;object-fit:cover;border-radius:17px;margin:0 0 20px}

/* MVP */
footer a{color:var(--green);font-weight:600;text-decoration:none;padding:10px 0}
nav .nav-cta{background:var(--accent);color:var(--green);font-weight:700}
.button-link{display:inline-flex;align-items:center;text-decoration:none;border-radius:8px;padding:12px 18px;font-weight:600;min-height:44px}
.qr-button{width:66px;height:66px;border-radius:12px;border:0;background:var(--accent);color:var(--green);font-weight:800;letter-spacing:1px}
.optional{font-weight:400;color:var(--muted)}
label.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:13px;color:var(--ink)}
label.check input{width:20px;height:20px;margin:1px 0 0;flex:none}
.steps{padding-left:20px;margin:18px 0;display:grid;gap:10px;line-height:1.45}
.admin-block{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}
.admin-block h3{margin:0 0 12px}
.tempass{font:700 24px/1.2 ui-monospace,Menlo,monospace;letter-spacing:1px;background:#f3f8e3;border:1px solid #dce9b3;border-radius:10px;padding:14px;text-align:center;user-select:all}
.check-page{max-width:460px;margin:30px auto 60px}
.check-card{background:var(--green);color:white;border-color:var(--green);text-align:center;display:grid;justify-items:center;gap:6px;padding:30px 24px}
.check-card .card-logo{margin-bottom:10px}.check-card .terms{color:#b9c2bb}.check-card .member-id{color:var(--accent);font-weight:700}
.check-card h1{font-size:28px;margin:10px 0 0}
.check-photo{width:180px;height:180px;object-fit:cover;border-radius:20px;border:4px solid var(--line)}
.check-card.valid .check-photo{border-color:#8fbf3a}
.check-card.invalid .check-photo{border-color:#d9534f}
.check-status{margin:14px 0 6px;width:100%;border-radius:12px;padding:16px;font-weight:800;font-size:19px;display:grid;gap:4px}
.check-status small{font-weight:500;font-size:13px}
.check-card.valid .check-status{background:#e5f1cf;color:#2f5a14}
.check-card.invalid .check-status{background:#fbe3e2;color:#8c1f1b}
@media (max-width:760px){.check-page{margin:16px auto 40px}.check-photo{width:150px;height:150px}}
.danger{color:#a3221d}
.primary.danger{background:#a3221d;color:white}
.mp-status{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.mp-status p{margin:6px 0 0}
.mp-button{background:#009ee3!important;color:white!important}
