.clients { color:var(--clr-text,#292e2c); max-width:1400px; margin:0 auto; padding-bottom:40px; font-size:15px; line-height:1.6; }
.clients * { box-sizing:border-box; }
.clients h1 { font-size:clamp(28px,3vw,38px); font-weight:600; line-height:1.2; margin:8px 0 14px; letter-spacing:-1px; }
.clients h2 { font-size:20px; font-weight:600; margin:0 0 20px; line-height:1.4; }
.clients h3 { font-size:16px; font-weight:600; margin:0; }
.clients p { margin:12px 0; }
.clients-header { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:28px 0 32px; }
.clients-eyebrow { text-transform:uppercase; letter-spacing:2.5px; font-size:12px; color:#727873; }
.clients-muted,.clients dt { color:#727873; }
.clients-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:10px 20px; border:1px solid #e1e5df; border-radius:8px; background:#fff; color:#292e2c; text-decoration:none; font:inherit; cursor:pointer; white-space:nowrap; }
.clients-button:hover { background:#fafaf7; }
.clients-pink { background:#f8d3cd; border-color:#f8d3cd; }
.clients-pink:hover { background:#f3c3bb; }
.clients-green { background:#298e7c; border-color:#298e7c; color:white; }
.clients-green:hover { background:#236e5b; }
.clients button:disabled { opacity:.55; cursor:wait; }
.clients a:focus-visible,.clients button:focus-visible,.clients input:focus-visible,.clients select:focus-visible,.clients textarea:focus-visible { outline:3px solid #298e7c; outline-offset:3px; }
.clients-link { color:#237c6d; text-decoration:none; }
.clients-link:hover { text-decoration:underline; }
.clients-toolbar { display:grid; grid-template-columns:minmax(200px,1fr) 210px auto; gap:16px; align-items:end; margin-bottom:20px; }
.clients label { display:block; font-size:14px; margin-bottom:8px; color:#626963; }
.clients input:not([type=checkbox]),.clients select,.clients textarea { width:100%; min-height:46px; padding:12px 14px; border:1px solid #dfe4dd; border-radius:7px; background:white; color:#292e2c; font:inherit; }
.clients textarea { resize:vertical; }
.clients-table-wrap { overflow-x:auto; }
.clients table { width:100%; border-collapse:collapse; text-align:left; }
.clients th { font-weight:400; color:#727873; font-size:13px; white-space:nowrap; }
.clients th,.clients td { padding:22px 12px; border-bottom:1px solid #e8eae5; vertical-align:middle; }
.clients td:first-child { min-width:230px; }
.clients td:last-child { text-align:right; white-space:nowrap; }
.clients-person { display:flex; align-items:center; gap:16px; }
.clients-person a { color:inherit; text-decoration:none; }
.clients-person a:hover { text-decoration:underline; }
.clients-person small { display:block; color:#727873; overflow-wrap:anywhere; }
.clients-avatar { display:inline-flex; align-items:center; justify-content:center; flex:0 0 48px; width:48px; height:48px; border-radius:50%; background:#f8d3cd; font-size:15px; }
.clients-avatar-large { flex-basis:80px; width:80px; height:80px; font:30px var(--ff-Lora,Georgia,serif); }
.clients-badge { display:inline-block; padding:3px 8px; border-radius:5px; background:#eaf5ef; color:#236e5b; font-size:12px; }
.clients .clients-empty { padding:40px 20px; color:#727873; text-align:left; }
.clients-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.clients-wide { grid-column:1/-1; }
.clients-form-page { max-width:1050px; }
.clients fieldset { border:0; padding:0; margin:0; min-width:0; }
.clients legend { font-size:18px; font-weight:600; border-bottom:1px solid #e8eae5; width:100%; padding:0 0 14px; margin:0 0 26px; }
.clients-actions { display:flex; align-items:center; justify-content:flex-end; gap:16px; border-top:1px solid #e8eae5; padding-top:22px; margin-top:28px; flex-wrap:wrap; }
.clients-error,.clients-notice { padding:16px; border-radius:8px; background:#fff0ec; color:#8a352a; }
.clients-notice { background:#eaf5ef; color:#236e5b; }
.clients .validation-message,.clients .validation-errors { color:#a43529; font-size:13px; }
.clients .invalid { border-color:#a43529!important; }
.clients-tabs { display:flex; gap:30px; border-bottom:1px solid #e8eae5; margin-bottom:30px; }
.clients-tabs button { border:0; border-bottom:3px solid transparent; padding:12px 0 16px; background:none; color:#727873; font:inherit; cursor:pointer; }
.clients-tabs button.selected { border-color:#298e7c; color:#292e2c; }
.clients-card { border:1px solid #e8eae5; border-radius:18px; padding:26px; margin-bottom:26px; }
.clients-cream { background:#fff8e7; padding:26px; border-radius:16px; margin-bottom:30px; }
.clients-cream h2 { font-size:16px; margin-bottom:12px; }
.clients-summary { display:grid; grid-template-columns:2fr 2fr 1fr 1fr; gap:20px; margin:16px 0 0; }
.clients dt { font-size:13px; margin-bottom:4px; }
.clients dd { margin:0; overflow-wrap:anywhere; }
.clients-detail-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:34px; margin-top:34px; }
.clients-detail-grid>* { min-width:0; }
.clients-timeline { list-style:none; padding:0 0 0 27px; margin:24px 0 0; border-left:1px solid #e0e6de; }
.clients-timeline li { position:relative; padding:0 0 30px; }
.clients-timeline li:before { content:""; position:absolute; top:8px; left:-33px; width:11px; height:11px; border-radius:50%; background:#298e7c; }
.clients-visit-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.clients-preserve { white-space:pre-wrap; overflow-wrap:anywhere; }
.clients-lash-map { color:#298e7c; width:100%; height:auto; margin-top:20px; }
.clients-lash-map text { fill:currentColor; font-size:13px; }
.clients label.clients-check { display:flex; align-items:center; gap:10px; margin-top:24px; }
.clients-check input { width:18px; height:18px; accent-color:#298e7c; }
.clients-dialog { width:min(760px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); padding:28px; border:1px solid #e8eae5; border-radius:18px; color:#292e2c; background:white; margin:auto; box-shadow:0 24px 100px #25302d30; }
.clients-dialog::backdrop { background:#25302d66; }
.clients-dialog .clients-header { margin:0 0 24px; }
.clients-dialog h2 { margin:0; }
.clients-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:850px) { .clients-detail-grid { grid-template-columns:1fr; } .clients-summary { grid-template-columns:1fr 1fr; } .clients-toolbar { grid-template-columns:1fr 170px; } .clients-toolbar>div:first-child { grid-column:1/-1; } }
@media(max-width:550px) { .clients-header { align-items:flex-start; flex-direction:column; gap:14px; } .clients-grid { grid-template-columns:1fr; gap:18px; } .clients-toolbar { grid-template-columns:1fr auto; } .clients-avatar-large { width:56px; height:56px; flex-basis:56px; font-size:22px; } .clients-card,.clients-cream,.clients-dialog { padding:20px; } .clients-dialog .clients-header { flex-direction:row; align-items:center; } .clients-summary { gap:18px; } .clients h1 { overflow-wrap:anywhere; } .clients-person { min-width:0; } .clients-actions { gap:10px; } }
.booking-summary-dialog section{border-top:1px solid #e8eae5;padding-top:18px;margin-top:22px}.booking-summary-dialog .clients-grid{row-gap:18px}.booking-summary-dialog dt{font-size:13px;color:#68756e;margin-bottom:6px}.booking-summary-dialog dd{margin:0;overflow-wrap:anywhere}.booking-summary-dialog h3{font-size:18px}.booking-summary-dialog h4{font-size:15px;margin:18px 0 10px}.booking-summary-zones{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.booking-summary-dialog footer{border-top:1px solid #e8eae5;padding-top:20px;margin-top:24px}.booking-summary-dialog .booking-photos figure{min-width:0}.booking-summary-dialog figcaption{overflow-wrap:anywhere}@media(max-width:550px){.booking-summary-zones{grid-template-columns:repeat(3,minmax(0,1fr))}}
