@font-face{font-family:Newsreader;src:url(newsreader-regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Newsreader;src:url(newsreader-medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Source Sans;src:url(source-sans-regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Source Sans;src:url(source-sans-semibold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}
:root{--forest:#344033;--forest-dark:#263126;--sage:#8e9b83;--sage-pale:#e7ebe3;--blue:#a7bdca;--blue-pale:#e8eff3;--sand:#f4f0e9;--paper:#fbfaf7;--white:#fff;--ink:#283128;--muted:#6c746c;--line:#dfe2dc;--danger:#a64343;--danger-pale:#f7e8e6;--warning:#805f2c;--shadow:0 22px 65px rgba(43,53,43,.12);--radius:26px;--radius-sm:15px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Source Sans",Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
button,a{touch-action:manipulation}
a{color:var(--forest);text-underline-offset:3px}
img{display:block;max-width:100%}
h1,h2,h3{font-family:Newsreader,Georgia,serif;font-weight:400;line-height:1.05;margin:0}
h1{font-size:clamp(2.6rem,5vw,5.2rem);letter-spacing:-.035em}
h2{font-size:clamp(2rem,3.2vw,3.3rem);letter-spacing:-.025em}
h3{font-size:1.35rem}
p{margin:0 0 1rem}
.hidden{display:none!important}
.eyebrow{margin:0 0 .7rem;color:var(--sage);font-size:.76rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.muted,.fine-print,small{color:var(--muted)}
.lead{font-size:1.1rem;color:var(--muted);max-width:58ch}
.site-header{height:92px;padding:0 clamp(22px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(52,64,51,.1);background:rgba(251,250,247,.94);position:relative;z-index:10}
.logo-link img{width:124px;height:auto}
.header-meta{display:flex;align-items:flex-end;flex-direction:column;line-height:1.25;color:var(--muted);font-size:.78rem;letter-spacing:.07em;text-transform:uppercase}
.header-meta strong{color:var(--forest);font-weight:600}
.text-link{font-size:.92rem;font-weight:600;text-decoration:none}
.booking-layout{min-height:calc(100vh - 92px);display:grid;grid-template-columns:minmax(330px,42%) minmax(0,58%)}
.booking-intro{background:var(--forest);color:var(--white);padding:clamp(50px,7vw,105px) clamp(30px,6vw,100px);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.booking-intro:after{content:"";position:absolute;width:540px;height:540px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-310px;top:-150px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 150px rgba(255,255,255,.018)}
.booking-intro .eyebrow{color:#cbd3c4}
.booking-intro h1{max-width:720px;position:relative;z-index:1}
.booking-intro>p:not(.eyebrow){color:#d8ddd5;max-width:520px;font-size:1.08rem;margin:1.5rem 0 2.5rem}
.practitioner-card{display:flex;gap:16px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.15);border-radius:22px;max-width:430px;background:rgba(255,255,255,.06);backdrop-filter:blur(8px);position:relative;z-index:1}
.practitioner-card img{width:76px;height:76px;object-fit:cover;object-position:center 20%;border-radius:16px;filter:saturate(.88)}
.practitioner-card div{display:flex;flex-direction:column}
.practitioner-card span,.practitioner-card small{color:#c7d0c2;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}
.practitioner-card strong{font-family:Newsreader,serif;font-size:1.55rem;font-weight:400}
.trust-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:42px 0 0;max-width:540px;position:relative;z-index:1}
.trust-list div{border-top:1px solid rgba(255,255,255,.18);padding-top:13px}
.trust-list dt{font-weight:600;font-size:.88rem}
.trust-list dd{margin:3px 0 0;color:#bfc7ba;font-size:.78rem;line-height:1.35}
.booking-panel{padding:clamp(34px,5vw,72px);max-width:940px;width:100%;margin:auto}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:60px;border-bottom:1px solid var(--line)}
.step{border:0;background:transparent;color:#969d96;padding:0 8px 15px;display:flex;gap:8px;align-items:center;justify-content:center;position:relative;font-size:.83rem;cursor:pointer}
.step:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent}
.step span{width:24px;height:24px;border:1px solid #b9beb9;border-radius:50%;display:grid;place-items:center;font-size:.72rem}
.step.active{color:var(--forest);font-weight:600}.step.active:after{background:var(--forest)}.step.active span{background:var(--forest);border-color:var(--forest);color:#fff}.step.done span{background:var(--sage-pale);border-color:var(--sage);color:var(--forest)}.step:disabled{cursor:default}
.section-heading{margin-bottom:32px}.section-heading h2{margin-bottom:10px}.section-heading>p:last-child{color:var(--muted);max-width:620px}
.service-list{display:grid;gap:12px}
.booking-page{background:#f6f4f1}
.booking-page .site-header{height:94px;background:#f6f4f1}
.booking-page .logo-link img{width:245px}
.booking-page .logo-white{display:none}
.booking-page .booking-layout{grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);min-height:760px;width:min(1440px,calc(100% - 72px));margin:42px auto;border:1px solid #28312826;border-radius:28px;overflow:hidden;box-shadow:0 28px 80px #34403312}
.booking-page .booking-intro{padding:56px 44px;justify-content:flex-start;background:#344033}
.booking-page .booking-intro h1{font-size:clamp(2.6rem,4vw,3.9rem)}
.booking-page .booking-panel{padding:48px 42px;background:#fbfaf8;margin:0 auto}
.booking-page .booking-intro:after{opacity:.45}
.category-list{display:grid;gap:14px}
.category-card{display:grid;grid-template-columns:62px minmax(0,1fr) 18px;align-items:center;gap:20px;padding:25px 23px;border:1px solid #28312828;border-radius:20px;text-align:left;color:#283128;cursor:pointer;transition:transform .2s,box-shadow .2s}
.category-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px #2831280c}
.category-card img{width:60px;height:65px;object-fit:contain}
.category-card strong{display:block;font-family:Newsreader,Georgia,serif;font-size:2rem;font-weight:400;line-height:1.1}
.category-card small{display:block;margin-top:9px;color:#505a50;font-size:.92rem;line-height:1.5}
.tone-physio{background:linear-gradient(125deg,#c6d6e3 0%,#e5ecf1 66%,#f7f5f0 100%);border-color:#7197b054}
.tone-yoga{background:linear-gradient(125deg,#d9e1d2 0%,#e8ecdf 65%,#f6f4f1 100%);border-color:#60745a52}
.tone-massage{background:linear-gradient(125deg,#e3d6c3 0%,#eee5d8 65%,#f6f4f1 100%);border-color:#ab927455}
.category-heading{display:flex;align-items:center;gap:20px}
.category-heading img{width:62px;height:66px;object-fit:contain}
.category-heading p{margin-bottom:8px}
.category-heading .eyebrow{color:#4e5a47}
.category-heading h2{margin-bottom:8px}
.offer-card{padding:25px;border:1px solid #28312825;border-radius:20px}
.offer-card h3{font-size:1.9rem;overflow-wrap:anywhere}
.offer-card>.eyebrow{color:#4e5a47;margin-bottom:10px}
.offer-card>p:not(.eyebrow){margin:12px 0 0;color:#505a50;line-height:1.65}
.offer-card:nth-child(even).tone-physio{background:linear-gradient(125deg,#eff2f4 0%,#f7f6f2 65%,#dce7ee 100%)}
.offer-card:nth-child(even).tone-yoga{background:linear-gradient(125deg,#f2f2eb 0%,#f8f6ef 65%,#e4ebdb 100%)}
.offer-card:nth-child(even).tone-massage{background:linear-gradient(125deg,#f6f1e9 0%,#f8f6f1 65%,#e9ddcd 100%)}
.duration-options{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.duration-button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 16px;border:1px solid #28312840;border-radius:10px;background:#ffffffa8;font-weight:600;font-size:.94rem;cursor:pointer;text-decoration:none;color:#283128}
.duration-button:hover,.duration-button.selected{color:#fff;background:#4e5a47}
.insurance-note{padding:13px 16px;margin:0 0 20px;border:1px solid #28312822;border-radius:12px;font-size:.87rem;color:#505a50;line-height:1.55}
.massage-prices{display:flex;flex-wrap:wrap;gap:9px 20px;padding:20px 0;font-size:.95rem;font-weight:600}
.course-pass-note{padding:23px;margin-top:20px;border-radius:16px;background:#f0eee7;font-size:.92rem}
.course-pass-note h3{font-size:1.7rem;margin-bottom:14px}
.planned-note{color:#687069;font-size:.84rem;border-top:1px solid #28312822;padding-top:15px}
.booking-page .site-footer nav{display:flex;flex-wrap:wrap;gap:10px 24px}
@media(max-width:1023px){.booking-page .booking-layout{display:block;width:min(840px,calc(100% - 32px));margin:24px auto}.booking-page .booking-intro{display:none}.booking-page .booking-panel{padding:38px 30px}.booking-page .steps{margin-bottom:36px}}
@media(max-width:767px){.booking-page .site-header{height:87px;background:#344033;color:#fff;padding:16px 20px}.booking-page .logo-primary{display:none}.booking-page .logo-white{display:block}.booking-page .logo-link img{width:210px}.booking-page .header-meta{display:none}.booking-page .booking-panel{padding:28px 20px}.category-card{grid-template-columns:48px minmax(0,1fr) 16px;gap:14px;padding:21px 17px}.category-card img{width:46px;height:52px}.category-card strong{font-size:1.8rem}.category-heading{gap:14px}.category-heading img{width:50px;height:56px}.offer-card{padding:22px 18px}.duration-options{flex-direction:column}.duration-button{width:100%}.booking-page .site-footer{align-items:flex-start;gap:15px}.step{font-size:.75rem;padding-left:3px;padding-right:3px;gap:5px}}
.service-card{width:100%;border:1px solid var(--line);background:var(--white);border-radius:var(--radius-sm);padding:20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:16px;align-items:center;text-align:left;color:var(--ink);cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}
.service-card:hover{border-color:var(--sage);transform:translateY(-2px);box-shadow:0 10px 30px rgba(43,53,43,.08)}
.service-card.selected{border-color:var(--forest);box-shadow:0 0 0 1px var(--forest)}
.service-type{background:var(--blue-pale);color:#526873;border-radius:999px;padding:6px 9px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.service-card:nth-child(n+5) .service-type{background:var(--sage-pale);color:#5b6854}
.service-copy{display:flex;flex-direction:column;min-width:0}.service-copy strong{font-family:Newsreader,serif;font-weight:500;font-size:1.2rem}.service-copy small{margin:3px 0 6px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.service-copy em{color:var(--sage);font-style:normal;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.service-price{font-weight:600;white-space:nowrap}.radio-mark{width:21px;height:21px;border:1px solid #aeb4ae;border-radius:50%;position:relative}.selected .radio-mark:after{content:"";position:absolute;inset:4px;background:var(--forest);border-radius:50%}
.action-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:35px;padding-top:24px;border-top:1px solid var(--line)}
.button{border:1px solid var(--forest);background:var(--forest);color:#fff;border-radius:999px;padding:13px 23px;min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;font-weight:600;cursor:pointer;transition:background .2s,transform .2s,border-color .2s}
.button:hover{background:var(--forest-dark);transform:translateY(-1px)}.button:disabled{background:#abb0aa;border-color:#abb0aa;cursor:not-allowed;transform:none}.button.secondary{background:transparent;color:var(--forest)}.button.danger{background:var(--danger);border-color:var(--danger)}.button.wide{width:100%}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.text-button{border:0;background:transparent;color:var(--forest);padding:12px 0;cursor:pointer;font-weight:600}
.date-picker{max-width:270px;margin-bottom:25px}.date-picker input{margin-top:7px}
label{display:flex;flex-direction:column;gap:7px;color:var(--forest);font-size:.9rem;font-weight:600}
input,textarea,select{width:100%;border:1px solid #cfd4ce;border-radius:12px;background:#fff;color:var(--ink);padding:12px 13px;outline:0;transition:border-color .15s,box-shadow .15s}
input:focus,textarea:focus,select:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(52,64,51,.1)}textarea{resize:vertical}
.slot-days{display:grid;gap:12px}.slot-day{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line)}.slot-day h3{font-size:1.08rem;text-transform:capitalize;padding-top:10px}.slot-times{display:flex;gap:8px;flex-wrap:wrap}.slot-button{border:1px solid #cbd1ca;background:#fff;border-radius:999px;padding:9px 14px;color:var(--forest);cursor:pointer}.slot-button:hover,.slot-button.selected{border-color:var(--forest);background:var(--forest);color:#fff}
.loading-state{min-height:180px;display:flex;flex-direction:column;gap:13px;align-items:center;justify-content:center;color:var(--muted)}.loading-state.compact{min-height:110px}.spinner{width:28px;height:28px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--forest);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.empty-state{text-align:center;border:1px dashed #c9cec8;border-radius:var(--radius-sm);padding:42px 25px}.empty-state img{width:54px;margin:0 auto 15px;opacity:.65}.empty-state h3{margin-bottom:7px}.empty-state p{color:var(--muted)}
.form-stack{display:grid;gap:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.check-label{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:11px;font-weight:400;line-height:1.45}.check-label input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--forest)}.check-label a{font-weight:600}
.review-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;padding:8px 24px}.review-card>div{display:grid;grid-template-columns:125px minmax(0,1fr);gap:18px;padding:16px 0;border-bottom:1px solid #eceeeb}.review-card>div:last-child{border-bottom:0}.review-card span{color:var(--muted)}.review-card strong{font-weight:600}.fine-print{font-size:.83rem;margin:18px 0 0}
.success-step{text-align:center;padding:30px 0}.success-step h2{margin-bottom:12px}.success-step>p:not(.eyebrow){color:var(--muted);max-width:560px;margin:0 auto 30px}.success-symbol{width:76px;margin:0 auto 18px}.success-step .review-card{text-align:left;max-width:620px;margin:0 auto 30px}.success-step>.button{min-width:180px}
.notice{border-radius:13px;padding:14px 17px;margin:0 0 22px}.notice.error{background:var(--danger-pale);color:#813939}.notice.success{background:#e7efe4;color:#41563a}.notice.warning{background:#f5eddd;color:#6c5229}.notice.neutral{background:var(--blue-pale);color:#465d69}.notice ul{margin:8px 0 0;padding-left:20px}
.site-footer{min-height:78px;background:var(--forest-dark);color:#cdd3c9;display:flex;justify-content:center;align-items:center;gap:28px;padding:20px;font-size:.8rem;letter-spacing:.04em}.site-footer a{color:#fff}
.center-shell,.install-shell{min-height:calc(100vh - 170px);display:grid;place-items:center;padding:50px 20px;background:linear-gradient(145deg,var(--sand),var(--blue-pale))}.panel{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.manage-card{width:min(720px,100%);padding:clamp(28px,5vw,55px)}.manage-card h1{font-size:clamp(2.5rem,6vw,4.4rem);margin-bottom:30px}.manage-card label{margin:22px 0 16px}.manage-card .review-card{margin-bottom:22px}
.legal-shell{width:min(840px,calc(100% - 40px));margin:70px auto 100px}.legal-shell h1{margin-bottom:30px}.legal-shell h2{font-size:1.8rem;margin:38px 0 10px}.legal-shell p{color:#505850;max-width:75ch}
.install-page{background:linear-gradient(145deg,var(--sand),var(--blue-pale));min-height:100vh}.install-shell{display:block;padding:40px 20px 80px}.brand-lockup{width:150px;margin:0 auto 28px}.install-card{width:min(800px,100%);margin:auto;padding:clamp(28px,5vw,58px)}.install-card h1{font-size:clamp(2.4rem,6vw,4.4rem);margin-bottom:18px}.install-card fieldset{border:1px solid var(--line);border-radius:15px;padding:20px;display:grid;gap:16px}.install-card legend{font-family:Newsreader,serif;font-size:1.25rem;padding:0 8px}.install-card code{background:#eef0ed;padding:2px 5px;border-radius:4px}.requirements{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.requirement{font-size:.78rem;border-radius:999px;padding:6px 10px}.requirement.ok{background:#e7efe4;color:#41563a}.requirement.bad{background:var(--danger-pale);color:#813939}
@media (max-width:1050px){.booking-layout{grid-template-columns:1fr}.booking-intro{min-height:auto;padding-top:65px;padding-bottom:65px}.booking-intro h1{font-size:clamp(3rem,8vw,5.3rem)}.booking-panel{max-width:850px}.trust-list{margin-top:30px}}
@media (max-width:680px){.site-header{height:74px;padding:0 20px}.logo-link img{width:105px}.header-meta span{display:none}.booking-intro{padding:48px 22px}.booking-intro h1{font-size:3rem}.booking-intro>p:not(.eyebrow){font-size:1rem;margin-bottom:24px}.trust-list{grid-template-columns:1fr}.trust-list div{display:grid;grid-template-columns:80px 1fr}.booking-panel{padding:35px 20px}.steps{margin-bottom:42px}.step{font-size:0;gap:0}.step span{font-size:.72rem}.section-heading{margin-bottom:25px}.service-card{grid-template-columns:auto minmax(0,1fr) auto;padding:16px;gap:11px}.service-price{grid-column:2}.radio-mark{grid-row:1/3;grid-column:3}.service-copy small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.slot-day{grid-template-columns:1fr;gap:10px}.slot-day h3{padding-top:0}.form-grid{grid-template-columns:1fr}.action-bar{align-items:stretch}.action-bar .button{flex:1}.review-card{padding:6px 16px}.review-card>div{grid-template-columns:1fr;gap:3px;padding:12px 0}.site-footer{flex-direction:column;gap:5px;text-align:center}.header-meta{font-size:.7rem}.legal-shell{margin-top:45px}.install-card fieldset{padding:16px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Administration */
.admin-page{background:#f2f3f0}
.admin-login{min-height:100vh;display:grid;place-items:center;padding:30px;background:linear-gradient(145deg,var(--sand),var(--blue-pale))}
.login-card{width:min(470px,100%);padding:45px}.login-card>img{width:130px;margin-bottom:38px}.login-card h1{font-size:3.5rem;margin-bottom:12px}.login-card>label{margin-top:18px}.login-card>.button{margin-top:25px}
.admin-shell{min-height:100vh;display:grid;grid-template-columns:245px minmax(0,1fr)}
.admin-sidebar{position:sticky;top:0;height:100vh;background:var(--forest-dark);color:#fff;padding:34px 22px;display:flex;flex-direction:column;z-index:20}.admin-sidebar>a>img{width:115px;margin:0 10px 45px}.admin-sidebar nav{display:grid;gap:6px}.admin-nav{border:0;background:transparent;color:#bfc7ba;text-align:left;padding:12px 14px;border-radius:10px;cursor:pointer;font-weight:600}.admin-nav:hover,.admin-nav.active{background:rgba(255,255,255,.09);color:#fff}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:18px 12px 0;border-top:1px solid rgba(255,255,255,.12);font-size:.85rem}.sidebar-bottom span{font-weight:600}.sidebar-bottom button,.sidebar-bottom a{border:0;background:transparent;color:#aeb8aa;text-align:left;padding:0;text-decoration:none;cursor:pointer;font-size:.8rem}.sidebar-bottom button:hover,.sidebar-bottom a:hover{color:#fff}
.admin-main{padding:42px clamp(24px,4vw,66px) 80px;min-width:0}.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.admin-topbar h1{font-size:clamp(2.7rem,5vw,4.8rem)}.icon-button{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--forest);font-size:1.3rem;cursor:pointer}.icon-button:hover{border-color:var(--forest)}
.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:16px;margin-bottom:22px}.metric-card{background:#fff;border-radius:18px;padding:23px;box-shadow:0 5px 20px rgba(43,53,43,.04);display:flex;flex-direction:column}.metric-card>span{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.metric-card>strong{font-family:Newsreader,serif;font-size:3rem;font-weight:400;line-height:1.1;margin:12px 0 2px}.metric-card>small{font-size:.78rem}
.admin-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:22px}.admin-card{background:#fff;border:1px solid #e5e7e2;border-radius:20px;padding:25px;box-shadow:0 7px 25px rgba(43,53,43,.04);margin-bottom:22px}.admin-card h2{font-size:1.9rem}.card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.accent-card{background:var(--forest);color:#fff;border:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:315px;padding:38px}.accent-card .eyebrow{color:#c3cfbd}.accent-card h2{font-size:2.5rem}.accent-card p:not(.eyebrow){color:#d3d9d0;max-width:45ch;margin:14px 0 24px}.button.secondary-light{border-color:rgba(255,255,255,.45);background:transparent}.button.secondary-light:hover{background:#fff;color:var(--forest)}
.next-booking{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #eceeeb}.next-booking:last-child{border-bottom:0}.next-booking>div:last-child{display:flex;flex-direction:column}.date-tile{width:46px;height:51px;border-radius:11px;background:var(--blue-pale);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.date-tile strong{font-family:Newsreader,serif;font-size:1.25rem}.date-tile span{font-size:.66rem;text-transform:uppercase;color:#60747f;margin-top:3px}.empty-copy{color:var(--muted);padding:18px 0}
.notification-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #eceeeb}.notification-row:last-child{border-bottom:0}.notification-row>div{display:flex;flex-direction:column}.error-copy{color:var(--danger)!important}
.toolbar{display:flex;align-items:flex-end;gap:14px;justify-content:space-between;margin-bottom:18px}.toolbar label{min-width:180px}.toolbar .search-field{flex:1;max-width:520px}.table-wrap{overflow:auto;background:#fff;border:1px solid #e2e5df;border-radius:18px}table{border-collapse:collapse;width:100%;min-width:780px}th{text-align:left;padding:13px 16px;color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;background:#f8f8f6;border-bottom:1px solid var(--line)}td{padding:15px 16px;border-bottom:1px solid #eceeeb;vertical-align:middle}tr:last-child td{border-bottom:0}td>strong,td>span,td>small{display:block}td>small{font-size:.78rem}.table-actions{display:flex;gap:6px;flex-wrap:wrap}
.mini-button{border:1px solid #ccd1ca;background:#fff;color:var(--forest);border-radius:999px;padding:6px 9px;font-size:.73rem;cursor:pointer;white-space:nowrap}.mini-button:hover{border-color:var(--forest)}.danger-text{color:var(--danger)!important}.status{display:inline-flex!important;width:max-content;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:600}.status-confirmed{background:var(--blue-pale);color:#47616e}.status-completed{background:#e5eee2;color:#435e3c}.status-cancelled{background:#eeeeec;color:#6f746e}.status-no_show{background:var(--danger-pale);color:#87403d}
.marketing-cell{display:flex;align-items:center;gap:7px}
.form-card{padding:0;margin-bottom:18px}.form-card summary{padding:20px 24px;cursor:pointer;font-family:Newsreader,serif;font-size:1.35rem}.form-pad{padding:0 24px 24px}.form-pad .button{align-self:end}.code-list{display:grid}.code-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:15px;align-items:center;padding:13px 0;border-bottom:1px solid #eceeeb}.code-row:last-child{border-bottom:0}.code-row>div{display:flex;flex-direction:column}.code-row code{background:#eef0ed;padding:6px 9px;border-radius:7px;font-size:.8rem}.credit-badge{min-width:55px;text-align:center;border-radius:999px;background:var(--blue-pale);padding:5px 8px;font-weight:600;font-size:.78rem}
.sick-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);gap:45px;background:var(--danger-pale);border:1px solid #edcfcb;border-radius:20px;padding:32px;margin-bottom:22px}.sick-card h2{font-size:2.3rem}.sick-card>div>p:last-child{color:#755a57;margin-top:12px}.sick-card form{display:grid;gap:14px}.rule-list{margin-top:22px}.rule-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eceeeb}.rule-row>div{display:flex;flex-direction:column}.rule-row:last-child{border-bottom:0}
.service-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-edit{display:flex;flex-direction:column;gap:20px;margin:0}.service-edit h2{margin:7px 0}.service-edit .button{align-self:flex-start}.service-kind{display:inline-flex;background:var(--blue-pale);color:#536a75;border-radius:999px;padding:5px 9px;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}.switch-label{display:flex;flex-direction:row;align-items:center;gap:9px}.switch-label input{width:19px;height:19px;accent-color:var(--forest)}
@media (max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.admin-columns{grid-template-columns:1fr}.service-admin-grid{grid-template-columns:1fr}.sick-card{grid-template-columns:1fr}}
@media (max-width:760px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto;padding:18px}.admin-sidebar>a>img{margin:0 auto 18px;width:105px}.admin-sidebar nav{grid-template-columns:repeat(3,1fr)}.admin-nav{text-align:center;padding:9px 4px;font-size:.75rem}.sidebar-bottom{display:none}.admin-main{padding:28px 16px 60px}.admin-topbar{margin-bottom:25px}.metric-grid{grid-template-columns:repeat(2,1fr);gap:10px}.metric-card{padding:17px}.metric-card>strong{font-size:2.4rem}.toolbar{align-items:stretch;flex-direction:column}.toolbar label,.toolbar .search-field{width:100%;max-width:none}.sick-card{padding:22px}.service-admin-grid{grid-template-columns:1fr}.code-row{grid-template-columns:1fr auto}.code-row .credit-badge{grid-column:2;grid-row:1}.code-row code{grid-column:1/3}.login-card{padding:30px}.login-card h1{font-size:3rem}}
