/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}}:root{--ink:#252128;--muted:#746d75;--paper:#fffdfb;--background:#f7f4f2;--rose:#b94f7a;--rose-dark:#883654;--rose-pale:#f8eaf0;--line:#e7dfdf;--green:#27816a;--shadow:0 18px 50px #44283617}*{box-sizing:border-box}html{background:var(--background)}body{color:var(--ink);background:var(--background);font-family:var(--font-sans), sans-serif;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #b94f7a3d}.site-shell{min-height:100vh}.demo-bar{color:#fff;background:#29212a;justify-content:space-between;align-items:center;height:64px;padding:0 30px;display:flex}.demo-brand{letter-spacing:.02em;align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.demo-dot{background:#e793b6;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #e793b61f}.mode-switch{background:#ffffff14;border-radius:12px;gap:3px;padding:4px;display:flex}.mode-switch button{color:#d8d1d8;background:0 0;border:0;border-radius:9px;padding:9px 14px;font-size:13px;font-weight:700}.mode-switch button.active{color:#29212a;background:#fff}.salon-header{border-bottom:1px solid var(--line);background:var(--paper);align-items:center;gap:14px;height:86px;padding:0 max(24px,50vw - 590px);display:flex}.salon-logo{color:#fff;background:var(--rose);width:48px;height:48px;font-family:var(--font-display), serif;border-radius:50%;place-items:center;font-size:18px;display:grid}.salon-header>div:nth-child(2){flex-direction:column;display:flex}.salon-header strong{font-family:var(--font-display), serif;font-size:18px}.salon-header span{color:var(--muted);font-size:12px}.salon-header a{color:var(--ink);margin-left:auto;font-size:13px;font-weight:700;text-decoration:none}.booking-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:30px;max-width:1180px;margin:0 auto;padding:40px 24px 70px;display:grid}.booking-main{min-width:0}.progress-row{justify-content:space-between;margin-bottom:24px;display:flex;position:relative}.progress-row:before{content:"";background:#ddd4d7;height:1px;position:absolute;top:17px;left:4%;right:4%}.progress-item{z-index:1;color:#aaa1a6;flex-direction:column;align-items:center;gap:5px;font-size:11px;display:flex}.progress-item span{background:var(--background);border:1px solid #ddd4d7;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.progress-item.done{color:var(--rose-dark)}.progress-item.done span{color:#fff;border-color:var(--rose);background:var(--rose)}.booking-panel,.booking-summary,.success-card{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:22px}.booking-panel{min-height:540px;padding:38px}.eyebrow{color:var(--rose);letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:800}h1,h2,h3,p{margin-top:0}.booking-panel h1,.success-card h1,.page-heading h1{font-family:var(--font-display), serif;letter-spacing:-.025em;margin-bottom:8px;font-size:clamp(31px,4vw,44px);line-height:1.06}.lead{color:var(--muted);margin-bottom:27px}.category-tabs{gap:7px;margin-bottom:22px;padding-bottom:4px;display:flex;overflow-x:auto}.category-tabs button{white-space:nowrap;border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:700}.category-tabs button.active{color:var(--rose-dark);background:var(--rose-pale);border-color:#e8b7cb}.service-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.service-card{text-align:left;min-height:156px;color:inherit;border:1px solid var(--line);background:#fff;border-radius:15px;flex-direction:column;padding:18px;transition:all .18s;display:flex}.service-card:hover{border-color:#d5a0b7;transform:translateY(-2px)}.service-card.selected{border-color:var(--rose);box-shadow:0 0 0 3px #b94f7a1a}.service-title{font-family:var(--font-display), serif;font-size:18px;font-weight:700}.service-description{color:var(--muted);margin:6px 0 14px;font-size:12px;line-height:1.5}.service-meta{color:var(--muted);justify-content:space-between;margin-top:auto;font-size:12px;display:flex}.service-meta strong{color:var(--ink);font-size:16px}.sticky-actions{justify-content:space-between;margin-top:18px;padding:16px 4px;display:flex}.primary-button,.secondary-button{border-radius:11px;padding:12px 19px;font-size:13px;font-weight:750}.primary-button{color:#fff;border:1px solid var(--rose);background:var(--rose);box-shadow:0 8px 20px #b94f7a2e}.primary-button:hover{background:var(--rose-dark)}.primary-button:disabled{opacity:.42;cursor:not-allowed}.secondary-button{color:var(--ink);border:1px solid var(--line);background:#fff}.secondary-button:disabled{opacity:.35}.danger-button,.danger-outline-button{border-radius:11px;padding:12px 17px;font-size:12px;font-weight:800}.danger-button{color:#fff;background:#ad3d49;border:1px solid #ad3d49;box-shadow:0 8px 20px #99313e29}.danger-button:hover{background:#92313c}.danger-button:disabled{opacity:.38;cursor:not-allowed}.danger-outline-button{color:#a13d48;background:#fff7f8;border:1px solid #e4b5bb}.danger-outline-button:hover{background:#ffedef;border-color:#cc7e88}.complete-button{color:#fff;background:#28745f;border:1px solid #28745f;border-radius:11px;padding:12px 17px;font-size:12px;font-weight:800;box-shadow:0 8px 20px #28745f29}.complete-button:hover{background:#205e4d}.complete-button:disabled{opacity:.38;cursor:not-allowed}.no-show-button,.no-show-outline-button{border-radius:11px;padding:12px 17px;font-size:12px;font-weight:800}.no-show-button{color:#fff;background:#a86629;border:1px solid #a86629;box-shadow:0 8px 20px #a8662929}.no-show-button:hover{background:#89511f}.no-show-button:disabled{opacity:.38;cursor:not-allowed}.no-show-outline-button{color:#8b5522;background:#fff9f1;border:1px solid #e2bd94}.no-show-outline-button:hover{background:#fff2df;border-color:#c99156}.booking-summary{padding:26px;position:sticky;top:24px}.booking-summary h2{font-family:var(--font-display), serif;margin:18px 0 4px;font-size:26px}.summary-price{font-size:20px;font-weight:800}.summary-price span{color:var(--muted);font-size:12px;font-weight:500}.summary-lines{border-top:1px solid var(--line);padding-top:14px}.receipt-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:10px 0;font-size:13px;display:flex}.receipt-row span{color:var(--muted)}.receipt-row strong{text-align:right}.empty-summary{color:var(--muted);margin:25px 0;line-height:1.6}.availability-note{color:#286c5b;background:#edf7f4;border-radius:12px;gap:10px;margin-top:22px;padding:13px;font-size:12px;display:flex}.availability-note span{font-weight:800}.availability-note p{margin:0}.staff-choice-grid{gap:11px;display:grid}.staff-choice{text-align:left;width:100%;color:inherit;border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:45px 1fr 24px;align-items:center;gap:13px;padding:14px 16px;display:grid}.staff-choice.selected{border-color:var(--rose);box-shadow:0 0 0 3px #b94f7a14}.avatar{color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.staff-choice>span:nth-child(2){flex-direction:column;display:flex}.staff-choice small,.team-list small{color:var(--muted)}.radio{color:#fff;background:var(--rose);border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:grid}.date-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.date-grid button{color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:13px;flex-direction:column;align-items:center;gap:4px;padding:14px 7px;display:flex}.date-grid button strong{color:var(--ink);font-family:var(--font-display), serif;font-size:24px}.date-grid button.selected,.time-grid button.selected{color:#fff;border-color:var(--rose);background:var(--rose)}.date-grid button.selected strong{color:#fff}.time-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.time-grid button{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:12px;padding:15px;font-weight:750}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-grid label{color:var(--ink);flex-direction:column;gap:7px;font-size:12px;font-weight:750;display:flex}.form-grid label.wide{grid-column:1/-1}.form-grid input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:13px 14px}.form-grid input:focus{border-color:var(--rose)}.panel-actions{justify-content:space-between;margin-top:28px;display:flex}.review-card,.receipt{border:1px solid var(--line);background:#fff;border-radius:14px;padding:8px 18px}.policy-note{background:#fff8e8;border-radius:12px;flex-direction:column;margin-top:15px;padding:14px;font-size:12px;display:flex}.success-card{text-align:center;max-width:620px;margin:60px auto;padding:50px}.success-mark{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:70px;height:70px;margin:0 auto 22px;font-size:30px;display:grid}.success-card>p{color:var(--muted)}.staff-preview-page{background:linear-gradient(135deg,#f8f1f3,#f3f6f3);place-items:start center;min-height:calc(100vh - 64px);padding:54px 24px;display:grid}.staff-preview-card{border:1px solid var(--line);width:min(760px,100%);box-shadow:var(--shadow);background:#fffdfb;border-radius:22px;padding:34px}.staff-preview-card h1{margin:6px 0 8px;font-size:38px}.staff-preview-card>p{max-width:650px;color:var(--muted);margin:0;line-height:1.55}.staff-request-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.staff-request-fields label{color:var(--ink);flex-direction:column;gap:6px;font-size:11px;font-weight:750;display:flex}.staff-request-fields label.wide{grid-column:1/-1}.staff-request-fields input,.staff-request-fields select{width:100%;color:var(--ink);border:1px solid var(--line);font:inherit;background:#fff;border-radius:9px;padding:11px 12px}.request-type-picker{color:var(--ink);flex-direction:column;gap:6px;font-size:11px;font-weight:750;display:flex}.request-type-picker>div{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:1fr 1fr;gap:5px;padding:4px;display:grid}.request-type-picker button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 6px;font-size:11px;font-weight:750}.request-type-picker button.selected{color:#fff;background:var(--rose);box-shadow:0 2px 5px #7339532e}.staff-impact-preview{background:#fffaf0;border:1px solid #e8d4b9;border-radius:14px;margin-top:20px;padding:18px}.staff-impact-preview h2{font-family:var(--font-display), serif;margin:5px 0;font-size:23px}.staff-impact-preview>p{color:#6e5d48;margin:0;font-size:12px;line-height:1.5}.staff-impact-preview>div{gap:7px;margin-top:13px;display:grid}.staff-impact-preview article{background:#fff;border-radius:9px;justify-content:space-between;gap:12px;padding:10px 12px;font-size:12px;display:flex}.staff-impact-preview article span{color:var(--muted)}.staff-request-actions{justify-content:flex-end;gap:9px;margin-top:22px;display:flex}.staff-request-success{background:#eaf6f2;border-radius:10px;padding:12px 14px;font-size:12px;color:#21644f!important;margin:18px 0 0!important}.staff-dashboard-page{background:linear-gradient(135deg,#f8f1f3,#f3f6f3);min-height:calc(100vh - 64px);padding:42px 24px 64px}.staff-dashboard-shell{gap:20px;width:min(1180px,100%);margin:0 auto;display:grid}.staff-dashboard-header{justify-content:space-between;align-items:flex-start;gap:24px;padding:4px 4px 8px;display:flex}.staff-dashboard-header h1{margin:7px 0 5px;font-size:40px}.staff-dashboard-header p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.staff-schedule-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffdfb;border-radius:22px;padding:28px}.staff-schedule-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px;display:flex}.staff-schedule-heading h2,.staff-portal-heading h2{font-family:var(--font-display), serif;margin:5px 0 0;font-size:28px}.staff-view-toggle{border:1px solid var(--line);background:#f7f3f2;border-radius:11px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.staff-view-toggle button{min-width:110px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 13px;font-size:11px;font-weight:750}.staff-view-toggle button.selected{color:#fff;background:var(--rose);box-shadow:0 3px 8px #7339532e}.staff-week-navigation{border:1px solid var(--line);background:#faf7f6;border-radius:12px;align-items:center;gap:8px;min-height:52px;margin-bottom:16px;padding:8px;display:flex}.staff-week-navigation>button{width:36px;height:36px;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;place-items:center;font-size:20px;display:grid}.staff-week-navigation>button:hover{border-color:#d8a5b8}.staff-week-navigation>div{flex-direction:column;flex:1;min-width:0;display:flex}.staff-week-navigation>div span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800}.staff-week-navigation>div strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.staff-week-navigation>.staff-today-button{width:auto;color:var(--rose-dark);padding:0 12px;font-size:10px;font-weight:800}.staff-calendar-scroll{border:1px solid var(--line);border-radius:14px;overflow-x:auto}.staff-calendar-grid{background:var(--line);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;min-width:980px;display:grid}.staff-calendar-day{background:#fff;min-width:0;min-height:330px}.staff-calendar-day.is-today{background:#fffafb}.staff-calendar-day>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:11px 10px;display:flex}.staff-calendar-day>header time{font-size:11px;font-weight:800}.staff-calendar-day.is-today>header time{color:var(--rose-dark)}.staff-calendar-day>header span{color:#fff;background:var(--rose);border-radius:999px;place-items:center;min-width:20px;height:20px;font-size:9px;font-weight:800;display:grid}.staff-calendar-day>header span:empty{visibility:hidden}.staff-calendar-events{align-content:start;gap:7px;padding:8px;display:grid}.staff-calendar-events>p{color:#a1989d;margin:10px 2px;font-size:10px}.staff-calendar-event{border-left:3px solid var(--rose);background:#f8eef2;border-radius:9px;flex-direction:column;gap:3px;min-width:0;padding:10px;display:flex}.staff-calendar-event>div{justify-content:space-between;align-items:center;gap:5px;display:flex}.staff-calendar-event time{color:var(--rose-dark);font-size:11px;font-weight:850}.staff-calendar-event>div span{color:var(--muted);font-size:8px}.staff-calendar-event strong,.staff-calendar-event small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.staff-calendar-event strong{font-size:11px}.staff-calendar-event small{color:var(--muted);font-size:9px}.staff-calendar-event em{background:#fffc;border-radius:999px;width:fit-content;margin-top:3px;padding:3px 6px;font-size:8px;font-style:normal;font-weight:800}.staff-calendar-event.status-completed{background:#edf7f4;border-left-color:#4b9b82}.staff-calendar-event.status-cancelled{opacity:.62;background:#f2f0f1;border-left-color:#989297}.staff-calendar-event.status-no_show{background:#fff6e7;border-left-color:#d19542}.staff-appointments-state{min-height:220px;color:var(--muted);border:1px dashed var(--line);border-radius:14px;place-items:center;font-size:12px;display:grid}.staff-appointments-state.error{color:#923b49;background:#fff5f6}.staff-appointment-list{display:grid}.staff-appointment-list article{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr auto;align-items:center;gap:18px;min-height:72px;padding:13px 15px;display:grid}.staff-appointment-list article:last-child{border-bottom:0}.staff-appointment-list article.status-cancelled{opacity:.62}.staff-appointment-time,.staff-appointment-client{flex-direction:column;gap:3px;min-width:0;display:flex}.staff-appointment-time strong{color:var(--rose-dark);font-size:17px}.staff-appointment-time span,.staff-appointment-client span{color:var(--muted);font-size:10px}.staff-appointment-client strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.staff-appointment-status{color:#675d63;background:#f1eeef;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}.staff-appointment-status.status-confirmed{color:#8b3659;background:#faeaf0}.staff-appointment-status.status-completed{color:#26705b;background:#e7f5f1}.staff-appointment-status.status-no_show{color:#865d1d;background:#fff1d8}.staff-empty-week{text-align:center;border:1px dashed var(--line);border-radius:14px;place-content:center;gap:5px;min-height:180px;display:grid}.staff-empty-week span{color:var(--muted);font-size:11px}.staff-dashboard-shell>.staff-preview-card{width:100%;box-shadow:var(--shadow)}.staff-dashboard-shell>.staff-preview-card>p{margin-bottom:22px}.success-card .receipt{text-align:left;margin:28px 0}.small-note{font-size:12px}.owner-app{background:#f4f2f1;grid-template-columns:245px 1fr;min-height:calc(100vh - 64px);display:grid}.owner-sidebar{color:#f4eef2;background:#2e2730;flex-direction:column;height:calc(100vh - 64px);padding:24px 16px;display:flex;position:sticky;top:0}.owner-brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:11px;padding:0 8px 24px;display:flex}.owner-brand>span{background:var(--rose);width:40px;height:40px;font-family:var(--font-display), serif;border-radius:50%;place-items:center;display:grid}.owner-brand div,.sidebar-profile div{flex-direction:column;display:flex}.owner-brand small,.sidebar-profile small{color:#aa9faa;font-size:11px}.owner-sidebar nav{gap:4px;margin-top:22px;display:grid}.owner-sidebar nav button{color:#cfc5cd;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;padding:11px 13px;font-size:13px;font-weight:650;display:flex}.owner-sidebar nav button .nav-icon{text-align:center;width:20px;font-size:18px}.mobile-nav-label{display:none}.owner-sidebar nav button.active{color:#fff;background:#ffffff1a}.sidebar-profile{border-top:1px solid #ffffff1a;align-items:center;gap:10px;margin-top:auto;padding:15px 8px 0;display:flex}.sidebar-profile>span{color:#402938;background:#f2c6d8;border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:grid}.owner-content{min-width:0}.owner-topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:72px;padding:0 30px;display:flex}.owner-topbar>div:first-child{flex-direction:column;display:flex}.owner-topbar .eyebrow{margin:0}.topbar-actions{align-items:center;gap:10px;display:flex}.topbar-actions button{border:1px solid var(--line);background:#fff;border-radius:10px;width:37px;height:37px}.live-pill{color:#2e715e;background:#eaf6f2;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:11px;font-weight:700;display:flex}.live-pill i{background:#3ca481;border-radius:50%;width:7px;height:7px}.database-pill.loading{color:#6f5b2c;background:#fff5dc}.database-pill.loading i{background:#d39b27;animation:1.2s ease-in-out infinite database-pulse}.database-pill.error{color:#9a3e4a;background:#fcebee}.database-pill.error i{background:#c55766}@keyframes database-pulse{50%{opacity:.35}}.owner-page{max-width:1380px;margin:0 auto;padding:30px}.page-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.page-heading h1{margin-bottom:6px;font-size:38px}.page-heading p:last-child{color:var(--muted);margin:0;font-size:13px}.stat-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:15px;flex-direction:column;min-height:135px;padding:20px;display:flex}.stat-card span{color:var(--muted);font-size:12px;font-weight:700}.stat-card strong{font-family:var(--font-display), serif;margin:10px 0 2px;font-size:30px}.stat-card small{color:var(--muted)}.stat-card.rose{border-top:3px solid #c95e88}.stat-card.blue{border-top:3px solid #5a7fd2}.stat-card.green{border-top:3px solid #4b9d84}.stat-card.gold{border-top:3px solid #c69d4a}.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.dashboard-card,.calendar-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px;box-shadow:0 6px 24px #3f2f390a}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.card-heading{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.card-heading h2{font-family:var(--font-display), serif;margin:0;font-size:21px}.card-heading button{color:var(--rose-dark);background:0 0;border:0;font-size:12px;font-weight:750}.appointment-list>div{border-bottom:1px solid var(--line);grid-template-columns:142px 8px 1fr 80px 20px;align-items:center;gap:11px;padding:13px 3px;display:grid}.appointment-list time{white-space:nowrap;font-size:12px;font-weight:800}.appointment-list i{border-radius:8px;width:8px;height:37px}.appointment-list span{flex-direction:column;display:flex}.appointment-list small{color:var(--muted)}.appointment-list em{color:var(--muted);font-size:12px;font-style:normal}.appointment-list button{color:var(--muted);background:0 0;border:0;font-size:24px}.appointment-list>div.cancelled-appointment{opacity:.68}.appointment-list>div.cancelled-appointment time,.appointment-list>div.cancelled-appointment strong{text-decoration:line-through;text-decoration-thickness:1px}.appointment-list>div.cancelled-appointment i{background:#a8a2a6!important}.appointment-list>div.completed-appointment{background:#f3faf7}.appointment-list>div.completed-appointment time,.appointment-list>div.completed-appointment strong{color:#286d5a}.appointment-list>div.completed-appointment i{box-shadow:0 0 0 3px #dcefe8}.appointment-list>div.no-show-appointment{background:#fff8ef}.appointment-list>div.no-show-appointment time,.appointment-list>div.no-show-appointment strong{color:#8b5522}.appointment-list>div.no-show-appointment i{box-shadow:0 0 0 3px #f3dfc7;background:#b17a43!important}.service-history-list{gap:8px;display:grid}.service-history-item{border:1px solid var(--line);background:snow;border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px;display:grid}.service-history-item>span{flex-direction:column;gap:4px;min-width:0;display:flex}.service-history-item strong{color:var(--ink);overflow-wrap:anywhere;font-size:13px}.service-history-item small{color:var(--muted);font-size:11px}.service-history-label{color:#8e536d;white-space:nowrap;background:#f8e8ef;border-radius:999px;padding:5px 8px;font-size:10px;font-style:normal;font-weight:750}.service-history-restore{min-height:34px;color:var(--rose-dark);white-space:nowrap;background:#fff;border:1px solid #deb1c4;border-radius:9px;padding:0 12px;font-size:11px;font-weight:800}.service-history-restore:hover:not(:disabled){border-color:var(--rose-dark);background:#fff5f8}.service-history-restore:disabled{cursor:not-allowed;opacity:.58}.team-list>div{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:13px 0;display:grid}.team-list>div>span:nth-child(2){flex-direction:column;font-size:13px;display:flex}.team-list em{color:var(--muted);font-size:11px;font-style:normal}.suggestion-card{background:linear-gradient(115deg,#fff8fb,#fff);border-color:#e2bad0;grid-template-columns:50px 1fr auto;align-items:center;gap:18px;display:grid}.suggestion-icon{color:#fff;background:var(--rose);border-radius:14px;place-items:center;width:50px;height:50px;font-size:24px;display:grid}.feature-label{color:var(--rose);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:850}.suggestion-copy h2{font-family:var(--font-display), serif;margin:3px 0;font-size:19px}.suggestion-copy p{color:var(--muted);margin:0;font-size:12px}.suggestion-actions{gap:8px;display:flex}.leave-request-tabs{border-bottom:1px solid var(--line);gap:18px;margin-bottom:18px;display:flex}.leave-request-tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 2px 11px;font-size:13px;font-weight:750}.leave-request-tabs button:hover{color:var(--ink)}.leave-request-tabs button.active{color:var(--rose-dark);border-bottom-color:var(--rose)}.leave-request-list{gap:11px;display:grid}.leave-request-row{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;padding:17px;display:grid}.leave-request-row h3{font-family:var(--font-display), serif;margin:8px 0 3px;font-size:19px}.leave-request-row .status-badge{text-transform:capitalize}.leave-request-row.pending .status-badge{color:#8a5a00;background:#fff3d9}.leave-request-row.approved .status-badge{color:#176f56;background:#e7f6ef}.leave-request-row.declined .status-badge{color:#a34454;background:#fff0f2}.leave-request-row p{color:var(--muted);margin:0;font-size:12px}.leave-request-row.approved{background:#fbfffd;border-color:#b5dfd1}.leave-request-row.declined{background:#fffdfd;border-color:#eedadd}.leave-request-impact{min-width:90px;color:var(--muted);text-align:center;flex-direction:column;align-items:center;font-size:10px;display:flex}.leave-request-impact strong{color:var(--ink);font-size:25px}.leave-review-loading{color:var(--muted);text-align:center;padding:48px 28px}.leave-review-note{color:var(--muted);border-bottom:1px solid var(--line);background:#faf7f8;justify-content:space-between;gap:16px;padding:16px 28px;font-size:12px;display:flex}.leave-review-note strong{color:var(--ink)}.owner-suggestion{background:#fff8fb;border:1px solid #dfb4c6;border-radius:11px;flex-direction:column;gap:5px;padding:13px;display:flex}.owner-suggestion>span{color:var(--rose);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:850}.owner-suggestion strong{font-size:12px}.owner-suggestion small{color:var(--muted);font-size:11px}.empty-state{color:var(--muted);text-align:center;background:#fff;border:1px dashed #d8ccd1;border-radius:13px;flex-direction:column;gap:5px;padding:28px;font-size:12px;display:flex}.empty-state strong{color:var(--ink);font-family:var(--font-display), serif;font-size:19px}.toast{z-index:10;color:#fff;box-shadow:var(--shadow);background:#29212a;border-radius:11px;padding:13px 17px;font-size:12px;position:fixed;top:85px;right:24px}.undo-toast{z-index:70;align-items:center;gap:12px;max-width:520px;display:flex}.undo-toast span{line-height:1.45}.undo-toast button{color:#fff;background:#ffffff1a;border:1px solid #ffffff52;border-radius:8px;flex:none;padding:7px 10px;font-size:11px;font-weight:800}.undo-toast button:hover{background:#ffffff2e}.undo-toast .undo-dismiss{background:0 0;border:0;width:26px;height:26px;padding:0;font-size:18px}.review-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#25212894;place-items:center;padding:32px;display:grid;position:fixed;inset:0}.review-dialog{background:#fffdfb;border:1px solid #e5d9df;border-radius:22px;width:min(960px,100%);max-height:calc(100vh - 64px);overflow:auto;box-shadow:0 28px 90px #23181f47}.review-dialog-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding:25px 28px 21px;display:flex}.review-dialog-header h2{font-family:var(--font-display), serif;letter-spacing:-.02em;margin:4px 0 7px;font-size:30px}.review-dialog-header p{color:var(--muted);margin:0;font-size:13px}.review-close{width:38px;height:38px;color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:10px;flex:none;font-size:25px;line-height:1}.review-summary{border-bottom:1px solid var(--line);background:#faf7f8;gap:12px;padding:14px 28px;display:flex}.review-summary span{color:var(--muted);background:#fff;border:1px solid #eadfe4;border-radius:999px;padding:7px 10px;font-size:11px}.review-summary strong{color:var(--ink)}.affected-appointments{gap:15px;padding:22px 28px;display:grid}.affected-appointment{border:1px solid var(--line);background:#fff;border-radius:16px;padding:19px}.affected-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px;display:flex}.affected-heading h3{font-family:var(--font-display), serif;margin:6px 0 2px;font-size:21px}.affected-heading p{color:var(--muted);margin:0;font-size:12px}.affected-badge,.customer-contact{color:#8a4b16;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:800}.affected-badge{background:#fff1dc;border-radius:999px;padding:5px 8px}.customer-contact{color:var(--rose-dark);padding-top:4px}.appointment-route{grid-template-columns:1fr 28px 1fr;align-items:stretch;gap:10px;display:grid}.route-card{border:1px solid var(--line);background:#faf9f8;border-radius:12px;flex-direction:column;gap:5px;padding:14px;display:flex}.route-card>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.route-card strong{font-size:13px}.route-card small{color:var(--muted)}.route-arrow{color:#b49ba7;place-items:center;font-size:22px;display:grid}.suggested-route{background:#fff8fb;border-color:#dfb4c6}.suggested-route.selected{border-color:var(--rose);box-shadow:0 0 0 3px #b94f7a1a}.suggested-route button{color:var(--rose-dark);background:#fff;border:1px solid #dfb4c6;border-radius:9px;margin-top:7px;padding:9px 11px;font-size:11px;font-weight:800}.suggested-route.selected button{color:#fff;border-color:var(--rose);background:var(--rose)}.review-explanation{color:var(--muted);margin:12px 0 0;font-size:11px;line-height:1.5}.review-explanation strong{color:var(--ink)}.review-footer{border-top:1px solid var(--line);background:#faf7f8;justify-content:space-between;align-items:center;gap:20px;padding:18px 28px 22px;display:flex}.review-footer p{max-width:460px;color:var(--muted);margin:0;font-size:11px;line-height:1.5}.review-footer>div{gap:8px;display:flex}.confirmation-overlay{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2521289e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.confirmation-dialog{background:#fffdfb;border:1px solid #e5d9df;border-radius:20px;width:min(500px,100%);padding:28px;box-shadow:0 28px 90px #23181f4d}.confirmation-dialog h2{font-family:var(--font-display), serif;letter-spacing:-.02em;margin:5px 0 9px;font-size:28px}.confirmation-dialog>p{color:var(--muted);margin:0 0 14px;font-size:13px;line-height:1.5}.confirmation-warning{background:#fff8eb;border:1px solid #e7c89f;border-radius:12px;flex-direction:column;gap:5px;margin:17px 0 15px;padding:15px;display:flex}.confirmation-warning strong{color:#704314;font-size:13px}.confirmation-warning span{color:#745d48;font-size:12px;line-height:1.45}.confirmation-dialog footer{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.appointment-detail-dialog{background:#fffdfb;border:1px solid #e5d9df;border-radius:22px;width:min(820px,100%);max-height:calc(100vh - 64px);overflow:auto;box-shadow:0 28px 90px #23181f47}.appointment-detail-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding:25px 28px 21px;display:flex}.appointment-detail-header h2{font-family:var(--font-display), serif;letter-spacing:-.02em;margin:4px 0 3px;font-size:32px}.appointment-detail-header p{color:var(--muted);margin:0;font-size:13px}.appointment-detail-header-actions{align-items:center;gap:10px;display:flex}.appointment-status{color:#226f59;letter-spacing:.05em;text-transform:uppercase;background:#eaf6f2;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:850}.appointment-status.cancelled{color:#98414b;background:#fbeaec}.appointment-status.completed{color:#21634f;background:#e3f4ed}.appointment-status.no-show{color:#87511e;background:#fff0dd}.appointment-detail-highlight{border-bottom:1px solid var(--line);background:#faf7f8;grid-template-columns:1.35fr 1fr .7fr;gap:12px;padding:20px 28px;display:grid}.appointment-detail-highlight>div{background:#fff;border:1px solid #eadfe4;border-radius:12px;flex-direction:column;gap:5px;padding:14px;display:flex}.appointment-detail-highlight span,.detail-section-label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:800}.appointment-detail-highlight strong{align-items:center;gap:7px;font-size:13px;display:flex}.appointment-detail-highlight strong i{border-radius:50%;width:9px;height:9px}.appointment-detail-highlight small{color:var(--muted)}.appointment-detail-body{grid-template-columns:.85fr 1.15fr;gap:15px;padding:22px 28px;display:grid}.appointment-detail-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px}.appointment-detail-card h3{font-family:var(--font-display), serif;margin:9px 0 11px;font-size:21px}.appointment-detail-card a{color:var(--rose-dark);margin-top:7px;font-size:12px;font-weight:700;text-decoration:none;display:block}.appointment-detail-card a:hover{text-decoration:underline}.appointment-detail-card dl{margin:9px 0 0}.appointment-detail-card dl>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;padding:8px 0;font-size:11px;display:flex}.appointment-detail-card dl>div:last-child{border-bottom:0}.appointment-detail-card dt{color:var(--muted)}.appointment-detail-card dd{text-align:right;margin:0;font-weight:750}.appointment-detail-note{background:#fff9eb;border:1px solid #ead8b3;border-radius:12px;margin:0 28px 22px;padding:14px 16px}.appointment-detail-note span{color:#8a5d19;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:850}.appointment-detail-note p{color:#6f614b;margin:5px 0 0;font-size:11px;line-height:1.5}.appointment-detail-footer{border-top:1px solid var(--line);background:#faf7f8;justify-content:space-between;align-items:center;gap:18px;padding:18px 28px 22px;display:flex}.appointment-detail-footer p{color:var(--muted);margin:0;font-size:11px}.appointment-detail-footer>div{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.new-appointment-dialog{background:#fffdfb;border:1px solid #e5d9df;border-radius:22px;width:min(1050px,100%);max-height:calc(100vh - 64px);overflow:auto;box-shadow:0 28px 90px #23181f47}.new-appointment-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding:25px 28px 21px;display:flex}.new-appointment-header h2{font-family:var(--font-display), serif;letter-spacing:-.02em;margin:4px 0;font-size:32px}.new-appointment-header p{color:var(--muted);margin:0;font-size:13px}.new-appointment-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.new-appointment-fields{border-right:1px solid var(--line);gap:16px;padding:22px 28px;display:grid}.form-section{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px}.form-section-heading{align-items:center;gap:11px;margin-bottom:15px;display:flex}.form-section-heading>span{color:#fff;background:var(--rose);border-radius:50%;flex:0 0 29px;place-items:center;width:29px;height:29px;font-size:11px;font-weight:850;display:grid}.form-section-heading h3{font-family:var(--font-display), serif;margin:0 0 2px;font-size:18px}.form-section-heading p{color:var(--muted);margin:0;font-size:10px}.form-section label,.manual-customer-grid label,.manual-form-grid label{color:var(--ink);flex-direction:column;gap:6px;font-size:11px;font-weight:750;display:flex}.form-section select,.form-section input,.form-section textarea{width:100%;color:var(--ink);border:1px solid var(--line);font:inherit;background:#fff;border-radius:9px;padding:11px 12px}.form-section textarea{resize:vertical;line-height:1.5}.form-section select:disabled{color:#aaa1a6;cursor:not-allowed;background:#f5f2f3}.selected-customer{background:#f7f3f5;border-radius:10px;flex-direction:column;gap:3px;margin-top:10px;padding:11px 12px;font-size:11px;display:flex}.selected-customer span{color:var(--muted)}.manual-customer-grid{grid-template-columns:1fr 1fr;gap:11px;margin-top:12px;display:grid}.manual-customer-grid label:first-child{grid-column:1/-1}.manual-form-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.booking-conflict{color:#7a342e;background:#fff1ef;border:1px solid #edc2bd;border-radius:10px;flex-direction:column;gap:4px;margin-top:12px;padding:12px 14px;font-size:11px;line-height:1.45;display:flex}.new-appointment-summary{background:#faf7f8;min-height:100%;padding:24px}.new-appointment-summary h3{font-family:var(--font-display), serif;margin:10px 0 5px;font-size:23px}.manual-summary-price{color:var(--ink);font-size:20px;font-weight:850}.manual-summary-price span{color:var(--muted);font-size:11px;font-weight:500}.new-appointment-summary dl{margin:18px 0 0}.new-appointment-summary dl>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:9px 0;font-size:11px;display:flex}.new-appointment-summary dt{color:var(--muted)}.new-appointment-summary dd{text-align:right;max-width:170px;margin:0;font-weight:750}.manual-empty-summary{color:var(--muted);margin:22px 0;font-size:12px;line-height:1.55}.manual-safety-note{color:#286c5b;background:#eaf6f2;border-radius:10px;flex-direction:column;gap:4px;margin-top:20px;padding:12px;font-size:10px;line-height:1.45;display:flex}.session-note{color:var(--muted);margin:14px 0 0;font-size:10px;line-height:1.5}.new-appointment-footer{border-top:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:20px;padding:17px 28px 21px;display:flex}.new-appointment-footer p{color:var(--muted);margin:0;font-size:11px}.new-appointment-footer>div{gap:8px;display:flex}.reschedule-dialog{background:#fffdfb;border:1px solid #e5d9df;border-radius:22px;width:min(940px,100%);max-height:calc(100vh - 64px);overflow:auto;box-shadow:0 28px 90px #23181f47}.reschedule-body{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);display:grid}.reschedule-controls{border-right:1px solid var(--line);padding:24px 28px}.reschedule-controls .manual-form-grid{margin-top:20px}.reschedule-warning{color:#77561f;background:#fff9e9;border:1px solid #ead19f;border-radius:10px;flex-direction:column;gap:4px;margin-top:12px;padding:12px 14px;font-size:11px;line-height:1.45;display:flex}.reschedule-review{background:#faf7f8;padding:24px}.reschedule-route{gap:10px;margin:16px 0;display:grid}.reschedule-route>div{background:#fff;border:1px solid #e6dce1;border-radius:12px;flex-direction:column;gap:5px;padding:14px;display:flex}.reschedule-route>div.changed{background:#fff7fa;border-color:#d3a2b5;box-shadow:inset 3px 0 #b95e83}.reschedule-route small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.reschedule-route strong{font-size:13px}.reschedule-route span{color:var(--muted);font-size:11px}.reschedule-route b{color:var(--rose-dark);text-align:center}.cancel-dialog{background:#fffdfb;border:1px solid #ead4d8;border-radius:22px;width:min(850px,100%);max-height:calc(100vh - 64px);overflow:auto;box-shadow:0 28px 90px #23181f47}.cancel-dialog-header{background:#fff8f8;border-bottom:1px solid #eddde0;justify-content:space-between;align-items:flex-start;gap:24px;padding:25px 28px 21px;display:flex}.cancel-dialog-header h2{font-family:var(--font-display), serif;letter-spacing:-.02em;margin:5px 0 4px;font-size:30px}.cancel-dialog-header p{color:var(--muted);margin:0;font-size:12px}.danger-label{color:#a33c48;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:850}.cancel-dialog-body{grid-template-columns:.9fr 1.1fr;gap:20px;padding:24px 28px;display:grid}.cancel-booking-summary,.cancel-controls{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px}.cancel-booking-summary h3{font-family:var(--font-display), serif;margin:10px 0 14px;font-size:22px}.cancel-booking-summary dl{margin:0}.cancel-booking-summary dl>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:8px 0;font-size:11px;display:flex}.cancel-booking-summary dl>div:last-child{border-bottom:0}.cancel-booking-summary dt{color:var(--muted)}.cancel-booking-summary dd{text-align:right;margin:0;font-weight:750}.cancel-controls>label:first-child{color:var(--ink);flex-direction:column;gap:7px;font-size:11px;font-weight:750;display:flex}.cancel-controls select{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #dfd4d9;border-radius:9px;padding:11px}.cancel-acknowledgement{cursor:pointer;background:#fff8f8;border:1px solid #ead6da;border-radius:11px;align-items:flex-start;gap:10px;margin-top:15px;padding:13px;display:flex}.cancel-acknowledgement input{accent-color:#ad3d49;margin-top:2px}.cancel-acknowledgement span{flex-direction:column;gap:4px;display:flex}.cancel-acknowledgement strong{font-size:11px}.cancel-acknowledgement small{color:var(--muted);font-size:10px;line-height:1.45}.cancel-impact{color:#6b5c44;background:#fff9eb;border:1px solid #ead9b7;border-radius:11px;flex-direction:column;gap:4px;margin-top:14px;padding:13px;font-size:10px;line-height:1.5;display:flex}.cancel-dialog-footer{border-top:1px solid var(--line);background:#faf7f8;justify-content:flex-end;gap:9px;padding:18px 28px 22px;display:flex}.complete-dialog{border-color:#cfe5dc}.complete-dialog-header{background:#f5fbf8;border-bottom-color:#dcebe5}.success-label{color:#28745f;letter-spacing:.16em;text-transform:uppercase;font-size:9px;font-weight:900}.complete-booking-summary{background:#f8fcfa;border-color:#d5e7df}.completion-warning{color:#815f25;background:#fff8e7;border:1px solid #ead29c;border-radius:11px;flex-direction:column;gap:4px;padding:13px;font-size:10px;line-height:1.5;display:flex}.completion-acknowledgement{background:#f6fbf8;border-color:#cfe4db}.completion-acknowledgement input{accent-color:#28745f}.completion-impact{color:#285f50;background:#eff9f5;border-color:#c9e2d8}.completed-detail-note{background:#f1faf6;border-color:#cbe4da}.completed-detail-note span{color:#28745f}.no-show-dialog{border-color:#e7d0b6}.no-show-dialog-header{background:#fff9f1;border-bottom-color:#eedbc4}.no-show-label{color:#9b5e26;letter-spacing:.16em;text-transform:uppercase;font-size:9px;font-weight:900}.no-show-booking-summary{background:#fffaf4;border-color:#ead9c5}.no-show-warning{color:#8a4f20;background:#fff4e5;border:1px solid #e4bc91;border-radius:11px;flex-direction:column;gap:4px;padding:13px;font-size:10px;line-height:1.5;display:flex}.no-show-acknowledgement{background:#fffaf4;border-color:#ead5bd}.no-show-acknowledgement input{accent-color:#a86629}.no-show-impact{color:#795020;background:#fff7e9;border-color:#ead1b1}.no-show-policy-note{color:#605d60;background:#fbf9fa;border:1px solid #e7e0e3;border-radius:11px;flex-direction:column;gap:4px;margin-top:12px;padding:12px;font-size:10px;line-height:1.5;display:flex}.no-show-detail-note{background:#fff8ef;border-color:#e8d2b8}.no-show-detail-note span{color:#955a23}.cancelled-detail-note{background:#fffafb;border-color:#ead7da}.cancelled-detail-note span{color:#8e4a54}.cancelled-detail-note p{color:#68565a}.cancelled-detail-note p strong{color:#4a383c}.calendar-legend{gap:18px;margin-bottom:14px;display:flex}.calendar-legend span{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.calendar-legend i{border-radius:50%;width:8px;height:8px}.calendar-page-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.calendar-stage{min-width:840px;position:relative}.week-grid{grid-template-columns:repeat(var(--calendar-days,6), 1fr);border:1px solid var(--line);border-radius:12px;min-height:586px;display:grid;overflow:hidden}.day-column{border-right:1px solid var(--line);background:repeating-linear-gradient(#fff 0 51px,#f0ebed 52px);min-width:0;position:relative}.day-column:last-child{border-right:0}.day-column>div:first-child{z-index:2;border-bottom:1px solid var(--line);text-align:center;background:#faf8f8;height:46px;padding:13px;font-size:12px;font-weight:800;position:relative}.day-column>div.today{color:var(--rose-dark);background:var(--rose-pale)}.calendar-block,.calendar-group-block{z-index:1;text-align:left;cursor:pointer;border:0;border-left:4px solid;border-radius:7px;flex-direction:column;padding:6px 7px;line-height:1.2;transition:box-shadow .16s,transform .16s;display:flex;position:absolute;overflow:hidden}.calendar-block:hover,.calendar-block:focus-visible,.calendar-group-block:hover,.calendar-group-block:focus-visible{z-index:3;outline-offset:1px;outline:2px solid #c2497738;transform:translateY(-1px);box-shadow:0 7px 18px #3a2a332b}.calendar-block strong,.calendar-group-block strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.calendar-block span,.calendar-block small,.calendar-group-block span,.calendar-group-block small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-block small{margin-top:auto;font-size:9px}.compact-calendar-block{justify-content:center;padding:2px 6px}.compact-calendar-block strong{line-height:12px}.compact-calendar-block small{flex:none;margin-top:1px;line-height:10px}.calendar-group-block{border-left-color:var(--rose);color:var(--ink);background:linear-gradient(145deg,#fff4f7,#f6edf8);left:5px;right:5px}.calendar-group-block span{color:var(--muted);margin-top:2px;font-size:10px}.calendar-group-block small{color:var(--rose-dark);margin-top:auto;font-weight:800}.calendar-panel-backdrop{z-index:8;cursor:default;background:#ffffff38;border:0;position:absolute;inset:0}.calendar-group-panel{z-index:9;border:1px solid var(--line);background:#fff;border-radius:14px;width:min(310px,42%);max-height:390px;margin-left:10px;position:absolute;overflow:auto;box-shadow:0 18px 50px #30222a33}.calendar-group-panel.align-left{margin-left:-320px}.calendar-group-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 13px;display:flex}.calendar-group-panel h2{margin:4px 0 2px;font-size:17px}.calendar-group-panel header p{color:var(--muted);font-size:11px}.calendar-group-list{padding:6px}.calendar-group-list>button{text-align:left;background:0 0;border:0;border-radius:9px;grid-template-columns:8px 1fr auto;align-items:center;gap:9px;width:100%;padding:10px;display:grid}.calendar-group-list>button:hover,.calendar-group-list>button:focus-visible{background:var(--rose-pale);outline:none}.calendar-group-list i{border-radius:50%;width:8px;height:8px}.calendar-group-list span{flex-direction:column;display:flex}.calendar-group-list small{color:var(--muted)}.calendar-group-list em{color:var(--muted);font-size:10px;font-style:normal}.calendar-group-help{color:var(--muted);padding:0 16px 14px;font-size:10px}.completed-calendar-block{opacity:.72;filter:saturate(.72)}.no-show-calendar-block{opacity:.78;filter:sepia(.18)saturate(.8)}.data-list>div{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:13px 4px;display:grid}.mini-avatar{width:38px;height:38px;color:var(--rose-dark);background:var(--rose-pale);border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.data-list>div>span:nth-child(2){flex-direction:column;display:flex}.data-list small{color:var(--muted)}.data-list em{color:var(--muted);font-size:12px;font-style:normal}.staff-admin-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.staff-admin-card{text-align:center;border:1px solid var(--line);border-radius:14px;padding:22px}.staff-admin-card .avatar{margin:0 auto}.staff-admin-card h3{margin:9px 0 0}.staff-admin-card p{color:var(--muted);font-size:12px}.status-badge{color:#226f59;background:#eaf6f2;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.staff-admin-card button{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;margin-top:16px;padding:9px;font-size:11px;display:block}.service-admin-list>div{border-bottom:1px solid var(--line);grid-template-columns:1.35fr 1fr 70px 55px 62px 30px;align-items:center;gap:14px;padding:13px 4px;font-size:12px;display:grid}.service-list-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.service-list-toolbar>span{color:var(--muted);font-size:12px}.service-list-toolbar .primary-button{width:auto;padding:10px 14px;font-size:12px}.service-admin-list>div>span:first-child{flex-direction:column;display:flex}.service-admin-list small{color:var(--rose);text-transform:uppercase;letter-spacing:.08em}.service-admin-list button{cursor:pointer;background:0 0;border:0;border-radius:7px;padding:5px}.service-admin-list button:hover,.service-admin-list button:focus-visible{color:var(--rose-dark);background:var(--rose-pale);outline:none}.service-status{color:#226f59;text-align:center;background:#eaf6f2;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:850}.service-status.inactive{color:#736970;background:#efebed}.inactive-service-row>span:first-child,.inactive-service-row>span:nth-child(2),.inactive-service-row>span:nth-child(3),.inactive-service-row>strong{opacity:.58}.service-editor-dialog{background:#fffdfb;border:1px solid #e5d9df;border-radius:22px;width:min(820px,100%);max-height:calc(100vh - 64px);overflow:auto;box-shadow:0 28px 90px #23181f47}.service-editor-body{gap:16px;padding:22px 28px;display:grid}.service-description-field{margin-top:12px}.service-change-note{color:#6f5a32;background:#fff9e9;border:1px solid #e5d2a9;border-radius:10px;flex-direction:column;gap:4px;margin-top:12px;padding:12px 14px;font-size:10px;line-height:1.45;display:flex}.service-staff-options{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.service-staff-options label{border:1px solid var(--line);cursor:pointer;border-radius:10px;grid-template-columns:auto 8px 1fr;align-items:center;gap:9px;padding:11px;display:grid}.service-staff-options input{width:15px;height:15px;accent-color:var(--rose);padding:0}.service-staff-options i{border-radius:50%;width:8px;height:8px}.service-staff-options span{flex-direction:column;gap:2px;display:flex}.service-staff-options small{color:var(--muted);font-size:9px;font-weight:500}.service-status-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.staff-working-hours{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.staff-hours-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(88px,1fr) 84px 118px 118px;align-items:center;gap:10px;min-height:56px;padding:9px 12px;display:grid}.staff-hours-row:last-child{border-bottom:0}.staff-hours-row>strong{font-size:12px}.staff-hours-row>button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:800}.staff-hours-row>button.working{color:#286c5b;background:#edf7f4;border-color:#b8ded2}.staff-hours-row>button.closed{color:#78636b;background:#f6f2f3}.staff-hours-row label{color:var(--muted);align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.staff-hours-row input{border:1px solid var(--line);width:78px;color:var(--ink);background:#fff;border-radius:7px;padding:6px;font-size:11px}.staff-hours-row input:disabled{opacity:.5;background:#f7f4f5}.service-status-options button{color:var(--ink);border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:11px;flex-direction:column;gap:3px;padding:13px 14px;display:flex}.service-status-options button.selected{background:var(--rose-pale);box-shadow:inset 3px 0 var(--rose);border-color:#c8829d}.service-status-options span{color:var(--muted);font-size:10px}.service-impact-warning{color:#6f5330;background:#fff8e8;border:1px solid #e6cb9e;border-radius:12px;flex-direction:column;gap:5px;padding:14px 16px;font-size:11px;line-height:1.45;display:flex}.service-impact-warning p{margin:0}.service-impact-warning small{color:#756750}.service-acknowledgement{cursor:pointer;background:#fff8fa;border:1px solid #dfced5;border-radius:11px;align-items:flex-start;gap:10px;padding:13px 14px;display:flex}.service-acknowledgement input{accent-color:var(--rose);margin-top:2px}.service-acknowledgement span{flex-direction:column;gap:3px;display:flex}.service-acknowledgement strong{font-size:11px}.service-acknowledgement small{color:var(--muted);font-size:10px}.field-error{color:#9c3c47;margin:10px 0 0;font-size:10px}.service-editor-dialog .new-appointment-footer{justify-content:flex-end}.settings-card{max-width:680px}.settings-card label{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 0;display:flex}.settings-card label>span{flex-direction:column;font-weight:700;display:flex}.settings-card small{color:var(--muted);font-weight:400}.settings-card select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 32px 10px 10px}.settings-card .primary-button{margin-top:20px}.login-page,.portal-state{background:radial-gradient(circle at 0 0,#f8eaf0 0,#0000 36%),linear-gradient(135deg,#f8f4f3,#f2f6f3);place-items:center;min-height:100vh;padding:42px 20px;display:grid}.login-card,.portal-state-card{border:1px solid var(--line);background:var(--paper);width:min(560px,100%);box-shadow:var(--shadow);border-radius:24px;padding:38px}.login-brand{width:fit-content;color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex}.login-brand>span{color:#fff;background:var(--rose);width:46px;height:46px;font-family:var(--font-display), serif;border-radius:50%;place-items:center;display:grid}.login-brand div{flex-direction:column;display:flex}.login-brand strong{font-family:var(--font-display), serif;font-size:17px}.login-brand small{color:var(--muted);font-size:11px}.login-heading{margin:36px 0 24px}.login-heading h1,.portal-state-card h1{font-family:var(--font-display), serif;margin-bottom:9px;font-size:clamp(32px,6vw,44px);line-height:1.05}.login-heading>p:last-child,.portal-state-card p{color:var(--muted);margin:0;line-height:1.55}.portal-picker{grid-template-columns:1fr 1fr;gap:9px;display:grid}.portal-picker button{text-align:left;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:13px;flex-direction:column;gap:4px;padding:15px;display:flex}.portal-picker button span{color:var(--muted);font-size:11px;line-height:1.4}.portal-picker button.selected{background:var(--rose-pale);box-shadow:inset 3px 0 var(--rose);border-color:#d891ae}.login-form{gap:9px;margin-top:22px;display:grid}.login-form label{font-size:12px;font-weight:750}.login-form input{width:100%;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:11px;padding:14px}.login-form input:focus{border-color:var(--rose)}.login-submit{margin-top:5px}.login-feedback{border-radius:12px;margin-top:18px;padding:15px 16px;font-size:12px;line-height:1.5}.login-feedback p{margin:4px 0 0}.login-feedback.success{color:#235f50;background:#edf8f5;border:1px solid #b9ded3}.login-feedback.error{color:#903a46;background:#fff1f3;border:1px solid #efc5cb}.login-footnote{color:var(--muted);margin:18px 0 0;font-size:10px;line-height:1.5}.login-loading{justify-content:center;align-items:center;gap:13px;display:flex}.login-loading p{color:var(--muted);margin:0}.portal-state{min-height:calc(100vh - 64px)}.portal-state-card{text-align:center}.portal-loader{border:3px solid #ebdbe2;border-top-color:var(--rose);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite portal-spin;display:inline-block}@keyframes portal-spin{to{transform:rotate(360deg)}}.forbidden-card{text-align:left}.forbidden-card .feature-label{margin-bottom:12px;display:inline-block}.portal-link{color:#fff;width:fit-content;margin-top:22px;text-decoration:none;display:inline-flex}.staff-portal-heading{justify-content:space-between;align-items:center;display:flex}.text-button{color:var(--rose-dark);background:0 0;border:0;padding:7px 0;font-size:12px;font-weight:750}.staff-identity-field{border:1px solid var(--line);background:#f8f5f4;border-radius:9px;flex-direction:column;justify-content:center;min-height:43px;padding:9px 12px;display:flex}.staff-identity-field small{color:var(--muted);font-weight:500}.topbar-actions .owner-sign-out{width:auto;color:var(--rose-dark);padding:0 12px;font-size:11px;font-weight:750}@media (width<=980px){.booking-layout{grid-template-columns:1fr}.booking-summary{order:-1;position:static}.owner-app{grid-template-columns:192px minmax(0,1fr)}.owner-sidebar{padding:20px 12px}.owner-brand{gap:8px;padding:0 4px 18px}.owner-brand>span{flex:0 0 36px;width:36px;height:36px}.owner-sidebar nav{margin-top:18px}.owner-sidebar nav button{gap:9px;padding:10px 9px;font-size:12px}.owner-sidebar nav button .nav-icon{font-size:17px}.sidebar-profile{gap:8px;padding:12px 4px 0}.sidebar-profile>span{flex:0 0 30px;width:30px;height:30px}.stat-grid{grid-template-columns:1fr 1fr}.suggestion-card{grid-template-columns:50px 1fr}.suggestion-actions{grid-column:1/-1;justify-content:flex-end}}@media (width<=700px){.login-page,.portal-state{padding:18px 12px}.login-card,.portal-state-card{border-radius:18px;padding:26px 20px}.login-heading{margin-top:28px}.portal-picker{grid-template-columns:1fr}.demo-bar{align-items:flex-start;gap:12px;height:auto;padding:12px 15px}.demo-brand{padding-top:9px;font-size:0}.demo-brand .demo-dot{display:block}.mode-switch{flex:1}.mode-switch button{flex:1;padding-inline:7px}.salon-header{height:76px;padding:0 16px}.salon-header a{display:none}.booking-layout{padding:22px 14px 50px}.progress-item small{display:none}.progress-item span{width:29px;height:29px}.progress-row:before{top:14px}.booking-panel{min-height:0;padding:23px 18px}.service-grid,.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.date-grid{grid-template-columns:repeat(5,minmax(58px,1fr));overflow-x:auto}.time-grid{grid-template-columns:1fr 1fr}.success-card{margin:25px 14px;padding:34px 20px}.owner-app{display:block}.owner-sidebar{z-index:20;width:100%;height:66px;padding:7px;position:fixed;top:auto;bottom:0}.owner-brand,.sidebar-profile{display:none}.owner-sidebar nav{justify-content:stretch;gap:2px;height:100%;margin:0;display:flex}.owner-sidebar nav button{flex-direction:column;flex:1 1 0;gap:2px;min-width:0;padding:4px 1px;font-size:clamp(8px,2.7vw,10px);line-height:1.1}.owner-sidebar nav button:nth-child(n+6){display:none}.owner-sidebar nav button .nav-icon{width:auto;height:19px;font-size:17px}.desktop-nav-label{display:none}.mobile-nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:inline;overflow:hidden}.owner-topbar{padding:0 15px}.live-pill,.owner-sign-out{display:none}.owner-page{padding:21px 14px 90px}.page-heading{flex-direction:column;align-items:flex-start}.page-heading h1{font-size:32px}.stat-grid,.dashboard-grid{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.suggestion-card{flex-direction:column;align-items:flex-start;display:flex}.suggestion-actions{flex-direction:column;width:100%}.suggestion-actions button{width:100%}.review-overlay{place-items:end center;padding:12px}.review-dialog,.appointment-detail-dialog,.new-appointment-dialog,.service-editor-dialog,.reschedule-dialog,.cancel-dialog{border-radius:18px 18px 12px 12px;max-height:calc(100vh - 24px)}.review-dialog-header{padding:20px 18px 17px}.review-dialog-header h2{font-size:25px}.appointment-detail-header{padding:20px 18px 17px}.appointment-detail-header h2{font-size:26px}.new-appointment-header{padding:20px 18px 17px}.new-appointment-header h2{font-size:26px}.appointment-detail-header-actions{flex-direction:column-reverse;align-items:flex-end}.review-summary{padding:12px 18px;overflow-x:auto}.review-summary span{white-space:nowrap}.affected-appointments{padding:16px 18px}.affected-heading{flex-direction:column;gap:7px}.customer-contact{padding:0}.appointment-route{grid-template-columns:1fr}.route-arrow{min-height:20px;transform:rotate(90deg)}.review-footer{flex-direction:column;align-items:stretch;padding:16px 18px}.review-footer>div{flex-direction:column-reverse}.review-footer button{width:100%}.appointment-detail-highlight,.appointment-detail-body{grid-template-columns:1fr;padding:16px 18px}.appointment-detail-note{margin:0 18px 18px}.appointment-detail-footer{flex-direction:column;align-items:stretch;padding:16px 18px}.appointment-detail-footer>div{flex-direction:column-reverse}.appointment-detail-footer button{width:100%}.new-appointment-layout{grid-template-columns:1fr}.new-appointment-fields{border-right:0;padding:16px 18px}.service-editor-body{padding:16px 18px}.staff-hours-row{grid-template-columns:1fr 74px;gap:8px}.staff-hours-row label{justify-content:space-between}.service-staff-options,.service-status-options,.manual-customer-grid,.manual-form-grid{grid-template-columns:1fr}.manual-customer-grid label:first-child{grid-column:auto}.new-appointment-summary{border-top:1px solid var(--line);min-height:0}.new-appointment-footer{flex-direction:column;align-items:stretch;padding:16px 18px}.new-appointment-footer>div{flex-direction:column-reverse}.new-appointment-footer button{width:100%}.reschedule-body{grid-template-columns:1fr}.reschedule-controls{border-right:0;padding:18px}.reschedule-review{border-top:1px solid var(--line);padding:18px}.undo-toast{flex-wrap:wrap;max-width:none;inset:auto 12px 12px}.cancel-dialog-header{padding:20px 18px 17px}.cancel-dialog-header h2{font-size:25px}.cancel-dialog-body{grid-template-columns:1fr;padding:16px 18px}.cancel-dialog-footer{flex-direction:column-reverse;padding:16px 18px}.cancel-dialog-footer button{width:100%}.appointment-list>div{grid-template-columns:132px 7px 1fr 18px}.appointment-list em{display:none}.service-history-item{grid-template-columns:1fr auto;gap:10px}.service-history-label{grid-area:2/1;justify-self:start}.service-history-restore{grid-area:1/2/span 2}.calendar-card{overflow-x:auto}.calendar-page-actions{justify-content:flex-start}.calendar-stage{min-width:840px}.calendar-group-panel,.calendar-group-panel.align-left{width:calc(100vw - 48px);max-width:360px;max-height:min(430px,65vh);margin-left:0;position:fixed;bottom:18px;transform:translate(-50%);top:auto!important;left:50%!important}.calendar-panel-backdrop{background:#261d2238;position:fixed}.staff-admin-grid{grid-template-columns:1fr}.service-admin-list>div{grid-template-columns:1fr auto auto auto;gap:8px}.service-admin-list>div>span:nth-child(2),.service-admin-list>div>span:nth-child(3){display:none}.service-list-toolbar{flex-direction:column;align-items:flex-start}.settings-card label{flex-direction:column;align-items:flex-start;gap:10px}.staff-dashboard-page{padding:26px 12px 42px}.staff-dashboard-header{padding:2px 4px}.staff-dashboard-header h1{font-size:31px}.staff-dashboard-header p{font-size:11px}.staff-schedule-card,.staff-dashboard-shell>.staff-preview-card{border-radius:17px;padding:20px 16px}.staff-schedule-heading{flex-direction:column;align-items:stretch}.staff-view-toggle button{min-width:0}.staff-request-fields{grid-template-columns:1fr}.staff-request-fields label.wide{grid-column:auto}.staff-request-actions{flex-direction:column;align-items:stretch}.staff-request-actions button{width:100%}.staff-appointment-list article{grid-template-columns:82px 1fr;gap:12px}.staff-appointment-status{grid-column:2;justify-self:start}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
