@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url('/club/assets/montserrat-variable.ttf') format('truetype')}
:root{color-scheme:light;--paper:#f6f3ee;--ink:#242525;--muted:#736d64;--line:#ded7cc;--gold:#977951;--rose:#ebada8;--sand:#e9e1d3;font-family:Montserrat,system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:14px}*{box-sizing:border-box;min-width:0}html,body{margin:0;max-width:100%;overflow-x:clip}body{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 16px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);font-weight:650;text-decoration:none;cursor:pointer;text-align:center}button:disabled{opacity:.5;cursor:wait}button.primary,.button.primary{background:var(--ink);border-color:var(--ink);color:white}button.danger{color:#a12e2e}button.text-button{border:0;min-height:44px;background:none;color:var(--gold);padding:8px 0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b99769;outline-offset:3px}.shell{max-width:680px;margin:auto;background:var(--paper);min-height:100dvh}header{display:flex;justify-content:space-between;align-items:center;padding:25px 24px 20px;background:white;border-top:0}header img{display:block;width:175px;max-width:100%;height:auto}header span{color:var(--gold);font-size:10px;letter-spacing:1.6px;font-weight:650}main{padding:27px 24px}h1{font-size:28px;line-height:1.2;letter-spacing:-.8px;margin:7px 0 12px}h2{font-size:19px;line-height:1.4;margin:0 0 12px}h3{font-size:15px;line-height:1.5;margin:0}p{line-height:1.7;margin:10px 0 20px}.muted,small{color:var(--muted)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.4px;color:var(--gold)}.loyalty{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(118deg,#ba8d45 0%,#dfbd77 18%,#f3dfaa 39%,#d0a55c 66%,#ead098 87%,#bd934e 100%);border:1px solid #c7a05b;border-radius:14px;padding:25px;color:#392b16;margin:24px 0;box-shadow:inset 0 1px 0 #fff6,inset 0 -1px 0 #76582133,0 12px 28px #62471c1a}.loyalty:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(110deg,#fff0 0 3px,#fff2 3px 4px);opacity:.3}.loyalty:after{content:"";position:absolute;right:-5%;top:7%;width:45%;height:90%;background:url("/club/assets/hair-lock.svg") center/contain no-repeat;opacity:.08;transform:rotate(-12deg);z-index:-1;pointer-events:none}.loyalty-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:25px}.loyalty-top img{filter:none;opacity:1;width:180px;max-width:65%}.loyalty-top small{font-size:10px;color:#493716;text-align:right;letter-spacing:2px}.tally{display:flex;justify-content:space-between;align-items:center}.tally strong{font-size:24px}.stamps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:16px 0 20px}.stamp{display:grid;place-items:center;aspect-ratio:1;border:1px solid #70542466;border-radius:50%;background:#fff9e940;color:#51401f;font-weight:650;box-shadow:inset 0 1px 2px #fff4}.stamp.earned{background:linear-gradient(145deg,#3e301c,#6e522a);color:#f8e7ba;border-color:#604622;box-shadow:inset 0 1px 0 #e6c57d55,0 2px 5px #62471c1c}.salon-stamp{display:block;width:48%;height:48%;max-width:35px;max-height:35px}.stamp.earned .salon-stamp{filter:brightness(0) saturate(100%) invert(93%) sepia(25%) saturate(462%) hue-rotate(338deg) brightness(104%) contrast(94%)}.stamp.milestone{font-weight:800;border-width:2px;border-color:#70502099}.owner{border-top:1px solid #78582255;padding-top:14px;display:flex;justify-content:space-between;gap:10px;font-size:11px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0}.actions>*{flex:1}.stack{display:grid;gap:12px}.panel{padding:20px;border:1px solid var(--line);background:white;border-radius:12px;margin:16px 0}.reward{display:flex;align-items:start;gap:14px;padding:17px 0;border-bottom:1px solid var(--line)}.reward:last-child{border-bottom:0}.badge{display:grid;place-items:center;min-width:40px;height:40px;background:var(--sand);color:var(--gold);font-size:18px;border-radius:9px}.reward-content{flex:1}.reward small{display:block;margin-top:5px;line-height:1.6}.reward button{margin-top:12px;width:100%}.qr{display:block;width:min(260px,100%);height:auto;aspect-ratio:1;margin:20px auto;background:white;border-radius:12px}.center{text-align:center}.history{display:grid;gap:0;padding:0;list-style:none}.history li{border-bottom:1px solid var(--line);padding:16px 0}.history small{display:block;margin-top:5px}.status{padding:14px 16px;border-radius:9px;background:var(--sand);line-height:1.7;margin:15px 0}.status.error{background:#f9e9e6;color:#8b302c}label{display:grid;gap:8px;margin:16px 0;font-size:12px;font-weight:650}input,select{width:100%;max-width:100%;border:1px solid var(--line);background:white;border-radius:8px;min-height:48px;padding:12px;font-size:16px;color:var(--ink)}label.check{display:flex;align-items:start;line-height:1.7;font-weight:400}label.check input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin-top:3px}.branch-service{display:grid;grid-template-columns:1fr 1fr;gap:12px}nav{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:white;border-top:1px solid var(--line)}nav[hidden]{display:none}nav button{border:0;background:transparent;font-size:12px;padding:10px 3px}nav button[aria-current=page]{color:var(--gold);background:var(--paper)}footer{text-align:center;padding:16px 20px 20px;font-size:11px;line-height:1.9;color:var(--muted)}#notice{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:16px;right:16px;max-width:620px;margin:auto;background:var(--ink);color:white;border-radius:10px;padding:14px 18px;box-shadow:0 6px 24px #0002;z-index:20;display:none;line-height:1.5}#notice.show{display:block}dialog{width:calc(100% - 32px);max-width:430px;border:1px solid var(--line);border-radius:14px;padding:24px;background:white;color:var(--ink)}dialog::backdrop{background:#24252580}video{display:block;width:100%;max-height:350px;object-fit:cover;border-radius:12px;background:var(--ink);margin:18px 0}video[hidden]{display:none}.client-list{display:grid;gap:8px}.client-list button{justify-content:start;display:block;text-align:left;width:100%}.client-list small{display:block;font-weight:400;margin-top:5px}.link-box{overflow-wrap:anywhere;user-select:all;background:var(--paper);border-radius:8px;padding:12px;font-size:12px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:20px}.toolbar a{color:var(--gold);font-size:12px}ol{padding-left:21px;line-height:1.9}.saved-note{font-size:12px;line-height:1.7} @media(max-width:380px){header,main{padding-left:18px;padding-right:18px}header img{width:155px}h1{font-size:26px}.loyalty{padding:19px 15px}.stamps{gap:7px}.branch-service{grid-template-columns:1fr}.owner{font-size:10px}.actions{flex-direction:column}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
[hidden]{display:none!important}

.loyalty .tally small{color:#624c26}.loyalty .owner{color:#493718}
/* Cream, brushed gold and editorial type across the client application. */
:root{--paper:#faf8f3;--ink:#302b24;--muted:#766e61;--line:#e7dece;--gold:#9a793c;--sand:#f1e9d9;background:var(--paper)}
.shell{max-width:560px;background:transparent}header{padding:30px 26px 23px;background:#fffdf9;border-top:0;border-bottom:1px solid #e9e0d0}header img{width:184px}header span{font-size:9px;letter-spacing:2.1px;font-weight:500;color:#9a7d49}main{padding:34px 26px 26px}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2.1px;color:#9a7d49}h1,h2{font-family:Montserrat,system-ui,sans-serif;font-weight:600;letter-spacing:-.7px}h1{font-size:32px;line-height:1.08;margin:13px 0 16px;max-width:440px}h2{font-size:22px;line-height:1.15;letter-spacing:-.3px}h3{font-size:13px;line-height:1.65;font-weight:600}p{font-size:13px;line-height:1.85}.panel{background:#fffdf9;border-color:#e8dfcf;border-radius:12px;padding:20px 22px;box-shadow:0 4px 18px #59441a03;margin:22px 0}.reward{gap:16px;padding:19px 0;border-color:#eee5d8}.reward small{font-size:11px}.badge{width:40px;min-width:40px;height:44px;border-radius:5px;background:#f4eddf;color:#9b7c43;font-family:Montserrat,system-ui,sans-serif;font-size:20px;font-weight:500}.registration-panel{background:#fffdf9;border:1px solid #e8dfcf;border-radius:12px;padding:25px 22px;margin-top:28px}.registration-panel h2{margin:10px 0 12px;font-size:24px}.registration-intro{font-size:12px;margin-bottom:25px}.registration-panel label:not(.check){margin:20px 0 14px;font-size:11px;font-weight:500;letter-spacing:.2px}input,select{border-color:#e2d8c6;background:#fffefa;border-radius:7px;min-height:50px;padding:13px 14px}input::placeholder{color:#b3aa9a}label.check{font-size:11px;line-height:1.9;gap:11px;margin:22px 0}label.check input{accent-color:#9c7c43;width:18px;min-height:18px;height:18px;flex-basis:18px}.check .text-button{font:inherit;text-decoration:underline;text-underline-offset:3px;padding:0;min-height:0;display:inline;font-weight:500}button,.button{min-height:49px;border-radius:7px;font-size:12px;font-weight:500;letter-spacing:.15px;border-color:#dfd4c0;background:#fffdf9;padding:14px 19px}button.primary,.button.primary{background:linear-gradient(110deg,#ac8546,#c6a368 65%,#ae894c);border-color:#b69254;color:#fff;font-weight:600;box-shadow:inset 0 1px 0 #fff3,0 4px 10px #8e6b2c0c}.registration-panel>button[type=submit]{width:100%;margin-top:3px;min-height:52px}.registration-security{display:block;text-align:center;font-size:11px;letter-spacing:.15px;color:#746a58;margin:14px 0 0}.registration-panel .saved-note{font-size:11px;line-height:1.85;text-align:center;margin:16px 4px 0}.registration-trap{display:none!important}.loyalty{margin:27px 0 25px;border-radius:15px}.loyalty-top img{filter:none;opacity:1}.loyalty-top small{font-size:9px;letter-spacing:2px}.loyalty .tally{font-size:11px}.loyalty .tally strong{font-size:23px;font-weight:500}.loyalty .owner{font-size:10px}.loyalty .tally small{font-size:12px}.stamp{font-size:12px;font-weight:500}.stamp.milestone{font-weight:600}.actions{gap:11px}.stack.actions{margin-top:25px}.status{background:#f1eadc;border:1px solid #e7dcc6;font-size:12px}.qr{border-radius:7px;margin:24px auto}nav{background:#fffdf9;border-color:#e8dfcf;padding:9px 18px calc(9px + env(safe-area-inset-bottom))}nav button{font-size:11px;font-weight:500;border-radius:5px;letter-spacing:.3px}nav button[aria-current=page]{color:#957238;background:#f4eee2}footer{font-size:10px;letter-spacing:.2px;padding:22px 24px 28px;color:#a39782}footer .text-button{font-size:10px;color:#94784a;font-weight:400}.toolbar a{font-size:11px}.history li{padding:19px 0}.history b{font-size:12px;font-weight:500}.history small{font-size:11px}#notice{background:#3e3424;color:#fffaf0;font-size:12px;bottom:calc(88px + env(safe-area-inset-bottom));max-width:510px;border-radius:9px}dialog{padding:28px;border-radius:13px;border-color:#ddcfb5}dialog h2{font-size:22px}
@media(max-width:380px){header{padding:24px 19px 19px}header img{width:160px}header span{font-size:8px;letter-spacing:1.5px}main{padding:27px 19px 22px}h1{font-size:28px}.registration-panel{padding:23px 18px}.panel{padding:15px 18px}.loyalty{padding:21px 16px}.registration-security{font-size:11px;line-height:1.7}.loyalty-top img{width:160px}.loyalty .owner{font-size:9px}}

.owner span:first-child{overflow-wrap:anywhere}.owner span:last-child{flex-shrink:0}

h1,h2{font-weight:700;line-height:1.28}.salon-website{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;color:#967132;font-size:12px;font-weight:500;letter-spacing:.2px;text-decoration:underline;text-underline-offset:4px}.loyalty-top img{filter:none;opacity:1}

.legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;margin-top:8px}.legal-links a{display:inline-flex;align-items:center;min-height:44px;font-size:11px;color:#806130;text-underline-offset:4px}.privacy-summary{font-size:12px;line-height:1.8;color:#746a58;margin:18px 0}.privacy-summary a,.legal-document a{color:#806130;text-underline-offset:3px}.legal-document{line-height:1.85;overflow-wrap:anywhere}.legal-document h1{font-size:28px}.legal-document h2{font-size:19px;margin:28px 0 12px}.legal-document h3{font-size:15px}.legal-document .panel{margin:20px 0;padding:20px}.legal-document ul{padding-left:20px}.legal-intro{background:#f1eadc;border:1px solid #e7dcc6;border-radius:12px;padding:18px;margin:22px 0}.legal-nav{display:flex;flex-wrap:wrap;gap:12px;position:static;box-shadow:none;border:0;background:none;padding:0;margin:20px 0}.legal-nav a{font-size:12px;min-height:44px;display:flex;align-items:center}.storage-item{padding:18px 0;border-bottom:1px solid #e8dfcf}.storage-item:last-child{border-bottom:0}.storage-item h2{margin:0 0 8px;font-size:16px}.storage-item p{margin:5px 0}.forget-device{margin-top:20px;width:100%}

.registration-info{margin:16px 0 0}.registration-info>summary{list-style:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 auto;padding:0;border:1px solid #d8c8aa;border-radius:50%;background:#faf6ed;color:#947039;cursor:pointer;font-size:18px;font-weight:600;line-height:1;user-select:none}.registration-info>summary::-webkit-details-marker{display:none}.registration-info>summary:focus-visible{outline:3px solid #c6a368;outline-offset:4px}.registration-info[open]>summary{background:#eee3ce;border-color:#b69254}.registration-info-content{margin-top:14px;padding:16px 18px;border:1px solid #e8dfcf;border-radius:10px;background:#faf7f0}.registration-info-content .privacy-summary{font-size:12px;margin:0}.registration-info-content .registration-security{font-size:11px;line-height:1.8;margin-top:14px}.registration-panel .registration-info-content .saved-note{margin:10px 0 0;text-align:left}.registration-info-content .registration-security{text-align:left}

/* Approved gold-card landing design. */

.landing-intro{font-family:Montserrat,system-ui,sans-serif}
.landing-intro .pb-stage{min-height:1340px;padding:28px 12px 32px;display:flex;justify-content:center;align-items:flex-start;box-sizing:border-box}
.landing-intro .pb-app{--pb-gold:#be9958;--pb-cream:#faf7f1;--pb-ink:#292721;--pb-line:#e5ddcf;width:100%;max-width:420px;background:var(--pb-cream);color:var(--pb-ink);border:1px solid #e7dfd2;border-radius:22px;box-shadow:0 22px 62px #32281713;overflow:hidden;font-size:13px;line-height:1.6;position:relative}
.landing-intro .pb-app *{box-sizing:border-box}
.landing-intro .pb-brand{display:flex;align-items:center;justify-content:space-between;padding:28px 28px 22px;gap:18px}
.landing-intro .pb-brand img{width:160px;height:43px;object-fit:contain}
.landing-intro .pb-brand span{font-size:9px;letter-spacing:2px;color:#8b744b;font-weight:600;text-align:right}
.landing-intro h1,.landing-intro h2,.landing-intro h3,.landing-intro p{margin:0;font-family:inherit}
.landing-intro .pb-eyebrow{font-size:10px;letter-spacing:2.3px;color:#8b6a30;font-weight:600;display:block}
.landing-intro .pb-hero{text-align:center;padding:18px 28px 25px}
.landing-intro .pb-hero h1{font-size:34px;line-height:1.2;letter-spacing:-1.3px;font-weight:600;margin:13px 0 14px}
.landing-intro .pb-hero h1 em{font-style:normal;color:#9b773c}
.landing-intro .pb-hero>p{font-size:12px;line-height:1.9;color:#7e786d;max-width:290px;margin:0 auto}
.landing-intro .pb-card-wrap{padding:22px 1px 14px;position:relative;isolation:isolate}
.landing-intro .pb-card-wrap:before{content:'';position:absolute;width:300px;height:230px;left:50%;top:10px;transform:translateX(-50%);background:radial-gradient(ellipse,#e8d4aa70,transparent 68%);z-index:-1}
.landing-intro .pb-gold-card{--pb-card-radius:14px;position:relative;padding:24px 22px 19px;text-align:left;overflow:hidden;border-radius:var(--pb-card-radius);color:#423019;background:linear-gradient(115deg,color-mix(in srgb,var(--pb-gold),#f6e9bf 42%),#eddaaa 32%,var(--pb-gold) 78%,#e2c68c);box-shadow:0 15px 22px #7657202b,inset 0 1px 0 #fff9,inset 0 -1px 0 #86632738;transform:rotate(-3deg);min-height:223px}
.landing-intro .pb-gold-card:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(118deg,transparent 0 3px,#fff1 3.4px 3.7px);pointer-events:none;opacity:.45}
.landing-intro .pb-gold-card.pb-no-sheen:before{display:none}
.landing-intro .pb-card-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px}
.landing-intro .pb-card-head img{width:148px;height:41px;object-fit:contain;opacity:.82}
.landing-intro .pb-card-head>span{font-size:8px;letter-spacing:2px;text-align:right;font-weight:600;line-height:1.7}
.landing-intro .pb-stamps{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;position:relative}
.landing-intro .pb-stamp{height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #80633136;border-radius:8px;background:#fffbef2e;font-size:11px;color:#6f542b;font-weight:500}
.landing-intro .pb-stamp.pb-stamped{background:#312c23;color:#e1c58b;border-color:#312c23;box-shadow:inset 0 1px 0 #ffffff1a}
.landing-intro .pb-stamp :is(svg,img){width:17px;height:17px;stroke-width:1.5}
.landing-intro .pb-stamp.pb-gift{background:#f9edce8a}
.landing-intro .pb-card-foot{display:flex;justify-content:space-between;gap:12px;position:relative;margin-top:16px;text-transform:uppercase;font-size:8px;letter-spacing:1.5px;font-weight:600}
.landing-intro .pb-preview-caption{font-size:9px;color:#938570;letter-spacing:1px;margin-top:18px}
.landing-intro .pb-rewards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 28px 28px}
.landing-intro .pb-perk{background:#fffdf9;border:1px solid var(--pb-line);border-radius:12px;padding:17px 15px 16px;position:relative;text-align:left}
.landing-intro .pb-perk-top{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:9px;color:#887249;letter-spacing:.5px}
.landing-intro .pb-perk :is(svg,img){width:16px;height:16px;stroke-width:1.5}
.landing-intro .pb-perk strong{display:block;font-size:31px;line-height:1.15;font-weight:500;letter-spacing:-1.4px;margin:12px 0 8px;color:#a47d3f}
.landing-intro .pb-perk p{font-size:11px;line-height:1.7;font-weight:500}
.landing-intro .pb-join{padding:25px 28px 28px;background:#fffdf9;border-top:1px solid var(--pb-line)}
.landing-intro .pb-join-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}
.landing-intro .pb-join h2{font-size:21px;font-weight:600;letter-spacing:-.6px;line-height:1.4}
.landing-intro .pb-free{font-size:9px;letter-spacing:.9px;background:#f1eadc;color:#7e673e;border-radius:4px;padding:5px 8px;white-space:nowrap}
.landing-intro .pb-join .pb-helper{font-size:11px;color:#8d8475;margin-bottom:20px}
.landing-intro .pb-join label.pb-label{display:block;font-size:10px;font-weight:500;color:#766e60;margin:14px 0 7px}
.landing-intro .pb-join input[type=text],.landing-intro .pb-join input[type=email]{display:block;width:100%;font:400 16px/1.4 Montserrat,system-ui,sans-serif;padding:13px 14px;border:1px solid #e2dbce;border-radius:8px;background:#fbf9f4;color:#332d24;min-width:0;min-height:49px}
.landing-intro .pb-join input::placeholder{color:#b0a697;font-size:12px}
.landing-intro .pb-check{display:flex;align-items:flex-start;gap:10px;font-size:10px;line-height:1.8;color:#797063;margin:18px 0 20px}
.landing-intro .pb-check input{accent-color:#a98449;margin:2px 0 0;width:17px;height:17px;flex-shrink:0}
.landing-intro .pb-check button{border:0;padding:0;background:none;color:#806033;text-decoration:underline;font:inherit;text-underline-offset:3px}
.landing-intro .pb-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid #ae8849;border-radius:8px;background:linear-gradient(110deg,#a37b3f,#bd985d 66%,#a77f43);color:#fff;font:600 12px/1.4 Montserrat,system-ui,sans-serif;padding:16px 10px;min-height:51px;box-shadow:inset 0 1px 0 #ffffff30,0 5px 12px #80602a0d}
.landing-intro .pb-submit svg{width:17px;height:17px;stroke-width:1.5}
.landing-intro details.pb-info{margin-top:15px;text-align:center}
.landing-intro .pb-info summary{list-style:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:auto;border-radius:50%;border:1px solid #e3d8c2;color:#967843;font-size:14px;background:#faf6ed}
.landing-intro .pb-info summary::-webkit-details-marker{display:none}
.landing-intro .pb-info p{font-size:11px;text-align:left;line-height:1.8;color:#7c715f;padding:14px;margin-top:12px;background:#f7f2e8;border-radius:8px}
.landing-intro .pb-footer{padding:24px 20px 23px;text-align:center;background:var(--pb-cream);border-top:1px solid #eae4d9;color:#928571}
.landing-intro .pb-footer .pb-location{font-size:8px;letter-spacing:1.6px;font-weight:500;margin-bottom:9px}
.landing-intro .pb-footer .pb-website{font-size:10px;color:#8d6a32}
.landing-intro .pb-footer .pb-legal{font-size:9px;color:#9b907f;margin-top:13px;display:flex;justify-content:center;gap:16px}
.landing-intro .pb-feedback{font-size:11px;line-height:1.8;color:#7b6034;text-align:center;margin-top:13px}
.landing-intro .pb-feedback:empty{display:none}
.landing-intro .pb-terms{margin-bottom:18px;padding:15px;background:#f8f3e9;font-size:11px;line-height:1.8;border-radius:8px;color:#746445}
.landing-intro .pb-dark-top{background:#242520;color:#f7f0df;position:relative;padding-bottom:25px}
.landing-intro .pb-dark-top .pb-brand{padding-bottom:20px}
.landing-intro .pb-dark-top .pb-brand span{color:#bca577}
.landing-intro .pb-dark-top .pb-hero{padding-top:13px;padding-bottom:18px}
.landing-intro .pb-dark-top .pb-eyebrow{color:#c4a46a;font-size:9px}
.landing-intro .pb-dark-top .pb-hero h1{font-size:33px;font-weight:500;line-height:1.25;margin-bottom:14px}
.landing-intro .pb-dark-top .pb-hero h1 em{color:#d5b77e}
.landing-intro .pb-dark-top .pb-hero>p{color:#aca99b;font-size:11px;max-width:270px}
.landing-intro .pb-dark-top .pb-card-wrap{margin-top:3px;padding-top:22px;padding-bottom:0}
.landing-intro .pb-dark-top .pb-gold-card{transform:none;min-height:205px;box-shadow:0 15px 30px #0003}
.landing-intro .pb-dark-top .pb-card-head{margin-bottom:18px}
.landing-intro .pb-dark-top .pb-preview-caption{color:#b6a888;margin-top:13px}
.landing-intro .pb-perks-list{padding:24px 28px 6px;background:#faf7f1}
.landing-intro .pb-perks-list>.pb-eyebrow{font-size:9px;margin-bottom:10px}
.landing-intro .pb-list-row{display:flex;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid #e5ddcf}
.landing-intro .pb-list-row:last-child{border-bottom:0}
.landing-intro .pb-visit-dot{width:43px;height:43px;border-radius:50%;background:#2e2d27;color:#ddc593;font-size:17px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.landing-intro .pb-list-row strong{font-size:15px;letter-spacing:-.3px;font-weight:600}
.landing-intro .pb-list-row p{font-size:10px;line-height:1.8;color:#8c8170;margin-top:4px}
.landing-intro .pb-private .pb-join{background:#faf7f1;border-top:0;padding-top:22px}
.landing-intro .pb-private .pb-join-head{margin-bottom:8px}
.landing-intro .pb-private .pb-join input{background:#fffdf9}
.landing-intro .pb-private .pb-footer{background:#faf7f1}
.landing-intro .pb-private .pb-join h2{font-size:22px}

@media(max-width:420px){.landing-intro .pb-stage{padding:16px 0 28px;min-height:1400px}.landing-intro .pb-app{border-radius:14px}.landing-intro .pb-brand{padding:25px 22px 20px}.landing-intro .pb-hero{padding-left:22px;padding-right:22px}.landing-intro .pb-hero h1{font-size:30px}.landing-intro .pb-rewards{margin-left:22px;margin-right:22px}.landing-intro .pb-join{padding-left:22px;padding-right:22px}.landing-intro .pb-gold-card{padding:21px 17px 17px}.landing-intro .pb-card-head img{width:132px}.landing-intro .pb-perks-list{padding-left:22px;padding-right:22px}.landing-intro .pb-dark-top .pb-hero h1{font-size:29px}.landing-intro .pb-stamps{gap:7px}.landing-intro .pb-perk{padding:15px 12px}.landing-intro .pb-brand img{width:148px}}
.landing-intro .pb-brand span,.landing-intro .pb-eyebrow,.landing-intro .pb-card-head>span,.landing-intro .pb-card-foot,.landing-intro .pb-preview-caption,.landing-intro .pb-perk-top,.landing-intro .pb-free,.landing-intro .pb-join label.pb-label,.landing-intro .pb-check,.landing-intro .pb-footer .pb-location,.landing-intro .pb-footer .pb-website,.landing-intro .pb-footer .pb-legal,.landing-intro .pb-dark-top .pb-eyebrow,.landing-intro .pb-perks-list>.pb-eyebrow,.landing-intro .pb-list-row p{font-size:11px}.landing-intro .pb-footer .pb-legal{flex-wrap:wrap}.landing-intro .pb-preview-caption{max-width:100%;line-height:1.8}.landing-intro .pb-card-foot{letter-spacing:.6px;line-height:1.5}.landing-intro .pb-card-foot>span{max-width:58%;overflow-wrap:anywhere}.landing-intro .pb-brand span{letter-spacing:1.3px}
.landing-intro .pb-gold-card.pb-no-sheen{background:var(--pb-gold)}
@media(max-width:360px){.landing-intro .pb-stage{min-height:1640px}}
/* Brushed gold, a polished edge and an embossed face. */
.landing-intro .pb-card-wrap{perspective:850px;isolation:isolate;padding-top:25px;padding-bottom:18px}
.landing-intro .pb-card-wrap:before{top:auto;bottom:8px;left:50%;width:86%;height:43%;transform:translateX(-49%) rotate(-3deg);background:radial-gradient(ellipse,#5c3a1952,transparent 68%);filter:blur(9px);z-index:-1}
.landing-intro .pb-gold-card{--pb-tilt-x:7deg;--pb-tilt-y:-9deg;--pb-tilt-z:-3deg;--pb-shine-x:31%;--pb-shine-y:18%;--pb-reflection:.72;--pb-relief:1;border:1px solid #b48b3f;transform:rotateX(var(--pb-tilt-x)) rotateY(var(--pb-tilt-y)) rotateZ(var(--pb-tilt-z));transform-style:preserve-3d;backface-visibility:hidden;transition:transform 180ms ease-out;background:linear-gradient(119deg,color-mix(in srgb,var(--pb-gold),#78521e 25%) 0%,color-mix(in srgb,var(--pb-gold),#f2d88c 38%) 17%,#f7e6aa 28%,color-mix(in srgb,var(--pb-gold),#d5b366 25%) 34%,#a98036 45%,#e7cd86 54%,#fff1bd 62%,color-mix(in srgb,var(--pb-gold),#dabd7b 25%) 74%,#ac833c 88%,#dfc380 100%);box-shadow:inset 0 1px 1px #fff7d9e6,inset 1px 0 1px #fff0bd88,inset -1px -1px 1px #66411666,0 1px 0 #dbc38c,0 2px 0 #ae8642,0 3px 0 #775520,0 4px 0 #a47c37,0 calc(13px * var(--pb-relief)) calc(16px * var(--pb-relief)) #53361126,0 calc(23px * var(--pb-relief)) calc(31px * var(--pb-relief)) #6c471f2b;color:#392b16}
.landing-intro .pb-gold-card:before{content:'';position:absolute;inset:0;z-index:0;opacity:.54;background:repeating-linear-gradient(2deg,#fff6 0px,#fff1 .35px,transparent .7px,transparent 1.35px,#4b2d0d10 1.7px,transparent 2px),repeating-linear-gradient(92deg,transparent 0px,transparent 4px,#fff1 4.5px,transparent 5px);mix-blend-mode:soft-light;pointer-events:none}
.landing-intro .pb-gold-card:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;background:radial-gradient(ellipse at var(--pb-shine-x) var(--pb-shine-y),#fffcebcb 0%,#fff5d447 21%,transparent 57%),linear-gradient(115deg,transparent 16%,#fff0 28%,#fff9 29%,#fff2 34%,transparent 39%,transparent 100%);box-shadow:inset 0 0 0 1px #fff2d680,inset 0 -2px 2px #5b391b20;opacity:var(--pb-reflection);mix-blend-mode:soft-light}
.landing-intro .pb-gold-card .pb-card-head,.landing-intro .pb-gold-card .pb-stamps,.landing-intro .pb-gold-card .pb-card-foot{z-index:2}
.landing-intro .pb-card-head img{opacity:.92;filter:sepia(.45) brightness(.65) drop-shadow(0 1px 0 #fff0b9a6)}
.landing-intro .pb-card-head>span,.landing-intro .pb-card-foot{text-shadow:0 1px 0 #fff1bb91,0 -.5px 0 #74531b3b}
.landing-intro .pb-stamp{border:1px solid #8f6a2a45;background:linear-gradient(145deg,#8c652013,#fff2cf2b);box-shadow:inset 0 1px 2px #5c3e1922,0 1px 0 #fff0b894;color:#57401d;text-shadow:0 1px 0 #fff3c080}
.landing-intro .pb-stamp.pb-stamped{background:linear-gradient(135deg,#493c27,#25241e 65%,#3b3324);border-color:#6f531f;box-shadow:inset 0 1px 0 #f5d99455,inset 0 -1px 2px #0009,0 1px 0 #ffefb3c2;color:#ecd59a}
.landing-intro .pb-stamp.pb-stamped svg{filter:drop-shadow(0 -1px 0 #0009) drop-shadow(0 .5px 0 #f1d38d44)}
.landing-intro .pb-stamp.pb-gift{background:linear-gradient(130deg,#f8e4a255,#bb944733);border-color:#8a642d4a;box-shadow:inset 0 1px 1px #fff5c77a,inset 0 -1px 1px #80511a20,0 1px 0 #fff2bc73}
.landing-intro .pb-dark-top .pb-gold-card{--pb-tilt-x:5deg;--pb-tilt-y:-6deg;--pb-tilt-z:0deg;transform:rotateX(var(--pb-tilt-x)) rotateY(var(--pb-tilt-y)) rotateZ(var(--pb-tilt-z));box-shadow:inset 0 1px 1px #fff7d9e6,inset 1px 0 1px #fff0bd88,inset -1px -1px 1px #66411666,0 1px 0 #dbc38c,0 2px 0 #ae8642,0 3px 0 #775520,0 4px 0 #a47c37,0 18px 28px #0005,0 30px 40px #0002}
.landing-intro .pb-dark-top .pb-card-wrap:before{background:radial-gradient(ellipse,#0008,transparent 68%)}
.landing-intro .pb-gold-card.pb-no-sheen{background:var(--pb-gold)}
.landing-intro .pb-gold-card.pb-no-sheen:before,.landing-intro .pb-gold-card.pb-no-sheen:after{display:none}
@media(prefers-reduced-motion:reduce){.landing-intro .pb-gold-card{transition:none}}

body.is-landing .shell{max-width:420px;background:#faf7f1}body.is-landing main{padding:0}body.is-landing> .shell>header{background:#faf7f1;border:0;padding:28px 28px 22px;gap:18px}body.is-landing header img{width:160px;height:43px;object-fit:contain}body.is-landing header span{font-size:11px;letter-spacing:1.3px;font-weight:600;color:#8b744b}body.is-landing footer{background:#faf7f1;border-top:1px solid #eae4d9;padding:24px 20px;color:#928571}body.is-landing footer .legal-links a{font-size:11px}.landing-intro .pb-app{max-width:none;width:100%;border:0;border-radius:0;box-shadow:none}.landing-intro .pb-join.registration-panel{border:0;border-top:1px solid #e5ddcf;margin:0;border-radius:0}.landing-intro .pb-join label.pb-label{margin:14px 0 7px}.landing-intro .pb-label input{margin-top:7px}.landing-intro label.check.pb-check{margin:18px 0 20px;font-size:11px}.landing-intro .pb-check button{min-height:0;display:inline}.landing-intro button.primary.pb-submit{background:linear-gradient(110deg,#a37b3f,#bd985d 66%,#a77f43);color:#fff}.landing-intro .pb-submit:after{content:'→';font-size:19px;line-height:1}.landing-intro .pb-join .registration-info-content p{padding:0;background:none;margin:0;text-align:left;font-size:11px}.landing-intro .pb-join .registration-info-content .saved-note{margin-top:10px}.landing-intro .pb-icon{display:block;object-fit:contain}.landing-intro .pb-card-head img{width:148px;height:41px}
@media(max-width:380px){body.is-landing> .shell>header{padding:25px 22px 20px}body.is-landing header img{width:148px}.landing-intro .pb-card-head img{width:132px}}

.loyalty{--pb-tilt-x:7deg;--pb-tilt-y:-9deg;--pb-tilt-z:-3deg;--pb-shine-x:31%;--pb-shine-y:18%;--pb-reflection:.72;--pb-relief:1;border:1px solid #b48b3f;transform:rotateX(var(--pb-tilt-x)) rotateY(var(--pb-tilt-y)) rotateZ(var(--pb-tilt-z));transform-style:preserve-3d;backface-visibility:hidden;transition:transform 180ms ease-out;background:linear-gradient(119deg,color-mix(in srgb,var(--pb-gold),#78521e 25%) 0%,color-mix(in srgb,var(--pb-gold),#f2d88c 38%) 17%,#f7e6aa 28%,color-mix(in srgb,var(--pb-gold),#d5b366 25%) 34%,#a98036 45%,#e7cd86 54%,#fff1bd 62%,color-mix(in srgb,var(--pb-gold),#dabd7b 25%) 74%,#ac833c 88%,#dfc380 100%);box-shadow:inset 0 1px 1px #fff7d9e6,inset 1px 0 1px #fff0bd88,inset -1px -1px 1px #66411666,0 1px 0 #dbc38c,0 2px 0 #ae8642,0 3px 0 #775520,0 4px 0 #a47c37,0 calc(13px * var(--pb-relief)) calc(16px * var(--pb-relief)) #53361126,0 calc(23px * var(--pb-relief)) calc(31px * var(--pb-relief)) #6c471f2b;color:#392b16}
.loyalty:before{content:'';position:absolute;inset:0;z-index:0;opacity:.54;background:repeating-linear-gradient(2deg,#fff6 0px,#fff1 .35px,transparent .7px,transparent 1.35px,#4b2d0d10 1.7px,transparent 2px),repeating-linear-gradient(92deg,transparent 0px,transparent 4px,#fff1 4.5px,transparent 5px);mix-blend-mode:soft-light;pointer-events:none}
.loyalty:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;background:radial-gradient(ellipse at var(--pb-shine-x) var(--pb-shine-y),#fffcebcb 0%,#fff5d447 21%,transparent 57%),linear-gradient(115deg,transparent 16%,#fff0 28%,#fff9 29%,#fff2 34%,transparent 39%,transparent 100%);box-shadow:inset 0 0 0 1px #fff2d680,inset 0 -2px 2px #5b391b20;opacity:var(--pb-reflection);mix-blend-mode:soft-light}
.loyalty .loyalty-top,.loyalty .stamps,.loyalty .owner{z-index:2}
.loyalty.pb-no-sheen{background:var(--pb-gold)}
.loyalty.pb-no-sheen:before,.loyalty.pb-no-sheen:after{display:none}
.loyalty{--pb-gold:#be9958;--pb-relief:1;--pb-reflection:.72;perspective:850px;position:relative;isolation:isolate}.loyalty .loyalty-top,.loyalty .tally,.loyalty .owner,.loyalty .stamps{position:relative;z-index:2}.loyalty .loyalty-top img{filter:sepia(.45) brightness(.65) drop-shadow(0 1px 0 #fff0b9a6);opacity:.92}.loyalty .loyalty-top small{color:#423019;letter-spacing:1.3px;font-size:11px;text-shadow:0 1px 0 #fff1bb91}.loyalty .stamp{border:1px solid #8f6a2a45;background:linear-gradient(145deg,#8c652013,#fff2cf2b);box-shadow:inset 0 1px 2px #5c3e1922,0 1px 0 #fff0b894;color:#57401d;border-radius:8px}.loyalty .stamp.earned{background:linear-gradient(135deg,#493c27,#25241e 65%,#3b3324);border-color:#6f531f;box-shadow:inset 0 1px 0 #f5d99455,inset 0 -1px 2px #0009,0 1px 0 #ffefb3c2}.loyalty .salon-stamp{width:19px;height:19px}.loyalty .owner{font-size:11px;text-shadow:0 1px 0 #fff1bb91}.loyalty .tally{color:#423019}
@media(prefers-reduced-motion:reduce){.loyalty{transition:none}}
.landing-intro .pb-stamped .pb-icon,.loyalty .stamp.earned .salon-stamp{filter:brightness(0) invert(88%) sepia(38%) saturate(450%) hue-rotate(350deg)}
.loyalty:after{width:auto;height:auto;transform:none}.loyalty .stamp{aspect-ratio:auto;height:36px}body.is-client .shell{max-width:420px}body.is-client #nav{max-width:420px}body.is-client> .shell>header{background:#faf7f1;border:0;padding:28px 28px 22px;gap:18px}body.is-client header img{width:160px;height:43px;object-fit:contain}body.is-client header span{font-size:11px;letter-spacing:1.3px;font-weight:600;color:#8b744b}
@media(max-width:380px){body.is-client> .shell>header{padding:25px 22px 20px}body.is-client header img{width:148px}}
/* Flat client pass with an integrated, scannable QR code. */
.wallet-pass{position:relative;margin:24px 0;padding:24px 22px 18px;border:1px solid #c2a167;border-radius:16px;background:linear-gradient(112deg,#c5a166,#e6d09b 44%,#c7a56d 89%);color:#3b2d1c;box-shadow:inset 0 1px 0 #fff3cfaa,0 9px 24px #5b422213;transform:none;overflow:hidden}
.pass-brand{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.pass-brand img{width:152px;max-width:61%;height:42px;object-fit:contain;opacity:.85}.pass-brand>span{font-size:9px;font-weight:600;letter-spacing:1.5px;text-align:right;line-height:1.6}.pass-owner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 17px}.pass-owner b{font-size:14px;font-weight:600;overflow-wrap:anywhere;min-width:0}.pass-owner>span{font-size:9px;letter-spacing:.8px;flex-shrink:0;color:#6c5532}.pass-stamps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:15px 12px;background:linear-gradient(130deg,#302a21,#201e19);border-radius:10px;box-shadow:inset 0 1px 0 #fff2,0 1px 0 #ffedc080}.pass-stamp{position:relative;display:flex;align-items:center;justify-content:center;min-height:39px;border-radius:7px;background:#c5a36810}.pass-stamp>img{width:23px;height:23px;filter:brightness(0) invert(65%) sepia(37%) saturate(497%) hue-rotate(354deg);opacity:.4}.pass-stamp.is-earned{background:linear-gradient(140deg,#f4e8c7,#d9c18d);box-shadow:0 1px 3px #0004}.pass-stamp.is-earned>img{filter:none;opacity:1}.pass-stamp small{position:absolute;right:3px;bottom:0;font-size:8px;font-weight:600;color:#c1a473}.pass-stamp.is-earned small{color:#6c4e24}.pass-counts{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin:12px 0 19px;line-height:1.7}.pass-counts b{font-weight:600}.pass-qr-box{width:188px;max-width:100%;min-height:188px;margin:0 auto;padding:6px;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center}.pass-qr{display:block;width:176px;height:176px;max-width:100%;object-fit:contain;image-rendering:pixelated;background:#fff;border-radius:0}.pass-qr-placeholder{width:100%;min-height:176px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;line-height:1.8;color:#8c805f;background:#f8f5ed;border:1px dashed #d3c7ac;border-radius:5px}.pass-hint{text-align:center;font-size:10px;line-height:1.7;color:#6f5834;margin:12px 0 0}.is-client main>h1{font-size:28px}.landing-intro .pb-hero{padding-bottom:27px}
body.is-staff .shell{max-width:1050px}body.is-staff main.staff-with-preview{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:42px;align-items:start}.staff-club-tools{min-width:0}.staff-card-preview{min-width:0;padding-top:10px}.staff-card-preview>h2{font-size:20px;margin-bottom:8px}.staff-card-preview>p{font-size:12px;line-height:1.8;margin-bottom:20px}.preview-phone{position:relative;max-width:310px;margin:0 auto;padding:33px 10px 25px;border:7px solid #262622;border-radius:37px;background:#faf8f3;box-shadow:0 18px 45px #2f29221a;overflow:hidden}.preview-phone:before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:80px;height:17px;background:#262622;border-radius:0 0 13px 13px}.preview-phone:after{content:'';position:absolute;bottom:9px;left:50%;transform:translateX(-50%);width:85px;height:4px;background:#262622;border-radius:5px}.preview-phone-title{text-align:center;color:#544939;font-size:12px;font-weight:600;margin:0 0 14px}.preview-phone .wallet-pass{padding:17px 14px 15px;margin:0;border-radius:12px;box-shadow:none}.preview-phone .pass-brand{margin-bottom:13px}.preview-phone .pass-brand img{width:127px;height:35px}.preview-phone .pass-brand>span{font-size:8px;letter-spacing:.9px}.preview-phone .pass-owner b{font-size:12px}.preview-phone .pass-owner>span{font-size:8px}.preview-phone .pass-stamps{gap:5px;padding:12px 9px}.preview-phone .pass-stamp{min-height:30px}.preview-phone .pass-stamp>img{width:20px;height:20px}.preview-phone .pass-counts{font-size:10px;margin:10px 0 15px}.preview-phone .pass-qr-box{width:158px;min-height:158px;padding:5px}.preview-phone .pass-qr{width:148px;height:148px}.preview-phone .pass-qr-placeholder{min-height:148px;font-size:11px}.preview-phone .pass-hint{font-size:9px}
@media(max-width:760px){body.is-staff .shell{max-width:560px}body.is-staff main.staff-with-preview{grid-template-columns:minmax(0,1fr);gap:30px}.staff-card-preview{padding-top:20px;border-top:1px solid #e7dece}.wallet-pass{padding:22px 18px}.pass-stamps{gap:6px}.pass-brand>span{font-size:9px}.pass-owner>span{font-size:8px}}
.member-directory{margin-top:30px}.member-directory>h2{font-size:21px;margin-bottom:12px}.member-directory>p{font-size:12px}.member-directory form{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px;align-items:end;margin:20px 0}.member-directory form label{margin:0;font-size:11px}.member-directory form input,.member-directory form select{width:100%;min-width:0;margin-top:7px}.member-directory form button{grid-column:1/-1}.member-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:17px 0;border-top:1px solid #e7dece}.member-contact{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}.member-contact>b{font-size:13px}.member-contact small{font-size:11px;color:#766e61}.member-status{font-size:10px;color:#896a35}.member-count{display:grid;text-align:right;align-content:start}.member-count>b{font-size:20px}.member-count small{font-size:10px}.member-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.member-actions button{min-height:40px;padding:9px 13px;font-size:11px}.member-paging{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-top:20px;font-size:11px;flex-wrap:wrap}.member-paging button{padding:9px 12px;min-height:40px}.member-total{font-size:11px;margin:15px 0}.recovery-availability{padding:12px;background:#f2ecdf;border-radius:7px}.landing-intro .recovery-link{display:block;margin:12px auto 20px;text-align:center;padding:10px 16px;min-height:44px;font-size:11px;color:#86672f}#recovery-result{font-size:12px;margin-top:17px;line-height:1.8}.member-directory+.panel{margin-top:25px}
@media(max-width:420px){.member-directory form{grid-template-columns:1fr}.member-directory form button{grid-column:auto}}

/* Separate the scannable QR from the restored metallic card face. */
.wallet-pass{--pb-tilt-x:7deg;--pb-tilt-y:-9deg;--pb-tilt-z:-3deg;--pb-shine-x:31%;--pb-shine-y:18%;--pb-reflection:.72;--pb-relief:1;border:1px solid #b48b3f;transform:rotateX(var(--pb-tilt-x)) rotateY(var(--pb-tilt-y)) rotateZ(var(--pb-tilt-z));transform-style:preserve-3d;backface-visibility:hidden;transition:transform 180ms ease-out;background:linear-gradient(119deg,color-mix(in srgb,var(--pb-gold),#78521e 25%) 0%,color-mix(in srgb,var(--pb-gold),#f2d88c 38%) 17%,#f7e6aa 28%,color-mix(in srgb,var(--pb-gold),#d5b366 25%) 34%,#a98036 45%,#e7cd86 54%,#fff1bd 62%,color-mix(in srgb,var(--pb-gold),#dabd7b 25%) 74%,#ac833c 88%,#dfc380 100%);box-shadow:inset 0 1px 1px #fff7d9e6,inset 1px 0 1px #fff0bd88,inset -1px -1px 1px #66411666,0 1px 0 #dbc38c,0 2px 0 #ae8642,0 3px 0 #775520,0 4px 0 #a47c37,0 calc(13px * var(--pb-relief)) calc(16px * var(--pb-relief)) #53361126,0 calc(23px * var(--pb-relief)) calc(31px * var(--pb-relief)) #6c471f2b;color:#392b16}
.wallet-pass:before{content:'';position:absolute;inset:0;z-index:0;opacity:.54;background:repeating-linear-gradient(2deg,#fff6 0px,#fff1 .35px,transparent .7px,transparent 1.35px,#4b2d0d10 1.7px,transparent 2px),repeating-linear-gradient(92deg,transparent 0px,transparent 4px,#fff1 4.5px,transparent 5px);mix-blend-mode:soft-light;pointer-events:none}
.wallet-pass:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;background:radial-gradient(ellipse at var(--pb-shine-x) var(--pb-shine-y),#fffcebcb 0%,#fff5d447 21%,transparent 57%),linear-gradient(115deg,transparent 16%,#fff0 28%,#fff9 29%,#fff2 34%,transparent 39%,transparent 100%);box-shadow:inset 0 0 0 1px #fff2d680,inset 0 -2px 2px #5b391b20;opacity:var(--pb-reflection);mix-blend-mode:soft-light}
.wallet-pass .pass-brand,.wallet-pass .pass-stamps,.wallet-pass .pass-owner{z-index:2}
.wallet-pass.pb-no-sheen{background:var(--pb-gold)}
.wallet-pass.pb-no-sheen:before,.wallet-pass.pb-no-sheen:after{display:none}
.pass-stack{perspective:850px;margin:24px 0}.wallet-pass{--pb-gold:#be9958;--pb-relief:1;--pb-reflection:.72;--pb-card-radius:14px;margin:0;padding:22px 20px 16px;border-radius:14px}.wallet-pass>.pass-brand,.wallet-pass>.pass-owner,.wallet-pass>.pass-stamps,.wallet-pass>.pass-counts{position:relative;z-index:2}.wallet-pass .pass-brand{margin-bottom:10px}.wallet-pass .pass-brand img{height:36px;filter:sepia(.45) brightness(.65) drop-shadow(0 1px 0 #fff0b9a6)}.wallet-pass .pass-owner{margin-bottom:12px}.wallet-pass .pass-owner b{font-size:13px}.wallet-pass .pass-stamps{padding:12px 10px;gap:8px}.wallet-pass .pass-stamp{min-height:29px}.wallet-pass .pass-stamp>img{width:21px;height:21px}.wallet-pass .pass-counts{margin:12px 0 0}.pass-qr-area{margin:29px auto 0;padding:14px 16px 12px;max-width:230px;border:1px solid #e7dfcf;border-radius:12px;background:#fffdf9}.pass-qr-area .pass-hint{font-size:11px;color:#766b58}.preview-phone .pass-stack{margin:0;perspective:700px}.preview-phone .wallet-pass{--pb-tilt-x:4deg;--pb-tilt-y:-5deg;--pb-tilt-z:-1deg;margin:0;padding:17px 14px 14px;box-shadow:inset 0 1px 1px #fff7d9d9,inset -1px -1px 1px #66411644,0 1px 0 #dbc38c,0 2px 0 #ae8642,0 3px 0 #775520,0 8px 17px #53361126}.preview-phone .wallet-pass .pass-brand{margin-bottom:10px}.preview-phone .wallet-pass .pass-brand img{height:31px}.preview-phone .wallet-pass .pass-owner{margin-bottom:11px}.preview-phone .wallet-pass .pass-owner b{font-size:11px}.preview-phone .wallet-pass .pass-stamps{padding:10px 7px;gap:5px}.preview-phone .wallet-pass .pass-stamp{min-height:27px}.preview-phone .wallet-pass .pass-stamp>img{width:19px;height:19px}.preview-phone .pass-qr-area{margin-top:23px;padding:10px 10px 9px;max-width:188px}.preview-phone .pass-qr-area .pass-hint{font-size:10px}.wallet-pass .pass-brand>span,.wallet-pass .pass-owner{text-shadow:0 1px 0 #fff1bb91}
@media(prefers-reduced-motion:reduce){.wallet-pass{transition:none}}

/* Keep the metallic card level in client view and administration. */
.wallet-pass,.preview-phone .wallet-pass{transform:none;transition:none}

/* Staff workspace follows the reservation app; the client card keeps its gold material. */
.is-staff{background:#f5f7fa;color:#202725;--line:#e0e5ef;--muted:#7b8580}
body.is-staff .shell{max-width:none;min-height:100dvh;margin:0;background:transparent;border:0;box-shadow:none;padding:0 0 0 252px}
.is-staff .shell>header{display:none}.is-staff .shell>footer{margin-left:0;color:#7e8890}
.is-staff main#content{max-width:1460px;margin:0 auto;padding:40px 36px;min-width:0;gap:30px;grid-template-columns:minmax(0,1fr) 310px}
.is-staff .staff-club-tools{min-width:0}.is-staff .toolbar{margin-bottom:26px}.is-staff .toolbar>a{display:none}.is-staff .toolbar small{margin-left:auto;color:#7d8680}
.is-staff h1{max-width:none;font-size:34px;letter-spacing:-1px;margin:12px 0}.is-staff h2{font-size:20px}.is-staff .eyebrow{color:#3864d2;font-weight:700}
.is-staff .panel{border:1px solid #e0e5ef;background:#fff;border-radius:12px;box-shadow:none;padding:24px}.is-staff .muted{color:#7d8680}
.is-staff input,.is-staff select{border-color:#dfe4ed;background:#fff;font-family:inherit}.is-staff button,.is-staff .button{border-color:#dfe4ed;border-radius:8px;background:white;color:#202725;font-weight:600;letter-spacing:0}
.is-staff button.primary,.is-staff .button.primary{background:#5385ff;color:#fff;border-color:#5385ff;box-shadow:none}.is-staff button:focus-visible,.is-staff a:focus-visible{outline:3px solid #a4baff;outline-offset:3px}
.is-staff .status{background:#f0f5ff;border-color:#dce6ff;color:#3b537e}.is-staff .member-status{background:#eef3ff;color:#3c63bb}.is-staff .member-directory{margin-top:26px}.is-staff .member-row{padding:20px 0;align-items:start}.is-staff .member-actions{display:flex;flex-wrap:wrap;gap:7px;max-width:245px}.is-staff .member-actions button{font-size:11px;min-height:37px;padding:9px 12px}.is-staff .danger-button{color:#ba4242;background:#fff;border-color:#eddada}.is-staff .client-summary .actions{margin-bottom:16px}.client-source-link{display:inline-block;font-size:12px;margin-top:22px;color:#3864d2}
#club-sidebar{position:fixed;left:0;top:0;bottom:0;width:252px;padding:32px 22px 24px;border-right:1px solid #e2e5ed;background:white;display:flex;flex-direction:column;z-index:10;overflow-y:auto}
.club-brand{display:block;padding:3px 10px 38px;text-decoration:none}.club-brand img{width:190px;height:70px;object-fit:contain}.club-brand>span{display:block;font-size:10px;letter-spacing:2px;font-weight:700;color:#929c98;margin:10px 0 0 7px}
.club-menu-label{font-size:10px;letter-spacing:1.6px;font-weight:700;color:#9aa09c;margin:18px 10px}
.is-staff nav.club-side-links{display:flex;flex-direction:column;gap:7px;padding:0;margin:0;background:none;border:0;position:static;box-shadow:none}
.is-staff .club-side-links button{display:flex;align-items:center;gap:12px;justify-content:flex-start;min-height:48px;width:100%;padding:12px 13px;border:1px solid transparent;border-radius:8px;background:none;text-align:left;color:#4b5551;font-size:13px}
.is-staff .club-side-links button>span{width:20px;font-size:21px;font-weight:400}.is-staff .club-side-links button[aria-current=page]{background:#edf3ff;color:#3864d2;border-color:#e6edff}
.club-side-bottom{margin-top:auto;border-top:1px solid #e3e7ee;padding-top:22px;display:grid;gap:9px}.club-side-bottom small{font-size:10px;color:#919993}.club-side-bottom b{font-size:12px;overflow-wrap:anywhere}.is-staff .club-return{display:flex;align-items:center;justify-content:center;text-decoration:none;margin-top:18px;font-size:12px;color:#3864d2;background:#edf3ff;border-color:#d9e5ff}
.is-staff .staff-card-preview{background:white;border:1px solid #e0e5ef;border-radius:12px;padding:22px;position:sticky;top:28px;align-self:start;width:auto}.is-staff .staff-card-preview h2{font-size:17px}.is-staff .staff-card-preview>p{font-size:11px}.is-staff .preview-phone{width:100%;max-width:270px;margin:22px auto 0}.is-staff .preview-phone .wallet-pass{transform:none}
@media(min-width:1500px){.is-staff main#content{grid-template-columns:minmax(0,1fr) 350px;gap:40px}}
@media(min-width:761px) and (max-width:1100px){.is-staff main#content{padding:28px 22px;grid-template-columns:minmax(0,1fr)}.is-staff .staff-card-preview{position:static;max-width:360px;width:100%}.is-staff .member-row{grid-template-columns:minmax(0,1fr) 70px}.is-staff .member-actions{grid-column:1/-1;max-width:none}}
@media(max-width:760px){.is-staff .shell{padding:0}.is-staff main#content{padding:22px 18px;display:flex;flex-direction:column;gap:20px}.is-staff h1{font-size:28px}#club-sidebar{position:static;width:100%;padding:18px;border-right:0;border-bottom:1px solid #e2e5ed;overflow:visible}.club-brand{padding:0;display:flex;align-items:center;justify-content:space-between}.club-brand img{width:158px;height:45px}.club-brand>span{font-size:9px;margin:0}.club-menu-label{display:none}.is-staff nav.club-side-links{flex-direction:row;flex-wrap:wrap;margin-top:16px;gap:5px}.is-staff .club-side-links button{width:auto;flex:1;justify-content:center;padding:9px 8px;min-height:44px;font-size:11px}.is-staff .club-side-links button>span{display:none}.club-side-bottom{margin:14px 0 0;padding:0;border:0;display:block}.club-side-bottom>small,.club-side-bottom>b{display:none}.is-staff .club-return{margin:0;min-height:40px;padding:9px}.is-staff .staff-card-preview{position:static;width:100%;max-width:380px;align-self:center}.is-staff .panel{padding:20px}.is-staff .member-actions{max-width:none}.is-staff .toolbar{margin-bottom:15px}}

.club-side-links svg{display:block;width:21px;height:21px}.is-staff .recovery-availability{background:#f3f6fc;border-color:#e2e8f3;color:#7b8580}.is-staff .member-status{align-self:start;border-radius:5px;padding:4px 8px;width:fit-content}

/* Branding remains visible while the card, forms or membership list scroll. */
body.is-client>.shell>header{position:sticky;top:0;z-index:30;box-shadow:0 3px 16px #4f41200a}
@media(min-width:761px){#club-sidebar .club-brand{position:sticky;top:-32px;z-index:2;background:#fff;padding-top:35px;margin-top:-32px}}
@media(max-width:760px){#club-sidebar{padding-top:calc(90px + env(safe-area-inset-top))}#club-sidebar .club-brand{position:fixed;inset:0 0 auto;z-index:30;background:#fff;padding:calc(14px + env(safe-area-inset-top)) 18px 14px;min-height:73px;border-bottom:1px solid #e2e5ed;box-shadow:0 3px 16px #23385c08}}

/* Gold metal navigation uses the same alloy and reflections as the card. */
#club-sidebar{--pb-gold:#be9958;--club-metal:linear-gradient(119deg,color-mix(in srgb,var(--pb-gold),#78521e 25%) 0%,color-mix(in srgb,var(--pb-gold),#f2d88c 38%) 17%,#f7e6aa 28%,color-mix(in srgb,var(--pb-gold),#d5b366 25%) 34%,#a98036 45%,#e7cd86 54%,#fff1bd 62%,color-mix(in srgb,var(--pb-gold),#dabd7b 25%) 74%,#ac833c 88%,#dfc380 100%);background:var(--club-metal);background-attachment:fixed;border-color:#b48b3f;color:#392b16;box-shadow:inset -1px 0 1px #fff0bd88,2px 0 9px #53361112}
#club-sidebar:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(2deg,#fff6 0px,#fff1 .35px,transparent .7px,transparent 1.35px,#4b2d0d10 1.7px,transparent 2px),repeating-linear-gradient(92deg,transparent 0px,transparent 4px,#fff1 4.5px,transparent 5px);opacity:.4;mix-blend-mode:soft-light}
#club-sidebar .club-brand{background:var(--club-metal);background-attachment:fixed;border-color:#8e6a2d44}
#club-sidebar .club-brand img{filter:sepia(.45) brightness(.65) drop-shadow(0 1px 0 #fff0b9a6)}
#club-sidebar .club-brand>span,#club-sidebar .club-menu-label,#club-sidebar .club-side-bottom small{color:#5e461f;text-shadow:0 1px 0 #fff1bb91}
#club-sidebar .club-menu-label,#club-sidebar .club-side-links,#club-sidebar .club-side-bottom{position:relative;z-index:1}
#club-sidebar .club-side-links button{color:#392b16;text-shadow:0 1px 0 #fff1bb80}
#club-sidebar .club-side-links button:hover{background:#fff2cf55;border-color:#8f6a2a55}
#club-sidebar .club-side-links button[aria-current=page]{background:linear-gradient(130deg,#302a21,#201e19);color:#f4e8c7;border-color:#6f531f;text-shadow:none;box-shadow:inset 0 1px 0 #f5d99455,0 1px 0 #ffefb3a0}
#club-sidebar .club-side-bottom{border-color:#8e6a2d44}#club-sidebar .club-side-bottom b{color:#392b16}
#club-sidebar .club-return{background:#fff2cf66;border-color:#8f6a2a66;color:#392b16;box-shadow:inset 0 1px 0 #fff6}
#club-sidebar a:focus-visible,#club-sidebar button:focus-visible{outline-color:#423019}

/* Consistent directory controls in Safari and a compact desktop search row. */
.is-staff .member-directory #members-search{display:grid;grid-template-columns:minmax(150px,1fr) 145px auto;align-items:end;gap:12px;margin:24px 0 18px}
.is-staff .member-directory #members-search>label{display:flex;flex-direction:column;justify-content:flex-end;align-self:stretch;gap:8px;margin:0;font-size:12px;line-height:18px}
.is-staff .member-directory #members-search input,.is-staff .member-directory #members-search select{display:block;box-sizing:border-box;width:100%;height:46px;min-height:46px;max-height:46px;margin:0;padding:12px 14px;border:1px solid #dfe4ed;border-radius:8px;font:500 13px/20px Montserrat,system-ui,sans-serif;background-color:#fff;color:#202725;appearance:none;-webkit-appearance:none}
.is-staff .member-directory #members-search select{padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2357635e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:15px}
.is-staff .member-directory #members-search>button{grid-column:auto;height:46px;min-height:46px;margin:0;padding:12px 18px;align-self:end;background:#5385ff;border-color:#5385ff;color:#fff;line-height:20px;font-size:12px}
.is-staff .member-directory #members-search input::placeholder{font-size:13px;font-weight:400;color:#a1a9a5}
.is-staff .member-directory .recovery-availability{margin:0 0 20px;padding:11px 14px;border-left:3px solid #cbd9f6;font-size:11px;line-height:1.7}
.is-staff .member-row{padding:16px 0;gap:10px 14px;border-color:#e5e9f0;grid-template-columns:minmax(0,1fr) 64px}
.is-staff .member-row .member-contact{gap:5px}.is-staff .member-row .member-contact>b{font-size:14px}.is-staff .member-row .member-count{padding-top:2px}.is-staff .member-row .member-count>b{font-size:23px}
.is-staff .member-row .member-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;max-width:none;width:100%;margin-top:2px}
.is-staff .member-row .member-actions button{min-height:38px;margin:0;padding:9px 12px;line-height:18px;font-size:11px;flex:0 0 auto}
.is-staff .member-row:has([data-member-restore]) .member-status{background:#f0f2f4;color:#747c80}
.is-staff .member-paging{border-top:1px solid #e5e9f0;padding-top:16px;margin-top:0}
@media(max-width:760px){.is-staff .member-directory #members-search{grid-template-columns:minmax(0,1fr) 125px}.is-staff .member-directory #members-search>button{grid-column:1/-1}.is-staff .member-row .member-actions button{min-height:44px}}
@media(max-width:420px){.is-staff .member-directory #members-search{grid-template-columns:minmax(0,1fr)}.is-staff .member-directory #members-search>button{grid-column:auto}.is-staff .member-row .member-actions{gap:7px}}

/* Warm dark accents from the stamp panel replace blue in staff controls. */
body.is-staff{--line:#e6e0d5;--muted:#837a6c}
body.is-staff .eyebrow,body.is-staff .client-source-link{color:#80643b}
body.is-staff button.primary,body.is-staff .button.primary,body.is-staff .member-directory #members-search>button{background:#302a21;border-color:#302a21;color:#f4e8c7;box-shadow:inset 0 1px 0 #fff2}
body.is-staff button.primary:hover,body.is-staff .button.primary:hover,body.is-staff .member-directory #members-search>button:hover{background:#42392b;border-color:#42392b}
body.is-staff button:focus-visible,body.is-staff a:focus-visible,body.is-staff input:focus-visible,body.is-staff select:focus-visible{outline-color:#bca579}
body.is-staff .panel,body.is-staff .staff-card-preview{border-color:#e6e0d5}
body.is-staff input,body.is-staff select,body.is-staff button,body.is-staff .button,body.is-staff .member-directory #members-search input,body.is-staff .member-directory #members-search select{border-color:#e0d9cd}
body.is-staff .status{background:#f3eee4;border-color:#e7dcc6;color:#685231}
body.is-staff .member-status{background:#f1eadc;color:#80643b}
body.is-staff .member-row:has([data-member-restore]) .member-status{background:#f0efec;color:#827c72}
body.is-staff .member-directory .recovery-availability{background:#f5f2eb;border-color:#d9c9a8;color:#837a6c}
body.is-staff .member-row,body.is-staff .member-paging{border-color:#e8e2d8}
body.is-staff .danger-button{color:#ba4242;border-color:#eddada}

/* Public membership footer belongs to the client app, not staff administration. */
body.is-staff>.shell>footer{display:none}
body.is-staff .client-summary>.client-source-link{display:block;width:fit-content;max-width:100%;margin-top:20px;line-height:1.7}
body.is-staff .client-summary>.check{margin:20px 0;align-items:flex-start}
body.is-staff .client-summary>button.primary{min-height:46px;padding:12px 18px;margin:0}

/* Subtle champagne navigation with restrained reflections. */
#club-sidebar{--club-metal:linear-gradient(115deg,#faf7ef 0%,#f1eadb 55%,#f6f1e6 100%);border-color:#ded4c1;box-shadow:inset -1px 0 0 #fff8}
#club-sidebar:before{opacity:.08}
#club-sidebar .club-brand{background:var(--club-metal);background-attachment:fixed}
#club-sidebar .club-side-links button[aria-current=page]{background:#302a21;border-color:#302a21;box-shadow:none}
#club-sidebar .club-return{background:#ffffff70;border-color:#d8ccb4;box-shadow:none}
#club-sidebar .club-side-bottom{border-color:#d8ccb4}

/* Phone layout must cancel desktop sidebar spacing at equal specificity. */
@media(max-width:760px){
 body.is-staff>.shell{padding:0;width:100%}
 body.is-staff main#content{width:100%;min-width:0;align-items:stretch}
 body.is-staff .staff-club-tools{width:100%;min-width:0}
 body.is-staff #content .panel{width:100%;min-width:0}
 body.is-staff #content input,body.is-staff #content select,body.is-staff #content textarea{font-size:16px!important;max-width:100%}
 body.is-staff #content button{min-height:44px}
 body.is-staff .staff-card-preview{width:100%;min-width:0;max-width:380px}
 body.is-staff .staff-card-preview:not(.has-card){display:none}
 body.is-staff .client-summary .actions{display:flex;flex-wrap:wrap}
 body.is-staff .client-summary .actions>*{min-width:0;flex:1 1 140px}
 body.is-staff .branch-service{grid-template-columns:minmax(0,1fr)}
 body.is-staff .client-list button{overflow-wrap:anywhere;white-space:normal}
 body.is-staff dialog{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
 body.is-staff .link-box{overflow-wrap:anywhere;word-break:break-word}
}

/* Scanner controls use a consistent custom select instead of the short native Safari control. */
body.is-staff .scan-workspace{padding:24px;gap:18px;margin-top:26px}
body.is-staff .scan-workspace label{margin:0;gap:9px;font-size:12px;line-height:18px}
body.is-staff .scan-workspace .branch-service{gap:14px;align-items:end}
body.is-staff .scan-workspace select,body.is-staff .scan-workspace input:not([type=file]){appearance:none;-webkit-appearance:none;display:block;box-sizing:border-box;width:100%;height:48px;min-height:48px;max-height:48px;margin:0;padding:12px 14px;border:1px solid #e0d9cd;border-radius:8px;background-color:#fff;font:500 14px/22px Montserrat,system-ui,sans-serif;color:#302a21}
body.is-staff .scan-workspace select{padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23685231' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:15px}
body.is-staff .scan-workspace>button{min-height:48px;width:fit-content;max-width:100%;padding:12px 18px}
body.is-staff .scan-workspace input[type=file]{display:block;width:100%;max-width:100%;min-height:48px;padding:7px 10px;border:1px solid #e0d9cd;border-radius:8px;background:#fff;font:400 12px/22px Montserrat,system-ui,sans-serif;color:#837a6c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.is-staff .scan-workspace input[type=file]::file-selector-button{font:600 12px/20px Montserrat,system-ui,sans-serif;border:1px solid #d9cdb7;border-radius:6px;padding:7px 12px;margin-right:12px;background:#f3eee4;color:#594629;cursor:pointer}
body.is-staff .scan-workspace #manual{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin:4px 0 0;padding-top:20px;border-top:1px solid #e8e2d8}
body.is-staff .scan-workspace #manual>button{min-height:48px;max-width:100%;padding:12px 18px}
@media(max-width:760px){body.is-staff .scan-workspace{padding:20px;gap:20px}body.is-staff .scan-workspace .branch-service{grid-template-columns:minmax(0,1fr)}body.is-staff .scan-workspace #manual{grid-template-columns:minmax(0,1fr)}body.is-staff .scan-workspace>button{width:100%;white-space:normal}body.is-staff .scan-workspace input[type=file]{font-size:12px!important}}

/* The club uses the application's desktop sidebar / mobile bottom navigation pattern. */
#club-mobile-nav{display:none}
@media(max-width:760px){
 body.is-staff #club-sidebar{padding:0;height:calc(73px + env(safe-area-inset-top));min-height:calc(73px + env(safe-area-inset-top));border:0;overflow:visible}
 body.is-staff #club-sidebar .club-side-links,body.is-staff #club-sidebar .club-side-bottom{display:none}
 body.is-staff #club-sidebar .club-brand{box-shadow:0 2px 12px #493b2008}
 body.is-staff main#content{padding-bottom:calc(106px + env(safe-area-inset-bottom))}
 body.is-staff #club-mobile-nav{display:flex;position:fixed;inset:auto 0 0;z-index:35;width:100%;max-width:100%;height:auto;min-height:calc(72px + env(safe-area-inset-bottom));gap:4px;justify-content:space-around;align-items:stretch;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border:1px solid #e6dece;border-width:1px 0 0;border-radius:16px 16px 0 0;background:#fffdf8;box-shadow:0 -4px 20px #59462509}
 body.is-staff #club-mobile-nav>button,body.is-staff #club-mobile-nav>a{display:flex;flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:56px;margin:0;padding:6px 3px;border:0;border-radius:8px;background:transparent;color:#918572;text-decoration:none;font:600 10px/1.3 Montserrat,system-ui,sans-serif;text-align:center}
 body.is-staff #club-mobile-nav svg{display:block;width:23px;height:23px;flex:0 0 23px}
 body.is-staff #club-mobile-nav>button[aria-current=page]{background:#f0e8d7;color:#594629;box-shadow:inset 0 0 0 1px #e5dac3}
 body.is-staff #club-mobile-nav>button:focus-visible,body.is-staff #club-mobile-nav>a:focus-visible{outline:3px solid #bca579;outline-offset:-2px}
 body.is-staff #notice{bottom:calc(88px + env(safe-area-inset-bottom));z-index:45}
}

/* Client sections stay directly below the logo in ordinary browser tabs. */
body.is-client>.shell>nav.client-top-nav{position:sticky;top:var(--club-client-header-height,93px);z-index:29;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0;width:100%;padding:8px 14px;background:#faf7f1;border:0;border-bottom:1px solid #e6dfd2;box-shadow:0 4px 12px #59462506}
body.is-client>.shell>nav.client-top-nav[hidden]{display:none}
body.is-client>.shell>nav.client-top-nav button{min-height:44px;padding:10px 5px;border-radius:7px;font-size:12px;white-space:nowrap}
body.is-client>.shell>nav.client-top-nav button[aria-current=page]{background:#f0e8d7;color:#80643b}

/* Internal administration keeps its sidebar / bottom bar without a top strip. */
body.is-staff>.shell>header,body.is-staff #nav{display:none!important}
@media(max-width:760px){body.is-staff #club-sidebar{display:none}}

.pass-stamp .pass-discount{font:700 12px/1 Montserrat,system-ui,sans-serif;color:#c3a573;opacity:.65;letter-spacing:-.6px}.pass-stamp.is-earned .pass-discount{color:#59401e;opacity:1}.pass-stamp img[src$="hair-stamp.svg"]{width:24px;height:26px}.preview-phone .pass-stamp .pass-discount{font-size:11px}
.client-reminders{margin:22px 0}.client-reminders .reminder-heading{display:flex;align-items:flex-start;gap:12px}.reminder-heading>span{display:grid;place-items:center;background:#f1eadc;color:#80643b;width:38px;min-width:38px;height:38px;border-radius:9px;font-size:24px}.client-reminders h2{font-size:17px;margin:0 0 7px}.client-reminders p{font-size:12px;line-height:1.7;margin:0 0 16px}.client-reminders .reminder-state{padding:12px 14px;background:#f5f1e8;border-radius:8px;margin:0 0 14px}.client-reminders button{width:100%;margin:0 0 10px;min-height:46px}.client-reminders small{display:block;font-size:10px;line-height:1.7}

.reminder-heading>span svg{width:22px;height:22px}

.landing-reminder{display:flex;gap:12px;margin-top:26px;padding:17px 16px;border:1px solid #e7dcc7;border-radius:10px;background:#f3ecdf}.landing-reminder>span{font-size:28px;line-height:1;color:#98733b}.landing-reminder h2{font-size:15px;line-height:1.5;letter-spacing:-.2px;margin:0 0 6px}.landing-intro .landing-reminder p{font-size:11px;line-height:1.8;margin:0 0 9px;padding:0;color:#837764}.landing-reminder button{min-height:36px;padding:5px 0;border:0;background:transparent;color:#80643b;text-align:left;font-size:11px;font-weight:600}.guide-platforms{display:flex;gap:7px;margin:20px 0}.guide-platforms button{flex:1;min-height:44px;padding:10px 8px;font-size:12px}.guide-platforms button[aria-pressed=true]{background:#302a21;border-color:#302a21;color:#f4e8c7}.guide-note{font-size:11px;line-height:1.8;color:#837a6c;margin:16px 0}.notification-steps{list-style:none;padding:0;margin:24px 0;display:grid;gap:18px}.notification-steps li{margin:0;padding:18px;border:1px solid #e6dece;border-radius:12px;background:#fffdf8}.guide-step-heading{display:flex;gap:10px;align-items:center;margin-bottom:14px}.guide-step-heading>span{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:50%;background:#ece0c8;color:#594629;font-size:12px;font-weight:700}.guide-step-heading h2{font-size:15px;line-height:1.5;letter-spacing:-.2px;margin:0}.notification-steps img{display:block;width:100%;max-width:260px;height:auto;margin:0 auto 14px}.notification-steps p{font-size:12px;line-height:1.85;margin:0}.notification-troubleshooting{padding:16px;border:1px solid #e6dece;border-radius:10px;margin:20px 0}.notification-troubleshooting summary{font-size:13px;font-weight:600;cursor:pointer}.notification-troubleshooting p{font-size:11px;line-height:1.85;margin:14px 0 0}.guide-visit-link,.guide-back{width:100%;margin-top:10px}.client-reminders .guide-help-button{background:transparent;color:#80643b;border-color:#ded3bd}

/* Staff navigation and a clear separation between scanning and stamping. */
.is-staff #club-sidebar .club-brand{padding-bottom:14px}
.is-staff #club-sidebar .club-menu-label{margin-top:6px}
#club-staff-current{display:none}
.is-staff .scan-optional{width:100%;border-top:1px solid #e8e2d8;padding-top:16px}
.is-staff .scan-optional summary{cursor:pointer;font-weight:700;color:#594629}
.is-staff .scan-optional .branch-service{margin-top:14px}
.is-staff .scan-stamp-controls{border-top:1px solid #e8e2d8;margin-top:18px;padding-top:18px}
.is-staff .scan-stamp-controls .branch-service{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.is-staff .scan-stamp-controls label{display:grid;gap:7px;font-size:12px;font-weight:650}
.is-staff .scan-stamp-controls select{width:100%;min-height:46px;padding:10px 12px}
@media(max-width:760px){
 body.is-staff #club-staff-current{display:flex;align-items:center;gap:10px;position:fixed;inset:0 0 auto;z-index:40;min-height:calc(56px + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) 18px 10px;background:#faf7f0;border-bottom:1px solid #e8e0d0;box-shadow:0 3px 14px #4d3c1d0b;color:#876b43;font:650 12px/1.3 Montserrat,system-ui,sans-serif}
 body.is-staff #club-staff-current strong{color:#242525;font-weight:750}
 body.is-staff main#content{padding-top:calc(80px + env(safe-area-inset-top))}
 body.is-staff .scan-stamp-controls .branch-service{grid-template-columns:minmax(0,1fr)}
}

/* A calm, editorial welcome, scoped to the public registration introduction. */
.landing-intro .client-welcome{padding:14px 24px 28px;text-align:center}
.client-welcome .welcome-copy{position:relative;isolation:isolate;padding:24px 0 28px}
.client-welcome .welcome-copy:before{content:"";position:absolute;z-index:-1;inset:5px -24px 0;background:radial-gradient(ellipse at 50% 42%,#e9d6ae38,transparent 69%);pointer-events:none}
.client-welcome .welcome-copy:after{content:"";position:absolute;z-index:-1;right:-47px;top:20px;width:130px;height:220px;background:url('/club/assets/hair-lock.svg') center/contain no-repeat;opacity:.045;pointer-events:none;transform:rotate(-12deg)}
.landing-intro .client-welcome .pb-eyebrow{font-size:9px;line-height:1.8;font-weight:600;letter-spacing:2.1px;color:#8b6a34}
.welcome-ornament{display:block;width:52px;margin:18px auto 13px;color:#a08049;font-size:22px;line-height:1;font-weight:400}
.landing-intro .client-welcome h1{font-size:34px;line-height:1.23;letter-spacing:-1.25px;font-weight:500;margin:0 0 19px;color:#302c26}
.landing-intro .client-welcome h1 em{display:inline-block;color:#95713a;font-weight:500}
.landing-intro .client-welcome .welcome-copy>p{font-size:12px;line-height:1.95;font-weight:400;color:#797164;margin:0 auto;max-width:300px}
.welcome-signature{display:block;font-size:8px;line-height:1.8;letter-spacing:1.6px;color:#8b795b;margin-top:23px}
.client-welcome .landing-reminder{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:13px;text-align:left;margin:5px 0 0;padding:21px 18px 17px;border:1px solid #e6ddcc;border-radius:12px;background:linear-gradient(135deg,#fffefa,#fcfaf5);box-shadow:0 8px 24px #5f482708}
.client-welcome .welcome-bell{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#f4eddf;color:#997640;font-size:inherit}
.welcome-bell svg{display:block;width:20px;height:20px}
.welcome-reminder-label{display:block;color:#95815f;font-size:7px;line-height:1.8;letter-spacing:1.05px;font-weight:600;margin:0 0 7px}
.landing-intro .client-welcome .landing-reminder h2{font-size:14px;line-height:1.5;letter-spacing:-.3px;font-weight:600;margin:0 0 8px;color:#373128}
.landing-intro .client-welcome .landing-reminder p{font-size:11px;line-height:1.85;color:#807565;margin:0 0 9px;max-width:none}
.client-welcome .landing-reminder button{display:flex;justify-content:space-between;gap:12px;width:100%;min-height:44px;margin:0;padding:10px 0 0;border:0;border-top:1px solid #ece4d6;border-radius:0;background:transparent;color:#806035;font-size:10px;line-height:1.6;font-weight:600;text-align:left}
.client-welcome .landing-reminder button>span{font-size:17px;font-weight:400}
@media(max-width:360px){.landing-intro .client-welcome{padding:10px 20px 25px}.landing-intro .client-welcome h1{font-size:30px}.client-welcome .landing-reminder{padding:18px 14px 14px;grid-template-columns:30px minmax(0,1fr);gap:10px}.client-welcome .welcome-bell{width:30px;height:32px}.welcome-reminder-label{font-size:6.5px;letter-spacing:.8px}.landing-intro .client-welcome .landing-reminder h2{font-size:13px}}

/* A direct welcome without a slogan or ornamental heading. */
.landing-intro .client-welcome{padding-top:8px}
.client-welcome .welcome-copy{padding:26px 0 28px}
.client-welcome .welcome-copy:after{top:-8px;height:175px;opacity:.035}
.landing-intro .client-welcome h1{margin:0 0 16px}
.client-welcome .landing-reminder{margin-top:0}
@media(max-width:360px){.landing-intro .client-welcome{padding-top:6px}.client-welcome .welcome-copy{padding-top:22px}}

/* Staff can inspect the complete client app without sharing a secret link. */
.account-preview-actions{display:grid;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid #e6dece}
.account-preview-actions .button{width:100%;min-height:46px;justify-content:space-between;font-size:12px;line-height:1.5;padding:12px 14px}
.account-preview-actions small{display:block;font-size:10px;line-height:1.8;color:#857965}
.account-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px;background:#eee4d1;border-bottom:1px solid #ddceb1;color:#644e2d}
.account-preview-banner b{display:block;font-size:12px;font-weight:600}.account-preview-banner small{display:block;font-size:10px;line-height:1.7;color:#79694e;margin-top:3px}
.account-preview-banner button{background:#fffaf0;border-color:#d8c7a6;color:#644e2d;min-height:44px;padding:8px 10px;font-size:10px;flex-shrink:0}
@media(max-width:760px){body.is-staff .staff-card-preview:not(.has-card){display:block}.account-preview-banner{padding:12px 15px}}

.next-visit{margin-top:18px;background:linear-gradient(135deg,#fffefa,#faf5ea);border-color:#e9ddc9}
.next-visit-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.next-visit-heading h2{margin:0;color:#3e3529}
.next-visit-heading span{color:#b58d48;font-size:24px}
.next-visit-detail{display:grid;gap:5px;margin:13px 0;color:#3e3529}
.next-visit-detail strong{font-size:18px;line-height:1.35}
.next-visit-detail>span{font-weight:600;font-size:14px}
.next-visit-detail small,.next-visit>small{color:#827766;line-height:1.6}
.next-visit-detail p{margin:0;line-height:1.6}

/* Phone notification preview and a client viewport that cannot pan sideways. */
.notification-preview{width:100%;max-width:100%;margin:16px 0 20px}
.notification-preview>span{display:block;margin-bottom:8px;color:#8d754b;font-size:10px;font-weight:700;letter-spacing:.12em}
.notification-preview-card{display:grid;grid-template-columns:39px minmax(0,1fr);gap:10px;align-items:start;width:100%;padding:13px;border:1px solid #e1dacd;border-radius:15px;background:#f4f2ed;box-shadow:0 6px 18px #4235220d}
.notification-preview-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:10px;background:linear-gradient(135deg,#bd924c,#e0c680);color:#fff;font-weight:700;font-size:12px}
.notification-preview-card small{display:block;margin-bottom:3px;font-size:10px;color:#746c60}
.notification-preview-card strong{display:block;font-size:12px;line-height:1.4;color:#2d2b27}
.notification-preview-card p{margin:4px 0 0;font-size:11px;line-height:1.5;color:#625d54}
html:has(body.is-client),body.is-client{width:100%;max-width:100vw;overflow-x:hidden;overscroll-behavior-x:none}
body.is-client>.shell,body.is-client main#content{width:100%;max-width:100%;overflow-x:hidden}
body.is-client .notification-steps,body.is-client .notification-steps li,body.is-client .notification-steps img{max-width:100%}
body.is-client .notification-steps li,body.is-client .notification-troubleshooting{overflow-wrap:anywhere}
@media(max-width:760px){body.is-client>.shell{touch-action:pan-y}}
