@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');
:root{--bg:#090a0c;--panel:#111316;--panel-2:#15181b;--line:#2a2d2f;--gold:#d8ae52;--gold-bright:#f1cc72;--text:#f5f2eb;--muted:#aaa9a3;--green:#56c48b;--red:#d97777;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--shadow:0 24px 80px #0008}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}.hidden{display:none!important}.app-shell{max-width:1440px;margin:auto;overflow:hidden}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,6vw,88px);border-bottom:1px solid #ffffff12;background:#090a0cf5;position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:13px}.brand-seal{width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold-bright);font:700 27px var(--serif);position:relative}.brand-seal:before{content:'♛';position:absolute;top:-11px;font:13px var(--serif);color:var(--gold)}.brand-name{display:flex;flex-direction:column;line-height:1.05;letter-spacing:.13em}.brand-name strong{font-size:17px;color:var(--gold-bright)}.brand-name small{font-size:8px;letter-spacing:.22em;color:#c9c5ba;margin-top:5px}.top-actions{display:flex;align-items:center;gap:12px}.button{min-height:46px;border:1px solid transparent;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:0 20px;font-weight:700;letter-spacing:.01em;transition:transform .16s,background .16s,border-color .16s,color .16s}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.48;cursor:not-allowed;transform:none}.button-gold{background:linear-gradient(130deg,#f0c96d,#c28d32);color:#17130b;box-shadow:0 7px 24px #d8ae5226}.button-gold:hover{background:var(--gold-bright)}.button-outline{color:var(--gold-bright);border-color:#a37a36;background:transparent}.button-outline:hover{background:#d8ae5210}.button-small{min-height:38px;padding:0 17px;font-size:13px}.button-large{min-height:54px;padding:0 23px}.button-full{width:100%;margin-top:24px}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--gold);font-size:22px}.avatar{width:38px;height:38px;border-radius:50%;border:1px solid var(--gold);background:#211d14;color:var(--gold-bright);font-weight:700}.hero{min-height:580px;padding:70px clamp(24px,9vw,138px) 64px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;background:radial-gradient(ellipse at 78% 44%,#241c0d 0,#14120d 20%,#090a0c 56%);position:relative}.hero:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.7}.eyebrow{font-size:10px;letter-spacing:.22em;color:var(--gold);font-weight:700;display:inline-flex;align-items:center;gap:9px}.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px #efc665}.hero h1{font:700 clamp(48px,7vw,86px)/1.02 var(--serif);letter-spacing:-.035em;margin:24px 0 19px}.hero h1 em,.section-heading h2 em,.contact-band h2 em,.modal-card h2 em{color:var(--gold-bright);font-weight:600}.hero-copy>p{max-width:435px;color:#bfbbb3;font-size:17px;margin:0 0 30px}.hero-note{margin-top:23px;color:#89877f;font-size:12px}.spark{color:var(--gold);margin-right:7px}.hero-art{min-height:390px;display:grid;place-items:center;position:relative}.hero-ring{position:absolute;border:1px solid #d6ad584d;border-radius:50%;aspect-ratio:1}.ring-one{width:min(30vw,360px);box-shadow:0 0 0 20px #d4ab5010,0 0 80px #d8ae5215}.ring-two{width:min(24vw,285px);border-style:dashed;opacity:.65;animation:spin 80s linear infinite}.hero-emblem{width:164px;height:164px;border:1px solid var(--gold);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gold-bright);background:#0b0b09d9;box-shadow:inset 0 0 32px #d8ae5212,0 0 45px #d8ae521c;z-index:1}.hero-emblem span{font-size:25px;line-height:1}.hero-emblem b{font:700 64px/.95 var(--serif)}.hero-emblem small{font-size:8px;letter-spacing:.25em;text-align:center;margin-top:7px}.hero-caption{position:absolute;right:2%;bottom:13%;color:#a18a55;letter-spacing:.25em;font-size:9px;line-height:1.8;text-align:right}.hero-caption strong{color:var(--gold-bright);font-size:12px}.hero-line{position:absolute;width:80%;height:1px;background:linear-gradient(90deg,transparent,#c7a04e88,transparent);transform:rotate(-23deg)}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #ffffff10;padding:25px clamp(24px,9vw,138px);gap:30px;background:#0d0e10}.trust-strip>div{display:flex;align-items:center;gap:13px}.trust-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid #795f2d;border-radius:50%;font:600 14px var(--serif);color:var(--gold)}.trust-strip b,.trust-strip small{display:block}.trust-strip b{font-size:12px}.trust-strip small{font-size:10px;color:var(--muted);margin-top:3px}.section{padding:76px clamp(24px,9vw,138px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:29px}.section-heading h2{font:600 clamp(30px,4vw,43px)/1.1 var(--serif);margin:9px 0 0;letter-spacing:-.025em}.text-link{background:none;border:0;color:var(--gold-bright);font-weight:600;padding:8px 0}.text-link span{margin-left:8px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{background:linear-gradient(150deg,#17191b,#101112);border:1px solid #ffffff13;border-radius:10px;padding:24px;min-height:220px;position:relative;overflow:hidden;transition:border-color .2s,transform .2s}.service-card:hover{border-color:#d8ae525c;transform:translateY(-3px)}.service-number{position:absolute;right:18px;top:15px;font:600 23px var(--serif);color:#d8ae522c}.service-card-icon{font-size:25px;color:var(--gold);margin-bottom:17px}.service-card h3{font:600 19px var(--serif);margin:0 0 7px}.service-card p{color:#a9a8a2;font-size:12px;margin:0;max-width:250px;min-height:36px}.service-card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:18px;border-top:1px solid #ffffff10;padding-top:14px}.service-card-bottom b{font-size:18px;color:var(--gold-bright)}.service-card-bottom span{font-size:11px;color:var(--muted)}.skeleton-card{height:220px;border-radius:10px;background:linear-gradient(100deg,#141618,#1b1d20,#141618);background-size:200% 100%;animation:shimmer 1.5s infinite}.booking-section{padding:70px clamp(24px,9vw,138px) 86px;background:linear-gradient(180deg,#101113,#0b0c0e);border-top:1px solid #ffffff0c;border-bottom:1px solid #ffffff0c}.step-counter{display:flex;align-items:baseline;gap:7px;color:var(--muted);font-size:10px;letter-spacing:.13em}.step-counter b{font:600 24px var(--serif);color:var(--gold)}.step-counter i{font-style:normal}.booking-card{max-width:760px;margin:0 auto;background:#141618;border:1px solid #ffffff15;border-radius:12px;padding:clamp(22px,4vw,38px);box-shadow:var(--shadow)}.field-label{display:block;font-size:12px;font-weight:700;color:#e9e5dc;margin:16px 0 8px}.field-label:first-child{margin-top:0}.optional{color:var(--muted);font-weight:400}.service-choice{display:flex;align-items:center;gap:13px;padding:15px 13px;border:1px solid #ffffff12;border-radius:8px;margin-top:9px;cursor:pointer;transition:border .15s,background .15s}.service-choice:has(input:checked){border-color:#c89b42;background:#d8ae520e}.service-choice input{position:absolute;opacity:0;pointer-events:none}.choice-radio{width:17px;height:17px;border:1px solid #777;border-radius:50%;flex:0 0 auto}.service-choice:has(input:checked) .choice-radio{border:5px solid var(--gold)}.choice-main{display:flex;flex-direction:column;flex:1}.choice-main b{font-size:13px}.choice-main small{color:var(--muted);font-size:11px;margin-top:3px}.service-choice>strong{color:var(--gold-bright);font-size:14px}.step-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.back-link{border:0;background:none;color:var(--gold);padding:0}.form-control{width:100%;min-height:46px;background:#0e1012;border:1px solid #373a3c;color:var(--text);border-radius:7px;padding:10px 12px;outline:none}.form-control:focus{border-color:#c89b42;box-shadow:0 0 0 3px #d8ae5218}.form-control:disabled{opacity:.5}.form-control::placeholder{color:#76766f}textarea.form-control{resize:vertical}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(83px,1fr));gap:9px;margin-top:10px}.time-choice{height:42px;border:1px solid #383a3c;background:#0d0f10;color:#e7e3da;border-radius:6px}.time-choice:hover,.time-choice.selected{border-color:var(--gold);background:#d8ae5219;color:var(--gold-bright)}.summary-box{background:#0c0e0f;border:1px solid #2b2d2d;border-radius:8px;padding:8px 16px;margin:17px 0}.summary-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #ffffff10;font-size:12px}.summary-row:last-child{border:0}.summary-row span{color:var(--muted)}.summary-row b{text-align:right}.summary-row.total b{color:var(--gold-bright);font-size:16px}.auth-nudge,.notice-box{padding:14px;background:#d8ae5210;border:1px solid #d8ae5240;border-radius:7px;color:#e8d49e;font-size:12px}.fine-print{color:#878780;font-size:10px;text-align:center;margin:14px 0 0}.success-panel{text-align:center;padding:22px 10px}.success-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;margin:auto;background:#163825;border:1px solid #3f9665;color:#78d399;font-size:25px}.success-panel h3{font:600 26px var(--serif);margin:15px 0 7px}.success-panel p{color:var(--muted);font-size:13px}.account-section{min-height:360px}.account-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);overflow:auto;scrollbar-width:none;margin-bottom:22px}.account-tabs::-webkit-scrollbar{display:none}.account-tab{white-space:nowrap;background:none;border:0;border-bottom:2px solid transparent;padding:12px 13px;color:#9c9b95;font-size:12px}.account-tab.active{color:var(--gold-bright);border-bottom-color:var(--gold)}.account-panel{min-height:145px}.appointment-list{display:grid;gap:10px}.appointment-card{display:flex;align-items:center;gap:15px;padding:16px;border:1px solid #ffffff12;border-radius:8px;background:#121416}.appointment-date{width:48px;height:50px;border-right:1px solid #ffffff19;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto}.appointment-date b{font:600 24px var(--serif);color:var(--gold)}.appointment-date small{font-size:10px;text-transform:uppercase;color:var(--muted)}.appointment-info{display:flex;flex-direction:column;flex:1;min-width:120px}.appointment-info b{font-size:13px}.appointment-info small{font-size:10px;color:var(--muted);margin-top:3px}.appointment-side{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.appointment-side>b{font-size:12px}.appointment-side .text-link{font-size:10px}.status-pill{display:inline-flex;padding:4px 8px;border-radius:20px;background:#2a2d30;color:#bbb;font-size:9px;white-space:nowrap}.status-pill.confirmed{color:#76d39b;background:#193624}.status-pill.completed{color:#d8ae52;background:#3c3018}.status-pill.cancelled,.status-pill.no_show{color:#e68b8b;background:#401f1f}.empty-state{text-align:center;padding:32px 12px;color:var(--muted)}.empty-state>span{font-size:30px;color:var(--gold)}.empty-state b{display:block;color:#e9e4db;margin-top:8px}.empty-state p{font-size:12px}.staff-section{padding-top:65px}.staff-dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.metric-card{border:1px solid #ffffff14;background:#131517;border-radius:8px;padding:17px}.metric-card span,.metric-card small{display:block;color:#a7a69f;font-size:10px}.metric-card b{display:block;font:600 27px var(--serif);color:var(--gold-bright);margin:6px 0}.staff-tabs{flex-wrap:wrap}.toolbar{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:18px}.toolbar .subheading{margin:0}.subheading{font:600 21px var(--serif);margin:22px 0 12px}.muted{font-size:12px;color:var(--muted)}.date-control{width:auto;min-width:160px}.schedule-list{display:grid;gap:8px}.staff-appointment{display:flex;gap:15px;align-items:center;padding:13px;border:1px solid #ffffff12;border-radius:8px;background:#121416}.staff-time{width:57px;flex:0 0 auto;color:var(--gold-bright);font:600 18px var(--serif)}.staff-time small{display:block;font:10px var(--sans);color:#96958f;margin-top:3px}.staff-appt-main{display:flex;flex-direction:column;gap:3px;flex:1}.staff-appt-main b{font-size:13px}.staff-appt-main small{font-size:10px;color:var(--muted)}.staff-appt-actions{display:flex;align-items:flex-end;flex-direction:column;gap:5px}.staff-appt-actions>b{font-size:12px}.mini-action{border:1px solid #524426;border-radius:5px;background:#15140f;color:var(--gold-bright);padding:5px 8px;font-size:10px}.mini-action.danger{border-color:#613535;color:#e69696;background:#201314}.paid-indicator{font-size:9px;color:#76d39b}.table-wrap{overflow:auto;border:1px solid #ffffff12;border-radius:8px}table{width:100%;border-collapse:collapse;min-width:640px;text-align:left}th,td{padding:12px 13px;border-bottom:1px solid #ffffff10;font-size:11px}th{color:var(--gold);font-weight:600;background:#17191b}td{color:#ddd9d1}td b,td small{display:block}td small{color:var(--muted);font-size:9px;margin-top:3px}tr:last-child td{border-bottom:0}.search-control{max-width:290px}.hours-list{display:grid;gap:8px;margin-bottom:13px}.hours-row{display:grid;grid-template-columns:1.1fr .85fr 1fr auto 1fr 1fr auto 1fr auto;gap:9px;align-items:center;padding:11px;border:1px solid #ffffff12;border-radius:8px}.hours-row>b{font-size:12px}.hours-row .form-control{min-width:0;padding:7px;font-size:11px}.hours-row>span{color:var(--muted);font-size:10px}.switch-label{display:flex;align-items:center;gap:8px;color:#c9c6be;font-size:11px}.switch-label input{accent-color:var(--gold);width:17px;height:17px}.inline-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:15px;border:1px solid #ffffff12;border-radius:8px;background:#121416;margin:18px 0}.inline-form .field-label{flex:1;min-width:150px;margin:0}.inline-form .form-control{margin-top:6px}.block-list{display:grid;gap:8px;margin-top:16px}.block-row{display:flex;justify-content:space-between;align-items:center;padding:13px;border:1px solid #ffffff12;border-radius:8px}.block-row b,.block-row small{display:block}.block-row small{font-size:10px;color:var(--muted);margin-top:4px}.settings-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:800px}.settings-form .field-label{margin:0}.settings-form .form-divider{grid-column:1/-1;border-top:1px solid var(--line);margin:5px 0}.settings-form>button{justify-self:start}.staff-create{margin-top:38px}.plan-grid,.membership-active{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.plan-card{border:1px solid #d8ae5233;border-radius:9px;background:linear-gradient(150deg,#181714,#121314);padding:18px}.plan-card h3{font:600 20px var(--serif);margin:10px 0 5px}.plan-card p{font-size:11px;color:#aaa79e;min-height:33px}.plan-facts{display:flex;flex-direction:column;gap:6px;color:#d5d0c6;font-size:10px}.plan-facts b{color:var(--gold-bright);font-size:17px}.report-metrics{grid-template-columns:repeat(3,1fr);margin-top:20px}.profile-form{max-width:520px;display:grid;gap:9px}.profile-form .field-label{margin:5px 0}.notification-list{margin-top:14px;display:grid;gap:7px}.notification-row{padding:12px;border:1px solid #ffffff14;border-radius:7px}.notification-row b{font-size:12px}.notification-row p{font-size:11px;color:#c5c1b7;margin:4px 0}.notification-row small{font-size:9px;color:var(--muted)}.contact-band{margin:0 clamp(24px,9vw,138px) 70px;padding:36px clamp(20px,5vw,58px);border:1px solid #856a36;border-radius:10px;background:radial-gradient(ellipse at 80% 50%,#2a2110,#111210 64%);display:flex;justify-content:space-between;align-items:center;gap:20px}.contact-band h2{font:600 clamp(30px,4vw,42px)/1.1 var(--serif);margin:10px 0 0}.contact-actions{max-width:280px}.contact-actions p{font-size:12px;color:#b8b5ad;margin:0 0 15px}.footer{border-top:1px solid #ffffff12;padding:22px clamp(24px,6vw,88px);display:flex;align-items:center;justify-content:space-between;gap:15px;color:#919088}.brand-footer .brand-seal{width:36px;height:36px;font-size:21px}.brand-footer .brand-name strong{font-size:13px}.brand-footer .brand-name small{font-size:7px}.footer-copy,.footer-pwa{font-size:9px;letter-spacing:.08em}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:#000b;backdrop-filter:blur(5px)}.modal-card{position:relative;width:min(100%,430px);background:#141618;border:1px solid #d8ae5255;border-radius:12px;padding:31px;box-shadow:var(--shadow);max-height:90vh;overflow:auto}.modal-close{position:absolute;right:14px;top:10px;border:0;background:none;color:#b6b3aa;font-size:25px}.modal-card h2{font:600 30px var(--serif);margin:10px 0 16px}.auth-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:18px}.auth-tab{background:none;border:0;padding:10px 0;color:var(--muted);border-bottom:2px solid transparent}.auth-tab.active{color:var(--gold-bright);border-bottom-color:var(--gold)}.modal-card .field-label{margin-top:12px}.modal-message{min-height:18px;color:#f2a0a0;font-size:11px}.forgot-link{font-size:11px}.toast{position:fixed;left:50%;bottom:25px;z-index:70;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:12px 18px;background:#202224;border:1px solid #383a3b;border-radius:7px;box-shadow:var(--shadow);font-size:12px;max-width:min(90vw,500px);transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.success{border-color:#3d8659}.toast.error{border-color:#985252}.error-copy{color:#e89b9b;font-size:12px}.loader-inline{font-size:12px;color:var(--muted);padding:12px}.wide{grid-column:1/-1}.fine-print code{color:var(--gold)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}
@media(max-width:800px){.hero{min-height:500px;grid-template-columns:1fr .68fr;padding-top:60px;padding-bottom:45px}.hero h1{font-size:clamp(47px,9vw,70px)}.hero-art{min-height:300px}.hero-emblem{width:125px;height:125px}.hero-emblem b{font-size:50px}.ring-one{width:29vw}.ring-two{width:23vw}.hero-caption{right:0}.section,.booking-section{padding-top:60px;padding-bottom:64px}.hours-row{grid-template-columns:1fr 1fr 1fr auto 1fr 1fr;}.hours-row b{grid-column:1}.hours-row .switch-label{grid-column:2}.hours-row button{grid-column:6}.hours-row>span{display:none}.staff-dashboard{grid-template-columns:repeat(2,1fr)}.contact-band{margin-bottom:48px}.report-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.topbar{height:68px;padding:0 17px}.brand-seal{width:37px;height:37px;font-size:23px}.brand-name strong{font-size:14px}.brand-name small{font-size:7px}.top-actions{gap:8px}.hero{grid-template-columns:1fr;min-height:auto;padding:63px 24px 35px}.hero-copy{position:relative;z-index:2}.hero h1{font-size:54px;margin:19px 0 13px}.hero-copy>p{font-size:14px;max-width:340px}.hero-art{position:absolute;right:-65px;top:62px;width:235px;min-height:235px;opacity:.45}.hero-emblem{width:95px;height:95px}.hero-emblem b{font-size:39px}.hero-emblem span{font-size:16px}.hero-emblem small{font-size:6px}.ring-one{width:190px}.ring-two{width:148px}.hero-caption{display:none}.hero-note{font-size:10px}.trust-strip{padding:17px 20px;gap:8px}.trust-strip>div{gap:7px}.trust-icon{width:29px;height:29px;font-size:10px}.trust-strip b{font-size:9px}.trust-strip small{font-size:8px}.section,.booking-section{padding:52px 19px}.section-heading{align-items:start;margin-bottom:20px}.section-heading h2{font-size:31px}.section-heading .eyebrow{font-size:8px}.service-grid{grid-template-columns:1fr;gap:9px}.service-card{min-height:unset;padding:16px 18px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:0 8px}.service-card-icon{grid-row:1/3;margin:0;font-size:20px}.service-card h3{font-size:16px;margin:0}.service-card p{font-size:10px;min-height:0}.service-number{font-size:16px}.service-card-bottom{grid-column:2/4;margin-top:10px;padding-top:8px}.booking-card{padding:19px 15px}.service-choice{gap:9px;padding:12px 10px}.choice-main b{font-size:11px}.choice-main small{font-size:9px}.service-choice>strong{font-size:11px}.step-counter{margin-top:5px}.appointment-card{gap:9px;padding:11px 9px}.appointment-info b{font-size:11px}.appointment-info small{font-size:9px}.appointment-side .status-pill{font-size:8px;padding:3px 6px}.appointment-side>b{font-size:10px}.appointment-side .text-link{font-size:8px}.account-tabs{margin-right:-19px}.account-tab{padding:11px 9px;font-size:10px}.staff-tabs{flex-wrap:nowrap}.staff-dashboard{gap:8px}.metric-card{padding:12px}.metric-card b{font-size:23px}.metric-card span,.metric-card small{font-size:9px}.toolbar{align-items:flex-start;flex-direction:column}.toolbar>.button{width:100%}.staff-appointment{align-items:flex-start;gap:9px;padding:10px 8px}.staff-time{font-size:15px;width:45px}.staff-appt-main b{font-size:11px}.staff-appt-main small{font-size:9px}.staff-appt-actions{min-width:72px}.staff-appt-actions .mini-action{font-size:8px;padding:4px 5px}.hours-row{grid-template-columns:1fr 1fr 1fr;gap:7px}.hours-row b{grid-column:1/2}.hours-row .switch-label{grid-column:2/4;justify-self:end}.hours-row .form-control{font-size:10px}.hours-row button{grid-column:3}.settings-form{grid-template-columns:1fr}.settings-form .form-divider{grid-column:1}.settings-form>button{width:100%}.inline-form{display:grid;grid-template-columns:1fr}.inline-form .field-label{min-width:0}.inline-form .button{width:100%}.contact-band{margin:0 19px 42px;padding:24px 19px;display:block}.contact-actions{margin-top:22px}.contact-actions .button{width:100%}.footer{padding:18px;flex-wrap:wrap}.footer-pwa{display:none}.footer-copy{margin-left:auto;font-size:8px}.modal-card{padding:25px 20px}.date-control{width:100%}.search-control{max-width:unset;width:100%}.staff-create{margin-top:25px}.report-metrics{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Operational dashboard extensions */
.dashboard-upcoming{grid-column:1/-1;padding:18px;border:1px solid var(--line,#343434);border-radius:14px;background:rgba(255,255,255,.025)}
.dashboard-upcoming h3{margin:0 0 10px;color:var(--gold,#d8ae52);font-size:1rem}
.dashboard-appointment{display:grid;grid-template-columns:minmax(130px,190px) 1fr auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid rgba(255,255,255,.07)}
.dashboard-appointment span,.dashboard-appointment small{color:var(--muted,#b7b7b7)}
@media(max-width:680px){.dashboard-appointment{grid-template-columns:1fr;gap:3px}}
.free-slots-panel{margin:14px 0 22px;padding:16px;border:1px solid rgba(216,174,82,.22);border-radius:14px;background:rgba(216,174,82,.035)}
.free-slots-panel>b{display:block;color:var(--gold,#d8ae52);margin-bottom:4px}
.free-slots-panel>small{display:block;color:var(--muted,#aaa);margin-bottom:12px}
.free-slots-row{display:grid;grid-template-columns:180px 1fr;gap:10px;padding:8px 0;border-top:1px solid rgba(255,255,255,.07)}
.free-slots-row>span{font-weight:600}.free-slots-row>div{display:flex;flex-wrap:wrap;gap:5px}.free-time{padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.06);font-variant-numeric:tabular-nums}.free-slots-row i{font-style:normal;color:var(--muted,#aaa)}
@media(max-width:680px){.free-slots-row{grid-template-columns:1fr}}

.mode-switch{font-size:11px;white-space:nowrap;margin:0 5px}.mode-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;padding:12px 20px;background:#2a2314;border-bottom:1px solid #d8ae5255;color:#f2dfae;font-size:12px}.mode-notice a{color:var(--gold-bright);font-weight:700;text-decoration:underline}.mode-notice .mini-action{font-size:10px}
body[data-app-mode="professional"] .staff-section{padding-top:38px}
@media(max-width:560px){.topbar{padding-inline:14px}.top-actions{gap:6px}.mode-switch{font-size:9px;margin:0}.top-actions .button-small{padding:0 10px;font-size:11px}.mode-notice{font-size:11px;gap:8px}}

#pushToggleBtn{white-space:nowrap;font-size:11px}#pushToggleBtn:disabled{opacity:.58;cursor:not-allowed}@media(max-width:680px){#staffArea .section-heading{align-items:flex-start}#staffArea .section-heading>.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px}#pushToggleBtn{font-size:10px}}

/* Fidelidade e WhatsApp (click-to-chat) */
a.mini-action,a.text-link{text-decoration:none}
a.mini-action{display:inline-flex;align-items:center;justify-content:center}
.mini-action.wa{border-color:#25d36666;color:#7ee0a3}
.mini-action.wa:hover{background:#25d3661f}
.wa-link{color:#7ee0a3;white-space:nowrap}

.success-panel .button{margin:5px 4px 0}
.loyalty-card{border:1px solid #d8ae5233;border-radius:9px;background:linear-gradient(150deg,#1a1813,#121314);padding:20px;max-width:680px}
.loyalty-head h3{font:600 21px var(--serif);color:var(--gold-bright);margin:8px 0 4px}
.loyalty-progress{margin:16px 0}
.loyalty-track{height:12px;border-radius:99px;background:#0c0d0e;border:1px solid #ffffff14;overflow:hidden}
.loyalty-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#8a6d2f,var(--gold-bright));transition:width .4s}
.loyalty-meta{display:flex;justify-content:space-between;gap:10px;margin-top:8px;align-items:baseline}
.loyalty-meta b{color:var(--gold-bright);font:600 18px var(--serif)}
.loyalty-meta span{color:var(--muted);font-size:11px;text-align:right;line-height:1.4}
.loyalty-facts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.loyalty-facts span{border:1px solid #ffffff14;border-radius:7px;padding:8px 10px;font-size:11px;color:#c5c1b7}
.loyalty-facts b{color:var(--gold-bright)}
.customer-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:14px;align-items:start}
.customer-card{border:1px solid #ffffff12;border-radius:9px;background:#121416;padding:16px}
.customer-card h4{margin:0 0 10px;font:600 16px var(--serif);color:var(--gold-bright)}
.customer-card h4:not(:first-child){margin-top:18px}
.customer-card .loyalty-progress{margin:10px 0}
.toolbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.dashboard-appointment{grid-template-columns:minmax(130px,190px) 1fr auto auto}
.dashboard-appointment .mini-action.wa{font-size:9px}
@media(max-width:760px){.customer-grid{grid-template-columns:1fr}.dashboard-appointment{grid-template-columns:1fr auto;row-gap:6px}.dashboard-appointment .mini-action.wa{grid-column:2}}
.staff-welcome{display:flex;justify-content:center;padding:clamp(30px,8vw,86px) clamp(20px,6vw,60px)}
.staff-welcome-card{width:100%;max-width:560px;padding:clamp(26px,5vw,46px);border:1px solid #d8ae5240;border-radius:14px;background:linear-gradient(150deg,#17191b,#0f1012);display:flex;flex-direction:column;align-items:center;gap:15px;text-align:center}
.staff-welcome-card h1{font:600 clamp(30px,6vw,44px)/1.1 var(--serif);margin:0}
.staff-welcome-card h1 em{color:var(--gold-bright)}
.staff-welcome-card p{color:var(--muted);font-size:14px;margin:0;max-width:430px}
.staff-welcome-note{font-size:11px;color:#89877f}
.staff-welcome .button-large{min-width:250px}
@media(max-width:520px){.topbar{height:74px;padding:0 14px}.brand{gap:9px}.brand-name strong{font-size:14px;letter-spacing:.08em}.brand-name small{display:none}.top-actions{gap:7px}.mode-switch{margin:0;font-size:10px}.button-small{min-height:36px;padding:0 12px;font-size:12px}.staff-welcome .button-large{min-width:0;width:100%}}
@media(max-width:400px){.brand-name{display:none}}
.auth-nudge{cursor:pointer}
.auth-nudge:hover{text-decoration:underline}
.guest-fields{display:grid;gap:10px;padding:15px;margin:16px 0 12px;background:#d8ae520d;border:1px solid #d8ae5233;border-radius:8px}
.guest-fields .field-label{color:#e8d49e}
.guest-fields .form-control{min-height:48px}
.wa-cloud-box{display:grid;gap:10px;padding:15px;margin:14px 0;background:#0e1012;border:1px solid #2b2d2d;border-radius:8px}
.wa-cloud-box .subheading{margin:0}
.wa-cloud-box .status-pill{justify-self:start}
.wa-cloud-test{display:flex;gap:8px}
.wa-cloud-test .form-control{flex:1;min-width:0}
