:root{color:#161719;background:#f6f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--line: rgba(20, 26, 34, .08);--soft: #ffffff;--rose: #e6758f;--rose-dark: #9a4562;--charcoal: #151719;--muted: #69717c;--shadow: 0 20px 60px rgba(18, 24, 32, .08);--panel: rgba(255, 255, 255, .84);--panel-strong: rgba(255, 255, 255, .96)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 10% 0%,rgba(230,117,143,.08),transparent 28%),linear-gradient(180deg,#fbfcfd,#f2f4f7)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{width:min(1500px,100%);margin:0 auto;padding:10px 14px 18px}.appbar,.calendar-toolbar,.booking-layout{display:flex;gap:24px;justify-content:space-between;align-items:flex-start}.appbar{position:relative;padding:6px 0 14px;z-index:20;align-items:center}.brand-mark{color:var(--charcoal);font-weight:900;font-size:1.08rem;letter-spacing:0}.eyebrow{margin:0 0 8px;color:var(--rose-dark);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{max-width:720px;margin-bottom:0;font-size:clamp(2rem,6vw,4.8rem);line-height:1;font-weight:760}h2{font-size:clamp(1.65rem,3vw,2.8rem);line-height:1.06;margin-bottom:14px}.view-switch,.toolbar-group,.calendar-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.view-switch{padding:5px;border:1px solid var(--line);background:var(--panel);border-radius:999px;box-shadow:0 10px 30px #1218200f}.view-switch button,.toolbar-group button,.calendar-controls button{min-height:38px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--charcoal);display:inline-flex;align-items:center;gap:8px;padding:0 15px}.view-switch button.active,.toolbar-group button.active,.calendar-controls button,.primary-action{background:var(--charcoal);color:#fff}.setup-mega-menu{position:absolute;z-index:30;top:58px;left:14px;right:14px;width:min(920px,calc(100vw - 56px));display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;box-shadow:0 26px 70px #221d182e;overflow:hidden}.setup-menu-column{padding:22px 22px 18px;display:grid;align-content:start;gap:9px;border-left:1px solid var(--line)}.setup-menu-column:first-child{border-left:0}.setup-menu-column h3{margin:0 0 4px;color:#74818a;font-size:.82rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.setup-menu-column button{min-height:34px;border:0;border-radius:6px;background:transparent;color:#364049;text-align:left;padding:4px 0;font-weight:700}.setup-menu-column button:hover{color:var(--rose-dark)}.setup-menu-column button.muted-action{color:#66727a}.notice,.loading{margin-bottom:8px;padding:9px 12px;border-radius:8px;display:flex;align-items:center;gap:10px;font-size:.86rem;font-weight:750}.notice.good{background:#e8f8f1;color:#14704d}.notice.bad{background:#ffe9e7;color:#9c302b}.notice.quiet,.loading{background:var(--panel-strong);color:var(--muted);border:1px solid var(--line)}.spin{animation:spin 1s linear infinite}.booking-layout{align-items:stretch}.booking-intro{flex:1;min-width:260px;padding:36px 0}.booking-intro p:last-child{max-width:520px;color:var(--muted);font-size:1.05rem;line-height:1.6}.booking-form,.admin-login,.setup-panel{width:min(560px,100%);background:#ffffffb8;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:24px}label,.time-picker span{display:grid;gap:8px;color:var(--muted);font-size:.9rem;font-weight:700}.booking-form{display:grid;gap:18px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--panel-strong);color:var(--charcoal);padding:0 13px}input,select{min-height:46px}textarea{min-height:116px;padding:12px 13px;resize:vertical}.client-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.client-fields label:first-child{grid-column:1 / -1}.time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:8px;margin-top:10px}.time-grid button{min-height:40px;border:1px solid var(--line);border-radius:999px;background:var(--soft)}.time-grid button.selected{background:#2f6656;border-color:#2f6656;color:#fff}.soft-line{min-height:42px;margin:10px 0 0;display:flex;align-items:center;gap:8px;color:var(--muted)}.primary-action{min-height:50px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;font-weight:800}.primary-action:disabled{opacity:.55;cursor:not-allowed}.calendar-wrap{height:calc(100vh - 36px);min-height:620px;display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.calendar-toolbar{min-width:980px;align-items:center;margin-bottom:8px}.skinny-toolbar{min-height:44px;padding:2px 0 7px}.calendar-grid{min-width:max(980px,calc(var(--staff-count) * 158px + 58px));min-height:0;flex:1;display:grid;grid-template-columns:58px repeat(var(--staff-count),minmax(150px,1fr));background:var(--panel-strong);border:1px solid var(--line);border-radius:12px;overflow:auto;box-shadow:0 18px 55px #12182012}.calendar-head,.staff-head{min-height:50px;border-bottom:1px solid var(--line);background:#fcfdffeb;display:flex;align-items:center;padding:0 12px;font-weight:850;font-size:.9rem}.staff-head{gap:9px;border-left:1px solid var(--line)}.calendar-head,.staff-head{position:sticky;top:0;z-index:14}.calendar-head{z-index:18}.avatar{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef2ff,#fff0f4);color:#5865b9;flex:0 0 auto}.time-column.calendar-body,.staff-lane{position:relative}.time-column.calendar-body{background:#f9fbfdcc;border-right:1px solid var(--line)}.time-column.calendar-body span{position:absolute;right:10px;transform:translateY(-8px);color:#87909b;font-size:.76rem;font-weight:750}.staff-lane{border-left:1px solid var(--line)}.calendar-block{position:absolute;left:7px;right:7px;border-radius:10px;padding:9px 10px;overflow:hidden;border:1px solid rgba(255,255,255,.68);border-left:4px solid rgba(0,0,0,.18);box-shadow:0 10px 25px #12182017;display:flex;flex-direction:column;gap:2px;font-size:.84rem;transition:transform .14s ease,box-shadow .14s ease;-webkit-user-select:none;user-select:none}.calendar-block.compact{padding:6px 8px;gap:0;font-size:.78rem;line-height:1.22}.calendar-block.compact strong,.calendar-block.compact span{line-height:1.22}.calendar-block.movable{cursor:grab;touch-action:none;-webkit-user-select:none}.calendar-block.movable:active{cursor:grabbing;transform:scale(1.015);box-shadow:0 18px 35px #1218202e}.calendar-block strong,.calendar-block span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-block span{color:#121820a3}.calendar-block .blocked-remove{width:fit-content;margin-top:4px;border:0;border-radius:7px;padding:4px 7px;background:#1218201f;color:#2c3440;font-size:.74rem;font-weight:850;cursor:pointer}.calendar-block .blocked-remove:hover{background:#12182033}.calendar-block.mint{background:linear-gradient(135deg,#e7fbef,#d6f4e9);border-left-color:#28a875}.calendar-block.blush{background:linear-gradient(135deg,#fff0f5,#f9dce9);border-left-color:#df5a88}.calendar-block.sky{background:linear-gradient(135deg,#ebf7ff,#dceeff);border-left-color:#3997d3}.calendar-block.butter{background:linear-gradient(135deg,#fff8dc,#f9ecc1);border-left-color:#d6a923}.calendar-block.lilac{background:linear-gradient(135deg,#f3efff,#e6ddfb);border-left-color:#8169d9}.slot-action-menu{position:fixed;z-index:30;width:min(280px,calc(100vw - 32px));max-height:calc(100vh - 24px);overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fffffffa;box-shadow:0 24px 70px #12182033}.slot-action-menu strong{display:block;padding:18px 20px;border-bottom:1px solid var(--line);font-size:1.1rem}.slot-action-menu button{width:100%;border:0;border-bottom:1px solid var(--line);padding:18px 20px;background:#fff;color:var(--ink);text-align:left;font-size:1.02rem;font-weight:800;cursor:pointer}.slot-action-menu button:hover{background:var(--soft)}.slot-action-menu .slot-menu-close{border-bottom:0;color:var(--muted);font-size:.88rem}.calendar-block.blocked{background:repeating-linear-gradient(-45deg,#eff1f4 0,#eff1f4 8px,#e6e9ee 8px,#e6e9ee 16px);border-left-color:#8d98a5;box-shadow:none}.drop-preview{position:absolute;left:8px;right:8px;z-index:30;border-radius:10px;border:2px dashed rgba(49,91,220,.9);background:#315bdc1c;box-shadow:0 0 0 1px #ffffffd1,0 0 18px #315bdc24;pointer-events:none;transition:top 90ms ease}.setup-tools{min-width:980px;margin-top:24px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:start}.setup-modal{width:min(1220px,96vw);max-height:min(780px,92vh);overflow:auto;padding:24px;background:#fffffff0;border:1px solid var(--line);border-radius:8px;box-shadow:0 28px 80px #221d1838}.setup-workspace{display:grid;grid-template-columns:210px minmax(0,1fr);gap:30px;margin-top:18px}.setup-side-nav{border-right:1px solid var(--line);padding-right:18px;display:grid;align-content:start;gap:4px}.setup-side-nav strong{margin-bottom:10px;color:#74818a;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.setup-side-nav button{min-height:36px;border:0;border-radius:7px;background:transparent;color:#364049;text-align:left;padding:0 10px;font-weight:750}.setup-side-nav button.active{background:#eef3ff;color:#315dca}.staff-setup-list,.staff-editor,.service-setup-list,.clients-setup-list{min-width:0}.clients-workspace,.business-details-workspace{display:block;margin-top:8px}.business-details-editor{min-width:0}.business-setup-shell,.business-setup-page{min-height:100vh;background:#f6f8fb}.business-setup-page{color:#1f2933}.business-setup-topbar{position:sticky;top:0;z-index:20;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 24px;border-bottom:1px solid rgba(31,41,51,.09);background:#fffffff7}.business-setup-title{display:flex;align-items:center;gap:12px}.business-setup-title .eyebrow{margin:0 0 2px;color:#68717d;font-size:.64rem}.business-setup-title h2{margin:0;font-size:1.08rem;line-height:1.2;font-weight:850;letter-spacing:0}.business-setup-layout{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:210px minmax(0,1fr);gap:44px;padding:26px 32px 64px}.business-setup-nav{position:sticky;top:90px;align-self:start;display:grid;gap:3px}.business-setup-nav strong{padding:0 10px 10px;color:#20272f;font-size:.84rem;font-weight:850}.business-setup-nav button,.business-setup-nav a{min-height:38px;display:flex;align-items:center;border:0;border-radius:7px;padding:0 10px;background:transparent;color:#5b6470;text-align:left;font-size:.82rem;font-weight:720;text-decoration:none}.business-setup-nav button:hover,.business-setup-nav a:hover{background:#eef2f7;color:#20272f}.business-setup-nav button.active{background:#e9eef9;color:#294b9b}.business-setup-content{min-width:0;padding:0 28px;border:1px solid rgba(31,41,51,.08);border-radius:8px;background:#fff;box-shadow:0 12px 34px #1f29330d}.calendar-settings-layout{grid-template-columns:230px minmax(0,1fr);gap:34px}.calendar-settings-page .business-setup-content{display:grid;gap:0}.setup-section{padding:22px 0 24px;border-bottom:1px solid rgba(31,41,51,.08)}.setup-section:last-child{border-bottom:0}.setup-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.setup-section-heading h3{margin:2px 0 0;color:#20272f;font-size:1rem;line-height:1.2;font-weight:850;letter-spacing:0}.setup-section-heading .eyebrow{margin:0;color:#68717d;font-size:.64rem}.setup-section-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(49,91,220,.14);border-radius:9px;background:#f4f7ff;color:#315bdc}.setup-toggle-row{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:12px 14px;border:1px solid rgba(31,41,51,.08);border-radius:8px;background:#f8fafc}.calendar-settings-selector-field{display:grid;gap:6px}.calendar-settings-selector-field>span{color:#4b5563;font-size:.76rem;font-weight:750}.calendar-settings-selector-field .appointment-option-field{gap:0}.calendar-settings-selector-field .appointment-selector-control{min-height:40px}.setup-toggle-row>span{display:grid;gap:4px}.setup-toggle-row strong{color:#20272f;font-size:.84rem;font-weight:830}.setup-toggle-row small{color:#68717d;font-size:.76rem;font-weight:650}.setup-toggle-row input{width:18px;height:18px;min-height:18px;accent-color:#315bdc}.calendar-settings-readonly-list{display:grid;overflow:hidden;border:1px solid rgba(31,41,51,.08);border-radius:8px;background:#fbfcfd}.calendar-settings-readonly-list span{min-height:42px;display:flex;align-items:center;padding:10px 13px;border-bottom:1px solid rgba(31,41,51,.07);color:#56606b;font-size:.81rem;font-weight:690;line-height:1.35}.calendar-settings-readonly-list span:last-child{border-bottom:0}.online-booking-settings-page{--online-accent: #217a62;--online-accent-soft: #edf8f4}.online-booking-settings-nav{gap:4px}.online-booking-nav-status{display:inline-flex;align-items:center;gap:7px;width:max-content;margin:-2px 10px 10px;color:#64707b;font-size:.72rem;font-weight:760}.online-booking-nav-status i{width:7px;height:7px;border-radius:999px;background:#a1aab5}.online-booking-nav-status.is-live{color:#217a62}.online-booking-nav-status.is-live i{background:#2d9a78;box-shadow:0 0 0 3px #2d9a781f}.online-booking-section-copy{max-width:560px;margin:7px 0 0;color:#68717d;font-size:.78rem;font-weight:560;line-height:1.5}.online-booking-status-section .setup-section-heading,.online-booking-later-section .setup-section-heading{margin-bottom:14px}.online-booking-status-card{overflow:hidden;border:1px solid rgba(33,122,98,.16);border-radius:8px;background:#fcfefd}.online-booking-status-card .online-booking-toggle-row{margin:0;border:0;border-radius:0;background:transparent}.online-booking-public-link{min-height:82px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:11px 14px;border-top:1px solid rgba(33,122,98,.12);background:var(--online-accent-soft)}.online-booking-public-link>div{display:grid;gap:3px}.online-booking-public-link span{color:#597167;font-size:.69rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.online-booking-public-link strong{color:#24433a;font-size:.86rem;font-weight:800;overflow-wrap:anywhere}.online-booking-public-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.online-booking-public-actions a,.online-booking-public-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-height:30px;padding:0 9px;border:1px solid rgba(33,122,98,.18);border-radius:6px;background:#ffffffb8;color:#216a57;font-size:.78rem;font-weight:800;text-decoration:none}.online-booking-public-actions a:hover,.online-booking-public-actions button:hover{border-color:#217a6259;background:#fff;color:#155443}.online-booking-toggle-row{min-height:66px;padding:13px 15px;background:#fbfcfd}.online-booking-toggle-row input{width:38px;height:22px;min-height:22px;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;border:0;border-radius:999px;background:#c8d0d8;box-shadow:inset 0 0 0 1px #1f293314;cursor:pointer;transition:background .16s ease}.online-booking-toggle-row input:after{width:16px;height:16px;display:block;margin:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #1f293338;content:"";transition:transform .16s ease}.online-booking-toggle-row input:checked{background:var(--online-accent)}.online-booking-toggle-row input:checked:after{transform:translate(16px)}.online-booking-toggle-row input:disabled{cursor:not-allowed;opacity:.45}.online-booking-toggle-row input:focus-visible,.online-booking-public-actions a:focus-visible,.online-booking-public-actions button:focus-visible{outline:3px solid rgba(33,122,98,.18);outline-offset:3px}.online-booking-rule-fields{align-items:start}.online-booking-window-field{display:grid;gap:6px}.online-booking-window-field>small{color:#68717d;font-size:.74rem;font-weight:600;line-height:1.4}.online-booking-window-field .appointment-option-field{gap:5px}.online-booking-window-field .appointment-selector-control{min-height:40px;border-color:#d5dce4;font-size:.86rem}.online-booking-window-field .appointment-selector-control:focus-visible,.online-booking-custom-window input:focus{border-color:#217a628c;outline:0;box-shadow:0 0 0 3px #217a621a}.online-booking-custom-window{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px}.online-booking-custom-window>label{display:grid;gap:5px}.online-booking-custom-window>label>span{color:#4b5563;font-size:.76rem;font-weight:750}.online-booking-custom-window input{width:100%;min-height:40px;min-width:0;border:1px solid #d5dce4;border-radius:7px;background:#fff;color:#26313a;font:inherit;font-size:.86rem;font-weight:700;padding-inline:10px}.online-booking-status-field{grid-column:1 / -1;max-width:calc(50% - 7px)}.online-booking-status-field>div{min-height:40px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid rgba(33,122,98,.16);border-radius:7px;background:var(--online-accent-soft);color:#1c705a}.online-booking-status-field strong{font-size:.84rem;font-weight:800}.online-booking-copy-fields textarea{min-height:76px;resize:vertical;line-height:1.45}.online-booking-copy-fields label:nth-child(3),.online-booking-copy-fields label:nth-child(4){padding-top:4px;border-top:1px solid rgba(31,41,51,.06)}.online-booking-capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.online-booking-capability-card,.online-booking-embed-card{min-height:92px;display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid rgba(31,41,51,.08);border-radius:8px;background:#fbfcfd;color:#78828d;text-align:left}.online-booking-capability-card>svg,.online-booking-embed-card>svg{flex:0 0 auto;margin-top:1px;color:#9ba5ae}.online-booking-capability-card>div,.online-booking-embed-card>span{display:grid;gap:3px}.online-booking-capability-card strong,.online-booking-embed-card strong{color:#4e5965;font-size:.8rem;font-weight:800}.online-booking-capability-card p,.online-booking-embed-card p{margin:0;color:#7d8791;font-size:.73rem;font-weight:570;line-height:1.35}.online-booking-capability-card small,.online-booking-embed-card small{color:#8e98a2;font-size:.68rem;font-weight:780;text-transform:uppercase}.online-booking-embed-card{cursor:not-allowed;opacity:.78}@media (max-width: 820px){.online-booking-settings-nav .online-booking-nav-status{display:none}.online-booking-status-field{max-width:none}}@media (max-width: 560px){.online-booking-public-link{align-items:flex-start;flex-direction:column;gap:9px}.online-booking-public-actions{justify-content:flex-start}.online-booking-capability-grid{grid-template-columns:1fr}}.locations-list .location-list-item{min-height:58px;display:flex;align-items:flex-start;gap:9px;padding:10px}.location-list-item>span{min-width:0;display:grid;gap:3px}.location-list-item b,.location-list-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-list-item b{color:inherit;font-size:.82rem}.location-list-item small{color:#7a8490;font-size:.7rem;font-weight:700}.location-list-item.active small{color:#6176a8}.location-active-control{display:grid;gap:5px}.location-active-control>span:first-child{color:#4b5563;font-size:.76rem;font-weight:750}.location-toggle-row,.location-day-toggle{display:flex;align-items:center;gap:9px}.location-toggle-row{min-height:40px;padding:0 11px;border:1px solid rgba(17,24,39,.13);border-radius:8px;background:#fff;font-size:.84rem}.setup-status-toggle{min-height:40px;display:flex;align-items:center;cursor:pointer}.setup-status-toggle input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.setup-status-pill{display:inline-flex;align-items:center;gap:7px;width:fit-content;min-height:28px;padding:0 10px;border:1px solid rgba(148,163,184,.4);border-radius:999px;background:#fff;color:#64748b;font-size:.76rem;font-weight:820;line-height:1}.setup-status-pill>span{width:7px;height:7px;border-radius:999px;background:currentColor}.setup-status-pill.active{border-color:#20865c3d;background:#f2fbf6;color:#20865c}.setup-status-pill.inactive{border-color:#94a3b859;background:#f8fafc;color:#64748b}.setup-status-toggle:focus-within .setup-status-pill{box-shadow:0 0 0 3px #315bdc1a}.setup-status-toggle:hover .setup-status-pill{border-color:#315bdc42}.location-toggle-row input,.location-day-toggle input{width:16px;height:16px;min-height:16px;margin:0;accent-color:#315bdc}.location-hours-list{display:grid}.location-hours-row{min-height:58px;display:grid;grid-template-columns:110px 82px minmax(240px,1fr);align-items:center;gap:14px;border-bottom:1px solid rgba(31,41,51,.07)}.location-hours-row:last-child{border-bottom:0}.location-hours-row>strong{color:#27313b;font-size:.82rem;font-weight:820}.location-day-toggle{color:#56606b;font-size:.78rem;font-weight:750}.location-time-range{display:grid;grid-template-columns:minmax(96px,1fr) auto minmax(96px,1fr);align-items:center;gap:9px}.location-time-range>span,.location-closed-label{color:#7a8490;font-size:.76rem;font-weight:700}.location-time-range .appointment-selector-control{min-height:38px}.closed-dates-actions{display:flex;align-items:center;gap:9px}.closed-dates-page .business-setup-layout{grid-template-columns:250px minmax(0,1fr);gap:32px}.closed-dates-list{gap:5px}.closed-dates-list .closed-date-list-item{min-height:64px;align-items:flex-start;border:1px solid transparent}.closed-date-list-item svg{flex:0 0 auto;margin-top:1px;color:#5264d9}.closed-date-list-item span{gap:5px}.closed-date-list-item b{font-size:.84rem;font-weight:850;line-height:1.15}.closed-date-list-item small{display:grid;gap:2px;color:#68717d;font-size:.7rem;line-height:1.2}.closed-date-list-item.active{border-color:#315bdc29;background:linear-gradient(180deg,#eef3ff,#e9eef9)}.closed-date-list-item.active svg{color:#244ed8}.closed-dates-empty{margin:6px 10px;color:#7a8490;font-size:.78rem;font-weight:700;line-height:1.35}.closed-date-archive-section .secondary-action{width:fit-content}.closed-date-details-section .business-fields{align-items:end}.closed-date-input-field{gap:5px}.closed-date-picker-anchor{position:relative}.closed-date-display-button{width:100%;min-height:40px;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:0 11px;border:1px solid rgba(17,24,39,.13);border-radius:8px;background:#fff;box-shadow:inset 0 1px #ffffffbf;color:#20272f}.closed-date-display-button svg{flex:0 0 auto;color:#5b6470}.closed-date-display-button strong{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:750;text-align:left}.closed-date-display-button:hover{border-color:#315bdc52;background:#fbfdff}.closed-date-display-button:focus-visible,.closed-date-picker-anchor:focus-within .closed-date-display-button{border-color:#315bdc73;box-shadow:0 0 0 3px #315bdc1a}.closed-date-picker-anchor .calendar-date-popover{left:0;right:auto;transform:none;top:calc(100% + 8px)}.closed-date-archive-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid rgba(31,41,51,.08);border-radius:8px;background:#f8fafc}.closed-date-archive-panel span{color:#68717d;font-size:.78rem;font-weight:650;line-height:1.35}.closed-date-archive-panel button{flex:0 0 auto;border:0;background:transparent;color:#7a8490;font-size:.78rem;font-weight:800}.closed-date-archive-panel button:hover{color:#b42318}.business-details-editor .business-details-head{margin-bottom:6px;padding-top:12px;padding-bottom:12px}.business-details-editor .business-details-head h2{margin:1px 0 0;font-size:1.22rem;line-height:1.2;font-weight:850}.business-details-editor .business-details-head .eyebrow{font-size:.68rem}.business-details-head>div>p:last-child{margin:4px 0 0;color:var(--muted);font-size:.82rem;line-height:1.35}.business-details-loading{min-height:360px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-weight:750}.business-fields{display:grid;gap:12px 14px}.business-fields.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.business-fields label,.business-about-field{display:grid;gap:5px}.business-fields label>span,.business-about-field>span{color:#4b5563;font-size:.76rem;font-weight:750}.business-fields input,.business-about-field textarea{width:100%;min-width:0}.business-details-editor .business-fields input,.business-details-editor .appointment-selector-control{min-height:40px;font-size:.88rem}.business-about-field textarea{resize:vertical;line-height:1.45}.business-field-span{grid-column:1 / -1}.business-details-editor .business-details-section{grid-template-columns:minmax(190px,235px) minmax(0,1fr);gap:26px;padding:18px 0;scroll-margin-top:82px}.business-details-editor .business-details-section:first-child{padding-top:26px}.business-details-editor .business-details-section:last-child{border-bottom:0;padding-bottom:28px}.business-details-editor .business-details-section h3{margin:0 0 6px;font-size:.98rem;line-height:1.25;font-weight:850}.business-details-editor .business-details-section>div:first-child>p{margin:0;font-size:.8rem;line-height:1.45}.logo-editor{display:flex;align-items:center;gap:18px;min-height:118px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#f8fafc}.logo-preview{width:112px;height:84px;flex:0 0 auto;display:grid;place-items:center;overflow:hidden;border:1px solid #dbe2ea;border-radius:var(--radius);background:#fff;color:#8a96a3}.logo-preview img{width:100%;height:100%;object-fit:contain;padding:10px}.logo-actions{display:grid;justify-items:start;gap:7px}.logo-actions p{margin:0 0 3px;color:var(--muted);font-size:.8rem}.logo-action-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.logo-action-row .text-action{min-height:34px;display:inline-flex;align-items:center;gap:6px;border:0;padding:0 5px;background:transparent;color:#a33a43;font-size:.8rem;font-weight:800}.logo-action-row .text-action:hover{color:#842b33}.logo-upload-action{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.logo-upload-action input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.setup-list-head,.editor-sticky-head{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px}.setup-list-head h2,.editor-sticky-head h2{margin-bottom:0}.inline-add-card{display:grid;grid-template-columns:1.2fr 1.2fr 1fr auto;gap:12px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f8fafccc;margin-bottom:12px}.staff-list{display:grid;border-top:1px solid var(--line)}.staff-row{min-height:88px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.staff-photo,.photo-placeholder{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef2ff,#fff0f4);color:#5865b9;font-weight:900}.staff-photo{width:44px;height:44px;border-radius:50%}.staff-row h3{margin:0 0 5px;font-size:1.05rem}.staff-row p{margin:0;color:var(--muted)}.staff-row button,.service-row button,.editor-actions button{min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--panel-strong);color:var(--charcoal);padding:0 16px;font-weight:800}.service-list-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:34px}.service-category-list{display:grid;align-content:start;gap:7px}.service-category-list button{min-height:38px;border:0;border-radius:8px;background:transparent;color:#4f56b8;text-align:left;padding:0 12px;font-weight:800}.service-category-list button.active{background:#4f56b8;color:#fff}.add-category-form{display:grid;gap:8px;margin-top:10px}.add-category-form input{min-height:40px}.add-category-form button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--panel-strong);color:var(--charcoal)}.service-list{display:grid;border-top:1px solid var(--line)}.service-category-head{padding:0 0 16px;border-bottom:1px solid var(--line)}.service-category-head h3{margin:0;font-size:1.45rem}.service-category-head p{margin:12px 0 0;padding:16px;border-left:4px solid #8d98a5;background:#f1f3f6;color:var(--muted);font-weight:750}.service-row{min-height:112px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:16px 0}.service-colour-dot{width:42px;height:42px;border-radius:12px;box-shadow:inset 0 0 0 1px #fff9,0 8px 20px #1218201a}.service-row h3{margin:0 0 10px;font-size:1.12rem}.service-row p{max-width:760px;margin:0 0 12px;color:var(--muted);line-height:1.45}.muted-service-row{opacity:.72}.service-row dl{margin:0;display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px 18px}.service-row div:has(>dt){display:grid;grid-template-columns:auto 1fr;gap:8px}.service-row dt{color:var(--muted)}.service-row dd{margin:0;font-weight:850}.timing-fields{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:14px;align-items:end}.service-editor .timing-fields:first-child{grid-template-columns:180px}.clients-page-head{display:flex;justify-content:space-between;gap:18px;padding:2px 2px 20px}.clients-page-head h2{margin:2px 0 5px;font-size:1.55rem;letter-spacing:0}.clients-page-head span{color:#6f7a84;font-size:.93rem;font-weight:650}.client-data-actions{align-self:end;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.client-import-button{min-height:36px;border:1px solid rgba(203,213,225,.95);border-radius:9px;background:#fff;color:#42505c;padding:0 14px;font-weight:760}.client-import-panel{display:grid;gap:14px;margin-bottom:18px;padding:18px;border:1px solid rgba(226,232,240,.95);border-radius:14px;background:#fbfcfd}.client-import-head{display:flex;justify-content:space-between;gap:16px}.client-import-head h3{margin:0 0 5px;font-size:1.05rem}.client-import-head p,.client-import-note{margin:0;color:var(--muted);line-height:1.45}.client-import-head button{align-self:start;min-height:34px;border:1px solid rgba(203,213,225,.95);border-radius:8px;background:#fff;color:#42505c;padding:0 12px;font-weight:760}.client-import-upload{min-height:48px;display:flex;align-items:center;justify-content:center;border:1px dashed rgba(148,163,184,.9);border-radius:12px;background:#fff;color:#42505c;font-weight:780;cursor:pointer}.client-import-upload input{display:none}.client-import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.client-import-summary div{display:grid;gap:4px;padding:12px;border:1px solid rgba(226,232,240,.95);border-radius:10px;background:#fff}.client-import-summary strong{font-size:1.15rem}.client-import-summary span{color:var(--muted);font-size:.78rem;font-weight:760}.client-import-preview{display:grid;overflow:hidden;border:1px solid rgba(226,232,240,.95);border-radius:12px;background:#fff}.client-import-preview-head,.client-import-preview-row{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(110px,.8fr) minmax(150px,1fr) minmax(140px,1fr) minmax(160px,1fr);gap:10px;align-items:center;padding:10px 12px}.client-import-preview-head{color:#6f7a84;font-size:.76rem;font-weight:820;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc}.client-import-preview-row{border-top:1px solid rgba(226,232,240,.8);color:#364049;font-size:.86rem}.client-import-preview-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-import-preview-row.duplicate span:last-child{color:#8a6a11}.client-import-preview-row.invalid span:last-child{color:#8a332c}.clients-layout{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:22px;min-height:560px;padding:18px;border:1px solid rgba(226,232,240,.95);border-radius:14px;background:linear-gradient(180deg,#f8fafc,#f3f6f9)}.client-list-panel,.client-detail-panel{min-width:0;border:1px solid rgba(226,232,240,.92);border-radius:12px;background:#ffffffdb;box-shadow:0 14px 34px #0f172a0d}.client-list-panel{padding:14px}.client-management-search{min-height:46px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid rgba(203,213,225,.9);border-radius:11px;background:#f8fafc;color:#7a8490}.client-management-search input{flex:1;min-height:40px;padding:0;border:0;background:transparent}.client-management-list{display:grid;gap:6px;margin-top:14px}.client-management-list button{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:11px;min-height:62px;padding:10px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--charcoal);text-align:left}.client-management-list button.active{border-color:#d7e1ff;background:#f3f7ff;box-shadow:inset 3px 0 #8aa7ef}.client-management-list strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:760}.client-management-list small,.client-empty-state,.client-profile-title small,.client-appointment-list span,.client-appointment-list small,.client-section p{color:var(--muted)}.client-list-avatar,.client-profile-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#eef3f8;color:#506070;font-weight:820}.client-list-avatar{width:38px;height:38px;font-size:.82rem}.client-empty-state{margin:0;padding:18px 10px;font-weight:720}.client-detail-panel{overflow:hidden}.client-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px;border-bottom:1px solid rgba(226,232,240,.9)}.client-profile-title{display:flex;align-items:center;gap:14px;min-width:0}.client-profile-avatar{width:54px;height:54px;flex:0 0 auto;font-size:1rem}.client-profile-title h3{margin:0 0 3px;font-size:1.38rem;letter-spacing:0}.client-profile-title small{font-size:.9rem;font-weight:680}.client-detail-actions{display:grid;justify-items:end;gap:10px}.client-detail-actions>div,.client-action-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.client-detail-actions button,.client-action-row button{min-height:34px;border:1px solid rgba(203,213,225,.95);border-radius:8px;background:#fff;color:#42505c;padding:0 13px;font-weight:760}.client-detail-actions button:first-child,.client-action-row .primary-action{border-color:#b8c7ee;background:#eef3ff;color:#315dca}.client-detail-actions button:last-child{color:#8a332c}.client-edit-panel,.client-merge-panel{display:grid;gap:14px;padding:18px 24px;border-bottom:1px solid rgba(226,232,240,.9);background:#fbfcfd}.client-edit-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.client-edit-panel label,.client-merge-panel label{display:grid;gap:7px;color:var(--muted);font-size:.8rem;font-weight:800}.client-edit-panel label:nth-child(4),.client-edit-panel .client-action-row,.client-merge-panel .client-action-row{grid-column:1 / -1}.client-edit-panel input,.client-edit-panel textarea,.client-merge-panel input{width:100%;border-radius:9px}.client-merge-panel p,.client-merge-results span{margin:0;color:var(--muted);line-height:1.45}.client-merge-results{display:grid;gap:6px;padding:10px;border:1px solid rgba(226,232,240,.9);border-radius:10px;background:#fff}.client-merge-results button{display:grid;gap:4px;min-height:52px;padding:10px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--charcoal);text-align:left}.client-merge-results button:hover{border-color:#d7e1ff;background:#f3f7ff}.client-merge-results strong{font-weight:780}.client-tabs{display:flex;gap:6px;padding:14px 18px 0;overflow-x:auto}.client-tabs button{min-height:34px;border:0;border-radius:9px;background:transparent;color:#55616d;padding:0 11px;font-weight:760;white-space:nowrap}.client-tabs button.active{background:#eef3ff;color:#315dca}.client-section{padding:20px 24px 24px}.client-section h4{margin:0 0 8px;font-size:.98rem;font-weight:780}.client-section p{margin:0;line-height:1.5}.client-memory-form{display:grid;gap:14px}.client-memory-form.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.client-memory-form label{display:grid;gap:8px;color:var(--muted);font-size:.8rem;font-weight:820}.client-memory-form textarea{width:100%;min-height:132px;resize:vertical;border-radius:10px;line-height:1.45}.client-memory-form .client-action-row{grid-column:1 / -1}@media (max-width: 760px){.client-memory-form.two-column{grid-template-columns:1fr}}.client-appointments-stack{display:grid;gap:22px}.client-appointments-stack h4{margin-bottom:10px}.client-empty-state.compact{padding:12px 0}.client-summary-grid{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.client-summary-grid div{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.client-summary-grid dt{color:var(--muted);font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.client-summary-grid dd{margin:0;color:var(--charcoal);font-weight:800;overflow-wrap:anywhere}.client-appointment-list{display:grid;border-top:1px solid var(--line)}.client-appointment-list article{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.client-appointment-list article>div{display:grid;gap:5px;min-width:0}.client-appointment-list article.cancelled{opacity:.72}.client-appointment-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-placeholder{display:grid;place-content:center;min-height:360px;padding:24px;text-align:center}.client-placeholder h3{margin:0 0 8px}.client-placeholder p{margin:0;color:var(--muted)}.colour-picker-row{display:flex;align-items:center;gap:18px}.colour-picker-row input[type=color]{width:76px;height:54px;min-height:54px;padding:4px;border-radius:12px}.colour-picker-row span{width:68px;height:68px;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffffb3,0 10px 26px #1218201f}.editor-sticky-head{position:sticky;top:0;z-index:4;background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.editor-actions{display:flex;gap:12px}.editor-section{display:grid;grid-template-columns:300px minmax(0,1fr);gap:42px;padding:26px 0;border-bottom:1px solid var(--line)}.editor-section h3{margin:0 0 12px;font-size:1.45rem}.editor-section p{color:var(--muted);line-height:1.55}.editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.editor-fields label:has(textarea),.editor-fields .photo-placeholder{grid-column:1 / -1}.hours-list{display:grid}.hours-row{min-height:66px;display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:18px;border-bottom:1px solid var(--line)}.hours-row:last-child{border-bottom:0}.round-check{display:flex;align-items:center;gap:12px;color:var(--charcoal);font-size:.96rem}.round-check input,.option-list input,.service-check-grid input{width:18px;height:18px;min-height:18px;accent-color:#4f56b8}.hour-inputs{display:flex;align-items:center;gap:10px}.hour-inputs input{width:120px}.option-list{display:grid;gap:14px}.option-list label,.service-check-grid label{display:flex;align-items:flex-start;gap:10px;color:var(--charcoal);font-weight:700}.service-check-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:16px 22px}.service-check-grid .select-all{grid-column:1 / -1;padding-bottom:14px;border-bottom:1px solid var(--line)}.photo-placeholder{width:132px;height:132px;border-radius:14px;font-size:2rem}.editor-bottom-actions{justify-content:flex-end;padding-top:20px}.setup-modal .setup-tools{min-width:0;margin-top:18px;grid-template-columns:1fr 1fr}.setup-modal .setup-tools>div:first-child{display:none}.setup-card{display:grid;gap:13px;padding:18px;background:#ffffffb8;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.setup-card h3{margin:0;font-size:1.15rem}.compact-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tiny-note{margin:0;color:var(--muted);font-size:.86rem;line-height:1.45}.client-search-panel{margin-top:-8px;display:grid;gap:8px}.client-match-list{display:grid;gap:7px}.client-match-list button,.selected-client{min-height:48px;border:1px solid var(--line);border-radius:8px;background:#f8fafce6;color:var(--charcoal)}.client-match-list button{display:grid;gap:2px;text-align:left;padding:8px 11px}.client-match-list button:hover{border-color:#357eee5c;background:#f3f7ff}.client-match-list span{color:var(--muted);font-size:.84rem}.selected-client{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;color:#14704d;font-weight:800}.selected-client button{min-height:32px;border:0;border-radius:999px;background:#e8f8f1;color:#14704d;padding:0 12px;font-weight:800}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:22px;background:#231f1b38;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.booking-modal{width:min(540px,100%);max-height:min(760px,92vh);overflow:auto;display:grid;gap:16px;padding:24px;background:#fffffff0;border:1px solid var(--line);border-radius:8px;box-shadow:0 28px 80px #221d1838}.move-confirm-modal{width:min(430px,calc(100vw - 28px));overflow:hidden;border:1px solid rgba(85,76,180,.18);border-radius:16px;background:radial-gradient(circle at 16% -8%,rgba(230,117,143,.1),transparent 28%),radial-gradient(circle at 92% -10%,rgba(24,183,155,.12),transparent 26%),#fff;color:#111827;box-shadow:0 34px 90px #0f172a3d,0 12px 34px #554cb421}.move-confirm-modal.has-warnings{border-color:#dc26263d}.move-confirm-modal:before{content:"";display:block;height:8px;background:linear-gradient(90deg,#5b4ff0,#8a5cf6 22%,#e6758f 52%,#f2bd5c 74%,#18b79b)}.move-confirm-head{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid #e5e7eb}.move-confirm-head span{display:block;margin-bottom:4px;color:#7b8491;font-size:.76rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.move-confirm-head h2{margin:0;color:#111827;font-size:1.08rem}.move-confirm-summary{display:grid;gap:3px;padding:14px 16px;border-bottom:1px solid #e5e7eb;background:#f8fafc}.move-confirm-summary strong{font-size:1rem}.move-confirm-summary span{color:#4b5563;font-weight:800}.move-confirm-warning-summary{display:grid;gap:7px;margin:0 16px 12px;padding:11px 12px;border:1px solid rgba(220,38,38,.18);border-radius:12px;background:#fff7f7;color:#991b1b}.move-confirm-warning-summary strong{color:#7f1d1d;font-size:.78rem;font-weight:900}.move-confirm-warning-summary ul{display:grid;gap:4px;margin:0;padding-left:16px;color:#991b1b;font-size:.74rem;font-weight:760;line-height:1.25}.move-confirm-details{margin:0;display:grid}.move-confirm-details div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;padding:12px 16px;border-bottom:1px solid #edf0f4}.move-confirm-details dt{color:#8b94a1;font-weight:900}.move-confirm-details dd{margin:0;color:#1f2937;font-weight:850}.move-placement-review{display:grid;gap:8px;padding:12px 16px;border-bottom:1px solid #edf0f4;background:#fff}.move-placement-line{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center;min-height:54px;padding:9px 10px;border:1px solid rgba(148,163,184,.24);border-left:4px solid #16a34a;border-radius:12px;background:#f8fafc;box-shadow:0 8px 18px #0f172a0a}.move-placement-line.risk-warning{border-color:#d9770640;border-left-color:#d97706;background:#fffbeb}.move-placement-line.risk-danger{border-color:#dc262661;border-left-color:#dc2626;background:#fff7f7;box-shadow:0 12px 26px #dc26261f,0 0 0 2px #dc262614}.move-placement-status{color:#15803d;font-size:.68rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.move-placement-line.risk-warning .move-placement-status{color:#b45309}.move-placement-line.risk-danger .move-placement-status{color:#b91c1c}.move-placement-line div{min-width:0;display:grid;gap:2px}.move-placement-line strong,.move-placement-line span,.move-placement-line small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.move-placement-line strong{color:#111827;font-size:.88rem;font-weight:900}.move-placement-line span{color:#374151;font-size:.78rem;font-weight:800}.move-placement-line small{color:#6b7280;font-size:.7rem;font-weight:760}.move-confirm-actions{display:grid;grid-template-columns:1fr 1.15fr;gap:10px;padding:14px 16px 16px}.move-confirm-actions button{min-height:42px;border:1px solid #d8dee7;border-radius:10px;background:#fff;color:#111827;font-weight:900}.move-confirm-actions .primary-action{border-color:#5146e5;background:#5146e5;color:#fff}.modal-head,.modal-actions,.appointment-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.appointment-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.appointment-actions button{min-height:42px;border:1px solid #aab5c2;border-radius:7px;background:#fff;color:var(--ink);font-weight:850;cursor:pointer}.appointment-actions button:hover{background:var(--soft)}.appointment-actions button.active{border-color:#5c4cc4;background:#efedff;color:#4d3db5}.service-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.service-add-row button,.secondary-action{min-height:42px;border:1px solid #aab5c2;border-radius:7px;background:#fff;color:var(--ink);font-weight:850;cursor:pointer}.service-add-row button{padding:0 14px}.secondary-action{width:fit-content;display:inline-flex;align-items:center;gap:8px;padding:0 16px}.service-add-row button:hover,.secondary-action:hover{background:var(--soft)}.modal-head h2{margin-bottom:0;font-size:2rem}.icon-button{width:42px;height:42px;border:1px solid var(--line);border-radius:999px;background:var(--soft);display:inline-flex;align-items:center;justify-content:center;color:var(--charcoal)}.appointment-summary{padding:12px 14px;border-radius:8px;background:#f4eee5;color:var(--muted);font-weight:800}.modal-actions{flex-wrap:wrap}.modal-inline-notice{width:100%;margin:0;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius);font-size:.88rem;font-weight:800;line-height:1.35}.modal-inline-notice.good{border-color:#14704d33;background:#e8f8f1;color:#14704d}.modal-inline-notice.bad{border-color:#9c302b2e;background:#ffe9e7;color:#9c302b}.modal-inline-notice.quiet{background:#f5f7fb;color:var(--muted)}.danger-action{min-height:50px;border:1px solid #e0b8b8;border-radius:999px;background:#fff2f0;color:#9c302b;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;font-weight:800}.admin-login,.setup-panel{margin:54px auto;display:grid;gap:16px;text-align:center;justify-items:center}.admin-login p,.setup-panel p{color:var(--muted);line-height:1.55}.setup-screen{min-height:100vh;display:grid;place-items:center;padding:24px}pre{width:100%;white-space:pre-wrap;text-align:left;background:#242321;color:#fff7ec;padding:16px;border-radius:8px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 820px){.app-shell{padding:18px}.appbar,.booking-layout,.calendar-toolbar{flex-direction:column}.view-switch{width:100%}.view-switch button{flex:1;justify-content:center}.booking-intro{padding:10px 0 0}.booking-form{padding:18px}.client-fields,.setup-modal .setup-tools,.compact-fields{grid-template-columns:1fr}.setup-mega-menu{position:static;width:100%;grid-template-columns:1fr;margin-bottom:18px}.setup-menu-column{border-left:0;border-top:1px solid var(--line)}.setup-menu-column:first-child{border-top:0}}@media (max-width: 720px){.business-fields.two-column{grid-template-columns:1fr}.logo-editor{align-items:flex-start;flex-direction:column}}:root{--ink: #111827;--charcoal: #111827;--muted: #667085;--line: rgba(17, 24, 39, .11);--line-strong: rgba(17, 24, 39, .18);--soft: #f8fafc;--panel: rgba(255, 255, 255, .78);--panel-strong: rgba(255, 255, 255, .96);--rose: #e05a7a;--rose-dark: #9f3155;--blue: #315bdc;--green: #16805b;--amber: #b7791f;--shadow: 0 18px 48px rgba(15, 23, 42, .08);--shadow-strong: 0 26px 80px rgba(15, 23, 42, .16);--radius: 8px;--ease: cubic-bezier(.2, .8, .2, 1)}body{background:linear-gradient(135deg,#fffffff5,#f4f7fbfa),linear-gradient(90deg,#e05a7a0e,#315bdc0e,#16805b0a)}button,input,select,textarea{transition:border-color .15s var(--ease),background .15s var(--ease),color .15s var(--ease),box-shadow .15s var(--ease),transform .15s var(--ease)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(49,91,220,.18);outline-offset:2px}button:active{transform:translateY(1px)}.app-shell{width:100%;padding:0}.product-header{min-width:980px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.brand-cluster{display:flex;align-items:center;gap:9px;min-width:190px}.brand-icon{width:34px;height:34px;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;background:#111827;color:#fff;box-shadow:0 12px 28px #1118272e}.product-header .eyebrow{margin-bottom:1px;color:var(--rose-dark);font-size:.62rem}.product-header h1{margin:0;font-size:1.28rem;line-height:1;letter-spacing:0}.header-stats{display:flex;justify-content:flex-end;gap:6px;width:min(640px,58vw)}.header-stats>div{min-height:38px;min-width:118px;display:flex;align-items:baseline;justify-content:center;gap:6px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffb8;box-shadow:0 10px 30px #0f172a0d}.header-stats span{color:var(--ink);font-size:.96rem;font-weight:900}.header-stats p{margin:0;color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase}.calendar-wrap{position:relative;height:100vh;min-height:620px;display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.calendar-toolbar{min-width:980px;position:relative;z-index:25;display:grid;grid-template-columns:minmax(250px,1fr) auto minmax(250px,1fr);align-items:center;gap:12px;padding:10px 14px;margin-bottom:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fffffff5;box-shadow:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.toolbar-group,.calendar-controls{gap:8px}.toolbar-group button,.calendar-controls button,.view-switch button{min-height:34px;border-radius:var(--radius);font-size:.85rem;font-weight:850}.toolbar-group button,.calendar-controls button{border:1px solid #9aa8b5;background:#fff;color:#34404c}.toolbar-group button:hover,.calendar-controls button:hover,.editor-actions button:hover,.staff-row button:hover,.service-row button:hover,.secondary-action:hover,.service-add-row button:hover,.modal-actions button:not(.danger-action,.primary-action):hover{border-color:#315bdc42;background:#f3f6ff;color:#2446a8}.toolbar-group button.active,.calendar-controls button.active,.primary-action{border-color:#111827;background:#111827;color:#fff;box-shadow:none}.calendar-controls button[aria-label]{width:34px;padding:0;justify-content:center}.view-indicator{min-height:36px;border-radius:var(--radius);background:#fff;border-color:#9aa8b5;color:#34404c;font-weight:800}.staff-filter-group{justify-self:start}.date-controls{justify-self:center}.calendar-actions{justify-self:end}.view-indicator{display:inline-flex;width:86px;align-items:center;justify-content:center;border:1px solid #9aa8b5;padding:0 12px;cursor:default;-webkit-user-select:none;user-select:none}.calendar-toolbar .toolbar-icon-button{width:38px;padding:0}.date-picker-anchor{position:relative}.date-display-button{min-width:230px;justify-content:center;gap:8px;padding:0 16px;color:#34404c}.calendar-date-popover{position:absolute;z-index:60;top:calc(100% + 8px);left:50%;width:428px;display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:14px;padding:14px;border:1px solid rgba(15,23,42,.12);border-radius:8px;background:#fffffffa;box-shadow:0 20px 54px #0f172a2e;transform:translate(-50%)}.date-popover-main{display:grid;gap:10px}.date-popover-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:8px}.date-popover-head strong{text-align:center;color:#334155;font-size:.96rem;font-weight:900}.date-popover-head button,.date-grid button,.date-shortcuts button{min-height:34px;border:0;border-radius:8px;background:transparent;color:#334155;font-weight:850}.date-popover-head button{display:inline-flex;align-items:center;justify-content:center}.date-weekdays,.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.date-weekdays span{color:#718096;font-size:.68rem;font-weight:900;text-align:center}.date-grid button{aspect-ratio:1;min-height:32px;color:#1f2937;font-size:.9rem}.date-grid button.muted{color:#94a3b8}.date-grid button.today{background:#eef8f1;color:#176348}.date-grid button.selected{background:#5a50b9;color:#fff;box-shadow:0 10px 22px #5a50b93d}.date-shortcuts{display:grid;align-content:start;gap:4px;padding-left:10px;border-left:1px solid var(--line)}.date-shortcuts button{justify-content:flex-start;padding:0 10px;text-align:left;color:#475569}.date-shortcuts .muted-shortcut{margin-top:6px;color:#a1aab5}.date-popover-head button:hover,.date-grid button:hover,.date-shortcuts button:hover{background:#f3f6ff;color:#2446a8}.calendar-toolbar .today-button{min-width:74px;padding:0 16px;color:#8b96a3;background:#f5f7f9;border-color:#d3dbe3}.calendar-grid{min-height:0;flex:1;overflow:auto;border-radius:0;border:0;border-bottom:1px solid var(--line);background:#fff;box-shadow:none}.calendar-head,.staff-head{min-height:50px;background:#fffffffa;border-bottom:1px solid var(--line);color:#36424d;font-size:.82rem;box-shadow:0 1px #11182705}.staff-head{position:sticky;top:0;z-index:14}.calendar-head,.time-column.calendar-body{position:sticky;left:0;z-index:15}.calendar-head{top:0;z-index:18}.avatar{width:31px;height:31px;border-radius:var(--radius);background:linear-gradient(135deg,#eef4ff,#fdf2f8);color:var(--blue)}.time-column.calendar-body{background:#fbfcfe}.staff-lane{background-color:#fff}.staff-lane:hover{background-color:#fcfdff}.calendar-hour-row{position:absolute;left:0;right:0;z-index:2;display:block;border-top:1px solid rgba(17,24,39,.18);pointer-events:none}.calendar-hour-row span{position:absolute;left:0;right:0;height:1px;background:repeating-linear-gradient(to right,rgba(17,24,39,.16) 0,rgba(17,24,39,.16) 2px,transparent 2px,transparent 7px)}.calendar-hour-row span:nth-child(1){top:25%}.calendar-hour-row span:nth-child(2){top:50%}.calendar-hour-row span:nth-child(3){top:75%}.calendar-block{left:2px;right:2px;z-index:12;border-radius:10px;border:1px solid rgba(255,255,255,.82);padding:9px 10px 8px;box-shadow:0 9px 20px #0f172a29,0 1px 2px #0f172a14,inset 0 1px #ffffff70}.calendar-block:hover{transform:translateY(-1px);box-shadow:0 12px 26px #0f172a33,0 1px 2px #0f172a1a,inset 0 1px #ffffff7a}.calendar-block.service-colour-block.linked-group-hovered{z-index:13;transform:translateY(-2px);border-color:#fffffff5;box-shadow:0 17px 34px #0f172a2e,0 0 0 1px #33415529}.calendar-block.service-colour-block.selected-calendar-booking{z-index:14;transform:translateY(-1px);border-color:#3341556b;box-shadow:0 14px 30px #0f172a38,0 0 0 1px #33415533,inset 0 1px #ffffff8f}.calendar-block.service-colour-block.jump-target-calendar-booking{z-index:14;animation:jump-target-pulse 4.1s ease-out;box-shadow:0 17px 34px #0f172a2e,0 0 0 2px #11182742,inset 0 0 0 1px #ffffff85}.calendar-block.service-colour-block.placement-source-calendar-booking{z-index:15;animation:placement-source-pulse 2.8s ease-in-out infinite;box-shadow:0 22px 48px #1e293b3d,0 0 0 2px #5b5cffb8,0 0 0 8px #6366f126,0 0 28px #6d5bff29,inset 0 0 0 1px #ffffffb3}.calendar-block.service-colour-block.placement-risk-warning{z-index:13;border-color:#d977067a;box-shadow:0 16px 34px #92400e29,0 0 0 2px #d9770633,inset 0 0 0 1px #ffffff94}.calendar-block.service-colour-block.placement-risk-danger{z-index:14;border-color:#dc2626f5;animation:appointment-warning-outline 2.8s cubic-bezier(.45,0,.25,1) infinite;box-shadow:0 13px 28px #0f172a29,0 0 0 2px #dc2626d1,0 0 0 4px #ef44442e,0 0 12px #dc262638,inset 0 0 0 1px #ffffffad}@keyframes appointment-warning-outline{0%,to{box-shadow:0 13px 28px #0f172a29,0 0 0 2px #dc2626c2,0 0 0 4px #ef444424,0 0 10px #dc26262e,inset 0 0 0 1px #ffffffad}50%{box-shadow:0 15px 30px #0f172a2b,0 0 0 3px #dc2626fa,0 0 0 6px #ef444438,0 0 16px #dc262647,inset 0 0 0 1px #ffffffb8}}@keyframes placement-source-pulse{0%,to{transform:translateY(0) scale(1);box-shadow:0 18px 38px #1e293b36,0 0 0 2px #5b5cff94,0 0 0 6px #6366f11a,0 0 20px #6d5bff1a,inset 0 0 0 1px #ffffff9e}50%{transform:translateY(-1px) scale(1.006);box-shadow:0 24px 50px #1e293b45,0 0 0 3px #5b5cffd1,0 0 0 13px #6366f12e,0 0 42px #6d5bff33,inset 0 0 0 1px #ffffffb8}}@keyframes jump-target-pulse{0%{transform:translateY(0) scale(1);box-shadow:0 17px 34px #0f172a2e,0 0 0 2px #11182747,0 0 #1118272e,inset 0 0 0 1px #ffffff8f}12%{transform:translateY(-2px) scale(1.012);box-shadow:0 20px 38px #0f172a33,0 0 0 2px #1118274d,0 0 0 7px #11182714,inset 0 0 0 1px #fff9}58%{transform:translateY(0) scale(1);box-shadow:0 17px 34px #0f172a2b,0 0 0 2px #11182733,0 0 0 5px #1118270d,inset 0 0 0 1px #ffffff80}to{transform:translateY(0) scale(1);box-shadow:0 12px 24px #0f172a1f,0 0 #11182700,inset 0 0 0 1px #ffffff61}}.calendar-block strong{color:#111827;font-size:.86rem;font-weight:650}.calendar-block span{color:#111827c7;font-size:.78rem;font-weight:520}.calendar-block.service-colour-block{gap:1px;outline:2px solid rgba(255,255,255,.92);outline-offset:0}.calendar-block.service-colour-block.has-overlap-layout{box-shadow:0 14px 30px #0f172a24,inset 0 0 0 1px #ffffff70}.calendar-block.service-colour-block.has-overlap-layout:hover{z-index:18!important}.calendar-block.service-colour-block .appointment-card-header{min-width:0;display:block;overflow:hidden}.calendar-block.service-colour-block.medium-card,.calendar-block.service-colour-block.tall-card{justify-content:flex-start}.calendar-block.service-colour-block strong{color:#050505;display:block;flex:0 0 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.83rem;font-weight:780;line-height:1.08}.calendar-block.service-colour-block .appointment-card-inline-time{display:inline-block;margin-left:4px;color:#050505;font-size:.64rem;font-weight:760;line-height:1;white-space:nowrap}.calendar-block.service-colour-block .appointment-card-header strong{min-width:0;max-width:100%}.appointment-card-indicators{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;max-width:100%;overflow:hidden;white-space:nowrap}.appointment-card-indicator{width:auto;height:15px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#1f2937;font-size:.66rem;font-weight:840;line-height:1}.appointment-card-indicator svg{width:13px;height:13px;color:#2f3a46}.appointment-card-indicator.requested{color:#111827;font-size:.66rem;font-weight:900}.appointment-card-indicator.note svg,.appointment-card-indicator.online svg,.appointment-card-indicator.recurrence svg{stroke-width:2.35}.appointment-card-indicator.recurrence svg{color:#374151}.calendar-block.service-colour-block .appointment-card-service{color:#111827d6;display:-webkit-box;font-size:.78rem;font-weight:560;line-height:1.12;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.calendar-block.service-colour-block .appointment-card-footer{min-width:0;display:flex;align-items:center;gap:3px;overflow:hidden}.appointment-status-marker{min-width:max-content;flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;max-width:100%;width:auto;height:15px;padding:0;border:0;border-radius:0;background:transparent;color:#374151;box-shadow:none;line-height:1;white-space:nowrap}.appointment-status-marker svg{flex:0 0 auto;width:14px;height:14px}.appointment-status-marker-text{flex:0 0 auto;min-width:max-content;overflow:visible;color:inherit;font-size:.61rem;font-weight:820;letter-spacing:0;line-height:1;text-transform:uppercase}.appointment-status-marker-text.short{display:none}.appointment-status-marker.status-arrived{width:16px;min-width:16px;padding:0;color:#0f766e}.appointment-status-marker.status-completed{width:16px;min-width:16px;padding:0;color:#475569}.appointment-status-marker.status-no-show{min-width:max-content;color:#8f1717}.appointment-status-marker.status-no-show .appointment-status-marker-text{color:#8f1717;font-size:.56rem;font-weight:900;letter-spacing:.025em}.appointment-status-marker.status-cancelled{color:#64748b}.calendar-block.service-colour-block.status-completed{border-color:#ffffffbd;box-shadow:0 7px 16px #0f172a12,inset 0 0 0 1px #ffffff80}.calendar-block.service-colour-block.status-completed strong,.calendar-block.service-colour-block.status-completed .appointment-card-service{color:#111827d1}.calendar-block.service-colour-block.status-no_show{border-color:#991b1b4d;box-shadow:0 13px 28px #991b1b2e,inset 0 0 0 1px #ffffff75}.calendar-block.service-colour-block .appointment-card-short-service{display:none}.calendar-block.short-card{padding:5px 7px;gap:2px}.calendar-block.card-mode-ultra{position:absolute;justify-content:center;padding:2px 6px;gap:0;border-radius:8px}.calendar-block.short-card .appointment-card-header{display:block}.calendar-block.card-mode-ultra .appointment-card-header{min-height:0;padding-right:0;display:flex;align-items:baseline;gap:3px}.calendar-block.card-mode-ultra.has-card-indicators .appointment-card-header,.calendar-block.card-mode-ultra.has-status-marker .appointment-card-header{padding-right:28px}.calendar-block.card-mode-ultra.status-no_show .appointment-card-header{padding-right:54px}.calendar-block.short-card strong{line-height:1.08;white-space:nowrap}.calendar-block.card-mode-ultra.service-colour-block strong{min-width:0;flex:1 1 auto;font-size:.68rem;font-weight:720;line-height:1}.calendar-block.short-card .appointment-card-service{display:block;line-height:1.04;white-space:nowrap;text-overflow:ellipsis}.calendar-block.card-mode-ultra .appointment-card-service-row{min-height:0;display:block}.calendar-block.card-mode-ultra.has-card-indicators .appointment-card-service-row,.calendar-block.card-mode-ultra.has-status-marker .appointment-card-service-row{padding-right:24px}.calendar-block.card-mode-ultra.status-no_show .appointment-card-service-row{padding-right:44px}.calendar-block.card-mode-ultra .appointment-card-service{display:block;color:#111827d6;font-size:.58rem;font-weight:620;line-height:1;white-space:nowrap;text-overflow:ellipsis;-webkit-line-clamp:unset}.calendar-block.short-card .appointment-card-footer,.calendar-block.card-mode-compact .appointment-card-footer,.calendar-block.card-mode-standard .appointment-card-footer{margin-top:0;gap:3px}.calendar-block.card-mode-ultra .appointment-card-footer{position:absolute;top:2px;right:5px;max-width:54px;margin-top:0;padding:0;gap:3px;overflow:visible}.calendar-block.card-mode-ultra.has-status-marker .appointment-card-indicators{display:none}.calendar-block.card-mode-ultra .appointment-card-indicators{gap:3px;max-width:30px}.calendar-block.card-mode-ultra .appointment-card-indicator{height:12px;font-size:.58rem}.calendar-block.card-mode-ultra .appointment-card-indicator svg{width:10px;height:10px}.calendar-block.card-mode-ultra .appointment-card-indicator:nth-child(n+3){display:none}.calendar-block.short-card .appointment-card-short-service{min-width:0;flex:1 1 auto;display:block;color:#111827db;font-size:.68rem;font-weight:500;line-height:1.08;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-block.short-card .appointment-card-time{flex:0 0 auto;line-height:1.08}.calendar-block.no-card-time .appointment-card-time,.calendar-block.card-mode-ultra .appointment-card-time{display:none}.calendar-block.short-card .appointment-card-indicators,.calendar-block.card-mode-compact .appointment-card-indicators,.calendar-block.card-mode-standard .appointment-card-indicators{flex:0 0 auto;display:inline-flex;gap:2px;max-width:48px}.calendar-block.short-card .appointment-status-marker,.calendar-block.card-mode-compact .appointment-status-marker{height:14px;gap:3px}.calendar-block.card-mode-ultra .appointment-status-marker{height:13px;gap:2px}.calendar-block.short-card .appointment-status-marker.status-arrived,.calendar-block.card-mode-compact .appointment-status-marker.status-arrived{width:15px;min-width:15px}.calendar-block.card-mode-ultra .appointment-status-marker.status-arrived{width:14px;min-width:14px}.calendar-block.short-card .appointment-status-marker.status-completed,.calendar-block.card-mode-compact .appointment-status-marker.status-completed{width:15px;min-width:15px}.calendar-block.card-mode-ultra .appointment-status-marker.status-completed{width:14px;min-width:14px}.calendar-block.short-card .appointment-status-marker.status-no-show,.calendar-block.card-mode-compact .appointment-status-marker.status-no-show,.calendar-block.card-mode-ultra .appointment-status-marker.status-no-show{min-width:max-content}.calendar-block.short-card .appointment-status-marker svg,.calendar-block.card-mode-compact .appointment-status-marker svg{width:12px;height:12px}.calendar-block.card-mode-ultra .appointment-status-marker svg{width:11px;height:11px}.calendar-block.short-card .appointment-status-marker-text,.calendar-block.card-mode-compact .appointment-status-marker-text{font-size:.56rem;font-weight:860}.calendar-block.card-mode-ultra .appointment-status-marker-text{font-size:.54rem;font-weight:880}.calendar-block.short-card .appointment-status-marker.status-no-show .appointment-status-marker-text,.calendar-block.card-mode-compact .appointment-status-marker.status-no-show .appointment-status-marker-text{font-size:.56rem;font-weight:900}.calendar-block.card-mode-ultra .appointment-status-marker.status-no-show .appointment-status-marker-text{font-size:.52rem;font-weight:900;letter-spacing:.015em}.calendar-block.short-card .appointment-status-marker-text.full,.calendar-block.card-mode-compact .appointment-status-marker-text.full,.calendar-block.card-mode-ultra .appointment-status-marker-text.full{display:none}.calendar-block.short-card .appointment-status-marker-text.short,.calendar-block.card-mode-compact .appointment-status-marker-text.short,.calendar-block.card-mode-ultra .appointment-status-marker-text.short{display:inline}.calendar-block.short-card .appointment-card-indicator,.calendar-block.card-mode-compact .appointment-card-indicator{height:13px;font-size:.6rem}.calendar-block.short-card .appointment-card-indicator svg,.calendar-block.card-mode-compact .appointment-card-indicator svg{width:11px;height:11px}.calendar-block.short-card .appointment-card-indicator:nth-child(n+3){display:none}.calendar-block.card-mode-compact .appointment-card-indicator:nth-child(n+4){display:none}.calendar-block.short-card.has-status-marker .appointment-card-indicator:nth-child(n+2),.calendar-block.card-mode-compact.has-status-marker .appointment-card-indicator:nth-child(n+2),.calendar-grid.compact-columns .calendar-block.has-status-marker .appointment-card-indicator:nth-child(n+2){display:none}.calendar-block.short-card.has-status-marker .appointment-card-indicators,.calendar-block.card-mode-compact.has-status-marker .appointment-card-indicators,.calendar-grid.compact-columns .calendar-block.has-status-marker .appointment-card-indicators{max-width:16px}.calendar-block.medium-card.service-colour-block strong,.calendar-block.tall-card.service-colour-block strong{display:-webkit-box;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.calendar-block.medium-card .appointment-card-service{-webkit-line-clamp:2}.calendar-block.card-mode-compact.service-colour-block strong{display:block;line-height:1.04;white-space:nowrap;-webkit-line-clamp:unset}.calendar-block.card-mode-compact .appointment-card-service{display:block;line-height:1.04;white-space:nowrap;text-overflow:ellipsis;-webkit-line-clamp:unset}.calendar-block.tall-card .appointment-card-short-service{display:none}.calendar-block.tall-card{gap:3px}.calendar-block.tall-card .appointment-card-service{-webkit-line-clamp:3}.calendar-block.tall-card .appointment-card-footer{margin-top:1px;padding-top:0}.calendar-block.service-colour-block .appointment-card-service-row{min-width:0;display:flex;align-items:flex-start;gap:4px;overflow:hidden}.calendar-block.service-colour-block .appointment-card-service-row .appointment-card-service{min-width:0;flex:1 1 auto}.calendar-block.service-colour-block .appointment-card-time{color:#0f172a;font-size:.75rem;font-weight:780;line-height:1.08;flex:0 0 auto}.calendar-grid.compact-columns .calendar-block{left:2px;right:2px;padding:8px 7px 7px;border-radius:9px;gap:2px}.calendar-grid.compact-columns .calendar-block.short-card{padding:5px}.calendar-grid.compact-columns .calendar-block strong,.calendar-grid.compact-columns .calendar-block span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-grid.compact-columns .calendar-block strong{line-height:1.07}.calendar-grid.compact-columns .calendar-block.service-colour-block .appointment-card-service-row{gap:3px;overflow:hidden}.calendar-grid.compact-columns .calendar-block.service-colour-block .appointment-card-header{display:block}.calendar-grid.compact-columns .appointment-card-indicators{gap:2px;max-width:100%}.calendar-grid.compact-columns .appointment-card-indicator{width:auto;height:13px;flex-basis:auto;font-size:.6rem}.calendar-grid.compact-columns .appointment-card-indicator svg{width:11px;height:11px}.calendar-grid.compact-columns .appointment-card-indicator:nth-child(n+4){display:none}.calendar-grid.compact-columns .calendar-block.service-colour-block .appointment-card-service{flex:1 1 auto;display:-webkit-box;line-height:1.1;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.calendar-grid.compact-columns .calendar-block.short-card.service-colour-block .appointment-card-service{display:block;white-space:nowrap;text-overflow:ellipsis;-webkit-line-clamp:unset}.calendar-grid.compact-columns .calendar-block.short-card .appointment-card-short-service{font-size:.66rem}.calendar-grid.compact-columns .calendar-block.card-mode-ultra .appointment-card-footer,.calendar-grid.compact-columns .calendar-block.card-mode-ultra .appointment-status-marker,.calendar-grid.compact-columns .calendar-block.card-mode-ultra .appointment-status-marker-text{max-width:none;overflow:visible;text-overflow:clip}.calendar-grid.compact-columns .calendar-block.medium-card.service-colour-block .appointment-card-service,.calendar-grid.compact-columns .calendar-block.tall-card.service-colour-block .appointment-card-service{white-space:normal}.calendar-grid.compact-columns .calendar-block.medium-card.service-colour-block .appointment-card-service{-webkit-line-clamp:2}.calendar-grid.compact-columns .calendar-block.tall-card.service-colour-block .appointment-card-service{-webkit-line-clamp:3}.calendar-grid.compact-columns .calendar-block.medium-card.service-colour-block strong,.calendar-grid.compact-columns .calendar-block.tall-card.service-colour-block strong{white-space:normal;-webkit-line-clamp:2}.calendar-grid.compact-columns .calendar-block.service-colour-block .appointment-card-time{color:#0f172a;font-size:.72rem;font-weight:720;line-height:1.06}.calendar-grid.compact-columns .booking-requested-badge{flex:0 0 auto;width:14px;min-width:14px;height:14px;font-size:.58rem}.calendar-block.blocked{border-color:#47556975;border-left-color:#334155c2;background:repeating-linear-gradient(-45deg,#3341552b 0,#3341552b 8px,#d5dee8e6 8px,#d5dee8e6 16px),#dbe4ee;box-shadow:inset 0 0 0 1px #ffffff94}.calendar-block.blocked strong{color:#34404c;font-weight:760}.calendar-block.blocked span{color:#0f172a;font-weight:700}.calendar-block.blocked.blocked-medium{padding:5px 8px;justify-content:center;gap:1px}.calendar-block.blocked.blocked-short{padding:4px 7px;justify-content:center;gap:1px}.calendar-block.blocked.blocked-tiny{padding:1px 6px;align-items:center;justify-content:center;gap:2px;border-radius:8px}.calendar-block.blocked.blocked-medium strong,.calendar-block.blocked.blocked-short strong,.calendar-block.blocked.blocked-tiny strong{display:block;min-height:0;overflow:hidden;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.calendar-block.blocked.blocked-short strong,.calendar-block.blocked.blocked-tiny strong{font-size:.76rem}.calendar-block.blocked.blocked-tiny strong{font-size:.7rem}.calendar-block.blocked.blocked-tiny strong{max-width:100%;text-align:center;text-transform:uppercase;letter-spacing:.035em;font-size:.64rem;font-weight:850;line-height:.95}.calendar-block.blocked.blocked-short>span,.calendar-block.blocked.blocked-tiny>span{display:block;max-width:100%;overflow:hidden;line-height:1;text-overflow:ellipsis;white-space:nowrap}.calendar-block.blocked.blocked-short>span{color:#0f172a;font-size:.72rem;font-weight:760}.calendar-block.blocked.blocked-tiny>span{color:#0f172a;text-align:center;font-size:.64rem;font-weight:780}.calendar-block.blocked.blocked-short .recurrence-indicator,.calendar-block.blocked.blocked-tiny .recurrence-indicator{display:none}.calendar-block.blocked .recurrence-indicator{display:inline-flex;width:fit-content;margin-left:6px;border-radius:999px;padding:1px 5px;background:#1f29371f;color:#1f2937d1;font-size:.66rem;font-weight:850;vertical-align:1px}.calendar-block .blocked-remove{border-radius:6px}.drop-preview{border-radius:var(--radius);border-color:#315bdce6;background:#315bdc1c}.slot-action-menu,.booking-form,.admin-login,.setup-panel,.setup-card,.appointment-popover,.booking-modal,.setup-modal{border-radius:var(--radius);border-color:var(--line);box-shadow:var(--shadow-strong)}.slot-action-menu{padding:6px;background:#fffffffa;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.slot-action-menu strong{padding:14px 14px 12px;border-bottom:1px solid var(--line);font-size:.98rem}.slot-action-menu button{min-height:46px;border-radius:7px;border-bottom:0;padding:0 14px;background:transparent;font-size:.94rem}.slot-action-menu button:hover{background:#f4f7fb}.modal-backdrop{background:#0f172a52;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.booking-modal{width:min(560px,100%);padding:18px;gap:11px;background:#fffffff7;font-size:.9rem}.booking-modal label,.booking-modal .time-picker span{gap:5px;font-size:.78rem}.booking-modal input,.booking-modal select{min-height:34px;padding:0 10px;border-radius:6px;font-size:.84rem}.booking-modal textarea{min-height:82px;padding:9px 10px;border-radius:6px;font-size:.84rem}.modal-head{padding-bottom:12px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:1.22rem;line-height:1.1}.icon-button{border-radius:var(--radius);background:#fff}.icon-button:hover{border-color:#e05a7a47;background:#fff5f7;color:var(--rose-dark)}.appointment-summary{border:1px solid rgba(22,128,91,.14);background:#effaf5;color:#176348}.appointment-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-actions button,.service-add-row button,.secondary-action,.modal-actions button:not(.primary-action,.danger-action){min-height:36px;border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;color:var(--ink);font-size:.84rem;font-weight:850}.appointment-actions button.active{border-color:#315bdc59;background:#eef3ff;color:#2446a8}.primary-action,.danger-action{border-radius:var(--radius)}.booking-modal .primary-action,.booking-modal .danger-action,.booking-modal .modal-actions button{min-height:36px;font-size:.86rem}.booking-sheet-backdrop{padding:18px;background:#0f172a47;-webkit-backdrop-filter:blur(10px) saturate(.92);backdrop-filter:blur(10px) saturate(.92)}.appointment-sheet{width:min(540px,calc(100vw - 28px));max-height:min(720px,calc(100vh - 28px));padding:0;gap:0;overflow:auto;background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:8px;color:#111827;font-size:.88rem;box-shadow:0 24px 64px #0f172a3d}.appointment-sheet .modal-inline-notice{width:calc(100% - 28px);margin:10px 14px 0;font-size:.8rem}.sheet-nav{min-height:50px;position:sticky;top:0;z-index:2;display:grid;grid-template-columns:84px 1fr 84px;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid #e5e7eb;background:#fff}.sheet-nav h2{margin:0;color:#111827;font-size:1rem;font-weight:850;text-align:center}.sheet-nav button{min-height:34px;border:0;border-radius:7px;background:transparent;color:#374151;font-size:.86rem;font-weight:800}.sheet-nav button:hover{background:#f4f7fb}.sheet-nav button:first-child{justify-self:start}.sheet-nav button:last-child{justify-self:end;color:#4f46e5}.appointment-form-list,.sheet-fields,.sheet-section{display:grid;background:#fff}.sheet-row,.appointment-sheet .sheet-fields label{width:100%;min-height:52px;display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:12px;padding:9px 16px;border:0;border-bottom:1px solid #e5e7eb;background:#fff;color:#111827;text-align:left}.sheet-row:hover,.appointment-sheet .sheet-fields label:focus-within{background:#fafbfc}.sheet-row span,.appointment-sheet .sheet-fields label span{color:#6b7280;font-size:.77rem;font-weight:800;line-height:1.2}.sheet-row strong{min-width:0;color:#111827;font-size:.91rem;font-weight:800;line-height:1.25}.sheet-row .placeholder-value{color:#9ca3af;font-style:normal;font-weight:750}.stacked-row{justify-items:stretch}.inline-control-row{grid-template-columns:150px minmax(0,1fr)}.appointment-sheet select,.appointment-sheet input,.appointment-sheet textarea{width:100%;min-height:34px;border:1px solid transparent;border-radius:7px;background:transparent;color:#111827;padding:0 8px;font-size:.9rem;font-weight:750}.appointment-sheet select:focus,.appointment-sheet input:focus,.appointment-sheet textarea:focus{border-color:#4f46e547;background:#fff;box-shadow:0 0 0 3px #4f46e514}.appointment-sheet input::placeholder,.appointment-sheet textarea::placeholder{color:#9ca3af;font-style:normal;font-weight:700}.appointment-required-card{margin:8px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;background:#fff;box-shadow:inset 3px 0 #d9dee7}.appointment-required-card.missing{border-color:#e5e7eb;background:#fffefe;box-shadow:inset 3px 0 #f2b3b8}.appointment-required-card .sheet-row{background:transparent}.staff-request-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.staff-request-row small{display:block;color:#6b7280;font-size:.77rem;font-weight:800}.staff-request-row strong,.staff-request-row select{display:block;margin-top:2px;color:#111827;font-size:.9rem;font-style:normal}.staff-request-toggle{display:inline-flex;align-items:center;gap:8px;color:#6b7280;font-size:.78rem;font-weight:800}.staff-request-toggle input,.toggle-row input{width:38px;height:22px;accent-color:#4f46e5}.note-row{min-height:86px;align-items:start}.note-row textarea{min-height:52px;padding-top:7px;resize:vertical}.deposit-row strong{color:#4f46e5}.sheet-segmented{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:12px 14px;padding:3px;border:1px solid #e5e7eb;border-radius:8px;background:#f3f4f6}.sheet-segmented button{min-height:34px;border:0;border-radius:6px;background:transparent;color:#374151;font-size:.84rem;font-weight:850}.sheet-segmented button.active{background:#fff;color:#111827;box-shadow:0 1px 4px #0f172a1f}.sheet-search{margin:12px 14px;min-height:40px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;color:#6b7280}.sheet-search input{flex:1;min-height:36px;padding:0}.sheet-list{padding:0 14px 14px}.sheet-muted{margin:0;padding:12px 16px;color:#6b7280;font-size:.84rem;font-weight:750}.plain-row{min-height:46px}.plain-row strong{font-size:.88rem}.toggle-row{grid-template-columns:1fr auto;align-items:center}.service-picker-sheet{background:#fff}.service-picker-sheet .sheet-nav{background-color:#fff}.sheet-service-category-list,.service-option-list{display:grid;border-top:1px solid #e5e7eb;background:#fff}.sheet-service-category-list button,.service-choice-row{min-height:54px;display:grid;grid-template-columns:5px minmax(0,1fr) auto;align-items:center;gap:11px;padding:9px 14px;border:0;border-bottom:1px solid #e5e7eb;background:#fff;color:#111827;text-align:left}.sheet-service-category-list button:hover,.service-choice-row:hover{background:#f8fafc}.sheet-service-category-list button>span:nth-child(2){display:grid;gap:1px}.sheet-service-category-list strong,.service-choice-row strong{color:#111827;font-size:.9rem;font-weight:820;line-height:1.22}.sheet-service-category-list small{color:#6b7280;font-size:.76rem;font-weight:750}.service-choice-row>span:last-child{color:#111827;font-size:.86rem;font-weight:850}.service-colour-rail{width:4px;height:34px;border-radius:999px}.sheet-service-category-list svg{color:#9ca3af}.appointment-editor-sheet{width:min(600px,calc(100vw - 28px))}.editor-action-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:12px 14px;border-bottom:1px solid #e5e7eb;background:#f8fafc}.editor-action-strip button,.sheet-add-service-button,.sheet-service-add-row>button,.sheet-editor-footer button{min-height:34px;border:1px solid #d9dee7;border-radius:7px;background:#fff;color:#111827;font-size:.83rem;font-weight:850}.editor-action-strip button.active{border-color:#4f46e54d;background:#f3f4ff;color:#4338ca}.editor-action-strip button:hover,.sheet-add-service-button:hover,.sheet-service-add-row>button:hover,.sheet-editor-footer button:hover{border-color:#4f46e547;background:#f4f7fb}.sheet-service-add-row{display:grid;grid-template-columns:minmax(0,1fr) 88px;align-items:stretch;border-bottom:1px solid #e5e7eb}.sheet-service-add-row .sheet-row{border-bottom:0}.sheet-service-add-row>button{align-self:center;margin-right:14px;color:#be123c}.sheet-add-service-button{margin:10px 14px 12px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#4f46e5}.sheet-editor-footer{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px;border-top:1px solid #e5e7eb;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sheet-editor-footer button:last-child{border-color:transparent;background:#4f46e5;color:#fff}.sheet-editor-footer button:last-child:hover{background:#4338ca}.primary-action:hover{background:#243244}.danger-action{border-color:#be123c2e;background:#fff1f2;color:#be123c}.danger-action:hover{background:#ffe4e8}.appointment-popover-backdrop{padding:18px;background:#6b728094;-webkit-backdrop-filter:blur(12px) saturate(.86);backdrop-filter:blur(12px) saturate(.86)}.appointment-popover{width:min(382px,calc(100vw - 26px));overflow:visible;border:1px solid rgba(15,23,42,.12);border-radius:8px;background:#fff;color:#111827;font-size:.86rem;box-shadow:0 22px 58px #0f172a38}.appointment-popover-head,.appointment-popover-client,.appointment-popover-service,.quick-detail-list,.quick-status-row{border-bottom:1px solid #e5e7eb}.appointment-popover-head{min-height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 16px;font-size:.94rem;font-weight:900}.appointment-popover-head .icon-button.small{width:34px;height:34px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#111827}.appointment-popover-client{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#f8fafc}.appointment-popover-client h2,.appointment-popover-service h3{margin:0;font-size:1rem;line-height:1.22;font-weight:900;letter-spacing:0}.appointment-popover-client p{margin:3px 0 0;color:#4f46e5;font-weight:850;line-height:1.2}.appointment-popover-icons,.quick-actions{display:flex;align-items:center;gap:7px}.appointment-popover-icons button,.quick-actions button,.more-menu button,.quick-status-row button,.quick-checkout{min-height:34px;border:1px solid #d9dee7;border-radius:7px;background:#fff;color:#111827;font-size:.83rem;font-weight:900}.appointment-popover-icons button,.quick-actions .more-action>button{width:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:#4f46e5}.appointment-note-preview{margin:0;padding:12px 16px;border-bottom:1px solid #e8e3cc;background:#fffbe8;color:#374151;font-size:.86rem;line-height:1.35}.appointment-popover .modal-inline-notice{margin:10px 14px 0;font-size:.8rem}.appointment-popover-service{display:grid;gap:11px;padding:13px 16px 14px}.quick-actions{position:relative;display:grid;grid-template-columns:1fr 1.18fr 1fr 34px;align-items:stretch}.quick-actions>button{padding:0 8px;white-space:nowrap}.more-action{position:relative}.more-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:4;width:190px;display:grid;gap:3px;padding:6px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 18px 42px #0f172a2e}.more-menu button{min-height:34px;justify-content:flex-start;display:inline-flex;align-items:center;gap:8px;border-color:transparent;padding:0 9px;font-size:.82rem}.more-menu .danger-text{color:#be123c}.quick-detail-list{display:grid;gap:8px;padding:13px 16px;color:#334155;font-size:.85rem}.quick-detail-list span{display:inline-flex;align-items:center;gap:9px;min-width:0}.quick-detail-list svg{flex:0 0 auto;color:#64748b}.quick-status-row{display:grid;padding:12px 16px 13px;background:#f8fafc}.quick-status-row button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#fff}.quick-checkout{width:calc(100% - 32px);min-height:41px;margin:14px 16px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-color:transparent;border-radius:8px;background:#4f46e5;color:#fff;font-size:.9rem}.quick-checkout:hover{background:#4338ca}.quick-actions button:hover,.appointment-popover-icons button:hover,.appointment-popover-head .icon-button.small:hover,.quick-status-row button:hover,.more-menu button:hover{border-color:#4f46e54d;background:#f3f4ff;color:#4338ca}.appointment-popover button:disabled{opacity:.72;cursor:not-allowed}.appointment-form-popover{width:min(430px,calc(100vw - 26px));max-height:min(720px,calc(100vh - 28px));display:block;overflow:auto}.appointment-form-popover .sheet-nav{min-height:56px;position:sticky;top:0;z-index:3;display:grid;grid-template-columns:76px 1fr 76px;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid #e5e7eb;background:#fff}.appointment-form-popover .sheet-nav h2{margin:0;color:#111827;font-size:.98rem;font-weight:900;text-align:center}.appointment-form-popover .sheet-nav button{min-height:34px;border:0;border-radius:7px;background:transparent;color:#374151;padding:0 6px;font-size:.84rem;font-weight:850}.appointment-form-popover .sheet-nav button:last-child{color:#4f46e5}.appointment-form-popover .sheet-nav button:hover{background:#f4f7fb}.appointment-form-popover .appointment-form-list,.appointment-form-popover .sheet-fields,.appointment-form-popover .sheet-section{display:grid;background:#fff}.appointment-form-popover .sheet-row,.appointment-form-popover .sheet-fields label{width:100%;min-height:50px;display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:10px;padding:9px 16px;border:0;border-bottom:1px solid #e5e7eb;background:#fff;color:#111827;text-align:left}.appointment-form-popover .stacked-row{grid-template-columns:118px minmax(0,1fr)}.appointment-form-popover .sheet-row:hover,.appointment-form-popover .sheet-fields label:focus-within{background:#fafbfc}.appointment-form-popover .sheet-row span,.appointment-form-popover .sheet-fields label span,.appointment-form-popover .staff-request-row small{color:#6b7280;font-size:.76rem;font-weight:850;line-height:1.2}.appointment-form-popover .sheet-row strong{min-width:0;color:#111827;font-size:.9rem;font-weight:850;line-height:1.25}.appointment-form-popover .placeholder-value{color:#9ca3af;font-weight:750}.appointment-form-popover input,.appointment-form-popover select,.appointment-form-popover textarea{width:100%;min-height:34px;border:1px solid transparent;border-radius:7px;background:transparent;color:#111827;padding:0 8px;font-size:.88rem;font-weight:750}.appointment-form-popover textarea{min-height:54px;padding-top:7px;resize:vertical}.appointment-form-popover input:focus,.appointment-form-popover select:focus,.appointment-form-popover textarea:focus{border-color:#4f46e547;background:#fff;box-shadow:0 0 0 3px #4f46e514}.appointment-form-popover input::placeholder,.appointment-form-popover textarea::placeholder{color:#9ca3af;font-style:normal}.appointment-form-popover .modal-inline-notice{margin:10px 14px 0;font-size:.8rem}.appointment-form-popover .appointment-required-card{margin:0;border:0;border-bottom:1px solid #e5e7eb;background:#fff;box-shadow:inset 3px 0 #d9dee7}.appointment-form-popover .appointment-required-card.missing{box-shadow:inset 3px 0 #f2b3b8}.appointment-form-popover .staff-request-row select{margin-top:2px;padding-left:0;font-style:normal}.appointment-form-popover .staff-request-toggle{display:inline-flex;align-items:center;gap:7px;color:#6b7280;font-size:.76rem;font-weight:850}.appointment-form-popover .staff-request-toggle input,.appointment-form-popover .toggle-row input{width:34px;height:20px;accent-color:#4f46e5}.appointment-form-popover .note-row{min-height:84px;align-items:start}.appointment-form-popover .deposit-row strong,.appointment-form-popover .sheet-add-service-button{color:#4f46e5}.appointment-form-popover .sheet-segmented{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:12px 14px;padding:3px;border:1px solid #e5e7eb;border-radius:8px;background:#f3f4f6}.appointment-form-popover .sheet-segmented button{min-height:34px;border:0;border-radius:6px;background:transparent;color:#374151;font-size:.83rem;font-weight:850}.appointment-form-popover .sheet-segmented button.active{background:#fff;color:#111827;box-shadow:0 1px 4px #0f172a1f}.appointment-form-popover .sheet-search{margin:12px 14px;min-height:40px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;color:#6b7280}.appointment-form-popover .sheet-search input{flex:1;min-height:36px;padding:0}.appointment-form-popover .sheet-list{padding:0 14px 14px}.appointment-form-popover .sheet-muted{margin:0;padding:12px 16px;color:#6b7280;font-size:.84rem;font-weight:750}.appointment-form-popover .sheet-service-category-list,.appointment-form-popover .service-option-list{display:grid;border-top:1px solid #e5e7eb;background:#fff}.appointment-form-popover .sheet-service-category-list button,.appointment-form-popover .service-choice-row{min-height:52px;display:grid;grid-template-columns:5px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 14px;border:0;border-bottom:1px solid #e5e7eb;background:#fff;color:#111827;text-align:left}.appointment-form-popover .sheet-service-category-list button:hover,.appointment-form-popover .service-choice-row:hover{background:#f8fafc}.appointment-form-popover .service-colour-rail{width:4px;height:32px;border-radius:999px}.appointment-form-popover .sheet-service-category-list strong,.appointment-form-popover .service-choice-row strong{font-size:.88rem;font-weight:850}.appointment-form-popover .sheet-service-category-list small,.appointment-form-popover .service-choice-row>span:last-child{color:#6b7280;font-size:.76rem;font-weight:750}.appointment-form-popover .editor-action-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:12px 14px;border-bottom:1px solid #e5e7eb;background:#f8fafc}.appointment-form-popover .editor-action-strip button,.appointment-form-popover .sheet-add-service-button,.appointment-form-popover .sheet-service-add-row>button,.appointment-form-popover .sheet-editor-footer button{min-height:34px;border:1px solid #d9dee7;border-radius:7px;background:#fff;color:#111827;font-size:.82rem;font-weight:850}.appointment-form-popover .editor-action-strip button.active{border-color:#4f46e54d;background:#f3f4ff;color:#4338ca}.appointment-form-popover .sheet-service-add-row{display:grid;grid-template-columns:minmax(0,1fr) 84px;align-items:stretch;border-bottom:1px solid #e5e7eb}.appointment-form-popover .sheet-service-add-row .sheet-row{border-bottom:0}.appointment-form-popover .sheet-service-add-row>button{align-self:center;margin-right:14px;color:#be123c}.appointment-form-popover .sheet-add-service-button{margin:10px 14px 12px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.appointment-form-popover .sheet-editor-footer{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px;border-top:1px solid #e5e7eb;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.appointment-form-popover .sheet-editor-footer button:last-child{border-color:transparent;background:#4f46e5;color:#fff}label,.time-picker span{gap:7px;color:#4b5563;font-size:.84rem}input,select,textarea{border-color:#11182721;background:#fff;color:var(--ink);box-shadow:0 1px #11182705}input:hover,select:hover,textarea:hover{border-color:#315bdc47}input:focus,select:focus,textarea:focus{border-color:#315bdc6b;box-shadow:0 0 0 4px #315bdc17}.tiny-note{color:#667085}.client-match-list button,.selected-client{border-radius:var(--radius)}.setup-mega-menu{top:70px;border-radius:var(--radius);box-shadow:var(--shadow-strong)}.setup-menu-column button:hover,.setup-side-nav button:hover{background:#f4f7fb;color:#2446a8}.setup-modal{width:min(1280px,96vw);padding:22px;background:#fffffff7}.setup-workspace{grid-template-columns:220px minmax(0,1fr);gap:24px}.setup-side-nav{position:sticky;top:0;padding:8px 14px 8px 0}.setup-side-nav button.active,.service-category-list button.active{background:#111827;color:#fff}.inline-add-card,.service-category-head p{border-radius:var(--radius);background:#f8fafc}.staff-row,.service-row{border-bottom-color:var(--line)}.staff-row{padding:15px 0}.staff-photo,.photo-placeholder,.service-colour-dot,.staff-row button,.service-row button,.editor-actions button{border-radius:var(--radius)}.service-list-layout{gap:26px}.service-list-actions,.service-list-search{display:flex;align-items:center}.service-list-actions{gap:10px}.service-list-search{width:min(260px,30vw);min-height:40px;gap:8px;padding:0 11px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-strong);color:var(--muted)}.service-list-search input{min-width:0;width:100%;border:0;padding:0;background:transparent;box-shadow:none}.service-category-list{padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:#f8fafc}.service-category-list button{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#344054}.service-category-list button small{color:inherit;opacity:.65;font-size:.75rem}.service-row{min-height:70px;padding:10px 12px}.service-row-button{width:100%;grid-template-columns:30px minmax(180px,1fr) repeat(3,minmax(82px,.45fr)) auto;gap:14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--charcoal);text-align:left;cursor:pointer}.service-row-button:hover{background:#f8fafc}.service-row-button .service-colour-dot{width:24px;height:24px;border-radius:6px;box-shadow:inset 0 0 0 1px #0f172a14}.service-row-name,.service-row-metric{display:grid;gap:3px}.service-row-name strong,.service-row-metric strong{font-size:.88rem}.service-row-name small,.service-row-metric small,.service-category-head span{color:var(--muted);font-size:.75rem}.service-status-pill{padding:4px 8px;border-radius:999px;background:#e9f7ef;color:#26734d;font-size:.72rem;font-weight:800}.service-category-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.service-list-empty{min-height:180px;margin:0;display:grid;place-content:center;gap:5px;padding:24px;color:var(--muted);text-align:center}.service-list-empty strong{color:var(--charcoal)}.services-setup-layout,.service-editor-layout{width:100%;max-width:1480px;grid-template-columns:230px minmax(0,1fr);gap:28px}.services-setup-content,.service-editor-content{min-height:calc(100vh - 116px)}.services-setup-content{padding:0;border:0;background:transparent;box-shadow:none}.services-content-head{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(31,41,51,.08)}.services-content-head .eyebrow,.services-content-head h3{margin:0}.services-content-head h3{margin-top:3px;font-size:1.18rem;letter-spacing:0}.services-content-head>div>span{color:var(--muted);font-size:.78rem}.services-setup-page .service-category-list{padding:8px;border:1px solid rgba(31,41,51,.08);background:#ffffffb8}.services-setup-page .service-category-list>strong{display:flex;justify-content:space-between}.services-setup-page .service-category-list>strong small{color:var(--muted);font-size:.75rem}.service-category-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;align-items:center;border-radius:8px}.service-category-select{min-height:42px;padding-inline:12px;border-radius:8px;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.service-category-row:not(.active):hover .service-category-select{background:#f0f4f8db;color:#243b53}.service-category-row.active .service-category-select{background:#eaf0ff;color:#24479a;box-shadow:inset 3px 0 #4f63e8,0 1px 2px #2335590d}.service-category-row.empty-category:not(.active) .service-category-select{color:#8a939e;font-weight:650}.service-category-menu-trigger{width:32px;min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:#7b8794;opacity:0;transition:opacity .13s ease,background-color .13s ease,color .13s ease}.service-category-row:hover .service-category-menu-trigger,.service-category-row:focus-within .service-category-menu-trigger,.service-category-menu-trigger[aria-expanded=true]{opacity:1}.service-category-menu-trigger:hover,.service-category-menu-trigger[aria-expanded=true]{border-color:#1f293314;background:#ffffffd1;color:#243b53}.service-category-action-menu{position:absolute;z-index:20;top:calc(100% - 2px);right:0;width:196px;display:grid;gap:2px;padding:6px;border:1px solid rgba(31,41,51,.1);border-radius:9px;background:#fff;box-shadow:0 14px 34px #1f293329}.service-category-action-menu button{min-height:34px;justify-content:flex-start;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#344054;font-size:.78rem;font-weight:700;text-align:left}.service-category-action-menu button:hover:not(:disabled){background:#f2f5f8}.service-category-action-menu button.danger{color:#a33a3a}.service-category-action-menu button:disabled{color:#aab2bd;cursor:not-allowed}.service-category-action-note{padding:2px 10px 5px;color:#8a939e;font-size:.68rem;line-height:1.3}.service-category-add-button{width:100%;min-height:36px;margin-top:10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px dashed rgba(49,91,220,.28);border-radius:8px;background:#ffffffeb;color:#315bdc;font-size:.78rem;font-weight:780}.service-category-add-button:hover{background:#fff;border-color:#315bdc6b}.service-list-column-head{min-height:34px;display:grid;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(82px,.45fr)) auto;gap:14px;align-items:center;padding:0 12px 0 56px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.services-setup-page .service-list{overflow:hidden;border:1px solid rgba(31,41,51,.08);border-radius:8px;background:#fff;box-shadow:0 8px 24px #1f293309}.service-editor-page{scroll-behavior:smooth}.service-editor-top-actions,.service-editor-footer>div,.service-staff-toolbar{display:flex;align-items:center;gap:9px}.service-editor-content{align-self:start}.service-editor-section{scroll-margin-top:84px;padding:20px 0 22px}.service-editor-section>div:first-child p{max-width:250px}.service-editor-section .editor-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.service-editor-wide-field{grid-column:1 / -1}.service-editor-field-row{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:14px}.service-editor-field-row.three-column{grid-template-columns:repeat(3,minmax(110px,1fr))}.service-timing-field{align-content:start}.service-timing-field>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.service-timing-field>span small{flex:0 0 auto;padding:2px 6px;border:1px solid rgba(74,87,104,.1);border-radius:999px;background:#f4f6f8;color:#6c7783;font-size:.59rem;font-style:normal;font-weight:760;line-height:1.2;letter-spacing:0;text-transform:none}.service-timing-field>em{color:#77818c;font-size:.68rem;font-style:normal;font-weight:560;line-height:1.4}.service-colour-control{min-height:54px;display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.service-colour-control input{position:absolute;width:1px;height:1px;opacity:0}.service-colour-control span{width:34px;height:34px;border-radius:7px;box-shadow:inset 0 0 0 1px #0f172a1f}.service-colour-control strong{font-size:.82rem}.service-staff-panel{display:grid;gap:12px}.service-staff-toolbar{justify-content:space-between}.service-staff-toolbar .service-list-search{width:min(280px,100%)}.service-staff-bulk-actions{display:flex;align-items:center;gap:5px}.service-staff-bulk-actions button{min-height:30px;padding:5px 9px;border:1px solid rgba(31,41,51,.1);border-radius:7px;background:#fff;color:#53606d;font-size:.72rem;font-weight:760}.service-staff-grid{display:grid;gap:8px}.service-staff-override-row{min-height:68px;display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(150px,1fr) minmax(150px,1fr);align-items:center;gap:12px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff}.service-staff-override-row.assigned{border-color:#315bdc38;background:#f7f9fe}.service-staff-override-row.unassigned{color:#66717d;background:#fafbfc}.service-staff-identity{display:grid;grid-template-columns:auto 30px minmax(0,1fr);align-items:center;gap:9px}.service-staff-identity>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#eef2f7;color:#52606d;font-size:.66rem;font-weight:850}.service-staff-identity>strong{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.service-staff-identity>small{grid-column:3;color:var(--muted);font-size:.68rem;font-weight:750;white-space:nowrap}.service-staff-override-row.assigned .service-staff-identity>small{color:#3157a5}.service-staff-override-field{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px}.service-staff-override-field>span{grid-column:1 / -1;color:#596675;font-size:.67rem;font-weight:780}.service-staff-input-wrap{min-height:32px;display:flex;align-items:center;gap:5px;padding:0 8px;border:1px solid rgba(31,41,51,.12);border-radius:7px;background:#fff}.service-staff-input-wrap:focus-within{border-color:#315bdc8c;box-shadow:0 0 0 2px #315bdc1a}.service-staff-input-wrap input{width:100%;min-width:0;padding:0;border:0;background:transparent;box-shadow:none;font-size:.78rem;font-weight:760;outline:none}.service-staff-input-wrap input:disabled{opacity:.45}.service-staff-input-wrap b{color:#6b7580;font-size:.7rem}.service-staff-override-field>small{grid-column:1;color:var(--muted);font-size:.64rem;line-height:1.2}.service-staff-override-field>button{grid-column:2;padding:0;border:0;background:transparent;color:#3157a5;font-size:.65rem;font-weight:780}.service-staff-override-row.unassigned .service-staff-override-field{opacity:.56}.service-staff-load-note{margin:0;color:#9a5d16;font-size:.78rem}.service-online-option{padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.service-editor-footer{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid rgba(31,41,51,.08)}.service-archive-action{border:0;background:transparent;color:#8b4b4b;font-size:.78rem;font-weight:750}.service-archive-action:hover{color:#743838;text-decoration:underline}.service-discard-backdrop{z-index:100}.service-discard-backdrop .confirmation-modal{width:min(390px,calc(100vw - 32px));min-height:0;padding:22px;border-radius:10px;box-shadow:0 22px 60px #0f172a38}.service-discard-backdrop .confirmation-modal h2{margin:4px 0 7px;font-size:1.12rem;letter-spacing:0}.service-discard-backdrop .confirmation-modal p{margin:0;color:var(--muted);font-size:.86rem}.service-discard-backdrop .modal-actions{margin-top:20px;justify-content:flex-end}.category-dialog{width:min(440px,calc(100vw - 28px))}.category-dialog-form{display:grid;gap:14px;margin-top:18px}.category-dialog-form label{display:grid;gap:7px;color:#52606d;font-size:.75rem;font-weight:800;letter-spacing:.01em;text-transform:uppercase}.category-dialog-form label input,.category-merge-selector{text-transform:none}.category-merge-selector>span{color:#52606d;font-size:.75rem;font-weight:800;letter-spacing:.01em;text-transform:uppercase}.category-merge-summary{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;padding:12px;border:1px solid rgba(31,41,51,.08);border-radius:9px;background:#f8fafc}.category-merge-summary>span{min-width:0;display:grid;gap:2px}.category-merge-summary small{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.category-merge-summary strong{overflow:hidden;color:#243b53;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.category-dialog-error{margin:0;color:#b42318;font-size:.82rem;font-weight:700}.category-dialog-meta{display:grid;gap:3px;padding:10px 12px;border:1px solid rgba(31,41,51,.08);border-radius:10px;background:#f8fafc}.category-dialog-meta span{color:#243b53;font-size:.82rem;font-weight:750}.category-dialog-meta small{color:var(--muted);font-size:.75rem}.category-dialog-actions{align-items:center}.category-dialog-actions .subtle-danger-action{margin-right:auto;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#b42318;font-weight:700}.category-dialog-actions .subtle-danger-action:disabled{color:#98a2b3;cursor:not-allowed}.editor-sticky-head{top:0;margin:-22px -22px 16px;padding:14px 22px;border-radius:var(--radius) var(--radius) 0 0;background:#fffffffa;box-shadow:0 12px 26px #0f172a0f}.editor-section{grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:34px}.editor-section h3{font-size:1.18rem}.round-check input,.option-list input,.service-check-grid input{accent-color:var(--blue)}.booking-layout{min-height:calc(100vh - 36px);align-items:center}.booking-intro h2{max-width:640px}.time-grid button{border-radius:var(--radius);font-weight:850}.time-grid button:hover{border-color:#16805b4d;background:#effaf5}.time-grid button.selected{background:var(--green);border-color:var(--green)}@media (max-width: 1100px){.product-header{flex-wrap:wrap}.header-stats{width:100%;justify-content:flex-start;flex-wrap:wrap}.setup-workspace,.service-list-layout,.editor-section{grid-template-columns:1fr}.business-details-editor .business-details-section{grid-template-columns:1fr;gap:12px}.business-setup-layout{grid-template-columns:180px minmax(0,1fr);gap:24px;padding-inline:22px}.setup-side-nav{position:static;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));border-right:0;border-bottom:1px solid var(--line);padding:0 0 14px}.setup-side-nav strong{grid-column:1 / -1}.inline-add-card{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-add-card .primary-action{grid-column:1 / -1}}@media (max-width: 820px){.app-shell{padding:12px}.calendar-wrap{margin:0 -12px;height:calc(100vh - 24px);min-height:620px;padding:0 12px}.product-header,.calendar-toolbar{min-width:0}.product-header{gap:12px}.header-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.header-stats>div{min-height:38px}.calendar-toolbar{align-items:stretch;position:static}.toolbar-group,.calendar-controls{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.date-display-button,.calendar-controls button{width:100%;justify-content:center}.date-picker-anchor{width:100%}.calendar-date-popover{left:0;width:min(428px,calc(100vw - 24px));transform:none}.calendar-grid{min-width:max(860px,calc(var(--staff-count) * 170px + 72px))}.staff-head{position:sticky;top:0}.booking-modal,.setup-modal{width:min(100%,720px);max-height:calc(100vh - 24px);padding:18px}.modal-backdrop{padding:12px;align-items:start}.modal-head h2{font-size:1.28rem}.appointment-actions,.compact-fields,.editor-fields,.timing-fields,.service-check-grid,.service-row dl,.service-add-row{grid-template-columns:1fr}.modal-actions{display:grid;grid-template-columns:1fr;align-items:stretch}.modal-actions button,.secondary-action,.danger-action,.primary-action{width:100%}.service-list-actions{width:100%;flex-wrap:wrap}.service-list-search{width:auto;flex:1 1 220px}.staff-row,.service-row{grid-template-columns:42px minmax(0,1fr)}.service-row-button{grid-template-columns:28px minmax(0,1fr) auto}.service-row-button .service-row-metric{grid-column:2 / -1}.staff-row button,.service-row button{grid-column:1 / -1;width:100%}.inline-add-card{grid-template-columns:1fr}.hours-row{grid-template-columns:1fr;gap:10px;padding:12px 0}.hour-inputs{display:grid;grid-template-columns:1fr auto 1fr}.hour-inputs input{width:100%}}@media (max-width: 520px){.brand-cluster{min-width:0}.brand-icon{width:34px;height:34px}.product-header h1{font-size:1.28rem}.header-stats,.toolbar-group,.calendar-controls{grid-template-columns:1fr}.setup-mega-menu{margin-left:0;margin-right:0}.service-category-list{padding:6px}}.setup-menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:28;display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:#0f172a05;cursor:default}.setup-mega-menu{z-index:36;top:68px;left:18px;right:auto;width:min(780px,calc(100vw - 36px));max-height:min(620px,calc(100vh - 110px));grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(15,23,42,.1);border-radius:12px;background:#fffffffa;box-shadow:0 24px 70px #0f172a29;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden auto}.setup-menu-column{padding:16px 16px 14px;gap:6px;border-left:1px solid rgba(226,232,240,.95)}.setup-menu-column h3{margin:4px 0 6px;color:#7a8492;font-size:.7rem;line-height:1;font-weight:900;letter-spacing:.12em}.setup-menu-column h3:not(:first-child){margin-top:18px}.setup-menu-column button{min-height:32px;border-radius:8px;padding:0 10px;color:#202a36;font-size:.84rem;font-weight:850;transition:background .14s ease,color .14s ease,transform .14s ease}.setup-menu-column button:hover{background:#eef2ff;color:#4f46e5;transform:translate(2px)}.setup-menu-column button:focus-visible{outline:3px solid rgba(79,70,229,.16);outline-offset:1px}.setup-menu-column button.muted-action{color:#64748b}.setup-menu-column button.muted-action:hover{background:#f8fafc;color:#334155}@media (max-width: 820px){.setup-mega-menu{left:12px;width:min(620px,calc(100vw - 24px));grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.setup-mega-menu{top:64px;grid-template-columns:1fr;max-height:min(720px,calc(100vh - 86px))}}.modal-backdrop,.appointment-popover-backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.modal-backdrop{background:#0f172a47}.appointment-popover-backdrop{background:#0f172a52}.setup-mega-menu,.slot-action-menu,.calendar-date-popover{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}@keyframes popup-rise{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-backdrop{background:linear-gradient(180deg,#0f172a42,#0f172a57)}.appointment-popover-backdrop{background:linear-gradient(180deg,#0f172a47,#0f172a61)}.appointment-popover,.booking-modal,.setup-modal,.setup-mega-menu,.slot-action-menu,.calendar-date-popover{border:1px solid rgba(79,70,229,.13);border-radius:14px;background:#fff;color:#111827;box-shadow:0 28px 80px #0f172a38,0 8px 22px #4f46e514,inset 0 1px #ffffffc7}.appointment-popover,.booking-modal,.setup-modal{animation:popup-rise .16s ease-out}.appointment-popover{overflow:hidden;font-size:.84rem}.appointment-form-popover{background:linear-gradient(180deg,#fff,#fbfcff)}.appointment-popover:before,.booking-modal:before,.setup-modal:before,.calendar-date-popover:before{content:"";display:block;height:4px;background:linear-gradient(90deg,#4f46e5,#e6758f 54%,#18b79b)}.appointment-form-popover .sheet-nav,.appointment-popover-head,.modal-head{min-height:52px;background:linear-gradient(180deg,#fff,#fbfcff);border-bottom-color:#4f46e51a}.appointment-form-popover .sheet-nav h2,.appointment-popover-head,.modal-head h2{color:#111827;font-size:.96rem;font-weight:950;letter-spacing:0}.appointment-form-popover .sheet-nav button,.appointment-popover-head .icon-button.small,.appointment-popover-icons button,.quick-actions button,.quick-status-row button,.sheet-editor-footer button,.editor-action-strip button,.sheet-add-service-button,.sheet-service-add-row>button{border-radius:10px;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease,box-shadow .12s ease}.appointment-form-popover .sheet-nav button:hover,.appointment-popover-head .icon-button.small:hover,.appointment-popover-icons button:hover,.quick-actions button:hover,.quick-status-row button:hover,.sheet-editor-footer button:hover,.editor-action-strip button:hover,.sheet-add-service-button:hover,.sheet-service-add-row>button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #4f46e514}.appointment-form-popover .sheet-nav button:last-child,.appointment-form-popover .deposit-row strong,.appointment-form-popover .sheet-add-service-button,.appointment-popover-client p{color:#4f46e5}.appointment-form-popover .appointment-form-list,.appointment-form-popover .sheet-fields,.appointment-form-popover .sheet-section,.appointment-form-popover .sheet-service-category-list,.appointment-form-popover .service-option-list{background:transparent}.appointment-form-popover .sheet-row,.appointment-form-popover .sheet-fields label,.appointment-form-popover .sheet-service-category-list button,.appointment-form-popover .service-choice-row{border-bottom-color:#0f172a12;background:#ffffffd1}.appointment-form-popover .sheet-row:hover,.appointment-form-popover .sheet-fields label:focus-within,.appointment-form-popover .sheet-service-category-list button:hover,.appointment-form-popover .service-choice-row:hover{background:#f7f8ff}.appointment-form-popover .sheet-row span,.appointment-form-popover .sheet-fields label span,.appointment-form-popover .staff-request-row small,.appointment-form-popover .sheet-service-category-list small,.appointment-form-popover .service-choice-row>span:last-child{color:#7a8492;font-style:normal;letter-spacing:0}.appointment-form-popover .sheet-row strong,.appointment-form-popover .sheet-service-category-list strong,.appointment-form-popover .service-choice-row strong,.appointment-popover-client h2,.appointment-popover-service h3{font-style:normal;font-weight:900;letter-spacing:0}.appointment-form-popover .placeholder-value,.appointment-form-popover input::placeholder,.appointment-form-popover textarea::placeholder{color:#a8b0bb;font-style:normal;font-weight:800}.appointment-form-popover input,.appointment-form-popover select,.appointment-form-popover textarea,.booking-modal input,.booking-modal select,.booking-modal textarea,.setup-modal input,.setup-modal select,.setup-modal textarea{border-radius:10px;font-style:normal}.appointment-form-popover input:focus,.appointment-form-popover select:focus,.appointment-form-popover textarea:focus,.booking-modal input:focus,.booking-modal select:focus,.booking-modal textarea:focus,.setup-modal input:focus,.setup-modal select:focus,.setup-modal textarea:focus{border-color:#4f46e552;box-shadow:0 0 0 4px #4f46e51a}.appointment-form-popover .appointment-required-card{border-bottom-color:#0f172a12;background:#fffbfc;box-shadow:inset 4px 0 #cbd5e1}.appointment-form-popover .appointment-required-card.missing{background:#fff8f9;box-shadow:inset 4px 0 #e6758f}.appointment-form-popover .sheet-segmented{border-radius:12px;background:#eef1f6}.appointment-form-popover .sheet-segmented button{border-radius:9px}.appointment-form-popover .sheet-segmented button.active,.appointment-form-popover .editor-action-strip button.active{background:#fff;color:#4f46e5;box-shadow:0 8px 18px #0f172a1a}.appointment-form-popover .sheet-search{border-radius:12px;background:#f3f5f9}.appointment-form-popover .service-colour-rail,.service-colour-rail{width:5px;border-radius:999px;box-shadow:0 0 0 3px #ffffffe6}.appointment-popover-client{background:linear-gradient(180deg,#f8faff,#f4f7fb)}.appointment-note-preview,.appointment-popover .modal-inline-notice.quiet,.appointment-form-popover .modal-inline-notice.quiet{border-color:#e6758f24;background:#fff9e8}.quick-checkout,.appointment-form-popover .sheet-editor-footer button:last-child,.primary-action{border-color:transparent;background:linear-gradient(135deg,#4f46e5,#6d5dfc);color:#fff;box-shadow:0 12px 24px #4f46e533}.quick-checkout:hover,.appointment-form-popover .sheet-editor-footer button:last-child:hover,.primary-action:hover{background:linear-gradient(135deg,#4338ca,#5b4ff0)}.staff-request-toggle input,.appointment-form-popover .toggle-row input{border-radius:999px}.setup-mega-menu,.slot-action-menu,.calendar-date-popover{box-shadow:0 22px 64px #0f172a2e,0 7px 18px #4f46e514}.appointment-popover,.booking-modal,.setup-modal{border-radius:16px;border-color:#554cb42e;background:radial-gradient(circle at 14% -8%,rgba(230,117,143,.11),transparent 28%),radial-gradient(circle at 92% -10%,rgba(24,183,155,.12),transparent 26%),#fff;box-shadow:0 34px 90px #0f172a3d,0 12px 34px #554cb421}.appointment-popover:before,.booking-modal:before,.setup-modal:before,.calendar-date-popover:before{height:9px;background:linear-gradient(90deg,#5b4ff0,#8a5cf6 22%,#e6758f 52%,#f2bd5c 74%,#18b79b);box-shadow:0 4px 16px #e6758f38}.appointment-form-popover{width:min(446px,calc(100vw - 26px));background:radial-gradient(circle at 18% -4%,rgba(230,117,143,.09),transparent 26%),radial-gradient(circle at 92% -8%,rgba(79,70,229,.08),transparent 22%),#fff}.appointment-form-popover .sheet-nav{min-height:58px;padding:0 18px;background:#ffffffeb}.appointment-form-popover .sheet-nav h2{color:#111827;font-size:1.04rem;font-weight:850}.appointment-form-popover .sheet-nav button{color:#374151;font-size:.86rem;font-weight:800}.appointment-form-popover .sheet-nav button:last-child{color:#554cf0}.appointment-form-popover .sheet-row,.appointment-form-popover .sheet-fields label{min-height:66px;grid-template-columns:1fr;align-items:start;gap:6px;padding:14px 20px;background:#ffffffc2}.appointment-form-popover .sheet-row span,.appointment-form-popover .sheet-fields label span,.appointment-form-popover .staff-request-row small{color:#8b9199;font-size:.9rem;font-weight:700;line-height:1.1}.appointment-form-popover .sheet-row strong,.appointment-form-popover .sheet-fields input,.appointment-form-popover .sheet-fields select,.appointment-form-popover .sheet-fields textarea,.appointment-form-popover .sheet-row input,.appointment-form-popover .sheet-row select,.appointment-form-popover .sheet-row textarea{color:#35414b;font-size:1.08rem;font-style:normal!important;font-weight:700;line-height:1.2}.appointment-form-popover .placeholder-value,.appointment-form-popover input::placeholder,.appointment-form-popover textarea::placeholder{color:#c7ccd2;font-style:normal!important;font-weight:650}.appointment-form-popover input,.appointment-form-popover select,.appointment-form-popover textarea,.appointment-form-popover button,.booking-modal input,.booking-modal select,.booking-modal textarea,.booking-modal button,.setup-modal input,.setup-modal select,.setup-modal textarea,.setup-modal button{font-style:normal!important}.appointment-form-popover .appointment-required-card{margin:10px 14px;overflow:hidden;border:1px solid rgba(230,117,143,.28);border-radius:12px;background:#fff8f9;box-shadow:inset 7px 0 #d7dce3,0 10px 24px #e6758f14}.appointment-form-popover .appointment-required-card.missing{border-color:#e6758f6b;background:linear-gradient(90deg,rgba(230,117,143,.08),transparent 48%),#fff8f9;box-shadow:inset 7px 0 #e6758f,0 12px 28px #e6758f24}.appointment-form-popover .appointment-required-card .sheet-row{background:transparent}.appointment-form-popover .staff-request-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.appointment-form-popover .staff-request-row>span:first-child{display:grid;gap:6px}.appointment-form-popover .staff-request-row select{min-height:28px;color:#7d838a;font-size:1.08rem;font-weight:650}.appointment-form-popover .staff-request-toggle{color:#8b9199;font-size:.84rem;font-weight:800}.appointment-form-popover .staff-request-toggle input,.appointment-form-popover .toggle-row input{width:52px;height:34px;border:2px solid #d8dde4;border-radius:999px;accent-color:#5b4ff0}.appointment-form-popover .note-row{min-height:136px}.appointment-form-popover .deposit-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.appointment-form-popover .deposit-row strong{color:#35414b}.appointment-form-popover .deposit-row:after,.appointment-form-popover .sheet-service-category-list button:after{content:"›";color:#c2c6cc;font-size:2rem;line-height:1}.appointment-form-popover .sheet-search{min-height:48px;border:0;border-radius:14px;background:#eef0f3}.appointment-form-popover .sheet-segmented{border:0;border-radius:14px;background:#e8eaed}.appointment-form-popover .sheet-segmented button{min-height:40px;color:#35414b;font-size:.9rem}.appointment-form-popover .sheet-service-category-list button,.appointment-form-popover .service-choice-row{min-height:68px;grid-template-columns:5px minmax(0,1fr) auto;padding:12px 18px}.appointment-form-popover .sheet-service-category-list strong,.appointment-form-popover .service-choice-row strong{color:#35414b;font-size:1.02rem;font-weight:720}.appointment-form-popover .appointment-required-card{grid-template-columns:1.35fr 1fr;align-items:stretch;border-color:#e6758f33;background:linear-gradient(135deg,#ffffffeb,#fff8f9f0),#fff}.appointment-form-popover .appointment-required-card.missing{background:radial-gradient(circle at 0% 0%,rgba(230,117,143,.12),transparent 34%),#fffafb}.appointment-form-popover .appointment-required-card>.sheet-row:first-child{grid-row:span 2}.appointment-form-popover .appointment-required-card .sheet-row{min-height:58px;border-right:1px solid rgba(15,23,42,.06);border-bottom:1px solid rgba(15,23,42,.06);background:transparent}.appointment-form-popover .appointment-required-card .sheet-row:nth-child(2n){border-right:0}.appointment-form-popover .appointment-required-card .sheet-row:last-child,.appointment-form-popover .appointment-required-card .service-detail-row:last-child{border-bottom:0}.appointment-form-popover .staff-request-row{grid-template-columns:minmax(0,1fr);gap:9px}.appointment-form-popover .staff-request-toggle{width:fit-content;min-height:30px;display:inline-flex;flex-direction:row-reverse;align-items:center;gap:8px;padding:4px 5px 4px 10px;border:1px solid rgba(79,70,229,.14);border-radius:999px;background:#fff;color:#7a8492;box-shadow:0 5px 14px #0f172a0d}.appointment-form-popover .staff-request-toggle input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:40px;height:22px;margin:0;border:0;border-radius:999px;background:#e7ebf0;box-shadow:inset 0 0 0 1px #0f172a12;cursor:pointer}.appointment-form-popover .staff-request-toggle input:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 2px 7px #0f172a2e;transition:transform .14s ease}.appointment-form-popover .staff-request-toggle input:checked{background:linear-gradient(135deg,#5b4ff0,#18b79b)}.appointment-form-popover .staff-request-toggle input:checked:after{transform:translate(18px)}.appointment-form-popover .staff-request-row select{max-width:100%;border-radius:9px;background:#fff;padding:0 26px 0 0;font-size:.95rem;overflow:hidden;text-overflow:ellipsis}.appointment-form-popover .appointment-required-card .sheet-row:first-child strong{font-size:1rem}.appointment-form-popover .appointment-required-card.missing .staff-request-row{min-width:0;display:grid;grid-template-columns:1fr;align-content:center;gap:8px;padding-right:14px}.appointment-form-popover .appointment-required-card.missing .staff-request-row>span:first-child{overflow:hidden}.appointment-form-popover .appointment-required-card.missing .staff-request-toggle{position:relative;z-index:1}.booking-requested-badge{width:14px;height:14px;flex:0 0 14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(17,24,39,.32);border-radius:999px;background:#ffffff9e;color:#111827ad;font-size:.56rem;font-weight:900;line-height:1;overflow:visible}.appointment-form-popover .appointment-required-card.has-service{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;margin:10px 14px 8px;overflow:visible;border:1px solid rgba(203,213,225,.92);border-left:7px solid #18b79b;border-radius:14px;background:#fff;box-shadow:0 14px 32px #0f172a14}.appointment-form-popover .appointment-required-card.has-service>.sheet-row:first-child,.appointment-form-popover .appointment-required-card.has-service>.staff-request-row{grid-column:1 / -1}.appointment-form-popover .appointment-required-card.has-service>.sheet-row:first-child{min-height:64px;border-right:0;border-bottom:1px solid rgba(15,23,42,.07);background:linear-gradient(90deg,rgba(24,183,155,.07),transparent 54%)}.appointment-form-popover .appointment-required-card.has-service>.sheet-row:first-child strong{font-size:1rem;line-height:1.15}.appointment-form-popover .appointment-required-card.has-service .staff-request-row{min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border-right:0;border-bottom:1px solid rgba(15,23,42,.07);background:#fbfcfd}.appointment-form-popover .appointment-required-card.has-service .staff-request-row>span:first-child{min-width:0;display:grid;gap:2px}.appointment-form-popover .appointment-required-card.has-service .staff-request-row select{width:100%;min-height:28px;max-width:100%;padding:0 26px 0 0;overflow:hidden;border:0;background:transparent;color:#2f3b45;font-size:.95rem;text-overflow:ellipsis}.appointment-form-popover .appointment-required-card.has-service .staff-request-toggle{flex:0 0 auto;white-space:nowrap}.appointment-form-popover .appointment-required-card.has-service .service-detail-row{min-height:56px;border-bottom:0;border-right:1px solid rgba(15,23,42,.07);background:#fff}.appointment-form-popover .appointment-required-card.has-service .service-detail-row:last-child{border-right:0}.appointment-form-popover .appointment-required-card.has-service .sheet-row span,.appointment-form-popover .appointment-required-card.has-service .staff-request-row small{color:#8b9199;font-weight:680}.appointment-form-popover .appointment-required-card.has-service .sheet-row strong{color:#2f3b45;font-weight:760}.appointment-form-popover .appointment-required-card.has-service .staff-request-toggle,.appointment-form-popover .appointment-required-card.missing .staff-request-toggle{min-height:30px;padding:4px 5px 4px 10px}.appointment-form-popover .appointment-required-card.has-service .staff-request-toggle input,.appointment-form-popover .appointment-required-card.missing .staff-request-toggle input{flex:0 0 auto}.appointment-form-popover .follow-on-card{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,.72fr));border-left-color:#18b79b;background:#fff}.appointment-form-popover .follow-on-card>.sheet-row:first-child{grid-row:auto}@media (max-width: 760px){.appointment-form-popover .appointment-required-card.has-service,.appointment-form-popover .follow-on-card{grid-template-columns:1fr}.appointment-form-popover .appointment-required-card.has-service .service-detail-row,.appointment-form-popover .follow-on-card .sheet-row{border-right:0;border-bottom:1px solid rgba(15,23,42,.07)}}.appointment-form-popover{width:min(620px,calc(100vw - 28px));max-height:min(680px,calc(100vh - 34px));overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-bottom:18px}.appointment-form-popover .sheet-nav{min-height:50px;position:sticky;top:0;z-index:6}.appointment-form-popover .sheet-nav h2{font-size:1rem;font-weight:780}.appointment-form-popover .appointment-form-list:first-of-type{grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid rgba(15,23,42,.07)}.appointment-form-popover .appointment-form-list:first-of-type .sheet-row{border-right:1px solid rgba(15,23,42,.07);border-bottom:0}.appointment-form-popover .appointment-form-list:first-of-type .sheet-row:last-child{border-right:0}.appointment-form-popover .sheet-row,.appointment-form-popover .sheet-fields label{min-height:48px;gap:4px;padding:8px 16px}.appointment-form-popover .sheet-row span,.appointment-form-popover .sheet-fields label span,.appointment-form-popover .staff-request-row small{color:#8f949a;font-size:.82rem;font-weight:680}.appointment-form-popover .sheet-row strong,.appointment-form-popover .sheet-fields input,.appointment-form-popover .sheet-fields select,.appointment-form-popover .sheet-fields textarea,.appointment-form-popover .sheet-row input,.appointment-form-popover .sheet-row select,.appointment-form-popover .sheet-row textarea{color:#2f3b45;font-size:.98rem;font-weight:680}.appointment-form-popover .placeholder-value,.appointment-form-popover input::placeholder,.appointment-form-popover textarea::placeholder{color:#aeb4bb;font-style:normal!important;font-weight:560}.appointment-form-popover .appointment-required-card{display:grid;grid-template-columns:1.18fr 1fr .74fr .58fr;margin:8px 14px 6px}.appointment-form-popover .appointment-required-card .sheet-row{min-height:54px;border-right:1px solid rgba(15,23,42,.07);border-bottom:0}.appointment-form-popover .appointment-required-card .sheet-row:last-child{border-right:0}.appointment-form-popover .staff-request-row{grid-template-columns:minmax(0,1fr) auto}.appointment-form-popover .staff-request-toggle{font-size:.76rem}.appointment-form-popover .staff-request-toggle input,.appointment-form-popover .toggle-row input{width:38px;height:28px}.appointment-form-popover .service-detail-row{min-height:54px}.add-service-summary{position:sticky;bottom:-18px;z-index:5;padding:10px 16px;background:#fff8f9;box-shadow:0 -10px 24px #fff8f9db}.add-service-link{min-height:34px;font-size:.98rem;font-weight:680}.add-service-link svg{width:28px;height:28px;padding:4px}.booking-totals{font-size:.86rem}.booking-totals strong{font-size:.94rem}.appointment-form-popover .sheet-row strong.placeholder-value,.appointment-form-popover .appointment-required-card .sheet-row strong.placeholder-value,.appointment-form-popover button .placeholder-value,.appointment-form-popover .placeholder-value{color:#aeb4bb!important;font-style:normal!important;font-weight:560!important}.appointment-form-popover .appointment-form-list:last-of-type .sheet-row{min-height:52px}.appointment-form-popover .note-row{min-height:68px}.appointment-form-popover .appointment-required-card.missing{grid-template-columns:minmax(0,1fr) 250px}.appointment-form-popover .appointment-required-card.missing>.sheet-row:first-child{grid-row:auto}.appointment-form-popover .appointment-required-card.missing .staff-request-row{grid-template-columns:1fr;gap:8px}@media (max-width: 760px){.appointment-form-popover{width:min(446px,calc(100vw - 26px))}.appointment-form-popover .appointment-form-list:first-of-type,.appointment-form-popover .appointment-required-card{grid-template-columns:1fr}.appointment-form-popover .appointment-form-list:first-of-type .sheet-row,.appointment-form-popover .appointment-required-card .sheet-row{border-right:0;border-bottom:1px solid rgba(15,23,42,.07)}}.appointment-form-popover .placeholder-value{color:#cfd2d6;font-style:normal!important;font-weight:560}.appointment-form-popover input::placeholder,.appointment-form-popover textarea::placeholder{color:#cfd2d6;font-style:normal!important;font-weight:560}.appointment-form-popover .service-detail-row{min-height:58px}.appointment-form-popover .follow-on-card{box-shadow:inset 7px 0 #18b79b,0 12px 28px #18b79b1c}.add-service-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 20px 16px;border-bottom:1px solid rgba(230,117,143,.28);background:#fff8f9}.add-service-link{min-height:44px;display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:#35414b;padding:0;font-size:1.12rem;font-weight:700}.add-service-link svg{width:34px;height:34px;padding:5px;border:2px solid #35414b;border-radius:999px}.booking-totals{display:grid;gap:4px;color:#1f2933;font-size:1.02rem;font-weight:500;text-align:right}.booking-totals span{display:grid;grid-template-columns:auto 58px;gap:12px;align-items:baseline}.booking-totals strong{font-size:1.08rem;font-weight:900}.appointment-form-popover .staff-request-row{grid-template-columns:minmax(0,1fr) auto!important;align-items:center;gap:10px}.appointment-form-popover .staff-request-row>span:first-child{min-width:0}.appointment-form-popover .staff-request-toggle{min-height:24px!important;gap:6px!important;padding:3px 4px 3px 8px!important;border-color:#4f46e51f!important;background:#ffffffd1!important;color:#7f8791!important;font-size:.7rem!important;line-height:1!important;box-shadow:0 4px 10px #0f172a0a!important}.appointment-form-popover .staff-request-toggle input{width:31px!important;height:18px!important;min-height:18px!important;flex:0 0 31px!important}.appointment-form-popover .staff-request-toggle input:after{top:2px!important;left:2px!important;width:14px!important;height:14px!important}.appointment-form-popover .staff-request-toggle input:checked:after{transform:translate(13px)!important}.appointment-form-popover .follow-on-card.has-service{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-form-popover .follow-on-card.has-service>.sheet-row:first-child,.appointment-form-popover .follow-on-card.has-service>.staff-request-row{grid-column:1 / -1}.appointment-form-popover .service-detail-row input{width:100%;border:0;background:transparent;color:#26323d;font:inherit;font-weight:820;letter-spacing:0;padding:0}.appointment-form-popover .service-detail-row input:focus{outline:none;color:#4f46e5}.duration-control{display:block!important;width:100%;min-width:0}.duration-input-wrap{display:block!important;min-width:0;width:100%}.duration-control input{min-width:0;width:100%;border:0!important;background:transparent!important;padding:0!important;color:#263442!important;font-size:.98rem!important;font-weight:850!important;text-align:left}.duration-control em{display:block;margin-top:4px;color:#b42318;font-size:.68rem;font-style:normal;font-weight:800}.appointment-form-popover .follow-on-card{position:relative}.appointment-form-popover .remove-service-line{position:absolute;top:9px;right:10px;display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:4px 8px;border:1px solid rgba(225,91,126,.2);border-radius:999px;background:#ffffffe0;color:#d94768;font-size:.72rem;font-weight:760;box-shadow:0 8px 18px #d9476814}.appointment-form-popover .remove-service-line:hover{border-color:#e15b7e61;background:#fff6f8}.appointment-form-popover .follow-on-card>.sheet-row:first-child{padding-right:86px}.appointment-form-popover .appointment-editor-service-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,.8fr);gap:0;overflow:hidden}.appointment-form-popover .appointment-editor-service-card>.sheet-row:first-child,.appointment-form-popover .appointment-editor-service-card>.staff-request-row{grid-column:auto}.appointment-form-popover .appointment-editor-service-card>.sheet-add-service-button{grid-column:1 / 3;justify-self:start}.appointment-form-popover .appointment-editor-service-card>.editor-service-totals{grid-column:3 / -1;align-self:center;background:transparent;box-shadow:none;padding:10px 16px}.appointment-form-popover .editor-follow-on-line{grid-column:1 / -1;position:relative;display:grid;grid-template-columns:minmax(180px,1.35fr) minmax(150px,1fr) minmax(110px,.7fr) minmax(90px,.55fr) minmax(90px,.55fr);border-top:1px solid rgba(24,183,155,.13);border-bottom:0;box-shadow:inset 5px 0 #18b79b;background:linear-gradient(90deg,#18b79b12,#ffffffeb 22%)}.appointment-form-popover .editor-follow-on-line .sheet-row{min-height:58px;padding:10px 12px;border-right:1px solid rgba(15,23,42,.06)}.appointment-form-popover .editor-follow-on-line .staff-request-row{grid-template-columns:minmax(0,1fr) auto!important}.appointment-form-popover .editor-follow-on-line .remove-service-line{top:8px;right:8px;z-index:2}.appointment-form-popover .editor-follow-on-line>.sheet-row:first-child{padding-right:86px}.appointment-detail-sheet{width:min(520px,calc(100vw - 28px));max-height:min(820px,calc(100vh - 44px));overflow:auto;border-radius:22px;background:#f8fafcf5;box-shadow:0 30px 90px #0f172a57}.appointment-detail-sheet:before{border-radius:22px 22px 0 0}.detail-sheet-nav{min-height:58px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid rgba(15,23,42,.1);background:#ffffffe6;position:sticky;top:0;z-index:5}.detail-sheet-nav h2{margin:0;font-size:1.02rem;font-weight:900;letter-spacing:0}.detail-sheet-nav button{border:0;background:transparent;color:#334155;font-size:.9rem;font-weight:850}.detail-sheet-nav button:last-child{justify-self:end;color:#4f46e5}.detail-client-row,.detail-status-row,.detail-action-card button,.detail-view-more{width:100%;border:0;background:transparent;text-align:left;color:#111827;font:inherit}.detail-client-row{display:flex;align-items:center;justify-content:space-between;padding:17px 22px;border-bottom:1px solid rgba(15,23,42,.08);background:#fff}.detail-client-row strong,.detail-status-row strong{display:block;font-size:1.05rem;line-height:1.2;font-weight:900}.detail-client-row small,.detail-status-row small{display:block;margin-top:4px;color:#64748b;font-size:.82rem;font-weight:750}.detail-summary-card,.detail-action-card,.detail-related-card,.detail-note-card>div{margin:16px 18px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#fffffff0;box-shadow:0 12px 30px #0f172a14;overflow:hidden}.detail-summary-card h3,.detail-related-section h3,.detail-note-card h3{margin:0;padding:16px 18px 10px;color:#111827;font-size:.98rem;font-weight:900;letter-spacing:0}.detail-related-section h3,.detail-note-card h3{padding:4px 22px 0;color:#6b7280;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.detail-service-stack{display:grid}.detail-service-line{position:relative;display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:14px;padding:12px 18px 15px;border-bottom:1px solid rgba(15,23,42,.08)}.detail-service-rail,.detail-mini-rail{width:4px;border-radius:999px;background:#18b79b}.detail-service-rail{align-self:stretch}.detail-service-rail.mint,.detail-mini-rail.mint{background:#22b07d}.detail-service-rail.blush,.detail-mini-rail.blush{background:#e9559d}.detail-service-rail.sky,.detail-mini-rail.sky{background:#3488c7}.detail-service-rail.butter,.detail-mini-rail.butter{background:#e0c400}.detail-service-rail.lilac,.detail-mini-rail.lilac{background:#8065df}.detail-service-line strong{display:block;color:#111827;font-size:.98rem;font-weight:900}.detail-service-line p,.detail-service-line b{margin:4px 0 0;color:#1f2937;font-size:.92rem;line-height:1.25;font-weight:650}.detail-service-line b{display:block;font-weight:900}.detail-service-icons{display:flex;align-items:center;gap:7px;color:#111827}.detail-service-icons span{min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #111827;border-radius:999px;font-size:.7rem;font-weight:900}.detail-service-icons .requested-staff-indicator{min-width:17px;width:17px;height:17px;border-color:#11182757;color:#111827b8;font-size:.62rem}.detail-paid-row,.detail-status-row,.detail-related-row,.detail-view-more{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-bottom:1px solid rgba(15,23,42,.08)}.detail-paid-row{color:#64748b;font-size:.86rem;font-weight:800}.detail-paid-row strong{color:#111827}.detail-status-row{border-bottom:0}.detail-action-card{display:grid}.detail-action-card button{min-height:48px;padding:0 18px;border-bottom:1px solid rgba(15,23,42,.08);font-size:.96rem;font-weight:760}.detail-action-card button:last-child{border-bottom:0}.detail-action-card .detail-checkout-action{min-height:54px;background:linear-gradient(135deg,#4f46e5,#5b4df2);color:#fff;font-weight:900;box-shadow:inset 0 -1px #ffffff2e}.detail-danger-link{color:#dc2626!important}.detail-related-card{margin-top:10px}.detail-related-row{display:block}.detail-related-row-button{width:100%;text-align:left;background:transparent;color:inherit;cursor:pointer;transition:background .16s ease,box-shadow .16s ease}.detail-related-row-button:hover{background:#f8fafceb}.detail-related-row-button:focus-visible{outline:2px solid rgba(37,99,235,.28);outline-offset:-2px}.detail-related-row small{color:#8b95a1;font-size:.84rem;font-weight:720}.detail-related-row p,.detail-related-summary{margin:6px 0 0;display:flex;align-items:flex-start;gap:10px;color:#1f2937;font-size:.9rem;line-height:1.3;font-weight:760}.detail-mini-rail{flex:0 0 4px;min-height:28px}.detail-empty-text{margin:0;padding:14px 18px;color:#94a3b8;font-size:.86rem;font-weight:750}.detail-view-more{color:#334155;font-weight:820}.detail-view-more span{margin-left:auto;color:#94a3b8}.detail-view-more svg{transition:transform .16s ease}.detail-view-more svg.rotate-up{transform:rotate(-90deg)}.detail-note-card{padding-bottom:14px}.detail-note-card>div{margin-top:10px;padding:15px 18px}.detail-note-card small{color:#8b95a1;font-weight:760}.detail-note-card p{margin:8px 0 0;white-space:pre-wrap;color:#1f2937;font-size:.92rem;line-height:1.35;font-weight:650}.timely-edit-sheet{width:min(1040px,calc(100vw - 40px));max-height:min(800px,calc(100vh - 38px));overflow:auto;border-radius:18px;background:#fffffffa;box-shadow:0 34px 100px #0f172a52}.timely-edit-sheet .sheet-nav{min-height:58px;position:sticky;top:0;z-index:9;background:#fffffff5}.timely-edit-sheet .sheet-nav h2{font-size:1.02rem;font-weight:900}.timely-edit-list{display:grid;border-bottom:1px solid rgba(15,23,42,.08)}.timely-edit-row{min-height:68px;display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center;padding:9px 28px;border-bottom:1px solid rgba(15,23,42,.08)}.timely-edit-row:last-child{border-bottom:0}.timely-edit-row span,.timely-service-cell span,.timely-meta-grid span,.timely-note-row span{color:#8b95a1;font-size:.84rem;font-weight:820}.timely-edit-row input,.timely-service-cell input,.timely-service-cell select,.timely-note-row textarea{min-width:0;width:100%;border:0;background:transparent;color:#263442;font:inherit;font-size:1rem;font-weight:800;letter-spacing:0;outline:none}.timely-edit-row input::placeholder,.timely-service-cell input::placeholder,.timely-note-row textarea::placeholder{color:#a7b0bb;font-weight:700}.timely-customer-card{align-content:center}.timely-customer-summary{min-width:0;display:grid;gap:3px}.timely-customer-summary strong{min-width:0;overflow:hidden;color:#263442;font-size:1rem;font-weight:820;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.timely-customer-summary strong.placeholder-value{color:#9ca3af}.timely-customer-summary small{min-width:0;overflow:hidden;color:#7b8794;font-size:.78rem;font-weight:720;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.timely-customer-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start}.timely-customer-actions button{min-height:28px;padding:0 9px;border:1px solid rgba(31,41,51,.1);border-radius:8px;background:#fbfaf8;color:#38424c;font-size:.76rem;font-weight:820}.timely-customer-actions button:hover{background:#f3f1ee}.client-detail-editor-sheet{width:min(480px,calc(100vw - 32px));background:#f7f6f4}.client-detail-editor-sheet .sheet-nav{border-bottom-color:#1f293314;background:#fcfbf9f5}.client-detail-editor-sheet .sheet-nav button:last-child{min-width:104px;color:#20272f}.client-detail-editor-fields{display:grid;gap:10px;padding:16px}.client-detail-editor-fields label{display:grid;gap:7px;padding:12px 13px;border:1px solid rgba(31,41,51,.09);border-radius:12px;background:#fff;box-shadow:0 8px 22px #1f29330a}.client-detail-editor-fields span{color:#89919a;font-size:.76rem;font-weight:760}.client-detail-editor-fields input,.client-detail-editor-fields textarea{width:100%;min-height:36px;border:1px solid rgba(31,41,51,.08);border-radius:9px;background:#fbfaf8;color:#20272f;font:inherit;font-size:.94rem;font-weight:720;outline:none}.client-detail-editor-fields input{padding:0 10px}.client-detail-editor-fields textarea{min-height:78px;padding:9px 10px;resize:vertical}.client-detail-editor-fields input:focus,.client-detail-editor-fields textarea:focus{border-color:#4f9b8261;box-shadow:0 0 0 3px #4f9b821c}.timely-service-zone{padding:12px 22px 14px;border-bottom:1px solid rgba(236,72,153,.18);background:linear-gradient(180deg,#fff7fab8,#fffffff5)}.timely-service-card{position:relative;overflow:visible;margin-bottom:10px;border:1px solid rgba(236,72,153,.16);border-radius:14px;background:linear-gradient(135deg,#fffffffa,#fffbfdf5);box-shadow:0 14px 32px #0f172a12}.timely-service-rail{position:absolute;inset:0 auto 0 0;width:8px;background:linear-gradient(180deg,#42c7a6,#1eb79d)}.timely-service-grid{display:grid;grid-template-columns:minmax(210px,1.35fr) minmax(210px,1.25fr) minmax(126px,.8fr) minmax(108px,.7fr) minmax(110px,.7fr);padding-left:8px}.timely-service-cell{min-height:82px;display:grid;align-content:center;gap:6px;padding:12px 18px;border-right:1px solid rgba(15,23,42,.08);border-bottom:1px solid rgba(15,23,42,.06)}.timely-service-cell:last-child{border-right:0}.timely-service-cell select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.timely-service-cell select,.timely-service-cell input{color:#263442;font-size:.98rem;font-weight:850}button.timely-service-cell{border-top:0;border-left:0;background:#fff;color:inherit;font:inherit;text-align:left;cursor:pointer}button.timely-service-cell strong{color:#20272f;font-size:1.02rem;font-weight:900;line-height:1.2}.timely-service-cell option,.timely-service-cell optgroup{font-weight:700}.service-name-cell select{font-size:1.02rem;font-weight:900}.staff-cell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;align-items:center;column-gap:10px;padding-right:14px}.staff-cell>span:first-child{grid-column:1 / -1}.staff-cell select{grid-column:1;min-width:0}.staff-request-pill{grid-column:2;grid-row:2;justify-self:end;display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:3px 5px 3px 8px;border:1px solid rgba(79,70,229,.12);border-radius:999px;background:#ffffffd6;color:#7b8794;font-size:.68rem;font-weight:900;box-shadow:0 5px 14px #0f172a0f;white-space:nowrap}.staff-request-pill input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:29px;height:16px;padding:0;border:0;border-radius:999px;background:#dbe2ea;box-shadow:inset 0 0 0 1px #0f172a0f;position:relative;cursor:pointer}.staff-request-pill input:after{content:"";position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:999px;background:#fff;box-shadow:0 1px 4px #0f172a38;transition:transform .15s ease}.staff-request-pill input:checked{background:linear-gradient(135deg,#6258f0,#2eb89d)}.staff-request-pill input:checked:after{transform:translate(13px)}.timely-remove-service{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;border:1px solid rgba(239,68,68,.18);border-radius:10px;background:#ffffffeb;color:#ef4444;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 18px #ef444414}.timely-add-total-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 6px 0}.timely-add-service-button{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;color:#263442;font-size:1rem;font-weight:900}.timely-add-service-button svg{width:34px;height:34px;padding:7px;border:2px solid #263442;border-radius:999px}.timely-total-stack{display:grid;gap:3px;color:#263442;font-size:.95rem;font-weight:760;text-align:right}.timely-total-stack span{display:flex;justify-content:flex-end;gap:18px}.timely-total-stack strong{min-width:72px;color:#111827;font-weight:950}.timely-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid rgba(15,23,42,.08)}.timely-meta-grid label,.timely-status-field{min-height:72px;display:grid;align-content:center;gap:7px;padding:12px 28px;border-right:1px solid rgba(15,23,42,.08)}.timely-meta-grid label:last-child{border-right:0}.timely-meta-grid strong{color:#263442;font-size:1rem;font-weight:800}.timely-note-row{display:grid;gap:8px;min-height:150px;padding:15px 28px 22px}.timely-note-row textarea{min-height:92px;resize:vertical;font-weight:650}@media (max-width: 900px){.timely-edit-sheet{width:min(720px,calc(100vw - 24px))}.timely-service-grid{grid-template-columns:1.2fr 1fr}.timely-service-cell:nth-child(2n){border-right:0}.timely-service-cell:last-child{border-right:1px solid rgba(15,23,42,.08)}.timely-meta-grid{grid-template-columns:1fr}.timely-meta-grid label{border-right:0;border-bottom:1px solid rgba(15,23,42,.08)}.timely-meta-grid label:last-child{border-bottom:0}}.booking-warning-panel{margin:10px 16px;padding:12px;border:1px solid rgba(245,158,11,.28);border-radius:14px;background:linear-gradient(135deg,#fffbebf5,#fff7edeb);color:#7c4a03;box-shadow:0 14px 28px #f59e0b1f}.booking-warning-panel strong{display:block;color:#683800;font-size:.86rem;font-weight:900;margin-bottom:6px}.booking-warning-panel ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:.78rem;font-weight:700}.booking-warning-panel div{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.booking-warning-panel button{min-height:30px;padding:0 12px;border:1px solid rgba(124,74,3,.14);border-radius:999px;background:#ffffffd1;color:#7c4a03;font-size:.74rem;font-weight:850}.booking-warning-panel .warning-continue-button{border-color:#4f46e53d;background:#4f46e5;color:#fff;box-shadow:0 10px 20px #4f46e52e}@media (max-width: 980px){.appointment-form-popover .appointment-editor-service-card,.appointment-form-popover .editor-follow-on-line{grid-template-columns:1fr 1fr}.appointment-form-popover .appointment-editor-service-card>.editor-service-totals,.appointment-form-popover .editor-follow-on-line>.sheet-row:first-child,.appointment-form-popover .editor-follow-on-line>.staff-request-row{grid-column:1 / -1}}.calendar-wrap{height:100vh;min-height:620px;display:flex;flex-direction:column;overflow:hidden}.calendar-scroll{flex:1 1 auto;min-height:0;margin-top:4px;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;position:relative;background:#fff}.calendar-command-mode{flex:0 0 auto;display:inline-flex;align-items:center;gap:12px;max-width:238px;min-height:38px;padding:0 10px 0 14px;border:1px solid rgba(129,140,248,.62);border-radius:999px;background:linear-gradient(135deg,#4f46e5,#5b5cff 48%,#6d5bff);color:#fff;box-shadow:0 14px 32px #4f46e552,0 0 0 3px #6366f129,0 0 28px #6d5bff3d,inset 0 1px #ffffff3d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:command-mode-enter .16s ease-out,command-mode-breathe 2.85s ease-in-out infinite}.calendar-command-mode.bookNext{border-color:#818cf89e;color:#fff}.calendar-command-mode.floating-source{position:fixed;z-index:35;width:max-content;max-width:min(188px,calc(100vw - 20px));pointer-events:auto}.calendar-command-mode-label{display:inline-flex;min-width:0;align-items:center;gap:7px;overflow:hidden;color:currentColor;font-size:.77rem;font-weight:950;letter-spacing:.05em;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.calendar-command-mode-label span{color:#fff;font-size:.96rem;font-weight:900;letter-spacing:0;text-shadow:0 1px 8px rgba(255,255,255,.28)}.calendar-command-mode.bookNext .calendar-command-mode-label span{color:#fff}.calendar-command-mode button{min-height:28px;border:0;border-left:1px solid rgba(255,255,255,.26);border-radius:0;background:transparent;padding:0 5px 0 11px;color:#ffffffe0;font-size:.73rem;font-weight:880}.calendar-command-mode button:hover{background:transparent;color:#fff}@keyframes command-mode-enter{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes command-mode-breathe{0%,to{box-shadow:0 12px 34px #4f46e52e,0 0 0 3px #6366f10f,0 0 28px #6d5bff1f,inset 0 1px #ffffffeb}50%{box-shadow:0 16px 44px #4f46e547,0 0 0 6px #6366f11a,0 0 46px #6d5bff3d,inset 0 1px #fffffff5}}@keyframes placement-date-cta-breathe{0%,to{box-shadow:0 0 0 3px #6366f11a,0 0 22px #5b5cff2e,inset 0 1px #ffffffeb}50%{box-shadow:0 0 0 5px #6366f129,0 0 38px #5b5cff4d,inset 0 1px #fffffffa}}.calendar-grid{--calendar-time-width: 70px;--calendar-staff-column-width: 0px;--calendar-right-gutter: 30px;min-height:100%;width:100%;min-width:0;display:grid!important;grid-template-columns:var(--calendar-time-width) repeat(var(--staff-count),minmax(0,var(--calendar-staff-column-width))) var(--calendar-right-gutter)!important;grid-auto-flow:row;grid-auto-rows:auto;align-items:stretch;overflow:visible;position:relative;background:#fff}.calendar-grid:after{content:"";grid-column:-2 / -1;grid-row:1 / 3;min-width:var(--calendar-right-gutter);border-left:1px solid rgba(148,163,184,.22);background:linear-gradient(90deg,#f8fafcdb,#f8fafc);z-index:10;pointer-events:none}.calendar-head{grid-column:1 / 2;grid-row:1 / 2;width:var(--calendar-time-width);color:#475569;font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.staff-head{grid-row:1 / 2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-head-content{min-width:0;display:grid;gap:0;line-height:1.08}.staff-head-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-head-name{color:#1f2937;font-size:.82rem;font-weight:880}.calendar-head,.staff-head{position:sticky;top:0;min-height:50px;height:50px;background:#fffffffa;z-index:18}.staff-head{z-index:14}.time-column.calendar-body{grid-column:1 / 2;grid-row:2 / 3;width:var(--calendar-time-width);min-width:var(--calendar-time-width);position:sticky;left:0;z-index:15;border-right:1px solid rgba(148,163,184,.3);background:linear-gradient(90deg,#f8fafc,#fff)}.staff-lane{grid-row:2 / 3;min-width:0;overflow:hidden;position:relative}.non-working-band{position:absolute;left:0;right:0;z-index:0;pointer-events:none}.salon-closed-band{grid-column:2 / -1;grid-row:2 / 3;position:absolute;left:0;right:0;z-index:5;overflow:hidden;pointer-events:none}.non-working-band,.salon-closed-band{border-top:1px solid rgba(71,85,105,.34);border-bottom:1px solid rgba(71,85,105,.3);background:#cbd5e1e6;box-shadow:inset 0 1px #4755692e}.week-salon-closed-band{grid-column:auto;grid-row:auto;left:0;right:0}.current-time-guide{grid-column:2 / -1;grid-row:2 / 3;position:absolute;left:0;right:0;z-index:22;height:2px;background:#2a568fdb;box-shadow:0 0 0 1px #ffffffdb,0 1px 5px #2a568f2e;pointer-events:none}.current-time-guide:before{content:"";position:absolute;top:50%;left:-4px;width:8px;height:8px;border-radius:999px;background:#2a568f;box-shadow:0 0 0 2px #ffffffd1;transform:translateY(-50%)}.time-column.calendar-body .current-time-label{right:5px;z-index:23;border-radius:999px;padding:2px 7px;background:#244f83;color:#fff;font-size:.63rem;font-weight:900;line-height:1.2;text-transform:uppercase;box-shadow:0 1px 4px #0f172a2e,0 0 0 1px #ffffffe6;transform:translateY(-50%)}.time-column.calendar-body .time-label{left:auto;right:8px;width:auto;white-space:nowrap;color:#334155;font-size:.8rem;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:0;transform:translateY(7px)}.calendar-date-popover{width:min(326px,calc(100vw - 28px));grid-template-columns:1fr;gap:0;padding:12px;border:1px solid rgba(203,213,225,.95);border-radius:14px;background:#fff;box-shadow:0 24px 64px #0f172a2e,0 8px 22px #0f172a14;color:#111827}.calendar-date-popover:before{display:none}.date-popover-main{display:grid;gap:12px}.date-popover-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;padding:2px 2px 4px}.date-popover-head strong{color:#1f2937;font-size:.94rem;font-weight:820;text-align:center}.date-popover-head button{min-height:34px;border:1px solid transparent;border-radius:9px;background:transparent;color:#64748b}.date-popover-head button:hover{border-color:#cbd5e1cc;background:#f8fafc;color:#334155}.date-weekdays,.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.date-weekdays{padding:0 1px}.date-weekdays span{color:#94a3b8;font-size:.64rem;font-weight:850;line-height:1;text-align:center}.date-grid button{aspect-ratio:1;min-height:34px;display:grid;place-items:center;border:1px solid transparent;border-radius:10px;background:transparent;color:#334155;padding:0;font-size:.88rem;font-weight:760;line-height:1;text-align:center}.date-grid button:hover{border-color:#cbd5e1d9;background:#f8fafc;color:#1f2937}.date-grid button.muted{color:#c1c8d1}.date-grid button.today{border-color:#2a568f38;background:#f1f6fb;color:#2a568f}.date-grid button.selected{border-color:#2a568f;background-color:#2a568f!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#ffffff;box-shadow:0 8px 18px #2a568f2e}.date-grid button.selected:hover,.date-grid button.selected.today{border-color:#244d82;background-color:#2a568f!important;color:#fff!important}.date-quick-jumps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(226,232,240,.9)}.date-quick-jumps button{min-height:30px;border:1px solid rgba(203,213,225,.82);border-radius:8px;background:#fff;color:#64748b;padding:0 6px;font-size:.74rem;font-weight:760;white-space:nowrap}.date-quick-jumps button:hover{border-color:#2a568f47;background:#f1f6fb;color:#2a568f}.date-quick-jumps .today-jump{color:#2a568f;font-weight:820}.calendar-toolbar{min-width:0;width:calc(100% - 20px);flex:0 0 auto;grid-template-columns:minmax(180px,1fr) max-content minmax(320px,1fr);gap:10px;margin:4px 10px 5px;padding:4px 7px;box-sizing:border-box;border:1px solid #dbe3ea;border-radius:10px;background:#f8fafcf0;box-shadow:0 6px 18px #0f172a0e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.calendar-wrap.placement-mode .staff-lane,.calendar-wrap.placement-mode .calendar-block.service-colour-block{cursor:crosshair}.calendar-toolbar .toolbar-group,.calendar-toolbar .calendar-controls{display:flex;min-width:0;align-items:center;width:auto;flex-wrap:nowrap}.calendar-toolbar .staff-filter-group{gap:7px}.calendar-toolbar .staff-filter-trigger,.calendar-toolbar .calendar-controls button,.calendar-toolbar .view-indicator,.calendar-toolbar .calendar-view-toggle{min-height:32px;border-radius:8px}.calendar-toolbar .staff-filter-picker{position:relative;width:clamp(220px,22vw,270px);flex:0 0 auto}.calendar-command-mode+.staff-filter-picker{width:clamp(170px,18vw,240px)}.calendar-toolbar .staff-filter-trigger{width:100%;min-height:34px;justify-content:flex-start;overflow:hidden;border-color:#d4dde5;border-radius:8px;background:#fff;padding:0 32px 0 12px;color:#26323d;font-weight:780;text-align:left;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 1px 2px #0f172a0a}.calendar-toolbar .staff-filter-trigger:after{content:"";position:absolute;top:50%;right:13px;width:6px;height:6px;border-right:1.5px solid #64748b;border-bottom:1.5px solid #64748b;transform:translateY(-70%) rotate(45deg)}.calendar-toolbar .staff-filter-trigger:hover,.calendar-toolbar .staff-filter-trigger[aria-expanded=true]{border-color:#b9c6d2;background:#fff;color:#1f2933}.calendar-toolbar .staff-filter-menu{position:absolute;z-index:70;top:calc(100% + 6px);left:0;width:100%;max-height:min(360px,calc(100vh - 120px));display:grid;gap:2px;overflow-y:auto;padding:6px;border:1px solid #dbe3ea;border-radius:12px;background:#fff;box-shadow:0 18px 44px #0f172a29}.calendar-toolbar .staff-filter-menu button{width:100%;min-height:38px;justify-content:flex-start;border:0;border-radius:8px;background:transparent;padding:0 11px;color:#34404c;font-size:.82rem;font-weight:720;text-align:left}.calendar-toolbar .staff-filter-menu button:hover,.calendar-toolbar .staff-filter-menu button[aria-selected=true]{border:0;background:#f1f5f8;color:#1f3f72}.calendar-toolbar .staff-filter-menu button[aria-selected=true]{font-weight:820}.calendar-toolbar .date-controls{gap:3px;padding:1px;border:1px solid #dbe3ea;border-radius:9px;background:#fff;box-shadow:0 1px 2px #0f172a08}.calendar-toolbar .date-controls button{border-color:transparent;background:transparent}.calendar-toolbar .date-controls button:hover{border-color:transparent;background:#f1f5f8;color:#1f3f72}.calendar-toolbar .date-display-button{min-width:clamp(178px,22vw,240px);color:#1f2933;font-weight:820}.calendar-toolbar .date-display-button.placement-date-cta{position:relative;z-index:1;border-color:#5b5cff61;background:linear-gradient(180deg,#fffffffa,#f4f6fff5);color:#172554;box-shadow:0 0 0 3px #6366f11f,0 0 26px #5b5cff38,inset 0 1px #ffffffeb;animation:placement-date-cta-breathe 2.65s ease-in-out infinite}.calendar-toolbar .date-display-button.placement-date-cta:hover,.calendar-toolbar .date-display-button.placement-date-cta[aria-expanded=true]{border-color:#5b5cff8a;background:#fff;color:#172554}.calendar-toolbar .calendar-actions{flex-wrap:nowrap;gap:5px}.calendar-toolbar .calendar-actions>*{flex:0 0 auto}.calendar-toolbar .view-indicator{width:auto;min-width:54px;border-color:#dbe3ea;background:#fff;color:#52606d;font-weight:760}.calendar-view-toggle{display:inline-grid;grid-template-columns:1fr 1fr;align-items:center;gap:2px;min-width:112px;padding:2px;border:1px solid #dbe3ea;background:#edf2f6}.calendar-toolbar .calendar-view-toggle button{min-width:0;min-height:28px;height:28px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:#64748b;font-size:.78rem;font-weight:800;box-shadow:none}.calendar-toolbar .calendar-view-toggle button.active{background:#fff;color:#1f2937;box-shadow:0 1px 4px #0f172a1f}.staff-head.week-day-head{justify-content:center;text-align:center}.lane-current-time-guide{position:absolute;left:0;right:0;z-index:22;height:2px;background:#2a568fdb;box-shadow:0 0 0 1px #ffffffdb,0 1px 5px #2a568f2e;pointer-events:none}.calendar-toolbar .toolbar-icon-button{width:32px;border-color:#d4dde5;background:#fff;color:#34404c}.calendar-toolbar .calendar-actions .toolbar-add-appointment[aria-label]{width:auto;min-width:max-content;gap:6px;padding:0 12px;border-color:#17212b;background:#17212b;color:#fff;font-weight:820;box-shadow:0 4px 10px #0f172a24}.calendar-toolbar .calendar-actions .toolbar-add-appointment[aria-label]:hover{border-color:#263747;background:#263747;color:#fff}.calendar-toolbar .calendar-actions .toolbar-add-appointment[aria-label]:disabled{cursor:wait;border-color:#d8e0e7;background:#edf1f5;color:#7b8794;box-shadow:none}@media (max-width: 980px){.calendar-toolbar{width:calc(100% - 16px);grid-template-columns:minmax(180px,1fr) auto;grid-template-areas:"staff date" "actions actions";margin:5px 8px;gap:7px 12px;padding:6px}.calendar-toolbar .staff-filter-group{grid-area:staff;justify-self:start}.calendar-toolbar .date-controls{grid-area:date;justify-self:end}.calendar-toolbar .calendar-actions{grid-area:actions;justify-self:end}}@media (max-width: 640px){.calendar-toolbar{position:relative;width:calc(100% - 16px);grid-template-columns:minmax(0,1fr);grid-template-areas:"staff" "date" "actions";gap:8px;margin:5px 6px;padding:6px}.calendar-toolbar .staff-filter-picker{flex:1 1 auto;width:auto;min-width:0}.calendar-toolbar .staff-filter-group{width:100%}.calendar-toolbar .date-controls{width:100%;justify-content:center}.calendar-toolbar .date-controls>button{width:34px;flex:0 0 34px;padding:0}.calendar-toolbar .date-controls .today-button{width:auto;flex:0 0 auto;padding:0 12px}.calendar-toolbar .date-picker-anchor{flex:1;width:auto;max-width:230px}.calendar-toolbar .date-display-button{width:100%;min-width:0;padding:0 10px;white-space:nowrap}.calendar-toolbar .calendar-actions{width:100%;justify-content:flex-end;gap:6px}.calendar-toolbar .view-indicator{min-width:58px}.calendar-toolbar .calendar-date-popover{left:50%;width:min(326px,calc(100vw - 24px));transform:translate(-50%)}}@media (max-width: 430px){.calendar-toolbar .staff-filter-picker,.calendar-toolbar .staff-filter-trigger,.calendar-toolbar .staff-filter-menu{width:100%}.calendar-toolbar .date-controls{gap:5px}.calendar-toolbar .today-button{padding:0 10px}.calendar-toolbar .calendar-actions .toolbar-add-appointment[aria-label]{width:36px;min-width:36px;padding:0}.calendar-toolbar .toolbar-add-appointment span{display:none}}.appointment-popover.appointment-form-popover,.appointment-popover.appointment-detail-sheet{border-radius:18px;background:#fbfcfd;box-shadow:0 28px 80px #0f172a3d,0 8px 24px #0f172a14}.appointment-form-popover .sheet-nav,.appointment-detail-sheet .detail-sheet-nav{min-height:58px;padding:0 18px;border-bottom:1px solid rgba(15,23,42,.08);background:#fffffff5}.appointment-form-popover .sheet-nav h2,.appointment-detail-sheet .detail-sheet-nav h2{color:#1f2933;font-size:1rem;font-weight:850}.appointment-form-popover:not(.timely-edit-sheet){width:min(640px,calc(100vw - 28px))}.appointment-form-popover:not(.timely-edit-sheet) .appointment-form-list{margin:12px 14px;overflow:hidden;border:1px solid rgba(203,213,225,.82);border-radius:14px;background:#fff}.appointment-form-popover:not(.timely-edit-sheet) .appointment-form-list:first-of-type{border-bottom:1px solid rgba(203,213,225,.82)}.appointment-form-popover:not(.timely-edit-sheet) .appointment-form-list:last-of-type .sheet-row:last-child{border-bottom:0}.appointment-form-popover:not(.timely-edit-sheet) .note-row{min-height:104px}.appointment-form-popover:not(.timely-edit-sheet) .note-row textarea{min-height:70px;border-radius:9px;background:#f8fafc}.appointment-detail-sheet{width:min(540px,calc(100vw - 28px))}.appointment-detail-sheet .detail-summary-card,.appointment-detail-sheet .detail-action-card,.appointment-detail-sheet .detail-related-card,.appointment-detail-sheet .detail-note-card>div{border-radius:14px;box-shadow:0 10px 26px #0f172a0f}.appointment-form-popover.timely-edit-sheet{width:min(820px,calc(100vw - 32px));max-height:min(780px,calc(100vh - 36px))}.timely-edit-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 20px;border-bottom:1px solid rgba(15,23,42,.07);background:#f8fafc}.timely-edit-row{min-height:72px;grid-template-columns:1fr;gap:7px;padding:12px 14px;border:1px solid rgba(203,213,225,.82);border-radius:12px;background:#fff}.timely-edit-row:last-child{border-bottom:1px solid rgba(203,213,225,.82)}.timely-service-zone{padding:16px 20px;border-bottom:1px solid rgba(15,23,42,.07);background:#fff}.timely-service-card{margin-bottom:12px;overflow:hidden;border-color:#cbd5e1e6;border-radius:14px;background:#fff;box-shadow:0 10px 24px #0f172a0f}.timely-service-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.timely-service-cell{min-height:68px;gap:5px;padding:10px 14px}.timely-service-cell:nth-child(1){grid-column:1 / 4}.timely-service-cell:nth-child(2){grid-column:4 / 7;border-right:0}.timely-service-cell:nth-child(3){grid-column:1 / 3}.timely-service-cell:nth-child(4){grid-column:3 / 5}.timely-service-cell:nth-child(5){grid-column:5 / 7;border-right:0}.timely-service-cell span,.timely-edit-row span,.timely-meta-grid span,.timely-note-row span{color:#7b8794;font-size:.76rem;font-weight:760}.staff-request-pill{min-height:22px;padding:2px 4px 2px 7px;background:#f8fafc;box-shadow:none}.timely-remove-service{top:8px;right:8px;width:30px;height:30px;border-radius:8px;box-shadow:none}.timely-service-card.follow-on-card .service-name-cell{padding-right:48px}.timely-edit-sheet .timely-service-card{display:grid;grid-template-columns:minmax(0,1fr) 44px}.timely-edit-sheet .timely-service-card.follow-on-card{border-left-color:#cbd5e1e6;background:#fff;box-shadow:0 10px 24px #0f172a0f}.timely-edit-sheet .timely-service-card .timely-service-grid{grid-column:1;width:100%}.timely-edit-sheet .timely-service-card.follow-on-card .service-name-cell{padding-right:14px}.timely-edit-sheet .timely-service-action-rail{grid-column:2;grid-row:1;display:flex;justify-content:center;align-items:flex-start;padding:10px 7px;border-left:1px solid rgba(15,23,42,.07);background:#fbfcfd}.timely-edit-sheet .timely-service-action-rail .timely-remove-service{position:static;width:28px;height:28px;flex:0 0 28px}.timely-edit-sheet .timely-service-cell>span:first-child{white-space:nowrap}.timely-edit-sheet .staff-request-pill{min-height:17px;gap:3px;padding:1px 0 1px 4px;border-color:transparent;background:transparent;color:#84909c;font-size:.61rem;font-weight:760;box-shadow:none}.timely-edit-sheet .staff-request-pill input{width:22px;height:13px;border-radius:999px;background:#d7dee6;box-shadow:inset 0 0 0 1px #0f172a0d}.timely-edit-sheet .staff-request-pill input:after{top:2px;left:2px;width:9px;height:9px;box-shadow:0 1px 3px #0f172a2e}.timely-edit-sheet .staff-request-pill input:checked{background:#7aa89d}.timely-edit-sheet .staff-request-pill input:checked:after{transform:translate(9px)}.timely-add-total-row{margin-top:4px;padding:10px 4px 0}.timely-total-stack{min-width:220px;gap:5px;padding:10px 12px;border:1px solid rgba(203,213,225,.82);border-radius:11px;background:#f8fafc;font-size:.86rem}.timely-meta-grid{margin:14px 20px 0;overflow:hidden;border:1px solid rgba(203,213,225,.82);border-radius:12px;background:#fff}.timely-meta-grid label{min-height:68px;padding:11px 14px}.timely-note-row{min-height:132px;margin:12px 20px 20px;padding:12px 14px;border:1px solid rgba(203,213,225,.82);border-radius:12px;background:#fff}.timely-note-row textarea{min-height:78px;padding:9px 10px;border-radius:9px;background:#f8fafc}@media (max-width: 760px){.appointment-form-popover:not(.timely-edit-sheet),.appointment-form-popover.timely-edit-sheet{width:min(446px,calc(100vw - 24px))}.timely-edit-list,.timely-service-grid,.timely-meta-grid{grid-template-columns:1fr}.timely-service-cell:nth-child(n){grid-column:1;border-right:0}.timely-meta-grid{margin:12px 14px 0}.timely-note-row{margin:12px 14px 16px}}.appointment-detail-sheet{background:#f7f6f4}.appointment-detail-sheet .detail-sheet-nav{border-bottom-color:#1f293314;background:#fcfbf9f5}.appointment-detail-sheet .detail-sheet-nav button{color:#56606a}.appointment-detail-sheet .detail-sheet-nav button:last-child{color:#20272f}.appointment-detail-sheet .detail-client-row{width:auto;margin:16px 18px 12px;padding:16px 17px;border:1px solid rgba(31,41,51,.09);border-radius:14px;background:#fff;box-shadow:0 8px 22px #1f29330d}.appointment-detail-sheet .detail-client-row strong{color:#20272f;font-size:1.08rem}.appointment-detail-sheet .detail-client-row svg{color:#9aa2aa}.appointment-detail-sheet .detail-summary-card{margin-top:12px;border-color:#1f293317;background:#fff;box-shadow:0 10px 26px #1f29330d}.appointment-detail-sheet .detail-summary-card h3{padding:15px 18px 11px;color:#6e777f;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.appointment-detail-sheet .detail-service-stack{gap:8px;padding:0 12px 12px}.appointment-detail-sheet .detail-service-line{grid-template-columns:5px minmax(0,1fr) auto;gap:12px;padding:13px 14px 14px;border:1px solid rgba(31,41,51,.08);border-radius:11px;background:#fbfaf8}.appointment-detail-sheet .detail-service-rail{width:5px}.appointment-detail-sheet .detail-service-line strong{color:#20272f;font-size:.94rem}.appointment-detail-sheet .detail-service-line p{color:#4f5963;font-size:.88rem}.appointment-detail-sheet .detail-service-line b{color:#20272f;font-size:.86rem}.appointment-detail-sheet .detail-service-icons{align-items:flex-start;padding-top:1px}.appointment-detail-sheet .detail-summary-card{position:relative;overflow:visible;z-index:2}.appointment-detail-sheet .detail-overview-grid{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid rgba(31,41,51,.08)}.appointment-detail-sheet .detail-paid-row,.appointment-detail-sheet .detail-status-row{min-height:68px;padding:12px 16px;border-bottom:0}.appointment-detail-sheet .detail-paid-row{display:grid;align-content:center;justify-content:stretch;gap:5px;border-right:1px solid rgba(31,41,51,.08)}.appointment-detail-sheet .detail-paid-row span,.appointment-detail-sheet .detail-status-row small{color:#89919a;font-size:.76rem}.appointment-detail-sheet .detail-paid-row strong,.appointment-detail-sheet .detail-status-row strong{color:#20272f;font-size:.92rem}.appointment-detail-sheet .detail-status-row svg{color:#a4abb2}.appointment-detail-sheet .detail-status-control{position:relative;min-width:0;z-index:4}.appointment-detail-sheet .detail-status-row{cursor:pointer}.appointment-detail-sheet .detail-status-row[disabled]{cursor:wait;opacity:.72}.appointment-detail-sheet .detail-status-row[aria-expanded=true] svg:not(.spin){transform:rotate(90deg)}.appointment-detail-sheet .detail-status-menu{position:absolute;z-index:45;top:calc(100% - 4px);right:10px;left:auto;width:min(230px,calc(100vw - 40px));display:grid;gap:4px;padding:7px;border:1px solid rgba(31,41,51,.1);border-radius:12px;background:#fffffffa;box-shadow:0 16px 36px #1f293329}.appointment-detail-sheet .detail-status-menu button{display:grid;gap:2px;padding:8px 9px;border:0;border-radius:9px;background:transparent;color:#20272f;text-align:left}.appointment-detail-sheet .detail-status-menu button:hover,.appointment-detail-sheet .detail-status-menu button.active{background:#f4f1ed}.appointment-detail-sheet .detail-status-menu small{color:#7b8794;font-size:.72rem;font-weight:680}.appointment-detail-sheet .detail-action-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border-color:#1f293317;background:#fff;box-shadow:0 10px 26px #1f29330d}.detail-recurrence-card{display:grid;gap:12px;margin:16px 18px;padding:15px 16px;border:1px solid rgba(31,41,51,.08);border-radius:16px;background:#fffffff0;box-shadow:0 12px 30px #0f172a12}.detail-recurrence-card>div{display:grid;gap:5px}.detail-recurrence-card small{color:#89919a;font-size:.76rem;font-weight:780}.detail-recurrence-card strong{color:#20272f;font-size:.94rem;font-weight:860}.detail-recurrence-card span,.detail-recurrence-card p{margin:0;color:#4b5563;font-size:.82rem;font-weight:680;line-height:1.3}.detail-recurrence-card p{display:grid;gap:2px;padding-top:6px;border-top:1px solid rgba(31,41,51,.07)}.detail-recurrence-card p:first-of-type{border-top:0;padding-top:0}.detail-recurrence-card p strong{font-size:.86rem}.detail-warning-card{display:grid;gap:12px;margin:16px 18px;padding:15px 16px;border:1px solid rgba(220,38,38,.2);border-left:4px solid #dc2626;border-radius:16px;background:#fff7f7;box-shadow:0 14px 32px #b91c1c1a,0 0 0 2px #dc26260a}.detail-warning-card>div{display:grid;gap:5px}.detail-warning-card small{color:#b91c1c;font-size:.74rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.detail-warning-card strong{color:#111827;font-size:.94rem;font-weight:900}.detail-warning-card ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.detail-warning-card li{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding-left:14px;color:#4b1113;font-size:.82rem;font-weight:760;line-height:1.35}.detail-warning-card li span{min-width:0;display:grid;gap:2px}.detail-warning-card li strong{color:inherit;font-size:.82rem;font-weight:820}.detail-warning-card li small{color:#667085;font-size:.72rem;font-weight:820;letter-spacing:0;text-transform:none}.detail-warning-card li.acknowledged{color:#475467}.detail-warning-card li.acknowledged:before{background:#16a34a;box-shadow:0 0 0 3px #16a34a1a}.detail-warning-card li:before{content:"";position:absolute;top:.58em;left:0;width:6px;height:6px;border-radius:999px;background:#dc2626;box-shadow:0 0 0 3px #dc26261a}.detail-warning-card button{min-height:30px;padding:0 10px;border:1px solid rgba(185,28,28,.18);border-radius:8px;background:#fff;color:#b91c1c;font-size:.74rem;font-weight:900}.detail-warning-card button:hover{border-color:#b91c1c52;background:#fff1f2}.detail-recurring-cancel-card{display:grid;gap:8px;margin:16px 18px;padding:14px;border:1px solid rgba(185,28,28,.12);border-radius:16px;background:#fffbfaf5;box-shadow:0 12px 30px #7f1d1d0f}.detail-recurring-cancel-card>div{display:grid;gap:3px;padding-bottom:2px}.detail-recurring-cancel-card small{color:#9f6b6b;font-size:.74rem;font-weight:820}.detail-recurring-cancel-card strong{color:#2f1f1f;font-size:.94rem;font-weight:860}.detail-recurring-cancel-card button{display:inline-flex;align-items:center;gap:8px;min-height:38px;border:0;border-radius:11px;background:#ffffffdb;color:#7f1d1d;font:inherit;font-size:.88rem;font-weight:820;text-align:left}.detail-recurring-cancel-card button:not(:disabled):hover{background:#fee2e2b8}.detail-recurring-cancel-card .detail-recurring-cancel-close{color:#475569}.detail-cancel-dialog-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:20px;background:#14181f3d}.detail-cancel-dialog{display:grid;gap:14px;width:min(430px,calc(100vw - 36px));padding:18px;border:1px solid rgba(90,53,53,.1);border-radius:18px;background:linear-gradient(180deg,#fffdfc,#fff);box-shadow:0 28px 72px #0f172a2e,0 10px 24px #7f1d1d0f,inset 0 1px #ffffffe6}.detail-cancel-dialog>div:first-child{display:grid;gap:5px;padding-bottom:2px}.detail-cancel-dialog small,.detail-cancel-dialog label span,.detail-cancel-reason-field>span{color:#8a6470;font-size:.68rem;font-weight:780;text-transform:uppercase;letter-spacing:.075em}.detail-cancel-dialog strong{color:#261f20;font-size:1.02rem;font-weight:840;line-height:1.25}.detail-cancel-dialog>div:first-child span{color:#65717e;font-size:.82rem;font-weight:650;line-height:1.35}.detail-cancel-dialog>div:first-child em{width:fit-content;margin-top:3px;padding:6px 9px;border:1px solid rgba(185,28,28,.1);border-radius:999px;background:#fff5f4;color:#8f4a4a;font-size:.76rem;font-style:normal;font-weight:740;line-height:1.2}.detail-cancel-dialog label{display:grid;gap:7px}.detail-cancel-reason-field{position:relative;display:grid;gap:7px}.detail-cancel-reason-trigger{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 11px 0 12px;border:1px solid rgba(31,41,51,.1);border-radius:12px;background:#fbfaf8;color:#28323d;font:inherit;font-size:.82rem;font-weight:620;text-align:left;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.detail-cancel-reason-trigger strong{min-width:0;overflow:hidden;color:inherit;font-size:.82rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.detail-cancel-reason-trigger svg{flex:0 0 auto;color:#9aa2aa;transition:transform .14s ease}.detail-cancel-reason-trigger.placeholder strong{color:#8a929d;font-weight:620}.detail-cancel-reason-trigger[aria-expanded=true],.detail-cancel-reason-trigger:focus{border-color:#4f9b8257;background:#fff;box-shadow:0 0 0 3px #4f9b821a;outline:none}.detail-cancel-reason-trigger[aria-expanded=true] svg{transform:rotate(90deg)}.detail-cancel-reason-trigger:disabled{cursor:wait;opacity:.72}.detail-cancel-dialog textarea{width:100%;border:1px solid rgba(31,41,51,.1);border-radius:12px;background:#fbfaf8;color:#1f2933;font:inherit;font-size:.86rem;font-weight:650;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.detail-cancel-dialog textarea{min-height:68px;padding:10px 12px;resize:vertical}.detail-cancel-dialog textarea:focus{border-color:#4f9b8257;background:#fff;box-shadow:0 0 0 3px #4f9b821a;outline:none}.detail-cancel-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:2px}.detail-cancel-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 14px;border:1px solid rgba(31,41,51,.1);border-radius:11px;background:#f8f7f5;color:#48535f;font:inherit;font-size:.82rem;font-weight:780;transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease}.detail-cancel-actions .detail-danger-action{border-color:#9622221f;background:#9b2727;color:#fff;box-shadow:0 9px 18px #7f1d1d1f}.detail-cancel-actions .detail-danger-action:disabled{border-color:#1f293314;background:#ebe5e2;color:#9b8f8b;box-shadow:none}.detail-cancel-actions button:not(:disabled):hover{border-color:#1f293329;background:#fff}.detail-cancel-actions .detail-danger-action:not(:disabled):hover{border-color:#7f1d1d2e;background:#832121}.detail-cancel-reason-menu{z-index:96;gap:3px;padding:6px;border-radius:11px}.detail-cancel-reason-menu button{gap:1px;min-height:31px;padding:6px 9px;border-radius:8px}.detail-cancel-reason-menu button strong{color:#26313b;font-size:.82rem;font-weight:690;line-height:1.2}.detail-cancel-reason-menu button:hover,.detail-cancel-reason-menu button.active{background:#f6f2ed}.appointment-detail-sheet .detail-action-card button{min-height:42px;padding:0 12px;border:1px solid rgba(31,41,51,.1);border-radius:9px;background:#f8f7f5;color:#38424c;font-size:.86rem;font-weight:760;text-align:center}.appointment-detail-sheet .detail-action-card .detail-checkout-action{grid-column:1 / -1;min-height:46px;border-color:#252c33;background:#252c33;color:#fff;font-weight:850;box-shadow:0 8px 18px #1f293324}.appointment-detail-sheet .detail-action-card .detail-danger-link{grid-column:1 / -1;border-color:#b9444429;background:snow;color:#a54848!important}.appointment-detail-sheet .detail-related-card,.appointment-detail-sheet .detail-note-card>div{border-color:#1f293314;background:#fff;box-shadow:0 8px 22px #1f29330a}.appointment-detail-sheet .detail-empty-text{color:#9aa2aa}@media (max-width: 480px){.appointment-detail-sheet .detail-overview-grid,.appointment-detail-sheet .detail-action-card{grid-template-columns:1fr}.appointment-detail-sheet .detail-paid-row{border-right:0;border-bottom:1px solid rgba(31,41,51,.08)}}.appointment-form-popover{background:#f7f6f4}.appointment-form-popover .sheet-nav{border-bottom-color:#1f293314;background:#fcfbf9f5}.appointment-form-popover .sheet-nav button{color:#56606a}.appointment-form-popover .sheet-nav button:last-child{color:#20272f}.appointment-form-popover:not(.timely-edit-sheet) .appointment-form-list{border-color:#1f293317;background:#fff;box-shadow:0 8px 22px #1f29330a}.appointment-form-popover:not(.timely-edit-sheet) .appointment-form-list:first-of-type{border-bottom-color:#1f293317}.appointment-form-popover:not(.timely-edit-sheet) .appointment-form-list .sheet-row{border-bottom-color:#1f293312;background:#fff}.appointment-form-popover:not(.timely-edit-sheet) .appointment-form-list .sheet-row:hover{background:#fbfaf8}.appointment-form-popover:not(.timely-edit-sheet) .appointment-form-list .sheet-row span,.appointment-form-popover:not(.timely-edit-sheet) .appointment-required-card .sheet-row span,.appointment-form-popover:not(.timely-edit-sheet) .appointment-required-card .staff-request-row small{color:#89919a;font-size:.76rem;font-weight:760}.appointment-form-popover:not(.timely-edit-sheet) .appointment-form-list .sheet-row strong,.appointment-form-popover:not(.timely-edit-sheet) .appointment-form-list .sheet-row select,.appointment-form-popover:not(.timely-edit-sheet) .appointment-form-list .sheet-row textarea{color:#20272f;font-weight:760}.appointment-form-popover:not(.timely-edit-sheet) .recurrence-create-row{gap:8px}.appointment-form-popover:not(.timely-edit-sheet) .appointment-required-card{border-color:#1f293317;border-left-color:#7aa89d;background:#fff;box-shadow:0 10px 26px #1f29330d}.appointment-form-popover:not(.timely-edit-sheet) .appointment-required-card.missing{border-color:#b9444429;border-left-color:#c98a8a;background:snow;box-shadow:0 10px 26px #1f29330a}.appointment-form-popover:not(.timely-edit-sheet) .appointment-required-card.has-service>.sheet-row:first-child{border-bottom-color:#1f293312;background:#fbfaf8}.appointment-form-popover:not(.timely-edit-sheet) .appointment-required-card.has-service .staff-request-row{border-bottom-color:#1f293312;background:#fff}.appointment-form-popover:not(.timely-edit-sheet) .appointment-required-card.has-service .service-detail-row{border-right-color:#1f293312;background:#fff}.appointment-form-popover:not(.timely-edit-sheet) .appointment-required-card.has-service .sheet-row strong,.appointment-form-popover:not(.timely-edit-sheet) .appointment-required-card.has-service .staff-request-row select{color:#20272f}.appointment-form-popover:not(.timely-edit-sheet) .staff-request-toggle{min-height:17px;gap:3px;padding:1px 0 1px 4px;border-color:transparent;background:transparent;color:#84909c;font-size:.61rem;font-weight:760;box-shadow:none}.appointment-form-popover:not(.timely-edit-sheet) .staff-request-toggle input,.appointment-form-popover:not(.timely-edit-sheet) .appointment-required-card.has-service .staff-request-toggle input,.appointment-form-popover:not(.timely-edit-sheet) .appointment-required-card.missing .staff-request-toggle input{width:22px!important;height:13px!important;min-height:13px!important;flex:0 0 22px!important;border:0;background:#d7dee6;box-shadow:inset 0 0 0 1px #0f172a0d}.appointment-form-popover:not(.timely-edit-sheet) .staff-request-toggle input:after{top:2px!important;left:2px!important;width:9px!important;height:9px!important;box-shadow:0 1px 3px #0f172a2e}.appointment-form-popover:not(.timely-edit-sheet) .staff-request-toggle input:checked{background:#7aa89d}.appointment-form-popover:not(.timely-edit-sheet) .staff-request-toggle input:checked:after{transform:translate(9px)!important}.appointment-form-popover:not(.timely-edit-sheet) .add-service-summary{border-bottom-color:#1f293314;background:#fbfaf8}.appointment-form-popover:not(.timely-edit-sheet) .add-service-link,.appointment-form-popover:not(.timely-edit-sheet) .booking-totals{color:#38424c}.appointment-form-popover:not(.timely-edit-sheet) .note-row textarea{border:1px solid rgba(31,41,51,.08);background:#fbfaf8}.appointment-form-popover:not(.timely-edit-sheet) .deposit-row strong{color:#38424c}.timely-edit-sheet .timely-edit-list{border-bottom-color:#1f293312;background:#f7f6f4}.timely-edit-sheet .timely-edit-row{border-color:#1f293317;background:#fff;box-shadow:0 8px 22px #1f29330a}.timely-edit-sheet .timely-service-zone{border-bottom-color:#1f293312;background:#f7f6f4}.timely-edit-sheet .timely-service-card,.timely-edit-sheet .timely-service-card.follow-on-card{border-color:#1f293317;background:#fff;box-shadow:0 10px 26px #1f29330d}.timely-edit-sheet .timely-service-rail{width:7px;background:#7aa89d}.timely-edit-sheet .timely-service-cell{border-right-color:#1f293312;border-bottom-color:#1f29330f;background:#fff}.timely-edit-sheet .timely-service-cell span,.timely-edit-sheet .timely-edit-row span,.timely-edit-sheet .timely-meta-grid span,.timely-edit-sheet .timely-note-row span{color:#89919a}.timely-edit-sheet .timely-service-cell select,.timely-edit-sheet .timely-service-cell input,.timely-edit-sheet .timely-edit-row input,.timely-edit-sheet .timely-meta-grid strong{color:#20272f}.timely-edit-sheet .timely-service-action-rail{border-left-color:#1f293312;background:#fbfaf8}.timely-edit-sheet .timely-total-stack,.timely-edit-sheet .timely-meta-grid,.timely-edit-sheet .timely-note-row{border-color:#1f293317;background:#fff;box-shadow:0 8px 22px #1f29330a}.timely-edit-sheet .timely-note-row textarea{border:1px solid rgba(31,41,51,.08);background:#fbfaf8}.timely-edit-sheet .timely-add-service-button,.timely-edit-sheet .timely-total-stack,.timely-edit-sheet .timely-total-stack strong{color:#38424c}.appointment-form-popover:not(.timely-edit-sheet) .staff-request-toggle.active,.timely-edit-sheet .staff-request-pill.active{color:#397b67}.appointment-form-popover:not(.timely-edit-sheet) .staff-request-toggle.active input,.timely-edit-sheet .staff-request-pill.active input{background:#4f9b82;box-shadow:inset 0 0 0 1px #1d5c481f,0 0 0 2px #4f9b821a}.appointment-form-popover.timely-edit-sheet{background:#f7f6f4}.timely-edit-sheet .sheet-nav{box-shadow:0 1px #1f29330d}.timely-edit-sheet .sheet-nav button{min-height:34px;border-radius:8px;font-size:.84rem;font-weight:760}.timely-edit-sheet .sheet-nav button:hover{background:#f3f1ee}.appointment-form-popover.busy-time-sheet{width:min(420px,calc(100vw - 26px));max-height:min(620px,calc(100vh - 28px));background:#f7f6f4}.busy-time-sheet .sheet-nav{box-shadow:0 1px #1f29330d}.busy-time-sheet .sheet-nav button{min-height:34px;border-radius:8px;font-size:.84rem;font-weight:760}.busy-time-sheet .sheet-nav button:hover{background:#f3f1ee}.busy-time-sheet .busy-time-form-list{display:grid;gap:10px;padding:16px 18px 14px;border:0;background:#f7f6f4;box-shadow:none}.busy-time-sheet .busy-time-field,.busy-time-sheet .busy-time-field-grid{border:1px solid rgba(31,41,51,.09);border-radius:14px;background:#fff;box-shadow:0 8px 22px #1f29330a}.busy-time-sheet .busy-time-field{min-height:58px;grid-template-columns:96px minmax(0,1fr);padding:10px 13px;border-bottom:1px solid rgba(31,41,51,.09)}.busy-time-sheet .busy-time-field:hover,.busy-time-sheet .busy-time-field:focus-within{background:#fbfaf8}.busy-time-sheet .busy-time-field span{color:#89919a;font-size:.75rem;font-weight:760}.busy-time-sheet .busy-time-field input,.busy-time-sheet .busy-time-field select{min-height:36px;justify-self:stretch;border:1px solid rgba(31,41,51,.08);border-radius:10px;background:#fbfaf8;color:#20272f;font-size:.88rem;font-weight:760}.busy-time-sheet .busy-time-option-field{width:100%;gap:0}.busy-time-sheet .busy-time-option-field>span{display:none}.busy-time-sheet .busy-time-option-field .appointment-selector-control{min-height:36px;border-color:#1f293314;border-radius:10px;background:#fbfaf8;font-size:.88rem}.busy-time-sheet .busy-time-option-field .appointment-selector-control strong{font-size:.88rem;font-weight:760}.busy-time-sheet .busy-time-option-field .appointment-selector-control:hover,.busy-time-sheet .busy-time-option-field .appointment-selector-control[aria-expanded=true]{background:#fff}.busy-time-sheet .busy-time-field input:focus,.busy-time-sheet .busy-time-field select:focus{border-color:#4f46e542;background:#fff;box-shadow:0 0 0 3px #4f46e514}.busy-time-sheet .busy-time-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.busy-time-sheet .busy-time-field-grid .busy-time-field{min-height:64px;grid-template-columns:1fr;align-content:center;gap:7px;padding:11px 12px;border:0;border-radius:0;box-shadow:none}.busy-time-sheet .busy-time-field-grid .busy-time-field+.busy-time-field{border-left:1px solid rgba(31,41,51,.08)}.busy-time-sheet .modal-inline-notice{margin:12px 18px 0}.busy-time-danger-row{padding:0 18px 18px}.busy-time-danger-row .danger-action{width:100%;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(185,68,68,.16);border-radius:12px;background:snow;color:#a24040;font-size:.85rem;font-weight:800}.busy-time-danger-row .danger-action:hover{background:#fff4f4}@media (max-width: 520px){.busy-time-sheet .busy-time-field-grid{grid-template-columns:1fr}.busy-time-sheet .busy-time-field-grid .busy-time-field+.busy-time-field{border-left:0;border-top:1px solid rgba(31,41,51,.08)}}.timely-edit-sheet .timely-edit-list{align-items:stretch;gap:12px;padding:16px 20px 14px;background:#f7f6f4}.timely-edit-sheet .timely-edit-row{min-height:96px;align-content:start;gap:8px;padding:14px 15px;border-radius:14px;border-color:#1f293317;background:#fff;box-shadow:0 8px 22px #1f29330a}.timely-edit-sheet .timely-edit-row>span:first-child,.timely-edit-sheet .timely-service-cell>span:first-child,.timely-edit-sheet .timely-meta-grid span,.timely-edit-sheet .timely-note-row span{color:#89919a;font-size:.74rem;font-weight:760;line-height:1.1}.timely-edit-sheet .timely-edit-row input{min-height:30px;color:#20272f;font-size:.96rem;font-weight:760}.timely-edit-sheet .timely-customer-card{grid-template-rows:auto minmax(0,1fr) auto}.timely-edit-sheet .timely-customer-summary{gap:4px}.timely-edit-sheet .timely-customer-summary strong{color:#20272f;font-size:1rem;font-weight:800;line-height:1.18}.timely-edit-sheet .timely-customer-summary small{color:#69737d;font-size:.78rem;font-weight:680}.timely-edit-sheet .timely-customer-actions{grid-column:1;align-self:end;gap:12px;padding-top:2px}.timely-edit-sheet .timely-customer-actions button{min-height:24px;padding:0;border:0;border-radius:0;background:transparent;color:#4f675e;font-size:.76rem;font-weight:780;text-decoration:underline;text-decoration-color:#4f675e38;text-underline-offset:4px}.timely-edit-sheet .timely-customer-actions button:hover{background:transparent;color:#263442;text-decoration-color:#26344261}.timely-edit-sheet .timely-service-zone{padding:14px 20px 15px;background:#f7f6f4}.timely-edit-sheet .timely-service-card,.timely-edit-sheet .timely-service-card.follow-on-card{margin-bottom:10px;overflow:visible;border-color:#1f293314;border-radius:14px;background:#fff;box-shadow:0 7px 20px #1f29330a}.timely-edit-sheet .timely-service-rail{width:6px;opacity:.95}.timely-edit-sheet .timely-service-grid{padding-left:6px}.timely-edit-sheet .timely-service-cell{min-height:64px;gap:6px;padding:10px 14px 11px;border-right-color:#1f29330e;border-bottom-color:#1f29330b;background:#fff}.timely-edit-sheet .timely-service-cell input,.timely-edit-sheet .timely-service-cell select{color:#20272f;font-size:.9rem;font-weight:700}.timely-edit-sheet button.timely-service-cell{background:#fff}.timely-edit-sheet button.timely-service-cell:hover{background:#fbfaf8}.timely-edit-sheet button.timely-service-cell strong{color:#20272f;font-size:.94rem;font-weight:780;line-height:1.2}.timely-edit-sheet .staff-cell{column-gap:8px;padding-right:12px}.timely-edit-sheet .staff-request-pill{min-height:18px;gap:4px;padding:1px 0 1px 5px;border:0;background:transparent;color:#7a858f;font-size:.6rem;font-weight:760;box-shadow:none}.timely-edit-sheet .staff-request-pill input{width:23px!important;height:13px!important;min-height:13px!important;flex:0 0 23px!important;background:#d8e0e7;box-shadow:inset 0 0 0 1px #1f29330f}.timely-edit-sheet .staff-request-pill input:after{top:2px!important;left:2px!important;width:9px!important;height:9px!important}.timely-edit-sheet .staff-request-pill input:checked{background:#4f9b82}.timely-edit-sheet .staff-request-pill input:checked:after{transform:translate(10px)!important}.timely-edit-sheet .timely-service-action-rail{padding:9px 7px;border-left-color:#1f29330e;background:#fbfaf8}.timely-edit-sheet .timely-service-action-rail .timely-remove-service{width:27px;height:27px;flex-basis:27px;border-color:#b9444424;border-radius:8px;background:#fffefe;color:#b85b5b;box-shadow:none}.timely-edit-sheet .timely-service-action-rail .timely-remove-service:hover{border-color:#b944443d;background:#fff7f7;color:#9d3f3f}.timely-edit-sheet .timely-total-stack{min-width:216px;padding:11px 13px;border-radius:12px;background:#fff}.timely-edit-sheet .timely-add-total-row{align-items:center;padding:10px 2px 0}.timely-edit-sheet .timely-add-service-button{gap:8px;color:#38424c;font-size:.9rem;font-weight:780}.timely-edit-sheet .timely-add-service-button svg{width:29px;height:29px;padding:7px;border:1px solid rgba(31,41,51,.2);color:#38424c}.timely-edit-sheet .timely-total-stack span{gap:14px;color:#6e777f;font-size:.82rem;font-weight:720}.timely-edit-sheet .timely-total-stack strong{min-width:64px;color:#20272f;font-weight:800}.timely-edit-sheet .timely-add-total-row{margin:2px 0 0;padding:11px 2px 0;gap:14px}.timely-edit-sheet .timely-add-service-button{min-height:36px;padding:0 2px;border-radius:10px;color:#38424c;transition:color .14s ease}.timely-edit-sheet .timely-add-service-button:hover{color:#20272f}.timely-edit-sheet .timely-add-service-button svg{background:#fff;box-shadow:0 4px 12px #1f29330d}.timely-edit-sheet .timely-total-stack{min-width:218px;gap:5px;padding:12px 14px;border-color:#1f293314;border-radius:13px;background:#fff;box-shadow:0 6px 18px #1f293309}.timely-edit-sheet .timely-total-stack span{align-items:baseline;gap:16px;color:#7b8794;font-size:.8rem;line-height:1.2}.timely-edit-sheet .timely-total-stack strong{color:#20272f;font-size:.88rem;line-height:1.2}.timely-edit-sheet .timely-meta-grid{margin:14px 20px 0;overflow:visible;border-color:#1f293314;border-radius:14px;background:#fff;box-shadow:0 8px 22px #1f29330a}.timely-edit-sheet .timely-meta-grid>label:last-child{border-radius:0 14px 14px 0}.timely-edit-sheet .timely-meta-grid label,.timely-edit-sheet .timely-recurrence-field{min-height:70px;display:grid;align-content:center;gap:6px;padding:13px 15px;border-right:1px solid rgba(31,41,51,.055);border-right-color:#1f29330e}.timely-edit-sheet .timely-status-field,.timely-edit-sheet .timely-recurrence-field{position:relative;min-height:70px;gap:6px;padding:13px 15px;border-right-color:#1f29330e}.timely-edit-sheet .timely-status-field{border-radius:14px 0 0 14px}.timely-edit-sheet .timely-meta-grid strong{color:#20272f;font-size:.9rem;font-weight:760}.timely-edit-sheet .timely-status-trigger,.timely-edit-sheet .timely-recurrence-trigger{width:100%;min-height:26px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;border:0;background:transparent;color:#20272f;cursor:pointer;text-align:left}.timely-edit-sheet .timely-status-trigger:hover strong,.timely-edit-sheet .timely-recurrence-trigger:hover strong{color:#111827}.timely-edit-sheet .timely-status-trigger svg,.timely-edit-sheet .timely-recurrence-trigger svg{flex:0 0 auto;color:#9aa2aa;transition:transform .14s ease}.timely-edit-sheet .timely-status-trigger[aria-expanded=true] svg,.timely-edit-sheet .timely-recurrence-trigger[aria-expanded=true] svg{transform:rotate(90deg)}.timely-edit-sheet .timely-status-menu{position:absolute;z-index:40;top:calc(100% - 8px);left:10px;width:min(230px,calc(100% + 34px));display:grid;gap:4px;padding:7px;border:1px solid rgba(31,41,51,.1);border-radius:12px;background:#fffffffa;box-shadow:0 16px 36px #1f293329}.timely-status-menu.floating{position:fixed;z-index:74;display:grid;gap:4px;overflow-y:auto;overscroll-behavior:contain;padding:7px;border:1px solid rgba(31,41,51,.1);border-radius:12px;background:#fffffffa;box-shadow:0 16px 36px #1f293329}.timely-status-menu.floating button{display:grid;gap:2px;padding:8px 9px;border:0;border-radius:9px;background:transparent;color:#20272f;text-align:left}.timely-status-menu.floating button:hover,.timely-status-menu.floating button.active{background:#f4f1ed}.timely-status-menu.floating small{color:#7b8794;font-size:.72rem;font-weight:680}.timely-edit-sheet .timely-status-menu button{display:grid;gap:2px;padding:8px 9px;border:0;border-radius:9px;background:transparent;color:#20272f;text-align:left}.timely-edit-sheet .timely-status-menu button:hover,.timely-edit-sheet .timely-status-menu button.active{background:#f4f1ed}.timely-edit-sheet .timely-status-menu small{color:#7b8794;font-size:.72rem;font-weight:680}@media (max-width: 900px){.timely-edit-sheet .timely-status-field,.timely-edit-sheet .timely-recurrence-field{border-right:0;border-bottom:1px solid rgba(31,41,51,.055)}.timely-edit-sheet .timely-status-menu{width:min(240px,calc(100% - 20px))}}.recurrence-edit-sheet{width:min(500px,calc(100vw - 28px))}.recurrence-edit-body{display:grid;gap:10px;padding:18px 20px 20px}.recurrence-value-field,.appointment-option-field{display:grid;gap:6px}.recurrence-selector-wrap,.appointment-selector-wrap{position:relative}.recurrence-value-field>span,.appointment-option-field>span,.recurrence-edit-scope small{color:#5f6b78;font-size:.72rem;font-weight:820;letter-spacing:.01em;text-transform:uppercase}.recurrence-control-row,.appointment-selector-control{position:relative;width:100%;min-height:46px;display:flex;align-items:center;border:1px solid rgba(31,41,51,.09);border-radius:13px;background:linear-gradient(180deg,#fff,#fbfaf8);box-shadow:inset 0 1px #ffffffbf;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.recurrence-control-row[type=button],.appointment-selector-control{justify-content:space-between;padding:0 38px 0 13px;color:#20272f;cursor:pointer;text-align:left}.recurrence-control-row[type=button] strong,.appointment-selector-control strong{min-width:0;overflow:hidden;color:#20272f;font-size:.94rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.recurrence-control-row[type=button]:hover,.appointment-selector-control:hover{border-color:#1f293329;background:#fff}.recurrence-control-row[type=button][aria-expanded=true],.appointment-selector-control[aria-expanded=true]{border-color:#48807661;box-shadow:0 0 0 3px #48807617;background:#fff}.recurrence-control-row:focus-within{border-color:#48807666;box-shadow:0 0 0 3px #4880761a;background:#fff}.recurrence-control-row input{width:100%;min-height:44px;padding:0 38px 0 13px;border:0;background:transparent;color:#20272f;font-size:.94rem;font-weight:800;outline:none}.recurrence-control-row.select-control:after,.appointment-selector-control:after{content:"";position:absolute;right:14px;top:50%;width:8px;height:8px;border-right:1.7px solid #7b8794;border-bottom:1.7px solid #7b8794;transform:translateY(-65%) rotate(45deg);pointer-events:none}.recurrence-control-row.select-control[aria-expanded=true]:after,.appointment-selector-control[aria-expanded=true]:after{transform:translateY(-35%) rotate(225deg)}.recurrence-option-menu,.appointment-selector-menu{position:absolute;z-index:60;top:calc(100% + 6px);left:0;right:0;display:grid;gap:3px;padding:6px;border:1px solid rgba(31,41,51,.1);border-radius:13px;background:#fffffffa;box-shadow:0 16px 34px #1f293324}.appointment-selector-menu.floating{position:fixed;right:auto;z-index:74;overflow-y:auto;overscroll-behavior:contain}.recurrence-option-menu button,.appointment-selector-menu button{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 10px;border:0;border-radius:9px;background:transparent;color:#1d2730;font-size:.86rem;font-weight:820;text-align:left}.recurrence-option-menu button span,.appointment-selector-menu button span{min-width:0;overflow:hidden;color:#1d2730;text-overflow:ellipsis;white-space:nowrap}.recurrence-option-menu button:hover,.recurrence-option-menu button.active,.appointment-selector-menu button:hover,.appointment-selector-menu button.active{background:#f2eee9;color:#111820}.recurrence-option-menu button:hover span,.recurrence-option-menu button.active span,.appointment-selector-menu button:hover span,.appointment-selector-menu button.active span{color:#111820}.recurrence-option-menu button:disabled,.appointment-selector-menu button:disabled{color:#9aa3ad;cursor:not-allowed}.recurrence-option-menu button:disabled span,.appointment-selector-menu button:disabled span{color:#9aa3ad}.recurrence-option-menu button svg,.appointment-selector-menu button svg{flex:0 0 auto;color:#4c8075;stroke-width:2.4}.staff-option-field{min-width:0}.staff-request-row .staff-option-field,.timely-service-cell.staff-cell .staff-option-field{flex:1 1 auto}.staff-request-row .appointment-selector-control,.timely-service-cell.staff-cell .appointment-selector-control{min-height:32px;border:0;border-radius:0;background:transparent;box-shadow:none;padding-left:0}.staff-request-row .appointment-selector-control:hover,.staff-request-row .appointment-selector-control[aria-expanded=true],.timely-service-cell.staff-cell .appointment-selector-control:hover,.timely-service-cell.staff-cell .appointment-selector-control[aria-expanded=true]{border-color:transparent;background:transparent;box-shadow:none}.create-time-selector-wrap{min-width:132px}.create-time-selector-wrap .appointment-selector-menu{max-height:264px;overflow-y:auto;overscroll-behavior:contain}.recurrence-control-row input[type=date]{color-scheme:light}.recurrence-edit-body>p,.recurrence-edit-scope p{margin:0;color:#5f6b78;font-size:.82rem;font-weight:700;line-height:1.35}.recurrence-edit-scope{display:grid;gap:6px;margin-top:4px;padding:14px;border:1px solid rgba(72,128,118,.13);border-radius:14px;background:linear-gradient(180deg,#f8fbf9,#f4f8f6)}.recurrence-edit-scope strong{color:#20272f;font-size:.95rem;font-weight:850}.timely-edit-sheet .timely-note-row{min-height:132px;margin:12px 20px 20px;padding:13px 14px 15px;border-color:#1f293314;border-radius:14px;background:#fff;box-shadow:0 8px 22px #1f29330a}.timely-edit-sheet .timely-note-row textarea{min-height:78px;padding:10px 11px;border:1px solid rgba(31,41,51,.08);border-radius:10px;background:#fbfaf8;color:#20272f;font-size:.9rem;font-weight:650;line-height:1.4}.timely-edit-sheet .timely-note-row textarea:focus{border-color:#4f9b825c;box-shadow:0 0 0 3px #4f9b821a}@media (max-width: 760px){.timely-edit-sheet .timely-add-total-row{align-items:stretch;flex-direction:column}.timely-edit-sheet .timely-total-stack{min-width:0;text-align:left}.timely-edit-sheet .timely-total-stack span{justify-content:space-between}.timely-edit-sheet .timely-meta-grid{margin:12px 14px 0}.timely-edit-sheet .timely-note-row{margin:12px 14px 16px}}@media (max-width: 760px){.timely-edit-sheet .timely-edit-row{min-height:88px}}.requested-toggle-control{cursor:pointer}.requested-toggle-control input:not(:checked){background:#d7dee6!important;background-color:#d7dee6!important}.requested-toggle-control[data-requested-active=true],.requested-toggle-control:has(input:checked){color:#397b67!important}.requested-toggle-control[data-requested-active=true] input,.requested-toggle-control input:checked{background:#4f9b82!important;background-color:#4f9b82!important;box-shadow:inset 0 0 0 1px #1d5c481f,0 0 0 2px #4f9b821a!important}.requested-toggle-control input:checked:after{transform:translate(9px)!important}@media (max-width: 820px){.app-shell.business-setup-shell{padding:0}.business-setup-topbar{padding-inline:14px}.business-setup-layout{grid-template-columns:1fr;gap:14px;padding:14px 12px 40px}.business-setup-nav{position:sticky;top:64px;z-index:10;display:flex;align-items:center;overflow-x:auto;padding:7px 4px;background:#f6f8fb}.business-setup-nav strong{display:none}.business-setup-nav button{flex:0 0 auto;white-space:nowrap}.business-setup-content{padding:0 16px}.locations-list .location-list-item{min-height:42px;align-items:center}.services-setup-layout,.service-editor-layout{grid-template-columns:1fr;gap:14px}.services-setup-content,.service-editor-content{min-height:0}.services-content-head{align-items:stretch;flex-direction:column;padding:18px 0}.service-list-column-head{display:none}.service-editor-section,.service-editor-section .editor-fields,.service-editor-field-row,.service-editor-field-row.three-column,.service-staff-grid{grid-template-columns:1fr}.service-staff-toolbar,.service-editor-footer{align-items:stretch;flex-direction:column}.service-staff-override-row{grid-template-columns:1fr 1fr}.service-staff-identity{grid-column:1 / -1}.service-editor-footer>div,.service-editor-top-actions{width:100%}}@media (max-width: 560px){.business-setup-topbar .primary-action{padding-inline:12px}.business-setup-title .eyebrow{display:none}.business-fields.two-column{grid-template-columns:1fr}.logo-editor{align-items:flex-start;flex-direction:column}.location-hours-row{grid-template-columns:1fr auto;gap:8px 12px;padding:10px 0}.location-time-range,.location-closed-label{grid-column:1 / -1}}.modal-backdrop.unsaved-discard-backdrop{padding:20px;background:#0f172a3d;backdrop-filter:none;-webkit-backdrop-filter:none}.unsaved-discard-backdrop .unsaved-discard-modal{width:min(392px,calc(100vw - 32px));max-height:calc(100vh - 40px);min-height:0;display:grid;gap:18px;overflow:auto;padding:19px 20px 17px;border:1px solid rgba(31,41,51,.12);border-radius:11px;background:#fff;color:#1f2933;box-shadow:0 18px 48px #0f172a2e,0 2px 8px #0f172a0f}.unsaved-discard-copy{min-width:0;display:grid;gap:5px}.unsaved-discard-backdrop .unsaved-discard-copy .eyebrow{margin:0;color:#7a6570;font-size:.66rem;font-weight:820;line-height:1.25;letter-spacing:.08em;text-transform:uppercase}.unsaved-discard-backdrop .unsaved-discard-copy h2{margin:0;color:#1f2933;font-size:1.08rem;font-weight:820;line-height:1.3;letter-spacing:0}.unsaved-discard-backdrop .unsaved-discard-copy>p:last-child{margin:0;color:#687482;font-size:.8rem;line-height:1.45}.unsaved-discard-backdrop .unsaved-discard-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0}.unsaved-discard-backdrop .unsaved-discard-actions button{width:auto;min-height:34px;padding:0 13px;border-radius:7px;font-size:.78rem;font-weight:780;white-space:nowrap}.unsaved-discard-backdrop .unsaved-discard-actions .danger-action{border-color:#b84a4a;background:#b84a4a;color:#fff}.unsaved-discard-backdrop .unsaved-discard-actions .danger-action:hover{border-color:#a33d3d;background:#a33d3d}@media (max-width: 440px){.modal-backdrop.unsaved-discard-backdrop{align-items:center;padding:12px}.unsaved-discard-backdrop .unsaved-discard-modal{width:100%;max-height:calc(100vh - 24px);gap:16px;padding:17px 16px 15px}.unsaved-discard-backdrop .unsaved-discard-actions{flex-wrap:wrap}.unsaved-discard-backdrop .unsaved-discard-actions button{width:auto}}.public-time-choice>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.public-time-choice>div .public-visit-option{display:flex;align-items:center;justify-content:center;min-height:58px;padding:10px;border-radius:8px;box-shadow:none}.public-time-choice>div .public-visit-option:after{width:0}.public-time-choice>div .public-visit-option-time{color:#334139;font-family:inherit;font-size:.92rem;font-weight:760;line-height:1}.public-time-choice>div .public-visit-option:hover{border-color:#8fa991;background:#f8fbf7;box-shadow:0 8px 16px #263d2b12;transform:translateY(-1px)}.public-time-choice>div .public-visit-option.selected{border-color:#426b4c;background:#eaf4e9;box-shadow:inset 0 0 0 1px #426b4c,0 8px 16px #263d2b14}.public-time-choice>div .public-visit-option.selected:after{width:0}@media (max-width: 760px){.public-time-choice>div{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 440px){.public-time-choice>div{grid-template-columns:repeat(2,minmax(0,1fr))}.public-time-choice>div .public-visit-option{min-height:56px}}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(#ffffffe6,#f7f9fcf5),radial-gradient(circle at 18% 12%,rgba(230,117,143,.16),transparent 34%)}.auth-panel{width:min(390px,100%);display:grid;gap:16px;padding:30px;border:1px solid #dce3ea;border-radius:8px;background:#fffffffa;box-shadow:0 22px 60px #18202a1f}.auth-brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:#171a1f;color:#fff}.auth-panel .eyebrow{margin:4px 0 -9px;letter-spacing:0;text-transform:none}.auth-panel h1{margin:0;font-size:1.65rem;line-height:1.15;letter-spacing:0}.auth-intro{margin:-7px 0 2px;color:#66717d;line-height:1.5}.auth-panel label{display:grid;gap:7px;color:#34404c;font-size:.82rem;font-weight:760}.auth-panel input{width:100%;min-height:44px;padding:0 12px;border:1px solid #ccd6df;border-radius:7px;background:#fff;color:#171a1f;outline:none}.auth-panel input:focus{border-color:#6a6cf4;box-shadow:0 0 0 3px #6366f11f}.auth-submit{min-height:44px;justify-content:center;margin-top:2px;border:0;border-radius:7px}.auth-error{padding:10px 12px;border:1px solid #f1c7c7;border-radius:7px;background:#fff4f4;color:#9c2f2f;font-size:.84rem;line-height:1.4}.auth-notice{padding:10px 12px;border:1px solid #bfded2;border-radius:7px;background:#f1faf6;color:#286b55;font-size:.84rem;line-height:1.4}.auth-text-action{justify-self:center;padding:2px 4px;border:0;background:transparent;color:#596575;font-size:.83rem;font-weight:740}.auth-text-action:hover{color:#3437aa}.auth-loading{display:inline-flex;align-items:center;gap:10px;color:#34404c;font-weight:760}.auth-message-panel{text-align:left}.auth-secondary-action{min-height:42px;border:1px solid #ccd6df;border-radius:7px;background:#fff;color:#27313c;font-weight:760}.modal-backdrop.category-dialog-backdrop{padding:20px;background:#0f172a38;backdrop-filter:none;-webkit-backdrop-filter:none}.category-dialog-backdrop .category-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 40px);min-height:0;overflow:auto;padding:18px 20px 16px;border:1px solid rgba(31,41,51,.12);border-radius:11px;background:#fff;box-shadow:0 18px 48px #0f172a2e,0 2px 8px #0f172a0f}.category-dialog-backdrop .category-dialog>div:first-child{display:grid;gap:4px}.category-dialog-backdrop .category-dialog .eyebrow{margin:0;color:#6b7582;font-size:.66rem;font-weight:820;letter-spacing:.08em;text-transform:uppercase}.category-dialog-backdrop .category-dialog h2{margin:0;color:#1f2933;font-size:1.08rem;line-height:1.25;letter-spacing:0}.category-dialog-backdrop .category-dialog>div:first-child>p:last-child{margin:1px 0 0;color:#687482;font-size:.79rem;line-height:1.45}.category-dialog-backdrop .category-dialog-form{gap:11px;margin-top:14px}.category-dialog-backdrop .category-dialog-form label{gap:6px;color:#4f5d6b;font-size:.7rem;letter-spacing:.035em}.category-dialog-backdrop .category-dialog-form label input{min-height:38px;padding:0 10px;border:1px solid #cbd4de;border-radius:7px;background:#fff;color:#1f2933;font-size:.84rem;font-weight:650;outline:none}.category-dialog-backdrop .category-dialog-form label input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11c}.category-dialog-backdrop .category-dialog-meta,.category-dialog-backdrop .category-merge-summary{padding:8px 10px;border-color:#1f293314;border-radius:7px;background:#f7f9fc}.category-dialog-backdrop .category-dialog-meta{gap:2px}.category-dialog-backdrop .category-dialog-meta span{color:#344454;font-size:.78rem;font-weight:760}.category-dialog-backdrop .category-dialog-meta small{color:#75808c;font-size:.71rem;line-height:1.35}.category-dialog-backdrop .category-dialog-error{padding:7px 9px;border:1px solid rgba(180,35,24,.14);border-radius:7px;background:#fff7f6;font-size:.76rem;line-height:1.35}.category-dialog-backdrop .category-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:3px}.category-dialog-backdrop .category-dialog-actions button{width:auto;min-height:34px;padding:0 13px;border-radius:7px;font-size:.78rem;font-weight:780}.public-booking-shell{min-height:100vh;background:#f7f7f5;color:#182027}.public-booking-header{display:flex;align-items:center;justify-content:space-between;max-width:1180px;min-height:76px;margin:0 auto;padding:0 28px;color:#626b72;font-size:.78rem;font-weight:720}.public-booking-header a{display:inline-flex;align-items:center;gap:10px;color:#182027;font-size:.98rem;font-weight:780;text-decoration:none}.public-brand-mark,.public-confirmation-mark{display:inline-grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:#1e2933;color:#fff;font-family:Georgia,serif;font-size:1rem;font-weight:700}.public-booking-main{max-width:1180px;margin:0 auto;padding:26px 28px 72px}.public-booking-heading{max-width:610px;margin-bottom:26px}.public-eyebrow{margin:0 0 8px;color:#707a83;font-size:.67rem;font-weight:830;letter-spacing:.1em;text-transform:uppercase}.public-booking-heading h1,.public-booking-confirmation h1,.public-booking-message h1{margin:0;color:#182027;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3vw,2.85rem);font-weight:500;line-height:1.08}.public-booking-heading>p:last-child,.public-confirmation-intro,.public-booking-message p:last-child{margin:12px 0 0;color:#68737b;line-height:1.55}.public-browse-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:680px;margin:0 0 19px}.public-browse-switch button{display:grid;grid-template-columns:28px 1fr;column-gap:9px;align-items:center;padding:12px;border:1px solid #dfe4df;border-radius:10px;background:#ffffffbd;color:#334047;font:inherit;text-align:left}.public-browse-switch button:hover{border-color:#b7c5ba;background:#fff}.public-browse-switch button.active{border-color:#395748;background:#f1f7f1;box-shadow:inset 0 0 0 1px #395748}.public-browse-switch button>span{display:inline-grid;grid-row:span 2;place-items:center;width:28px;height:28px;border-radius:999px;background:#e7ece7;color:#486353;font-size:.72rem;font-weight:820}.public-browse-switch button.active>span{background:#315b43;color:#fff}.public-browse-switch strong{font-size:.78rem}.public-browse-switch small{color:#778187;font-size:.68rem;line-height:1.3}.public-booking-progress{display:flex;gap:9px;margin:0 0 24px;overflow-x:auto;scrollbar-width:none}.public-booking-progress span{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;color:#8a9297;font-size:.73rem;font-weight:720}.public-booking-progress i{display:inline-grid;place-items:center;width:21px;height:21px;border:1px solid #d9dedd;border-radius:999px;background:#fff;color:#899197;font-size:.67rem;font-style:normal}.public-booking-progress span.active,.public-booking-progress span.complete{color:#26323a}.public-booking-progress span.active i{border-color:#26323a;background:#26323a;color:#fff}.public-booking-progress span.complete i{border-color:#b8c1bc;background:#eaf0eb;color:#325d45}.public-booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 252px;gap:20px;align-items:start}.public-booking-panel,.public-booking-summary,.public-booking-confirmation,.public-booking-message{border:1px solid #e2e5e0;border-radius:12px;background:#fff;box-shadow:0 12px 32px #1f282d0d}.public-booking-panel{grid-column:1;padding:25px}.public-booking-summary{position:sticky;top:20px;grid-column:2;grid-row:1 / span 4;display:grid;gap:7px;padding:20px}.public-booking-summary .public-eyebrow{margin-bottom:2px}.public-booking-summary strong{color:#1f2a31;font-size:.96rem}.public-booking-summary span,.public-booking-summary p{color:#737d84;font-size:.8rem;line-height:1.4}.public-booking-summary p{margin:0}.public-booking-summary b{margin-top:4px;color:#1e2933;font-size:.9rem}.public-section-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:21px}.public-section-heading>span{display:inline-grid;place-items:center;width:24px;height:24px;margin-top:1px;border-radius:999px;background:#edf1ed;color:#3e5948;font-size:.72rem;font-weight:820}.public-section-heading h2{margin:0;color:#202a31;font-size:1rem;letter-spacing:0}.public-section-heading p{margin:4px 0 0;color:#788188;font-size:.81rem;line-height:1.4}.public-service-category+.public-service-category{margin-top:25px}.public-service-category h3{margin:0 0 10px;color:#606b72;font-size:.7rem;font-weight:820;letter-spacing:.07em;text-transform:uppercase}.public-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.public-service-card,.public-staff-card,.public-time-grid button,.public-date-strip button,.public-date-controls>button{font:inherit}.public-service-card{display:grid;gap:8px;min-height:126px;padding:15px;border:1px solid #e0e4df;border-radius:9px;background:#fff;color:#263138;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease}.public-service-card:hover{border-color:#b6c4b9;background:#fbfcfa;transform:translateY(-1px)}.public-service-card.selected{border-color:#395748;background:#f3f8f3;box-shadow:inset 0 0 0 1px #395748}.public-service-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.public-service-card-top strong{font-size:.88rem;line-height:1.25}.public-service-card-top svg{color:#315b43;flex:0 0 auto}.public-service-description{color:#68737a;font-size:.75rem;line-height:1.42}.public-service-metadata{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;color:#3d4b52;font-size:.75rem;font-weight:710}.public-service-metadata span{display:inline-flex;align-items:center;gap:4px}.public-service-note{padding-top:7px;border-top:1px solid #e3e7e2;color:#866c35;font-size:.69rem;line-height:1.36}.public-category-chips{display:flex;gap:7px;margin:-2px 0 18px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.public-category-chips button{flex:0 0 auto;min-height:31px;padding:0 11px;border:1px solid #dce2dd;border-radius:999px;background:#fff;color:#59666d;font:inherit;font-size:.73rem;font-weight:720}.public-category-chips button:hover{border-color:#adc0b1;background:#f8faf7}.public-category-chips button.selected{border-color:#395748;background:#315b43;color:#fff}.public-booking-helper{display:grid;gap:4px;margin-top:22px;padding:13px 14px;border:1px solid #e2e6e0;border-radius:8px;background:#fafbf8}.public-booking-helper strong{color:#3c4a50;font-size:.77rem}.public-booking-helper span{color:#778187;font-size:.73rem;line-height:1.4}.public-staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.public-staff-card{display:grid;gap:5px;min-height:102px;padding:14px;border:1px solid #e0e4df;border-radius:9px;background:#fff;color:#263138;text-align:left}.public-staff-card:hover{border-color:#b6c4b9;background:#fbfcfa}.public-staff-card.selected{border-color:#395748;background:#f3f8f3;box-shadow:inset 0 0 0 1px #395748}.public-staff-card strong{font-size:.83rem}.public-staff-card>span:last-child{color:#758087;font-size:.71rem;line-height:1.35}.public-staff-card>svg{color:#4d6c59}.public-staff-initial{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#e8eeea;color:#41604c;font-size:.77rem;font-weight:800}.public-date-controls{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:8px;align-items:center}.public-date-controls>button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #dfe4df;border-radius:7px;background:#fff;color:#4e5a60}.public-date-controls>button:disabled{opacity:.36}.public-date-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.public-date-strip button{display:grid;justify-items:center;gap:4px;min-height:56px;padding:7px 3px;border:1px solid #e0e4df;border-radius:8px;background:#fff;color:#5d686e}.public-date-strip button:hover{background:#f7f9f6}.public-date-strip button.selected{border-color:#395748;background:#263b30;color:#fff}.public-date-strip span{font-size:.65rem;font-weight:720}.public-date-strip strong{font-size:.86rem}.public-time-heading{display:flex;align-items:center;justify-content:space-between;margin-top:22px;color:#2c373d;font-size:.82rem}.public-time-heading span{display:inline-flex;align-items:center;gap:6px;color:#778188;font-size:.72rem}.public-time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin-top:12px}.public-time-grid button{display:grid;justify-items:start;gap:3px;padding:11px 12px;border:1px solid #dfe4df;border-radius:7px;background:#fff;color:#263138;text-align:left}.public-time-grid button:hover{border-color:#95ab9d;background:#fafcf9}.public-time-grid button.selected{border-color:#395748;background:#f1f7f1;box-shadow:inset 0 0 0 1px #395748}.public-time-grid strong{font-size:.8rem}.public-time-grid span{color:#758087;font-size:.67rem}.public-slots-placeholder,.public-empty-slots{margin-top:12px;padding:20px 12px;border:1px dashed #dce2dd;border-radius:8px;color:#758087;font-size:.79rem;text-align:center}.public-client-form{display:grid;gap:15px}.public-client-form label{display:grid;gap:7px;color:#4a565d;font-size:.73rem;font-weight:760}.public-client-form label>span em{color:#8b9398;font-style:normal;font-weight:620}.public-client-form input,.public-client-form textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d6ddd7;border-radius:7px;background:#fff;color:#202a31;font:inherit;font-size:.84rem;outline:none}.public-client-form textarea{min-height:76px;resize:vertical}.public-client-form input:focus,.public-client-form textarea:focus{border-color:#456955;box-shadow:0 0 0 3px #4569551f}.public-client-contact{display:grid;grid-template-columns:1fr 1fr;gap:12px}.public-field-hint{margin:-8px 0 0;color:#7d868c;font-size:.7rem}.public-form-error{margin:0;padding:10px 11px;border:1px solid #edcfce;border-radius:7px;background:#fff7f6;color:#a13f39;font-size:.78rem;line-height:1.38}.public-confirm-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:3px;border:1px solid #263b30;border-radius:7px;background:#263b30;color:#fff;font:inherit;font-size:.82rem;font-weight:780}.public-confirm-button:hover:not(:disabled){background:#1d3026}.public-confirm-button:disabled{cursor:not-allowed;border-color:#dde1dd;background:#e5e9e5;color:#909893}.public-booking-confirmation,.public-booking-message{width:min(520px,calc(100% - 40px));margin:12vh auto 0;padding:34px}.public-booking-confirmation{display:grid;gap:12px}.public-confirmation-mark{width:46px;height:46px;border-radius:13px;background:#315b43;font-family:inherit}.public-confirmation-details{display:grid;gap:0;margin:14px 0 0;border-top:1px solid #e5e9e5}.public-confirmation-details div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #e5e9e5}.public-confirmation-details dt{color:#748087;font-size:.74rem}.public-confirmation-details dd{margin:0;color:#273239;font-size:.8rem;font-weight:720;text-align:right}.public-booking-message{display:grid;gap:8px;color:#68737b}.public-booking-message .public-eyebrow{margin-top:4px}.public-guided-panel{min-width:0}.public-step-staff-grid{margin-bottom:20px}.public-recommendations{display:grid;gap:12px;margin-bottom:18px;padding:16px;border:1px solid #dce6dc;border-radius:9px;background:#f8fbf7}.public-recommendations>div>.public-eyebrow{margin-bottom:5px}.public-recommendations>div>p:last-child{margin:0;color:#69756e;font-size:.78rem;line-height:1.48}.public-recommendation-card,.public-added-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e0e6df;border-radius:8px;background:#fff}.public-recommendation-card strong,.public-added-line strong{color:#263138;font-size:.84rem}.public-recommendation-card p{margin:4px 0 0;color:#778087;font-size:.72rem;line-height:1.4}.public-recommendation-card button,.public-add-another,.public-secondary-button{min-height:34px;padding:0 12px;border:1px solid #d9e0da;border-radius:7px;background:#fff;color:#38454b;font:inherit;font-size:.76rem;font-weight:750}.public-recommendation-card button.selected{border-color:#395748;background:#edf6ed;color:#315b43}.public-text-choice{justify-self:start;padding:0;border:0;background:transparent;color:#556b5c;font:inherit;font-size:.76rem;text-decoration:underline}.public-added-lines{display:grid;gap:9px}.public-added-line{grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr) 30px}.public-line-staff{display:grid;gap:6px}.public-line-staff>span{color:#768087;font-size:.67rem;font-weight:760;text-transform:uppercase;letter-spacing:.06em}.public-line-staff>div{display:flex;flex-wrap:wrap;gap:6px}.public-line-staff button{min-height:29px;padding:0 9px;border:1px solid #dfe4df;border-radius:999px;background:#fff;color:#59666d;font:inherit;font-size:.7rem}.public-line-staff button.selected{border-color:#395748;background:#315b43;color:#fff}.public-line-remove{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:#8c5e59}.public-add-another{display:inline-flex;align-items:center;gap:6px;margin-top:14px}.public-general-services{display:grid;gap:16px;margin-top:16px}.public-general-services h3{margin:0 0 9px;color:#68747a;font-size:.71rem;text-transform:uppercase;letter-spacing:.07em}.public-step-actions{display:flex;justify-content:space-between;gap:10px;margin-top:24px}.public-step-actions .public-confirm-button{width:auto;margin:0;padding:0 16px}.public-secondary-button:hover{border-color:#aab8ad;background:#fafcf9}.public-visit-options{display:grid;gap:16px;margin-top:18px}.public-visit-day{display:grid;grid-template-columns:104px minmax(0,1fr);gap:9px;align-items:start}.public-visit-day h3{margin:8px 0 0;color:#657178;font-size:.73rem;font-weight:760}.public-visit-day>span{padding:10px;color:#838c91;font-size:.75rem}.public-visit-day>button{display:grid;grid-template-columns:72px 72px minmax(0,1fr);gap:8px;align-items:center;min-height:45px;padding:8px 11px;border:1px solid #dfe4df;border-radius:7px;background:#fff;color:#2d383e;text-align:left;font:inherit}.public-visit-day>button:hover{border-color:#9bb09f;background:#fafcf9}.public-visit-day>button.selected{border-color:#395748;background:#f1f7f1;box-shadow:inset 0 0 0 1px #395748}.public-visit-day>button strong{font-size:.8rem}.public-visit-day>button span,.public-visit-day>button small{color:#718087;font-size:.7rem}.public-policy-summary{display:grid;gap:6px;padding:13px;border:1px solid #e0e6df;border-radius:8px;background:#fafbf8}.public-policy-summary strong{color:#38454b;font-size:.78rem}.public-policy-summary p,.public-policy-summary details p{margin:0;color:#748087;font-size:.73rem;line-height:1.45}.public-policy-summary a,.public-policy-summary summary{color:#315b43;font-size:.73rem;font-weight:720}.public-policy-checkbox{display:flex!important;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;padding:3px 0}.public-policy-checkbox input{width:16px;min-height:16px;margin:1px 0 0;accent-color:#315b43}.public-policy-checkbox span{font-size:.78rem;line-height:1.38}.public-policy-summary{margin-top:16px}.public-policy-summary>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.public-policy-summary .public-eyebrow{margin:0 0 2px}.public-policy-version{margin:0;color:#899399;font-size:.68rem!important;font-weight:700}.public-policy-read{margin:0;color:#53626a;font-size:.75rem!important}.public-policy-read a,.public-policy-checkbox a,.public-policy-link{color:#315b43;font:inherit;font-weight:740;text-decoration:underline;text-underline-offset:2px}.public-policy-link{display:inline;padding:0;border:0;background:transparent;cursor:pointer}.public-policy-modal-backdrop{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#1c262461}.public-policy-modal{position:relative;width:min(100%,600px);max-height:min(740px,calc(100vh - 40px));overflow:auto;padding:26px;border:1px solid #dbe3dd;border-radius:14px;background:#fff;box-shadow:0 24px 64px #202c2838;color:#344149}.public-policy-modal h2{margin:3px 34px 3px 0;font-size:1.25rem}.public-policy-modal>div{display:grid;gap:12px;margin:20px 0}.public-policy-modal>div p{margin:0;color:#58656c;font-size:.86rem;line-height:1.55;white-space:pre-wrap}.public-policy-modal-close{position:absolute;top:16px;right:16px;display:grid;width:32px;height:32px;place-items:center;border:1px solid #dde4df;border-radius:50%;background:#fff;color:#5b6966}.public-review-lines,.public-review-client{display:grid;gap:0;border-top:1px solid #e3e7e2}.public-review-lines>div,.public-review-client{padding:12px 0;border-bottom:1px solid #e3e7e2}.public-review-lines>div{display:grid;grid-template-columns:1fr auto;gap:4px 14px}.public-review-lines strong{color:#29353b;font-size:.82rem}.public-review-lines span{color:#758087;font-size:.73rem}.public-review-lines b{grid-column:2;grid-row:1 / span 2;align-self:center;color:#35434a;font-size:.78rem}.public-review-client{margin-top:14px;color:#718087;font-size:.74rem}.public-review-client strong{color:#2e393f;font-size:.82rem}.public-booking-summary hr{width:100%;margin:6px 0;border:0;border-top:1px solid #e5e9e5}.service-addon-panel{display:grid;gap:12px}.service-addon-candidates{display:grid;gap:8px}.service-addon-row{border:1px solid #e2e6e1;border-radius:8px;background:#fff;overflow:hidden}.service-addon-row.selected{border-color:#b8cdbb}.service-addon-select{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:10px;width:100%;align-items:center;min-height:42px;padding:8px 10px;border:0;background:transparent;color:#2c363c;text-align:left;font:inherit}.service-addon-select>span{display:inline-grid;place-items:center;min-height:25px;border:1px solid #d9e2d8;border-radius:999px;color:#4a6652;font-size:.68rem;font-weight:780}.service-addon-select strong{font-size:.8rem}.service-addon-select small{color:#778187;font-size:.7rem}.service-addon-options{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:end;padding:10px;border-top:1px solid #e7ebe7;background:#fafbf9}.service-addon-options label{display:grid;gap:5px;color:#627077;font-size:.7rem;font-weight:700}.service-addon-options input[type=text],.service-addon-options input:not([type]){min-height:34px;padding:6px 8px;border:1px solid #dbe1dc;border-radius:6px;font:inherit;font-size:.76rem}.service-addon-options .service-addon-checkbox{display:flex;align-items:center;gap:6px;padding-bottom:5px;white-space:nowrap}.service-addon-note{margin:0;padding:11px;border:1px solid #e0e6df;border-radius:7px;background:#fafbf9;color:#6f7a80;font-size:.77rem}.business-policy-actions{display:flex;justify-content:flex-end;margin-top:14px}@media (max-width: 800px){.public-booking-layout{grid-template-columns:1fr}.public-booking-summary{position:static;grid-column:1;grid-row:auto;order:-1}}@media (max-width: 560px){.public-booking-header{min-height:64px;padding:0 17px}.public-booking-header>span{display:none}.public-booking-main{padding:17px 14px 48px}.public-booking-heading{margin-bottom:21px}.public-booking-progress{margin-bottom:17px}.public-booking-progress span{font-size:0}.public-booking-progress span i{font-size:.67rem}.public-browse-switch{gap:7px}.public-browse-switch button{grid-template-columns:23px 1fr;column-gap:7px;padding:10px}.public-browse-switch button>span{width:23px;height:23px;font-size:.65rem}.public-browse-switch small{font-size:.63rem}.public-booking-panel{padding:18px 15px}.public-service-grid{grid-template-columns:1fr}.public-service-card{min-height:0}.public-date-controls{grid-template-columns:30px minmax(0,1fr) 30px;gap:5px}.public-date-controls>button{width:30px;height:32px}.public-date-strip{gap:3px}.public-date-strip button{min-height:51px;padding:5px 2px}.public-date-strip span{font-size:.59rem}.public-client-contact,.public-added-line,.public-visit-day{grid-template-columns:1fr}.public-added-line{position:relative}.public-line-remove{position:absolute;right:8px;top:8px}.public-visit-day>button{grid-template-columns:1fr 1fr}.public-visit-day>button small{grid-column:1 / -1}.service-addon-options{grid-template-columns:1fr}.public-booking-confirmation,.public-booking-message{width:calc(100% - 28px);margin-top:64px;padding:24px 20px}}@media (max-width: 560px){.modal-backdrop.category-dialog-backdrop{align-items:center;padding:12px}.category-dialog-backdrop .category-dialog{width:min(100%,440px);max-height:calc(100vh - 24px);padding:17px 16px 14px}.category-dialog-backdrop .category-dialog-actions{display:flex;flex-wrap:wrap}.category-dialog-backdrop .category-dialog-actions button{width:auto;min-width:92px}}.public-journey-shell{min-height:100vh;background:#f7f8f5}.public-journey{width:min(1080px,calc(100% - 40px));margin:0 auto;padding:42px 0 72px}.public-journey-topline{display:flex;justify-content:space-between;margin-bottom:22px;color:#758078;font-size:.71rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.public-journey-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:28px;align-items:start}.public-journey-stage{min-height:590px;padding:clamp(24px,4vw,46px);border:1px solid #e3e7df;border-radius:12px;background:#fff;box-shadow:0 18px 50px #29342d0f}.public-journey-transition{animation:publicJourneyIn .22s ease both}@keyframes publicJourneyIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.public-step-header{max-width:610px;margin-bottom:30px}.public-step-header>p{margin:0 0 9px;color:#607767;font-size:.69rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.public-step-header h1{margin:0;color:#29352e;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.65rem,3vw,2.25rem);font-weight:500;line-height:1.12}.public-step-header>span{display:block;margin-top:11px;color:#758078;font-size:.88rem;line-height:1.52}.public-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;max-width:690px}.public-method-grid>button{position:relative;display:grid;gap:13px;min-height:242px;padding:25px;border:1px solid #dae1d8;border-radius:10px;background:#fbfcf9;color:#26332b;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease}.public-method-grid>button:hover{transform:translateY(-2px);border-color:#8da490;background:#fff;box-shadow:0 14px 25px #2b3e3017}.public-method-grid strong{margin-top:auto;font-family:Georgia,Times New Roman,serif;font-size:1.3rem;font-weight:500}.public-method-grid small{max-width:190px;color:#758078;font-size:.79rem;line-height:1.45}.public-method-grid>button>svg{position:absolute;right:22px;bottom:23px;color:#54705a}.public-method-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:10px;background:#eaf1e8;color:#4d6a54}.public-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;max-width:720px}.public-choice-card{position:relative;display:grid;align-content:start;gap:7px;min-height:148px;padding:18px;border:1px solid #dfe5dd;border-radius:9px;background:#fff;color:#2c3830;text-align:left}.public-choice-card:hover{border-color:#a3b6a2;background:#fbfdf9}.public-choice-card.selected{border-color:#507457;background:#f0f7ef;box-shadow:inset 0 0 0 1px #507457}.public-choice-card>span{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#e9efea;color:#4c6654;font-size:.77rem;font-weight:800}.public-choice-card strong{margin-top:6px;font-size:.86rem}.public-choice-card small{color:#78837b;font-size:.71rem;line-height:1.35}.public-choice-card>svg:last-child{position:absolute;top:14px;right:14px;color:#416c4b}.public-no-preference{background:#f8fbf7}.public-no-preference>svg{color:#4a6b53}.public-category-folder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:720px}.public-category-folder-grid button{position:relative;display:grid;grid-template-columns:40px 1fr auto;gap:11px;align-items:center;min-height:83px;padding:16px 17px;border:1px solid #e0e5df;border-radius:9px;background:#fbfcf9;color:#2c3830;text-align:left}.public-category-folder-grid button:hover{border-color:#99ad9b;background:#fff;box-shadow:0 8px 18px #2a3a2d0f}.public-category-folder-grid button>span{display:grid;width:38px;height:38px;place-items:center;border-radius:7px 7px 9px 9px;background:#e7f0e5;color:#54735c}.public-category-folder-grid strong{font-size:.86rem;font-weight:760}.public-category-folder-grid small{color:#a0aaa0;font-size:.66rem;font-weight:760;letter-spacing:.08em}.public-category-folder-grid button>svg{color:#6b816e}.public-service-list{display:grid;gap:8px;max-width:720px}.public-service-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:18px;align-items:center;min-height:68px;padding:13px 15px;border:1px solid #e0e5df;border-radius:8px;background:#fff;color:#29352e;text-align:left}.public-service-list>button:hover{border-color:#9aae9e;background:#fcfdfb}.public-service-list>button>span{display:grid;gap:3px;min-width:0}.public-service-list strong{font-size:.84rem}.public-service-list small{display:-webkit-box;overflow:hidden;color:#7a847e;font-size:.72rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:1}.public-service-list>button>svg{color:#6a826e}.public-service-list .public-service-metadata{justify-content:flex-end;white-space:nowrap}.public-recommendation-list{display:grid;gap:9px;max-width:720px}.public-recommendation-list article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px;border:1px solid #dce6d9;border-radius:9px;background:#f9fcf8}.public-recommendation-mark{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:#e5f0e2;color:#53745a}.public-recommendation-list article>div{display:grid;gap:4px}.public-recommendation-list strong{color:#2d3930;font-size:.84rem}.public-recommendation-list p{margin:0;color:#748078;font-size:.72rem;line-height:1.4}.public-recommendation-list button{min-height:32px;padding:0 12px;border:1px solid #b7c9b7;border-radius:6px;background:#fff;color:#34583d;font:inherit;font-size:.75rem;font-weight:750}.public-recommendation-list button:disabled{border-color:#dce4dc;background:#eef4ed;color:#79907d}.public-add-service-action{display:inline-flex;align-items:center;gap:7px;margin-top:17px;padding:0;border:0;background:transparent;color:#45694e;font:inherit;font-size:.78rem;font-weight:760}.public-step-actions{margin-top:34px}.public-step-actions .public-confirm-button,.public-step-actions .public-secondary-button{min-height:40px;border-radius:7px}.public-availability-calendar{max-width:720px;padding:14px;border:1px solid #e1e6df;border-radius:10px;background:#fcfdfb}.public-calendar-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px 12px;color:#344138}.public-calendar-head strong{font-family:Georgia,Times New Roman,serif;font-size:1rem;font-weight:500}.public-calendar-head button{display:grid;width:32px;height:32px;place-items:center;border:1px solid #dce3dc;border-radius:6px;background:#fff;color:#4f6754}.public-calendar-head button:disabled{cursor:not-allowed;opacity:.35}.public-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.public-calendar-week button{position:relative;display:grid;justify-items:center;gap:4px;min-height:62px;padding:7px 2px;border:1px solid #e1e6df;border-radius:7px;background:#fff;color:#7b857e}.public-calendar-week button.available{color:#354b3a}.public-calendar-week button.selected{border-color:#466b4d;background:#ecf4ea;box-shadow:inset 0 0 0 1px #466b4d}.public-calendar-week small{font-size:.63rem;font-weight:760;text-transform:uppercase}.public-calendar-week strong{font-size:.87rem}.public-calendar-week i{width:5px;height:5px;border-radius:50%;background:#c1c9c1}.public-calendar-week button.available i{background:#55795a}.public-time-choice{max-width:720px;margin-top:20px}.public-time-choice>header{display:grid;gap:3px;margin-bottom:10px}.public-time-choice>header span{color:#748078;font-size:.72rem}.public-time-choice>header strong{color:#354139;font-size:.86rem}.public-time-choice>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.public-time-choice>div button{display:grid;gap:3px;min-height:73px;padding:11px;border:1px solid #dfe5dd;border-radius:7px;background:#fff;color:#314038;text-align:left}.public-time-choice>div button:hover{border-color:#9bb09d}.public-time-choice>div button.selected{border-color:#486f4f;background:#eff7ed;box-shadow:inset 0 0 0 1px #486f4f}.public-time-choice>div strong{font-size:.86rem}.public-time-choice>div span,.public-time-choice>div small{color:#76827b;font-size:.69rem}.public-time-choice>p{margin:0;padding:18px;border:1px dashed #d8dfd7;border-radius:8px;color:#778179;font-size:.78rem;line-height:1.45}.public-booking-summary{top:18px;grid-column:auto;grid-row:auto;min-height:0;padding:16px;border-radius:9px;box-shadow:none}.public-booking-summary strong{font-size:.8rem}.public-booking-summary .public-service-metadata{margin-top:3px;font-size:.68rem}.public-booking-summary.expanded{border-color:#cad8c9;background:#fbfdf9}.public-journey-topline{align-items:center;gap:18px}.public-journey-progress{display:flex;justify-content:flex-end;gap:4px;min-width:0}.public-journey-progress span{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;color:#98a19b;font-size:.62rem;font-weight:720;letter-spacing:.035em;text-transform:none;white-space:nowrap}.public-journey-progress span.current{background:#edf3ed;color:#315b43}.public-journey-progress span.complete{color:#607767}.public-journey-stage{border-radius:14px;box-shadow:0 22px 70px #212e2512}.public-step-header{margin-bottom:34px}.public-step-header h1{letter-spacing:0}.public-time-choice{margin-top:24px}.public-time-choice>header{gap:5px;margin-bottom:15px}.public-time-choice>header span{color:#6a7a70;font-size:.76rem;font-weight:700}.public-time-choice>header strong{font-size:.96rem}.public-time-choice>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.public-time-choice>div .public-visit-option{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:2px 12px;min-height:128px;padding:17px;border:1px solid #e0e6de;border-radius:11px;background:#fff;box-shadow:0 4px 12px #212e2506;color:#4d5b51;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease}.public-time-choice>div .public-visit-option:after{position:absolute;inset:0 auto 0 0;width:3px;background:transparent;content:"";transition:background .16s ease}.public-time-choice>div .public-visit-option:hover{border-color:#a7bba8;box-shadow:0 12px 22px #263d2b17;transform:translateY(-1px)}.public-time-choice>div .public-visit-option.selected{border-color:#426b4c;background:#f5faf4;box-shadow:0 0 0 2px #426b4c1f,0 12px 24px #263d2b1a}.public-time-choice>div .public-visit-option.selected:after{background:#426b4c}.public-visit-option-time{grid-row:1 / span 2;align-self:center;color:#27372c;font-family:Georgia,Times New Roman,serif;font-size:1.75rem;font-weight:500;line-height:1}.public-time-choice>div .public-visit-option>span:not(.public-visit-option-time){align-self:end;color:#748177;font-size:.76rem}.public-time-choice>div .public-visit-option small{grid-column:1;color:#647268;font-size:.72rem}.public-time-choice>div .public-visit-option em{grid-column:1;color:#426b4c;font-size:.72rem;font-style:normal;font-weight:720}.public-time-choice>div .public-visit-option b{grid-column:2;grid-row:2 / span 2;align-self:end;color:#26372b;font-size:.92rem}.public-availability-empty{display:grid;justify-items:start;gap:5px;padding:24px;border:1px solid #e2e7e0;border-radius:10px;background:#fcfdfb}.public-availability-empty p{margin:0;color:#344239;font-size:.9rem;font-weight:700}.public-availability-empty>span{color:#738077;font-size:.78rem}.public-availability-empty>div{display:flex;gap:8px;margin-top:10px}.public-availability-empty button{padding:7px 10px;border:1px solid #dbe3da;border-radius:6px;background:#fff;color:#43634a;font:inherit;font-size:.73rem;font-weight:700}.public-availability-empty button:disabled{color:#a4aaa4;cursor:default}.public-booking-summary{padding:20px;border:1px solid #e2e8e1;border-radius:12px;background:#fbfcfa}.public-summary-services{display:grid;gap:7px;margin:12px 0 16px;padding:0;list-style:none}.public-summary-services li{position:relative;padding-left:13px;color:#2d3d31;font-size:.82rem;font-weight:720;line-height:1.35}.public-summary-services li:before{position:absolute;top:.5em;left:0;width:4px;height:4px;border-radius:50%;background:#7b9a80;content:""}.public-summary-itinerary{display:grid;gap:8px;padding-top:15px;border-top:1px solid #e0e6df}.public-summary-itinerary>strong{color:#2b3930;font-size:.8rem}.public-summary-itinerary>span{color:#526158;font-size:.82rem;font-weight:700}.public-summary-itinerary i,.public-confirmation-itinerary i{margin:0 4px;color:#90a094;font-style:normal}.public-summary-itinerary dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 0}.public-summary-itinerary dl div{display:grid;gap:2px}.public-summary-itinerary dt{color:#7b877d;font-size:.66rem}.public-summary-itinerary dd{margin:0;color:#2d3b31;font-size:.8rem;font-weight:760}.public-summary-itinerary p{margin:3px 0 0;color:#426b4c;font-size:.72rem;font-weight:720}.public-summary-pending{display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid #e0e6df}.public-summary-pending span{color:#78847b}.public-summary-pending b{color:#2b3930}.public-review-stack{display:grid;gap:12px}.public-review-card{padding:19px;border:1px solid #e2e7e0;border-radius:11px;background:#fcfdfb}.public-review-card .public-eyebrow{margin:0 0 9px}.public-review-itinerary h2{margin:0 0 15px;color:#2a3930;font-family:Georgia,Times New Roman,serif;font-size:1.27rem;font-weight:500}.public-review-itinerary>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.public-review-itinerary span{color:#778379;font-size:.68rem}.public-review-itinerary strong{display:block;margin-top:3px;color:#29382e;font-size:.87rem}.public-review-service{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-top:1px solid #e4e9e2}.public-review-service:first-of-type{border-top:0;padding-top:0}.public-review-service div{display:grid;gap:3px}.public-review-service strong{color:#2d3c31;font-size:.83rem}.public-review-service span{color:#7a857c;font-size:.73rem}.public-review-service b{align-self:center;color:#314037;font-size:.8rem}.public-review-staff{display:grid;gap:3px;margin:12px 0 0;padding-top:12px;border-top:1px solid #e4e9e2}.public-review-staff span{color:#78847b;font-size:.7rem}.public-review-staff strong{color:#426b4c;font-size:.77rem}.public-review-client{display:grid;gap:5px;margin:0;padding:0;border:0;color:#6f7b72;font-size:.78rem}.public-review-client .public-eyebrow{margin-top:10px}.public-field-error{display:block;margin-top:6px;color:#a34b46;font-size:.72rem;line-height:1.35}.public-client-form input[aria-invalid=true]{border-color:#c87870;background:snow}.public-booking-confirmation{width:min(600px,calc(100% - 36px));margin:82px auto;padding:clamp(30px,6vw,56px);border:1px solid #e1e7df;border-radius:15px;background:#fff;box-shadow:0 24px 70px #23372914}.public-booking-confirmation h1{margin:11px 0 9px;color:#2b3a30;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,3rem);font-weight:500;letter-spacing:0}.public-confirmation-intro{max-width:390px}.public-confirmation-itinerary{display:grid;gap:5px;margin:28px 0 0;padding:18px;border:1px solid #e2e8e1;border-radius:10px;background:#fafcf9}.public-confirmation-itinerary strong{color:#2f3d34;font-size:.92rem}.public-confirmation-itinerary span{color:#314237;font-family:Georgia,Times New Roman,serif;font-size:1.45rem}.public-confirmation-itinerary small{color:#748076;font-size:.76rem}.public-confirmation-actions{display:flex;justify-content:flex-end;margin-top:24px}.public-confirmation-actions .public-confirm-button{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:42px;padding:0 16px;text-decoration:none}.public-management-page{width:min(600px,calc(100% - 36px));margin:72px auto;padding:clamp(30px,6vw,52px);border:1px solid #e1e7df;border-radius:15px;background:#fff;box-shadow:0 24px 70px #23372914}.public-management-page h1{margin:8px 0 10px;color:#2b3a30;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,2.8rem);font-weight:500;line-height:1.1}.public-management-page>p{max-width:430px;margin:0;color:#708077;font-size:.9rem;line-height:1.6}.public-management-back{display:inline-flex;align-items:center;gap:4px;margin-bottom:28px;color:#627568;font-size:.76rem;font-weight:720;text-decoration:none}.public-management-itinerary{display:grid;gap:5px;margin-top:28px;padding:19px;border:1px solid #e2e8e1;border-radius:10px;background:#fafcf9}.public-management-itinerary strong{color:#2f3d34;font-size:.92rem}.public-management-itinerary span{color:#314237;font-family:Georgia,Times New Roman,serif;font-size:1.4rem}.public-management-itinerary i{margin:0 4px;color:#90a094;font-style:normal}.public-management-itinerary small{color:#748076;font-size:.76rem}.public-management-services{display:grid;gap:0;margin:19px 0 0;border-top:1px solid #e5e9e5}.public-management-services div{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #e5e9e5}.public-management-services dt{display:grid;gap:3px;min-width:0}.public-management-services dt strong{color:#2d3b32;font-size:.84rem}.public-management-services dt span,.public-management-services dd{color:#748076;font-size:.75rem}.public-management-services dd{flex:0 0 auto;margin:0;padding-top:2px;white-space:nowrap}.public-management-cancel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:28px;padding-top:21px;border-top:1px solid #e5e9e5}.public-management-cancel p{margin:0;color:#5b6860;font-size:.82rem;font-weight:680}.public-cancel-link{border:0;background:transparent;color:#8e4b55;font-size:.78rem;font-weight:720;text-decoration:underline;text-underline-offset:3px}.public-management-book-again{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:42px;margin-top:26px;padding:0 16px;text-decoration:none}.public-secondary-link{display:inline-flex;width:fit-content;margin-top:10px;color:#456150;font-size:.82rem;font-weight:720;text-decoration:none}.public-cancel-confirmation{width:min(100%,410px);padding:28px;border:1px solid #dbe3dd;border-radius:14px;background:#fff;box-shadow:0 24px 64px #202c2838}.public-cancel-confirmation h2{margin:4px 0 9px;color:#303b33;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:500}.public-cancel-confirmation>p:not(.public-eyebrow){margin:0;color:#718078;font-size:.84rem;line-height:1.55}.public-cancel-confirmation>div{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.public-cancel-confirm-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid #9b4f58;border-radius:7px;background:#9b4f58;color:#fff;font-size:.78rem;font-weight:720}.public-cancel-confirm-button:disabled{cursor:not-allowed;border-color:#d3bdc0;background:#d3bdc0}.public-management-error{margin-top:13px!important;color:#a14f5d!important}.public-time-step{display:flex;flex-direction:column;min-height:0}.public-time-scroll{max-height:min(560px,calc(100vh - 280px));padding:1px 12px 4px 1px;overflow-y:auto;overflow-x:hidden;scrollbar-color:#cbd7ca transparent;scrollbar-width:thin}.public-time-scroll .public-step-header{margin-bottom:27px}.public-time-scroll .public-availability-calendar{max-width:none;padding:17px;border-radius:12px}.public-time-scroll .public-calendar-head{margin-bottom:14px}.public-time-scroll .public-calendar-week{gap:8px}.public-time-choice{max-width:none;margin-top:22px}.public-time-choice>header{margin-bottom:14px}.public-time-choice>header strong{color:#314037;font-size:1rem}.public-time-choice>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.public-time-choice>div .public-visit-option{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:5px 9px;min-height:106px;padding:16px;border-radius:10px}.public-time-choice>div .public-visit-option-time{grid-row:1 / span 2;align-self:center;font-size:1.58rem}.public-time-choice>div .public-visit-option small{grid-column:2;grid-row:1;align-self:end;text-align:right}.public-time-choice>div .public-visit-option em{grid-column:1;grid-row:2;align-self:end;overflow:hidden;color:#426b4c;text-overflow:ellipsis;white-space:nowrap}.public-time-choice>div .public-visit-option b{grid-column:2;grid-row:2;align-self:end;font-size:.88rem}.public-time-choice>div .public-visit-option.no-staff b{grid-row:1 / span 2;align-self:center}.public-show-more-times{display:block;width:100%;margin-top:12px;padding:11px;border:1px solid #d8e1d7;border-radius:8px;background:#fff;color:#426b4c;font:inherit;font-size:.77rem;font-weight:760;transition:background .14s ease,border-color .14s ease}.public-show-more-times:hover{border-color:#9db29f;background:#f6faf5}.public-time-action-footer{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px -2px -2px;padding:14px 2px 0;border-top:1px solid #e3e8e2;background:#fff}.public-time-action-footer>span{max-width:52%;color:#536459;font-size:.75rem;font-weight:700;line-height:1.35}.public-time-action-footer .public-step-actions{flex:1;max-width:238px;margin:0}.public-time-action-footer .public-step-actions .public-confirm-button{min-width:108px}@media (max-width: 760px){.public-journey-topline{align-items:flex-start}.public-journey-progress{justify-content:flex-start;flex-wrap:wrap}.public-journey-progress span{display:none}.public-journey-progress span.current{display:inline-flex}.public-time-choice>div{grid-template-columns:1fr}.public-review-itinerary>div{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}}@media (max-width: 760px){.public-time-scroll{max-height:min(55vh,500px);padding-right:5px}.public-time-choice>div{grid-template-columns:repeat(2,minmax(0,1fr))}.public-time-action-footer{position:sticky;bottom:0;margin:12px -1px -1px;padding:12px 1px 1px}.public-time-action-footer>span{max-width:45%;font-size:.68rem}.public-management-page{width:calc(100% - 28px);margin:48px auto;padding:27px 21px}.public-management-cancel{align-items:flex-start;flex-direction:column;gap:9px}.public-cancel-confirmation{padding:24px 20px}.public-cancel-confirmation>div{align-items:stretch;flex-direction:column-reverse}.public-cancel-confirmation>div button{width:100%}}@media (max-width: 440px){.public-time-scroll{max-height:min(53vh,450px)}.public-time-choice>div{grid-template-columns:1fr}.public-time-action-footer{align-items:flex-end;gap:8px}.public-time-action-footer .public-step-actions{max-width:190px}.public-time-action-footer .public-step-actions .public-secondary-button{padding:0 10px}.public-time-action-footer .public-step-actions .public-confirm-button{min-width:92px;padding:0 12px}}.public-summary-expanded{display:grid;gap:3px;margin-top:4px;color:#758078;font-size:.69rem}@media (max-width: 820px){.public-journey{width:min(100% - 28px,720px);padding-top:26px}.public-journey-layout{grid-template-columns:1fr}.public-journey-stage{min-height:0}.public-booking-summary{position:static;order:-1}}@media (max-width: 560px){.public-journey{width:min(100% - 22px,520px);padding-bottom:42px}.public-journey-stage{padding:25px 18px;border-radius:10px}.public-method-grid,.public-category-folder-grid{grid-template-columns:1fr}.public-method-grid>button{min-height:172px}.public-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-choice-card{min-height:132px}.public-service-list>button{grid-template-columns:minmax(0,1fr) 20px;gap:8px}.public-service-list .public-service-metadata{grid-column:1;justify-content:flex-start}.public-calendar-week{gap:3px}.public-calendar-week button{min-height:55px}.public-time-choice>div{grid-template-columns:repeat(2,minmax(0,1fr))}.public-recommendation-list article{grid-template-columns:32px minmax(0,1fr)}.public-recommendation-list button{grid-column:2;justify-self:start}}
