/* Chloe Wright Hair UX overhaul */
:root { --cwh-card:#fff; --cwh-soft:#f7f3ef; --cwh-line:#e8e0d9; --cwh-ink:#2d2824; --cwh-muted:#7f756d; }
.diary-appt{background:color-mix(in srgb,var(--service-color,var(--stylist-color)) 14%,white)!important;border:1px solid color-mix(in srgb,var(--service-color,var(--stylist-color)) 32%,#ddd)!important;border-left:5px solid var(--service-color,var(--stylist-color))!important;border-radius:10px!important;box-shadow:0 1px 2px rgba(33,26,22,.04);padding:6px 7px!important;}
.diary-appt:hover{box-shadow:0 5px 18px rgba(45,40,36,.12);transform:translateY(-1px)}
.diary-appt-time{font-size:.72rem!important;font-weight:800!important}.diary-appt-client{font-weight:800!important}.diary-appt-service{opacity:.72;font-size:.76rem!important}
.diary-now-line{height:2px!important;background:#cf2446!important;box-shadow:0 0 0 1px rgba(207,36,70,.08)}
.diary-staff-head{position:sticky;top:0;z-index:8;background:#fff}.diary-grid-scroll{border:1px solid var(--cwh-line);border-radius:16px;background:#fff;overflow:auto}
.modal-card.cwh-sheet{max-width:620px!important;border-radius:22px!important;padding:0!important;overflow:hidden;background:#fff!important;box-shadow:0 30px 80px rgba(30,22,18,.22)}
.cwh-sheet-head{padding:22px 24px 12px;border-bottom:1px solid var(--cwh-line)}.cwh-sheet-body{padding:20px 24px 24px;max-height:75vh;overflow:auto}.cwh-sheet h3{margin:3px 0 0;font-size:1.55rem}.cwh-eyebrow{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cwh-muted);font-weight:800}
.cwh-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0 18px}.cwh-step{padding:8px 6px;border-radius:10px;background:var(--cwh-soft);font-size:.72rem;font-weight:800;text-align:center;color:var(--cwh-muted)}.cwh-step.active{background:#2d2824;color:#fff}
.cwh-section{border:1px solid var(--cwh-line);border-radius:16px;padding:16px;margin:12px 0;background:#fff}.cwh-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.cwh-section-title strong{font-size:.95rem}.cwh-hint{font-size:.78rem;color:var(--cwh-muted);line-height:1.4}
.cwh-client-results{position:absolute;left:0;right:0;top:100%;z-index:50;background:#fff;border:1px solid var(--cwh-line);border-radius:12px;margin-top:5px;box-shadow:0 12px 30px rgba(0,0,0,.1);max-height:260px;overflow:auto}.cwh-client-choice{padding:11px 12px;border-bottom:1px solid var(--cwh-line);cursor:pointer}.cwh-client-choice:last-child{border-bottom:0}.cwh-client-choice:hover{background:var(--cwh-soft)}
.slot-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px!important}.slot-btn{min-height:42px!important;border-radius:10px!important}.slot-btn.preferred{outline:2px solid #8b6b4b;outline-offset:1px}
.cwh-manual{border-top:1px dashed var(--cwh-line);margin-top:14px;padding-top:14px}.cwh-manual summary{cursor:pointer;font-weight:800;color:#5d5148}.cwh-conflict{background:#fff5f1;border:1px solid #efc4b6;border-radius:12px;padding:12px;color:#7b3b2b}
/* Staff profile tabs */
.cwh-profile-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px;margin:14px 0 18px;background:var(--cwh-soft);border-radius:14px;scrollbar-width:none}.cwh-profile-tabs::-webkit-scrollbar{display:none}.cwh-profile-tab{white-space:nowrap;border:0;background:transparent;padding:10px 14px;border-radius:10px;font-weight:800;color:var(--cwh-muted);cursor:pointer}.cwh-profile-tab.active{background:#fff;color:var(--cwh-ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}.cwh-tab-panel{display:none}.cwh-tab-panel.active{display:block}
/* Availability rows: never force horizontal scrolling */
.availability-row,.availability-edit-row,.cwh-time-row{display:grid!important;grid-template-columns:minmax(130px,1.2fr) minmax(110px,1fr) minmax(110px,1fr) auto;gap:10px;align-items:end}.availability-row input,.availability-edit-row input,.cwh-time-row input,.availability-row select,.availability-edit-row select{min-width:0!important;width:100%!important}
.service-color-dot{width:12px;height:12px;border-radius:50%;display:inline-block;vertical-align:-1px;margin-right:7px;border:1px solid rgba(0,0,0,.08)}
@media(max-width:700px){.modal-card.cwh-sheet{width:100%!important;max-width:none!important;border-radius:22px 22px 0 0!important;margin-top:auto!important}.cwh-sheet-body{max-height:72vh;padding:16px}.cwh-sheet-head{padding:18px 16px 10px}.cwh-steps{font-size:.65rem}.availability-row,.availability-edit-row,.cwh-time-row{grid-template-columns:1fr 1fr!important}.availability-row>*:first-child,.availability-edit-row>*:first-child,.cwh-time-row>*:first-child{grid-column:1/-1}.availability-row .btn,.availability-edit-row .btn{grid-column:1/-1;width:100%}.cwh-profile-tabs{margin-left:-4px;margin-right:-4px}.slot-grid{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:700px){.entity-card-editing .form-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.entity-card-editing .form-group{min-width:0!important}.entity-card-editing input,.entity-card-editing select,.entity-card-editing textarea{max-width:100%!important;width:100%!important;box-sizing:border-box}.entity-card-editing form[style*="display:flex"]{align-items:stretch!important}.entity-card-editing form[style*="display:flex"]>.form-group{flex:1 1 100%!important}}

/* Polished booking modal */
.cwh-booking-modal{width:min(1120px,calc(100vw - 40px))!important;max-width:1120px!important;padding:0!important;border-radius:24px!important;overflow:hidden;background:#fff!important;box-shadow:0 30px 90px rgba(28,23,20,.24)!important}
.cwh-booking-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 30px 20px;border-bottom:1px solid var(--cwh-line);background:#fff}.cwh-booking-header h3{font-size:1.85rem;margin:3px 0 0;color:var(--cwh-ink)}.cwh-booking-header-actions{display:flex;align-items:center;gap:8px}.cwh-text-action{border:0;background:transparent;color:#8b6b4b;font-weight:800;padding:10px 12px;border-radius:10px;cursor:pointer}.cwh-text-action:hover{background:var(--cwh-soft)}.cwh-booking-close{position:static!important;width:40px!important;height:40px!important;display:grid!important;place-items:center;padding:0!important;border-radius:50%!important;color:var(--cwh-muted)!important}
.cwh-booking-layout{display:grid;grid-template-columns:210px minmax(0,1fr) 290px;min-height:560px}.cwh-step-rail{padding:24px 16px;border-right:1px solid var(--cwh-line);background:linear-gradient(180deg,#fbfaf8,#f7f3ef);display:flex;flex-direction:column}.cwh-rail-step{appearance:none;border:0;background:transparent;display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;text-align:left;padding:10px 8px;position:relative;cursor:pointer;color:var(--cwh-muted)}.cwh-rail-step:not(:last-child)::after{content:"";position:absolute;left:26px;top:48px;bottom:-7px;width:1px;background:#d8d0ca}.cwh-rail-step>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#d9d7d4;color:#fff;font-weight:800;z-index:1}.cwh-rail-step strong{display:block;color:var(--cwh-ink);font-size:.97rem;margin-top:1px}.cwh-rail-step small{display:block;margin-top:3px;font-size:.78rem;color:var(--cwh-muted)}.cwh-rail-step.active>span{background:#b18d5d}.cwh-rail-step.active strong{color:#1f1b18}.cwh-rail-step.done>span{background:#7f756d}.cwh-rail-step.done>span::after{content:"✓";font-size:.8rem}.cwh-rail-step.done>span{font-size:0}
.cwh-booking-main{padding:26px 28px;overflow:auto;max-height:68vh}.cwh-booking-step{display:none}.cwh-booking-step.active{display:block}.cwh-panel-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.cwh-panel-heading h4{margin:0;color:var(--cwh-ink);font-size:1.28rem}.cwh-panel-heading p{margin:5px 0 0;color:var(--cwh-muted);font-size:.9rem}.cwh-panel-icon{width:42px;height:42px;border-radius:50%;background:var(--cwh-soft);display:grid;place-items:center;font-size:1.3rem;color:var(--cwh-ink);flex:0 0 auto}.cwh-field-label{display:block;margin-bottom:7px;font-size:.78rem;font-weight:800;color:#6d625a}.cwh-field-label span{font-weight:500;color:#9b918a}.cwh-segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.cwh-segmented button{min-height:48px;border:1px solid var(--cwh-line);border-radius:13px;background:#f7f4f1;color:var(--cwh-ink);font-weight:800;cursor:pointer}.cwh-segmented button.active{background:#2d2824;color:#fff;border-color:#2d2824}.cwh-search-wrap{position:relative}.cwh-search-box{display:flex;align-items:center;gap:10px;border:1px solid #ddd5ce;border-radius:14px;background:#fff;padding:0 14px;box-shadow:0 1px 1px rgba(0,0,0,.02)}.cwh-search-box:focus-within{border-color:#ad8a5e;box-shadow:0 0 0 3px rgba(173,138,94,.1)}.cwh-search-box span{font-size:1.3rem;color:#6f655e}.cwh-search-box input{border:0!important;box-shadow:none!important;padding:14px 0!important;min-height:48px!important;width:100%;background:transparent!important}.cwh-search-box input:focus{outline:0!important}.cwh-client-results{position:absolute;left:0;right:0;top:100%;z-index:70;background:#fff;border:1px solid var(--cwh-line);border-radius:14px;margin-top:6px;box-shadow:0 18px 45px rgba(30,24,20,.13);max-height:310px;overflow:auto}.cwh-client-choice{width:100%;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:0;border-bottom:1px solid #eee8e3;background:#fff;text-align:left;cursor:pointer}.cwh-client-choice:hover{background:#faf7f4}.cwh-client-choice:last-child{border-bottom:0}.cwh-client-avatar{width:40px;height:40px;border-radius:50%;background:#f0ebe6;display:grid;place-items:center;font-weight:800;color:#5a514b}.cwh-client-choice-text strong,.cwh-client-selected-text strong{display:block;color:var(--cwh-ink);font-size:.92rem}.cwh-client-choice-text small,.cwh-client-selected-text small{display:block;color:var(--cwh-muted);font-size:.76rem;margin-top:3px}.cwh-result-select{background:#b18d5d;color:#fff;border-radius:9px;padding:8px 13px;font-size:.78rem;font-weight:800}.cwh-search-empty{padding:16px;color:var(--cwh-muted)}.cwh-selected-card{margin-top:12px}.cwh-client-selected-inner{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:12px 14px;background:#faf7f4;border:1px solid var(--cwh-line);border-radius:14px}.cwh-mini-action{border:0;background:#fff;border:1px solid var(--cwh-line);border-radius:9px;padding:7px 10px;font-weight:800;color:#675b53;cursor:pointer}.cwh-service-note{padding:14px 16px;border-radius:14px;background:#faf7f4;color:var(--cwh-muted);font-size:.83rem;line-height:1.5}.cwh-inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cwh-manual{border:1px solid var(--cwh-line)!important;border-radius:14px;padding:14px 16px;margin-top:16px;background:#fbfaf8}.cwh-manual summary{font-weight:800;color:var(--cwh-ink);cursor:pointer}.cwh-manual-row{display:flex;gap:10px;margin-top:12px}.cwh-manual-row input{flex:1}.cwh-confirm-card{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--cwh-line);border-radius:16px;overflow:hidden;margin-bottom:22px;background:#faf8f5}.cwh-confirm-card>div{padding:15px 16px;border-right:1px solid var(--cwh-line);border-bottom:1px solid var(--cwh-line)}.cwh-confirm-card>div:nth-child(2n){border-right:0}.cwh-confirm-card>div:nth-last-child(-n+2){border-bottom:0}.cwh-confirm-card small{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cwh-muted);font-weight:800;margin-bottom:4px}.cwh-confirm-card strong{display:block;color:var(--cwh-ink)}.cwh-confirm-card span{display:block;color:var(--cwh-muted);font-size:.8rem;margin-top:3px}.cwh-booking-summary{background:#faf8f5;border-left:1px solid var(--cwh-line);padding:28px 24px}.cwh-booking-summary h4{margin:0 0 22px;color:var(--cwh-ink);font-size:1.12rem}.cwh-summary-row{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;margin:0 0 22px}.cwh-summary-row>span{font-size:1.15rem;color:#5f554e}.cwh-summary-row small{display:block;color:var(--cwh-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.cwh-summary-row strong{display:block;color:var(--cwh-ink);font-size:.9rem;margin-top:3px;line-height:1.3}.cwh-booking-footer{display:flex;align-items:center;gap:10px;padding:18px 30px;border-top:1px solid var(--cwh-line);background:#fff}.cwh-footer-spacer{flex:1}.cwh-booking-footer .btn{min-width:120px;min-height:46px;border-radius:12px}.cwh-booking-footer .btn-brass{min-width:180px}.cwh-block-panel{max-width:620px;margin:auto}.cwh-booking-modal .color-swatches{display:flex;flex-wrap:wrap;gap:9px}.cwh-booking-modal .color-swatch{width:34px;height:34px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #d7cfc8;cursor:pointer}.cwh-booking-modal .color-swatch.selected{box-shadow:0 0 0 2px #2d2824}.cwh-booking-modal .color-swatch-none{width:auto;border-radius:999px;padding:0 12px;background:#f2eeea!important;color:#5b5149;font-size:.72rem;font-weight:800}.cwh-booking-modal .slot-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr))!important}.cwh-booking-modal .slot-btn{border:1px solid var(--cwh-line)!important;background:#fff!important;color:var(--cwh-ink)!important;font-weight:800}.cwh-booking-modal .slot-btn:hover,.cwh-booking-modal .slot-btn.selected{background:#2d2824!important;color:#fff!important;border-color:#2d2824!important}.cwh-booking-modal .slot-btn.preferred{box-shadow:0 0 0 2px rgba(177,141,93,.3)}
@media(max-width:900px){.cwh-booking-modal{width:min(760px,calc(100vw - 24px))!important}.cwh-booking-layout{grid-template-columns:150px minmax(0,1fr)}.cwh-booking-summary{display:none}.cwh-step-rail{padding:20px 10px}.cwh-rail-step{grid-template-columns:34px 1fr;gap:8px;padding-left:4px;padding-right:4px}.cwh-rail-step>span{width:34px;height:34px}.cwh-rail-step:not(:last-child)::after{left:21px}.cwh-booking-main{padding:22px}.cwh-booking-header{padding:20px 22px}.cwh-booking-footer{padding:16px 22px}}
@media(max-width:650px){.cwh-booking-modal{width:100%!important;max-width:none!important;height:min(92vh,820px);border-radius:22px 22px 0 0!important;margin-top:auto!important;display:flex;flex-direction:column}.cwh-booking-header{padding:16px}.cwh-booking-header h3{font-size:1.45rem}.cwh-booking-layout{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}.cwh-step-rail{display:grid!important;grid-template-columns:repeat(4,1fr);padding:10px 12px;border-right:0;border-bottom:1px solid var(--cwh-line);background:#fff}.cwh-rail-step{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 2px;text-align:center}.cwh-rail-step:not(:last-child)::after{display:none}.cwh-rail-step>span{width:28px;height:28px;font-size:.75rem}.cwh-rail-step strong{font-size:.7rem}.cwh-rail-step small{display:none}.cwh-booking-main{padding:18px 16px;max-height:none;flex:1}.cwh-panel-heading{margin-bottom:16px}.cwh-panel-icon{width:36px;height:36px}.cwh-panel-heading h4{font-size:1.12rem}.cwh-segmented button{font-size:.82rem}.cwh-inline-fields{grid-template-columns:1fr}.cwh-confirm-card{grid-template-columns:1fr}.cwh-confirm-card>div{border-right:0!important;border-bottom:1px solid var(--cwh-line)!important}.cwh-confirm-card>div:last-child{border-bottom:0!important}.cwh-booking-footer{padding:12px 16px}.cwh-booking-footer .btn{min-width:94px}.cwh-booking-footer .btn-brass{min-width:130px}.cwh-text-action{font-size:.8rem}.cwh-manual-row{flex-direction:column}.cwh-client-choice{grid-template-columns:38px 1fr auto;padding:10px}.cwh-client-avatar{width:36px;height:36px}.cwh-result-select{padding:7px 9px}.cwh-search-box input{font-size:16px}.cwh-booking-modal .slot-grid{grid-template-columns:repeat(3,1fr)!important}}

/* ===================== 2026 unified polished admin design ===================== */
.admin-body{background:#f4f1ed;color:var(--cwh-ink)}
.admin-main{padding:30px clamp(18px,3vw,40px) 60px!important;max-width:1500px;width:100%;box-sizing:border-box}
.admin-side{background:#201d1a!important;border-right:1px solid rgba(255,255,255,.08)}
.admin-side .brand{padding-bottom:22px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.admin-side nav a{border-radius:11px;margin:2px 0;padding:11px 13px!important;transition:background .15s,color .15s}
.admin-side nav a.active{background:rgba(255,255,255,.11)!important;color:#fff!important}
.admin-side nav a:hover{background:rgba(255,255,255,.07)}
.cwh-page-head{margin-bottom:22px!important}.cwh-page-head h1{font-size:clamp(1.9rem,3vw,2.6rem);letter-spacing:-.035em;margin:4px 0 5px}.cwh-page-head p{margin:0;color:var(--cwh-muted);max-width:650px}
.admin-body .booking-panel,.admin-body .entity-card,.admin-body .card,.cwh-admin-card{background:#fff;border:1px solid var(--cwh-line)!important;border-radius:20px!important;box-shadow:0 8px 30px rgba(43,35,30,.055)}
.admin-body input[type=text],.admin-body input[type=email],.admin-body input[type=password],.admin-body input[type=tel],.admin-body input[type=date],.admin-body input[type=time],.admin-body input[type=number],.admin-body textarea,.admin-body select{width:100%;min-height:48px;box-sizing:border-box;border:1px solid #ded7d0!important;border-radius:12px!important;background:#fff!important;padding:11px 13px!important;color:var(--cwh-ink);font-size:.95rem;transition:border-color .15s,box-shadow .15s}
.admin-body textarea{min-height:96px;resize:vertical}
.admin-body input:focus,.admin-body textarea:focus,.admin-body select:focus{outline:none!important;border-color:#b18d5d!important;box-shadow:0 0 0 3px rgba(177,141,93,.12)!important}
.admin-body label{font-size:.78rem!important;letter-spacing:.01em;color:#635950!important;font-weight:800!important;margin-bottom:7px!important}
.admin-body .form-group{margin-bottom:16px!important}
.admin-body .btn{border-radius:11px!important;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:800!important}
.admin-body .btn-primary,.admin-body .btn-brass{background:#b18d5d!important;border-color:#b18d5d!important;color:#fff!important;box-shadow:0 4px 12px rgba(177,141,93,.18)}
.admin-body .btn-primary:hover,.admin-body .btn-brass:hover{background:#9e7b4f!important;border-color:#9e7b4f!important}
.admin-body .btn-outline{background:#fff!important;border-color:#ddd5ce!important;color:#342f2b!important}
.admin-body .btn-outline:hover{background:#f7f3ef!important}
.cwh-admin-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.6fr);gap:22px;align-items:start}.cwh-admin-card{padding:22px}.cwh-sticky-card{position:sticky;top:20px}.cwh-card-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--cwh-line)}.cwh-card-heading h3{font-size:1.25rem;margin:0}.cwh-card-heading p{margin:5px 0 0;color:var(--cwh-muted);font-size:.86rem}.cwh-form-stack{display:flex;flex-direction:column;gap:2px}.cwh-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cwh-form-actions{display:flex;flex-wrap:wrap;gap:9px}.cwh-full-btn{width:100%}.cwh-optional{font-weight:500;color:#9b918a}
.cwh-input-prefix,.cwh-input-suffix{display:flex;align-items:center;border:1px solid #ded7d0;border-radius:12px;background:#fff;overflow:hidden}.cwh-input-prefix:focus-within,.cwh-input-suffix:focus-within{border-color:#b18d5d;box-shadow:0 0 0 3px rgba(177,141,93,.12)}.cwh-input-prefix span,.cwh-input-suffix span{padding:0 12px;color:#756b63;font-weight:800;font-size:.86rem}.cwh-input-prefix input,.cwh-input-suffix input{border:0!important;border-radius:0!important;box-shadow:none!important}.cwh-input-suffix span{border-left:1px solid var(--cwh-line)}.cwh-input-prefix span{border-right:1px solid var(--cwh-line)}
.cwh-colour-field{border:0;padding:0;margin:3px 0 18px}.cwh-colour-field legend{font-size:.78rem;font-weight:800;color:#635950;margin-bottom:5px}.cwh-colour-field p{font-size:.78rem;color:var(--cwh-muted);margin:0 0 11px}.cwh-service-colours{display:flex;gap:9px;flex-wrap:wrap}.cwh-colour-choice{margin:0!important;cursor:pointer}.cwh-colour-choice input{position:absolute;opacity:0;pointer-events:none}.cwh-colour-choice span{display:block;width:32px;height:32px;border-radius:50%;background:var(--swatch);border:3px solid #fff;box-shadow:0 0 0 1px #d9d1ca;transition:transform .15s,box-shadow .15s}.cwh-colour-choice:hover span{transform:scale(1.08)}.cwh-colour-choice input:checked+span{box-shadow:0 0 0 2px #2d2824,0 0 0 5px #fff;transform:scale(.96)}
.cwh-service-list{display:flex;flex-direction:column;gap:10px}.cwh-service-row,.cwh-service-edit-card{border:1px solid var(--cwh-line);border-radius:15px;background:#fff;padding:14px 15px}.cwh-service-row{display:flex;justify-content:space-between;gap:18px;align-items:center}.cwh-service-row.is-muted{opacity:.58}.cwh-service-title{display:flex;gap:12px;align-items:flex-start;min-width:0}.cwh-service-title strong{display:block;font-size:.98rem}.cwh-service-title small{display:block;color:var(--cwh-muted);font-size:.78rem;margin-top:3px}.cwh-service-title p{color:var(--cwh-muted);font-size:.8rem;line-height:1.45;margin:6px 0 0}.cwh-service-dot{width:14px;height:14px;flex:0 0 14px;border-radius:50%;background:var(--service-colour,#B8A58F);margin-top:4px;box-shadow:0 0 0 3px color-mix(in srgb,var(--service-colour,#B8A58F) 18%,white)}.cwh-service-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.cwh-service-row-actions form{margin:0}.cwh-service-edit-card{padding:18px}.cwh-service-edit-card>.cwh-service-title{margin-bottom:18px}
.cwh-booking-page{display:grid;grid-template-columns:210px minmax(0,1fr) 290px;grid-template-rows:1fr auto;background:#fff;border:1px solid var(--cwh-line);border-radius:22px;box-shadow:0 14px 45px rgba(43,35,30,.07);overflow:hidden;min-height:620px}.cwh-booking-page>.cwh-step-rail{grid-column:1;grid-row:1;border-right:1px solid var(--cwh-line)}.cwh-booking-page-main{grid-column:2;grid-row:1;max-height:none!important;min-height:520px}.cwh-booking-page>.cwh-booking-summary{grid-column:3;grid-row:1}.cwh-booking-page-footer{grid-column:1/-1;grid-row:2}.cwh-date-field{max-width:300px}.cwh-service-preview{display:flex;align-items:flex-start;gap:12px;padding:14px 15px;border:1px solid var(--cwh-line);border-radius:14px;background:#faf8f5;margin-bottom:16px}.cwh-service-preview strong{display:block}.cwh-service-preview small{display:block;color:var(--cwh-muted);font-size:.78rem;margin-top:3px}.cwh-empty-state{border:1px dashed #d9d1c9;border-radius:14px;padding:20px;text-align:center;background:#fbfaf8}.cwh-empty-state strong{display:block}.cwh-empty-state span{display:block;color:var(--cwh-muted);font-size:.82rem;margin-top:4px}
.cwh-booking-layout.block-mode{grid-template-columns:1fr!important}.cwh-booking-layout.block-mode .cwh-booking-main{grid-column:1;max-width:700px;width:100%;margin:0 auto;box-sizing:border-box}.cwh-booking-layout.block-mode .cwh-block-panel{max-width:none;margin:0}.cwh-block-panel{padding:6px 0}.cwh-block-panel .cwh-panel-heading{margin-bottom:26px}.cwh-block-panel .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cwh-block-panel select,.cwh-block-panel input{min-height:48px}
/* Generic cleanup for older admin forms that are not yet custom-layout pages */
.admin-body .form-row{gap:14px!important}.admin-body .entity-list{display:flex;flex-direction:column;gap:12px}.admin-body .entity-card{padding:18px!important}.admin-body .entity-actions{gap:7px!important}.admin-body table{background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--cwh-line)}.admin-body th{background:#faf8f5!important;color:#6c625a!important;font-size:.72rem!important;text-transform:uppercase;letter-spacing:.05em}.admin-body td{border-color:#eee8e3!important}.admin-body .alert{border-radius:13px!important}
@media(max-width:1050px){.cwh-admin-grid{grid-template-columns:1fr}.cwh-sticky-card{position:static}.cwh-booking-page{grid-template-columns:160px minmax(0,1fr)}.cwh-booking-page>.cwh-booking-summary{display:none}.cwh-booking-page-footer{grid-column:1/-1}}
@media(max-width:700px){.admin-main{padding:18px 14px 90px!important}.cwh-two-col{grid-template-columns:1fr}.cwh-service-row{align-items:flex-start;flex-direction:column}.cwh-service-row-actions{justify-content:flex-start;width:100%}.cwh-booking-page{display:flex;flex-direction:column;border-radius:18px;min-height:0}.cwh-booking-page>.cwh-step-rail{display:grid!important;grid-template-columns:repeat(4,1fr);border-right:0;border-bottom:1px solid var(--cwh-line);padding:10px 8px}.cwh-booking-page>.cwh-step-rail .cwh-rail-step{display:flex;align-items:center;flex-direction:column;text-align:center;padding:5px 2px}.cwh-booking-page>.cwh-step-rail .cwh-rail-step:not(:last-child)::after{display:none}.cwh-booking-page-main{min-height:0;padding:18px 15px}.cwh-booking-page-footer{position:sticky;bottom:0;padding:12px 14px}.cwh-block-panel .form-row{grid-template-columns:1fr}.cwh-colour-choice span{width:30px;height:30px}}

/* Public/client-side polish. Keeps the existing brand while matching the admin form language. */
body:not(.admin-body){background:#fbf8f4;color:var(--cwh-ink)}
body:not(.admin-body) .booking-panel,body:not(.admin-body) .auth-card,body:not(.admin-body) .dashboard-card{border:1px solid var(--cwh-line)!important;border-radius:22px!important;box-shadow:0 12px 38px rgba(43,35,30,.06)!important;background:#fff!important}
body:not(.admin-body) input[type=text],body:not(.admin-body) input[type=email],body:not(.admin-body) input[type=password],body:not(.admin-body) input[type=tel],body:not(.admin-body) input[type=date],body:not(.admin-body) input[type=time],body:not(.admin-body) textarea,body:not(.admin-body) select{min-height:48px;border-radius:12px!important;border-color:#ded7d0!important;background:#fff!important}
body:not(.admin-body) input:focus,body:not(.admin-body) textarea:focus,body:not(.admin-body) select:focus{outline:0!important;border-color:#b18d5d!important;box-shadow:0 0 0 3px rgba(177,141,93,.12)!important}
body:not(.admin-body) .btn{border-radius:11px!important;font-weight:800!important}
body:not(.admin-body) .btn-primary{background:#b18d5d!important;border-color:#b18d5d!important}

/* Split-service diary stages. The processing period is intentionally left empty/bookable. */
.diary-appt-stage .diary-appt-time{font-weight:800}
.diary-appt-stage{box-shadow:0 2px 7px rgba(77,66,55,.09)}

/* ===================== Overview + Clients page components ===================== */
/* These markup classes shipped with the reference redesign but the matching
   styles were never written, so Overview and Clients rendered unstyled. */
.cwh-brand-lockup{display:flex;align-items:center;justify-content:flex-start}
.cwh-brand-lockup img{max-width:100%;height:auto;display:block}
.admin-side .cwh-brand-lockup img{width:auto;max-width:170px;max-height:32px;object-fit:contain}
/* Public site header: the logo file itself is a very wide, short wordmark
   (1676x312px). Without an explicit cap it scales up to the full width of
   the header bar on screens where the nav links are hidden (mobile), which
   renders as an oversized logo rather than a normal nav-bar lockup. */
.site-header .cwh-public-brand{flex:0 0 auto;min-width:0}
.site-header .cwh-public-brand img{width:auto;max-width:210px;max-height:36px;object-fit:contain}
@media(max-width:600px){.site-header .cwh-public-brand img{max-width:168px;max-height:28px}}

.cwh-next-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--cwh-line);border-radius:20px;box-shadow:0 8px 30px rgba(43,35,30,.055);padding:20px 24px;margin-bottom:22px}
.cwh-next-card>div:first-child{display:flex;flex-direction:column;gap:6px}
.cwh-next-time{font-size:2rem;font-weight:800;color:var(--cwh-ink);letter-spacing:-.02em}
.cwh-next-main{flex:1;display:flex;flex-direction:column;gap:3px;padding:0 10px}
.cwh-next-main strong{font-size:1.05rem;color:var(--cwh-ink)}
.cwh-next-main span{color:var(--cwh-muted);font-size:.86rem}

.cwh-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}
.cwh-stat-card{padding:18px 20px;display:flex;flex-direction:column;gap:4px}
.cwh-stat-card span{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:var(--cwh-muted)}
.cwh-stat-card strong{font-size:1.9rem;font-weight:800;color:var(--cwh-ink);letter-spacing:-.02em}
.cwh-stat-card small{font-size:.8rem;color:var(--cwh-muted)}
@media(max-width:900px){.cwh-stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.cwh-stats-grid{grid-template-columns:1fr}.cwh-next-card{flex-wrap:wrap}}

.cwh-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px}
.cwh-quick-grid a{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--cwh-line);border-radius:18px;padding:18px;text-decoration:none;color:var(--cwh-ink);font-size:1.4rem;box-shadow:0 6px 20px rgba(43,35,30,.04);transition:transform .15s,box-shadow .15s}
.cwh-quick-grid a:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(43,35,30,.1)}
.cwh-quick-grid a strong{font-size:.95rem;color:var(--cwh-ink)}
.cwh-quick-grid a span{font-size:.8rem;color:var(--cwh-muted)}
@media(max-width:900px){.cwh-quick-grid{grid-template-columns:repeat(2,1fr)}}

.cwh-panel{background:#fff;border:1px solid var(--cwh-line);border-radius:20px;box-shadow:0 8px 30px rgba(43,35,30,.055);padding:22px;margin-bottom:22px}
.cwh-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.cwh-section-head h3{margin:0;font-size:1.05rem}
.cwh-section-head p{margin:4px 0 0;color:var(--cwh-muted);font-size:.84rem}

.cwh-record-list{display:flex;flex-direction:column;gap:10px}
.cwh-record-row{display:flex;align-items:center;gap:16px;padding:13px 15px;border:1px solid var(--cwh-line);border-left:4px solid var(--record,#83766A);border-radius:14px;background:#fff;text-decoration:none;color:inherit}
.cwh-record-row:hover{box-shadow:0 6px 20px rgba(43,35,30,.08)}
.cwh-record-row>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.cwh-record-row strong{color:var(--cwh-ink);font-size:.94rem}
.cwh-record-row span{color:var(--cwh-muted);font-size:.8rem}
.cwh-time-badge{flex:0 0 auto;min-width:58px;text-align:center;font-weight:800;color:var(--cwh-ink);background:var(--cwh-soft);border-radius:10px;padding:8px 10px;font-size:.84rem}

/* Clients page */
.cwh-searchbar{display:flex;align-items:center;gap:10px;margin-bottom:22px;max-width:560px;background:#fff;border:1px solid var(--cwh-line);border-radius:999px;padding:5px 6px 5px 18px;box-shadow:0 4px 16px rgba(43,35,30,.05)}
.cwh-searchbar-icon{font-size:1.15rem;color:var(--cwh-muted);flex:0 0 auto}
.cwh-searchbar input{flex:1;border:0!important;box-shadow:none!important;min-height:40px!important;padding:0!important;background:transparent!important}
.cwh-searchbar input:focus{outline:0!important;box-shadow:none!important}
.cwh-searchbar .btn{border-radius:999px!important}
.cwh-searchbar-clear{flex:0 0 auto;color:var(--cwh-muted);font-size:.82rem;font-weight:800;text-decoration:none;padding:0 6px}
.cwh-searchbar-clear:hover{color:var(--cwh-ink)}

.cwh-client-shell{background:#fff;border:1px solid var(--cwh-line);border-radius:22px;box-shadow:0 10px 36px rgba(43,35,30,.06);padding:0;margin-bottom:26px;overflow:hidden}
.cwh-client-hero{display:flex;align-items:center;gap:18px;margin-bottom:0;flex-wrap:wrap;padding:24px 26px;background:linear-gradient(135deg,#faf7f3,#f3eee7)}
.cwh-client-hero .cwh-client-avatar{width:66px;height:66px;font-size:1.4rem;flex:0 0 auto;box-shadow:0 0 0 4px #fff,0 0 0 5px var(--cwh-line)}
.cwh-client-shell>.cwh-health-banner,.cwh-client-shell>.cwh-profile-tabs,.cwh-client-shell>.cwh-profile-body{margin-left:26px;margin-right:26px}
.cwh-client-shell>.cwh-health-banner{margin-top:20px}
.cwh-client-shell>.cwh-profile-tabs{margin-top:20px}
.cwh-client-shell>.cwh-profile-body{padding-bottom:26px}
.cwh-client-ident{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px}
.cwh-client-ident h2{margin:2px 0;font-size:1.5rem}
.cwh-client-ident p{margin:0;color:var(--cwh-muted)}
.cwh-client-actions{display:flex;gap:9px;flex-wrap:wrap}

.cwh-health-banner{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:14px;background:#fff5f1;border:1px solid #efc4b6;color:#7b3b2b;margin-bottom:16px}
.cwh-health-banner>div{display:flex;flex-direction:column;gap:2px}
.cwh-health-banner strong{font-size:.9rem}
.cwh-health-banner span{font-size:.8rem;opacity:.85}
.cwh-health-banner.neutral{background:#f4f7f0;border-color:#c9dcb9;color:#3c5527}
.cwh-health-icon{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.86rem;font-weight:800;background:rgba(123,59,43,.12);color:#7b3b2b;margin-top:1px}
.cwh-health-banner.neutral .cwh-health-icon{background:rgba(60,85,39,.12);color:#3c5527}

.cwh-profile-body{margin-top:18px}
.cwh-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.cwh-facts>div{display:flex;flex-direction:column;gap:3px}
.cwh-facts small{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--cwh-muted);font-weight:800}
.cwh-facts strong{color:var(--cwh-ink);font-size:.98rem}
@media(max-width:500px){.cwh-facts{grid-template-columns:1fr}}

.cwh-check{display:flex;align-items:center;gap:9px;font-weight:600!important;color:var(--cwh-ink);margin-bottom:14px;cursor:pointer}
.cwh-check input{width:auto!important;min-height:0!important}

.cwh-form-card{display:flex;flex-direction:column}
.cwh-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cwh-align-start{align-items:start}
@media(max-width:700px){.cwh-grid-2{grid-template-columns:1fr}}

.cwh-note-card{border:1px solid var(--cwh-line);border-radius:14px;padding:14px 16px;margin-bottom:10px;background:#fbfaf8}
.cwh-note-card:last-child{margin-bottom:0}
.cwh-note-card p{margin:8px 0;color:var(--cwh-ink);font-size:.9rem;line-height:1.5}
.cwh-note-card small{display:block;margin-top:6px;color:var(--cwh-muted)}
.cwh-tag{display:inline-block;background:var(--cwh-soft);color:#6d625a;border-radius:999px;padding:5px 12px;font-size:.76rem;font-weight:800;margin-top:6px}

.cwh-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.cwh-photo-grid figure{margin:0;border:1px solid var(--cwh-line);border-radius:14px;overflow:hidden;background:#fff}
.cwh-photo-grid img{width:100%;height:140px;object-fit:cover;display:block}
.cwh-photo-grid figcaption{padding:8px 10px;font-size:.78rem;color:var(--cwh-muted)}

.cwh-client-list{display:flex;flex-direction:column;gap:8px}
.cwh-client-list-row{display:flex;align-items:center;gap:14px;padding:12px 16px;border:1px solid var(--cwh-line);border-radius:16px;background:#fff;text-decoration:none;color:inherit}
.cwh-client-list-row:hover{box-shadow:0 6px 20px rgba(43,35,30,.07)}
.cwh-client-list-row.active{border-color:#b18d5d;box-shadow:0 0 0 2px rgba(177,141,93,.18)}
.cwh-client-avatar.small{width:38px;height:38px;font-size:.84rem}
.cwh-client-list-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.cwh-client-list-main strong{color:var(--cwh-ink);font-size:.94rem}
.cwh-client-list-main small{color:var(--cwh-muted);font-size:.8rem}
.cwh-client-stat{text-align:right;font-size:.82rem;color:var(--cwh-muted);flex:0 0 auto}
.cwh-client-stat strong{color:var(--cwh-ink);font-size:.95rem}
.cwh-client-stat small{display:block;margin-top:2px}
.cwh-client-list-row{transition:transform .12s,box-shadow .12s}
.cwh-client-list-row:hover{transform:translateY(-1px)}
.cwh-chevron{color:var(--cwh-muted);font-size:1.2rem;flex:0 0 auto}
.cwh-tab-count{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--cwh-soft);color:var(--cwh-muted);font-size:.72rem;font-weight:800}
.cwh-profile-tabs a.active .cwh-tab-count{background:rgba(255,255,255,.18);color:#fff}
