:root{color:#172f32;font-synthesis:none;background:#f3f6f6;font-family:Inter,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #0e827c}button{cursor:pointer;background:#fff;border:1px solid #cbd6d7;border-radius:8px;padding:10px 16px;font-weight:600}button:hover{background:#edf5f4}button:disabled{cursor:wait;opacity:.55}button.primary{color:#fff;background:#176a65;border-color:#176a65}.danger{color:#ad273d}a{color:#176a65}input,select,textarea{background:#fff;border:1px solid #bdcccc;border-radius:7px;width:100%;padding:10px}label{gap:6px;font-size:14px;font-weight:600;display:grid}textarea{min-height:85px}h1{letter-spacing:-1px;margin:0 0 8px;font-size:30px}h2{margin:0 0 14px;font-size:21px;font-weight:650}h3{font-size:17px;font-weight:650}p{line-height:1.6}.muted{color:#5d7276;font-size:14px}.layout{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#e8f3f3;background:#173e42;padding:28px 18px}.wordmark{margin-bottom:24px;font-size:23px;font-weight:700}.sidebar label{margin-bottom:25px}.sidebar select{color:#172f32}.sidebar nav{gap:5px;display:grid}.sidebar button{color:inherit;text-align:left;background:0 0;border:0}.sidebar button[aria-current=page]{background:#28565a}.workspace{min-width:0;padding:32px}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.panel{background:#fff;border:1px solid #dbe4e5;border-radius:12px;margin-bottom:20px;padding:24px}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.metric{background:#fff;border:1px solid #dbe4e5;border-radius:12px;padding:22px}.metric strong{font-size:32px;display:block}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.form{gap:16px;max-width:760px;display:grid}.error{color:#8c2335;background:#fff0f1;border:1px solid #efb8c0;border-radius:8px;margin-bottom:16px;padding:12px 16px}.success{background:#e3f4e8;border-radius:8px;padding:12px}.scroll-table{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{text-transform:uppercase;letter-spacing:.06em;color:#5d7276;font-size:12px}th,td{vertical-align:top;border-bottom:1px solid #e2e9e9;padding:13px 10px}td{font-size:14px}.login{max-width:460px;margin:10vh auto;padding:32px}.badge{background:#e9f4f1;border-radius:20px;padding:4px 8px;font-size:12px;display:inline-block}.badge.cancelled{background:#fbe7e9}.details{border:2px solid #176a65}.hours{grid-template-columns:140px 1fr 1fr 90px;align-items:center;gap:12px;margin-bottom:12px;display:grid}.fc{--fc-button-bg-color:#176a65;--fc-button-border-color:#176a65;--fc-button-hover-bg-color:#154d49;--fc-button-active-bg-color:#123e3b;font-size:14px}.appointment-modal{width:min(620px,100vw - 32px);top:var(--dialog-viewport-top,0px);bottom:var(--dialog-viewport-bottom,0px);max-height:calc(var(--dialog-viewport-height,100dvh) - 48px);border:1px solid var(--brand-border,#cbd6d7);border-radius:var(--brand-radius,16px);background:var(--brand-background,#fff);color:var(--brand-text,#172f32);overscroll-behavior:contain;margin:auto;padding:0;overflow:auto;box-shadow:0 24px 80px #0000003d}.appointment-modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f1e208c}.appointment-modal .panel.details{box-shadow:none;border:0;border-radius:0;margin:0;padding:28px}.appointment-modal .topbar{gap:16px}.appointment-modal .topbar h2{font-size:1.2rem}.practice-identity{overflow-wrap:anywhere;gap:8px;margin-bottom:28px;display:grid}.practice-caption{opacity:.85;font-size:.8rem}.practice-identity>strong{font-size:1.2rem;line-height:1.4}.practice-identity label{margin:0}.practice-identity select{width:100%;margin-top:8px}.account-menu{min-width:0;max-width:100%;position:relative}.account-trigger{text-align:left;max-width:100%;color:inherit;background:0 0;align-items:center;gap:10px;padding:8px 12px;display:flex}.account-avatar{background:var(--brand-secondary,#e8e2d8);height:40px;color:var(--brand-on-secondary,#173e42);border-radius:50%;flex:0 0 40px;place-items:center;font-weight:650;display:grid}.account-summary{gap:3px;min-width:0;display:grid}.account-summary strong{text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:.9rem;overflow:hidden}.account-summary>span{font-size:.75rem}.account-chevron{margin-left:4px}.account-dropdown{z-index:30;border:1px solid var(--brand-border,#dbe4e5);border-radius:var(--brand-radius,12px);background:var(--brand-background,#fff);width:300px;max-width:calc(100vw - 32px);color:var(--brand-text,#172f32);overflow-wrap:anywhere;padding:20px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 36px #00000026}.account-dropdown p{margin:0 0 10px}.account-dropdown .account-caption{font-size:.75rem;font-weight:650}.account-name{margin-bottom:8px;display:block}.account-email,.account-role-label{font-size:.85rem}.account-dropdown button{width:100%;margin-top:8px}@media (width<=700px){.workspace>.topbar{flex-wrap:wrap;align-items:flex-start}.workspace>.topbar>.account-menu{margin-left:auto}.account-summary strong{max-width:160px}}.mobile-navigation{align-items:center;gap:12px;margin-bottom:20px;display:flex}.mobile-navigation button{flex-shrink:0}.mobile-navigation strong{overflow-wrap:anywhere;min-width:0;font-size:.95rem}.navigation-drawer.appointment-modal{inset:var(--dialog-viewport-top,0px) auto var(--dialog-viewport-bottom,0px) 0;width:min(320px,100vw - 24px);max-width:none;height:var(--dialog-viewport-height,100dvh);max-height:var(--dialog-viewport-height,100dvh);border-radius:0 16px 16px 0;margin:0}.navigation-drawer .sidebar{min-height:100%;padding:20px}.navigation-drawer .sidebar nav{display:grid;overflow:visible}.navigation-drawer .sidebar button{white-space:normal;min-height:44px}.drawer-close{justify-content:flex-end;margin-bottom:20px;display:flex}.appointment-modal{overflow-wrap:anywhere;overflow-x:hidden}.appointment-modal .panel,.appointment-modal .form,.appointment-modal :is(input,select,textarea){min-width:0;max-width:100%}.appointment-modal :is(button,select,input:not([type=checkbox]):not([type=radio])){min-height:44px}.account-dropdown{max-height:max(120px,100dvh - 120px);overflow-y:auto}.account-dropdown[data-placement=above]{top:auto;bottom:calc(100% + 8px)}@media (width<=1023px){.layout{grid-template-columns:minmax(0,1fr)}.workspace{padding:20px}.workspace>.topbar{flex-wrap:nowrap;align-items:flex-start;gap:12px}.workspace>.topbar .brand-identity{flex:1}.workspace>.topbar .account-menu{flex-shrink:0;margin-left:auto}.brand-identity h1{font-size:clamp(22px,4vw,30px)}.fc .fc-toolbar{flex-wrap:wrap;gap:12px}.fc .fc-toolbar-title{font-size:1.1rem}}@media (width<=767px){.workspace{padding:16px}.panel{padding:18px}.metrics,.grid{grid-template-columns:minmax(0,1fr)}.account-trigger{min-width:52px;min-height:52px;padding:6px}.account-trigger .account-summary,.account-trigger .account-chevron{display:none}.account-dropdown{width:min(300px,100vw - 32px)}.workspace .form input,.workspace .form select{width:100%}}:root{--brand-border:#dbe4e5;--brand-background:#fff;--brand-text:#172f32;--brand-radius:12px;--brand-primary:#176a65}.layout{grid-template-columns:230px minmax(0,1fr)}.workspace{width:100%;min-width:0;max-width:none;margin:0;padding:24px}.workspace>section{min-width:0;margin:0}.workspace>.topbar{margin-bottom:18px}.workspace-header-actions{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.workspace-language{border:1px solid var(--brand-border,#cbd6d7);color:#172f32;background:#edf5f4;border-radius:10px;flex-shrink:0;gap:2px;padding:2px;display:inline-flex}.workspace-language button{min-width:44px;min-height:44px;color:inherit;background:0 0;border:0;border-radius:7px;padding:0 8px;font-size:.8rem}.workspace-language button:hover{background:#dcebea}.workspace-language button[aria-pressed=true]{color:#fff;background:#176a65}@media (width<=480px){.workspace>.topbar{grid-template-columns:auto minmax(0,1fr);display:grid}.workspace-header-actions{grid-column:1/-1}}.brand-identity{min-width:0}.brand-identity h1{letter-spacing:-.5px;margin:0;font-size:24px}.sidebar{min-width:0}.sidebar nav button{width:100%;min-height:44px}.practice-identity select{font-size:.85rem}.sidebar .wordmark{font-size:1.15rem}.sidebar>aside{min-width:0}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-heading h2{margin:0}.actions{flex-wrap:wrap;gap:8px;margin-block:12px;display:flex}input,select,textarea{min-width:0;max-width:100%}button{max-width:100%;min-height:44px}label{min-width:0;margin-bottom:12px}fieldset{border:0;min-width:0;margin:0;padding:0}fieldset fieldset{border:1px solid #dbe4e5;margin:12px 0;padding:12px}fieldset:disabled :is(input,select,textarea){opacity:1;color:#52696c;background:#f5f7f7}.form-grid{gap:0 16px;display:grid}.check{align-items:center;gap:10px;min-height:44px;display:flex}.check input{flex:none;width:20px;height:20px}.modal-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.modal-header h2{margin:0;font-size:1.2rem}.modal-header button{flex-shrink:0}[role=alert]{color:#8c2335;background:#fff0f1;border-radius:8px;padding:12px}[role=status]{color:#235d44}.empty{color:#5d7276;padding:12px}.desktop-table{display:none}.mobile-cards{gap:12px;display:grid}.mobile-cards article{background:#fff;border:1px solid #dbe4e5;border-radius:12px;padding:16px}dl{margin:0 0 12px}dt{color:#5d7276;font-size:.85rem}dd{overflow-wrap:anywhere;margin:0 0 12px}small{color:#5d7276;display:block}.money{white-space:nowrap;font-variant-numeric:tabular-nums}.summary{gap:32px;display:flex}.summary dd{font-size:1.5rem;font-weight:650}.login-container{padding:16px}.login{background:#fff;border:1px solid #dbe4e5;border-radius:12px;width:min(100%,460px);margin:6vh auto}.login button.primary{width:100%}.login>form{gap:8px;display:grid}.workspace>.panel{min-width:0}.account-dropdown{margin:0}.navigation-drawer .sidebar{color:#e8f3f3;background:#173e42}.navigation-drawer aside.sidebar{height:100%}.navigation-drawer .sidebar button{width:auto}.navigation-drawer .sidebar nav button{width:100%}@media (width>=640px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.desktop-table{table-layout:fixed;display:table}.mobile-cards{display:none}td,th{overflow-wrap:anywhere}}@media (width<=1023px){.layout{grid-template-columns:minmax(0,1fr)}.workspace{padding:16px}.mobile-navigation{margin-bottom:14px}}@media (width<=600px){.appointment-modal .panel.details{padding:18px}.topbar h1{font-size:22px}.login{padding:22px}.panel{padding:16px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.workspace .panel:has(>.calendar-page){padding:16px}.appointment-modal label{line-height:1.45}.appointment-modal form>.actions{margin-bottom:0}.appointment-modal .actions button{flex:0 auto}.mobile-cards .actions{margin-bottom:0}.mobile-cards .actions button{flex:auto}.business-caption{overflow-wrap:anywhere;color:#5d7276;font-size:.75rem;line-height:1.3}@media (width<=1023px){.workspace{padding:12px}.workspace>.topbar{align-items:center;gap:8px;margin-bottom:10px}.workspace>.topbar>.brand-identity{flex:1}.workspace>.topbar>button{flex-shrink:0;padding:8px}.workspace>.topbar h1{margin:2px 0 0;font-size:20px;line-height:1.2}.workspace .panel:has(>.calendar-page){padding:10px}.account-trigger .account-summary,.account-trigger .account-chevron{display:none}.account-trigger{min-width:44px;min-height:44px;padding:4px}.appointment-modal .panel.details{padding:16px}.modal-header{align-items:start;gap:8px;margin-bottom:14px}.modal-header h2{font-size:1.05rem;line-height:1.4}.summary{flex-wrap:wrap;gap:12px 24px}}[data-session-locked] .private-workspace,[data-session-locked] .private-workspace dialog{visibility:hidden!important;pointer-events:none!important}.session-gate[open]{inset:0;top:var(--dialog-viewport-top,0px);bottom:var(--dialog-viewport-bottom,0px);width:100%;max-width:none;height:var(--dialog-viewport-height,100dvh);color:#172f32;background:#f3f6f6;border:0;max-height:none;margin:0;padding:24px;display:flex;position:fixed;overflow:auto}.session-gate section{overflow-wrap:anywhere;width:min(100%,460px);margin:auto}.session-gate button{min-height:44px}.password-field{min-width:0;margin-bottom:12px}.password-field label{margin-bottom:4px}.password-controls{grid-template-columns:minmax(0,1fr) 44px;gap:6px;min-width:0;display:grid}.password-controls input{width:100%;min-width:0;min-height:44px}.password-controls .password-toggle{place-items:center;width:44px;min-height:44px;padding:8px;display:grid}.password-toggle svg{width:22px;height:22px}.password-limit{margin-block:4px 0}.onboarding-status{min-width:0;margin-block:12px;container-type:inline-size}.overview-setup-notice{overflow-wrap:anywhere;background:#f3f6f6;border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin-block:.75rem 0;padding:.5rem .65rem;display:flex}.overview-setup-notice p{flex:14rem;margin:0}.overview-setup-notice button{white-space:normal;max-width:100%;min-height:44px}.onboarding-status .section-heading{gap:8px;margin-bottom:8px}.onboarding-status :is(h3,h4,p){margin-block:0 8px}.onboarding-status .section-heading h3{margin:0}.onboarding-checks{gap:4px 20px;margin-block:8px;padding:0;list-style:none;display:grid}.onboarding-checks li{align-items:center;gap:8px;min-width:0;padding-block:4px;line-height:1.4;display:flex}.readiness-icon{color:#5d7276;flex:0 0 20px;width:20px;height:20px}[data-complete=true] .readiness-icon{color:#176a65}.readiness-label{overflow-wrap:anywhere;flex:1}.readiness-state{color:#5d7276;font-size:.8rem}.booking-integration{gap:10px;min-width:0;margin-top:16px;display:grid}.booking-integration h4{margin:0}.integration-url label{margin-bottom:4px}.integration-url-controls{gap:6px;display:grid}.booking-integration input,.booking-integration textarea{width:100%;min-width:0}.booking-integration textarea{overflow-wrap:anywhere;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85rem;line-height:1.5}.integration-snippet-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin-bottom:4px;display:flex}.integration-snippet-header label{margin:0}.onboarding-status button{white-space:normal;justify-self:start;width:fit-content;max-width:100%;min-height:44px}.booking-integration p{margin:0}@container (width>=400px){.integration-url-controls{grid-template-columns:minmax(0,1fr) auto;align-items:center}}@container (width>=600px){.onboarding-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}.appointment-modal.appointment-detail-dialog{width:min(540px,100vw - 24px);max-height:calc(var(--dialog-viewport-height,100dvh) - 24px)}.appointment-modal.appointment-detail-dialog .panel.details{padding:clamp(14px,3vw,22px)}.appointment-detail-dialog .modal-header{align-items:start;gap:10px;margin-bottom:12px}.appointment-detail-dialog .modal-header>div{min-width:0}.appointment-detail-dialog .modal-header h2,.appointment-detail-inline-heading h3{margin:0;font-size:1.2rem;line-height:1.3}.appointment-detail-inline-heading{margin:10px 0}.appointment-detail-heading-meta{color:#52696c;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:5px;font-size:.875rem;display:flex}.appointment-detail-heading-meta .badge{color:#215c55;font-weight:650}.appointment-detail-heading-meta .badge.cancelled{color:#8d2539}.appointment-detail-content{gap:10px;display:grid}.appointment-detail-when{background:#edf6f4;border-radius:8px;gap:2px;padding:10px 12px;display:grid}.appointment-detail-when p,.appointment-detail-content :is(dl,dd){margin:0}.appointment-detail-content dl{gap:7px 12px;display:grid}.appointment-detail-content dt{color:#52696c;font-size:.8rem}.appointment-detail-contact>div:first-child dd{font-weight:650}.appointment-detail-content dd{overflow-wrap:anywhere;min-width:0}.appointment-detail-extra,.appointment-detail-actions,.appointment-detail-history{border-top:1px solid var(--brand-border);padding-top:9px}.appointment-detail-contact .actions a{align-items:center;min-height:44px;padding-inline:8px;display:inline-flex}.appointment-detail-actions,.appointment-detail-history{margin-top:10px}.appointment-detail-actions button.danger{border-color:#c77987}.appointment-detail-action-groups{flex-wrap:wrap;align-items:start;gap:8px 16px;display:flex}.appointment-detail-action-groups .actions{min-width:0;margin:0}.appointment-detail-action-groups>.danger{margin-inline-start:auto}.appointment-detail-history>summary{cursor:pointer;min-height:44px;padding-block:10px;display:list-item}@media (width>=600px){.appointment-detail-contact{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-detail-contact>div:first-child{grid-column:1/-1}}.customer-directory,.customer-contact{overflow-wrap:anywhere;min-width:0}.customer-list{gap:.45rem;margin:.65rem 0;padding:0;list-style:none;display:grid}.customer-list li{border:1px solid #d4e0e0;border-radius:.5rem;justify-content:space-between;align-items:center;gap:.6rem;padding:.6rem;display:flex}.customer-row{gap:.15rem;min-width:0;display:grid}.customer-directory button,.customer-contact button{min-height:44px}.customer-contact .appointment-details dd{min-width:0}@media (width>=768px){.customer-row{flex:1;grid-template-columns:minmax(8rem,1fr) minmax(10rem,1fr) minmax(7rem,1fr);gap:.65rem}}.daily-overview{overflow-wrap:anywhere;min-width:0}.daily-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.daily-toolbar p{margin:.3rem 0}.daily-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.daily-counts>div{background:#f3f6f6;border-radius:.5rem;flex-direction:column;justify-content:space-between;padding:.55rem;display:flex}.daily-counts dt{overflow-wrap:anywhere}.daily-previews{gap:.75rem;display:grid}.daily-previews>section{min-width:0}.daily-previews h2{margin-block:.45rem;font-size:1.05rem}.daily-metric-note{color:#4f6267;margin-block:.4rem;font-size:.875rem}.daily-counts dd{margin:.2rem 0 0;font-size:1.3rem;font-weight:700}.daily-list{gap:.4rem;padding:0;list-style:none;display:grid}.daily-appointment{text-align:start;overflow-wrap:anywhere;gap:.2rem;width:100%;min-height:44px;display:grid}.daily-toolbar button{min-height:44px}.daily-status{color:#14534b}.daily-status[data-status=CANCELLED],.daily-status[data-status=NO_SHOW]{color:#932b2b;font-weight:700}@media (width>=1100px){.daily-previews{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.daily-appointment{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.35rem .65rem}}.availability-interval{border:1px solid #c0d1cb;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:.5rem;margin-bottom:.6rem;padding:.6rem;display:grid}.availability-interval label{margin:0}.availability-interval .remove{justify-self:start}.override-editor{border:1px solid #c0d1cb;margin:1rem 0;padding:.7rem}.override-editor summary{cursor:pointer;min-height:44px}.staff-slot-picker{min-width:0;margin-bottom:12px}.staff-slot-picker h3{margin:0 0 6px;font-size:.95rem}.staff-slot-picker small{margin-top:6px;display:block}.staff-slot-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,max(92px,23%)),1fr));gap:6px;display:grid}.staff-slot-grid button{overflow-wrap:anywhere;min-width:0;min-height:44px;padding:6px;font-size:.875rem}.staff-slot-grid button[aria-pressed=true]{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.preserve-lines{white-space:pre-wrap}.appointment-details dd{margin-bottom:12px}.calendar-page{min-width:0}.calendar-filters{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:12px;display:flex}.calendar-filters label{flex:180px;max-width:320px;margin:0}.calendar-filters .muted{margin:0}.calendar-panel{min-width:0;padding:18px;overflow:hidden}.calendar-panel:focus-visible{outline-offset:2px;outline:3px solid #176a65}.fc{--fc-button-bg-color:#176a65;--fc-button-border-color:#176a65;--fc-button-hover-bg-color:#154d49;--fc-button-active-bg-color:#123e3b;--fc-event-bg-color:#176a65;--fc-event-border-color:#176a65;font-size:14px}.fc .fc-toolbar{flex-wrap:wrap;gap:12px}.fc .fc-toolbar-title{font-size:21px}.fc .fc-button{min-height:44px}.fc .fc-event{cursor:pointer}.fc .fc-event-main{overflow:hidden}.fc-event-provider{opacity:.9;font-size:.75rem;display:block}.fc-event-title{font-weight:600}.fc .status-cancelled{--fc-event-bg-color:#95535a;--fc-event-border-color:#95535a;opacity:.75}.fc .status-completed{--fc-event-bg-color:#4c6796;--fc-event-border-color:#4c6796}.fc .status-no_show{--fc-event-bg-color:#936126;--fc-event-border-color:#936126}.fc .fc-event:focus-visible{outline-offset:2px;outline:3px solid #172f32}@media (width<=767px){.calendar-panel{padding:10px}.fc .fc-toolbar-title{font-size:1.05rem}.fc .fc-toolbar{gap:8px}.fc .fc-col-header-cell-cushion{white-space:normal;overflow-wrap:anywhere;max-width:100%;padding:3px;font-size:.75rem}.fc .fc-button{padding:.45rem .65rem}.calendar-filters{gap:8px}.calendar-filters label{max-width:none}}.calendar-controls{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:12px;display:flex}.calendar-date-navigation{flex:0 350px;grid-template-columns:44px minmax(0,180px) 44px;gap:4px;min-width:0;display:grid}.calendar-date-navigation input{flex:1;width:100%;min-width:0;max-width:100%;padding:6px;font-size:.85rem}.calendar-date-navigation button{flex-shrink:0;padding:8px}.view-toggle{gap:4px;display:flex}.view-toggle button[aria-pressed=true]{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.calendar-controls .calendar-filters{flex:170px;margin:0}.calendar-controls .calendar-filters label{gap:3px;max-width:260px;font-size:.8rem}.calendar-page .section-heading{margin-bottom:10px}.calendar-page .section-heading p{margin:0;font-size:.8rem}.calendar-period{margin:0 0 10px;font-size:.9rem}.daily-agenda{gap:8px;margin:0;padding:0;list-style:none;display:grid}.agenda-appointment{text-align:left;border-left:4px solid var(--brand-primary);grid-template-columns:minmax(0,1fr) 12px;align-items:start;gap:4px 8px;width:100%;padding:10px;font-weight:400;display:grid}.agenda-time{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;grid-column:1;font-size:.85rem;font-weight:650}.agenda-summary{overflow-wrap:anywhere;flex-wrap:wrap;grid-column:1;align-items:center;gap:3px 8px;min-width:0;display:flex}.agenda-summary strong{flex-basis:100%;font-size:.95rem}.agenda-summary>span{font-size:.85rem}.agenda-appointment>span:last-child{grid-area:1/2/span 2;align-self:center}.agenda-summary .badge{justify-self:start;font-size:.75rem}.agenda-appointment.status-cancelled{background:#fff6f6;border-left-color:#95535a}.agenda-appointment.status-completed{border-left-color:#4c6796}.agenda-appointment.status-no_show{border-left-color:#936126}.calendar-panel{padding:0}.fc .fc-timegrid-event .fc-event-main{padding:1px 3px}.fc .fc-timegrid-slot{height:3.4em}.fc .grid-event{flex-direction:column;min-width:0;height:100%;line-height:1.05;display:flex;overflow:hidden}.fc .grid-event>*{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;display:block;overflow:hidden}.fc .grid-event-customer{font-size:10px}.fc .grid-event-time{font-size:9px}.fc .grid-event-service{font-size:10px}@media (width<=1023px){.calendar-controls{gap:8px;margin-bottom:10px}.calendar-date-navigation{flex-basis:100%;grid-template-columns:44px minmax(0,1fr) 44px}.calendar-controls .calendar-filters{flex:140px}.calendar-controls .calendar-filters label{max-width:none}.calendar-controls .calendar-filters label>select{min-height:44px;padding:8px}.calendar-page .section-heading .primary{padding:10px 12px}.calendar-page .section-heading{gap:8px}.calendar-panel{padding:0}}.appointment-search{min-width:0;margin-block:.75rem}.appointment-search-controls{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.appointment-search-controls label{flex:14rem;min-width:0;max-width:28rem}.appointment-search-results{gap:.4rem;margin:.5rem 0;padding:0;list-style:none;display:grid}.appointment-search-result{text-align:start;overflow-wrap:anywhere;gap:.2rem;width:100%;padding:.65rem;display:grid}.appointment-search-result span{font-size:.9rem}.search-pagination{flex-wrap:wrap;align-items:center}.hours-editor .hours-day{border-bottom:1px solid var(--brand-border);min-width:0;padding:10px 0}.hours-day-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.hours-editor .check{min-height:44px;margin:0}.hours-editor .availability-interval{border:0;gap:8px;margin-bottom:4px;padding:6px 0}.hours-editor :is(label,input,select,.hours-copy){min-width:0}.hours-editor .hours-error{grid-column:1/-1;margin:0}.hours-editor :is(summary,button){min-height:44px}.hours-editor summary{cursor:pointer;padding:12px 0;font-weight:600}.hours-editor summary:focus-visible{outline:3px solid var(--brand-primary);outline-offset:2px}.hours-copy-targets{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;display:grid}.hours-editor .hours-copy p{margin:0 0 4px}.provider-availability{margin:10px 0}.availability-provider-select{width:100%;min-width:0;max-width:400px;margin-bottom:12px}.availability-provider-select select{text-overflow:ellipsis;width:100%;min-width:0;min-height:44px}.availability-sections{gap:8px;display:grid}.availability-section-row{align-items:stretch;gap:6px;min-width:0;display:flex}.availability-section-open{text-align:left;overflow-wrap:anywhere;flex:1;gap:4px;min-width:0;display:grid}.availability-section-open span,.availability-section-open small{font-weight:400}.availability-section-open small{color:#5d7276}.availability-section-row>button{min-height:44px}.hours-editor .hours-save{z-index:1;position:sticky;bottom:0}dialog:has(.hours-editor) .modal-header{background:var(--brand-background);z-index:2;padding-bottom:8px;position:sticky;top:0}@media (width>=640px){.hours-editor .availability-interval{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto}.hours-editor .availability-interval .remove{align-self:end}}.brand-image{color:#087871;background:#e8f3f3;place-items:center;display:grid;overflow:hidden}.brand-image img{width:100%;min-width:0;height:100%;min-height:0;display:block}.brand-logo{background:#fff;border:1px solid #dbe4e5;border-radius:10px;flex:none;block-size:48px;inline-size:48px}.brand-logo img{object-fit:contain;padding:3px}.brand-logo svg{width:25px;height:25px}.brand-cover{background:repeating-linear-gradient(125deg,#e8f3f3 0 26px,#deeeed 26px 52px);border-radius:10px;height:96px}.brand-cover img{object-fit:cover}.booking-brand-cover{grid-area:1/1/auto/-1;min-width:0}.booking-brand-cover .brand-cover{border-radius:0}.business-identity{background:#fff;min-width:0}.business-identity>.brand-cover{border-radius:0}.business-identity-name{overflow-wrap:anywhere;align-items:center;gap:12px;min-width:0;padding:0 16px 16px;display:flex}.business-identity-name .brand-logo{border:4px solid #fff;align-self:flex-start;block-size:64px;inline-size:64px;margin-top:-20px;box-shadow:0 1px 5px #172f321a}.business-identity-name strong{min-width:0;padding-top:12px;font-size:1.1rem;line-height:1.35}.business-identity:not(:has(.brand-cover img)){background:#f0f6f5}.business-identity>.brand-cover:not(:has(img)){display:none}.booking-brand-cover:not(:has(img)){display:none}.business-identity:not(:has(.brand-cover img)) .business-identity-name{padding:16px}.business-identity:not(:has(.brand-cover img)) .brand-logo{align-self:center;margin-top:0}.business-identity:not(:has(.brand-cover img)) strong{padding-top:0}.workspace-branding{align-items:center;gap:10px;min-width:0;display:flex}.branding-settings{margin-block:16px}.branding-settings>h3{margin-bottom:6px}.branding-settings>p{margin-top:0;font-size:.9rem}.branding-preview{border:1px solid #dbe4e5;border-radius:10px;margin-bottom:12px;overflow:hidden}.branding-settings-grid{gap:12px;display:grid}.branding-setting{border:1px solid #dbe4e5;border-radius:10px;min-width:0;padding:12px}.branding-setting h4{margin:0 0 10px}.branding-image-stage{background:#f3f6f6;border:1px solid #dbe4e5;border-radius:8px;place-items:center;min-width:0;display:grid;overflow:hidden}.branding-image-stage-logo{min-height:112px}.branding-image-stage-logo .brand-logo{block-size:80px;inline-size:80px}.branding-image-stage-cover .brand-cover{border-radius:0;width:100%;height:112px}.branding-guidance{margin-block:10px;font-size:.82rem;line-height:1.5}.branding-setting .actions{gap:8px;margin-top:10px}.branding-setting .actions button{padding-inline:10px;font-size:.85rem}.branding-setting button,.branding-upload button{min-height:44px}.branding-upload input{min-width:0;max-width:100%}@media (width>=640px){.branding-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.workspace-brand-text{overflow-wrap:anywhere;min-width:0}.workspace-branding .brand-logo{box-shadow:0 1px 3px #172f320d}@media (width<=600px){.workspace-branding .brand-logo{block-size:32px;inline-size:32px}}.business-settings-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:12px;display:flex}.business-settings-header h2{margin:0;font-size:19px}.business-settings-header p{margin:4px 0 0}.business-settings-header .actions{margin:0}.settings-accordion{border:1px solid #cbd6d7;border-radius:8px;overflow:hidden}.settings-section+.settings-section{border-top:1px solid #cbd6d7}.settings-section h4{margin:0}.settings-section h4>button{text-align:left;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:44px;padding:12px 14px;display:flex}.settings-section h4>button>span:first-child{overflow-wrap:anywhere;gap:3px;min-width:0;display:grid}.settings-section h4>button small{font-weight:400}.settings-section h4>button:focus-visible{outline-offset:-4px}.settings-section [role=region]{padding:0 14px 14px}.settings-section [hidden]{display:none}.settings-section form{gap:10px;display:grid}.settings-section fieldset{border:0;min-width:0;margin:0;padding:0}.settings-section legend{font-size:14px;font-weight:600}.settings-section p{margin:6px 0}.settings-radio{align-items:flex-start;gap:10px;min-height:44px;margin:0;padding:10px 0;display:flex}.settings-radio input{accent-color:#176a65;flex:0 0 18px;width:18px;height:18px;margin:1px 0 0}.settings-radio span{overflow-wrap:anywhere;min-width:0;line-height:1.45}.settings-section button.primary{justify-self:start}.settings-legacy{background:#edf5f4;border-radius:6px;padding:8px;font-size:14px}.business-settings{overflow-wrap:anywhere;min-width:0}.business-settings-header>div{min-width:0}.business-settings-header .settings-business-name{font-weight:600}.settings-group-title{margin:12px 0 4px}.settings-group-help{margin:0 0 8px}.business-settings .branding-settings{margin-block:12px}.beta-notice{color:#174d48;overflow-wrap:anywhere;background:#edf5f4;border-inline-start:3px solid #176a65;border-radius:.25rem;min-width:0;margin-block:.5rem;padding:.5rem .65rem;font-size:.875rem;line-height:1.45}.auth-shell{min-block-size:100dvh;padding-block:max(clamp(16px, 4vw, 48px), env(safe-area-inset-top)) max(clamp(16px, 4vw, 48px), env(safe-area-inset-bottom));padding-inline:max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right));flex-direction:column;display:flex}.auth-frame{flex:none;width:100%;max-width:460px;margin-block:auto;margin-inline:auto}.auth-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:14px;display:flex}.auth-brand{color:#173e42;margin:0;font-weight:700}.auth-language{background:#fff;border:1px solid #dbe4e5;border-radius:10px;gap:2px;padding:2px;display:inline-flex}.auth-language button{background:0 0;border:0;border-radius:7px;min-height:44px;padding:0 10px}.auth-language button[aria-pressed=true]{color:#fff;background:#087871}.auth-language button:hover:not([aria-pressed=true]){background:#e8f3f3}.auth-layout{background:#fff;border:1px solid #dbe4e5;border-radius:14px;display:grid;overflow:clip}.auth-content{min-width:0;padding:clamp(18px,4vw,36px)}.auth-content h1{margin:0 0 8px;font-size:clamp(1.55rem,3vw,1.9rem);line-height:1.2}.auth-content form{gap:12px;display:grid}.auth-content :is(input,.password-toggle,.primary){min-height:44px}.auth-content .auth-recovery-link{justify-self:start}.auth-content a{align-items:center;min-height:44px;display:inline-flex}.auth-content [role=alert]{color:#8b261b;background:#fff1ee;border-radius:8px;margin:0;padding:10px 12px}.auth-art{display:none}.auth-branding{border-bottom:1px solid #dbe4e5;min-width:0}.auth-layout-branded .auth-content{padding:20px}.auth-layout-branded .auth-content>.muted{margin-bottom:16px}@media (width>=800px){.auth-frame-branded:has(.auth-branding .brand-cover img){max-width:780px}.auth-layout-branded:has(.auth-branding .brand-cover img){grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr)}.auth-branding:has(.brand-cover img){border-bottom:0;border-right:1px solid #dbe4e5}.auth-branding .business-identity:has(.brand-cover img){flex-direction:column;height:100%;display:flex}.auth-branding .brand-cover:has(img){flex:1;min-height:180px}.auth-layout-branded .auth-content{padding:28px}.auth-frame-illustrated{max-width:780px}.auth-layout-illustrated{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.auth-art{background:#e8f3f3;place-items:center;padding:26px;display:grid}.auth-art svg{width:min(100%,260px);display:block}}.public-booking{overflow-wrap:anywhere;width:min(100%,860px);min-width:0;margin:auto;padding:16px}.public-booking-header{border:1px solid var(--brand-border);background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:0;margin-bottom:14px;padding:0;display:grid;overflow:hidden}.booking-identity{grid-column:1/-1;align-items:center;gap:10px;min-width:0;padding:0 14px 14px;display:flex}.booking-identity>div{min-width:0;padding-top:12px}.booking-identity .brand-logo{block-size:60px;inline-size:60px;color:var(--brand-primary);background:#e8f3f3;border:4px solid #fff;align-self:flex-start;margin-top:-18px;box-shadow:0 1px 5px #172f321a}.booking-identity .brand-logo:has(img){background:#fff}.public-booking-header h1{margin:2px 0;font-size:clamp(1.125rem,3.2vw,1.65rem);line-height:1.18}.booking-eyebrow,.booking-zone,.booking-description{color:#365c5c;margin:0;font-size:.82rem;line-height:1.4}.booking-eyebrow{font-weight:650}.booking-description{grid-column:1/-1;max-width:70ch;padding:0 14px 14px;font-size:.9rem}.booking-language{z-index:1;border:1px solid var(--brand-border);background:#fff;border-radius:9px;grid-area:1/2;margin:12px 12px 12px 8px;padding:2px;display:flex}.booking-language button{border:0;min-width:44px;min-height:44px;padding:0;font-size:.78rem}.booking-language button[aria-pressed=true]{color:#fff;background:var(--brand-primary)}.public-booking-header:not(:has(.booking-brand-cover img)){background:#f0f6f5}.public-booking-header:not(:has(.booking-brand-cover img)) .booking-identity{grid-area:1/1;padding:14px 0 14px 14px}.public-booking-header:not(:has(.booking-brand-cover img)) .brand-logo{align-self:center;margin-top:0}.public-booking-header:not(:has(.booking-brand-cover img)) .booking-identity>div{padding-top:0}.public-booking-form{gap:6px;display:grid}.public-booking :where(h2,h3,h4,p){margin:0}.public-booking h2{font-size:1.125rem}.booking-step{border:1px solid var(--brand-border);border-radius:8px;min-width:0}.booking-step-heading{text-align:start;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:48px;padding:7px 10px;font-size:.95rem;display:grid}.booking-step-heading[aria-expanded=true]{color:var(--brand-primary);cursor:default;background:#e8f3f1}.booking-step-heading:disabled{opacity:1;color:#546669;cursor:default;background:#f3f6f6}.booking-step-number{background:#e8f3f1;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.8rem;display:grid}.booking-step-heading[aria-expanded=true] .booking-step-number{background:var(--brand-primary);color:#fff}.booking-step-summary{color:#365c5c;font-size:.82rem;font-weight:400;display:block}.booking-step-panel:not([hidden]){gap:10px;min-width:0;padding:10px;display:grid}.booking-summary h3{font-size:.95rem}.booking-options,.booking-summary{gap:10px;display:grid}.booking-options{align-items:start;max-width:600px}.booking-provider{gap:5px;display:grid}.booking-provider span{background:#f3f6f6;border-radius:8px;padding:10px 12px}.booking-service-info{gap:4px;font-size:.875rem;display:grid}.public-booking-form label{margin:0}.booking-review,.booking-confirmation,.booking-summary>div{gap:8px;display:grid}.booking-summary>div{background:#f3f6f6;border-radius:8px;align-content:start;min-width:0;padding:12px}.public-booking-form>[role=alert]{color:#ad273d;padding-top:10px}.public-booking-form .primary{min-height:48px}.public-booking .panel{padding:18px}.public-booking :is(input,select){width:100%;min-height:44px}.public-booking :is(input,select):focus-visible{outline:2px solid var(--brand-primary)}.booking-reference{overflow-wrap:anywhere}.publication-services{gap:8px;display:grid}.booking-date-time{gap:16px;min-width:0;display:grid}.inline-calendar,.booking-times{min-width:0}.inline-calendar>header{justify-content:space-between;align-items:center;gap:4px;margin-bottom:8px;display:flex}.inline-calendar h4,.booking-times h4{margin:0;font-size:.95rem;line-height:1.4}.inline-calendar>header button{flex:0 0 44px;padding:4px}.inline-calendar table{table-layout:fixed;border-collapse:separate;border-spacing:2px;width:100%}.inline-calendar :is(td,th){text-align:center;border:0;padding:0}.inline-calendar th{letter-spacing:0;font-size:.7rem;font-weight:600;line-height:24px}.inline-calendar td button{border:1px solid var(--brand-border);justify-content:center;align-items:center;width:100%;min-width:0;min-height:44px;padding:0 0 5px;font-size:.9rem;display:flex;position:relative}.inline-calendar td button:disabled{cursor:default;opacity:1;color:#596c70;background:#f2f4f4;border-color:#0000;font-weight:400}.inline-calendar td button[aria-current=date]>span:first-child{text-underline-offset:3px;text-decoration:underline}.inline-calendar td button[aria-pressed=true],.time-slot-grid button[aria-pressed=true]{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.day-marker{font-size:.65rem;line-height:10px;position:absolute;bottom:1px}.public-booking-form .calendar-hint{color:#5d7276;margin:6px 0 0;font-size:.75rem}.booking-times{align-content:start;gap:8px;display:grid}.booking-times-empty{border:1px dashed var(--brand-border);background:#f3f8f7;border-radius:8px;align-content:center;padding:12px}.time-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.time-slot-grid button{overflow-wrap:anywhere;min-width:0;min-height:44px;padding:8px 5px;font-size:.8rem;line-height:1.3}.public-booking-form,.booking-confirmation{container:booking-form/inline-size}.time-scroll-hint{display:none}.time-slot-grid:focus-visible{outline:3px solid var(--brand-primary);outline-offset:3px}@media (width<=420px){.public-booking,.public-booking .panel{padding:12px}.booking-identity .brand-logo svg{width:21px;height:21px}}@container booking-form (width>=450px){.booking-options,.booking-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-review-action{justify-self:end}.time-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@container booking-form (width>=650px){.booking-date-time{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:16px}.booking-times-empty{text-align:center;align-self:stretch}.time-slot-grid{scrollbar-gutter:stable;grid-template-columns:repeat(2,minmax(0,1fr));max-height:320px;padding:3px;overflow:hidden scroll}.public-booking-form .time-scroll-hint{color:#5d7276;margin:6px 0 0;font-size:.75rem;display:block}}.invitation-activation{overflow-wrap:anywhere;min-width:0}.invitation-activation h1{font-size:1.5rem}.invitation-activation :is(input,select,button){min-height:44px}
