.member-nav{display:flex;gap:24px;align-items:center;font-size:.88rem}.member-nav a{color:var(--ink);text-decoration:none}.member-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center;padding:68px 0 54px}.member-intro h1{font:800 clamp(3rem,5.6vw,5.8rem)/.96 Arial,sans-serif;letter-spacing:-.07em;margin:18px 0 24px;max-width:650px}.member-intro p{max-width:510px;line-height:1.7}.member-eyebrow{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:#a3472d}.moments-card{position:relative;isolation:isolate;overflow:hidden;background:#304238;color:#faf2e5;border-radius:22px;aspect-ratio:1.586;max-width:470px;width:100%;padding:30px;box-shadow:0 18px 44px #34251e1a;display:flex;flex-direction:column;justify-content:space-between;text-align:left}.moments-card:before,.moments-card:after{content:'';position:absolute;z-index:-1;border:1px solid #f1d5a951;border-radius:50%;width:90%;aspect-ratio:1;right:-44%;top:-38%;transform:rotate(-25deg)}.moments-card:after{width:100%;right:-38%;top:-27%}.card-brand{font:800 2.6rem/.9 Arial,sans-serif;letter-spacing:-.07em;color:#f9d176}.card-label{display:block;font:600 .62rem/2 Arial,sans-serif;letter-spacing:.32em;text-transform:uppercase;margin-top:6px;color:#faf2e5}.card-middle{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:#e9d8bd}.card-number{font:500 clamp(.95rem,2vw,1.3rem)/1.5 ui-monospace,monospace;letter-spacing:.12em;word-break:break-all}.card-bottom{display:flex;justify-content:space-between;gap:12px;align-items:end}.card-name{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere}.card-mark{width:36px;height:36px;border:1px solid #f9d176;border-radius:50%;display:grid;place-items:center;font-size:1.15rem;color:#f9d176}.member-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 30px;background:#eedfac;border-radius:4px;margin-bottom:44px}.member-strip strong{font:800 1.5rem/1.2 Arial,sans-serif;letter-spacing:-.04em}.member-strip p{margin:0;font-size:.9rem}.member-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;margin:30px 0}.member-panel{background:#fffaf2;border:1px solid #dccbb6;border-radius:14px;padding:30px;min-width:0}.member-panel h2{font:800 1.7rem/1.1 Arial,sans-serif;letter-spacing:-.04em;margin:0 0 16px}.member-panel h3{font:700 1.15rem/1.3 Arial,sans-serif}.member-panel .field{min-width:0}.member-panel input,.member-panel select,.member-panel textarea{max-width:100%}.amount-picks{display:flex;gap:8px;margin:5px 0 18px;flex-wrap:wrap}.amount-picks button{border:1px solid #b8b4a0;background:transparent;border-radius:100px;padding:10px 19px;color:#34251e;font-weight:700;cursor:pointer}.amount-picks button:hover{background:#dce4ac}.member-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:46px 0}.member-steps span{display:inline-block;font:800 2rem/1 Arial;color:#ba4b2b;margin-bottom:14px}.member-steps h3{font-size:1rem;margin:0 0 10px}.member-steps p{font-size:.88rem;line-height:1.6;margin:0}.member-footer{display:flex;justify-content:space-between;padding-top:35px;padding-bottom:100px;font-size:.8rem}.member-footer a{color:inherit}.member-terms,.payment-instructions{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.88rem;line-height:1.65}.member-terms{max-height:220px;overflow:auto;background:#f2e8d8;padding:18px;border-radius:8px;margin-bottom:15px}.wallet-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin:48px 0 26px}.wallet-head h1{font:800 clamp(2.5rem,5vw,4rem)/1 Arial;letter-spacing:-.06em;margin:12px 0}.wallet-overview{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.wallet-balance small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.wallet-balance strong{display:block;font:800 clamp(3.5rem,6vw,5.5rem)/1.15 Arial;letter-spacing:-.06em;margin:10px 0}.member-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.wallet-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:45px 0 24px}.wallet-tabs button{border:1px solid #d4c2a8;border-radius:50px;background:transparent;padding:12px 22px;color:#34251e;font-weight:700;cursor:pointer}.wallet-tabs button.active{background:#34251e;color:#fffaf2;border-color:#34251e}.member-history{width:100%;border-collapse:collapse;font-size:.88rem}.member-history th{text-align:left;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;padding:14px 12px;background:#f1e6d5}.member-history td{padding:16px 12px;border-bottom:1px solid #e5d7c4;vertical-align:top}.member-history td small{display:block;font-size:.72rem;line-height:1.6;color:#726050;margin-top:5px}.member-history .amount{white-space:nowrap;font-weight:700}.credit-positive{color:#315d38}.member-history .credit-negative{color:#a64128}.member-history-wrap{overflow-x:auto}.member-request{padding:20px 0;border-bottom:1px solid #dfd0ba}.member-request:first-of-type{padding-top:0}.member-request h3{margin:8px 0}.member-request .tag{margin-left:8px}.member-request details{margin:12px 0}.member-request summary{cursor:pointer;font-weight:600;font-size:.85rem}.member-empty{padding:25px 0;color:#74604e}.member-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.member-menu-grid .extra-row>span{min-width:0}.member-menu-grid .extra-row input{width:65px;flex:none}.member-checkout-bar{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-top:20px;border-top:1px solid #d8c6ae;padding-top:20px}.member-checkout-bar strong{font-size:1.4rem}.card-print-back{display:none}.member-summary{background:#edf0db;border-radius:8px;padding:18px;margin:18px 0}.membership-pay-box{margin-top:20px;padding:18px;background:#edf0db;border-radius:10px}.membership-pay-box .field{margin:10px 0}.membership-pay-box p{font-size:.85rem;margin:8px 0}.membership-pay-box input{max-width:200px}.admin-membership .stats{grid-template-columns:repeat(4,1fr)}.admin-membership .member-panel{margin:20px 0}.admin-membership .moments-card{max-width:400px;margin:20px 0}.admin-member-actions{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.member-detail-ledger{max-height:430px;overflow:auto}.pos-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:26px}.pos-layout>div{min-width:0}.pos-checkout{position:sticky;top:20px}.member-status-frozen{background:#fbddd2;padding:12px;border-radius:6px}.membership-callout{background:#dce4ac;border-radius:20px;padding:36px;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center;margin-top:50px;margin-bottom:50px}.membership-callout h2{font:800 clamp(2rem,4vw,3.6rem)/1 Arial;letter-spacing:-.06em;margin:12px 0}.membership-callout p{line-height:1.6}.membership-callout .moments-card{max-width:320px;justify-self:end;padding:22px;transform:rotate(3deg)}
@media(max-width:720px){.member-nav{gap:13px;font-size:.72rem;flex-wrap:wrap;justify-content:flex-end;max-width:210px}.member-nav .text-link{font-size:.72rem}.member-intro{grid-template-columns:1fr;gap:30px;padding:38px 0 30px}.member-intro h1{font-size:3.4rem;max-width:360px}.moments-card{padding:24px;max-width:450px;border-radius:18px}.card-brand{font-size:2.2rem}.member-strip{align-items:start;flex-direction:column;padding:22px;gap:10px;margin-bottom:30px}.member-columns,.wallet-overview,.pos-layout{grid-template-columns:1fr;gap:22px}.member-panel{padding:22px}.member-steps{grid-template-columns:1fr;gap:24px;margin:30px 0}.member-steps>div{display:grid;grid-template-columns:40px 1fr;gap:0 14px}.member-steps span{grid-row:span 2}.member-steps p{grid-column:2}.member-footer{gap:20px}.wallet-head{margin-top:32px;flex-wrap:wrap}.wallet-overview{gap:28px}.wallet-balance strong{font-size:4rem}.wallet-tabs{flex-wrap:nowrap;overflow-x:auto;margin-top:32px;padding-bottom:8px}.wallet-tabs button{white-space:nowrap;padding:11px 18px}.member-history th,.member-history td{padding:12px 8px}.member-history .balance-col{display:none}.member-menu-grid{grid-template-columns:1fr}.member-checkout-bar{align-items:stretch;flex-direction:column}.member-actions .btn{padding:13px 19px}.pos-checkout{position:static}.admin-membership .stats{grid-template-columns:1fr 1fr}.membership-callout{grid-template-columns:1fr;padding:26px}.membership-callout .moments-card{justify-self:center}.member-detail-ledger{max-height:none}}
@media print{body.membership-page>*:not(main){display:none!important}.membership-page main>*:not(.wallet-overview){display:none!important}.wallet-overview{display:block!important}.wallet-overview>*:not(.card-print-zone){display:none!important}.card-print-zone{width:85.6mm!important}.moments-card{width:85.6mm!important;height:54mm!important;aspect-ratio:auto;padding:5mm!important;border:1px solid #304238!important;border-radius:3mm!important;box-shadow:none!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.moments-card .card-brand{font-size:22pt}.moments-card .card-label{font-size:5pt}.moments-card .card-number{font-size:10pt}.moments-card .card-name{font-size:7pt}.card-print-back{display:block;width:85.6mm;height:54mm;padding:5mm;border:1px solid #304238;border-radius:3mm;font-size:8pt;box-sizing:border-box;margin-top:5mm;line-height:1.5}.card-print-back strong{display:block;font-size:11pt;margin-bottom:4mm}.membership-page .member-footer{display:none!important}dialog{display:none!important}}

/* QR quiet zone is part of the SVG. Keep it white and unobstructed in print. */
.card-qr{position:absolute;right:24px;top:24px;width:96px;height:96px;background:#fff;display:block;border-radius:3px}
.has-qr .card-brand,.has-qr .card-details{max-width:calc(100% - 108px)}
.has-qr .card-brand{font-size:2rem}.has-qr .card-label{letter-spacing:.15em;font-size:.55rem}
.has-qr .card-number{font-size:.91rem;letter-spacing:.06em;white-space:nowrap}
.card-scan-dialog,.card-pin-dialog{width:min(94vw,460px);max-height:92dvh;overflow:auto}
.card-scan-video{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#1b211e;border-radius:14px}
.card-pin-dialog .pin-total{font:800 3.5rem/1 Arial,sans-serif;color:#304238;letter-spacing:-.05em;margin:8px 0}
.card-pin-dialog input[name=pin]{font-size:1.8rem;text-align:center;letter-spacing:.35em;min-height:60px}
.card-pin-dialog .btn{min-height:50px;width:100%}
@media(max-width:400px){.has-qr .card-brand{font-size:1.8rem}.card-qr{width:87px;height:87px;right:20px;top:22px}.has-qr .card-brand,.has-qr .card-details{max-width:calc(100% - 94px)}.has-qr .card-number{font-size:.82rem}.card-pin-dialog .modal-body{padding:20px}}
@media print{.card-qr{width:23mm!important;height:23mm!important;top:5mm!important;right:5mm!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.has-qr .card-brand,.has-qr .card-details{max-width:48mm!important}.has-qr .card-brand{font-size:20pt!important}.has-qr .card-number{font-size:9pt!important}}
