.management-layout{display:grid;grid-template-columns:minmax(300px,340px) 1fr;gap:1.5rem;align-items:start}.management-list{display:grid;align-content:start;background:#fff;border:1px solid #ded8cf}.management-list>a{display:grid;padding:1rem;border-bottom:1px solid #ded8cf}.management-list>a:last-child{border-bottom:0}.management-list>a small{color:#706a77}.management-list-heading{display:flex;align-items:center;justify-content:space-between;padding:1.15rem 1.25rem;border-bottom:1px solid #ded8cf}.management-list-heading h2{margin:0;font:600 1rem var(--sans)}.management-list-heading>span{display:grid;place-items:center;min-width:1.75rem;height:1.75rem;padding:0 .4rem;border-radius:1rem;background:#f5f1e9;color:#5f4783;font-size:.75rem;font-weight:700}.management-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #eee9e2;transition:.18s}.management-item:last-child{border-bottom:0}.management-item:hover{background:#faf8f4}.management-item.is-active{background:#f5f1e9;box-shadow:inset 3px 0 #5f4783}.management-item-info{min-width:0}.management-item strong{display:block;line-height:1.3;margin-bottom:.45rem}.management-meta{display:flex;align-items:center;gap:.55rem;color:#706a77;font-size:.72rem}.service-status{display:inline-flex;align-items:center;gap:.3rem}.service-status:before{content:'';width:.42rem;height:.42rem;border-radius:50%;background:#a8a2aa}.service-status.published:before{background:#1d9b59}.service-status.draft:before{background:#c58a22}.management-action{display:flex;align-items:center;gap:.4rem;color:#5f4783;font-size:.78rem;font-weight:700;padding:.5rem .65rem;border:1px solid #cfc4dc}.management-action:hover,.management-item.is-active .management-action{background:#31204f;border-color:#31204f;color:#fff}.management-action span{font-size:1rem}.management-empty{padding:1.25rem;margin:0;color:#706a77}.inline-form{display:flex;gap:.5rem;align-items:end;margin:1rem 0}.rule-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-top:1px solid #ddd;padding:.8rem 0}.rule-row button,.inline-form button{background:#31204f;color:#fff;border:0;padding:.75rem}@media(max-width:750px){.management-layout{grid-template-columns:1fr}.management-list{max-height:430px;overflow:auto}.management-item{padding:.9rem 1rem}.inline-form{display:grid;grid-template-columns:1fr 1fr}.inline-form button{grid-column:1/-1}}
.service-images-panel{grid-column:1/-1;margin:2.5rem 0;padding:1.5rem;background:#f8f5ef;border:1px solid #ded8cf}.section-heading-compact{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:1.2rem}.section-heading-compact h2{margin:0 0 .35rem;font-size:1.7rem}.section-heading-compact p{margin:0;color:#706a77;font-size:.86rem}.section-heading-compact>span{white-space:nowrap;border-radius:2rem;background:#fff;padding:.35rem .7rem;font-size:.72rem}.service-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem}.service-image-card{position:relative;aspect-ratio:4/3;overflow:hidden;background:#211a2e}.service-image-card>img{width:100%;height:100%;object-fit:cover;transition:.2s}.service-image-card.is-hidden>img{opacity:.38;filter:grayscale(1)}.image-badges{position:absolute;left:.6rem;top:.6rem;display:flex;gap:.35rem}.image-badges span{background:#211a2ed9;color:#fff;padding:.25rem .5rem;font-size:.65rem}.image-badges .primary-badge{background:#c7a467;color:#211a2e;font-weight:700}.image-actions{position:absolute;inset:auto 0 0;display:flex;justify-content:center;gap:.4rem;padding:.75rem .45rem;background:linear-gradient(transparent,#211a2eee);transform:translateY(100%);transition:.2s}.service-image-card:hover .image-actions,.service-image-card:focus-within .image-actions{transform:none}.image-actions form{display:block}.image-actions button{border:1px solid #ffffff80;background:#fff;color:#31204f;padding:.45rem .55rem;cursor:pointer;font-size:.72rem}.image-actions button.danger{background:#8a1c1c;color:#fff}.image-upload-form{display:grid;grid-template-columns:1fr auto;align-items:stretch;margin-top:1rem}.image-picker{position:relative;display:flex;flex-direction:column;justify-content:center;padding:1rem 1.2rem;border:1px dashed #8d819c;background:#fff;cursor:pointer}.image-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}.image-picker span{color:#706a77;font-size:.72rem}.image-empty{padding:1.5rem;border:1px dashed #cec7c0;text-align:center;color:#706a77;background:#fff}@media(max-width:750px){.image-actions{transform:none}.image-actions button span{display:none}.image-upload-form{grid-template-columns:1fr}}
.admin-main-nav{display:flex;gap:.4rem;margin-bottom:1.5rem}.admin-main-nav a{padding:.6rem 1.1rem;font-weight:700;font-size:.85rem;color:#5f4783;border:1px solid #cfc4dc}.admin-main-nav a.is-active{background:#31204f;border-color:#31204f;color:#fff}
.agenda-header{flex-wrap:wrap}.agenda-header-actions{display:flex;flex-wrap:wrap;gap:.6rem}.agenda-header-actions .button{background:#fff;border:1px solid #cfc4dc;color:#31204f;min-height:auto;padding:.65rem 1rem}
.admin-tabs a[aria-current],.admin-tabs-small a[aria-current]{background:#211a2e}.admin-tabs-small a{background:#fff;color:#31204f;border:1px solid #cfc4dc;padding:.55rem .9rem}.admin-tabs-small a[aria-current]{background:#31204f;color:#fff}
.today-strip{background:#fff;border-left:4px solid #c7a467;padding:1.2rem 1.4rem;margin-bottom:1.5rem}.today-strip h2{margin:0 0 .6rem;font-size:1.1rem;font-family:var(--sans, 'DM Sans',sans-serif)}.today-strip ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;font-size:.88rem}.today-strip li{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.35rem .5rem}.today-strip li b{color:#5f4783}.today-strip-empty{color:#706a77;margin-bottom:1.5rem}
.agent-tag{display:inline-flex;align-items:center;background:#ece4f7;color:#5f4783;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem}.agent-tag-sm{padding:.05rem .35rem;font-size:.6rem;margin-left:.3rem}.agent-tag-warning{background:#fbe4d5;color:#9a4b1a;margin-left:.3rem;cursor:help}
.filters-note{color:#706a77;font-size:.78rem;margin:0 0 .6rem}
.agenda-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;font-weight:700}.agenda-nav a{border:1px solid #cfc4dc;padding:.5rem .9rem}
details.filters{background:#fff;border:1px solid #eee9e2;margin-bottom:1rem}details.filters summary{list-style:none;cursor:pointer;padding:.85rem 1.1rem;font-weight:700;color:#5f4783;font-size:.85rem}details.filters summary::-webkit-details-marker{display:none}.filters-form{padding:0 1.1rem 1.1rem;display:flex;flex-wrap:wrap;gap:1.2rem;align-items:start}.filters-form fieldset{border:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem .9rem;margin:0}.filters-form legend{font-size:.78rem;font-weight:600;color:#706a77;padding:0 0 .3rem}.filters-actions{display:flex;align-items:center;gap:1rem;align-self:end}.filters-actions a{font-size:.78rem;color:#5f4783;font-weight:600}
.agenda-slot{display:block;background:#fff;border:1px solid #eee9e2;border-top:none;border-left:3px solid #ded8cf;padding:0}.agenda-slot:first-of-type{border-top:1px solid #eee9e2}.agenda-slot summary{list-style:none;cursor:pointer;display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;padding:.85rem 1rem;outline:none}.agenda-slot summary::-webkit-details-marker{display:none}.agenda-slot summary:after{content:'+';margin-left:auto;color:#a39cae;font-size:1.1rem;transition:transform .15s}.agenda-slot[open] summary:after{transform:rotate(45deg)}.agenda-slot summary:focus-visible{outline:2px solid #5f4783;outline-offset:-2px}.agenda-slot .slot-time{font-weight:700;min-width:3.2rem;color:#31204f}.agenda-slot .slot-state{color:#706a77;font-size:.86rem;overflow-wrap:anywhere}.agenda-slot.is-available{border-left-color:#c7a467}.agenda-slot.is-busy{border-left-color:#5f4783}.agenda-slot.is-busy .slot-state{color:#211a2e;font-weight:600}.agenda-slot.is-blocked{border-left-color:#8a1c1c}.agenda-slot.is-blocked .slot-state{color:#8a1c1c}.agenda-slot[open]{box-shadow:0 6px 20px #211a2e14}.agenda-slot[open] summary{background:#f8f5ef;border-bottom:1px solid #eee9e2}.agenda-slot.is-filtered-out{opacity:.45}.agenda-slot-body{padding:1rem;display:grid;gap:.8rem;background:#fffdfa}.agenda-slot-body p{margin:0}.agenda-slot-body>form:not(.quick-block-form){display:grid;gap:.6rem}.quick-block-form{display:flex;flex-wrap:wrap;gap:.5rem}.quick-block-form input{flex:1;min-width:140px}
.agenda-slot.is-continued{display:flex;align-items:center;gap:.8rem;padding:.5rem 1rem 0.5rem 1rem;border:1px solid #eee9e2;border-top:none;border-left:3px solid #ded8cf;background:#faf8f4;color:#a39cae;font-size:.82rem}.agenda-slot.is-continued.is-filtered-out{opacity:.45}
.button-outline{background:#fff;border:1px solid #5f4783;color:#5f4783}.button-outline:hover{background:#f5f1ea}.button-outline-ghost{background:#fff;border:1px dashed #cfc4dc;color:#706a77}.button-outline-ghost:hover{border-color:#5f4783;color:#5f4783}.button-danger{background:#fff;border:1px solid #b42318;color:#b42318}.button-danger:hover{background:#fdecec}
.agenda-add-link{display:inline-flex;align-items:center;gap:.3rem;background:none;border:0;color:#5f4783;font-weight:700;font-size:.82rem;cursor:pointer;padding:.3rem 0;justify-self:start}.agenda-add-link:hover{text-decoration:underline}
.color-swatches{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}.color-swatch{cursor:pointer}.color-swatch input{position:absolute;opacity:0;width:1px;height:1px}.color-swatch-dot{display:block;width:1.9rem;height:1.9rem;border:2px solid #fff;box-shadow:0 0 0 1px #ded8cf}.color-swatch input:checked+.color-swatch-dot{box-shadow:0 0 0 2px #31204f}.color-swatch-none{background:repeating-linear-gradient(45deg,#fff,#fff 4px,#e7e1d8 4px,#e7e1d8 8px)}
.week-grid{display:grid;gap:.7rem}.week-day{display:grid;gap:.3rem;background:#fff;border:1px solid #eee9e2;padding:1rem;position:relative}.week-day.is-today{border-color:#c7a467}.week-day-date{font-weight:700;color:#31204f}.week-day-count{font-size:.78rem;color:#706a77}.week-day-appt{display:flex;align-items:center;flex-wrap:wrap;color:#31204f;padding:.2rem .4rem;overflow-wrap:anywhere}.week-day-appt.is-filtered-out{opacity:.45}.day-blocked-badge{position:absolute;right:.8rem;top:.8rem;font-size:.65rem;text-transform:uppercase;color:#8a1c1c}
.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;margin-bottom:.3rem}.month-grid-heading span{text-align:center;font-size:.7rem;color:#706a77;text-transform:uppercase}.month-day{position:relative;aspect-ratio:1;display:grid;place-items:center;background:#fff;border:1px solid #eee9e2;font-size:.82rem}.month-day.is-outside{color:#c7c2c9;background:#faf8f4}.month-day.is-today{border-color:#c7a467;font-weight:700}.month-day-badge{position:absolute;bottom:.25rem;background:#5f4783;color:#fff;border-radius:1rem;font-size:.6rem;padding:.05rem .4rem}.month-day-blocked{position:absolute;top:.25rem;right:.25rem;width:.4rem;height:.4rem;border-radius:50%;background:#8a1c1c}
.fab-add{position:fixed;right:16px;bottom:16px;z-index:40;width:56px;height:56px;border-radius:50%;border:0;background:#31204f;color:#fff;font-size:1.8rem;line-height:1;box-shadow:0 10px 28px #0004;cursor:pointer}
.manual-dialog{border:0;padding:0;width:min(560px,92vw);box-shadow:0 20px 50px #211a2e30}.manual-dialog::backdrop{background:#211a2ea6}.manual-dialog form{padding:clamp(1.3rem,4vw,2rem)}.manual-dialog-actions{display:flex;gap:.7rem;justify-content:flex-end}
.slug-field{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:-.3rem;font-size:.82rem;color:#706a77}.slug-field code{background:#f5f1e9;padding:.15rem .5rem}.slug-field button{background:none;border:0;color:#5f4783;font-weight:700;cursor:pointer;padding:0}.slug-field small{width:100%}
details.advanced-fields{border:1px solid #ded8cf;padding:0}details.advanced-fields summary{list-style:none;cursor:pointer;padding:1rem 1.2rem;font-weight:700;color:#5f4783}details.advanced-fields summary::-webkit-details-marker{display:none}details.advanced-fields .form-grid{padding:0 1.2rem 1.2rem}
.status-actions{display:flex;flex-wrap:wrap;gap:.7rem}
.agenda-appointment{background:#fff;border:1px solid #eee9e2;border-left:3px solid #5f4783}.agenda-appointment>.agenda-slot{border:0;background:transparent}.agenda-appointment.is-filtered-out{opacity:.45}.appointment-status{font-size:.72rem;padding:.2rem .5rem;border-radius:3px;background:#eee7f6;color:#513a70}.appointment-status.status-completed{background:#e2f1e6;color:#245c35}.appointment-status.status-no_show{background:#fff0d9;color:#785019}.appointment-quick-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1rem .8rem}.quick-status{font:inherit;font-size:.78rem;cursor:pointer;min-height:36px;padding:.4rem .75rem;background:#fff;border:1px solid #cfc4dc;color:#31204f;border-radius:3px}.quick-status:hover{background:#f5f1e9}.quick-status:focus-visible{outline:2px solid #5f4783;outline-offset:2px}.quick-status-completed{color:#245c35;border-color:#a8cbb0}.quick-status-cancelled{color:#8a1c1c;border-color:#d9baba}
.service-mini-list{display:grid;gap:.7rem}.service-mini-row{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;padding:.9rem 1rem;border:1px solid #eee9e2}.service-mini-info{flex:1;min-width:180px}.switch{display:flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:600;color:#31204f}.switch.is-locked{color:#a39cae}
.avatar-mini{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#31204f}.profile-avatar{text-align:center;margin-bottom:1rem}.profile-avatar img{width:88px;height:88px;border-radius:50%;object-fit:cover;margin:0 auto;background:#31204f}
@media(max-width:700px){.admin-main-nav{overflow-x:auto}.week-grid{grid-template-columns:1fr}.agenda-header{align-items:flex-start}}
@media(min-width:701px){.week-grid{grid-template-columns:repeat(7,1fr)}}
.service-delete-form{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #ded8cf}.service-delete-form .danger{color:#8a1c1c;border-color:#8a1c1c}.service-delete-form p{font-size:.85rem;color:#706a77}

/* Service options: aligned controls, accessible color choices and contextual help. */
details.advanced-fields>.form-grid{gap:1.4rem 1.5rem;align-items:start;padding:.35rem 1.2rem 1.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.advanced-fields .form-grid>label,.advanced-fields .service-field{min-width:0;display:grid;align-content:start;gap:.65rem}
.advanced-fields .service-field-heading{display:flex;align-items:center;gap:.5rem;min-height:1.25rem}
.advanced-fields .service-field{position:relative}
.advanced-fields .service-color-field{min-width:0;border:0;padding:0;margin:0}
.advanced-fields .service-color-field legend{padding:0;margin-bottom:.75rem;font-size:.82rem;font-weight:600}
.advanced-fields .color-swatches{gap:.5rem;margin:0}
.advanced-fields .color-swatch{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:4px;margin:0}
.advanced-fields .color-swatch-dot{display:grid;place-items:center;width:32px;height:32px;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #d4cddc;color:#31204f}
.advanced-fields .color-swatch-none{background:linear-gradient(135deg,#fff 46%,#b9b0c2 47%,#b9b0c2 53%,#fff 54%)}
.advanced-fields .color-swatch input:checked+.color-swatch-dot{box-shadow:0 0 0 2px #5f4783}
.advanced-fields .color-swatch input:checked+.color-swatch-dot:not(.color-swatch-none)::after{content:'✓';font-size:1rem;font-weight:700;line-height:1}
.advanced-fields .color-swatch:hover .color-swatch-dot{box-shadow:0 0 0 2px #8d819c}
.advanced-fields .color-swatch input:focus-visible+.color-swatch-dot{outline:2px solid #31204f;outline-offset:5px}
.field-help{display:inline-flex}
.field-help-trigger{display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid #cfc4dc;border-radius:50%;background:#f8f5fb;color:#5f4783;font:700 .78rem var(--sans,sans-serif);cursor:pointer}
.field-help-trigger:hover,.field-help-trigger[aria-expanded="true"]{background:#ece4f7;border-color:#5f4783}
.field-help-trigger:focus-visible{outline:2px solid #5f4783;outline-offset:3px}
.field-help-text{position:absolute;z-index:10;top:1.8rem;right:0;width:min(20rem,75vw);padding:.85rem 1rem;border:1px solid #ded8e7;border-radius:.5rem;background:#fff;color:#51475f;box-shadow:0 8px 24px #211a2e20;font-size:.8rem;font-weight:400;line-height:1.6}
.field-help-text[hidden]{display:none}
@media(max-width:750px){details.advanced-fields>.form-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem;padding:.25rem 1rem 1.25rem}.advanced-fields .wide{grid-column:1/-1}}
.advanced-fields .form-grid>label{grid-template-rows:24px auto}.advanced-fields .service-field-heading{height:24px}.advanced-fields .form-grid>label>input,.advanced-fields .form-grid>label>select,.advanced-fields .service-field>input{line-height:1.5}
.advanced-fields .service-field>input{font-size:.82rem;font-weight:600}
.google-sync-errors{border:1px solid #b56b23;border-left:4px solid #b56b23}
.google-sync-error+.google-sync-error{border-top:1px solid #ddd;padding-top:.75rem;margin-top:.75rem}
.google-sync-error-message{white-space:pre-wrap;overflow-wrap:anywhere;font-family:monospace;font-size:.85rem}
