:root{--black:#000;--bg:#0a0a0a;--panel:#111;--panel2:#161616;--line:#2a2a2a;--gold:#D4AF37;--gold2:#C9A227;--gold-dim:#8a7320;--white:#f5f5f5;--silver:#c9c9c9;--muted:#9a9a9a;--red:#e5484d;--green:#3fb96a;--radius:14px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--gold)}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;caret-color:var(--gold)}input,select,textarea{color-scheme:dark}img{display:block;max-width:100%}.topnav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:8px;padding:calc(10px + env(safe-area-inset-top,0px)) 14px 10px;background:#000;border-bottom:1px solid var(--line)}@media (max-width:640px){.topnav{gap:6px;padding-left:10px;padding-right:10px}.topnav .brand span{display:none}.topnav .brand b{font-size:13px}.topnav .brand img{width:32px;height:32px}.navbtn{flex:none;padding:8px 9px;font-size:13px}.topnav{overflow-x:auto;scrollbar-width:none}.topnav::-webkit-scrollbar{display:none}}.topnav .brand{display:flex;align-items:center;gap:9px;margin-right:auto;text-decoration:none;color:var(--white)}.topnav .brand img{width:38px;height:38px;object-fit:contain;border-radius:50%}.topnav .brand b{font-size:15px;letter-spacing:.06em;text-transform:uppercase}.topnav .brand span{display:block;font-size:11px;color:var(--muted);letter-spacing:.02em;text-transform:none}.navbtn{background:transparent;border:1px solid transparent;color:var(--silver);padding:8px 10px;border-radius:999px;font-size:14px}.navbtn.active{color:#000;background:var(--gold);border-color:var(--gold);font-weight:700}.navbtn.panelbtn{border-color:var(--gold);color:var(--gold)}.navbtn.panelbtn.active{background:var(--gold);color:#000}.container{max-width:860px;margin:0 auto;padding:0 16px 90px}.section{margin-top:26px}.section h2{font-size:20px;margin:0 0 4px;letter-spacing:.02em}.section h2 .gold{color:var(--gold)}.sub{color:var(--muted);font-size:14px;margin:0 0 14px;line-height:1.5}.gold{color:var(--gold)}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.mt{margin-top:14px}.mt2{margin-top:22px}.hero{text-align:center;padding:34px 8px 10px}.hero img.logo{width:150px;height:150px;object-fit:contain;margin:0 auto 12px}.hero h1{font-size:32px;margin:0;letter-spacing:.08em;text-transform:uppercase}.hero h1 span{color:var(--gold)}.hero .tag{color:var(--silver);margin:8px 0 4px;font-size:15px}.hero .addr{color:var(--muted);font-size:14px;margin:4px 0 16px}.hours-box{display:inline-block;text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:12px 18px;font-size:14px;line-height:1.8;color:var(--silver)}.hours-box b{color:var(--white)}.insta-btn{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:12px 20px;border-radius:999px;border:1px solid var(--gold);background:transparent;color:var(--gold);font-size:15px;font-weight:600;text-decoration:none}.insta-btn:hover{background:#d4af371f}.insta-btn.filled{background:var(--gold);color:#000}.btn{display:inline-block;width:100%;padding:14px 18px;border-radius:12px;border:1px solid var(--gold);background:var(--gold);color:#000;font-size:16px;font-weight:700;text-align:center}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--gold)}.btn.dark{background:#1c1c1c;color:var(--white);border-color:var(--line)}.btn.danger{background:transparent;color:var(--red);border-color:var(--red)}.btn.small{width:auto;padding:9px 14px;font-size:14px}.btn-row{display:flex;gap:10px}.btn-row .btn{flex:1}label{display:block;font-size:13px;font-weight:600;color:var(--silver);margin:14px 0 6px;letter-spacing:.02em}input[type=text],input[type=email],input[type=tel],input[type=date],input[type=time],input[type=number],input[type=password],select,textarea{width:100%;padding:13px 14px;border-radius:10px;border:1px solid #333;background:#141414;color:var(--white);font-size:16px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px #d4af3740}textarea{min-height:90px;resize:vertical}.field-error{color:var(--red);font-size:13px;margin-top:5px}.error-box{background:#e5484d1f;border:1px solid var(--red);color:#ffb3b5;border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.5;margin:12px 0}.success-box{background:#3fb96a1f;border:1px solid var(--green);color:#b9f0cd;border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.5;margin:12px 0}.info-box{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.55;color:var(--silver);margin:12px 0}.info-box b{color:var(--white)}.checkbox-row{display:flex;gap:10px;align-items:flex-start;margin:14px 0;cursor:pointer;font-size:14px;line-height:1.5;color:var(--silver)}.checkbox-row input{width:20px;height:20px;accent-color:var(--gold);flex-shrink:0;margin-top:1px}.policy-box{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:16px;font-size:14px;line-height:1.65;color:var(--silver);max-height:280px;overflow:auto}.policy-box h3{color:var(--gold);margin:0 0 8px;font-size:15px}.policy-box ul{margin:8px 0;padding-left:20px}.policy-box li{margin-bottom:6px}.policy-box b{color:var(--white)}.stepper{display:flex;gap:6px;margin:22px 0 6px}.stepper .step{flex:1;text-align:center;font-size:11px;color:var(--muted);padding-top:8px;border-top:3px solid #262626}.stepper .step.done{color:var(--gold);border-color:var(--gold2)}.stepper .step.now{color:var(--white);border-color:var(--gold);font-weight:700}.step-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:700}.service-grid{display:grid;grid-template-columns:1fr;gap:14px}@media (min-width:560px){.service-grid{grid-template-columns:1fr 1fr}}.service-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel);text-align:left;padding:0;color:var(--white);transition:border-color .15s,box-shadow .15s}.service-card.selected{border-color:var(--gold);box-shadow:0 0 0 2px #d4af3773}.service-card img{width:100%;height:170px;object-fit:cover}.service-card .body{padding:13px 14px}.service-card .name{font-size:16px;font-weight:700}.service-card .meta{display:flex;justify-content:space-between;margin-top:6px;color:var(--silver);font-size:14px}.service-card .meta b{color:var(--gold);font-size:16px}.service-card .check{color:var(--gold);font-size:13px;font-weight:700;margin-top:8px}.addon-chips{display:flex;flex-wrap:wrap;gap:9px}.addon-chip{border:1px solid #333;background:var(--panel);color:var(--silver);border-radius:999px;padding:10px 14px;font-size:14px}.addon-chip.selected{border-color:var(--gold);color:#000;background:var(--gold);font-weight:700}.addon-chip .dur{opacity:.75;font-size:12px}.cal{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:14px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal-head b{font-size:17px}.cal-head button{background:#1c1c1c;border:1px solid var(--line);color:var(--gold);border-radius:50%;width:38px;height:38px;font-size:18px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.cal-dow{font-size:11px;color:var(--muted);padding:6px 0;font-weight:700}.cal-day{aspect-ratio:1;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--white);font-size:15px;display:flex;align-items:center;justify-content:center}.cal-day:hover:not(:disabled){border-color:var(--gold)}.cal-day:disabled{color:#444;cursor:not-allowed}.cal-day.today{border-color:var(--gold2)}.cal-day.selected{background:var(--gold);color:#000;font-weight:800}.cal-day.has-appts{box-shadow:inset 0 -3px 0 var(--gold)}.cal-day.closed{color:#555;text-decoration:line-through}.cal-legend{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.6}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}@media (min-width:560px){.slot-grid{grid-template-columns:repeat(4,1fr)}}.slot{padding:12px 6px;border-radius:10px;border:1px solid #333;background:var(--panel);color:var(--white);font-size:14px;text-align:center}.slot.selected{background:var(--gold);color:#000;font-weight:800;border-color:var(--gold)}.slot:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}.summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:16px;font-size:15px;line-height:1.7}.summary .row{display:flex;justify-content:space-between;gap:12px}.summary .row.total{border-top:1px solid var(--line);margin-top:10px;padding-top:10px;font-weight:800;font-size:17px}.summary .row.total span:last-child{color:var(--gold)}.confirm-code{font-size:34px;letter-spacing:.14em;color:var(--gold);font-weight:800;text-align:center;margin:10px 0}.test-badge{display:inline-block;background:#3a2f00;border:1px solid var(--gold);color:var(--gold);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:800;letter-spacing:.08em}.tip-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.tip-btn{flex:1;min-width:64px;padding:11px 8px;border-radius:10px;border:1px solid #333;background:var(--panel);color:var(--silver);font-size:14px}.tip-btn.selected{background:var(--gold);color:#000;font-weight:800;border-color:var(--gold)}.wallet-row{display:flex;flex-direction:column;gap:10px;margin-top:10px}.wallet-btn{width:100%;height:48px;border-radius:10px;border:0;cursor:pointer}.wallet-btn:disabled{opacity:.5;cursor:default}#apple-pay-button{-webkit-appearance:-apple-pay-button;-apple-pay-button-type:plain;-apple-pay-button-style:black;background:#000}#google-pay-button{width:100%}#google-pay-button>*{width:100%!important}#cash-app-pay{width:100%}.or-divider{display:flex;align-items:center;gap:10px;margin:18px 0 4px;color:var(--muted);font-size:13px}.or-divider:before,.or-divider:after{content:"";flex:1;height:1px;background:#333}.appt-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:15px;margin-bottom:12px}.appt-card .top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.appt-card .svc{font-weight:700;font-size:16px}.appt-card .when{color:var(--gold);font-size:14px;margin-top:3px}.appt-card .code{font-size:12px;color:var(--muted);letter-spacing:.08em}.status-pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.status-pill.booked,.status-pill.confirmed{background:#d4af3726;color:var(--gold);border:1px solid var(--gold2)}.status-pill.completed{background:#3fb96a26;color:var(--green);border:1px solid var(--green)}.status-pill.cancelled,.status-pill.no-show,.status-pill.no_show{background:#e5484d26;color:#ff9a9d;border:1px solid var(--red)}.status-pill.paid{background:#d4af3726;color:var(--gold);border:1px solid var(--gold2)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000c7;z-index:100;display:flex;align-items:flex-end;justify-content:center}@media (min-width:600px){.modal-backdrop{align-items:center}}.modal{background:#101010;border:1px solid var(--line);border-radius:18px 18px 0 0;width:100%;max-width:560px;max-height:88vh;overflow:auto;padding:20px 18px calc(26px + env(safe-area-inset-bottom,0px))}@media (min-width:600px){.modal{border-radius:18px}}.modal h3{margin:0 0 4px;font-size:19px}.modal .close-x{float:right;background:none;border:none;color:var(--muted);font-size:24px;line-height:1}.pin-wrap{max-width:360px;margin:40px auto;text-align:center}.pin-wrap img{width:110px;height:110px;object-fit:contain;margin:0 auto 10px}.pin-input{font-size:28px;letter-spacing:.5em;text-align:center;padding:14px}.view-toggle{display:flex;gap:8px;margin:12px 0}.view-toggle button{flex:1;padding:10px;border-radius:10px;border:1px solid #333;background:var(--panel);color:var(--silver)}.view-toggle button.active{background:var(--gold);color:#000;font-weight:800;border-color:var(--gold)}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:10px}.week-day{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:8px 2px;text-align:center;color:var(--white)}.week-day .dow{font-size:11px;color:var(--muted)}.week-day .num{font-size:16px;font-weight:700;margin-top:2px}.week-day.today{border-color:var(--gold)}.week-day.selected{background:var(--gold);color:#000}.week-day.selected .dow{color:#333}.week-day .dot{font-size:10px;color:var(--gold);min-height:12px}.week-day.selected .dot{color:#000}.timeline{position:relative;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin-top:12px;overflow-x:hidden;overflow-y:auto;max-height:min(560px,68vh);scrollbar-width:thin}.timeline-hour{position:relative;border-top:1px solid #1e1e1e;height:160px}.timeline-hour:first-child{border-top:none}.timeline-hour .lbl{position:absolute;left:10px;top:4px;font-size:11px;color:var(--muted);z-index:1}.timeline-hour .half{position:absolute;left:0;right:0;top:80px;border-top:1px dashed #1a1a1a}.appt-block{position:absolute;left:64px;right:8px;background:linear-gradient(135deg,#3a2f00,#241d00);border:1px solid var(--gold);border-left:4px solid var(--gold);border-radius:8px;padding:2px 8px;color:var(--white);font-size:12px;line-height:1.25;overflow:hidden;cursor:grab;z-index:2;touch-action:none}.appt-block.dragging{opacity:.75;cursor:grabbing;z-index:5;box-shadow:0 8px 24px #0009}.appt-block .t{font-weight:700;color:var(--gold)}.appt-block .paid{float:right;font-size:10px;border:1px solid var(--gold);color:var(--gold);border-radius:4px;padding:1px 5px;font-weight:800}.blocked-block{position:absolute;left:64px;right:8px;background:repeating-linear-gradient(45deg,#2b2b2b 0,#2b2b2b 8px,#1d1d1d 8px,#1d1d1d 16px);border:1px solid #444;border-radius:8px;padding:6px 9px;color:#9a9a9a;font-size:12px;overflow:hidden;z-index:1;pointer-events:none;display:flex;align-items:center}.drag-bar{position:sticky;bottom:0;background:#1a1500;border:1px solid var(--gold);border-radius:12px;padding:12px;margin-top:10px;display:flex;gap:10px;align-items:center;z-index:20}.drag-bar p{flex:1;margin:0;font-size:14px}.collapse-btn{width:100%;text-align:left;background:var(--gold);color:#000;border:none;border-radius:12px;padding:15px 16px;font-size:16px;font-weight:800;margin-top:12px;display:flex;justify-content:space-between;align-items:center}.collapse-btn .chev{font-size:18px}.collapse-body{border:1px solid var(--line);border-top:none;border-radius:0 0 12px 12px;background:var(--panel);padding:16px;margin-top:-4px}.admin-row{display:flex;gap:10px;align-items:center;justify-content:space-between;border-bottom:1px solid #1e1e1e;padding:11px 0}.admin-row:last-child{border-bottom:none}.admin-row .nm{font-weight:700}.admin-row .meta{font-size:13px;color:var(--muted);margin-top:2px}.blocked-tag{color:var(--red);font-weight:800;font-size:11px;letter-spacing:.06em}.fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));width:58px;height:58px;border-radius:50%;background:var(--gold);color:#000;border:none;font-size:30px;line-height:1;z-index:60;box-shadow:0 6px 20px #d4af3766}.inline-form{border:1px solid var(--gold2);border-radius:12px;padding:14px;margin:10px 0;background:#0d0d0d}.photo-picker{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.photo-picker img{width:64px;height:48px;object-fit:cover;border-radius:8px;border:2px solid transparent;cursor:pointer}.photo-picker img.sel{border-color:var(--gold)}.schedule-grid{display:grid;grid-template-columns:1fr;gap:10px}.sched-row{border:1px solid var(--line);border-radius:10px;padding:12px;background:#0d0d0d}.sched-row .dayname{font-weight:700;margin-bottom:8px}.sched-row .times{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sched-row .times input{width:110px}.sched-row .times span{font-size:13px;color:var(--muted)}.footer{border-top:1px solid var(--line);margin-top:44px;padding:26px 0 10px;text-align:center;color:var(--muted);font-size:13px;line-height:1.8}.footer img{width:64px;height:64px;object-fit:contain;margin:0 auto 8px}.loading{color:var(--muted);padding:20px;text-align:center}.empty{color:var(--muted);padding:16px 0;text-align:center;font-size:14px}.install-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#000000b8;padding:20px;animation:im-fade .25s ease}.install-modal{position:relative;width:100%;max-width:340px;background:#141414;border:1px solid var(--gold);border-radius:18px;padding:26px 22px 20px;text-align:center;box-shadow:0 18px 50px #000000b3}.install-modal img{width:76px;height:76px;border-radius:16px;margin:0 auto 14px}.install-modal b{display:block;font-size:19px;color:var(--white)}.install-modal span{display:block;font-size:14px;line-height:1.5;color:#bbb;margin:8px 0 16px}.install-modal .im-steps{font-size:14px;color:var(--gold);margin:0 0 16px}.install-modal .im-close{position:absolute;top:8px;right:12px;background:none;border:0;color:#999;font-size:24px;line-height:1;padding:4px;cursor:pointer}.install-modal .im-later{display:block;width:100%;margin-top:12px;background:none;border:0;color:#999;font-size:14px;cursor:pointer}@keyframes im-fade{0%{opacity:0}to{opacity:1}}
