:root{color-scheme:light;--ink:#1a1a1a;--ink-muted:#545454;--surface:#ffffff;--surface-sunken:#f4f2ef;--line:#c9c4bd;--accent:#7a2f5e;--accent-ink:#ffffff;--available:#1f5c2e;--available-soft:#e3f1e6;--full:#8a4b00;--full-soft:#fdeedd;--closed-ink:#545454;--closed-soft:#eceae7;--danger:#98221d;--danger-soft:#fdeceb;--focus:#00407a;--radius:8px;--gap:12px;--tap:44px;--font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}*,:after,:before{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;padding:0;font-family:var(--font);font-size:1rem;line-height:1.5;color:var(--ink);background:var(--surface-sunken)}main{max-width:480px;margin:0 auto;padding-block:16px 48px;padding-inline:16px;background:var(--surface);min-height:100vh}h1{font-size:1.375rem;line-height:1.25;margin-block:0 8px}h2{font-size:1.125rem;line-height:1.3;margin-block:24px 8px}h3{font-size:1rem;margin-block:16px 4px}p{margin-block:0 12px}a{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button,input,select{font:inherit;color:inherit}.site-header{max-width:480px;margin:0 auto;padding:12px 16px;background:var(--accent);color:var(--accent-ink)}.site-header p{margin:0;font-size:.875rem}.site-header a{color:var(--accent-ink)}.owner-nav{align-items:center;margin-top:8px}.owner-nav,.owner-nav ul{display:flex;flex-wrap:wrap;gap:8px 16px}.owner-nav ul{margin:0;padding:0;list-style:none}.owner-nav a{display:inline-block;min-height:44px;padding-block:10px}.owner-nav a[aria-current=page]{font-weight:700;text-decoration-thickness:3px}.owner-nav-signout{min-height:44px;padding:0;border:0;background:none;color:var(--accent-ink);text-decoration:underline;cursor:pointer}.h1-sub{display:block;font-size:1rem;font-weight:400}.timeline{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.timeline-time{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timeline-free,.timeline-unavailable{padding:8px 12px;border:1px dashed var(--line);border-radius:8px}.timeline-unavailable{border-style:solid;background:var(--surface-sunken)}.timeline-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none}.conflict-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100% - 32px);overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:var(--surface);color:var(--ink)}.conflict-dialog::-webkit-backdrop{background:rgb(0 0 0/.5)}.conflict-dialog::backdrop{background:rgb(0 0 0/.5)}.conflict-dialog fieldset{border:1px solid var(--line);border-radius:var(--radius);margin:0 0 12px;padding:8px 12px}.conflict-list{margin:0;padding:0;list-style:none}.choice{display:flex;align-items:center;gap:8px;min-height:var(--tap)}.timeline-tags{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0 0 8px;padding:0;list-style:none}.timeline-customer{margin-bottom:8px}.agenda-steps{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 12px;padding:0;list-style:none}.agenda-steps a{display:inline-block;min-height:44px;padding-block:10px}.booking-list{display:grid;grid-gap:12px;gap:12px;margin:0 0 12px;padding:0;list-style:none}.touch-link{display:inline-block;min-height:44px;padding-block:10px}.agenda-steps a[aria-current=date]{font-weight:700}.wide-only{display:none}@media (min-width:640px){.site-header,main{max-width:720px}}@media (min-width:1024px){.site-header--split,main.page--split{max-width:1120px}main.page--split{display:grid;grid-template-columns:minmax(0,26rem) minmax(0,1fr);grid-column-gap:2rem;column-gap:2rem;align-items:start;align-content:start}main.page--split>:not(.col-main):not(.col-side){grid-column:1/-1}.col-main p,.col-side p{max-width:70ch}.wide-only{display:revert}}.button,.button-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);min-width:var(--tap);padding:10px 18px;border-radius:var(--radius);border:2px solid transparent;font-weight:600;text-decoration:none;cursor:pointer}.button{background:var(--accent);color:var(--accent-ink)}.button-secondary{background:var(--surface);color:var(--accent);border-color:var(--accent)}.button-secondary[aria-disabled=true],.button-secondary[disabled],.button[aria-disabled=true],.button[disabled]{opacity:1;background:var(--closed-soft);color:var(--closed-ink);border-color:var(--line);cursor:not-allowed}.card{border:1px solid var(--line);padding:16px;background:var(--surface)}.card,.notice,.notice-error,.notice-warning{border-radius:var(--radius);margin-block:0 16px}.notice,.notice-error,.notice-warning{padding:12px 14px;border:1px solid var(--line);background:var(--surface-sunken)}.notice-warning{background:var(--full-soft);border-color:var(--full)}.notice-error{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.notice p:last-child,.notice-error p:last-child,.notice-warning p:last-child{margin-bottom:0}.muted{color:var(--ink-muted);font-size:.875rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.summary{display:grid;grid-template-columns:minmax(7rem,auto) 1fr;grid-gap:4px var(--gap);gap:4px var(--gap);margin:0}.summary dt{color:var(--ink-muted)}.summary dd{margin:0;font-weight:600}.summary-services{margin:0;padding:0;list-style:none}.service-list{display:grid;grid-gap:8px;gap:8px}.service-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:var(--tap);padding:12px 14px;border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;cursor:pointer}.service-option.is-selected{border-color:var(--accent);background:var(--surface-sunken)}.service-badge{font-size:.8125rem;font-weight:600;color:var(--accent)}.selection-summary{margin-top:12px}.selection-summary p{margin:0}.service-name{font-weight:600}.service-meta{color:var(--ink-muted);font-size:.875rem}.day-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;list-style:none;margin:0;padding:0}.day-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:var(--tap);padding:4px 0;border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);line-height:1.1;cursor:pointer}.day-weekday{font-size:.6875rem;color:var(--ink-muted)}.day-number{font-size:1rem;font-weight:600}.day-icon{font-size:.75rem}.day-cell.is-available{border-color:var(--available);background:var(--available-soft);color:var(--available)}.day-cell.is-full{border-color:var(--full);background:var(--full-soft);color:var(--full);cursor:not-allowed}.day-cell.is-closed{border-color:var(--line);background:var(--closed-soft);color:var(--closed-ink);cursor:not-allowed}.day-cell.is-selected{outline:3px solid var(--accent);outline-offset:1px}.range-nav{display:flex;gap:8px;margin-top:12px}.range-nav button{flex:1 1;font-size:.8125rem;padding:10px 6px}.slot-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));grid-gap:8px;gap:8px;list-style:none;margin:0 0 16px;padding:0}.slot{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:var(--tap);border:2px solid var(--accent);border-radius:var(--radius);background:var(--surface);color:var(--accent);font-weight:600;cursor:pointer}.slot.is-current-appointment{background:var(--surface-sunken)}html[data-navigating] .day-grid,html[data-navigating] .service-list,html[data-navigating] .slot-list{cursor:progress}.slot.is-selected{border-width:3px;background:var(--surface-sunken)}.slot-badge{font-size:.6875rem;font-weight:400;color:var(--ink-muted)}.field{margin-bottom:20px}.field label{display:block;font-weight:600}.field .muted{margin:2px 0 6px}.input{width:100%;min-height:var(--tap);padding:10px 12px;border:2px solid var(--line);border-radius:var(--radius);background:var(--surface)}.input.is-invalid{border-color:var(--danger)}.field-check{display:grid;grid-template-columns:auto 1fr;grid-column-gap:10px;column-gap:10px;align-items:center}.field-check input{width:24px;height:24px;margin:0}.field-check .muted{grid-column:2}.confirmation-failed{padding:8px 10px;border-left:4px solid var(--full);background:var(--full-soft)}.field-error{margin:6px 0 0;color:var(--danger);font-weight:600}.status{font-weight:700}.status-confirmed{color:var(--available)}.status-cancelled{color:var(--danger)}.status-completed{color:var(--ink-muted)}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.actions>*{flex:1 1 140px}.management-link{word-break:break-all}.confirm-panel h2,.confirm-panel h3{margin-top:0}.confirm-panel .actions{margin-bottom:0}@media (min-width:640px){.day-grid{gap:6px}.day-cell{min-height:56px}.slot-list{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}}