:root{--bg:#f7f3ef;--panel:#ffffff;--ink:#28231f;--muted:#766f69;--line:#e8e0d9;--accent:#9a6b72;--accent-soft:#f0e2e5;--success:#2f7d5a;--warning:#a86f20;--danger:#a94646}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{background:#2c2927;color:white;padding:24px 18px}.brand{font-size:20px;font-weight:700;margin-bottom:28px}.nav{display:grid;grid-gap:8px;gap:8px}.nav a{padding:11px 12px;border-radius:10px;color:#e7dfda}.nav a:hover{background:#3a3633}.main{padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.title{font-size:30px;font-weight:700;margin:0}.subtitle{color:var(--muted);margin:6px 0 0}.btn{border:0;border-radius:10px;padding:11px 16px;cursor:pointer}.btn-primary{background:var(--accent);color:white}.btn-secondary{background:white;border:1px solid var(--line);color:var(--ink)}.grid{display:grid;grid-gap:16px;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 2px 8px rgba(44,41,39,.04)}.metric{font-size:28px;font-weight:700;margin-top:8px}.muted{color:var(--muted)}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.badge-confirmed{background:#e7f4ed;color:var(--success)}.badge-pending{background:#fff2dd;color:var(--warning)}.badge-cancelled{background:#f8e2e2;color:var(--danger)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:white;border:1px solid var(--line);border-radius:18px;padding:26px}.field{display:grid;grid-gap:7px;gap:7px;margin:14px 0}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:white}.calendar{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:16px}.calendar-grid{min-width:900px;display:grid;grid-template-columns:90px repeat(4,1fr)}.cal-cell{min-height:68px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px}.cal-head{min-height:auto;padding:12px;font-weight:700;background:#fbf8f6}.appt{background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:8px;padding:8px;font-size:13px}.appt strong{display:block;margin-bottom:4px}.empty-page{display:grid;place-items:center;min-height:400px;text-align:center}@media (max-width:980px){.shell{grid-template-columns:1fr}.sidebar{display:none}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.main{padding:18px}.grid-4{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:12px;flex-direction:column}}.appt{width:100%;text-align:left;border:0;cursor:pointer;color:var(--ink);display:grid;grid-gap:3px;gap:3px}.appt:hover{filter:brightness(.985)}.appt-cancelled,.appt-no_show{opacity:.65;background:#f3eeee;border-left-color:var(--danger)}.badge-arrived{background:#e8eef9;color:#3c5f91}.badge-in_service{background:#f3e8fb;color:#77509a}.badge-completed{background:#e7f4ed;color:var(--success)}.badge-cancelled,.badge-no_show{background:#f8e2e2;color:var(--danger)}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.38);display:grid;place-items:center;padding:18px;z-index:50}.modal-card{width:min(560px,100%);max-height:90vh;overflow:auto}.modal-topbar{margin-bottom:12px}.detail-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.action-stack{display:grid;grid-gap:10px;gap:10px;margin-top:18px}.btn-danger{background:#fff;color:var(--danger);border:1px solid #e8bebe}.payment-box{padding:14px;background:#fbf8f6;border:1px solid var(--line);border-radius:12px}.notice{padding:11px 12px;background:#f7f3ef;border-radius:10px;margin-top:14px}.success-box{padding:12px;background:#e7f4ed;color:var(--success);border-radius:10px}.payroll-topbar{margin-bottom:16px}.payroll-month-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:14px;gap:14px;margin-bottom:16px}.payroll-month-nav>:last-child{justify-self:end}.payroll-month-title{display:flex;align-items:center;gap:10px;text-transform:capitalize;font-size:18px}.payroll-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.payroll-table-card{padding-bottom:12px}.payroll-table-scroll{overflow-x:auto}.payroll-table{min-width:980px}.payroll-table td,.payroll-table th{white-space:nowrap}.btn-small{padding:7px 10px;border-radius:8px;font-size:13px}.payroll-locked{font-size:13px;padding:8px 12px}.payroll-breakdown{display:grid;grid-gap:0;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:14px 0}.payroll-breakdown>div{display:flex;justify-content:space-between;gap:18px;padding:11px 13px;border-bottom:1px solid var(--line)}.payroll-breakdown>div:last-child{border-bottom:0}.payroll-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 14px;gap:0 14px}.payroll-adjustment-field{grid-column:1/-1}.money-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:white;overflow:hidden}.money-input span{padding-left:12px;color:var(--muted)}.money-input input{border:0!important;border-radius:0!important;outline:0}.money-input:focus-within{border-color:var(--accent)}.payroll-total-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0 4px;font-size:18px;border-top:1px solid var(--line);margin-top:6px}.payroll-total-row strong{font-size:24px}.payroll-save{width:100%;margin-top:14px}.payroll-error{color:var(--danger);background:#fff2f2}.payroll-close-modal{width:min(500px,100%)}.payroll-close-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.payroll-disclaimer{margin-bottom:0;margin-top:14px}.negative-money{color:var(--danger)}@media (max-width:760px){.payroll-month-nav{grid-template-columns:1fr 1fr}.payroll-month-title{grid-column:1/-1;grid-row:1;justify-content:center}.payroll-month-nav>:last-child{justify-self:stretch}.payroll-month-nav .btn{text-align:center}.payroll-form-grid,.payroll-summary-grid{grid-template-columns:1fr}.payroll-adjustment-field{grid-column:auto}}.management-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;grid-gap:12px;gap:12px;align-items:center;margin-bottom:16px}.search-input{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:white;color:var(--ink)}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(154,107,114,.1)}.check-inline{display:inline-flex;align-items:center;gap:8px;color:var(--muted);white-space:nowrap}.check-inline input{width:16px;height:16px;accent-color:var(--accent)}.management-card{padding-top:6px}.management-table-scroll{overflow-x:auto}.management-table{min-width:900px}.clients-table{min-width:1120px}.table-actions{display:flex;gap:8px;justify-content:flex-end}.table-note{color:var(--muted);font-size:12px;margin-top:4px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-muted{opacity:.6}.management-modal{width:min(620px,100%)}.form-two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.field textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:white;resize:vertical}.management-save{width:100%;margin-top:10px}@media (max-width:760px){.management-toolbar{grid-template-columns:1fr}.management-toolbar .btn{width:100%}.form-two-cols{grid-template-columns:1fr;gap:0}}.service-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.service-toolbar{margin-top:0}.services-table{min-width:1080px}.skill-chip-wrap{display:flex;flex-wrap:wrap;gap:6px}.commission-chip,.skill-chip{display:inline-flex;border-radius:999px;padding:5px 8px;background:#f2ece8;font-size:12px;white-space:nowrap}.commission-chip{background:#f0e2e5;color:#744f56}.service-online-toggle{margin:10px 0 18px}.skill-picker{border-top:1px solid var(--line);padding-top:16px;margin-top:8px}.skill-picker p{margin:5px 0 12px}.skill-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:9px;gap:9px}.skill-option{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer}.skill-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.skill-option input{width:16px;height:16px;accent-color:var(--accent)}.commission-section{margin-top:18px}.section-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:8px}.section-heading-row h2{margin:0 0 5px}.section-heading-row p{margin:0}.commission-table{min-width:850px}.commission-modal{width:min(650px,100%)}.commission-help{font-size:12px;margin-top:-6px}.commission-service-list{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:18px 0 12px}.commission-list-title{font-weight:700;background:#fbf8f6}.commission-list-title,.commission-service-row{padding:11px 13px;border-bottom:1px solid var(--line)}.commission-service-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.commission-service-row:last-child{border-bottom:0}.commission-service-row>span{display:grid;grid-gap:3px;gap:3px}.commission-service-row small{color:var(--muted)}.percent-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;overflow:hidden;width:130px;background:white}.percent-input input{width:100%;border:0;padding:9px 8px;outline:none;min-width:0}.percent-input span{padding-right:10px;color:var(--muted)}.appointment-date-grid{grid-template-columns:1fr 1fr}@media (max-width:760px){.service-summary-grid,.skill-picker-grid{grid-template-columns:1fr}.section-heading-row{flex-direction:column}.commission-service-row{align-items:flex-start}.appointment-date-grid{grid-template-columns:1fr}}.schedule-modal{width:min(760px,100%)}.weekly-schedule-list{border:1px solid var(--line);border-radius:12px;overflow:hidden}.schedule-row{display:grid;grid-template-columns:minmax(150px,1fr) auto;grid-gap:16px;gap:16px;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line)}.schedule-row:last-child{border-bottom:0}.schedule-day-check{display:inline-flex;align-items:center;gap:9px}.schedule-day-check input{width:16px;height:16px;accent-color:var(--accent)}.schedule-times{display:flex;align-items:center;gap:8px}.schedule-times input{border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:white}.schedule-save{width:100%;margin-top:14px}.schedule-divider{height:1px;background:var(--line);margin:22px 0}.dayoff-add-grid{display:grid;grid-template-columns:180px minmax(220px,1fr) auto;grid-gap:10px;gap:10px;align-items:end}.dayoff-add-grid .btn{margin-bottom:1px}.dayoff-list{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.dayoff-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:10px;padding:10px 12px}.online-settings-grid{display:grid;grid-template-columns:1.4fr .8fr;grid-gap:16px;gap:16px}.online-link-card{grid-column:1}.online-status-card{grid-column:2;grid-row:1}.online-checklist-card{grid-column:1/-1}.public-link-box{border:1px solid var(--line);background:#fbf8f6;border-radius:10px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}.online-link-actions{display:flex;gap:10px;margin-top:12px}.online-link-actions .btn{text-align:center}.booking-checklist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.booking-checklist>div{display:flex;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px}.booking-checklist>div>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e7f4ed;color:var(--success);font-weight:800;flex:none}.booking-checklist p{margin:0}.booking-checklist small{color:var(--muted)}.public-booking-shell{min-height:100vh;background:linear-gradient(180deg,#f5eeeb,#fbf9f7 46%,#f7f3ef);padding:42px 18px 70px}.public-booking-header{width:min(900px,100%);margin:0 auto 22px;display:flex;gap:22px;align-items:flex-start}.public-booking-header h1{margin:4px 0 8px;font-size:38px}.public-booking-header p{margin:0;color:var(--muted)}.public-logo{display:inline-flex;align-items:center;justify-content:center;min-width:92px;height:42px;border-radius:12px;background:#2c2927;color:white;font-weight:800;letter-spacing:.2px;padding:0 16px}.public-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;color:var(--accent)}.public-booking-card{width:min(900px,100%);margin:0 auto 16px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 8px 28px rgba(44,41,39,.06)}.public-booking-empty{text-align:center;margin-top:9vh}.public-booking-empty .public-logo{margin-bottom:22px}.booking-progress{width:min(900px,100%);margin:0 auto 16px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white}.booking-progress span{padding:11px 14px;color:#a19a95;text-align:center;border-right:1px solid var(--line);font-size:13px}.booking-progress span:last-child{border-right:0}.booking-progress span.active{color:var(--ink);background:var(--accent-soft)}.booking-progress span.done{color:var(--success);background:#eef7f2}.booking-progress b{margin-left:5px}.booking-section-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.booking-section-title>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:white;font-weight:800;flex:none}.booking-section-title h2{margin:2px 0 4px;font-size:21px}.booking-section-title p{margin:0;color:var(--muted);font-size:14px}.public-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.public-service-option{border:1px solid var(--line);background:white;border-radius:14px;padding:16px;text-align:left;cursor:pointer;display:grid;grid-gap:6px;gap:6px;color:var(--ink)}.public-service-option:hover{border-color:#c9afb4}.public-service-option.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.public-service-option strong{font-size:16px}.public-service-option span{color:var(--muted);font-size:13px}.public-service-option b{margin-top:3px;font-size:17px}.booking-date-field,.booking-operator-field{max-width:440px}.booking-slots-wrap{margin-top:18px}.booking-small-label{font-size:13px;font-weight:700;margin-bottom:9px}.booking-slots-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px}.booking-slot{border:1px solid var(--line);border-radius:10px;padding:10px 7px;background:white;cursor:pointer;color:var(--ink);display:grid;grid-gap:3px;gap:3px;text-align:center}.booking-slot.selected,.booking-slot:hover{border-color:var(--accent)}.booking-slot.selected{background:var(--accent);color:white}.booking-slot span{font-size:11px;opacity:.8}.booking-no-slots{border:1px dashed var(--line);color:var(--muted);border-radius:12px;padding:16px;background:#fbf8f6}.booking-selected-recap{display:grid;grid-template-columns:1fr auto;grid-gap:4px 18px;gap:4px 18px;border:1px solid var(--line);border-radius:12px;padding:13px 14px;background:#fbf8f6;margin-bottom:8px}.booking-selected-recap span{color:var(--muted);font-size:13px;grid-column:1}.booking-selected-recap b{grid-column:2;grid-row:1/3;align-self:center;font-size:18px}.booking-wide-btn{width:100%;margin-top:8px}.booking-privacy-note{text-align:center;color:var(--muted);font-size:12px;margin:10px 0 0}.booking-confirmed-card{text-align:center;margin-top:7vh}.booking-success-icon{width:64px;height:64px;border-radius:50%;background:#e7f4ed;color:var(--success);font-size:34px;display:grid;place-items:center;margin:0 auto 16px}.booking-confirmed-card h1{margin:6px 0}.booking-confirmed-card>p{color:var(--muted)}.booking-recap{text-align:left;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:22px 0}.booking-recap>div{display:flex;justify-content:space-between;gap:20px;padding:12px 14px;border-bottom:1px solid var(--line)}.booking-recap>div:last-child{border-bottom:0}.booking-recap span{color:var(--muted)}@media (max-width:820px){.online-settings-grid{grid-template-columns:1fr}.online-checklist-card,.online-link-card,.online-status-card{grid-column:1;grid-row:auto}.booking-checklist,.public-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-slots-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:620px){.schedule-row{grid-template-columns:1fr;gap:9px}.schedule-times{width:100%}.schedule-times input{min-width:0;width:100%}.booking-checklist,.dayoff-add-grid{grid-template-columns:1fr}.public-booking-shell{padding:22px 12px 50px}.public-booking-header{flex-direction:column;gap:14px}.public-booking-header h1{font-size:30px}.public-booking-card{padding:18px;border-radius:16px}.booking-progress b{display:none}.public-service-grid{grid-template-columns:1fr}.booking-slots-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.online-link-actions{flex-direction:column}}.calendar-topbar{margin-bottom:16px}.calendar-controls{margin-bottom:16px;padding:14px 16px}.calendar-nav-row{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:12px;gap:12px;align-items:center}.calendar-nav-row>:last-child{justify-self:end}.calendar-current-date{display:flex;align-items:center;justify-content:center;gap:9px;text-transform:capitalize;text-align:center}.calendar-filter-row{display:flex;align-items:end;justify-content:space-between;gap:14px;padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}.calendar-date-form{display:flex;align-items:end;gap:9px}.calendar-date-form label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:13px}.calendar-date-input{border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:white;color:var(--ink);min-height:40px}.calendar-quick-actions{display:flex;align-items:center;gap:9px}.view-switch{display:inline-flex;background:#eee7e2;padding:3px;border-radius:10px}.view-switch-btn{padding:8px 12px;border-radius:8px;color:var(--muted);font-size:14px}.view-switch-btn.active{background:white;color:var(--ink);box-shadow:0 1px 3px rgba(44,41,39,.12);font-weight:700}.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));grid-gap:10px;gap:10px;overflow-x:auto;padding-bottom:6px}.week-day-card{min-width:180px;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.week-day-card.is-today{border-color:var(--accent);box-shadow:0 0 0 2px rgba(154,107,114,.08)}.week-day-head{display:flex;align-items:baseline;gap:7px;padding:12px 13px;background:#fbf8f6;border-bottom:1px solid var(--line);text-transform:capitalize}.week-day-head span{color:var(--muted);font-size:13px}.week-day-head strong{font-size:21px}.week-day-head small{color:var(--muted)}.week-day-card.is-today .week-day-head{background:var(--accent-soft)}.week-day-body{min-height:240px;padding:9px;display:grid;align-content:start;grid-gap:8px;gap:8px}.week-day-body .appt{min-height:0}.week-empty{color:var(--muted);font-size:13px;padding:10px 4px;text-align:center}.appt-staff{font-size:12px;font-weight:700;color:var(--accent)}@media (max-width:820px){.calendar-nav-row{grid-template-columns:1fr 1fr}.calendar-current-date{grid-column:1/-1;grid-row:1}.calendar-nav-row>:last-child{justify-self:stretch}.calendar-nav-row .btn{text-align:center}.calendar-filter-row{align-items:stretch;flex-direction:column}.calendar-date-form{display:grid;grid-template-columns:1fr auto}.calendar-date-form label{grid-column:1}.calendar-date-form .btn{grid-column:2;grid-row:1;align-self:end}.calendar-quick-actions{justify-content:space-between}}@media (max-width:520px){.calendar-nav-row{grid-template-columns:1fr}.calendar-current-date{grid-column:1}.calendar-nav-row>:last-child{justify-self:stretch}.calendar-date-form{grid-template-columns:1fr}.calendar-date-form .btn{grid-column:1;grid-row:auto}.calendar-quick-actions{align-items:stretch;flex-direction:column}.view-switch{width:100%}.view-switch-btn{flex:1 1;text-align:center}}.appt-pending{background:#fff7e8;border-left-color:#c1842f}.appt-confirmed{background:#eef7f2;border-left-color:#3e8064}.appt-arrived{background:#edf3fb;border-left-color:#5379a8}.appt-in_service{background:#f4edfb;border-left-color:#825ca4}.appt-completed{background:#e7f4ed;border-left-color:var(--success)}.appt-cancelled{background:#f5eeee;border-left-color:#a85b5b;opacity:.68}.appt-no_show{background:#faece8;border-left-color:#bc624e;opacity:.8}.badge-pending{background:#fff1d7;color:#9a641d}.badge-confirmed{background:#e5f3eb;color:#267052}.badge-arrived{background:#e7effa;color:#3e6392}.badge-in_service{background:#f1e7f8;color:#744c92}.badge-completed{background:#e4f3ea;color:#276f50}.badge-cancelled{background:#f4e3e3;color:#994646}.badge-no_show{background:#fae6df;color:#a84d37}.appointment-manager-modal{width:min(820px,100%)}.appointment-manager-head{align-items:flex-start}.appointment-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.appointment-title-row h2{margin:0}.appointment-modal-subtitle{margin:6px 0 0;text-transform:capitalize}.appointment-message{margin:0 0 14px}.appointment-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.appointment-detail-card{border:1px solid var(--line);border-radius:13px;padding:14px;background:#fcfaf8;min-width:0}.appointment-detail-kicker{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:800;margin-bottom:6px}.appointment-detail-card .detail-row{padding:9px 0}.appointment-detail-card .detail-row:last-child{border-bottom:0}.appointment-detail-card .detail-row>:last-child{text-align:right;overflow-wrap:anywhere}.appointment-detail-card a{color:var(--accent);font-weight:700}.appointment-note{margin-top:12px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:white}.appointment-note span{display:block;font-size:12px;color:var(--muted);font-weight:700;margin-bottom:5px}.appointment-note p{margin:0;line-height:1.45;white-space:pre-wrap}.appointment-note-wide{background:#fbf8f6}.appointment-actions-section,.appointment-edit-panel{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.appointment-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.appointment-section-heading h3{margin:0;font-size:18px}.appointment-section-heading p{margin:5px 0 0;font-size:13px}.appointment-final-state{padding:13px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);background:#fbf8f6}.appointment-edit-panel .field textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:white;color:var(--ink)}.appointment-edit-recap{display:grid;grid-template-columns:1fr auto;grid-gap:8px 20px;gap:8px 20px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fbf8f6;margin-top:12px}.appointment-edit-recap span{color:var(--muted)}.appointment-save-edit{width:100%;margin-top:14px}@media (max-width:720px){.appointment-detail-grid{grid-template-columns:1fr}.appointment-section-heading{align-items:stretch;flex-direction:column}.appointment-section-heading .btn{width:100%}}.notification-metrics{margin-bottom:18px}.notification-inbox-card,.notification-outbox-card,.notification-settings-card{margin-top:18px}.notification-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.notification-section-head h2{margin:0 0 4px}.notification-section-head p{margin:0}.notification-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:16px}.notification-settings-group{border:1px solid var(--line);border-radius:13px;padding:14px;background:#fcfaf8}.notification-settings-group h3{margin:0 0 12px;font-size:16px}.toggle-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;color:var(--ink)}.toggle-row input{width:17px;height:17px;margin-top:2px;accent-color:var(--accent);flex:0 0 auto}.toggle-strong{font-weight:800}.notification-help{margin:10px 0 0;font-size:12px;line-height:1.5}.notification-test-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.notification-test-actions .btn{padding:8px 10px;font-size:12px}.notification-save-message{margin-bottom:12px}.notification-list{display:grid;grid-gap:8px;gap:8px}.notification-item{display:grid;grid-template-columns:10px 1fr auto;grid-gap:12px;gap:12px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff}.notification-item.is-read{opacity:.7;background:#fbf9f7}.notification-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:6px}.notification-item.is-read .notification-dot{background:#c9c0bb}.notification-copy{min-width:0}.notification-copy strong{display:block;margin-bottom:4px}.notification-copy p{margin:0 0 5px;line-height:1.4}.notification-copy span{color:var(--muted);font-size:12px}.notification-read-btn{padding:7px 10px}.notification-empty{padding:18px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center}.notification-outbox-table{min-width:980px}.notification-status-queued{background:#fff1d7;color:#9a641d}.notification-status-sent{background:#e4f3ea;color:#276f50}.notification-status-failed{background:#f4e3e3;color:#994646}.notification-status-skipped{background:#ece8e5;color:#6f6660}.notification-error-text{color:var(--danger);font-size:12px}@media (max-width:900px){.notification-settings-grid{grid-template-columns:1fr}}@media (max-width:620px){.notification-section-head{flex-direction:column;align-items:stretch}.notification-item{grid-template-columns:10px 1fr}.notification-read-btn{grid-column:2;justify-self:start}}.dashboard-card-note{display:block;color:var(--muted);margin-top:7px;font-size:12px}.dashboard-insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px;margin-top:16px}.dashboard-highlight-card{display:grid;align-content:start;grid-gap:7px;gap:7px;min-height:132px}.dashboard-highlight-card>strong{font-size:22px}.dashboard-highlight-card>small{color:var(--muted)}.dashboard-analytics-link-card .btn{justify-self:start;margin-top:auto}.dashboard-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:8px}.dashboard-section-head h2{margin:0 0 4px}.dashboard-section-head p{margin:0}.dashboard-upcoming-table{min-width:720px}.analytics-topbar{gap:18px}.analytics-range-switch{display:inline-flex;align-items:center;background:#eee7e2;border-radius:11px;padding:4px}.analytics-range-btn{padding:9px 13px;border-radius:8px;color:var(--muted);font-size:13px;white-space:nowrap}.analytics-range-btn.active{background:white;color:var(--ink);font-weight:800;box-shadow:0 1px 4px rgba(44,41,39,.11)}.analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.analytics-kpi-card{display:grid;grid-gap:8px;gap:8px;min-height:135px;align-content:start}.analytics-kpi-card>strong{font-size:29px;line-height:1.08}.analytics-kpi-card small{color:var(--muted);line-height:1.35}.analytics-kpi-card .analytics-up{color:var(--success)}.analytics-kpi-card .analytics-down{color:var(--danger)}.analytics-main-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.8fr);grid-gap:16px;gap:16px;margin-top:16px}.analytics-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.analytics-section-head h2{margin:0 0 4px;font-size:19px}.analytics-section-head p{margin:0;font-size:13px}.analytics-section-head>strong{font-size:20px;white-space:nowrap}.analytics-chart-card{min-width:0}.analytics-bars{height:245px;display:grid;grid-gap:4px;gap:4px;align-items:end;padding-top:8px;overflow:hidden}.analytics-bar-column{height:100%;min-width:0;display:grid;grid-template-rows:1fr 22px;align-items:end;grid-gap:5px;gap:5px}.analytics-bar-column>span{color:var(--muted);font-size:10px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:clip}.analytics-bar-track{height:100%;display:flex;align-items:flex-end;background:linear-gradient(0deg,rgba(154,107,114,.045),rgba(154,107,114,0));border-radius:6px 6px 2px 2px;overflow:hidden}.analytics-bar-fill{width:100%;min-height:3px;border-radius:6px 6px 2px 2px;background:var(--accent);opacity:.88;transition:filter .15s ease}.analytics-bar-column:hover .analytics-bar-fill{filter:brightness(.88)}.analytics-status-list{display:grid;grid-gap:4px;gap:4px}.analytics-status-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.analytics-status-list>div:last-child{border-bottom:0}.analytics-status-list span{display:flex;align-items:center;gap:9px}.analytics-dot{display:inline-block;width:9px;height:9px;border-radius:50%}.status-completed{background:var(--success)}.status-cancelled{background:var(--danger)}.status-no-show{background:#c87a4c}.status-online{background:var(--accent)}.analytics-table-card{margin-top:16px}.analytics-table-scroll{overflow-x:auto}.analytics-table{min-width:900px}.analytics-bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin-top:16px}.analytics-ranking-list{display:grid}.analytics-ranking-row{display:grid;grid-template-columns:34px 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.analytics-ranking-row:last-child{border-bottom:0}.analytics-rank{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:800;font-size:12px}.analytics-ranking-row div{display:grid;grid-gap:4px;gap:4px}.analytics-ranking-row small{color:var(--muted)}.analytics-payment-list{display:grid;grid-gap:15px;gap:15px}.analytics-payment-row{display:grid;grid-gap:6px;gap:6px}.analytics-payment-label{display:flex;justify-content:space-between;gap:10px}.analytics-payment-track{height:7px;border-radius:999px;background:#eee7e2;overflow:hidden}.analytics-payment-track>div{height:100%;border-radius:inherit;background:var(--accent)}.analytics-payment-row small{color:var(--muted)}@media (max-width:1100px){.analytics-kpis,.dashboard-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-main-grid{grid-template-columns:1fr}}@media (max-width:720px){.analytics-bottom-grid,.analytics-kpis,.dashboard-insight-grid{grid-template-columns:1fr}.analytics-topbar{align-items:stretch}.analytics-range-switch{width:100%}.analytics-range-btn{flex:1 1;text-align:center}.analytics-bars{height:200px;gap:2px}.analytics-bar-column>span{display:none}.dashboard-section-head{flex-direction:column}}.sidebar{display:flex;flex-direction:column;min-height:100vh}.nav{flex:0 0 auto}.sidebar-account{margin-top:auto;padding:16px 12px 4px;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-gap:4px;gap:4px}.sidebar-account strong{font-size:14px}.sidebar-account span{color:#bfb5af;font-size:12px}.sidebar-logout{margin-top:8px;width:100%;border:1px solid rgba(255,255,255,.18);background:transparent;color:#eee5df;border-radius:9px;padding:8px 10px;cursor:pointer;text-align:left}.sidebar-logout:hover{background:rgba(255,255,255,.08)}.access-toolbar{grid-template-columns:minmax(0,1fr) auto}.access-notice{margin:0;color:var(--muted)}.access-table{min-width:850px}.access-you{display:inline-flex;margin-left:8px;padding:3px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:800}.team-directory-note{margin:14px 10px 8px}.reception-privacy-note{margin-top:16px;color:var(--muted)}.staff-readonly-note{color:var(--muted)}.staff-portal-head{gap:16px}.staff-kpi-grid{margin-bottom:16px}.staff-today-card{margin-top:16px}.staff-agenda-table{min-width:640px}.staff-portal-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);grid-gap:16px;gap:16px;margin-top:16px}.staff-week-list{display:grid}.staff-week-row{display:grid;grid-template-columns:1fr auto;grid-gap:18px;gap:18px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center}.staff-week-row:last-child{border-bottom:0}.staff-week-row>div{display:grid;grid-gap:5px;gap:5px}.staff-week-row>div:last-child{justify-items:end}.staff-week-row span:not(.badge){color:var(--muted);font-size:13px}.staff-pay-card .detail-row{padding:10px 0}.staff-pay-total{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:15px 0 2px;border-top:1px solid var(--line)}.staff-pay-total strong{font-size:24px}.staff-account-card{margin-top:16px;display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);grid-gap:24px;gap:24px;align-items:start}.staff-account-card h2{margin:0 0 6px}.staff-account-card p{margin:0}.staff-password-form .notice{margin-bottom:10px}.my-clients-table{min-width:1050px}.my-client-notes{max-width:260px;white-space:normal!important;color:var(--muted)}@media (max-width:980px){.sidebar{display:block;min-height:0;position:-webkit-sticky;position:sticky;top:0;z-index:30;padding:12px 14px}.brand{margin:0 0 9px;font-size:18px}.nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}.nav a{white-space:nowrap;padding:8px 10px;background:rgba(255,255,255,.04)}.sidebar-account{display:none}.main{padding-top:20px}}@media (max-width:760px){.access-toolbar,.staff-account-card,.staff-portal-grid,.staff-week-row{grid-template-columns:1fr}.staff-week-row>div:last-child{justify-items:start}}@media (max-width:980px){.sidebar-account{display:flex;align-items:center;gap:8px;margin-top:9px;padding:9px 0 0}.sidebar-account span{display:none}.sidebar-logout{width:auto;margin:0 0 0 auto;padding:6px 10px}}.settings-topbar{margin-bottom:16px}.settings-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;padding-bottom:92px}.settings-card{display:grid;grid-gap:14px;gap:14px;align-content:start}.settings-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.settings-card-head h2{margin:0 0 5px;font-size:20px}.settings-card-head p{margin:0}.settings-booking-card,.settings-brand-card,.settings-hours-card,.settings-preview-card{min-height:100%}.settings-color-preview{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);box-shadow:inset 0 0 0 4px rgba(255,255,255,.55);flex:0 0 auto}.settings-color-input{display:grid;grid-template-columns:52px 1fr;grid-gap:8px;gap:8px}.settings-color-input input[type=color]{width:52px;height:46px;padding:4px;border:1px solid var(--line);border-radius:10px;background:white}.settings-city-grid{grid-template-columns:minmax(100px,.35fr) minmax(0,1fr)}.shop-hours-list{border:1px solid var(--line);border-radius:13px;overflow:hidden}.shop-hours-row{display:grid;grid-template-columns:minmax(160px,1fr) auto;align-items:center;grid-gap:14px;gap:14px;padding:11px 13px;border-bottom:1px solid var(--line)}.shop-hours-row:last-child{border-bottom:0}.shop-hours-day{display:flex;align-items:center;gap:10px}.shop-hours-day input{width:17px;height:17px;accent-color:var(--accent)}.shop-hours-times{display:flex;align-items:center;gap:8px}.shop-hours-times input{width:116px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink)}.settings-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.settings-switch-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid var(--line)}.settings-switch-row>div{display:grid;grid-gap:4px;gap:4px}.settings-switch-row span{color:var(--muted);font-size:12px}.settings-switch-row input{width:20px;height:20px;accent-color:var(--accent)}.settings-public-preview{display:grid;grid-template-columns:auto 1fr;grid-gap:16px;gap:16px;align-items:center;padding:20px;border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--preview-accent) 15%,white),white 64%);border:1px solid color-mix(in srgb,var(--preview-accent) 28%,var(--line))}.settings-preview-logo{width:72px;height:72px;border-radius:18px;display:grid;place-items:center;overflow:hidden;background:var(--preview-accent);color:white;font-size:30px;font-weight:800}.settings-preview-logo img{width:100%;height:100%;object-fit:cover;background:white}.settings-preview-kicker{color:var(--preview-accent);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.settings-public-preview h3{margin:3px 0 5px;font-size:24px}.settings-public-preview p{margin:0 0 5px;color:var(--muted)}.settings-public-preview small{color:var(--muted)}.settings-public-url{padding:10px 12px;background:#f7f3f0;border:1px solid var(--line);border-radius:10px;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.settings-success{background:#e6f4eb;color:#286d4e;border-color:#c9e7d5}.settings-save-bar{position:fixed;right:26px;bottom:22px;z-index:25;padding:8px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:13px;box-shadow:0 10px 35px rgba(50,42,38,.14)}.settings-save-bar .btn{min-width:230px}.public-booking-shell{--accent:var(--booking-accent,#a66f78)}.public-booking-branded-header{align-items:center}.public-brand-mark{width:78px;height:78px;border-radius:22px;overflow:hidden;flex:0 0 auto;display:grid;place-items:center;background:var(--accent);color:white;font-size:31px;font-weight:800;box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 22%,transparent)}.public-brand-mark img{width:100%;height:100%;object-fit:cover;background:white}.public-brand-copy{min-width:0}.public-brand-copy h1{margin-bottom:6px}.public-shop-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px;color:var(--muted);font-size:13px}.public-shop-meta a{color:var(--accent);text-decoration:none;font-weight:700}@media (max-width:1050px){.settings-layout{grid-template-columns:1fr}}@media (max-width:720px){.settings-city-grid,.settings-rule-grid,.shop-hours-row{grid-template-columns:1fr}.shop-hours-times{justify-content:flex-start}.settings-public-preview{grid-template-columns:1fr}.settings-save-bar{left:14px;right:14px;bottom:12px}.settings-save-bar .btn{width:100%;min-width:0}.public-booking-branded-header{align-items:flex-start}.public-brand-mark{width:64px;height:64px;border-radius:18px}}.cal-cell-appointments{display:grid;align-content:start;grid-gap:6px;gap:6px}.cal-cell-bookable{padding:0;min-height:68px}.calendar-slot-trigger{width:100%;min-height:67px;height:100%;border:0;background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;font:inherit;border-radius:0;transition:background .15s ease,color .15s ease}.calendar-slot-trigger:focus-visible,.calendar-slot-trigger:hover{background:var(--accent-soft);color:var(--accent);outline:none}.calendar-slot-plus{width:24px;height:24px;border-radius:999px;border:1px solid;display:inline-grid;place-items:center;font-size:18px;line-height:1;opacity:.72}.calendar-slot-hint{font-size:12px;opacity:0;transform:translateY(2px);transition:opacity .15s ease,transform .15s ease}.calendar-slot-trigger:focus-visible .calendar-slot-hint,.calendar-slot-trigger:hover .calendar-slot-hint{opacity:1;transform:translateY(0)}.calendar-prefill-note{margin:4px 0 10px;padding:9px 11px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:700}.calendar-grid{--calendar-row-height:76px}.calendar-grid>.cal-cell:not(.cal-head){height:var(--calendar-row-height);min-height:var(--calendar-row-height)}.cal-cell-appointments{position:relative;overflow:visible}.appt-calendar-block{position:absolute;left:8px;right:8px;width:auto;z-index:6;overflow:hidden;align-content:start;box-shadow:0 2px 7px rgba(44,41,39,.08)}.appt-calendar-block:hover{z-index:8;box-shadow:0 4px 12px rgba(44,41,39,.14)}.appt-calendar-short{padding:5px 7px;gap:1px;font-size:12px}.appt-calendar-short .badge{display:none}.appt-calendar-short strong{margin-bottom:1px}.cal-cell-appointments:not(.cal-cell-bookable){background:#fff}.appt.appt-client-colored:not(.appt-cancelled):not(.appt-no_show){background:var(--client-soft,var(--accent-soft));border-left:4px solid var(--client-accent,var(--accent))}.appt.appt-client-colored:not(.appt-cancelled):not(.appt-no_show) .appt-staff{color:var(--client-accent,var(--accent))}.appt-calendar-block.appt-cancelled,.appt-calendar-block.appt-no_show,.week-day-body .appt.appt-cancelled,.week-day-body .appt.appt-no_show{background:#f4eeee;border-left-color:var(--danger)}.service-category-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.service-category-tab{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 14px;cursor:pointer;font-weight:700}.service-category-tab:hover{border-color:#c8aab0}.service-category-tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.public-service-option:disabled{cursor:default;opacity:.78}.public-service-option small{font-size:12px;color:var(--accent);font-weight:800}.multi-service-cart{margin-top:18px;border:1px solid var(--line);background:#fffaf9;border-radius:16px;padding:16px;display:grid;grid-gap:12px;gap:12px}.multi-service-cart.compact{margin:14px 0 18px;background:#faf8f6}.multi-service-cart-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.multi-service-cart-head>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.multi-service-cart-head span{color:var(--muted);font-size:14px}.multi-service-lines{border-top:1px solid var(--line)}.multi-service-line{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.multi-service-line>span:last-child{color:var(--muted);text-align:right}.multi-service-line button{border:0;background:transparent;color:var(--danger);cursor:pointer;font-weight:700;margin-left:8px}.add-another-service-prompt{border-radius:13px;padding:14px;background:var(--accent-soft);display:flex;align-items:center;justify-content:space-between;gap:16px}.add-another-service-prompt>div{display:flex;gap:8px;flex-wrap:wrap}.internal-service-builder{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:end}.internal-service-builder .field{margin-bottom:0}.multi-booking-modal{width:min(720px,100%)}.service-category-chip{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f4ece9;color:#71585c;font-size:12px;font-weight:800;white-space:nowrap}.appointment-service-list{margin-bottom:4px}@media (max-width:720px){.add-another-service-prompt,.multi-service-line{align-items:flex-start;flex-direction:column}.multi-service-line>span:last-child{text-align:left}.internal-service-builder{grid-template-columns:1fr}}.booking-slot.unavailable,.booking-slot:disabled{cursor:not-allowed;background:#f4f1ef;border-color:#e4ded9;color:#a49a94;opacity:.62;box-shadow:none}.booking-slot.unavailable strong,.booking-slot:disabled strong{text-decoration:line-through;text-decoration-thickness:1px}.booking-slot.unavailable:hover,.booking-slot:disabled:hover{border-color:#e4ded9}.booking-slot.unavailable span,.booking-slot:disabled span{color:#9a8f89;opacity:1}