.bookings-page,.booking-public-page{--booking-ink:#17202b;--booking-muted:#687383;--booking-line:#dfe5ec;--booking-accent:#6559d9}
.bookings-page{display:grid;gap:1rem}.booking-settings-card,.booking-staff-card,.booking-requests-card{padding:clamp(1rem,2vw,1.5rem)}.booking-settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.booking-settings-form label,.booking-contact-grid label,.booking-seo-grid label{display:grid;gap:.4rem;font-weight:700;color:var(--booking-ink)}.booking-settings-form input,.booking-settings-form select,.booking-settings-form textarea,.booking-contact-grid input,.booking-contact-grid textarea,.booking-staff-editor input{width:100%;border:1px solid var(--booking-line);border-radius:.65rem;padding:.7rem .75rem;background:#fff;color:var(--booking-ink);font:inherit}.booking-settings-form small,.booking-staff-editor small,.booking-public-link{color:var(--booking-muted);font-weight:500}.booking-field-wide,.booking-seo-grid{grid-column:1/-1}.booking-setting-grid,.booking-seo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;grid-column:1/-1}.booking-seo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-public-link{margin:.9rem 0 0;padding-top:.9rem;border-top:1px solid var(--booking-line)}.booking-public-link a{color:var(--booking-accent);font-weight:700}.booking-staff-list,.booking-request-list{display:grid;gap:.8rem}.booking-staff-editor{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:1rem;border:1px solid var(--booking-line);border-radius:.9rem;padding:1rem}.booking-staff-identity{display:grid;align-content:start;gap:.55rem}.booking-staff-identity>strong{font-size:1.05rem}.staff-toggle{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:.45rem;font-size:.85rem}.staff-toggle input{width:auto!important}.booking-week-grid{display:grid;gap:.35rem}.booking-week-head,.booking-week-row{display:grid;grid-template-columns:5.5rem 2rem 7rem 7rem minmax(8rem,1fr);align-items:center;gap:.45rem}.booking-week-head{padding:0 .45rem;color:var(--booking-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.booking-week-row{padding:.25rem .45rem;border-radius:.45rem}.booking-week-row:nth-child(even){background:#f7f8fb}.booking-staff-actions{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.5rem}.booking-request-row{display:flex;justify-content:space-between;gap:1rem;border:1px solid var(--booking-line);border-radius:.8rem;padding:1rem}.booking-request-row>div:first-child{display:grid;gap:.2rem}.booking-request-row small,.booking-request-row span{color:var(--booking-muted)}.booking-request-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.booking-request-actions form{display:flex;gap:.4rem}.booking-request-actions button{border:1px solid var(--booking-line);border-radius:.5rem;background:#fff;padding:.45rem .65rem;cursor:pointer}.booking-request-actions .button-link-danger{color:#b23b4b}.booking-status{border-radius:999px;padding:.3rem .55rem;font-size:.75rem;font-weight:800}.booking-status-pending{background:#fff2ce;color:#8a5e00}.booking-status-confirmed{background:#dcf7e9;color:#116641}.booking-status-cancelled{background:#f5e5e8;color:#9d3648}.booking-public-page{margin:0;background:#f6f7fb;color:var(--booking-ink);min-height:100vh}.booking-wrap{width:min(1080px,calc(100% - 2rem));margin:auto}.booking-public-nav{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 0}.booking-brand{display:flex;align-items:center;gap:.65rem;color:inherit;text-decoration:none;font-weight:800}.booking-brand img{width:2.2rem;height:2.2rem;border-radius:.7rem}.booking-brand span{display:grid}.booking-brand small{font-size:.7rem;color:var(--booking-muted);font-weight:600}.booking-nav-link{color:var(--booking-accent);font-weight:700}.booking-hero{padding:clamp(3rem,9vw,7rem) 0 2.5rem;max-width:720px}.booking-kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;color:var(--booking-accent);font-weight:800}.booking-kicker span{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:#f19b68}.booking-hero h1{font-size:clamp(2.5rem,7vw,5.3rem);line-height:.98;letter-spacing:-.06em;margin:.7rem 0 1rem}.booking-hero>p:last-of-type{font-size:1.12rem;color:var(--booking-muted);max-width:55ch}.booking-hero-facts{display:flex;gap:2rem;margin-top:2rem}.booking-hero-facts span{display:grid;gap:.2rem}.booking-hero-facts strong{font-size:1.2rem}.booking-hero-facts small{color:var(--booking-muted)}.booking-card{background:#fff;border:1px solid var(--booking-line);border-radius:1rem;padding:clamp(1rem,3vw,2rem);box-shadow:0 1rem 3rem #25324b0d}.booking-card-heading{display:flex;justify-content:space-between;gap:1rem}.booking-card-heading h2{margin:.35rem 0}.booking-card-heading p:last-child{color:var(--booking-muted)}.booking-date-list{display:flex;gap:.5rem;overflow:auto;padding:.5rem 0 1rem}.booking-date{min-width:6.6rem;padding:.7rem;border:1px solid var(--booking-line);border-radius:.65rem;color:inherit;text-decoration:none;display:grid;gap:.2rem}.booking-date small{color:var(--booking-muted)}.booking-date.is-selected{border-color:var(--booking-accent);box-shadow:0 0 0 2px #6559d91a}.booking-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.65rem;margin:1rem 0}.booking-slot{display:flex;gap:.65rem;align-items:flex-start;border:1px solid var(--booking-line);border-radius:.65rem;padding:.8rem;cursor:pointer}.booking-slot:has(input:checked){border-color:var(--booking-accent);background:#f4f2ff}.booking-slot span{display:grid;gap:.2rem}.booking-slot small{color:var(--booking-muted)}.booking-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.booking-form>label{display:grid;gap:.4rem;margin:1rem 0;font-weight:700}.booking-form textarea{width:100%;border:1px solid var(--booking-line);border-radius:.65rem;padding:.7rem;font:inherit}.booking-form label span{font-weight:500;color:var(--booking-muted)}.booking-primary{border:0;border-radius:.65rem;background:var(--booking-accent);color:#fff;padding:.85rem 1rem;font:inherit;font-weight:800;cursor:pointer}.booking-empty,.booking-success{display:grid;gap:.35rem;padding:1.2rem;border-radius:.7rem;background:#f7f8fb}.booking-success{margin-bottom:1rem;background:#e4f8ee;color:#116641}.booking-footer{display:flex;justify-content:space-between;padding:2rem 0;color:var(--booking-muted);font-size:.85rem}.notification-badge{display:inline-flex;min-width:1.25rem;height:1.25rem;align-items:center;justify-content:center;border-radius:999px;background:#e65f70;color:#fff;font-size:.7rem;font-weight:800;margin-left:auto}.notifications-page{display:grid;gap:1rem}.notifications-header{align-items:center}.notification-page-count{color:var(--booking-muted)}.notification-list{display:grid;gap:.7rem}.notification-row{display:flex;gap:1rem;align-items:flex-start;padding:1rem;border:1px solid var(--booking-line);border-radius:.8rem;background:#fff}.notification-row.is-unread{border-color:#b7b0f0;background:#faf9ff}.notification-row-icon{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;background:#eeeafe;color:var(--booking-accent)}.notification-row-copy{display:grid;gap:.25rem;flex:1}.notification-row-copy small,.notification-row-copy time{color:var(--booking-muted)}.notification-row-action{color:var(--booking-accent);font-weight:700}.notification-permission-note{color:var(--booking-muted)}.site-notification-toasts{position:fixed;right:1rem;bottom:1rem;z-index:1000;display:grid;gap:.65rem;width:min(24rem,calc(100vw - 2rem));pointer-events:none}.site-notification-toast{pointer-events:auto;background:#192334;color:#fff;border:1px solid #ffffff22;border-radius:.8rem;padding:.85rem 1rem;box-shadow:0 1rem 2rem #10203833;animation:notification-toast-in .2s ease-out}.site-notification-toast a{display:block;color:#fff;text-decoration:none}.site-notification-toast strong,.site-notification-toast span{display:block}.site-notification-toast span{margin-top:.25rem;color:#d7dfed;font-size:.9rem}.site-notification-toast.is-leaving{opacity:0;transform:translateY(.5rem);transition:.25s ease}@keyframes notification-toast-in{from{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:none}}@media(max-width:760px){.booking-settings-form,.booking-setting-grid,.booking-seo-grid,.booking-contact-grid{grid-template-columns:1fr}.booking-staff-editor{grid-template-columns:1fr}.booking-week-head{display:none}.booking-week-row{grid-template-columns:4.5rem 2rem 1fr 1fr}.booking-week-row input:last-child{grid-column:3/-1}.booking-request-row{display:grid}.booking-request-actions{justify-content:flex-start}.booking-hero-facts{gap:1rem;flex-wrap:wrap}}
.phone-booking-mini{margin:1rem 0;padding:1rem;border:1px solid var(--booking-line);border-radius:.8rem;background:#faf9ff}.phone-booking-mini-list{display:grid;gap:.5rem}.phone-booking-mini-list article{display:grid;gap:.15rem;padding:.55rem .7rem;border-radius:.5rem;background:#fff}.phone-booking-mini-list small{color:var(--booking-muted)}
.booking-staff-editor select{width:100%;border:1px solid var(--booking-line);border-radius:.65rem;padding:.7rem .75rem;background:#fff;color:var(--booking-ink);font:inherit}
.booking-enable-panel{display:grid;gap:.35rem;align-content:start;padding:.85rem 1rem;border:1px solid var(--booking-line);border-radius:.8rem;background:#faf9ff}
.booking-public-url-panel,.booking-enable-panel{grid-column:1/-1}
.booking-public-url-panel{display:grid;gap:.3rem;align-content:start;padding:.85rem 1rem;border:1px solid var(--booking-line);border-radius:.8rem;background:#f7f8fb}
.booking-public-url-panel strong{color:var(--booking-ink)}
.booking-public-url-panel a{color:var(--booking-accent);font-weight:800;overflow-wrap:anywhere}
.booking-public-url-panel span,.booking-public-url-panel small{color:var(--booking-muted);font-weight:500}
.booking-enable-toggle{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center;gap:.75rem!important;cursor:pointer}
.booking-enable-toggle input{position:absolute;width:1px!important;height:1px!important;padding:0!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.booking-enable-copy{display:grid;gap:.2rem}
.booking-enable-copy strong{color:var(--booking-ink)}
.booking-enable-copy small,.booking-enable-state{color:var(--booking-muted);font-weight:500}
.booking-toggle-track{display:block;width:3rem;height:1.7rem;padding:.2rem;border-radius:999px;background:#c7ced8;transition:background .18s ease}
.booking-toggle-track span{display:block;width:1.3rem;height:1.3rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px #17202b33;transition:transform .18s ease}
.booking-enable-toggle input:checked + .booking-enable-copy + .booking-toggle-track{background:var(--booking-accent)}
.booking-enable-toggle input:checked + .booking-enable-copy + .booking-toggle-track span{transform:translateX(1.3rem)}
.booking-enable-toggle input:focus-visible + .booking-enable-copy + .booking-toggle-track{outline:3px solid #6559d955;outline-offset:2px}
.booking-request-title{display:block;color:var(--booking-ink);font-weight:800;text-decoration:none}.booking-request-title:hover,.booking-request-title:focus-visible{color:var(--booking-accent);text-decoration:underline}.booking-manage-button{border:1px solid #6559d9!important;border-radius:.5rem!important;background:#6559d9!important;color:#fff!important;padding:.45rem .65rem!important;font:inherit;font-size:.78rem!important;font-weight:800;cursor:pointer}.booking-manage-button:hover,.booking-manage-button:focus-visible{border-color:#5146c5!important;background:#5146c5!important;outline:0}.booking-appointment-dialog{width:min(94vw,720px);max-height:90vh;overflow:auto;padding:0;border:1px solid #d8d0f4;border-radius:1rem;background:#fff;color:var(--booking-ink);box-shadow:0 24px 80px rgba(23,32,43,.25)}.booking-appointment-dialog::backdrop{background:rgba(23,32,43,.48);backdrop-filter:blur(2px)}.booking-appointment-dialog form{display:grid;gap:1rem;padding:1.35rem}.booking-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.2rem}.booking-dialog-heading h2{margin:.25rem 0 .35rem;color:var(--booking-ink)}.booking-dialog-heading p{margin:0;color:var(--booking-muted);font-size:.82rem;line-height:1.4}.booking-dialog-close{display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:1px solid var(--booking-line)!important;border-radius:.55rem!important;background:#fff!important;color:var(--booking-muted)!important;font-size:1.1rem;cursor:pointer}.booking-dialog-close:hover,.booking-dialog-close:focus-visible{border-color:var(--booking-accent)!important;color:var(--booking-accent)!important;outline:0}.booking-dialog-grid,.booking-staff-picker-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.booking-dialog-grid label,.booking-staff-picker-tools label{display:grid;gap:.35rem;color:var(--booking-muted);font-size:.75rem;font-weight:800}.booking-dialog-grid input,.booking-staff-picker-tools input,.booking-staff-picker-tools select{width:100%;min-height:2.5rem;border:1px solid var(--booking-line);border-radius:.6rem;padding:.55rem .65rem;background:#fff;color:var(--booking-ink);font:inherit}.booking-staff-picker{display:grid;gap:.75rem;margin:0;padding:.9rem;border:1px solid var(--booking-line);border-radius:.75rem}.booking-staff-picker legend{padding:0 .35rem;color:var(--booking-ink);font-size:.85rem;font-weight:800}.booking-staff-picker legend span{color:var(--booking-muted);font-size:.7rem;font-weight:500}.booking-staff-picker-tools label:last-child{grid-column:1/-1}.booking-staff-picker-list{display:grid;gap:.45rem;max-height:15rem;overflow:auto;padding:.1rem}.booking-staff-option{display:flex!important;align-items:flex-start;gap:.65rem;margin:0!important;padding:.65rem;border:1px solid var(--booking-line);border-radius:.6rem;background:#fff;cursor:pointer}.booking-staff-option:hover,.booking-staff-option:focus-within{border-color:#b7b0f0;background:#faf9ff}.booking-staff-option:has(input:checked){border-color:#6559d9;background:#f4f2ff;box-shadow:0 0 0 2px #6559d91a}.booking-staff-option input{margin-top:.1rem}.booking-staff-option span{display:grid;gap:.15rem}.booking-staff-option strong{color:var(--booking-ink);font-size:.8rem}.booking-staff-option small{color:var(--booking-muted);font-size:.7rem}.booking-staff-picker-empty{margin:0;padding:.7rem;color:var(--booking-muted);font-size:.75rem}.booking-dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.booking-detail-page{display:grid;gap:1rem}.booking-detail-header{align-items:flex-start}.booking-detail-card{display:grid;gap:1.25rem;padding:clamp(1.2rem,3vw,2rem)}.booking-detail-status-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.booking-detail-project{color:var(--booking-muted);font-size:.8rem;font-weight:700}.booking-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0}.booking-detail-facts>div{display:grid;gap:.3rem;padding:.8rem;border:1px solid var(--booking-line);border-radius:.7rem;background:#faf9ff}.booking-detail-facts dt,.booking-detail-notes>span{color:var(--booking-muted);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.booking-detail-facts dd{margin:0;color:var(--booking-ink);font-size:.9rem;font-weight:700}.booking-detail-notes{display:grid;gap:.45rem}.booking-detail-notes p{margin:0;color:var(--booking-muted);line-height:1.5}.booking-detail-callout{display:grid;gap:.4rem;padding:1rem;border:1px solid #d8d0f4;border-radius:.7rem;background:#faf9ff}.booking-detail-callout strong{color:var(--booking-ink)}.booking-detail-callout span{color:var(--booking-muted);font-size:.8rem}.booking-detail-callout .button-link{justify-self:start;margin-top:.35rem}
@media(max-width:600px){.booking-dialog-grid,.booking-staff-picker-tools,.booking-detail-facts{grid-template-columns:1fr}.booking-staff-picker-tools label:last-child{grid-column:auto}.booking-detail-status-row{align-items:flex-start;flex-direction:column}.booking-dialog-actions{display:grid}.booking-dialog-actions .button-link{width:100%}}
