:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1a150f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--black:#050403;--panel:#fff;--panel-strong:#fcfbfa;--line:#d4af3740;--line-soft:#00000014;--gold:#d4af37;--gold-deep:#a87e22;--gold-light:#f7d78e;--cream:#1a150f;--muted:#736b5e;--danger:#e04a4a;--success:#2e9f65;--info:#4287f5;--shadow:0 12px 40px #00000014;background:#fff;font-family:Noto Sans Thai,Inter,Segoe UI,system-ui,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{background:var(--black);min-width:320px}body{touch-action:manipulation;background:radial-gradient(circle at 12% 0,#d4af371f,#0000 28rem),linear-gradient(#fff 0%,#fdfbf7 44%,#f5efe6 100%);min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{border:1px solid var(--line-soft);width:100%;color:var(--cream);background:#fff;border-radius:8px;outline:none;min-height:44px;padding:.78rem .9rem;transition:all .2s;box-shadow:0 2px 8px #00000005}textarea{resize:vertical;min-height:104px}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #e8ba5b24}label{color:var(--muted);gap:.45rem;font-size:.92rem;display:grid}label>input,label>select,label>textarea{color:var(--black)}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle;padding:.9rem}th{color:var(--gold-light);font-size:.82rem;font-weight:700}td span,td small{color:var(--muted);font-size:.82rem;display:block}.site-shell,.review-page,.liff-page,.admin-page{min-height:100vh}.hero{isolation:isolate;min-height:92svh;position:relative;overflow:hidden}.hero-image{object-fit:cover;object-position:center;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.hero-overlay{z-index:-1;background:linear-gradient(90deg,#000000e0,#00000080 44%,#000000c2),linear-gradient(#05040314 66%,#050403 100%);position:absolute;inset:0}.topbar,.hero-content,.content-band,.review-hero-content{width:min(1120px,100% - 32px);margin-inline:auto}.topbar{justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;display:flex}.brand{align-items:center;gap:.8rem;display:flex}.brand-icon{border:1px solid var(--gold);width:52px;height:52px;color:var(--gold-light);background:#00000059;border-radius:50%;place-items:center;display:grid}.brand strong{color:var(--gold-light);font-size:clamp(1.35rem,3vw,2rem);line-height:1.05;display:block}.brand span{color:var(--muted);font-size:.78rem}.brand-compact .brand-icon{width:40px;height:40px}.brand-compact strong{font-size:1.28rem}.ghost-link,.ghost-button{border:1px solid var(--line);min-height:40px;color:var(--gold-light);background:#ffffff0a;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;padding:.62rem .9rem;display:inline-flex}.hero-content{align-content:center;min-height:calc(92svh - 92px);padding:4rem 0 8rem;display:grid}.eyebrow,.section-kicker{color:var(--gold-light);align-items:center;gap:.5rem;font-size:.9rem;font-weight:800;display:inline-flex}.hero h1{color:var(--gold-light);margin:.25rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(4rem,13vw,9rem);font-weight:700;line-height:.9}.hero p{color:#f9e6be;max-width:680px;margin:1.2rem 0 0;font-size:clamp(1rem,2vw,1.2rem)}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:2rem;display:flex}.gold-button{color:#fff;background:linear-gradient(180deg, var(--gold), var(--gold-deep));border:1px solid #ffe2a28c;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.75rem 1rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 8px 24px #d4af374d}.gold-button.full{width:100%}.text-link{color:var(--gold-light);font-weight:700}.text-link.center{text-align:center}.content-band{padding:4.5rem 0}.section-heading{gap:.35rem;margin-bottom:1.4rem;display:grid}.section-heading span{color:var(--gold);font-weight:800}.section-heading h2,.split-band h2,.admin-header h1,.section-title h2{margin:0}.service-grid,.branch-grid,.review-grid,.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.service-card,.branch-card,.review-card,.stat-grid article{border:1px solid var(--line);box-shadow:var(--shadow);background:#11100ddb;border-radius:8px}.service-card{gap:.55rem;min-height:168px;padding:1.25rem;display:grid}.service-card svg{color:var(--gold)}.service-card h3,.branch-card strong{color:var(--gold-light);margin:0;font-size:1.15rem}.service-card p,.branch-card span{color:var(--muted);margin:0}.split-band{grid-template-columns:.85fr 1.15fr;align-items:start;gap:2rem;display:grid}.feature-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.feature-list div{border:1px solid var(--line-soft);background:#ffffff0b;border-radius:8px;align-items:center;gap:.85rem;min-height:74px;padding:1rem;display:flex}.feature-list svg{color:var(--gold);flex:none}.branch-card{gap:.35rem;padding:1.2rem;display:grid}.branch-actions{gap:.65rem;margin-top:.8rem;display:flex}.branch-actions a{border:1px solid var(--line-soft);min-height:38px;color:var(--gold-light);border-radius:8px;flex:1;place-items:center;display:grid}.review-hero{isolation:isolate;min-height:58svh;position:relative;overflow:hidden}.review-hero img{object-fit:cover;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.review-hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#050403 8%,#050403b8,#0504036b);position:absolute;inset:0}.review-hero-content{align-content:center;gap:.9rem;min-height:58svh;padding:4rem 0;display:grid}.review-hero h1{max-width:720px;color:var(--gold-light);margin:0;font-size:clamp(2.4rem,7vw,5.6rem);line-height:1}.review-hero p{color:#f3dfb8;max-width:600px;margin:0}.back-link,.review-branch-switcher{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.back-link{width:max-content;color:var(--gold-light);font-weight:800}.review-branch-switcher a{border:1px solid var(--line);min-height:38px;color:var(--muted);background:#00000059;border-radius:8px;padding:.5rem .85rem}.review-branch-switcher a.active{color:#130d05;background:var(--gold)}.review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.review-card{gap:1rem;min-height:230px;padding:1.2rem;display:grid}.review-card p{color:#f2e6cd}.review-card footer{color:var(--muted);align-self:end;display:grid}.portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:1rem;display:grid}.portfolio-card{border:1px solid var(--line);color:#f8ead0;text-align:left;box-shadow:var(--shadow);background:#11100deb;border-radius:8px;gap:0;padding:0;display:grid;overflow:hidden}.portfolio-card img{aspect-ratio:1;object-fit:cover;background:#11100d;width:100%}.portfolio-card span{gap:.3rem;padding:1rem;display:grid}.portfolio-card strong{color:var(--gold-light);font-size:1.02rem}.portfolio-card small{color:#d6c09c}.portfolio-empty{text-align:center;grid-column:1/-1;place-items:center;min-height:240px;padding:2rem;display:grid}.portfolio-loading-more{text-align:center;grid-column:1/-1;padding:1rem}.portfolio-lightbox{z-index:1200;background:#000000c7;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.portfolio-lightbox figure{gap:.8rem;width:min(980px,100%);max-height:92vh;margin:0;display:grid}.portfolio-lightbox img{object-fit:contain;background:#050403;border-radius:8px;width:100%;max-height:78vh}.portfolio-lightbox figcaption{color:#f8ead0;gap:.25rem;display:grid}.portfolio-lightbox figcaption strong{color:var(--gold-light);font-size:1.2rem}.stars{color:var(--gold);gap:.15rem;display:inline-flex}.empty-state,.empty-inline,.privacy-note{border:1px dashed var(--line);color:var(--muted);background:#ffffff09;border-radius:8px}.loading-panel{place-items:center;min-height:220px;padding:1.5rem;display:grid}.beauty-loader{place-items:center;width:76px;height:76px;display:grid}.beauty-loader img{object-fit:contain;width:100%;height:100%;display:block}.empty-state{text-align:center;grid-column:1/-1;place-items:center;gap:.45rem;min-height:260px;padding:2rem;display:grid}.empty-state h2,.empty-state p{margin:0}.liff-page{place-items:start center;padding:1rem;display:grid}.mobile-shell{background:#fff;border:1px solid #d4af371a;border-radius:20px;width:min(100%,480px);min-height:calc(100svh - 2rem);overflow:hidden auto;box-shadow:0 0 40px #0000000f}.mobile-shell.customer-shell{background:#f8f6f3;padding-top:0;padding-bottom:80px}.booking-flow{gap:.62rem;padding:0 .68rem .68rem;display:grid}.booking-hero{z-index:5;color:#fff;background-color:#0000;background-image:linear-gradient(145deg,#16110cf0,#40301eeb),url(/chailai-hero.png);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:0 0 24px 24px;gap:.72rem;margin-inline:-.68rem;padding:1.05rem .9rem .82rem;display:grid;position:sticky;top:0;box-shadow:0 8px 20px #22190d24}.booking-hero span{color:var(--gold-light);font-size:.74rem;font-weight:800}.booking-hero h1{color:#fff;margin:.1rem 0 0;font-size:1.22rem;line-height:1.18}.booking-progress{gap:.45rem;display:grid}.booking-progress-track{background:#fff3;border-radius:999px;height:5px;overflow:hidden}.booking-progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--gold), var(--gold-light));height:100%;transition:width .22s;display:block}.booking-progress-steps{grid-template-columns:repeat(4,1fr);gap:.35rem;display:grid}.booking-progress-steps span{color:#ffffff94;text-align:center;font-size:.68rem}.booking-progress-steps span.active{color:#ffe6aa}.booking-panel{background:#ffffffdb;border:1px solid #d4af3724;border-radius:10px;gap:.62rem;padding:.66rem;display:grid;box-shadow:0 5px 16px #2d21100d}.service-picker-panel{box-shadow:none;background:0 0;border:0;padding:0}.service-booking-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.52rem;display:grid}.booking-loading-panel{place-items:center;min-height:170px;padding:1.25rem;display:grid}.admin-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.booking-service-card{aspect-ratio:1.72;color:#fff;text-align:left;background-color:#17120d;background-position:50%;background-size:cover;border:1px solid #ffe2a247;border-radius:8px;flex-direction:column;justify-content:flex-end;min-width:0;min-height:74px;padding:.56rem;display:flex;position:relative;overflow:hidden;box-shadow:0 7px 18px #16110a1f}.booking-service-card:after{content:"";background:linear-gradient(#0000 22%,#000000b8 100%);position:absolute;inset:0}.booking-service-card span,.booking-service-card small{z-index:1;position:relative}.booking-service-card span{color:#fff;font-size:1rem;font-weight:900;line-height:1.2}.booking-service-card small{color:#f6d892;font-size:.78rem;font-weight:800}.booking-service-card.active{border-color:var(--gold-light);transform:translateY(-1px);box-shadow:0 0 0 3px #d4af3733,0 12px 28px #16110a2e}.booking-step-heading{color:var(--cream);align-items:center;gap:.5rem;display:flex}.booking-step-heading svg{color:var(--gold-deep)}.booking-step-heading h2{margin:0;font-size:.92rem}.booking-calendar,.time-slot-grid{gap:.5rem;display:grid}.booking-calendar{grid-template-columns:repeat(7,minmax(0,1fr))}.booking-calendar button,.time-slot-grid button{border:1px solid var(--line-soft);color:var(--cream);background:#fff;border-radius:8px}.booking-calendar button{gap:.12rem;min-height:56px;padding:.38rem .12rem;display:grid}.booking-calendar button span,.booking-calendar button small{color:var(--muted);font-size:.6rem}.booking-calendar button strong{font-size:.98rem;line-height:1}.booking-calendar button.active,.time-slot-grid button.active{border-color:var(--gold);color:#181007;background:linear-gradient(180deg, #ffe4a8, var(--gold));font-weight:900;box-shadow:0 8px 18px #d4af3738}.booking-calendar button.unavailable,.time-slot-grid button.full{color:#7b1111;box-shadow:none;background:#ffe2e2;border-color:#ff5d5d8c}.booking-calendar button.unavailable span,.booking-calendar button.unavailable small,.time-slot-grid button.full small{color:#a61f1f}.time-slot-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.time-slot-grid button{place-items:center;min-height:46px;font-size:.78rem;display:grid}.time-slot-grid button small{color:var(--muted);font-size:.58rem}.booking-actions{grid-template-columns:.42fr 1fr;gap:.55rem;display:grid}.ghost-booking-button{min-height:40px;color:var(--gold-deep);background:#fff;border:1px solid #a87e2252;border-radius:8px;justify-content:center;align-items:center;padding:.62rem .72rem;font-weight:800;display:inline-flex}.booking-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.52rem;display:grid}.booking-detail-list div{border:1px solid var(--line-soft);background:#fff;border-radius:8px;gap:.18rem;min-width:0;padding:.62rem;display:grid}.booking-detail-list .wide{grid-column:1/-1}.booking-detail-list span{color:var(--muted);font-size:.72rem;font-weight:700}.booking-detail-list strong{color:var(--cream);overflow-wrap:anywhere;font-size:.92rem;line-height:1.28}.booking-success-panel{text-align:center;justify-items:center;padding:1.25rem .9rem}.booking-success-panel h2,.booking-success-panel p{margin:0}.booking-success-panel h2{color:var(--cream);font-size:1.3rem}.booking-success-panel p{color:var(--muted);font-size:.9rem}.success-mark{color:#fff;background:linear-gradient(145deg, var(--success), #16784a);border-radius:50%;place-items:center;width:62px;height:62px;display:grid;box-shadow:0 12px 28px #2e9f6547}.booking-flow select,.booking-flow textarea{min-height:40px;padding:.62rem .72rem}.booking-flow textarea{min-height:76px}.booking-flow .booking-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem}.booking-flow .booking-summary span{gap:.28rem;min-width:0;padding:.48rem;font-size:.68rem;line-height:1.25}.booking-flow .gold-button{min-height:40px;padding:.62rem .82rem}.profile-gold-card{color:#fff;background:linear-gradient(145deg,#1a1a1a 0%,#0d0d0d 50%,#1a1508 100%);border-radius:0 0 24px 24px;padding:2rem 1.25rem 1.25rem;position:relative;overflow:hidden}.profile-gold-card .gold-card-bg{pointer-events:none;background:radial-gradient(at 30% 20%,#d4af372e 0%,#0000 55%),radial-gradient(at 80% 80%,#d4af3714 0%,#0000 45%);position:absolute;inset:0}.profile-gold-card .gold-card-bg:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), var(--gold-light), var(--gold), transparent);height:3px;position:absolute;top:-1px;left:0;right:0}.profile-gold-card .gold-card-content{z-index:1;align-items:center;gap:1rem;display:flex;position:relative}.profile-gold-card .gold-card-avatar{border:3px solid var(--gold);object-fit:cover;background:#2a2a2a;border-radius:50%;flex-shrink:0;width:68px;height:68px;box-shadow:0 4px 20px #d4af3759}.profile-gold-card .gold-card-info{gap:.35rem;min-width:0;display:grid}.profile-gold-card .gold-card-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.25rem;font-weight:700;line-height:1.2;overflow:hidden}.profile-gold-card .gold-card-points{color:var(--gold-light);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.profile-gold-card .gold-card-points svg{color:var(--gold);flex-shrink:0}.profile-gold-card .gold-card-points strong{color:var(--gold-light);letter-spacing:.02em;margin-left:auto;font-size:1.05rem;font-weight:800}.profile-gold-card .gold-card-next{color:#ffffffa6;z-index:1;border-top:1px solid #d4af3733;align-items:center;gap:.5rem;margin-top:1rem;padding-top:.85rem;font-size:.82rem;display:flex;position:relative}.profile-gold-card .gold-card-next svg{color:var(--gold);flex-shrink:0}.profile-gold-card .gold-card-next strong{color:var(--gold-light);margin-left:auto;font-weight:700}.center-shell{text-align:center;align-content:center;place-items:center;gap:1rem;padding:1.4rem;display:grid}.mobile-header,.customer-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.mobile-header>span,.customer-header span{color:var(--gold-light);font-weight:800}.onboarding-hero,.form-panel,.panel-stack{padding:1.15rem}.onboarding-hero{background:linear-gradient(#e8ba5b1a,#e8ba5b00),#ffffff05;gap:.6rem;display:grid}.onboarding-hero h1{color:var(--gold-light);margin:0;font-size:2rem}.onboarding-hero p{color:var(--muted);margin:0}.form-panel,.panel-stack,.side-form{gap:.9rem;display:grid}.input-icon,.search-field{align-items:center;display:flex;position:relative}.input-icon svg,.search-field svg{color:var(--gold);position:absolute;left:.82rem}.input-icon input,.search-field input{padding-left:2.4rem}.check-row{color:#ddd0b4;align-items:flex-start;gap:.65rem;display:flex}.check-row input{width:18px;min-height:18px;accent-color:var(--gold);margin-top:.25rem}.privacy-note{align-items:center;gap:.65rem;padding:.85rem;display:flex}.notice{z-index:9999;text-align:center;pointer-events:none;border-radius:8px;min-width:280px;max-width:90vw;padding:.85rem 1.5rem;font-weight:700;animation:5s cubic-bezier(.4,0,.2,1) forwards toastFade;position:fixed;top:24px;left:50%;box-shadow:0 8px 32px #0000001f}@keyframes toastFade{0%{opacity:0;transform:translate(-50%,-20px)}5%{opacity:1;transform:translate(-50%)}95%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-20px)}}.notice.error{color:#2a0707;background:var(--danger)}.notice.success{color:#04180c;background:var(--success)}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.icon-link,.icon-danger{border:1px solid var(--line);width:40px;height:40px;color:var(--gold-light);background:#ffffff0a;border-radius:8px;place-items:center;display:inline-grid}.icon-danger{color:var(--danger)}.points-panel{grid-template-columns:1fr 1fr;gap:.8rem;padding:1rem;display:grid}.points-panel>div{border:1px solid var(--line);background:#e8ba5b14;border-radius:8px;padding:1rem}.points-panel span,.booking-summary span,.appointment-row span,.appointment-row small{color:var(--muted);display:block}.points-panel strong{color:var(--gold-light);font-size:1.35rem;display:block}.tabbar{grid-template-columns:repeat(4,1fr);gap:.4rem;padding:0 1rem 1rem;display:grid}.tabbar.bottom-nav{width:min(100%,480px);padding:.25rem 1.5rem calc(.25rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(20px);z-index:100;background:#fffffff2;border-top:1px solid #d4af3726;border-radius:24px 24px 0 0;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -10px 40px #00000014}.tabbar button,.admin-tabs button,.branch-switch button,.rating-picker button,.row-actions button{color:var(--muted);background:#ffffff0b;border:1px solid #0000;border-radius:8px}.tabbar.bottom-nav button{color:#b8b0a3;background:0 0;border:none;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.2rem;min-height:auto;padding:.25rem;transition:color .3s,transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.tabbar.bottom-nav button span{letter-spacing:.02em;font-size:.72rem;font-weight:500}.tabbar.bottom-nav button.active{color:var(--gold-deep);background:linear-gradient(#d4af3729,#d4af370a)}.tabbar.bottom-nav button.active:before{content:"";background:linear-gradient(90deg, var(--gold), var(--gold-light), var(--gold));border-radius:0 0 999px 999px;width:28px;height:3px;position:absolute;top:-.5rem;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #d4af3780}.tabbar.bottom-nav button.active svg{filter:drop-shadow(0 4px 8px #d4af3766);transform:translateY(-2px)}.tabbar.bottom-nav button.active span{color:var(--gold-deep);font-weight:800}.tabbar.bottom-nav button.prominent-tab{flex:none;gap:.4rem;padding:0;position:relative;top:-15px}.prominent-icon-wrapper{background:linear-gradient(135deg, var(--gold), var(--gold-deep));color:#fff;border:4px solid #fff;border-radius:50%;place-items:center;width:56px;height:56px;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s;display:grid;box-shadow:0 8px 24px #d4af3766}.tabbar.bottom-nav button.prominent-tab.active .prominent-icon-wrapper{transform:translateY(-4px)scale(1.05);box-shadow:0 12px 28px #d4af3780}.tabbar.bottom-nav button.prominent-tab.active{color:var(--gold-deep)}.tabbar.bottom-nav button.prominent-tab span{font-weight:700}.tabbar:not(.bottom-nav) button{place-items:center;gap:.25rem;min-height:62px;font-size:.78rem;display:grid}.tabbar:not(.bottom-nav) button.active,.admin-tabs button.active,.branch-switch button.active,.rating-picker button.active{color:#fff;border-color:var(--gold);background:var(--gold-deep)}.section-title{color:var(--gold-light);align-items:center;gap:.55rem;display:flex}.section-title svg{color:var(--gold)}.muted-title{color:var(--muted);margin-top:.4rem}.two-col{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.booking-summary{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.booking-summary span{border:1px solid var(--line-soft);border-radius:8px;align-items:center;gap:.45rem;padding:.8rem;display:flex}.appointment-row{border:1px solid var(--line-soft);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:.9rem;padding:1rem;display:flex;box-shadow:0 4px 12px #00000008}.appointment-row strong{color:var(--cream);display:block}.appointment-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.cancel-appointment-button{min-height:30px;color:var(--danger);white-space:nowrap;background:#e04a4a14;border:1px solid #e04a4a3d;border-radius:999px;justify-content:center;align-items:center;gap:.28rem;padding:.2rem .65rem;font-size:.76rem;font-weight:800;display:inline-flex}.cancel-appointment-button:disabled{cursor:wait;opacity:.62}.muted-row{opacity:.72}.profile-history{border-top:1px solid #00000014;gap:.65rem;margin-top:.5rem;padding-top:1rem;display:grid}.profile-history .section-title{color:var(--cream)}.profile-history .section-title svg{color:var(--gold-deep)}.profile-form{gap:.9rem;display:grid}.empty-inline{text-align:center;padding:1rem}.status{white-space:nowrap;border-radius:999px;place-items:center;min-width:88px;min-height:30px;padding:.2rem .65rem;font-size:.78rem;font-weight:800;display:inline-grid}.status-booked,.status-pending{color:#1e1606;background:var(--gold)}.status-confirmed,.status-approved,.status-completed{color:#04180c;background:var(--success)}.status-cancelled,.status-hidden,.status-no_show{color:#2a0707;background:var(--danger)}.rating-picker{border:1px solid var(--line-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem;display:flex}.rating-picker div{gap:.35rem;display:flex}.rating-picker button{width:34px;height:34px}.admin-page{grid-template-columns:76px 1fr;display:grid}.login-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.login-panel{border:1px solid var(--line);background:var(--panel);width:min(100%,430px);box-shadow:var(--shadow);border-radius:12px;gap:1.2rem;padding:1.4rem;display:grid}.login-panel h1,.login-panel p{margin:0}.login-panel p{color:var(--muted)}.login-panel form{gap:.9rem;display:grid}.admin-sidebar{border-right:1px solid var(--line-soft);background:var(--panel);z-index:1000;white-space:nowrap;align-content:start;align-self:start;gap:1.1rem;width:76px;height:100vh;padding:1rem;transition:width .3s;display:grid;position:sticky;top:0;left:0;overflow-x:hidden}.admin-sidebar:hover,.admin-sidebar.open{width:280px}.branch-switch,.admin-tabs{gap:.45rem;display:grid}.admin-sidebar button{border-radius:12px;justify-content:flex-start;align-items:center;gap:.75rem;width:100%;height:44px;padding:0 13px;transition:all .2s;display:flex;overflow:hidden}.admin-sidebar:not(:hover):not(.open) button{justify-content:center;gap:0;width:44px;padding:0}.nav-label{white-space:nowrap;opacity:0;pointer-events:none;justify-content:space-between;align-items:center;width:0;transition:opacity .2s,width .3s;display:flex;overflow:hidden}.brand{align-items:center;gap:.75rem;padding-left:.2rem;display:flex}.admin-sidebar .brand div{opacity:0;pointer-events:none;white-space:nowrap;width:0;transition:opacity .2s,width .3s;overflow:hidden}.admin-sidebar:hover .nav-label,.admin-sidebar.open .nav-label,.admin-sidebar:hover .brand div,.admin-sidebar.open .brand div{opacity:1;pointer-events:auto;width:100%;transition-delay:.1s}.branch-switch .nav-label span{color:inherit;opacity:.72;font-size:.78rem}.admin-main{align-content:start;gap:1rem;width:min(1600px,100% - 32px);margin-inline:auto;padding:1.2rem 0 3rem;display:grid}.admin-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.header-brand-group{align-items:center;gap:1rem;display:flex}.admin-header span{color:var(--gold);font-weight:800}.admin-header h1{color:var(--cream);font-size:2rem}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-grid article{padding:1rem}.stat-grid span{color:var(--muted)}.stat-grid strong{color:var(--gold-deep);font-size:2rem;display:block}.admin-section{border:1px solid var(--line-soft);background:var(--panel);border-radius:10px;padding:1rem}.table-shell{overflow-x:auto}.two-panel-admin{grid-template-columns:1.35fr .65fr;gap:1rem;display:grid}.search-field{margin:.9rem 0}.customer-list,.catalog-list,.review-admin-list{gap:.65rem;display:grid}.customer-list article,.catalog-list article,.review-admin-list article{border:1px solid var(--line-soft);background:var(--panel);border-radius:8px;justify-content:space-between;align-items:center;gap:.8rem;padding:.8rem;display:flex;box-shadow:0 2px 8px #00000005}.plain-customer{min-width:0;color:var(--cream);text-align:left;background:0 0;border:0;gap:.12rem;padding:0;display:grid}.plain-customer span,.catalog-list span,.review-admin-list small{color:var(--muted)}.customer-list article>div{align-items:center;gap:.6rem;display:flex}.history-toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.history-toolbar h3{color:var(--cream);margin:0;font-size:1.05rem}.history-toolbar span{color:var(--muted);font-size:.86rem}.history-toolbar .gold-button{width:auto;min-width:150px}.service-history-form{background:#d4af370f;border:1px solid #d4af3738;border-radius:8px;gap:.8rem;padding:1rem;display:grid}.history-form-actions{grid-template-columns:.42fr 1fr;gap:.65rem;display:grid}.side-form{border:1px solid var(--line-soft);background:var(--panel);border-radius:8px;align-content:start;padding:1rem;box-shadow:0 2px 8px #00000005}.inline-check{align-items:center;gap:.55rem;display:inline-flex}.inline-check input{width:auto;min-height:auto}.booking-settings-form,.booking-settings-actions,.booking-hours-grid,.closed-date-panel,.closed-date-list,.notification-settings-form,.notification-card-list{gap:1rem;display:grid}.notification-overview{background:linear-gradient(135deg,#d4af3714,#4287f50f);border:1px solid #d4af373d;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.notification-overview>div:first-child{gap:.15rem;display:grid}.notification-overview span,.notification-card small,.notification-meta-grid span{color:var(--muted);font-size:.84rem}.notification-overview strong{color:var(--gold-deep);font-size:2rem;line-height:1}.notification-overview small,.notification-card p{color:var(--muted)}.notification-bulk-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.notification-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-card{border:1px solid var(--line-soft);background:var(--panel);border-radius:8px;gap:.85rem;min-width:0;padding:1rem;display:grid;box-shadow:0 2px 8px #00000005}.notification-card.enabled{background:linear-gradient(#d4af370e,#fffffff0);border-color:#d4af3757}.notification-card-header,.notification-title,.notification-meta-grid{align-items:center;gap:.75rem;display:flex}.notification-card-header{justify-content:space-between}.notification-title{min-width:0}.notification-title h3{color:var(--cream);margin:0;font-size:1.02rem;line-height:1.28}.notification-icon{width:40px;height:40px;color:var(--gold-deep);background:#d4af3714;border:1px solid #d4af3747;border-radius:8px;flex:none;place-items:center;display:grid}.notification-toggle{flex:none}.notification-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.notification-meta-grid div{border:1px solid var(--line-soft);background:var(--panel-strong);border-radius:8px;gap:.25rem;min-width:0;padding:.75rem;display:grid}.notification-meta-grid strong{color:var(--cream);font-size:.92rem;line-height:1.35}.notification-card p{margin:0;line-height:1.45}.notification-status{color:var(--danger);background:#e04a4a14;border:1px solid #e04a4a42;border-radius:999px;justify-self:start;padding:.28rem .65rem;font-size:.82rem;font-weight:800}.notification-status.on{color:var(--success);background:#2e9f6514;border-color:#2e9f6542}.bh-two-col{grid-template-columns:1fr 360px;align-items:start;gap:1.5rem;display:grid}.cd-panel{border:1px solid var(--line-soft);background:var(--surface);border-radius:14px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.cd-month-nav{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.cd-month-label{text-align:center;flex:1;font-size:.95rem;font-weight:600}.cd-nav-btn{border:1px solid var(--line-soft);background:var(--bg);width:32px;height:32px;color:var(--text-soft);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.cd-nav-btn:hover{border-color:var(--gold);color:var(--gold)}.cd-calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cd-weekday-header{color:var(--text-soft);text-align:center;padding:.3rem 0;font-size:.75rem;font-weight:600}.cd-day-empty{aspect-ratio:1}.cd-day{aspect-ratio:1;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:100%;font-family:inherit;font-size:.85rem;transition:all .15s;display:flex}.cd-day:hover{background:var(--bg);border-color:var(--line-soft)}.cd-day-closed{color:#ff7373;background:#ef44441f;border-color:#ef444459;font-weight:700}.cd-day-closed:hover{background:#ef444433;border-color:#ef44448c}.cd-summary{background:#ef444412;border:1px solid #ef444433;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .85rem;display:flex}.cd-summary-label{color:#ff7373;font-size:.85rem;font-weight:600}.cd-clear-btn{color:var(--text-soft);border:1px solid var(--line-soft);cursor:pointer;background:0 0;border-radius:6px;padding:.25rem .6rem;font-family:inherit;font-size:.8rem;transition:all .15s}.cd-clear-btn:hover{color:#ff7373;border-color:#ef444466}.bh-days-list{flex-direction:column;gap:.5rem;display:flex}.bh-day-card{border:1px solid var(--line-soft);background:var(--surface);border-radius:12px;align-items:center;gap:1.25rem;padding:1rem 1.25rem;transition:border-color .2s,background .2s;display:flex}.bh-day-card.bh-open{background:#d4af370a;border-color:#d4af3740}.bh-day-card.bh-closed{opacity:.55}.bh-day-left{flex:0 0 260px;align-items:center;gap:.9rem;display:flex}.bh-day-name{min-width:60px;font-size:.95rem;font-weight:600}.bh-status-badge{color:var(--text-soft);background:var(--bg);border:1px solid var(--line-soft);white-space:nowrap;border-radius:999px;padding:.2rem .65rem;font-size:.8rem}.bh-open .bh-status-badge{color:#d4af37;background:#d4af3714;border-color:#d4af3759}.bh-toggle{cursor:pointer;flex-shrink:0;margin:0;display:inline-flex;position:relative}.bh-toggle input{opacity:0;width:0;height:0;margin:0;position:absolute}.bh-toggle-track{background:var(--line-soft);border-radius:999px;width:44px;height:24px;transition:background .2s;position:relative}.bh-toggle-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #00000040}.bh-toggle input:checked+.bh-toggle-track{background:linear-gradient(135deg,#e8c84a,#b8941f)}.bh-toggle input:checked+.bh-toggle-track:after{transform:translate(20px)}.bh-day-controls{flex:1;align-items:center;gap:1rem;display:flex}.bh-chip{border:1px solid var(--line-soft);background:var(--bg);color:var(--text-soft);cursor:pointer;border-radius:999px;flex-shrink:0;padding:.35rem .85rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:all .15s}.bh-chip:hover{border-color:var(--gold);color:var(--gold)}.bh-chip-active{border-color:var(--gold);color:#d4af37;background:linear-gradient(135deg,#ffe46a22,#d4af3722)}.bh-time-range{align-items:center;gap:.5rem;display:flex}.bh-time-sep{color:var(--text-soft);font-size:.9rem}.bh-time-field{color:var(--text-soft);align-items:center;gap:.4rem;font-size:.82rem;display:flex}.bh-time-field input[type=time]{border:1px solid var(--line-soft);background:var(--bg);width:110px;color:var(--text);text-align:center;border-radius:8px;padding:.4rem .6rem;font-family:inherit;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.bh-time-field input[type=time]:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #d4af3726}.bh-time-field input[type=time]:disabled{opacity:.4;cursor:not-allowed}.booking-hours-row{border:1px solid var(--line-soft);background:var(--surface);border-radius:12px;flex-wrap:wrap;align-items:center;gap:1.25rem;padding:1.25rem;transition:border-color .2s,box-shadow .2s;display:flex}.booking-hours-row:hover{border-color:var(--gold-light);box-shadow:0 4px 12px #d4af370d}.booking-hours-row .inline-check{flex:0 0 140px;margin-bottom:0}.booking-hours-row .inline-check strong{font-size:1.05rem;font-weight:600}.booking-hours-row>button{flex:none;margin-left:auto;padding:.45rem 1rem}.booking-hours-row label:not(.inline-check){color:var(--text-soft);flex-direction:row;flex:none;align-items:center;gap:.6rem;margin-bottom:0;font-size:.9rem;display:flex}.booking-hours-row input[type=time]{border:1px solid var(--line-soft);background:var(--bg);width:120px;color:var(--text);text-align:center;border-radius:8px;padding:.5rem .75rem;font-family:inherit;font-size:.95rem;transition:all .2s}.booking-hours-row input[type=time]:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #d4af3726}.booking-hours-row input[type=time]:disabled{opacity:.5;background:var(--surface);cursor:not-allowed}.ghost-button.active-soft{border-color:var(--gold);color:#181007;background:linear-gradient(180deg, #ffe4a8, var(--gold));font-weight:900}.closed-date-add{align-items:center;gap:.65rem;display:flex}.closed-date-add input{max-width:220px}.closed-date-list{flex-wrap:wrap;display:flex}.closed-date-list span{color:#ffd0d0;background:#ff52521f;border:1px solid #ff737359;border-radius:999px;align-items:center;gap:.4rem;padding:.38rem .5rem .38rem .7rem;display:inline-flex}.closed-date-list button{color:#ff7373;background:#0003;border:0;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:inline-flex}.catalog-grid{grid-template-columns:.82fr 1fr .82fr;gap:1rem;display:grid}.mini-list{flex-wrap:wrap;gap:.45rem;display:flex}.mini-list span{border:1px solid var(--line-soft);border-radius:999px;align-items:center;gap:.3rem;padding:.35rem .55rem;display:inline-flex}.mini-list button,.row-actions button{border:1px solid var(--line-soft);color:var(--cream);background:0 0}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.row-actions button{border-radius:8px;min-height:34px;padding:.3rem .65rem}.rich-menu-section{gap:1rem;display:grid}.rich-menu-toolbar,.rich-menu-meta,.rich-menu-actions{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.segmented-control{border:1px solid var(--line-soft);background:#ffffff09;border-radius:8px;grid-auto-flow:column;gap:.35rem;padding:.25rem;display:inline-grid}.segmented-control button{min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:.45rem .8rem}.segmented-control button.active{color:#130d05;background:var(--gold);font-weight:900}.rich-menu-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1rem;display:grid}.rich-menu-workspace,.rich-menu-panel{gap:.9rem;display:grid}.rich-menu-meta{align-items:end}.rich-menu-meta label{flex:1}.upload-box{border:1px dashed var(--line);min-height:54px;color:var(--gold-light);cursor:pointer;background:#ffffff09;border-radius:8px;justify-content:center;align-items:center;gap:.6rem;display:flex}.rich-menu-canvas{border:1px solid var(--line);touch-action:none;-webkit-user-select:none;user-select:none;background-color:#080705;background-image:linear-gradient(45deg,#ffffff0e 25%,#0000 25%),linear-gradient(-45deg,#ffffff0e 25%,#0000 25%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:8px;width:100%;max-height:72vh;position:relative;overflow:hidden}.rich-menu-canvas img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.rich-menu-placeholder{width:100%;height:100%;color:var(--muted);place-items:center;min-height:240px;display:grid}.rich-menu-area{color:#130d05;background:#e8ba5b57;border:2px solid #ffe2a2eb;border-radius:4px;place-items:center;min-width:0;min-height:0;font-weight:900;display:grid;position:absolute}.rich-menu-area.active{box-shadow:inset 0 0 0 2px #00000073, 0 0 0 2px var(--gold);border-color:#fff}.rich-menu-area.draft{opacity:.72;border-style:dashed}.rich-menu-panel{border:1px solid var(--line-soft);background:#ffffff09;border-radius:8px;padding:1rem}.bounds-grid{grid-template-columns:repeat(4,1fr);gap:.45rem;display:grid}.bounds-grid input{padding-inline:.55rem}.danger-button{min-height:44px;color:var(--danger);background:#e04a4a14;border:1px solid #e04a4a57;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;padding:.75rem 1rem;font-weight:700;display:inline-flex}.helper-text{color:var(--muted);font-size:.82rem}.review-admin-list article{align-items:flex-start}.review-admin-list p{color:#f1e2c7;max-width:720px;margin:.4rem 0}.portfolio-admin-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:1rem;display:grid}.portfolio-admin-card{border:1px solid var(--line-soft);background:var(--panel);border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000000a}.portfolio-admin-card.inactive{opacity:.68}.portfolio-admin-card img{aspect-ratio:4/3;object-fit:cover;background:var(--panel-strong);width:100%}.portfolio-admin-card>div{padding:.9rem}.portfolio-admin-card h3{color:var(--cream);margin:.45rem 0 .2rem}.portfolio-admin-card p,.portfolio-admin-card small{color:var(--muted)}.portfolio-status{width:max-content;color:var(--muted);background:#00000014;border-radius:999px;padding:.18rem .55rem;font-size:.78rem;font-weight:700;display:inline-flex}.portfolio-status.active{color:var(--success);background:#2e9f6524}.portfolio-image-preview{min-height:220px}.portfolio-active-toggle{align-content:start}.portfolio-active-toggle input[type=checkbox]{width:20px;min-height:20px;box-shadow:none;padding:0}@media (width<=960px){.service-grid,.branch-grid,.review-grid,.stat-grid,.catalog-grid,.rich-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-band,.two-panel-admin,.rich-menu-grid,.admin-page{grid-template-columns:1fr}.admin-sidebar{z-index:1000;background:var(--panel);border-right:1px solid var(--line-soft);width:280px;height:100vh;transition:left .3s;position:fixed;top:0;left:-280px}.admin-sidebar.open{left:0}.sidebar-backdrop{z-index:999;background:#00000080;display:block;position:fixed;inset:0}}.menu-toggle,.sidebar-close-btn{color:var(--muted);background:0 0;border:none;padding:.5rem;display:none}.admin-sidebar button.sidebar-close-btn{justify-content:center;width:auto;height:auto;padding:.5rem}.sidebar-backdrop{display:none}@media (width<=960px){.menu-toggle,.sidebar-close-btn{display:block}}@media (width<=640px){.topbar{align-items:flex-start}.hero{min-height:88svh}.hero-content{min-height:calc(88svh - 88px);padding-bottom:5rem}.hero-actions,.feature-list,.service-grid,.branch-grid,.review-grid,.stat-grid,.catalog-grid,.rich-menu-meta,.two-col,.booking-summary{grid-template-columns:1fr}.rich-menu-meta,.rich-menu-toolbar{flex-direction:column;align-items:stretch}.hero-actions{display:grid}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.portfolio-card span{padding:.72rem}.content-band{padding:3rem 0}.liff-page{padding:0}.mobile-shell{min-height:100svh;padding-bottom:env(safe-area-inset-bottom);border-width:0;border-radius:0}.points-panel{grid-template-columns:1fr}.admin-main{width:min(100% - 20px,1600px)}th,td{padding:.75rem}}@media (width<=900px){.bh-two-col,.notification-card-list,.notification-meta-grid{grid-template-columns:1fr}.notification-overview{flex-direction:column;align-items:stretch}.notification-bulk-actions{justify-content:stretch}.notification-bulk-actions button{flex:1}.bh-day-card,.bh-day-controls{flex-wrap:wrap}}.appointments-tab{flex-direction:column;gap:1.5rem;display:flex}.gold-title{color:var(--brand);margin:0;padding:0;font-size:1.8rem}.appointments-top{grid-template-columns:350px 1fr;align-items:start;gap:1.5rem;display:grid}.modal-overlay{z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--panel);border:1px solid var(--line-soft);border-radius:12px;width:100%;max-width:500px;max-height:90vh;padding:2rem;position:relative;overflow-y:auto;box-shadow:0 10px 40px #00000080}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;position:absolute;top:1rem;right:1rem}.modal-close:hover{color:var(--cream)}.modal-form-grid{align-content:start;gap:1rem;display:grid}.service-image-uploader{gap:.55rem;display:grid}.service-image-preview{border:1px dashed var(--line);min-height:132px;color:var(--gold-light);background-color:#ffffff09;background-position:50%;background-size:cover;border-radius:8px;place-items:center;display:grid}@media (width<=900px){.appointments-top{grid-template-columns:1fr;grid-template-areas:"calendar""pending"}.calendar-container{grid-area:calendar}.pending-container{grid-area:pending}.booking-hours-row{flex-direction:column;align-items:stretch;gap:1rem}.booking-hours-row .inline-check{flex:auto}.closed-date-add{flex-direction:column;align-items:stretch}.closed-date-add input{max-width:none}}.appointment-list{flex-direction:column;gap:1rem;display:flex}.pagination-controls{justify-content:center;align-items:center;gap:1rem;margin-top:1rem;display:flex}.pagination-controls button{padding:.5rem 1rem}
