:root{--ink:#241f21;--muted:#000000;--line:#e6ded8;--paper:#fffaf6;--surface:#ffffff;--rose:#bd5f75;--rose-dark:#8e354d;--sage:#6d7f69;--gold:#c8944f;--danger:#b03434;--shadow:0 18px 45px rgba(71,44,36,0.12)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;display:flex;flex-direction:column;min-height:100vh}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.home-shell{min-height:100vh;background:linear-gradient(90deg,rgba(36,31,33,.72),rgba(36,31,33,.18)),url(https://images.unsplash.com/photo-1516975080664-ed2fc6a32937?auto=format&fit=crop&w=1800&q=80);background-position:50%;background-size:cover}.hero{align-items:center;display:flex;min-height:100vh;padding:7vw}.hero-copy{color:#fff;max-width:640px}.brand-mark,.logo{align-items:center;display:inline-flex;font-weight:800;gap:8px}.auth-logo,.brand-logo,.dashboard-brand{align-items:center;display:inline-flex;gap:10px}.brand-logo-mark{width:38px;height:38px;flex:0 0 38px}.brand-logo-mark.compact{width:32px;height:32px;flex-basis:32px}.brand-logo-mark img,.brand-logo-mark svg{display:block;width:100%;height:100%}.brand-logo-text{color:var(--ink);font-weight:900;letter-spacing:.02em}.brand-logo-name,.dashboard-brand .brand-logo-text{font-size:18px}.auth-logo{margin-bottom:8px}.hero h1{font-size:clamp(48px,7vw,88px);letter-spacing:0;line-height:.95;margin:20px 0}.hero p{font-size:18px;line-height:1.6;margin:0 0 30px;max-width:560px}.action-row,.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.icon-button,.primary-button,.secondary-button,.slot,.small-button{align-items:center;border:0;cursor:pointer;display:inline-flex;gap:8px;justify-content:center;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.primary-button{background:var(--rose);border-radius:8px;box-shadow:var(--shadow);color:#fff;font-weight:800;min-height:48px;padding:0 22px}.secondary-button{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-weight:800;min-height:48px;padding:0 18px}.primary-button:hover,.secondary-button:hover,.slot:hover,.small-button:hover{transform:translateY(-1px)}.icon-button:disabled,.primary-button:disabled,.secondary-button:disabled,.small-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.wide{width:100%}.app-shell,.dashboard-shell{margin:0 auto;max-width:1240px;padding:26px}.dashboard-shell{max-width:none;width:100%}.dashboard-header,.toolbar,.topbar{align-items:center;display:flex;justify-content:space-between;gap:10px}.dashboard-header{align-items:stretch;flex-direction:column}.dashboard-header-top{align-items:center;display:flex;justify-content:space-between;gap:10px;width:100%}.dashboard-header .view-toggle{display:flex;gap:10px;flex-wrap:wrap}.header-left{flex-shrink:0}.date-navigator{align-items:center;display:flex;gap:14px;justify-content:flex-start;margin-bottom:18px}.day-panel{background:#fff;border-radius:12px;padding:16px;border:1px solid var(--line);box-shadow:0 2px 10px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:0}.topbar{margin-bottom:26px}.text-link{color:var(--rose-dark);font-weight:800}.centered{justify-content:center;text-align:center}.booking-layout{align-items:start;display:grid;grid-gap:18px;gap:18px;grid-template-columns:300px 1fr}.admin-card,.auth-card,.flow-panel,.summary-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:20px}.summary-panel{position:-webkit-sticky;position:sticky;top:24px;display:flex;flex-direction:column;gap:12px}.admin-card h2,.summary-panel h2{margin:0 0 14px}.summary-list{display:grid;grid-gap:8px;gap:8px}.employee-item,.history-item,.summary-row,.total-row{align-items:center;display:flex;justify-content:space-between;gap:12px}.summary-row{border-bottom:1px solid var(--line);padding-bottom:8px}.muted,.summary-row span{color:var(--muted)}.total-row{font-size:18px}.auth-card h1,.dashboard-header h1,.section-heading h1,.success-panel h1{margin:0}.auth-card p,.section-heading p,.success-panel p{color:var(--muted);line-height:1.5;margin:6px 0 16px}.booking-address{font-size:14px;font-weight:600;margin:4px 0 8px}.service-grid{grid-gap:10px;gap:10px}.category-grid,.service-grid{display:grid;margin-bottom:16px}.category-grid{grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.category-card{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;min-height:62px;padding:12px;text-align:left}.category-card.active{border-color:var(--rose);box-shadow:0 0 0 2px rgba(189,95,117,.14)}.category-card span,.category-card strong{display:block}.category-card span,.subservice-heading span{color:var(--muted);font-size:13px;margin-top:5px}.subservice-panel{border-top:1px solid var(--line);margin-top:4px;padding-top:14px}.subservice-heading{align-items:baseline;display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.subservice-heading>div{min-width:0}.subservice-heading h2{margin:0}.service-card{align-items:center;border:1px solid var(--line);border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:12px}.service-card h3{margin:0 0 4px}.service-card p{color:var(--muted);line-height:1.35;margin:0 0 5px}.service-card span,.small-button{color:var(--rose-dark);font-weight:800}.small-button{background:#f7ece6;border-radius:8px;align-items:center;display:inline-flex;gap:6px;justify-content:center;min-height:36px;padding:0 10px}.icon-button{background:#fff;border-radius:8px;border:1px solid var(--line);color:var(--ink);height:40px;width:40px}.date-nav-button{background:var(--paper)}.icon-button.danger{color:var(--danger)}.field-label{color:var(--ink);display:grid;grid-template-columns:1fr;font-weight:800;grid-gap:6px;gap:6px;margin-bottom:12px;width:100%;min-width:0}.label-title{align-items:center;display:inline-flex;gap:4px}.field-label input{box-sizing:border-box}.field-label input,.modal-edit-form input[type=date]{width:100%;min-width:0;max-width:100%}@supports (-webkit-touch-callout:none){input[type=date],input[type=time]{width:calc(100% - 1px)}}.required-star{color:red;margin-left:4px;font-weight:700}.char-count{color:var(--muted);font-size:12px;font-weight:700;justify-self:end}.field-error{color:var(--danger);font-size:13px;font-weight:800}.inline-field{align-items:center;display:flex;margin:0}.field-label.inline-field{display:inline-flex;align-items:center;gap:8px;width:auto}input,select,textarea{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:40px;padding:8px 10px;width:100%}input[type=date],input[type=time],select{max-width:100%;min-width:0}input[type=date],input[type=time]{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:block}textarea{min-height:76px;resize:vertical}.phone-input-row{display:grid;grid-gap:10px;gap:10px;grid-template-columns:104px minmax(180px,1fr)}.time-picker-row{display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(92px,1fr) minmax(92px,1fr) minmax(96px,1fr)}.time-picker-row-24{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0}.time-picker-row-12{min-width:0}.time-picker-row-12 select{min-width:0;width:100%}.phone-country-select{position:relative}.phone-country-button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:flex;font-weight:800;gap:8px;justify-content:space-between;min-height:44px;padding:10px 12px;width:100%}.phone-country-button span{align-items:center;display:inline-flex;gap:8px}.phone-country-menu{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;left:0;max-height:260px;min-width:min(320px,calc(100vw - 52px));overflow:auto;padding:6px;position:absolute;top:calc(100% + 6px);width:max-content;z-index:10}.phone-country-option{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--ink);cursor:pointer;display:grid;grid-gap:8px;gap:8px;grid-template-columns:auto 1fr auto;min-height:40px;padding:8px;text-align:left;white-space:nowrap}.phone-country-option:hover,.phone-country-option[aria-selected=true]{background:#f7ece6}.phone-country-option strong{color:var(--rose-dark)}.slot-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:20px;margin-bottom:22px}.slot{background:#fff;border:1px solid var(--line);border-radius:8px;min-height:46px}.slot.selected{background:var(--sage);color:#fff}.two-column{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.check-row{align-items:center;display:flex;gap:10px;line-height:1.4;margin:0 0 18px}.modal-edit-form .field-label textarea{margin-bottom:4px}.modal-edit-form .check-row{margin-top:-2px;margin-bottom:12px}.check-row input{min-height:auto;width:auto}.booking-actions{display:grid;grid-gap:10px;gap:10px}.multi-service-list{border:1px solid var(--line);border-radius:8px;display:grid;max-height:260px;overflow:auto}.selected-service-list{display:grid;grid-gap:8px;gap:8px}.simple-summary-row{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto}.visit-service-name strong{display:block}.visit-service-actions{align-items:center;display:inline-flex;gap:10px;justify-self:end}.visit-service-price{color:var(--rose-dark);font-weight:800}.admin-service-categories{margin-top:12px}.admin-service-selects{display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(180px,.75fr) minmax(220px,1fr)}.service-picker-shell{display:grid;grid-gap:12px;gap:12px}.service-row{grid-gap:10px;grid-template-columns:minmax(0,1fr) auto}.service-row,.service-row-main{align-items:center;display:grid;gap:10px}.service-row-main{grid-gap:10px;grid-template-columns:minmax(150px,.9fr) minmax(220px,1.3fr)}.service-row-main strong{color:var(--ink);font-size:14px}.service-row-main select{min-width:0}@media (max-width:640px){.service-row,.service-row-main{grid-template-columns:1fr}}.modal-edit-form .field-title-row{align-items:center;display:flex;justify-content:space-between;gap:10px}.modal-edit-form .service-row{align-items:stretch}.modal-edit-form .service-row-main{min-width:0}.modal-edit-form .service-row-main select{min-width:0;white-space:normal;word-break:break-word;height:auto;min-height:40px}.compact-list{max-height:none}.service-check-row{align-items:center;border-bottom:1px solid var(--line);display:grid;grid-gap:10px;gap:10px;grid-template-columns:auto 1fr auto;padding:10px 12px}.service-check-row:last-child{border-bottom:0}.service-check-row input{min-height:auto;width:auto}.service-check-row span{font-weight:700}.service-check-row strong{color:var(--rose-dark)}.date-add-row{display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.tag-list span{background:#faf5ef;border-radius:8px;color:var(--muted);font-size:13px;font-weight:800;gap:6px;min-height:32px;padding:6px 8px}.tag-list button,.tag-list span{align-items:center;display:inline-flex}.tag-list button{background:transparent;border:0;color:var(--danger);cursor:pointer;padding:0}.success-panel{align-items:center;display:grid;min-height:440px;place-items:center;text-align:center}.auth-icon,.success-icon{background:#eef4ed;border-radius:50%;color:var(--sage);height:72px;width:72px}.auth-icon,.auth-shell,.loading-shell,.success-icon{align-items:center;display:flex;justify-content:center}.auth-shell,.loading-shell{min-height:100vh;padding:24px}.auth-card{max-width:440px;width:100%}.auth-icon{margin-bottom:18px}.error-text{color:var(--danger);font-weight:800}.dashboard-header{margin-bottom:0}.dashboard-header span{color:var(--rose-dark);font-weight:800}.dashboard-grid{align-items:start;display:grid;grid-gap:22px;gap:22px;grid-template-columns:minmax(0,1fr) 380px}.dashboard-grid.day-view,.dashboard-grid.month-view{grid-template-columns:minmax(0,1fr)}.dashboard-grid.settings-view{gap:12px;margin-top:14px}.dashboard-main,.table-wrap{min-width:0}.view-toggle{background:#fff;border:1px solid var(--line);border-radius:8px;display:flex;justify-content:flex-start;gap:6px;margin-bottom:10px;padding:6px;width:max-content;box-sizing:border-box}.header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.icon-only{min-height:44px;min-width:44px;padding:0;width:44px}.toggle-button{background:transparent;border:0;border-radius:6px;color:var(--muted);cursor:pointer;font-weight:800;flex:0 0 78px;min-height:34px;padding:0 10px}.toggle-button.active{background:var(--rose);color:#fff}.month-panel,.week-panel{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);min-width:0;overflow:hidden;padding:18px}.week-panel{overflow-x:hidden}.month-header{align-items:center;display:flex;justify-content:flex-start;gap:14px;margin-bottom:16px}.month-header h2{margin:0;min-width:0;text-align:center}.week-grid{display:grid;grid-gap:0;gap:0;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}.week-day-column{background:#fff;border:1px solid var(--line);border-radius:8px;min-width:0;min-height:600px;padding:10px;display:flex;flex-direction:column}.week-day-column.today{background:linear-gradient(180deg,#fff7fa,#ffffff);border-color:#d56a87;box-shadow:0 0 0 3px rgba(213,106,135,.12);position:relative}.week-day-column.today:before{background:linear-gradient(90deg,#d56a87,#f0a4b7);border-radius:8px 8px 0 0;content:"";height:4px;left:-1px;position:absolute;right:-1px;top:-1px}.week-day-column h3{align-items:center;color:#000000;display:flex;gap:8px;justify-content:space-between;font-size:18px;margin:0 0 10px}.day-label-text{min-width:0}.week-orders{display:grid;grid-gap:0;gap:0;margin:0 -10px;padding-bottom:36px}.week-appointment{background:#fff;border:3px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:grid;grid-gap:4px;gap:4px;min-height:20px;padding:9px;text-align:left;width:100%}.week-appointment:hover{border-color:var(--rose)}.week-appointment.cancelled{background:#d1d5db;border-color:#9ca3af;text-decoration:line-through}.week-appointment.completed{background:#d4edda;border-color:#a3cfbb}.week-appointment span,.week-appointment strong{display:block;font-size:16px;line-height:1;overflow-wrap:anywhere}.week-appointment strong{color:var(--rose-dark)}.week-appointment span{color:var(--muted)}.calendar-grid{display:grid;grid-gap:0;gap:0;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}.month-weekdays{color:var(--muted);font-size:18px;font-weight:800;margin-bottom:6px;text-align:center;text-transform:uppercase}.calendar-day{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;min-height:132px;min-width:0;padding:0;text-align:left}.calendar-day.today{background:linear-gradient(180deg,#fff7fa,#ffffff);border:1px solid #d56a87;box-shadow:0 0 0 3px rgba(213,106,135,.12);position:relative}.calendar-day.today:before{background:linear-gradient(90deg,#d56a87,#f0a4b7);border-radius:8px 8px 0 0;content:"";height:4px;left:-2px;position:absolute;right:-2px;top:-2px}.calendar-day.outside-month{opacity:.42}.calendar-day strong{color:var(--rose-dark);display:block;margin-bottom:8px;font-size:16px}.calendar-day-number{align-items:center;box-sizing:border-box;display:block;width:100%;text-align:center;font-size:20px;font-weight:700;color:#000;margin:0;padding:10px 10px 6px;display:flex;flex-direction:column;gap:6px}.calendar-day.today .calendar-day-number>span:first-child,.week-day-column.today h3{color:var(--rose-dark)}.calendar-day.today .calendar-day-number>span:first-child{background:rgba(213,106,135,.1);border-radius:999px;display:inline-flex;justify-content:center;min-width:34px;padding:2px 9px}.calendar-orders{display:grid;grid-template-columns:1fr;width:100%;margin:0}.calendar-orders span{color:var(--muted);font-size:16px;line-height:1;overflow-wrap:anywhere}.month-appointment-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.month-appointment{background:#fff;border:3px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:block;justify-self:stretch;align-self:stretch;box-sizing:border-box;width:100%;max-width:100%;min-height:20px;margin:0;padding:6px 10px;text-align:left;white-space:normal;word-break:break-word}.month-appointment:hover{border-color:var(--rose)}.month-appointment.booked{background:#ffffff;color:#111}.appointment-cell.booked-public,.modal-appointment.booked-public,.month-appointment.booked-public,.week-appointment.booked-public{background:#e9f4ff;border-color:#b9d9f2}.appointment-cell.booked-admin,.modal-appointment.booked-admin,.month-appointment.booked-admin,.week-appointment.booked-admin{background:#fff3d9;border-color:#e8c97b}.month-appointment.cancelled{background:#d1d5db;border-color:#9ca3af;text-decoration:line-through}.month-appointment.completed{background:#d4edda;border-color:#a3cfbb}.month-appointment span,.month-appointment strong{line-height:1;margin:0;padding:0}.modal-backdrop{align-items:center;background:rgba(36,31,33,.42);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:20}.day-modal{background:#fffaf6;border-radius:8px;box-shadow:var(--shadow);max-height:min(720px,90vh);max-width:680px;overflow:auto;padding:22px;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.modal-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.modal-header-actions .secondary-button{min-height:40px;height:40px}.modal-header h2{margin:0}.modal-list{grid-gap:12px;gap:12px}.modal-edit-form,.modal-list{display:grid}.modal-appointment{background:#fffaf6;border:3px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:grid;grid-gap:5px;gap:5px;padding:14px;text-align:left;width:100%}.modal-appointment span{color:var(--muted);font-size:14px;line-height:1.35}.appointment-cell.booked,.modal-appointment.booked{background:#fff;border-color:var(--line)}.appointment-cell.booked-public{background:#e9f4ff;border-color:#b9d9f2}.appointment-cell.booked-admin{background:#fff3d9;border-color:#e8c97b}.week-appointment.booked-public{background:#e9f4ff;border-color:#b9d9f2}.week-appointment.booked-admin{background:#fff3d9;border-color:#e8c97b}.appointment-cell:hover,.modal-appointment:hover{border-color:var(--rose)}.appointment-cell.cancelled,.modal-appointment.cancelled{background:#d1d5db;border-color:#9ca3af;text-decoration:line-through}.appointment-cell.completed,.modal-appointment.completed{background:#d4edda;border-color:#a3cfbb}.appointment-detail-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-detail-grid>div{background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:5px;gap:5px;padding:12px}.appointment-detail-grid span{color:var(--muted);font-size:14px;font-weight:800;text-transform:uppercase}.appointment-detail-grid strong{color:var(--ink);font-size:16px;line-height:1.35;overflow-wrap:anywhere}.appointment-detail-grid .detail-full{grid-column:1/-1}.appointment-history-section{border-top:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;margin-top:18px;padding-top:18px}.appointment-history-section h3{margin:0}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);overflow-x:hidden}table{border-collapse:collapse;min-width:0;width:100%}.schedule-table{min-width:0;table-layout:fixed}.schedule-table thead th{text-align:center}.schedule-table td:first-child,.schedule-table th:first-child{width:9.8ch;max-width:9.8ch;min-width:9.8ch;overflow:hidden;text-overflow:ellipsis}td,th{border-bottom:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:middle}th{color:var(--muted);font-size:18px;text-transform:uppercase}.time-cell{color:var(--rose-dark);font-weight:800;font-size:16px;white-space:nowrap}.schedule-slot-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);height:100%;align-items:stretch;grid-gap:0;gap:0;min-width:0}.appointment-cell{align-items:flex-start;background:#fffaf6;border:3px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:grid;grid-gap:2px;gap:2px;height:100%;min-height:100%;padding:8px;text-align:left;width:100%;min-width:0}.appointment-cell>div:first-child{flex:1 1;min-width:0}.appointment-cell span,.appointment-cell strong{display:block;color:var(--muted);font-size:16px;line-height:1;margin-top:2px;word-break:break-word;overflow-wrap:anywhere}.appointment-cell.off-schedule{border-color:var(--gold)}.appointment-cell.off-schedule.cancelled{border-color:#ddbcbc}.schedule-table td{height:100%}.time-cell{cursor:pointer}.schedule-table td:last-child{padding:0;cursor:pointer}.empty-slot{align-items:center;border:1px dashed var(--line);border-radius:8px;color:var(--muted);background:#fff;display:flex;font-size:16px;font-weight:800;justify-content:center;min-height:32px;width:100%}.empty-slot.available-slot{border:none;background:transparent;cursor:pointer}.day-empty-slot{display:none}.closed-slot{align-items:center;display:flex;background:#f7f1ec;border-style:solid;color:var(--rose-dark);justify-content:center}.dashboard-side,.employee-list,.history-list{display:grid;grid-gap:16px;gap:16px}.dashboard-side{align-content:start}.side-tabs{background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:6px;gap:6px;padding:6px}.tab-button{background:transparent;border:0;border-radius:6px;color:var(--muted);cursor:pointer;font-weight:800;min-height:38px}.tab-button.active{background:var(--rose);color:#fff}.hours-section{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.hours-section h3{margin:0 0 12px}.closure-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.closure-list span{color:var(--muted);font-size:13px;font-weight:800;padding:8px 10px}.closure-list span,.employee-item{background:#faf5ef;border-radius:8px}.employee-item{padding:10px}.history-item{justify-content:start;background:#fff;border:3px solid var(--line);border-radius:8px;padding:8px 10px}.history-item span,.history-item strong{display:block}.history-item strong{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.history-item span{color:var(--muted);font-size:16px;margin-top:4px}.history-item.cancelled{background:#d1d5db;border-color:#9ca3af}.history-item.completed{background:#d4edda;border-color:#a3cfbb}.history-item.booked{background:#fff;border-color:var(--line)}.history-item.booked-public{background:#e9f4ff;border-color:#b9d9f2}.history-item.booked-admin{background:#fff3d9;border-color:#e8c97b}.appointment-cell.border-massage,.history-item.border-massage,.modal-appointment.border-massage,.month-appointment.border-massage,.week-appointment.border-massage{border-color:#5f9a6b}.appointment-cell.border-facial-care,.history-item.border-facial-care,.modal-appointment.border-facial-care,.month-appointment.border-facial-care,.week-appointment.border-facial-care{border-color:#d8ae55}.appointment-cell.border-default,.history-item.border-default,.modal-appointment.border-default,.month-appointment.border-default,.week-appointment.border-default{border-color:#9c6f83}.status-pill{border-radius:999px;display:inline-flex;font-size:11px;font-weight:800;margin-top:0;padding:4px 8px}.status-pill.completed{background:#eef4ed;color:var(--sage)}.history-item .status-pill.booked,.status-pill.upcoming{background:#f7ece6;color:var(--rose-dark)}.history-item .status-pill.booked{display:inline-flex}.status-pill.booked{display:none}.status-pill.cancelled{background:transparent;color:var(--danger);padding:0}.employee-item span{color:var(--muted);display:block;font-size:13px;margin-top:3px}.employees-panel{display:grid;grid-gap:14px;gap:14px}.section-header-inline{align-items:center;display:flex;gap:12px;justify-content:space-between}.section-header-inline h2{margin:0}.employee-item-body{display:grid;grid-gap:4px;gap:4px;min-width:0}.employee-modal{max-width:760px}.employee-skill-list{margin-top:2px}.modal-actions{display:grid;grid-gap:10px;gap:10px;margin-top:6px}.payroll-result{align-items:baseline;background:#eef4ed;border-radius:8px;color:var(--sage);display:flex;gap:10px;margin:14px 0 18px;padding:16px}.payroll-result strong{font-size:34px}.payroll-result span{color:var(--ink);font-weight:800}.footer{color:#5f665f;display:flex;flex-wrap:wrap;gap:10px 18px;justify-content:center;align-items:center;margin-top:auto;padding:20px;text-align:center}.footer p{font-size:13px;margin:0}.footer-address{color:var(--ink);font-weight:700}.footer-links{display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:center}.footer-links a,.legal-page a{color:var(--sage);font-size:13px;font-weight:800;text-decoration:none}.footer-links a:hover,.legal-page a:hover{text-decoration:underline}.legal-page{color:var(--ink);line-height:1.7;margin:0 auto;max-width:820px;padding:56px 20px 72px}.legal-page h1{font-size:clamp(34px,6vw,56px);line-height:1.05;margin:0 0 12px}.legal-page h2{font-size:22px;margin:34px 0 10px}.legal-page p,.legal-page ul{margin:0 0 14px}.legal-page ul{padding-left:22px}.legal-page address{font-style:normal}.effective-date{color:#6e756e;font-weight:800}.sms-disclosure{margin-top:12px;font-size:12px;color:#666;line-height:1.4;margin-bottom:20px}.sms-title{font-weight:600;margin-bottom:6px}.sms-text{margin:4px 0}@media (max-width:920px){.admin-service-selects,.appointment-detail-grid,.booking-layout,.dashboard-grid,.phone-input-row{grid-template-columns:1fr}.selected-appointment-modal .appointment-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-panel{position:static}}@media (max-width:620px){.app-shell,.dashboard-shell{padding:12px}.topbar{margin-bottom:12px}.booking-layout{gap:10px}.flow-panel,.summary-panel{padding:14px}.summary-panel{box-shadow:none}.summary-panel h2{font-size:18px;margin-bottom:8px}.summary-list{gap:6px}.summary-row{align-items:center;font-size:13px;min-height:30px;padding-bottom:6px}.summary-row strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}.summary-panel .icon-button{height:28px;min-width:28px;width:28px}.total-row{font-size:15px;margin-top:8px}.section-heading h1{font-size:24px}.section-heading p{font-size:14px;line-height:1.35;margin:4px 0 12px}.category-grid{gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.category-card{min-height:52px;padding:9px}.category-card strong{font-size:13px}.category-card span,.subservice-heading span{font-size:11px;margin-top:3px}.subservice-panel{padding-top:10px}.subservice-heading{margin-bottom:8px}.subservice-heading h2{font-size:18px}.service-grid{gap:8px;margin-bottom:12px}.service-card{align-items:center;gap:8px;padding:10px}.service-card h3{font-size:15px;line-height:1.25}.service-card p{display:none}.small-button{min-height:32px}.primary-button,.secondary-button{min-height:42px}.hero{align-items:end;min-height:92vh;padding:24px}.hero h1{font-size:46px}.hero p{font-size:16px}.dashboard-header,.date-navigator,.service-card,.toolbar,.topbar{flex-direction:column}.date-navigator{flex-direction:row;flex-wrap:nowrap;gap:8px;overflow-x:auto}.date-navigator .icon-button{flex:0 0 auto}.date-navigator .inline-field{flex:1 1 auto;min-width:0}.date-navigator .inline-field input{min-width:0}.dashboard-header .view-toggle{flex-direction:row;flex-wrap:nowrap;width:268px;max-width:100%}.service-card{flex-direction:row}.two-column{grid-template-columns:1fr}.hours-section .two-column,.orders-date-range{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hours-section .two-column{gap:10px}.hours-section.time-range-section .two-column{gap:14px}.hours-section select{font-size:12px}.hours-section.time-range-section .time-picker-row-24{gap:6px}.hours-section.time-range-section .time-picker-row-24 select{min-width:0;width:100%}.modal-edit-form .two-column{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.modal-edit-form .two-column.time-row{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.modal-edit-form .two-column.time-row input[type=date]{height:42px;line-height:42px;padding-bottom:0;padding-top:0;box-sizing:border-box;display:block}.modal-edit-form .two-column.time-row input[type=date]::-webkit-datetime-edit{padding:0}.modal-edit-form .two-column.time-row input[type=date]::-webkit-datetime-edit-day-field,.modal-edit-form .two-column.time-row input[type=date]::-webkit-datetime-edit-fields-wrapper,.modal-edit-form .two-column.time-row input[type=date]::-webkit-datetime-edit-month-field,.modal-edit-form .two-column.time-row input[type=date]::-webkit-datetime-edit-text,.modal-edit-form .two-column.time-row input[type=date]::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}.modal-edit-form .phone-input-row{grid-template-columns:104px minmax(0,1fr)}.modal-edit-form .time-picker-row-24{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.modal-edit-form .time-picker-row-24 select{min-width:0;width:100%}.modal-edit-form .time-picker-row-12{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr);gap:8px}.modal-edit-form .time-picker-row-12 select{min-width:0;width:100%}.hours-section.time-range-section .time-picker-row-12{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr);gap:6px}.hours-section.time-range-section .time-picker-row-12 select{min-width:0;width:100%}.modal-edit-form .field-title-row{gap:8px}.modal-edit-form .service-row{gap:8px;grid-template-columns:minmax(0,1fr) auto}.modal-edit-form .service-row-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.modal-edit-form .service-row-main select{min-height:46px;padding:8px 10px}.modal-edit-form .service-row-main select option{white-space:normal}.modal-edit-form input,.modal-edit-form select,.modal-edit-form textarea{font-size:13px}.table-wrap{overflow-x:hidden}.schedule-table{min-width:0}.schedule-table td:first-child,.schedule-table th:first-child{width:7.6ch;max-width:7.6ch;min-width:7.6ch;padding-left:6px;padding-right:6px}.time-cell{font-size:13px}td,th{padding:6px 8px}.schedule-slot-grid{gap:0;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.day-empty-slot{display:flex}.appointment-cell.mobile-full-span,.day-empty-slot{grid-column:1/-1}.appointment-cell span,.appointment-cell strong{font-size:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-width:0;min-height:92px;padding:0}.calendar-orders{width:100%}.month-appointment{justify-self:stretch;width:100%}.month-appointment strong{font-size:12px}.month-appointment-row{gap:4px}.calendar-orders span{font-size:10px}.week-panel{overflow-x:hidden}.week-grid{gap:0;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}.week-day-column{min-height:0;padding:6px}.week-day-column h3{font-size:13px;margin-bottom:6px}.week-orders{margin:0 -6px}.week-appointment span,.week-appointment strong{font-size:11px}.day-panel,.month-panel,.week-panel{gap:10px}.week-day-column{padding:4px}.week-day-column h3{font-size:11px;margin-bottom:4px;gap:4px}.week-orders{margin:0 -4px}.week-appointment{gap:2px;padding:3px}.week-appointment span,.week-appointment strong{font-size:10px}.calendar-day{min-height:84px}.calendar-day-number{font-size:16px;gap:4px;padding:8px 8px 4px}.calendar-orders span{font-size:9px}.month-appointment{padding:3px}.month-appointment-row{gap:2px}.month-appointment span,.month-appointment strong{font-size:10px}.appointment-cell{padding:3px}.appointment-cell span,.appointment-cell strong{font-size:10px}}