@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
:root{color:#22302c;font-family:var(--font-inter), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;background:#f4f7f2}*{box-sizing:border-box}html,body{min-height:100%;margin:0}html{scroll-behavior:smooth}body{background:radial-gradient(900px 600px at 15% 0,#1d6f6112 0%,#0000 70%),radial-gradient(700px 500px at 85% 100%,#315f7a0d 0%,#0000 70%),#f4f7f2}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,select:disabled{cursor:not-allowed;opacity:.58}:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #1d6f61}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 56px}.topbar{color:#4f605b;justify-content:space-between;align-items:center;gap:18px;min-height:48px;font-size:.92rem;display:flex}.topbar [data-tenant]{color:#1d2d28;align-items:center;gap:8px;font-size:1.06rem;font-weight:800;display:inline-flex}.customer-brand-link{color:inherit;align-items:center;text-decoration:none;display:inline-flex}.customer-brand-link:hover [data-tenant]{color:#1d6f61}.intro{grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:end;gap:32px;padding:36px 0 28px;display:grid}.eyebrow{color:#3f766c;letter-spacing:0;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:800}.intro h1{letter-spacing:0;max-width:760px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.35rem,6vw,4.8rem);font-weight:500;line-height:1}.intro p:not(.eyebrow){color:#53655f;max-width:700px;margin:14px 0 0;font-size:1rem;line-height:1.55}.service-summary{background:#22302c1f;border:1px solid #22302c1f;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.service-summary div{background:#ffffffb8;min-height:92px;padding:18px}.service-summary dt{color:#5d6c67;text-transform:uppercase;margin-bottom:8px;font-size:.78rem;font-weight:800}.service-summary dd{color:#1c2b26;overflow-wrap:anywhere;margin:0;font-size:1.35rem;font-weight:800}.public-hero{background:linear-gradient(90deg,#0f1f1cd1 0%,#0f1f1c8f 44%,#0f1f1c2e 100%),url(/brand/masaze-hero.jpg) 50%/cover;border-radius:8px;align-items:end;min-height:clamp(500px,68vh,680px);margin:18px 0 22px;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 90px #14201c2e}.public-hero-content{color:#fff;gap:20px;width:min(720px,100%);padding:clamp(28px,7vw,72px);display:grid}.public-hero .eyebrow{color:#bfe8d9}.public-hero h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.6rem,7vw,5.7rem);font-weight:500;line-height:.96}.public-hero h1:after{content:"";background:linear-gradient(90deg,#f4c38a,#f4c38a00);border-radius:999px;width:56px;height:2px;margin-top:18px;display:block}.public-hero p:not(.eyebrow){color:#ffffffe0;max-width:620px;margin:0;font-size:clamp(1rem,2vw,1.18rem);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.hero-actions .primary-link-button{color:#1d2d28;background:#f4c38a}.hero-actions .primary-link-button:hover{background:#f0b670;box-shadow:0 16px 36px #f0b67047}.hero-actions .secondary-link-button{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff24;border-color:#ffffff52}.hero-actions .secondary-link-button:hover{background:#ffffff38;border-color:#ffffff7a;box-shadow:0 14px 32px #0000002e}.hero-facts{background:#ffffff29;border:1px solid #ffffff2e;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;width:min(620px,100%);margin:8px 0 0;display:grid;overflow:hidden}.hero-facts div{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d221e52;min-height:78px;padding:14px}.hero-facts dt{color:#ffffffb3;text-transform:uppercase;margin-bottom:7px;font-size:.74rem;font-weight:850}.hero-facts dd{color:#fff;overflow-wrap:anywhere;margin:0;font-size:1.12rem;font-weight:850}.public-trust-strip{background:#22302c1f;border:1px solid #22302c1f;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 0 22px;display:grid;overflow:hidden;box-shadow:0 18px 56px #25342d12}.public-trust-strip div{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffd6;gap:5px;min-height:92px;padding:18px;transition:background .18s,transform .18s;display:grid}.public-trust-strip div:hover{background:#fffffff0;transform:translateY(-1px)}.public-trust-strip span{color:#60716b;text-transform:uppercase;font-size:.76rem;font-weight:850}.public-trust-strip strong{color:#1d2d28;font-size:1.02rem}.public-section-panel{gap:0;display:grid}.public-about-section{grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:stretch;gap:18px;margin:4px 0 24px;display:grid}.public-about-copy,.public-about-card{background:#ffffffd6;border:1px solid #22302c1f;border-radius:8px;box-shadow:0 18px 56px #25342d12}.public-about-copy{gap:14px;padding:clamp(22px,4vw,34px);display:grid}.public-about-copy h2,.public-practical-section h2{color:#1d2d28;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4.8vw,3.8rem);font-weight:500;line-height:1.02}.public-about-copy p{color:#53655f;max-width:760px;margin:0;font-size:1.02rem;line-height:1.62}.public-about-card{color:#fffaf3;background:linear-gradient(#1d2d281a,#1d2d2894),url(/brand/masaze-hero.jpg) 50%/cover;align-content:end;gap:12px;min-height:280px;padding:24px;display:grid}.public-about-card strong{max-width:280px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,4vw,2.6rem);font-weight:500;line-height:1.02}.public-about-card span{color:#fffaf3e0;max-width:300px;line-height:1.52}.public-info-section{gap:18px;margin:0 0 24px;display:grid}.public-section-head{grid-template-columns:minmax(0,.82fr) minmax(280px,.72fr);align-items:end;gap:28px;padding:28px 0 6px;display:grid}.public-section-head h2{color:#1d2d28;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.9rem,4.4vw,3.4rem);font-weight:500;line-height:1.02}.public-section-head p{color:#53655f;margin:0;line-height:1.6}.public-section-head.compact{grid-template-columns:minmax(0,.8fr) minmax(260px,.75fr)}.public-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.public-info-grid article{background:#fff;border:1px solid #22302c1f;border-radius:8px;gap:12px;min-height:220px;padding:22px;display:grid;box-shadow:0 18px 56px #25342d12}.public-info-grid article>span{background:#c0834d;border-radius:999px;width:42px;height:4px}.public-info-grid h3{color:#1d2d28;margin:0;font-size:1.24rem}.public-info-grid p{color:#53655f;margin:0;line-height:1.55}.public-safety-note{background:#fff7ec;border:1px solid #a06c3b33;border-radius:8px;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:18px;padding:18px 20px;display:grid}.public-safety-note strong{color:#7b4d22;font-size:1.05rem}.public-safety-note p{color:#5f5345;margin:0;line-height:1.5}.public-practical-section{gap:18px;margin:0 0 24px;display:grid}.public-practical-grid{grid-template-columns:minmax(0,1fr) minmax(280px,390px);gap:18px;display:grid}.public-health-card,.public-payment-card{background:#fff;border:1px solid #22302c1f;border-radius:8px;box-shadow:0 18px 56px #25342d12}.public-health-card{padding:24px}.public-health-card h3,.public-payment-card h3{color:#1d2d28;margin:0;font-size:1.24rem}.public-health-card p{color:#53655f;max-width:720px;margin:10px 0 0;line-height:1.56}.public-health-card ul{columns:2;color:#3f514b;gap:28px;margin:18px 0 0;padding-left:20px;line-height:1.48}.public-health-card li{break-inside:avoid;margin:0 0 8px}.public-payment-card{background:#fbf7f0;align-content:start;gap:18px;padding:22px;display:grid}.public-payment-card dl{gap:10px;margin:0;display:grid}.public-payment-card dl div{background:#ffffffb8;border:1px solid #a06c3b29;border-radius:8px;padding:13px 14px}.public-payment-card dt{color:#7b4d22;text-transform:uppercase;margin-bottom:3px;font-size:.75rem;font-weight:850}.public-payment-card dd{color:#4b5b55;margin:0;line-height:1.45}.public-booking-intro{grid-template-columns:minmax(0,.9fr) minmax(280px,.7fr);align-items:end;gap:24px;padding:30px 0 18px;display:grid}.public-booking-intro h2{color:#1d2d28;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.9rem,4.2vw,3.2rem);font-weight:500;line-height:1.04}.public-booking-intro p{color:#53655f;margin:0;line-height:1.6}.public-booking-intro>.inline-error,.public-service-grid{grid-column:1/-1}.public-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:6px;display:grid}.public-service-card{background:#fff;border:1px solid #22302c1f;border-radius:8px;gap:14px;min-height:280px;padding:18px;transition:box-shadow .2s,transform .2s,border-color .2s;display:grid;box-shadow:0 18px 56px #25342d12}.public-service-card:hover{border-color:#1d6f6133;transform:translateY(-3px);box-shadow:0 28px 80px #25342d21}.public-service-card>span{border-radius:999px;width:44px;height:5px}.public-reviews-section{gap:16px;margin:0 0 24px;display:grid}.public-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.public-review-card{background:#ffffffe0;border:1px solid #22302c1f;border-radius:8px;gap:14px;min-height:220px;padding:18px;display:grid;box-shadow:0 18px 56px #25342d12}.public-review-card div{gap:4px;display:grid}.public-review-card strong{color:#1d2d28;font-size:1.05rem}.public-review-card div span,.public-review-card>span{color:#687872;text-transform:uppercase;font-size:.78rem;font-weight:850}.public-review-card p{color:#465852;margin:0;line-height:1.58}.public-service-card h3{color:#1d2d28;margin:0 0 8px;font-size:1.14rem;line-height:1.18}.public-service-card p:not(.eyebrow){color:#60716b;margin:0;font-size:.9rem;line-height:1.45}.public-service-card dl{background:#22302c1a;border:1px solid #22302c1a;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));align-self:end;gap:1px;margin:0;display:grid;overflow:hidden}.public-service-card dl div{background:#f8fbfc;padding:10px}.public-service-card dt{color:#60716b;text-transform:uppercase;margin-bottom:4px;font-size:.7rem;font-weight:850}.public-service-card dd{color:#1d2d28;margin:0;font-size:.9rem;font-weight:850}.public-service-card .secondary-link-button{align-self:end;width:100%}.notice{border:1px solid #0000;border-radius:8px;margin:0 0 18px;padding:14px 16px;font-weight:700}.notice.success{color:#1e664d;background:#e6f5ee;border-color:#2072543d}.notice.warning{color:#7b5518;background:#fff4df;border-color:#ac762447}.notice.info{color:#315f7a;background:#eef5f8;border-color:#315f7a33}.notice.error,.inline-error{color:#8b3333;background:#faeaea;border-color:#a040403d}.public-contact-section{grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);align-items:stretch;gap:22px;margin:0 0 24px;display:grid}.public-contact-copy{background:#ffffffc7;border:1px solid #22302c1f;border-radius:8px;align-content:center;gap:10px;padding:24px;display:grid}.public-contact-copy h2{color:#1d2d28;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:500;line-height:1.04}.public-contact-copy p:last-child{color:#53655f;margin:0;line-height:1.58}.public-contact-grid{grid-template-columns:minmax(240px,.85fr) minmax(300px,1.15fr);gap:18px;min-width:0;display:grid}.contact-info-card,.map-card{background:#fff;border:1px solid #22302c1f;border-radius:8px;min-width:0;overflow:hidden;box-shadow:0 18px 56px #25342d12}.contact-info-card{align-content:space-between;gap:18px;padding:22px;display:grid}.contact-facts{gap:16px;margin:0;display:grid}.contact-facts div{border-bottom:1px solid #22302c1a;gap:5px;padding-bottom:14px;display:grid}.contact-facts div:last-child{border-bottom:0;padding-bottom:0}.contact-facts dt{color:#60716b;text-transform:uppercase;font-size:.76rem;font-weight:850}.contact-facts dd{color:#1d2d28;margin:0;font-weight:800;line-height:1.35}.contact-actions{flex-wrap:wrap;gap:10px;display:flex}.primary-link-button,.secondary-link-button{border-radius:8px;justify-content:center;align-items:center;min-height:42px;padding:0 15px;font-weight:850;transition:background .15s,box-shadow .15s,color .15s,border-color .15s,transform .1s;display:inline-flex}.primary-link-button{color:#fff;background:#1d6f61}.primary-link-button:hover{background:#166058;box-shadow:0 8px 24px #1d6f6138}.primary-link-button:active{transform:translateY(1px)}.secondary-link-button{color:#244c62;background:#eef5f8;border:1px solid #315f7a47}.secondary-link-button:hover{background:#e2edf3;border-color:#315f7a7a}.secondary-link-button:active{transform:translateY(1px)}.map-card{grid-template-rows:minmax(260px,1fr) auto;display:grid}.map-card iframe{border:0;width:100%;height:100%;min-height:260px}.map-card-footer{color:#4f605b;border-top:1px solid #22302c1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:.82rem;font-weight:800;display:flex}.map-card-footer a{color:#1d6f61}.reservation-pane{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;border:1px solid #22302c1f;border-radius:8px;box-shadow:0 22px 70px #25342d14}.booking-contact-fields label{color:#354a43;gap:8px;font-size:.86rem;font-weight:800;display:grid}.booking-contact-fields input,.booking-contact-fields select,.booking-contact-fields textarea,.booking-intake-fields select,.booking-intake-fields textarea{color:#1d2d28;background:#fff;border:1px solid #22302c29;border-radius:8px;width:100%;transition:border-color .15s,box-shadow .15s}.booking-contact-fields input:focus-visible,.booking-contact-fields select:focus-visible,.booking-contact-fields textarea:focus-visible,.booking-intake-fields select:focus-visible,.booking-intake-fields textarea:focus-visible{border-color:#1d6f61;outline:none;box-shadow:0 0 0 3px #1d6f611f}.booking-contact-fields input,.booking-contact-fields select,.booking-intake-fields select{min-height:44px;padding:0 12px}.booking-contact-fields textarea,.booking-intake-fields textarea{resize:vertical;min-height:104px;padding:12px}.primary-action{color:#fff;background:#1d6f61;border:0;border-radius:8px;justify-content:center;align-items:center;min-height:44px;font-weight:850;transition:background .15s,box-shadow .15s,transform .1s;display:inline-flex}.primary-action:not(:disabled):hover{background:#166058;box-shadow:0 8px 24px #1d6f6138}.primary-action:not(:disabled):active{transform:translateY(1px)}.price-pill span{color:#60716b;font-size:.82rem;font-weight:750}.reservation-pane{gap:24px;padding:24px;display:grid}.reservation-form{gap:24px;display:grid}.booking-calendar-workspace{grid-template-columns:minmax(220px,280px) minmax(0,1fr) minmax(260px,320px);align-items:start;gap:18px;display:grid}.booking-service-panel,.booking-calendar-panel,.booking-checkout-panel{gap:14px;min-width:0;display:grid}.booking-panel-kicker{background:#fff;border:1px solid #22302c1f;border-radius:8px;gap:5px;padding:16px;display:grid}.booking-panel-kicker span{color:#3f766c;text-transform:uppercase;font-size:.74rem;font-weight:850}.booking-panel-kicker strong{color:#1d2d28;font-size:1.02rem}.booking-panel-kicker small{color:#60716b;font-weight:750;line-height:1.35}.booking-checkout-panel{scrollbar-gutter:stable;background:#fff;border:1px solid #22302c1f;border-radius:8px;max-height:calc(100vh - 36px);padding:16px;position:sticky;top:18px;overflow:auto}.booking-checkout-head{gap:4px;display:grid}.booking-checkout-head h2{color:#1d2d28;margin:0;font-size:1.18rem}.booking-change-summary{background:#eef5f8;border:1px solid #315f7a29;border-radius:8px;gap:10px;margin:0;padding:12px;display:grid}.booking-change-summary div{gap:3px;display:grid}.booking-change-summary dt,.checkout-selected-slot span{color:#60716b;text-transform:uppercase;font-size:.76rem;font-weight:850}.booking-change-summary dd{color:#1d2d28;margin:0;font-weight:800}.booking-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.booking-progress li{color:#60716b;background:#f6f8f7;border:1px solid #22302c1a;border-radius:8px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;min-height:36px;padding:6px 8px;font-size:.76rem;font-weight:850;display:grid}.booking-progress li span{color:#3b4f49;background:#dfe7e4;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.74rem;display:inline-flex}.booking-progress li[data-state=complete]{color:#245e52;background:#eff8f4;border-color:#1d6f612e}.booking-progress li[data-state=complete] span,.booking-progress li[data-state=active] span{color:#fff;background:#1d6f61}.booking-progress li[data-state=active]{color:#244c62;background:#eef5f8;border-color:#315f7a33}.booking-checkout-panel .booking-progress{grid-template-columns:1fr}.booking-checkout-panel .booking-progress li{overflow-wrap:anywhere;min-width:0}.checkout-selected-slot{background:#eff8f4;border:1px solid #1d6f612e;border-radius:8px;gap:7px;padding:14px;display:grid}.checkout-selected-slot strong{color:#1d2d28;line-height:1.3}.booking-contact-fields{gap:12px;display:grid}.guest-contact-fields{background:#fbfdfc;border:1px solid #22302c1f;border-radius:8px;padding:14px}.guest-contact-fields p{color:#60716b;margin:0;font-size:.86rem;font-weight:650;line-height:1.45}.booking-intake-fields{border-top:1px solid #22302c1a;gap:12px;padding-top:12px;display:grid}.booking-intake-head{gap:4px;display:grid}.booking-intake-head span{color:#60716b;text-transform:uppercase;font-size:.76rem;font-weight:850}.booking-intake-head strong{color:#1d2d28;font-size:.98rem}.booking-intake-fields label{color:#354a43;gap:8px;font-size:.86rem;font-weight:800;display:grid}.booking-intake-fields textarea{min-height:78px}.consent-checklist{background:#f5fbf8;border:1px solid #1d6f6124;border-radius:8px;gap:9px;padding:12px;display:grid}.consent-checklist label{color:#354a43;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:9px;font-size:.78rem;font-weight:750;line-height:1.35}.consent-checklist input{accent-color:#1d6f61;width:16px;height:16px;margin:1px 0 0}.booking-contact-fields.compact{gap:0}.client-reservation-summary{background:#eef5f8;border:1px solid #315f7a29;border-radius:8px;gap:5px;padding:14px;display:grid}.client-reservation-summary span,.client-reservation-summary small{color:#60716b;font-size:.78rem;font-weight:850}.client-reservation-summary span{text-transform:uppercase}.client-reservation-summary strong{color:#1d2d28;font-size:1.02rem;line-height:1.25}.booking-checkout-panel .primary-action{justify-self:stretch;width:100%}.booking-submit-actions{gap:10px;display:grid}.booking-submit-actions .secondary-link{justify-content:center}.booking-service-tabs{flex-wrap:wrap;gap:8px;display:flex}.booking-service-tabs a,.booking-service-tabs button{color:#243832;background:#fff;border:1px solid #22302c24;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:0 12px;font-weight:850;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.booking-service-tabs a:not([aria-current=true]):hover,.booking-service-tabs button:not([aria-pressed=true]):hover{background:#f5f8f6;border-color:#22302c47}.booking-service-tabs a[aria-current=true],.booking-service-tabs button[aria-pressed=true]{color:#fff;background:#315f7a;border-color:#315f7a}.booking-service-list{gap:10px;display:grid}.booking-service-link{border:1px solid #22302c1f;border-left:5px solid var(--service-color,#1d6f61);background:#fff;border-radius:8px;gap:6px;min-height:92px;padding:13px;transition:border-color .15s,background .15s,box-shadow .15s;display:grid}.booking-service-link:not([aria-current=true]):hover{background:#f5fbf8;border-color:#1d6f6147;box-shadow:0 4px 16px #1d6f6114}.booking-service-link[aria-current=true]{background:#edf7f3;border-color:#1d6f616b;box-shadow:inset 0 0 0 1px #1d6f6138}.booking-service-link span,.booking-service-link small{color:#60716b;font-size:.8rem;font-weight:750}.booking-service-link strong{color:#1d2d28;overflow-wrap:anywhere;line-height:1.25}.booking-calendar-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;display:grid}.booking-calendar-head h2{color:#1d2d28;margin:0;font-size:1.35rem}.booking-calendar-stat{text-align:right;background:#eef5f8;border:1px solid #315f7a2e;border-radius:8px;gap:4px;min-width:118px;padding:11px 13px;display:grid}.booking-calendar-stat span{color:#60716b;text-transform:uppercase;font-size:.76rem;font-weight:850}.booking-calendar-stat strong{color:#315f7a;font-size:1.22rem}.public-calendar-shell{background:#fff;border:1px solid #22302c1f;border-radius:8px;min-width:0;padding:12px}.booking-calendar-hint{color:#45635b;background:#f5fbf8;border:1px solid #1d6f6124;border-radius:8px;margin:0 0 12px;padding:12px 14px;font-size:.86rem;font-weight:750;line-height:1.45}.public-calendar-shell .fc{--fc-border-color:#22302c1f;--fc-button-bg-color:#315f7a;--fc-button-border-color:#315f7a;--fc-button-active-bg-color:#1d6f61;--fc-button-active-border-color:#1d6f61;color:#22302c;font-size:.88rem}.public-calendar-shell .fc-toolbar{gap:12px;margin-bottom:14px}.public-calendar-shell .fc-toolbar-title{color:#1d2d28;font-size:1.08rem}.public-calendar-shell .fc-button{letter-spacing:0;border-radius:8px;font-weight:850}.public-calendar-shell .fc-timegrid-slot{height:1.7em}.mobile-slot-agenda{display:none}.public-calendar-shell .fc-daygrid-day.fc-day-today,.public-calendar-shell .fc-timegrid-col.fc-day-today{background:#eff8f4}.public-slot-event,.public-own-booking-event{cursor:pointer;border-radius:7px;transition:box-shadow .12s,transform .12s}.public-slot-event:hover,.public-own-booking-event:hover{z-index:3;transform:scale(1.02);box-shadow:0 8px 18px #1d6f613d}.public-slot-event.selected,.public-own-booking-event.selected{box-shadow:inset 0 0 0 2px #123b34}.public-slot-content{gap:1px;min-width:0;padding:1px 2px;display:grid;overflow:hidden}.public-slot-content span{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:750;overflow:hidden}.public-slot-content.own-booking span{color:inherit}.public-month-slot{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#1d6f61;border-radius:999px;width:100%;min-height:18px;padding:2px 5px;font-size:.72rem;font-weight:850;line-height:1.2;display:block;overflow:hidden}.public-month-booking{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#315f7a;border-radius:999px;width:100%;min-height:18px;padding:2px 5px;font-size:.72rem;font-weight:850;line-height:1.2;display:block;overflow:hidden}.checkout-selected-slot.own-booking{background:#eef5f8;border-color:#315f7a38}.checkout-selected-slot small{color:#60716b;font-size:.78rem;font-weight:800}.checkout-next-step{background:#f8fbfc;border:1px dashed #315f7a52;border-radius:8px;gap:5px;padding:14px;display:grid}.checkout-next-step strong{color:#1d2d28}.checkout-next-step span{color:#60716b;font-size:.84rem;font-weight:750;line-height:1.45}.reservation-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;display:grid}.reservation-head h2{color:#1d2d28;margin:0 0 8px;font-size:1.8rem;line-height:1.12}.reservation-head p{color:#53655f;max-width:640px;margin:0;line-height:1.6}.price-pill{text-align:right;background:#edf7f3;border:1px solid #1d6f612e;border-radius:8px;gap:4px;min-width:132px;padding:12px 14px;display:grid}.price-pill strong{color:#1d6f61;font-size:1.25rem}.policy-strip{flex-wrap:wrap;gap:8px;display:flex}.policy-strip span{color:#465b62;background:#eef2f5;border-radius:8px;padding:8px 10px;font-size:.84rem;font-weight:750}.field-quote-form{grid-template-columns:minmax(180px,260px) auto;align-items:end;gap:10px;display:grid}.field-quote-form label{color:#354a43;gap:8px;font-size:.86rem;font-weight:800;display:grid}.field-quote-form input{color:#1d2d28;background:#fff;border:1px solid #22302c29;border-radius:8px;width:100%;min-height:44px;padding:0 12px}.field-quote-form button{color:#fff;background:#315f7a;border:0;border-radius:8px;min-height:44px;padding:0 16px;font-weight:850}.quote-box{background:#1d6f612e;border:1px solid #1d6f612e;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.quote-box div{background:#eff8f4;min-height:84px;padding:14px}.quote-box span{color:#55706a;margin-bottom:8px;font-size:.8rem;font-weight:800;display:block}.quote-box strong{color:#1d6f61;font-size:1.22rem}.quote-box p{color:#8b3333;background:#faeaea;grid-column:1/-1;margin:0;padding:12px 14px;font-weight:800}.quote-box.error{background:#a040403d;border-color:#a040403d}.primary-action{justify-self:start;min-width:220px;padding:0 22px}.primary-action[aria-busy=true]{background:#315f7a;padding-right:44px;position:relative}.primary-action[aria-busy=true]:after,.secondary-action[aria-busy=true]:after{content:"";border:2px solid #ffffff70;border-top-color:#fff;border-radius:999px;width:16px;height:16px;position:absolute;right:16px}.secondary-action[aria-busy=true]{padding-right:42px;position:relative}.empty-state,.inline-error{border-radius:8px;margin:0;padding:14px;font-weight:700}.empty-state{color:#52656a;background:#eef2f5}.topnav{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:12px 18px;min-width:0;display:flex}.topnav-links,.topnav-actions{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.topnav-actions{justify-content:flex-end;margin-left:auto}.topnav a,.topnav button{color:#243832;min-height:36px;font:inherit;background:#ffffffb8;border:1px solid #22302c24;border-radius:8px;padding:8px 12px;font-weight:800;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.topnav button{cursor:pointer}.topnav a:not([aria-current]):hover,.topnav button:hover{background:#fffffff0;border-color:#22302c47}.topnav a[aria-current=true],.topnav a[aria-current=page],.topnav .topnav-primary{color:#fff;background:#1d6f61;border-color:#1d6f61}.topnav .topnav-primary:hover{background:#166058;border-color:#166058}.topnav span{color:#60716b;text-transform:uppercase;font-size:.82rem;font-weight:850}.topnav-form{margin:0;display:flex}.topnav .topnav-user{color:#3c504a;text-overflow:ellipsis;text-transform:none;white-space:nowrap;max-width:190px;overflow:hidden}.topnav-account{position:relative}.topnav-account summary{color:#243832;cursor:pointer;background:#ffffffb8;border:1px solid #22302c24;border-radius:8px;justify-content:center;align-items:center;min-height:36px;padding:8px 12px;font-weight:850;list-style:none;display:inline-flex}.topnav-account summary::-webkit-details-marker{display:none}.topnav-account summary:after{color:#60716b;content:"▾";margin-left:8px;font-size:.7rem}.topnav-account[open] summary,.topnav-account summary:hover{background:#fffffff0;border-color:#22302c47}.topnav-account>div{z-index:30;background:#fffffff5;border:1px solid #22302c24;border-radius:8px;gap:8px;min-width:230px;margin-top:8px;padding:10px;display:grid;position:absolute;right:0;box-shadow:0 20px 60px #25342d24}.topnav-account>div a,.topnav-account>div button{justify-content:flex-start;width:100%}.topnav-account .topnav-user{max-width:260px;padding:4px 2px}.topnav .topnav-logout{color:#51625d;background:0 0}.topnav .topnav-logout:hover{color:#933737;background:#b9494914;border-color:#b9494942}.public-topbar{z-index:80;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc7;border:1px solid #22302c14;border-radius:8px;min-height:42px;margin-bottom:16px;padding:8px 10px;position:relative;box-shadow:0 14px 42px #25342d0f}.public-topbar [data-tenant]{font-size:1rem}.public-topnav{gap:14px}.public-topbar .topnav-links{background:#eff6f3b8;border:1px solid #22302c14;border-radius:8px;gap:4px;padding:4px}.public-topbar .topnav-actions{align-items:stretch;gap:10px}.public-topbar .topnav a,.public-topbar .topnav button{color:#51625d;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;min-height:40px;padding:0 14px;font-size:.9rem;font-weight:800;transition:color .15s;display:inline-flex}.public-topbar .topnav a:hover,.public-topbar .topnav button:hover{color:#1d2d28;background:#ffffffc7}.public-topbar .topnav .public-section-switch[aria-current=true],.public-topbar .topnav .public-section-switch[aria-pressed=true]{color:#1d2d28;background:#fff;box-shadow:inset 0 0 0 1px #1d6f6124,0 8px 20px #25342d14}.public-topbar .topnav .topnav-primary,.public-topbar .topnav .topnav-login,.public-topbar .topnav .topnav-login[aria-current=page]{color:#fff;background:#1d6f61;border:1px solid #1d6f611f;border-radius:8px;min-height:40px;padding:0 18px;transition:background .15s,box-shadow .15s;box-shadow:0 12px 28px #1d6f612e}.public-topbar .topnav .topnav-primary:hover,.public-topbar .topnav .topnav-login:hover{background:#166058;box-shadow:0 16px 36px #1d6f6142}.public-topbar .topnav .topnav-logout{min-height:40px;padding:0 10px}.public-topbar .topnav-account summary{color:#51625d;background:0 0;border:0;border-radius:6px;height:100%;min-height:40px;padding:0 14px;font-size:.9rem}.public-topbar .topnav-account summary:hover,.public-topbar .topnav-account[open] summary{color:#1d2d28;background:#eff6f3c2}.public-topbar .topnav-account>div a,.public-topbar .topnav-account>div button{color:#243832;background:#ffffffb8;border:1px solid #22302c24;border-radius:8px;min-height:36px;padding:8px 12px}.public-topbar .topnav-account>div a:hover,.public-topbar .topnav-account>div button:hover{background:#fffffff0;border-color:#22302c47}.admin-shell{width:min(1440px,100% - 32px)}.admin-topbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;min-height:58px;padding:10px 0;display:grid}.admin-brand-link{color:#1d2d28;gap:2px;display:grid}.admin-brand-link [data-tenant]{font-size:1.06rem;font-weight:850}.admin-brand-link span:last-child{color:#60716b;text-transform:uppercase;font-size:.76rem;font-weight:850}.admin-primary-nav,.admin-topbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-primary-nav{justify-content:center}.admin-topbar-actions{justify-content:flex-end}.admin-primary-nav a,.admin-topbar-actions a{color:#243832;background:#ffffffb8;border:1px solid #22302c24;border-radius:8px;justify-content:center;align-items:center;min-height:36px;padding:8px 12px;font-size:.88rem;font-weight:850;display:inline-flex}.admin-primary-nav a[aria-current=page]{color:#fff;background:#1d6f61;border-color:#1d6f61}.admin-topbar-actions a:last-child{color:#823636;border-color:#a040402e}.admin-user-pill{color:#244c62;text-overflow:ellipsis;white-space:nowrap;background:#eef5f8;border:1px solid #315f7a29;border-radius:8px;max-width:220px;min-height:36px;padding:8px 12px;font-size:.84rem;font-weight:850;overflow:hidden}.admin-intro h1{font-size:4rem}.admin-page-head{grid-template-columns:minmax(0,1fr) minmax(320px,460px);align-items:end;gap:32px;padding:34px 0 26px;display:grid}.admin-page-head h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:3.8rem;font-weight:500;line-height:1}.admin-metrics{background:#22302c1f;border:1px solid #22302c1f;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.admin-metrics div{background:#ffffffbd;min-height:82px;padding:16px}.admin-metrics dt{color:#5d6c67;text-transform:uppercase;margin-bottom:8px;font-size:.76rem;font-weight:850}.admin-metrics dd{color:#1c2b26;margin:0;font-size:1.32rem;font-weight:850}.admin-hub{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px;display:grid}.admin-module{background:#ffffffdb;border:1px solid #22302c1f;border-radius:8px;gap:10px;min-height:164px;padding:22px;transition:box-shadow .2s,transform .2s,border-color .2s;display:grid;box-shadow:0 18px 50px #25342d12}.admin-module:hover{border-color:#1d6f612e;transform:translateY(-2px);box-shadow:0 28px 70px #25342d1f}.admin-module span{color:#3f766c;text-transform:uppercase;font-size:.78rem;font-weight:850}.admin-module strong{color:#1d2d28;font-size:1.45rem}.admin-module p{color:#60716b;margin:0;font-size:.94rem;line-height:1.45}.admin-module small{color:#60716b;align-self:end;font-weight:750}.admin-form,.panel-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffdb;border:1px solid #22302c1f;border-radius:8px;box-shadow:0 18px 50px #25342d12}.admin-form{gap:14px;padding:16px;display:grid}.panel-card{padding:16px}.settings-layout{grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:start;gap:18px;display:grid}.settings-context{gap:14px;display:grid}.settings-context ul{color:#52656a;gap:10px;margin:0;padding-left:18px;line-height:1.45;display:grid}.settings-section-divider{background:linear-gradient(90deg,#1d6f6129,#1d6f610a);height:1px;margin:6px 0}.settings-help-text{color:#60716b;margin:0;font-size:.9rem;font-weight:750;line-height:1.45}.settings-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.settings-status-grid div{background:#eef8f4;border:1px solid #1d6f6124;border-radius:8px;gap:4px;min-height:72px;padding:12px;display:grid}.settings-status-grid span{color:#60716b;text-transform:uppercase;font-size:.76rem;font-weight:850}.settings-status-grid strong{color:#1d6f61;font-size:1.05rem}.ai-workspace{grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.ai-control-panel,.ai-result-panel,.ai-result-content{gap:14px;display:grid}.ai-mode-list{gap:10px;display:grid}.ai-mode-list button{color:#243832;text-align:left;background:#fff;border:1px solid #22302c24;border-radius:8px;gap:4px;padding:12px;display:grid}.ai-mode-list button[aria-pressed=true]{background:#eef8f4;border-color:#1d6f61;box-shadow:inset 0 0 0 1px #1d6f6147}.ai-mode-list strong{font-size:.95rem}.ai-mode-list span,.ai-data-note,.ai-usage{color:#60716b;font-size:.86rem;line-height:1.45}.ai-card-list,.ai-question-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ai-card-list li{background:#fff;border:1px solid #22302c1f;border-radius:8px;gap:6px;padding:12px;display:grid}.ai-card-list strong{color:#1d2d28}.ai-card-list p{color:#53655f;margin:0;line-height:1.45}.ai-card-list span{color:#244c62;background:#eef5f8;border-radius:999px;justify-self:start;padding:4px 8px;font-size:.74rem;font-weight:850}.ai-question-list li{color:#354a43;background:#eef8f4;border-left:3px solid #1d6f61;border-radius:0 8px 8px 0;padding:10px 12px;font-weight:750}.admin-card-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.admin-card-head div{gap:4px;min-width:0;display:grid}.admin-card-head strong{color:#1d2d28;overflow-wrap:anywhere;font-size:1rem}.admin-card-head span{color:#60716b;font-size:.8rem;font-weight:750}.admin-grid{gap:12px;display:grid}.admin-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid.three{grid-template-columns:1fr 1fr 86px}.admin-form label{color:#354a43;gap:7px;font-size:.82rem;font-weight:800;display:grid}.admin-form input,.admin-form select,.admin-form textarea{color:#1d2d28;background:#fff;border:1px solid #22302c29;border-radius:8px;width:100%;transition:border-color .15s,box-shadow .15s}.admin-form input:focus-visible,.admin-form select:focus-visible,.admin-form textarea:focus-visible{border-color:#1d6f61;outline:none;box-shadow:0 0 0 3px #1d6f611f}.admin-form input,.admin-form select{min-height:40px;padding:0 11px}.admin-form input[type=color]{padding:4px}.admin-form textarea{resize:vertical;min-height:90px;padding:11px}.admin-checks{background:#f4f7f2;border:1px solid #22302c1f;border-radius:8px;flex-wrap:wrap;gap:10px 18px;min-width:0;margin:0;padding:12px;display:flex}.admin-checks legend{color:#354a43;padding:0 5px;font-size:.82rem;font-weight:850}.admin-checks label,.switch-row{color:#354a43;align-items:center;gap:8px;font-size:.84rem;font-weight:800;display:inline-flex}.admin-checks input,.switch-row input{accent-color:#1d6f61;width:16px;min-height:16px}.secondary-action{color:#fff;background:#315f7a;border:0;border-radius:8px;justify-content:center;justify-self:start;align-items:center;min-height:40px;padding:0 16px;font-weight:850;text-decoration:none;transition:background .15s,box-shadow .15s,transform .1s;display:inline-flex}.secondary-action[aria-busy=true]{background:#1d6f61}.secondary-action:not(:disabled):hover{background:#244c62;box-shadow:0 8px 22px #315f7a38}.secondary-action:not(:disabled):active,.danger-action:not(:disabled):active{transform:translateY(1px)}.service-manager,.customer-manager{gap:18px;display:grid}.admin-result-summary{color:#60716b;margin:-8px 0 0;font-size:.86rem;font-weight:800}.service-toolbar,.customer-list-toolbar,.record-list-toolbar,.planner-toolbar{background:#ffffffdb;border:1px solid #22302c1f;border-radius:8px;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:12px;padding:16px;display:grid;box-shadow:0 18px 50px #25342d12}.customer-list-toolbar{grid-template-columns:auto minmax(240px,1fr) auto auto}.record-list-toolbar{box-shadow:none;grid-template-columns:minmax(240px,1fr) auto;padding:14px}.service-filter-group,.resource-tabs,.planner-mode-tabs,.planner-legend{flex-wrap:wrap;gap:8px;display:flex}.service-filter-group button,.planner-mode-tabs button,.resource-tabs button{color:#243832;background:#fff;border:1px solid #22302c24;border-radius:8px;min-height:40px;padding:8px 12px;font-weight:850}.resource-tabs button{text-align:left;gap:2px;min-width:160px;display:grid}.service-filter-group button[aria-pressed=true],.planner-mode-tabs button[aria-pressed=true],.resource-tabs button[aria-pressed=true]{color:#fff;background:#1d6f61;border-color:#1d6f61}.resource-tabs span{opacity:.82;font-size:.78rem;font-weight:750}.service-search{color:#354a43;gap:6px;font-size:.8rem;font-weight:800;display:grid}.service-search input{color:#1d2d28;background:#fff;border:1px solid #22302c29;border-radius:8px;width:100%;min-height:40px;padding:0 11px}.customer-list-controls{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.customer-list-controls label{color:#354a43;gap:6px;font-size:.76rem;font-weight:850;display:grid}.customer-list-controls select{color:#1d2d28;background:#fff;border:1px solid #22302c29;border-radius:8px;min-width:128px;min-height:40px;padding:0 34px 0 11px;font-weight:800}.list-active-filters{color:#60716b;flex-wrap:wrap;align-items:center;gap:8px;margin-top:-6px;font-size:.82rem;font-weight:800;display:flex}.list-active-filters strong{color:#1d6f61;background:#eef7f3;border:1px solid #1d6f6124;border-radius:999px;align-items:center;min-height:30px;padding:5px 10px;font-size:.8rem;display:inline-flex}.list-active-filters button{color:#315f7a;text-underline-offset:3px;background:0 0;border:0;min-height:30px;padding:0;font-weight:850;text-decoration:underline}.service-manager-grid,.customer-manager-grid,.planner-grid{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:22px;display:grid}.customer-list-column{gap:18px;min-width:0;display:grid}.service-table,.customer-table,.calendar-panel,.planner-side{background:#ffffffdb;border:1px solid #22302c1f;border-radius:8px;gap:12px;display:grid;box-shadow:0 18px 50px #25342d12}.service-table,.customer-table,.calendar-panel{min-width:0;padding:16px}.planner-side{box-shadow:none;background:0 0;border:0;position:sticky;top:18px}.service-table-head,.service-list-button{grid-template-columns:18px minmax(0,1fr) 110px 90px 90px;align-items:center;gap:12px;display:grid}.customer-table-head,.customer-list-button{grid-template-columns:minmax(0,1fr) 124px 110px 110px;align-items:center;gap:12px;display:grid}.service-table-head{color:#60716b;text-transform:uppercase;padding:0 12px 4px 42px;font-size:.74rem;font-weight:850}.service-table-head:before{content:""}.customer-table-head{color:#60716b;text-transform:uppercase;padding:0 12px 4px;font-size:.74rem;font-weight:850}.customer-table-group,.massage-record-group{gap:10px;display:grid}.list-group-heading{color:#60716b;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding:5px 2px 0;font-size:.78rem;font-weight:850;display:flex}.list-group-heading span{color:#315f7a;background:#eef2f5;border-radius:999px;place-items:center;min-width:28px;height:28px;display:inline-grid}.service-list-button{color:#1d2d28;text-align:left;background:#fff;border:1px solid #22302c1a;border-radius:8px;width:100%;min-height:76px;padding:12px}.customer-list-button{color:#1d2d28;text-align:left;background:#fff;border:1px solid #22302c1a;border-radius:8px;width:100%;min-height:74px;padding:12px}.service-list-button[aria-current=true]{background:#edf7f3;border-color:#1d6f616b}.customer-list-button[aria-current=true]{background:#eef5f8;border-color:#315f7a6b}.service-list-button span:nth-child(2),.customer-list-button span:first-child{gap:4px;min-width:0;display:grid}.customer-booking-signal{gap:2px;min-width:0;display:grid}.customer-booking-signal small{font-size:.72rem;line-height:1.2}.service-list-button strong{overflow-wrap:anywhere}.service-list-button small,.customer-list-button small{color:#60716b;overflow-wrap:anywhere;font-weight:750}.service-color-swatch{background:var(--service-color,#1d6f61);border-radius:6px;width:18px;height:42px}.service-side-panel,.customer-side-panel{gap:14px;display:grid;position:sticky;top:18px}.service-detail-summary,.customer-status-strip,.planner-legend span{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.service-detail-summary span,.customer-status-strip span{color:#465b62;background:#eef2f5;border-radius:8px;padding:7px 9px;font-size:.8rem;font-weight:750}.massage-history{background:#ffffffe6;border:1px solid #22302c1f;border-radius:8px;gap:14px;padding:18px;display:grid;box-shadow:0 18px 50px #25342d12}.admin-help-text{color:#60716b;margin:0;font-size:.9rem;font-weight:700;line-height:1.45}.massage-record-list{gap:12px;max-height:min(760px,100vh - 220px);padding-right:2px;display:grid;overflow:auto}.massage-record-stack{gap:10px;display:grid}.massage-record-card,.massage-feedback-card,.massage-review-card{background:#f9fbfa;border:1px solid #22302c1f;border-radius:8px;gap:16px;padding:14px;display:grid}.massage-feedback-card{background:#eff8ff;border-color:#0ea5e92e}.massage-review-card{background:#f0fdf4;border-color:#22c55e33}.feedback-delivery-status{color:#52635d;font-size:.78rem;font-weight:800}.review-moderation-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.review-moderation-actions .primary-action,.review-moderation-actions .danger-action{width:auto;min-width:150px}.customer-feedback-summary{background:#ffffffbd;border:1px solid #0ea5e92e;border-radius:8px;gap:6px;padding:12px;display:grid}.customer-feedback-summary strong{color:#0c4a6e}.customer-feedback-summary p{color:#334155;margin:0;font-size:.86rem;line-height:1.45}.customer-feedback-summary span{color:#047857;font-size:.76rem;font-weight:850}.massage-record-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.massage-record-head>div{gap:3px;min-width:0;display:grid}.massage-record-head strong{color:#1d2d28;overflow-wrap:anywhere;font-size:.98rem}.massage-record-head span{color:#60716b;font-size:.78rem;font-weight:800}.massage-record-form-grid{grid-template-columns:minmax(180px,.46fr) minmax(260px,1fr);align-items:start;gap:14px;display:grid}.massage-record-field{color:#26384d;gap:9px;min-width:0;font-size:.82rem;font-weight:850;display:grid}.massage-record-field-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 12px;display:flex}.massage-record-field-head label{color:#0f172a;font-size:.84rem;font-weight:900}.massage-record-field-head span{color:#64748b;font-size:.72rem;font-weight:800}.massage-record-field input,.massage-record-field select,.massage-record-field textarea{color:#0f172a;background:#fff;border:1px solid #64748b3d;border-radius:8px;width:100%;transition:border-color .15s,box-shadow .15s}.massage-record-field input,.massage-record-field select{min-height:42px;padding:0 11px}.massage-record-field textarea{resize:vertical;min-height:104px;padding:11px}.massage-record-field input:focus-visible,.massage-record-field select:focus-visible,.massage-record-field textarea:focus-visible{border-color:var(--admin-accent);outline:none;box-shadow:0 0 0 3px #0ea5e929}.quick-note-list{flex-wrap:wrap;gap:8px;display:flex}.quick-note-list button{color:#0f172a;text-align:left;background:#fff;border:1px solid #0ea5e933;border-radius:999px;min-height:34px;padding:6px 10px;font-size:.76rem;font-weight:850}.quick-note-list button:hover,.quick-note-list button[aria-pressed=true]{border-color:var(--admin-accent);color:#0c4a6e;background:#e0f2fe}.planner-legend{color:#60716b;justify-content:flex-end;font-size:.8rem;font-weight:800}.planner-legend i{border-radius:4px;width:12px;height:12px}.legend-window{background:#dff3eb}.legend-extra{background:#e3f7ec}.legend-block{background:#fdecec}.legend-booking{background:#dbeafe}.legend-muted{background:#ecefed}.planner-board-head{grid-template-columns:minmax(0,1fr) minmax(300px,420px);align-items:end;gap:18px;display:grid}.planner-board-head h2{color:#1d2d28;margin:0;font-size:1.45rem}.planner-board-head dl{background:#22302c1a;border:1px solid #22302c1a;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.planner-board-head div{background:#f8fbfc;padding:13px}.planner-board-head dt{color:#60716b;text-transform:uppercase;margin-bottom:6px;font-size:.72rem;font-weight:850}.planner-board-head dd{color:#1d2d28;margin:0;font-weight:850}.calendar-tool-strip{background:#f8fbfc;border:1px solid #22302c1a;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.calendar-tool-strip>span{color:#60716b;text-transform:uppercase;font-size:.74rem;font-weight:850}.calendar-tool-strip>div{background:#fff;border:1px solid #315f7a2e;border-radius:8px;display:inline-flex;overflow:hidden}.calendar-tool-strip button{color:#315f7a;background:0 0;border:0;border-right:1px solid #315f7a1f;min-height:34px;padding:0 12px;font-weight:850}.calendar-tool-strip button:last-child{border-right:0}.calendar-tool-strip button[aria-pressed=true]{color:#fff;background:#315f7a}.booking-list{gap:10px;display:grid}.booking-list button{color:#1d2d28;text-align:left;background:#fff;border:1px solid #22302c1a;border-radius:8px;gap:4px;width:100%;padding:10px;display:grid}.booking-list button[aria-pressed=true]{border-color:#1d6f61;box-shadow:inset 0 0 0 1px #1d6f61}.exception-list button strong{color:#813030}.booking-list span,.booking-list small{color:#60716b;font-size:.8rem;font-weight:750}.detail-list{background:#22302c1a;border:1px solid #22302c1a;border-radius:8px;gap:1px;margin:0;display:grid;overflow:hidden}.detail-list div{background:#fff;gap:5px;padding:12px;display:grid}.detail-list dt{color:#60716b;text-transform:uppercase;font-size:.72rem;font-weight:850}.detail-list dd{color:#1d2d28;overflow-wrap:anywhere;margin:0;font-weight:800}.detail-list.compact div{padding:10px}.planner-editor,.client-form{gap:12px;display:grid}.planner-editor label:not(.switch-row),.client-form label:not(.switch-row){color:#354a43;gap:7px;font-size:.82rem;font-weight:800;display:grid}.planner-editor input:not([type=checkbox]),.planner-editor select,.planner-editor textarea,.client-form input:not([type=checkbox]){color:#1d2d28;background:#fff;border:1px solid #22302c29;border-radius:8px;width:100%;padding:0 11px}.planner-editor input:not([type=checkbox]),.planner-editor select,.client-form input:not([type=checkbox]){min-height:40px}.planner-editor textarea{resize:vertical;min-height:82px;padding:10px 11px}.slot-assignment-card{border-top:1px solid #22302c1a;margin-top:14px;padding-top:14px}.slot-assignment-card>div:first-child{background:#eef8f4;border:1px solid #1d6f6124;border-radius:8px;gap:4px;padding:12px;display:grid}.slot-assignment-card>div:first-child strong{color:#1d2d28;font-size:1rem}.planner-actions,.client-booking-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.danger-action{color:#fff;background:#a04a4a;border:0;border-radius:8px;min-height:40px;padding:0 16px;font-weight:850;transition:background .15s,box-shadow .15s,transform .1s}.danger-action:not(:disabled):hover{background:#8b3a3a;box-shadow:0 8px 22px #a04a4a38}.admin-confirm-backdrop{z-index:80;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#1826226b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.admin-confirm-dialog{background:#fff;border:1px solid #a04a4a3d;border-radius:8px;width:min(100%,430px);padding:24px;box-shadow:0 24px 70px #1826223d}.admin-confirm-dialog h3{color:#1b2d28;margin:0 0 8px;font-size:1.45rem;line-height:1.15}.admin-confirm-dialog p:not(.eyebrow){color:#5b6a65;margin:0 0 20px;font-weight:750;line-height:1.45}.secondary-link,.client-booking-actions a{color:#244c62;background:#eef5f8;border:1px solid #315f7a47;border-radius:8px;align-items:center;min-height:40px;padding:0 14px;font-weight:850;display:inline-flex}.calendar-panel .fc{--fc-border-color:#22302c1f;--fc-button-bg-color:#315f7a;--fc-button-border-color:#315f7a;--fc-button-active-bg-color:#1d6f61;--fc-button-active-border-color:#1d6f61;--fc-event-border-color:transparent;color:#22302c;font-size:.88rem}.calendar-panel.time-grid{overflow:hidden}.calendar-panel.time-grid .fc,.calendar-panel.time-grid .fc-view-harness{min-height:0}.calendar-panel.time-grid .fc-scroller{overscroll-behavior:contain;scrollbar-width:thin}.calendar-panel.time-grid .fc-scroller::-webkit-scrollbar{width:10px;height:10px}.calendar-panel.time-grid .fc-scroller::-webkit-scrollbar-thumb{background:#315f7a57 padding-box padding-box;border:3px solid #0000;border-radius:999px}.calendar-panel .fc-toolbar{gap:12px;margin-bottom:16px}.calendar-panel .fc-toolbar-title{color:#1d2d28;font-size:1.15rem}.calendar-panel .fc-button{letter-spacing:0;border-radius:8px;font-weight:850}.calendar-panel .fc-scrollgrid,.calendar-panel .fc-theme-standard td,.calendar-panel .fc-theme-standard th{border-color:#22302c1f}.calendar-panel .fc-timegrid-slot,.calendar-panel .fc-timegrid-slot-lane,.calendar-panel .fc-timegrid-slot-frame{height:var(--calendar-slot-height,1.55em);min-height:var(--calendar-slot-height,1.55em)}.calendar-panel .fc-timegrid-slot.calendar-slot-minor{border-top-color:#22302c14}.calendar-panel .fc-timegrid-slot.calendar-slot-half-hour{border-top:1px solid #315f7a47}.calendar-panel .fc-timegrid-slot.calendar-slot-hour{border-top:2px solid #315f7a6b}.calendar-panel .fc-timegrid-slot-label.calendar-slot-hour{font-weight:900}.calendar-panel .fc-daygrid-day.fc-day-today,.calendar-panel .fc-timegrid-col.fc-day-today{background:#eff8f4}.calendar-availability-event,.calendar-exception-event,.calendar-booking-event{cursor:pointer;border-radius:7px}.calendar-booking-event.occupies-availability{box-shadow:inset 0 0 0 1px #315f7a2e}.calendar-availability-event.active{color:#004c99!important;background:#e8f2ff!important;border-color:#0a84ff!important}.calendar-availability-event.inactive{color:#636366!important;background:#f2f2f7!important;border-color:#c7c7cc!important}.calendar-exception-event.extra_slot{color:#005e80!important;background:#e5f8ff!important;border-color:#32ade6!important}.calendar-exception-event.block,.calendar-exception-event.closure,.calendar-exception-event.vacation{color:#9f1d18!important;background-color:#fff2f2!important;border-color:#ff453a!important}.calendar-availability-event .fc-event-main,.calendar-exception-event .fc-event-main{color:inherit}.calendar-availability-event.selected,.calendar-exception-event.selected,.calendar-booking-event.selected{box-shadow:inset 0 0 0 2px #1d6f61}.calendar-exception-event.block,.calendar-exception-event.closure,.calendar-exception-event.vacation{background-image:repeating-linear-gradient(135deg,#ffffff47 0 6px,#0000 6px 12px)}.calendar-week-event,.calendar-day-event{gap:2px;min-width:0;padding:1px 2px;display:grid;overflow:hidden}.calendar-week-event{grid-template-columns:auto minmax(0,1fr);align-items:center}.calendar-week-event span,.calendar-day-event span,.calendar-day-event small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-month-dot{border-radius:999px;width:100%;height:8px;display:block}.calendar-month-dot.availability{background:#1d6f61}.calendar-month-dot.booking{background:#315f7a}.calendar-month-dot.exception{background:#b94a4a}.calendar-month-dot.exception.extra_slot{background:#1f8b58}.admin-shell{--admin-accent:#5856d6;--admin-accent-contrast:#fff;--admin-accent-fill:#5856d61a;--admin-accent-strong:#3634a3;--admin-border:#3c3c432e;--admin-danger:#ff3b30;--admin-danger-fill:#ff3b301f;--admin-danger-hover:#d70015;--admin-muted:#6e6e73;--admin-panel:#ffffffeb;--admin-panel-solid:#fff;--admin-panel-strong:#f2f2f7;--admin-shadow:#0000001a;--admin-text:#1d1d1f;--admin-warning:#ff9500;--admin-warning-fill:#ff95001f;--admin-warning-text:#b25000;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:100vh;color:var(--admin-text);clip-path:inset(0 -100vmax);background:radial-gradient(860px 560px at 10% 0,#5856d61a 0%,#0000 68%),radial-gradient(720px 520px at 92% 10%,#34c75914 0%,#0000 70%),linear-gradient(#f6f7fb 0%,#fff 54%,#f2f2f7 100%);box-shadow:0 0 0 100vmax #f5f5f7}@media (prefers-color-scheme:dark){.admin-shell{--admin-accent:#0a84ff;--admin-accent-contrast:#fff;--admin-accent-fill:#0a84ff2e;--admin-accent-strong:#64d2ff;--admin-border:#ebebf529;--admin-danger:#ff453a;--admin-danger-fill:#ff453a2e;--admin-danger-hover:#ff6961;--admin-muted:#98989d;--admin-panel:#1c1c1edb;--admin-panel-solid:#1c1c1e;--admin-panel-strong:#2c2c2e;--admin-shadow:#00000057;--admin-text:#f5f5f7;--admin-warning:#ffd60a;--admin-warning-fill:#ffd60a29;--admin-warning-text:#ffd60a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--admin-text);background:radial-gradient(860px 560px at 10% 0,#0a84ff33 0%,#0000 68%),radial-gradient(720px 520px at 92% 10%,#ff9f0a1f 0%,#0000 70%),linear-gradient(#000 0%,#1c1c1e 58%,#000 100%);box-shadow:0 0 0 100vmax #000}}.admin-shell .admin-topbar{z-index:30;border:1px solid var(--admin-border);background:var(--admin-panel);box-shadow:0 18px 60px var(--admin-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:10px;margin-bottom:14px;padding:12px 14px;position:sticky;top:12px}.admin-shell .admin-brand-link,.admin-shell .admin-brand-link [data-tenant]{color:var(--admin-text)}.admin-shell .admin-brand-link span:last-child{color:var(--admin-accent-strong)}.admin-shell .admin-primary-nav a,.admin-shell .admin-topbar-actions a{border-color:var(--admin-border);background:var(--admin-panel-solid);color:var(--admin-text);transition:background .15s,border-color .15s,box-shadow .15s,color .15s,transform .1s}.admin-shell .admin-primary-nav a:hover,.admin-shell .admin-topbar-actions a:hover{border-color:var(--admin-accent);background:var(--admin-accent-fill);box-shadow:0 10px 28px #5856d629}.admin-shell .admin-primary-nav a[aria-current=page]{border-color:var(--admin-accent);background:var(--admin-accent);color:var(--admin-accent-contrast);box-shadow:0 10px 28px #5856d63d}.admin-shell .admin-topbar-actions a:first-child{border-color:color-mix(in srgb, var(--admin-warning) 46%, transparent);background:var(--admin-warning-fill);color:var(--admin-warning-text)}.admin-shell .admin-topbar-actions a:last-child{background:var(--admin-danger-fill);color:var(--admin-danger);border-color:#ff3b3052}.admin-shell .admin-user-pill,.admin-login-shell .admin-topbar-actions span{border:1px solid var(--admin-border);background:var(--admin-panel-strong);max-width:240px;min-height:36px;color:var(--admin-muted);text-overflow:ellipsis;white-space:nowrap;border-radius:8px;padding:8px 12px;font-size:.84rem;font-weight:850;overflow:hidden}.admin-login-panel{grid-template-columns:minmax(0,1.1fr) minmax(360px,460px);align-items:stretch;gap:28px;min-height:clamp(520px,68vh,720px);padding:clamp(28px,5vw,72px) 0 44px;display:grid}.admin-login-copy{border:1px solid var(--admin-border);background:linear-gradient(135deg, #ffffffd6, #ffffff7a), radial-gradient(ellipse 720px 460px at 12% 8%, color-mix(in srgb, var(--admin-accent) 18%, transparent) 0%, transparent 68%), var(--admin-panel);box-shadow:0 28px 90px var(--admin-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;align-content:center;gap:22px;padding:clamp(22px,4vw,44px);display:grid}.admin-login-copy h1{max-width:760px;color:var(--admin-text);letter-spacing:0;text-shadow:none;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.2rem,8vw,6.7rem);font-weight:500;line-height:.94}.admin-login-copy p:not(.eyebrow){max-width:680px;color:var(--admin-muted);margin:0;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.55}.admin-login-points{border:1px solid var(--admin-border);background:var(--admin-border);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:18px 0 0;display:grid;overflow:hidden}.admin-login-points div{background:color-mix(in srgb, var(--admin-panel-solid) 88%, transparent);min-height:116px;padding:18px}.admin-login-points dt{color:var(--admin-text);margin:0 0 8px;font-weight:900}.admin-login-points dd{color:var(--admin-muted);margin:0;font-size:.9rem;line-height:1.42}.admin-login-card{border:1px solid var(--admin-border);background:var(--admin-panel);box-shadow:0 26px 80px var(--admin-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;align-content:center;gap:18px;padding:clamp(24px,3vw,36px);display:grid}.admin-login-card h2{color:var(--admin-text);margin:0;font-size:clamp(1.75rem,3vw,2.4rem);line-height:1.05}.admin-login-card p:not(.eyebrow):not(.notice){color:var(--admin-muted);margin:10px 0 0;line-height:1.5}.admin-login-card .primary-action{width:100%;min-height:52px;margin-top:4px;font-size:1rem}.admin-login-card .notice{margin:0}.admin-login-help{padding-top:4px;font-size:.88rem}@media (prefers-color-scheme:dark){.admin-login-copy{background:linear-gradient(135deg, #1c1c1ee0, #2c2c2e94), radial-gradient(ellipse 720px 460px at 12% 8%, color-mix(in srgb, var(--admin-accent) 26%, transparent) 0%, transparent 68%), var(--admin-panel)}}.admin-shell .eyebrow{color:var(--admin-accent-strong)}.admin-shell .admin-intro h1,.admin-shell .intro h1{color:#f8fafc;text-shadow:0 12px 36px #0000003d}.admin-shell .admin-page-head h1{color:var(--admin-text);text-shadow:none}.admin-shell .intro p:not(.eyebrow),.admin-shell .admin-page-head p:not(.eyebrow){color:var(--admin-muted)}.admin-shell .admin-metrics{border-color:var(--admin-border);background:var(--admin-border);box-shadow:0 16px 46px var(--admin-shadow)}.admin-shell .admin-metrics div{background:var(--admin-panel-solid)}.admin-shell .admin-metrics dt{color:var(--admin-muted)}.admin-shell .admin-metrics dd{color:var(--admin-text)}.admin-shell .primary-action,.admin-shell .secondary-action{background:var(--admin-accent);color:var(--admin-accent-contrast);box-shadow:none}.admin-shell .primary-action:not(:disabled):hover,.admin-shell .secondary-action:not(:disabled):hover{background:var(--admin-accent-strong);box-shadow:0 10px 26px #007aff38}.admin-shell .primary-action[aria-busy=true],.admin-shell .secondary-action[aria-busy=true]{background:var(--admin-accent-strong);color:var(--admin-accent-contrast)}.admin-shell .primary-action:disabled,.admin-shell .secondary-action:disabled,.admin-shell .danger-action:disabled{border:1px solid var(--admin-border);background:var(--admin-panel-strong);color:var(--admin-muted);box-shadow:none;cursor:not-allowed;opacity:1;transform:none}.admin-shell .admin-module,.admin-shell .admin-form,.admin-shell .panel-card,.admin-shell .service-toolbar,.admin-shell .customer-list-toolbar,.admin-shell .record-list-toolbar,.admin-shell .planner-toolbar,.admin-shell .service-table,.admin-shell .customer-table,.admin-shell .calendar-panel,.admin-shell .massage-history,.admin-login-shell .registration-form{border-color:var(--admin-border);background:var(--admin-panel);box-shadow:0 22px 70px var(--admin-shadow)}.admin-shell .service-toolbar,.admin-shell .customer-list-toolbar,.admin-shell .record-list-toolbar,.admin-shell .planner-toolbar,.admin-shell .calendar-panel,.admin-shell .planner-side{gap:16px}.admin-shell .admin-module:hover{border-color:var(--admin-accent);box-shadow:0 30px 90px var(--admin-shadow)}.admin-shell .admin-module span,.admin-shell .ai-mode-list button[aria-pressed=true] strong,.admin-shell .planner-board-head h2{color:var(--admin-accent-strong)}.admin-shell .admin-module strong,.admin-shell .admin-card-head strong,.admin-shell .service-list-button strong,.admin-shell .customer-list-button strong,.admin-shell .massage-record-head strong,.admin-shell .planner-board-head dd,.admin-login-shell .registration-form{color:var(--admin-text)}.admin-shell .admin-module p,.admin-shell .admin-module small,.admin-shell .admin-card-head span,.admin-shell .admin-result-summary,.admin-shell .admin-help-text,.admin-shell .settings-help-text,.admin-shell .service-list-button small,.admin-shell .customer-list-button small,.admin-shell .planner-legend,.admin-shell .booking-list span,.admin-shell .booking-list small{color:var(--admin-muted)}.admin-shell .admin-form label,.admin-shell .service-search,.admin-shell .customer-list-controls label,.admin-shell .planner-editor label:not(.switch-row),.admin-shell .admin-checks legend,.admin-shell .admin-checks label,.admin-shell .switch-row{color:var(--admin-text)}.admin-shell .admin-form input,.admin-shell .admin-form select,.admin-shell .admin-form textarea,.admin-shell .planner-editor input:not([type=checkbox]),.admin-shell .planner-editor select,.admin-shell .planner-editor textarea,.admin-shell .service-search input,.admin-shell .customer-list-controls select,.admin-shell .massage-record-field input,.admin-shell .massage-record-field select,.admin-shell .massage-record-field textarea{border-color:var(--admin-border);background:var(--admin-panel-solid);color:var(--admin-text)}.admin-shell .admin-form input:focus-visible,.admin-shell .admin-form select:focus-visible,.admin-shell .admin-form textarea:focus-visible,.admin-shell .planner-editor input:not([type=checkbox]):focus-visible,.admin-shell .planner-editor select:focus-visible,.admin-shell .planner-editor textarea:focus-visible,.admin-shell .service-search input:focus-visible,.admin-shell .customer-list-controls select:focus-visible,.admin-shell .massage-record-field input:focus-visible,.admin-shell .massage-record-field select:focus-visible,.admin-shell .massage-record-field textarea:focus-visible{border-color:var(--admin-accent);box-shadow:0 0 0 3px #0ea5e929}.admin-shell .admin-checks,.admin-shell .settings-status-grid div,.admin-shell .slot-assignment-card>div:first-child,.admin-shell .massage-record-card{background:var(--admin-accent-fill);border-color:#007aff2e}.admin-shell .planner-board-head dl,.admin-shell .detail-list{border-color:var(--admin-border);background:var(--admin-border)}.admin-shell .planner-board-head div,.admin-shell .detail-list div,.admin-shell .calendar-tool-strip{border-color:var(--admin-border);background:var(--admin-panel-solid)}.admin-shell .planner-board-head dt,.admin-shell .detail-list dt{color:var(--admin-muted)}.admin-shell .detail-list dd{color:var(--admin-text)}.admin-shell .settings-status-grid strong{color:var(--admin-accent-strong)}.admin-shell .ai-mode-list button,.admin-shell .ai-card-list li,.admin-shell .booking-list button,.admin-shell .service-list-button,.admin-shell .customer-list-button{border-color:var(--admin-border);background:var(--admin-panel-solid);color:var(--admin-text)}.admin-shell .ai-mode-list button[aria-pressed=true],.admin-shell .booking-list button[aria-pressed=true],.admin-shell .service-list-button[aria-current=true],.admin-shell .customer-list-button[aria-current=true],.admin-shell .service-filter-group button[aria-pressed=true],.admin-shell .planner-mode-tabs button[aria-pressed=true],.admin-shell .resource-tabs button[aria-pressed=true]{border-color:var(--admin-accent);background:var(--admin-accent-fill);color:var(--admin-accent-strong);box-shadow:inset 0 0 0 1px #007aff38}.admin-shell .list-active-filters{color:var(--admin-muted)}.admin-shell .list-active-filters strong,.admin-shell .list-group-heading span{border-color:var(--admin-border);background:var(--admin-accent-fill);color:var(--admin-accent-strong)}.admin-shell .list-active-filters button{color:var(--admin-accent-strong)}.admin-shell .list-group-heading{color:var(--admin-muted)}.admin-shell .massage-record-field,.admin-shell .massage-record-field-head label{color:var(--admin-text)}.admin-shell .massage-record-field-head span{color:var(--admin-muted)}.admin-shell .quick-note-list button{border-color:var(--admin-border);background:var(--admin-panel-solid);color:var(--admin-text)}.admin-shell .quick-note-list button:hover,.admin-shell .quick-note-list button[aria-pressed=true]{border-color:var(--admin-accent);background:var(--admin-accent-fill);color:var(--admin-accent-strong)}.admin-shell .service-filter-group button,.admin-shell .planner-mode-tabs button,.admin-shell .resource-tabs button{border-color:var(--admin-border);background:var(--admin-panel-solid);color:var(--admin-text)}.admin-shell .service-filter-group,.admin-shell .resource-tabs,.admin-shell .planner-mode-tabs,.admin-shell .planner-legend{align-items:center;gap:10px}.admin-shell .planner-toolbar{align-items:center}.admin-shell .planner-mode-tabs{justify-content:center}.admin-shell .planner-legend{justify-content:flex-end}.admin-shell .planner-editor,.admin-shell .slot-assignment-card{gap:14px}.admin-shell .planner-editor .planner-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.admin-shell .planner-editor .planner-actions .secondary-action,.admin-shell .planner-editor .planner-actions .danger-action,.admin-shell .slot-assignment-card .primary-action{justify-self:stretch}.admin-shell .danger-action{background:var(--admin-danger);color:#fff}.admin-shell .danger-action:not(:disabled):hover{background:var(--admin-danger-hover);box-shadow:0 8px 22px #ff3b3038}.admin-shell .calendar-panel .fc-toolbar-title,.admin-shell .calendar-panel .fc-col-header-cell,.admin-shell .calendar-panel .fc-timegrid-axis,.admin-shell .calendar-panel .fc-timegrid-slot-label{color:var(--admin-text)}.admin-shell .calendar-panel .fc-button{border-color:var(--admin-accent);background:var(--admin-accent);color:#fff}.admin-shell .calendar-panel .fc-button-primary:not(:disabled).fc-button-active,.admin-shell .calendar-panel .fc-button-primary:not(:disabled):active{border-color:var(--admin-accent-strong);background:var(--admin-accent-strong)}.admin-shell .calendar-panel .fc-daygrid-day.fc-day-today,.admin-shell .calendar-panel .fc-timegrid-col.fc-day-today{background:var(--admin-accent-fill)}.admin-shell .calendar-panel .fc-scrollgrid,.admin-shell .calendar-panel .fc-theme-standard td,.admin-shell .calendar-panel .fc-theme-standard th{border-color:#3c3c4329}.admin-shell .calendar-tool-strip>span{color:var(--admin-muted)}.admin-shell .calendar-tool-strip>div{background:var(--admin-panel-strong);border-color:#5856d642}.admin-shell .calendar-tool-strip button{color:var(--admin-accent-strong);border-right-color:#5856d629}.admin-shell .calendar-tool-strip button[aria-pressed=true]{background:var(--admin-accent);color:var(--admin-accent-contrast)}.admin-shell .calendar-panel .fc-timegrid-slot.calendar-slot-minor{border-top-color:#3c3c4317}.admin-shell .calendar-panel .fc-timegrid-slot.calendar-slot-half-hour{border-top-color:#3c3c4338}.admin-shell .calendar-panel .fc-timegrid-slot.calendar-slot-hour{border-top-color:#3c3c4361}.admin-shell .calendar-panel.time-grid .fc-scroller::-webkit-scrollbar-thumb{background:#3c3c4347 padding-box padding-box}.admin-shell .calendar-availability-event.active{color:#176b3a!important;background:#f0fff4!important;border-color:#34c759!important}.admin-shell .calendar-availability-event.inactive{border-color:var(--admin-border)!important;background:var(--admin-panel-strong)!important;color:var(--admin-muted)!important}.admin-shell .calendar-exception-event.extra_slot{color:#8f4b00!important;background:#fff8e8!important;border-color:#ff9500!important}.admin-shell .calendar-exception-event.block,.admin-shell .calendar-exception-event.closure,.admin-shell .calendar-exception-event.vacation{border-color:var(--admin-danger)!important;background-color:var(--admin-danger-fill)!important;color:var(--admin-danger)!important}.admin-shell .calendar-availability-event.selected,.admin-shell .calendar-exception-event.selected,.admin-shell .calendar-booking-event.selected{box-shadow:inset 0 0 0 2px var(--admin-accent)}.admin-shell .calendar-month-dot.availability{background:#34c759}.admin-shell .calendar-month-dot.booking{background:#7c3aed}.admin-shell .calendar-month-dot.exception.extra_slot{background:#ff9500}.admin-shell .legend-window{background:#dff8e7}.admin-shell .legend-extra{background:#ffe7b3}.admin-shell .legend-booking{background:#ede9fe}@media (prefers-color-scheme:dark){.admin-shell .calendar-panel .fc-scrollgrid,.admin-shell .calendar-panel .fc-theme-standard td,.admin-shell .calendar-panel .fc-theme-standard th{border-color:#ebebf524}.admin-shell .calendar-panel .fc-timegrid-slot.calendar-slot-minor{border-top-color:#ebebf517}.admin-shell .calendar-panel .fc-timegrid-slot.calendar-slot-half-hour{border-top-color:#ebebf52e}.admin-shell .calendar-panel .fc-timegrid-slot.calendar-slot-hour{border-top-color:#ebebf557}.admin-shell .calendar-availability-event.active{color:#30d158!important;background:#30d1582e!important;border-color:#30d158!important}.admin-shell .calendar-exception-event.extra_slot{color:#ffd60a!important;background:#ff9f0a2e!important;border-color:#ff9f0a!important}.admin-shell .legend-window{background:#30d1583d}.admin-shell .legend-extra{background:#ff9f0a42}}.registration-layout{grid-template-columns:minmax(260px,.8fr) minmax(0,1fr);align-items:start;gap:22px;display:grid}.registration-form{background:#ffffffdb;border:1px solid #22302c1f;border-radius:8px;gap:16px;padding:20px;display:grid;box-shadow:0 18px 50px #25342d12}.registration-benefits{color:#fff;background:#1d2d28;border:1px solid #22302c1f;border-radius:8px;gap:16px;padding:24px;display:grid;box-shadow:0 24px 70px #14201c24}.registration-benefits .eyebrow{color:#bfe8d9}.registration-benefits h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:500;line-height:1.04}.registration-benefits ul{color:#ffffffd1;gap:11px;margin:0;padding-left:18px;line-height:1.45;display:grid}.registration-benefits .secondary-link-button{color:#fff;background:#ffffff1f;border-color:#ffffff47;justify-self:start}.form-card-head{gap:5px;padding-bottom:2px;display:grid}.form-card-head span{color:#3f766c;text-transform:uppercase;font-size:.74rem;font-weight:850}.form-card-head strong{color:#1d2d28;font-size:1.28rem}.form-card-head p,.form-footnote{color:#60716b;margin:0;line-height:1.45}.form-footnote{font-size:.86rem;font-weight:750}.form-footnote a{color:#1d6f61;font-weight:850}.registration-form label:not(.switch-row){color:#354a43;gap:7px;font-size:.84rem;font-weight:800;display:grid}.registration-form input:not([type=checkbox]){color:#1d2d28;background:#fff;border:1px solid #22302c29;border-radius:8px;width:100%;min-height:42px;padding:0 12px}.client-shell{width:min(1280px,100% - 32px)}.client-dashboard{grid-template-columns:minmax(0,1fr);align-items:start;gap:22px;display:grid}.client-service-workspace{gap:18px;margin-bottom:24px;display:grid}.client-reservation-pane{background:#ffffffeb}.client-login-layout{grid-template-columns:minmax(260px,.9fr) minmax(320px,520px);align-items:stretch;gap:22px;display:grid}.guest-booking-confirmation{background:linear-gradient(135deg,#eff8f4f5,#fffffff0),#fff;border:1px solid #1d6f612e;border-radius:8px;grid-column:1/-1;gap:14px;padding:22px;display:grid;box-shadow:0 18px 50px #25342d12}.guest-booking-confirmation h2,.guest-booking-confirmation p{max-width:760px;margin:0}.guest-booking-confirmation h2{color:#1d2d28;font-size:clamp(1.45rem,3vw,2.25rem)}.guest-booking-confirmation p{color:#51645e;font-size:1rem;line-height:1.55}.guest-booking-confirmation>div{flex-wrap:wrap;gap:10px;display:flex}.client-portal-hero h1{overflow-wrap:anywhere}.client-profile-view{justify-items:start;display:grid}.client-profile-view .client-profile-card{width:min(100%,560px);position:static}.client-access-copy{background:linear-gradient(135deg,#ffffffeb,#f0f7f4eb),#fff;border:1px solid #22302c1f;border-radius:8px;gap:18px;padding:26px;display:grid;box-shadow:0 18px 50px #25342d12}.client-access-copy h2{color:#1d2d28;max-width:620px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.9rem,4vw,3.2rem);font-weight:500;line-height:1.04}.client-benefit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.client-benefit-grid article{background:#fff;border:1px solid #22302c1a;border-radius:8px;gap:7px;min-height:132px;padding:15px;display:grid}.client-benefit-grid strong{color:#1d2d28}.client-benefit-grid span{color:#60716b;font-size:.86rem;font-weight:750;line-height:1.42}.client-login-card{align-content:start}.auth-login-grid{gap:10px;display:grid}.auth-login-button{text-align:center;justify-self:stretch;width:100%;min-width:0;padding:0 14px;text-decoration:none}.auth-provider-note{color:#38576a;background:#eef5f8;border:1px solid #315f7a29;border-radius:8px;margin:0;padding:13px 14px;font-size:.88rem;font-weight:750;line-height:1.45}.magic-link-form{border-top:1px solid #22302c1a;gap:12px;padding-top:6px;display:grid}.form-card-head.compact strong{font-size:1rem}.client-auth-links{flex-wrap:wrap;gap:10px;display:flex}.client-auth-links a{color:#244c62;background:#eef5f8;border:1px solid #315f7a33;border-radius:8px;align-items:center;min-height:38px;padding:0 12px;font-size:.84rem;font-weight:850;display:inline-flex}.client-profile-card,.client-bookings{gap:14px;display:grid}.client-profile-card{background:#ffffffdb;border:1px solid #22302c1f;border-radius:8px;padding:16px;position:sticky;top:18px;box-shadow:0 18px 50px #25342d12}.client-booking-list{gap:12px;margin-top:14px;display:grid}.client-booking-card{background:#fff;border:1px solid #22302c1a;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(240px,320px) auto;align-items:start;gap:14px;padding:14px;transition:border-color .15s,box-shadow .15s;display:grid}.client-therapist-message,.client-feedback-form{grid-column:1/-1}.client-therapist-message{background:#f1f8f5;border:1px solid #1d6f6124;border-radius:8px;gap:6px;padding:12px;display:grid}.client-therapist-message strong{color:#1d6f61;text-transform:uppercase;font-size:.8rem}.client-therapist-message p{color:#33433f;margin:0;line-height:1.5}.client-feedback-form{background:#fbf7f0;border:1px solid #1d6f611f;border-radius:8px;gap:12px;padding:14px;display:grid}.client-feedback-form label{color:#33433f;gap:7px;font-size:.84rem;font-weight:850;display:grid}.client-feedback-form select,.client-feedback-form textarea{color:#1d2d28;background:#fff;border:1px solid #22302c29;border-radius:8px;width:100%}.client-feedback-form select{min-height:42px;padding:0 11px}.client-feedback-form textarea{resize:vertical;min-height:86px;padding:11px}.client-booking-card:hover{border-color:#1d6f6138;box-shadow:0 8px 28px #25342d14}.client-booking-card h2{color:#1d2d28;margin:0 0 6px;font-size:1.08rem}.client-booking-card span{color:#60716b;font-size:.84rem;font-weight:750}.client-booking-actions{justify-content:flex-end}.client-booking-actions form{margin:0}.client-calendar-card{gap:14px;display:grid}.client-calendar-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:14px;display:grid}.client-calendar-shell{min-width:0}.client-calendar-shell .fc{--fc-border-color:#22302c1f;--fc-button-bg-color:#315f7a;--fc-button-border-color:#315f7a;--fc-button-active-bg-color:#1d6f61;--fc-button-active-border-color:#1d6f61;--fc-event-border-color:transparent;color:#22302c;font-size:.86rem}.client-calendar-shell .fc-toolbar{gap:12px;margin-bottom:14px}.client-calendar-shell .fc-toolbar-title{color:#1d2d28;font-size:1.08rem}.client-calendar-shell .fc-button{letter-spacing:0;border-radius:8px;font-weight:850}.client-calendar-shell .fc-timegrid-slot{height:1.6em}.client-mobile-booking-list{display:none}.client-calendar-shell .fc-daygrid-day.fc-day-today,.client-calendar-shell .fc-timegrid-col.fc-day-today{background:#eff8f4}.client-booking-event{cursor:pointer;border-radius:7px}.client-booking-event.selected{box-shadow:inset 0 0 0 2px #1d6f61}.client-calendar-event-content{gap:1px;min-width:0;padding:1px 2px;display:grid;overflow:hidden}.client-calendar-event-content strong,.client-calendar-event-content span,.client-calendar-event-content small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-calendar-event-content strong{font-size:.75rem}.client-calendar-event-content span,.client-calendar-event-content small{font-size:.72rem;font-weight:750}.client-calendar-month-dot{background:#1d6f61;border-radius:999px;width:100%;height:8px;display:block}.client-calendar-month-dot.held{background:#b9802b}.client-calendar-month-dot.cancelled{background:#a04a4a}.client-calendar-detail{background:#eff8f4;border:1px solid #1d6f6129;border-radius:8px;gap:8px;padding:14px;display:grid}.client-calendar-detail span,.client-calendar-detail small{color:#60716b;font-size:.78rem;font-weight:850}.client-calendar-detail span{text-transform:uppercase}.client-calendar-detail strong{color:#1d2d28;line-height:1.25}.client-calendar-detail .secondary-link{justify-self:start}.client-calendar-actions{flex-wrap:wrap;gap:8px;display:flex}.client-calendar-actions form{margin:0}@media (max-width:900px){.intro,.public-section-head,.public-section-head.compact,.public-about-section,.public-info-grid,.public-safety-note,.public-practical-grid,.public-booking-intro,.public-service-grid,.public-review-grid,.public-trust-strip,.public-contact-section,.public-contact-grid,.booking-calendar-workspace,.booking-calendar-head,.reservation-head,.admin-topbar,.admin-page-head,.admin-login-panel,.service-manager-grid,.customer-manager-grid,.settings-layout,.ai-workspace,.registration-layout,.planner-grid,.planner-board-head,.client-dashboard,.client-login-layout,.client-calendar-layout,.client-booking-card,.loading-client-workspace,.loading-admin-head{grid-template-columns:1fr}.price-pill{text-align:left}.admin-intro h1,.admin-page-head h1{font-size:3.1rem}.admin-primary-nav,.admin-topbar-actions{justify-content:flex-start}.admin-login-panel{min-height:auto}.admin-login-points{grid-template-columns:1fr}.service-side-panel,.customer-side-panel,.planner-side,.booking-checkout-panel,.client-profile-card{max-height:none;position:static;overflow:visible}.service-toolbar,.customer-list-toolbar,.record-list-toolbar,.massage-record-form-grid,.planner-toolbar,.customer-list-button,.service-list-button,.client-benefit-grid{grid-template-columns:1fr}.service-table-head{display:none}}@media (max-width:640px){.app-shell{width:min(100% - 20px,1180px);padding-top:16px}.topbar,.field-quote-form,.quote-box,.admin-grid.two,.admin-grid.three,.massage-record-form-grid,.settings-status-grid,.admin-metrics,.admin-hub,.service-toolbar,.customer-list-toolbar,.record-list-toolbar,.planner-toolbar,.booking-calendar-head,.calendar-tool-strip,.planner-board-head dl,.loading-hero-facts,.loading-trust,.loading-services,.loading-admin-metrics,.loading-admin-hub{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.customer-topbar{align-items:stretch;gap:10px}.customer-topbar [data-tenant]{font-size:1.02rem}.customer-topbar [data-tenant] svg{display:none}.customer-topnav{gap:8px;width:100%;display:grid}.customer-topnav .topnav-links,.customer-topnav .topnav-actions{width:100%}.customer-topnav .topnav-links:empty{display:none}.customer-topnav .topnav-links,.customer-topnav .topnav-actions{grid-template-columns:repeat(auto-fit,minmax(124px,1fr));display:grid}.customer-topnav a,.customer-topnav button,.customer-topnav summary{text-align:center;justify-content:center;width:100%;min-width:0}.calendar-tool-strip{justify-content:stretch}.calendar-tool-strip>div{width:100%}.calendar-tool-strip button{flex:1}.public-topbar{gap:10px}.topnav,.topnav-actions,.public-topnav{justify-content:flex-start;width:100%}.topnav-actions{margin-left:0}.topnav-account,.topnav-account summary{width:100%}.topnav-account>div{width:100%;min-width:0;position:static}.public-topnav{gap:8px}.public-topbar .topnav-links{overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:4px;width:100%;max-width:100%;display:flex;overflow-x:auto}.public-topbar .topnav-links::-webkit-scrollbar{display:none}.public-topbar .topnav-links>*{scroll-snap-align:start;white-space:nowrap;flex:none;width:auto;min-width:max-content}.public-topbar .topnav-links>:last-child{padding-right:16px}.public-topbar .topnav{width:100%}.public-topbar .topnav-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.public-topbar .topnav .topnav-login{width:100%;padding:0 14px}.intro{gap:20px;padding:24px 0 20px}.intro h1{font-size:clamp(2.1rem,13vw,3.1rem)}.client-portal-hero h1{font-size:clamp(2rem,10vw,2.7rem)}.service-summary{grid-template-columns:1fr}.public-hero{background-position:0;min-height:560px;margin-top:12px}.public-hero-content{padding:24px}.public-about-card{min-height:220px}.public-health-card,.public-payment-card{padding:18px}.public-health-card ul{columns:1}.hero-facts{grid-template-columns:1fr}.hero-actions{flex-direction:column;align-items:stretch}.public-contact-copy,.contact-info-card,.registration-benefits,.client-access-copy{padding:18px}.contact-actions{flex-direction:column;align-items:stretch}.primary-link-button,.secondary-link-button{width:100%}.reservation-pane,.admin-form{padding:16px}.booking-service-tabs{grid-template-columns:1fr;display:grid}.booking-service-list{overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:8px;max-width:100%;margin-inline:-2px;padding:0 2px 4px;display:flex;overflow-x:auto}.booking-service-list::-webkit-scrollbar{display:none}.booking-service-link{scroll-snap-align:start;flex:0 0 min(230px,78vw);min-height:78px}.booking-calendar-hint{display:none}.public-calendar-shell{padding:8px}.public-calendar-shell>.fc{display:none}.public-calendar-shell .fc-toolbar{flex-direction:column;align-items:stretch}.public-calendar-shell .fc{font-size:.76rem}.mobile-slot-agenda{background:#f5fbf8;border:1px solid #1d6f6124;border-radius:8px;gap:14px;padding:14px;display:grid}.mobile-slot-agenda-head{gap:4px;display:grid}.mobile-slot-agenda-head span,.mobile-slot-button small{color:#60716b;font-size:.76rem;font-weight:850}.mobile-slot-agenda-head span{text-transform:uppercase}.mobile-slot-agenda-head strong{color:#1d2d28;font-size:1.08rem}.mobile-slot-agenda section{gap:8px;display:grid}.mobile-slot-agenda h3{color:#3f766c;margin:0;font-size:.86rem}.mobile-slot-agenda section>div{gap:8px;display:grid}.mobile-slot-button{color:#1d2d28;text-align:left;background:#fff;border:1px solid #1d6f612e;border-radius:8px;grid-template-columns:minmax(72px,auto) minmax(0,1fr);gap:4px 10px;width:100%;padding:12px;display:grid}.mobile-slot-button span{color:#1d6f61;grid-row:span 2;font-weight:900}.mobile-slot-button strong,.mobile-slot-button small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobile-slot-button.booking span{color:#315f7a}.mobile-slot-button[aria-pressed=true]{background:#e9f7f1;border-color:#1d6f61;box-shadow:inset 0 0 0 1px #1d6f61}.client-calendar-shell .fc-toolbar{flex-direction:column;align-items:stretch}.client-calendar-shell .fc{font-size:.76rem}.client-calendar-shell .fc-toolbar-title{text-align:left;font-size:1rem}.client-calendar-shell .fc-button{min-height:34px;padding:0 8px;font-size:.78rem}.client-mobile-booking-list{background:#f5fbf8;border:1px solid #1d6f6124;border-radius:8px;gap:8px;margin-top:12px;padding:12px;display:grid}.client-mobile-booking-list>span{color:#60716b;text-transform:uppercase;font-size:.76rem;font-weight:850}.client-mobile-booking-list button{color:#1d2d28;text-align:left;background:#fff;border:1px solid #22302c1f;border-radius:8px;gap:3px;width:100%;padding:11px 12px;display:grid}.client-mobile-booking-list button[aria-pressed=true]{background:#e9f7f1;border-color:#1d6f61;box-shadow:inset 0 0 0 1px #1d6f61}.client-mobile-booking-list button strong,.client-mobile-booking-list button span,.client-mobile-booking-list button small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.client-mobile-booking-list button strong{color:#1d6f61;font-size:.86rem}.client-mobile-booking-list button span{color:#1d2d28;font-weight:850}.client-mobile-booking-list button small{color:#60716b;font-weight:750}.primary-action,.secondary-action,.danger-action,.secondary-link,.client-booking-actions a{justify-self:stretch;width:100%}.planner-actions,.client-booking-actions{flex-direction:column;align-items:stretch}.admin-shell .planner-editor .planner-actions{grid-template-columns:1fr}.admin-card-head{flex-direction:column;align-items:flex-start}.admin-primary-nav,.admin-topbar-actions{scrollbar-width:none;flex-wrap:nowrap;width:100%;overflow-x:auto}.admin-primary-nav::-webkit-scrollbar{display:none}.admin-topbar-actions::-webkit-scrollbar{display:none}.admin-primary-nav a,.admin-topbar-actions a,.admin-user-pill{white-space:nowrap;flex:none;min-height:34px;padding:7px 11px;font-size:.84rem}.admin-intro h1,.admin-page-head h1{font-size:2.35rem}.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-metrics div{padding:16px}.admin-metrics dd{font-size:1.65rem}.admin-page-head{gap:20px;padding:24px 0 20px}}@media (max-width:360px){.app-shell{width:calc(100% - 18px);padding-top:12px}.public-topbar .topnav a,.public-topbar .topnav button,.public-topbar .topnav-account summary{min-height:38px;padding:0 9px;font-size:.8rem}.public-hero{min-height:520px}.public-hero-content{gap:16px;padding:22px}.public-hero h1{font-size:clamp(2.2rem,12vw,2.8rem)}.hero-facts div{min-height:68px;padding:12px}}.loading-shell{pointer-events:none}.skeleton{background:#e4eae6;border-radius:4px;min-height:1rem;display:block}.skeleton.text{height:14px}.skeleton.text.sm{width:42%}.skeleton.text.md{width:64%}.skeleton.text.lg{width:82%}.skeleton.pill{border-radius:8px;width:118px;height:38px}.loading-topbar{justify-content:space-between;align-items:center;gap:18px;min-height:48px;margin-bottom:18px;display:flex}.loading-nav{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.loading-brand{width:172px;height:24px}.loading-hero{background:#26352f;border-radius:8px;align-items:end;min-height:clamp(500px,68vh,680px);margin:18px 0 22px;padding:clamp(28px,7vw,72px);display:grid}.loading-hero-content{gap:18px;width:min(720px,100%);display:grid}.loading-hero-title{border-radius:8px;width:min(620px,100%);height:clamp(78px,13vw,160px)}.loading-hero-facts,.loading-trust,.loading-services,.loading-admin-metrics,.loading-admin-hub{background:#22302c1f;border:1px solid #22302c1f;border-radius:8px;gap:1px;display:grid;overflow:hidden}.loading-hero-facts,.loading-trust{grid-template-columns:repeat(4,minmax(0,1fr))}.loading-hero-facts{width:min(620px,100%)}.loading-hero-facts .skeleton,.loading-trust .skeleton,.loading-admin-metrics .skeleton{border-radius:0;min-height:92px}.loading-services{background:0 0;border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.loading-services .skeleton{border-radius:8px;min-height:280px}.loading-client-workspace{grid-template-columns:minmax(220px,280px) minmax(0,1fr) minmax(260px,320px);gap:18px;margin-top:22px;display:grid}.loading-client-side,.loading-client-calendar,.loading-client-checkout,.loading-admin-head{background:#ffffffdb;border:1px solid #22302c1f;border-radius:8px;gap:12px;padding:16px;display:grid;box-shadow:0 18px 50px #25342d12}.loading-calendar-box{border-radius:8px;min-height:520px}.loading-client-checkout .skeleton{min-height:44px}.loading-client-side>.skeleton:not(.pill){border-radius:8px;min-height:92px}.loading-admin-head{box-shadow:none;background:0 0;border:0;grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:end;margin-top:22px;padding:0}.loading-admin-title{border-radius:8px;height:92px}.loading-admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.loading-admin-hub{background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.loading-admin-hub .skeleton{border-radius:8px;min-height:164px}@keyframes notice-in{0%{opacity:0;transform:translateY(-6px)}}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes progress-pulse{0%,to{box-shadow:0 0 #315f7a00}50%{box-shadow:0 0 0 4px #315f7a1f}}@keyframes slot-selected-pulse{0%,to{box-shadow:inset 0 0 0 2px #123b34,0 0 #1d6f6100}50%{box-shadow:inset 0 0 0 2px #123b34,0 0 0 4px #1d6f6129}}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@keyframes skeleton-shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@media (prefers-reduced-motion:no-preference){.notice{animation:.25s both notice-in}.public-hero-content>*{opacity:0;animation:.55s cubic-bezier(.22,1,.36,1) both hero-fade-up}.public-hero-content>:first-child{animation-delay:0s}.public-hero-content>:nth-child(2){animation-delay:80ms}.public-hero-content>:nth-child(3){animation-delay:.16s}.public-hero-content>:nth-child(4){animation-delay:.24s}.public-hero-content>:nth-child(5){animation-delay:.32s}.booking-progress li[data-state=active]{animation:2s ease-in-out infinite progress-pulse}.public-slot-event.selected,.public-own-booking-event.selected{animation:2s ease-in-out infinite slot-selected-pulse}.primary-action[aria-busy=true]:after,.secondary-action[aria-busy=true]:after{animation:.7s linear infinite spinner-rotate}.skeleton{background:linear-gradient(90deg,#0000,#ffffff73,#0000) 0 0/600px 100%,#e4eae6;animation:1.25s ease-in-out infinite skeleton-shimmer}}
