:root{--ey-ink:#121827;--ey-navy:#101827;--ey-navy-2:#182235;--ey-gold:#b99355;--ey-gold-dark:#8b6938;--ey-cream:#f7f4ee;--ey-paper:#fff;--ey-line:#e6e3dd;--ey-muted:#717784;--ey-green:#1b8b68;--ey-red:#c74444;--ey-amber:#a36d17;--shadow:0 14px 40px rgba(16,24,39,.08);--radius:18px}*{box-sizing:border-box}.app-body,.auth-bg{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ey-ink);background:#f6f7f9}.app-body a,.auth-bg a,.booking-site a{text-decoration:none}.auth-bg{min-height:100vh;background:radial-gradient(circle at 15% 10%,rgba(185,147,85,.16),transparent 32%),linear-gradient(140deg,#0f1727,#1b2537);padding:30px 16px;display:grid;place-items:center}.auth-card,.install-card{width:min(100%,460px);background:#fff;border-radius:26px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.install-card{width:min(100%,720px)}.auth-logo,.install-logo{display:block;max-height:72px;max-width:180px;object-fit:contain;margin:0 auto 24px}.auth-card h1,.install-card h1{font-size:30px;margin:5px 0 8px}.ey-kicker{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800;color:var(--ey-gold-dark)}.muted{color:var(--ey-muted)}.small{font-size:13px}.quiet-link{display:block;text-align:center;margin-top:22px;color:var(--ey-muted)}.stack-form{display:grid;gap:15px}.stack-form label,.form-grid label,.booking-form label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#3e4654}.stack-form input,.stack-form select,.stack-form textarea,.form-grid input,.booking-form input,.booking-form select,.booking-form textarea,.top-search input,.search-inline input,.hours-grid input,.hours-grid select,.photo-upload input,.photo-upload select,.inline-form select,.panel select{width:100%;border:1px solid #dcdfe5;border-radius:12px;padding:12px 13px;font:inherit;color:var(--ey-ink);background:#fff;outline:none}.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus,.form-grid input:focus,.booking-form input:focus,.top-search input:focus{border-color:var(--ey-gold);box-shadow:0 0 0 3px rgba(185,147,85,.12)}.stack-form small,.form-grid small,.booking-form small{font-weight:500;color:var(--ey-muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.span-2{grid-column:span 2}.app-btn{border:0;border-radius:12px;padding:12px 18px;font:inherit;font-weight:800;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:8px}.app-btn.primary{background:var(--ey-navy);color:#fff}.app-btn.secondary{background:#eee9df;color:#5f4724}.app-btn.light{background:#fff;color:var(--ey-navy)}.app-btn.danger{background:#fff0f0;color:#a72f2f;border:1px solid #f2cccc}.app-btn.full{width:100%}.app-btn.big{padding:16px 20px;font-size:15px}.app-btn:disabled{opacity:.45;cursor:not-allowed}.mini-btn{border:1px solid #dcdfe5;background:#fff;color:var(--ey-ink);border-radius:9px;padding:8px 11px;font-size:12px;font-weight:800;cursor:pointer}.alert{padding:13px 15px;border-radius:12px;margin:12px 0;font-size:14px;line-height:1.45}.alert.success{background:#e9f8f2;color:#16664f}.alert.danger{background:#fff0f0;color:#962f2f}.alert.warning{background:#fff6df;color:#7d5814}.alert.info{background:#eef5ff;color:#355e8a}.status-pill{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:999px;background:#edf0f4;color:#5e6673;font-size:11px;font-weight:800;text-transform:capitalize}.status-pill.good{background:#e8f7f0;color:#177253}.status-pill.warning{background:#fff3d4;color:#916112}.secret-key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f4f5f7;border:1px dashed #cdd2da;padding:14px;border-radius:12px;letter-spacing:.08em;word-break:break-all;margin:12px 0}.otp-input{text-align:center!important;font-size:28px!important;letter-spacing:.35em!important;font-weight:800!important}.setup-list{margin-top:24px;display:grid;gap:8px;padding:16px;border:1px solid var(--ey-line);border-radius:14px}.setup-list span{display:flex;justify-content:space-between}
/* admin */.app-shell{min-height:100vh;display:flex}.sidebar{width:250px;background:var(--ey-navy);color:#d9dfeb;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:30}.sidebar-brand{display:flex;gap:12px;align-items:center;padding:22px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-brand img{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:10px;padding:4px}.sidebar-brand div{display:grid}.sidebar-brand strong{color:#fff}.sidebar-brand span{font-size:12px;color:#98a2b3}.side-nav{padding:14px 10px;display:grid;gap:3px;overflow:auto}.side-nav a{display:flex;align-items:center;gap:12px;color:#aeb8c9;padding:11px 12px;border-radius:11px;font-size:14px;font-weight:700}.side-nav a:hover,.side-nav a.active{background:rgba(185,147,85,.16);color:#fff}.side-nav a.active{box-shadow:inset 3px 0 0 var(--ey-gold)}.nav-icon{width:22px;text-align:center;color:#d7c29c}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);display:grid;padding:14px 18px}.sidebar-foot a{color:#aeb8c9;padding:8px 0;font-size:13px}.main-wrap{margin-left:250px;min-width:0;flex:1}.topbar{height:70px;background:#fff;border-bottom:1px solid #e7e9ed;display:flex;align-items:center;gap:18px;padding:0 28px;position:sticky;top:0;z-index:20}.top-search{flex:1;max-width:520px}.top-search input{background:#f7f8fa;border:1px solid transparent}.top-user{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ey-gold);color:#fff;font-weight:900}.content{padding:28px;max-width:1500px;margin:0 auto}.page-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.page-heading h1{font-size:32px;margin:4px 0 0;letter-spacing:-.02em}.icon-btn{background:transparent;border:0;font-size:24px;cursor:pointer}.mobile-menu{display:none}.mobile-tabs{display:none}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);padding:20px;box-shadow:0 5px 20px rgba(16,24,39,.035)}.panel h2{margin:0 0 16px;font-size:20px}.panel h3{margin:18px 0 10px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.panel-head h2{margin:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.two-col.wide-left{grid-template-columns:minmax(0,1.65fr) minmax(300px,.8fr)}.top-gap{margin-top:20px}.sticky-panel{position:sticky;top:90px;align-self:start}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px;display:grid;gap:3px;box-shadow:0 5px 16px rgba(16,24,39,.03)}.stat-card span{font-size:12px;color:var(--ey-muted);font-weight:700}.stat-card strong{font-size:28px}.stat-card small{color:var(--ey-muted)}.setup-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(110deg,var(--ey-gold-dark),#b68c4a);color:#fff;padding:18px 20px;border-radius:16px;margin-bottom:20px}.setup-banner div{display:grid;gap:3px}.setup-banner span{font-size:13px;opacity:.9}.checklist{display:grid;gap:10px}.checklist>div{display:flex;gap:12px;align-items:center;background:#f7f8fa;padding:12px;border-radius:12px}.checklist b{width:30px;height:30px;border-radius:50%;background:#e6e8ed;display:grid;place-items:center}.checklist .done b{background:#dff4ea;color:#137454}.appointment-list{display:grid}.appointment-row{display:grid;grid-template-columns:78px 1fr auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #eee;color:var(--ey-ink)}.appointment-row:last-child{border-bottom:0}.appointment-row time{display:grid;color:var(--ey-muted);font-size:11px}.appointment-row time strong{font-size:18px;color:var(--ey-ink)}.appointment-row div{display:grid;gap:2px}.appointment-row div span,.appointment-row div small{color:var(--ey-muted);font-size:12px}.empty{text-align:center;padding:28px;color:var(--ey-muted);background:#f8f9fb;border-radius:12px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;color:#6c7380;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:10px;border-bottom:1px solid #e8eaee}.data-table td{padding:12px 10px;border-bottom:1px solid #eef0f2;vertical-align:middle}.data-table a{color:var(--ey-ink);font-weight:800}.inline-form{display:flex;gap:6px;align-items:center}.inline-form select{padding:7px 8px;min-width:110px}.or{text-align:center;color:#a0a5ae;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.search-inline{display:flex;gap:8px}.search-inline input{max-width:280px}.client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.client-card{border:1px solid #e6e8ec;border-radius:14px;padding:13px;display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;color:var(--ey-ink)}.client-card>div:nth-child(2){display:grid;gap:2px;min-width:0}.client-card span,.client-card small{font-size:12px;color:var(--ey-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#f0e8da;color:#7a5b2e;font-weight:900}.client-avatar.large{width:66px;height:66px;font-size:20px}.service-list{max-height:720px;overflow:auto;padding-right:4px}.service-category{position:sticky;top:0;background:#fff;padding:12px 4px 7px;z-index:1;border-bottom:1px solid #eee;color:var(--ey-gold-dark)}.service-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 6px;border-bottom:1px solid #f0f1f3;color:var(--ey-ink)}.service-row>div{display:grid;gap:3px}.service-row span{font-size:12px;color:var(--ey-muted)}fieldset{border:1px solid #e2e4e8;border-radius:12px;padding:13px}legend{font-size:12px;font-weight:800;color:#5e6571;padding:0 5px}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start!important;gap:9px!important;font-weight:600!important}.check input{width:auto!important;margin-top:3px!important}.location-list{display:grid;gap:12px}.location-card,.practitioner-card,.user-row,.campaign-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid #e6e8ec;border-radius:14px;padding:13px}.location-card>div:nth-child(2),.practitioner-card>div:nth-child(2),.user-row>div:nth-child(2),.campaign-row>div:first-child{display:grid;gap:3px}.location-card span,.location-card small,.practitioner-card span,.user-row span,.campaign-row small{color:var(--ey-muted);font-size:12px}.pin{width:42px;height:42px;border-radius:12px;background:#f4eee4;display:grid;place-items:center;color:var(--ey-gold-dark);font-size:18px}.hours-grid{display:grid;gap:7px;margin-bottom:16px}.hours-grid>div{display:grid;grid-template-columns:150px 120px auto 120px;gap:8px;align-items:center}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:8px;overflow:auto}.day-column{background:#fff;border:1px solid #e4e7eb;border-radius:14px;padding:9px;min-height:470px}.day-column.today{border-color:var(--ey-gold);box-shadow:0 0 0 2px rgba(185,147,85,.12)}.day-column header{display:flex;justify-content:space-between;align-items:center;padding:6px 5px 10px}.day-column header span{font-size:11px;color:var(--ey-muted);font-weight:800;text-transform:uppercase}.day-column header strong{font-size:20px}.cal-event{display:grid;gap:3px;padding:10px;background:#f4f0e9;border-left:3px solid var(--ey-gold);border-radius:9px;margin-bottom:7px;color:var(--ey-ink);font-size:11px}.cal-event time{font-weight:900}.cal-event span,.cal-event small{color:#6b7280}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.switch{display:flex!important;grid-template-columns:auto auto 1fr!important;align-items:center!important;gap:10px!important;background:#f7f8fa;padding:12px;border-radius:12px}.switch input{display:none}.switch span{width:42px;height:24px;border-radius:99px;background:#cfd3da;position:relative}.switch span:before{content:"";position:absolute;width:18px;height:18px;top:3px;left:3px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+span{background:var(--ey-green)}.switch input:checked+span:before{left:21px}.integration-list{display:grid;gap:12px}.integration-list>div{border:1px solid #e6e8ec;border-radius:13px;padding:13px;display:grid;grid-template-columns:1fr auto;gap:5px}.integration-list small{grid-column:1/-1;color:var(--ey-muted)}details{border:1px solid #e3e5e9;border-radius:12px;padding:12px}details summary{font-weight:800;cursor:pointer}details[open] summary{margin-bottom:12px}.form-template{border:1px solid #e6e8ec;border-radius:14px;padding:14px;margin-bottom:10px}.form-template strong{display:block;margin:4px 0}.form-template p{color:var(--ey-muted);font-size:13px;margin:6px 0 0}.client-hero{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:linear-gradient(115deg,#fff,#faf7f1);border:1px solid #e7e1d7;border-radius:18px;padding:18px;margin-bottom:12px}.client-hero h2{margin:0 0 3px}.client-hero p{margin:0 0 8px;color:var(--ey-muted)}.pill-row{display:flex;gap:6px;flex-wrap:wrap}.client-tabs{display:flex;gap:6px;overflow:auto;margin-bottom:18px}.client-tabs a{padding:8px 12px;border-radius:99px;background:#fff;border:1px solid #e4e6e9;color:#555d69;font-size:12px;font-weight:800}.timeline-item{display:grid;grid-template-columns:14px 1fr;gap:10px;padding:7px 0}.timeline-dot{width:9px;height:9px;border-radius:50%;background:var(--ey-gold);margin-top:7px}.timeline-item div{display:grid;gap:2px}.timeline-item small{color:var(--ey-muted)}.timeline-item p{margin:0;color:var(--ey-muted);font-size:12px}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.clinical-photo{margin:0;border:1px solid #e3e5e9;border-radius:12px;overflow:hidden;background:#fff}.clinical-photo img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.clinical-photo figcaption{display:grid;padding:8px}.clinical-photo figcaption span{font-size:11px;color:var(--ey-muted)}.photo-upload{display:grid;grid-template-columns:1.5fr .7fr .8fr 1fr 1fr auto;gap:8px;align-items:center}.camera-button{border:1px dashed #c9ced5;border-radius:12px;padding:12px;display:flex;gap:7px;align-items:center;cursor:pointer}.camera-button input{display:none}.note-card{border-left:3px solid var(--ey-gold);background:#faf9f6;border-radius:0 12px 12px 0;padding:12px;margin-bottom:10px}.note-card>div{display:flex;justify-content:space-between;gap:10px}.note-card span{color:var(--ey-muted);font-size:11px}.note-card p{margin:7px 0 0;line-height:1.5}
/* booking */.booking-app-wrap{max-width:1240px;margin:0 auto;padding:42px 22px 70px}.booking-app-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}.booking-app-head h1{font-size:38px;margin:4px 0 5px;letter-spacing:-.03em}.booking-app-head p{margin:0;color:#6f7580}.portal-link{border:1px solid #ddd7cc;border-radius:12px;padding:11px 14px;color:#493b27;font-weight:800}.booking-off{background:#fff;border:1px solid #e5dfd5;border-radius:20px;padding:38px;text-align:center}.booking-off span{color:var(--ey-gold-dark);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.12em}.booking-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:22px 0}.progress-step{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;color:#a0a5ad;font-size:11px;font-weight:800;position:relative}.progress-step b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eceef1;color:#9197a1}.progress-step.active,.progress-step.done{color:#6b542f}.progress-step.active b{background:var(--ey-gold);color:#fff;box-shadow:0 0 0 5px rgba(185,147,85,.12)}.progress-step.done b{background:#e9ddc9;color:#6d5126}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.booking-main{background:#fff;border:1px solid #e3e1dc;border-radius:22px;box-shadow:var(--shadow);padding:26px;min-height:620px}.booking-summary{background:var(--ey-navy);color:#fff;border-radius:20px;padding:22px;position:sticky;top:20px}.booking-summary .ey-kicker{color:#d8bb86}.booking-summary h3{font-size:21px;margin:8px 0 18px}.summary-line{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.11);padding:11px 0;font-size:12px}.summary-line span{color:#aeb8c8}.summary-line strong{text-align:right}.summary-note{border-top:1px solid rgba(255,255,255,.11);padding-top:14px;margin-top:5px;color:#9aa7ba;font-size:11px;line-height:1.5}.booking-step{display:none}.booking-step.active{display:block}.step-title span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ey-gold-dark);font-weight:900}.step-title h2{font-size:26px;margin:5px 0 6px}.step-title p{color:#737985;margin:0 0 20px}.treatment-search{border:1px solid #dfe2e6;border-radius:13px;padding:0 12px;display:flex;align-items:center;gap:8px;margin-bottom:12px}.treatment-search input{border:0;padding:13px 0;font:inherit;width:100%;outline:0}.category-chips{display:flex;gap:7px;overflow:auto;padding-bottom:6px;margin-bottom:12px}.chip{border:1px solid #dedfe2;background:#fff;border-radius:999px;padding:8px 12px;white-space:nowrap;font-weight:800;color:#59606c;cursor:pointer}.chip.active{background:#f0e7d7;border-color:#d8bd8d;color:#6f5427}.booking-service-group{margin-top:18px}.booking-service-group>h3{display:flex;justify-content:space-between;align-items:center;font-size:15px}.booking-service-group>h3 span{font-size:11px;background:#f1f2f4;padding:4px 7px;border-radius:99px;color:#737a86}.booking-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.booking-service-card,.choice-card{border:1px solid #e1e3e6;background:#fff;border-radius:15px;padding:14px;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;text-align:left;color:var(--ey-ink);cursor:pointer}.booking-service-card:hover,.choice-card:hover{border-color:#c7a873;box-shadow:0 6px 18px rgba(16,24,39,.06)}.booking-service-card>div{display:grid;gap:4px}.booking-service-card>div span{color:#969ba4;font-size:11px}.booking-service-card>b{font-size:13px;color:#7a5c2e}.booking-service-card>i,.choice-card>i{font-style:normal;font-size:20px;color:#adb2ba}.back-link{border:0;background:transparent;padding:0 0 16px;color:#747b86;font-weight:800;cursor:pointer}.choice-stack{display:grid;gap:10px}.choice-card{grid-template-columns:auto 1fr auto;padding:16px}.choice-card>div{display:grid;gap:3px}.choice-card span{font-size:12px;color:#858b95}.choice-icon,.practitioner-initial{width:45px;height:45px;border-radius:13px;display:grid;place-items:center!important;background:#f2ebdf;color:#765728!important;font-weight:900;font-size:15px!important}.date-strip{display:flex;gap:8px;overflow:auto;padding:4px 0 12px}.date-card{min-width:72px;border:1px solid #e0e2e6;background:#fff;border-radius:13px;padding:10px 8px;display:grid;gap:2px;text-align:center;cursor:pointer}.date-card span,.date-card small{font-size:10px;color:#858b94}.date-card strong{font-size:20px}.date-card.active{border-color:var(--ey-gold);background:#faf5ec;box-shadow:0 0 0 2px rgba(185,147,85,.12)}.time-title{font-weight:800;font-size:13px;margin:10px 0}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.time-btn{border:1px solid #dfe2e6;background:#fff;border-radius:12px;padding:12px;font-weight:800;cursor:pointer}.time-btn:hover,.time-btn.active{border-color:var(--ey-gold);background:#f6eee2;color:#6d5127}.loading-line{padding:18px;color:#828894;text-align:center}.account-toggle{display:grid;grid-template-columns:1fr 1fr;background:#f3f4f6;border-radius:12px;padding:4px;margin-bottom:16px}.account-toggle button{border:0;background:transparent;padding:10px;border-radius:9px;font-weight:800;color:#747b85;cursor:pointer}.account-toggle button.active{background:#fff;color:var(--ey-ink);box-shadow:0 2px 8px rgba(0,0,0,.06)}.booking-form{display:grid;gap:13px}.deposit-box{background:#f9f5ed;border:1px solid #e7d8be;border-radius:14px;padding:14px;margin:16px 0}.deposit-box>div{display:flex;justify-content:space-between}.deposit-box p{font-size:11px;color:#766b5b;margin:6px 0 0}.terms-check{margin:14px 0}.signed-in-card{background:#f1f7f4;border:1px solid #d3e8df;border-radius:13px;padding:14px;display:grid;gap:3px}.signed-in-card span{color:#68766f;font-size:12px}.loading-payment{text-align:center;padding:110px 20px}.spinner{width:44px;height:44px;border:4px solid #e4e6e9;border-top-color:var(--ey-gold);border-radius:50%;animation:spin .9s linear infinite;margin:0 auto 18px}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}.photo-upload{grid-template-columns:1fr 1fr}.week-grid{grid-template-columns:repeat(7,180px)}}
@media(max-width:860px){.sidebar{transform:translateX(-100%);transition:.2s;width:280px}.sidebar.open{transform:translateX(0);box-shadow:20px 0 60px rgba(0,0,0,.25)}.main-wrap{margin-left:0}.mobile-menu{display:block}.content{padding:18px 14px 80px}.topbar{padding:0 14px;height:62px}.top-user>span{display:none}.mobile-tabs{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e1e4e8;z-index:25;padding-bottom:env(safe-area-inset-bottom)}.mobile-tabs a,.mobile-tabs button{border:0;background:#fff;color:#59606b;padding:9px 4px 7px;display:grid;place-items:center;gap:2px;font-size:17px}.mobile-tabs span{font-size:9px}.two-col,.two-col.wide-left{grid-template-columns:1fr}.sticky-panel{position:static}.photo-grid{grid-template-columns:repeat(3,1fr)}.booking-layout{grid-template-columns:1fr}.booking-summary{position:static;order:-1}.booking-progress span{display:none}.progress-step{grid-template-columns:1fr;place-items:center}.booking-main{padding:20px}.booking-service-grid{grid-template-columns:1fr}.booking-app-wrap{padding:30px 14px 60px}.booking-app-head{align-items:start}.booking-app-head h1{font-size:31px}.time-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.split,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.stat-grid{grid-template-columns:1fr 1fr}.client-grid{grid-template-columns:1fr}.page-heading h1{font-size:27px}.appointment-row{grid-template-columns:68px 1fr}.appointment-row>.status-pill{display:none}.client-hero{grid-template-columns:auto 1fr}.client-hero>.app-btn{grid-column:1/-1}.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-upload{grid-template-columns:1fr}.hours-grid>div{grid-template-columns:1fr 1fr 20px 1fr}.hours-grid>div .check{grid-column:1/-1}.booking-app-head{display:grid}.portal-link{width:max-content}.time-grid{grid-template-columns:repeat(3,1fr)}.booking-progress{gap:2px}.progress-step b{width:28px;height:28px}.auth-card,.install-card{padding:24px}.setup-banner{display:grid}.top-search{display:none}}
/* customer portal */.portal-body{margin:0;background:#f6f7f9;color:var(--ey-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}.portal-top{height:70px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.portal-top img{height:48px;max-width:150px;object-fit:contain}.portal-top>div{display:flex;align-items:center;gap:15px;font-size:13px}.portal-top a{color:var(--ey-ink);font-weight:800}.portal-shell{max-width:1180px;margin:0 auto;padding:34px 18px 70px}.portal-heading h1{font-size:36px;margin:4px 0}.portal-heading p{color:var(--ey-muted);margin:0 0 22px}.portal-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr);gap:20px;align-items:start}.portal-side{position:sticky;top:92px}.portal-appointment{border:1px solid #e2e5e9;border-radius:16px;padding:15px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;margin-bottom:11px;background:#fff}.portal-date{width:58px;height:64px;border-radius:14px;background:#f4ecdf;color:#75572b;display:grid;place-items:center;align-content:center}.portal-date strong{font-size:25px;line-height:1}.portal-date span{font-size:11px;text-transform:uppercase;font-weight:900}.portal-appointment h3{margin:4px 0;font-size:18px}.portal-appointment p{margin:0 0 8px;color:var(--ey-muted);font-size:12px;line-height:1.45}.portal-actions{display:grid;gap:6px}.past-appointment{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0f2}.past-appointment>div{display:grid;gap:3px}.past-appointment span{font-size:12px;color:var(--ey-muted)}.portal-narrow{max-width:680px;margin:0 auto;padding:50px 18px}.portal-narrow h1{font-size:32px;margin:5px 0}.portal-narrow>p{color:var(--ey-muted)}
@media(max-width:860px){.portal-grid{grid-template-columns:1fr}.portal-side{position:static}.portal-appointment{grid-template-columns:auto 1fr}.portal-actions{grid-column:1/-1;display:flex}.portal-heading h1{font-size:31px}}
.confirmation-card{display:grid;border:1px solid #e3e5e8;border-radius:15px;overflow:hidden;margin:18px 0}.confirmation-card>div{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid #eceef1}.confirmation-card>div:last-child{border-bottom:0}.confirmation-card span{color:var(--ey-muted);font-size:12px}.confirmation-card strong{text-align:right}.confirmation-actions{display:grid;gap:9px}
.service-assign{max-height:430px;overflow:hidden}.service-check-list{max-height:340px;overflow:auto;display:grid;gap:5px;padding-top:8px}.service-check-list>strong{position:sticky;top:0;background:#fff;padding:8px 0 4px;color:var(--ey-gold-dark);font-size:12px}.mini-filter{margin-bottom:4px}.location-card a,.practitioner-card a{color:var(--ey-ink)}
.time-off-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #eceef1}.time-off-row>div{display:grid;gap:2px}.time-off-row span{font-size:11px;color:var(--ey-muted)}.compact-form{margin-top:12px}


/* v7 professional CRM refresh */
:root{--ey-radius:10px;--ey-radius-sm:7px;--ey-line:#e4e7eb;--ey-bg:#f6f7f9;--ey-card:#fff;--ey-text:#162033;--ey-muted2:#6f7785}
.app-body{background:var(--ey-bg)}.panel{border-radius:var(--ey-radius);box-shadow:0 1px 2px rgba(16,24,40,.035);border-color:var(--ey-line)}.app-btn,.mini-btn,input,select,textarea,.status-pill{border-radius:var(--ey-radius-sm)!important}.page-heading{margin-bottom:20px}.page-heading h1{font-weight:750;letter-spacing:-.025em}.sidebar{background:#10192b}.side-nav a{border-radius:7px;margin:2px 9px;padding:10px 12px}.side-nav a.active{background:#263249;color:#fff}.topbar{box-shadow:none;border-bottom:1px solid #e5e8ec}.data-table.modern th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#7c8491;background:#fafbfc}.data-table.modern td{vertical-align:middle}.header-actions{display:flex;gap:8px;flex-wrap:wrap}.app-btn.compact{padding:9px 12px;font-size:12px}.narrow-panel{max-width:820px}.form-actions{display:flex;justify-content:flex-end;gap:10px}.client-search-bar{display:flex;gap:8px;border-top:1px solid var(--ey-line);border-bottom:1px solid var(--ey-line);padding:14px 0;margin:6px 0 0}.client-search-bar input{flex:1}.client-name-cell{display:flex;align-items:center;gap:10px;color:var(--ey-text)}.client-name-cell .small{width:32px;height:32px;font-size:11px}.client-table-wrap{overflow:auto}.appointment-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:14px;padding:14px}.filter-bar{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.filter-bar label{display:grid;gap:4px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#747c89;font-weight:800}.filter-bar input,.filter-bar select{min-height:36px}.view-links{display:flex;gap:6px}.appointment-layout{grid-template-columns:minmax(0,1fr) 360px}.appointment-card-row{display:grid;grid-template-columns:48px 55px minmax(0,1fr) auto auto 16px;gap:12px;align-items:center;padding:12px 8px;border-bottom:1px solid #edf0f2;color:var(--ey-text)}.appointment-card-row:hover{background:#fafbfc}.appt-date{width:42px;height:46px;border:1px solid var(--ey-line);display:grid;place-items:center;align-content:center;border-radius:8px}.appt-date strong{font-size:18px;line-height:1}.appt-date span{font-size:9px;text-transform:uppercase;color:#7c8490}.appt-time{font-weight:800}.appt-main{display:grid;gap:2px}.appt-main span{font-size:12px;color:#3f4858}.appt-main small{color:#8b929d}.form-divider{height:1px;background:var(--ey-line);position:relative;margin:6px 0 10px}.form-divider span{position:absolute;background:#fff;padding:0 8px;left:12px;top:-8px;font-size:10px;color:#9097a2;text-transform:uppercase}.appointment-header{display:flex;align-items:center;justify-content:space-between}.appointment-header h2{margin:4px 0}.appointment-header p{margin:0;color:var(--ey-muted2)}.consent-status-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #edf0f2}.consent-status-row>div{display:grid;gap:2px}.consent-status-row small{color:#8b929d}.app-btn.danger{background:#fff4f3;color:#b42318;border:1px solid #f5c2bd}.location-list.professional .location-card{grid-template-columns:42px minmax(0,1fr) auto auto}.forms-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(390px,.65fr);gap:18px;align-items:start}.form-editor{position:sticky;top:82px}.forms-filter-note{background:#f7f9fc;border:1px solid #e2e8f0;padding:11px 13px;border-radius:8px;font-size:12px;color:#5d6674;margin-bottom:12px}.form-template-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto 14px;gap:12px;align-items:center;padding:13px 10px;border-bottom:1px solid #edf0f2;color:var(--ey-text)}.form-template-row:hover,.form-template-row.active{background:#faf7f0}.form-template-row>div{display:grid;gap:2px}.form-template-row small{color:#8b929d}.form-doc-icon{width:34px;height:34px;border-radius:8px;background:#f3eee5;display:grid;place-items:center;color:#8b6a37}.service-assignment{max-height:380px}.signed-form-list{display:grid}.signed-form-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #edf0f2}.signed-form-row>div{display:grid;gap:3px}.calendar-pro{background:#fff;border:1px solid var(--ey-line);border-radius:10px;overflow:hidden}.calendar-pro-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid var(--ey-line)}.calendar-nav,.calendar-controls,.calendar-filter{display:flex;align-items:center;gap:7px}.segmented{display:flex;background:#f2f4f6;padding:3px;border-radius:8px}.segmented a{padding:7px 10px;color:#69717d;border-radius:6px;font-size:11px;font-weight:800}.segmented a.active{background:#fff;color:#111827;box-shadow:0 1px 3px rgba(0,0,0,.08)}.week-pro-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));min-height:650px;overflow:auto}.week-pro-day{border-right:1px solid #edf0f2;min-width:150px;background:#fff}.week-pro-day>header{height:58px;border-bottom:1px solid #edf0f2;display:flex;align-items:center;gap:7px;padding:0 10px}.week-pro-day>header span{font-size:11px;color:#7d8591}.week-pro-day>header strong{font-size:20px}.week-pro-day>header small{margin-left:auto;color:#a0a6af}.week-pro-day.today>header{background:#faf6ef}.week-event{display:grid;gap:2px;margin:7px;padding:8px;border-left:3px solid #a78bfa;background:#f7f5ff;color:#1f2937;border-radius:5px}.week-event time{font-size:11px;font-weight:900}.week-event strong{font-size:12px}.week-event span,.week-event small{font-size:10px;color:#687180}.practitioner-color-0{border-left-color:#3b82f6;background:#eff6ff}.practitioner-color-1{border-left-color:#8b5cf6;background:#f5f3ff}.practitioner-color-2{border-left-color:#10b981;background:#ecfdf5}.practitioner-color-3{border-left-color:#f59e0b;background:#fffbeb}.practitioner-color-4{border-left-color:#ef4444;background:#fef2f2}.practitioner-color-5{border-left-color:#06b6d4;background:#ecfeff}.practitioner-color-6{border-left-color:#ec4899;background:#fdf2f8}.practitioner-color-7{border-left-color:#64748b;background:#f8fafc}.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.month-day{min-height:135px;border-right:1px solid #edf0f2;border-bottom:1px solid #edf0f2;padding:8px}.month-day header{display:flex;justify-content:space-between}.month-day header span{font-size:10px;color:#9ba1aa}.month-day.today{background:#fffaf2}.month-day.muted-day{background:#fafafa;color:#aaa}.month-event{display:block;margin-top:5px;border-left:3px solid #8b5cf6;padding:5px 6px;border-radius:4px;font-size:10px;color:#273142;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-event time{font-weight:900;margin-right:4px}.day-agenda{display:grid;grid-template-columns:68px 1fr;min-height:650px}.agenda-hours{display:grid;grid-template-rows:repeat(13,52px);border-right:1px solid #edf0f2;padding-top:4px}.agenda-hours span{font-size:10px;color:#9198a3;text-align:right;padding-right:10px}.agenda-list{padding:10px;position:relative}.agenda-event{display:grid;grid-template-columns:80px 180px 1fr 1fr;gap:12px;align-items:center;padding:12px;border-left:4px solid #8b5cf6;margin-bottom:8px;border-radius:6px;color:#263142}.consent-body{background:#f5f6f8}.consent-shell{max-width:1120px;margin:0 auto;padding:32px 18px 80px}.consent-booking-summary{margin-bottom:18px}.consent-booking-summary h1{font-size:30px;margin:5px 0}.consent-booking-summary p{color:#687180;line-height:1.5}.consent-layout{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start}.consent-nav{background:#fff;border:1px solid var(--ey-line);border-radius:10px;overflow:hidden}.consent-nav a{display:flex;gap:10px;padding:12px;border-bottom:1px solid #edf0f2;color:#243044}.consent-nav a.active{background:#faf7f1}.consent-nav a>span:last-child{display:grid;gap:2px}.consent-nav small{font-size:10px;color:#89919c}.consent-dot{width:24px;height:24px;border-radius:50%;background:#eef1f4;display:grid;place-items:center;font-weight:900;color:#8a929e;flex:none}.consent-dot.done{background:#e7f7ef;color:#168256}.consent-panel h2{font-size:27px;margin:5px 0}.lead-small{color:#69717e;margin-bottom:20px}.consent-document{white-space:normal;line-height:1.65;background:#fafbfc;border:1px solid #e7eaee;padding:18px;border-radius:8px;color:#343e4d;margin:18px 0}.consent-question{border:1px solid #e3e6ea;padding:13px;margin:10px 0;border-radius:8px}.consent-question legend{font-weight:700;padding:0 6px;line-height:1.4}.consent-question label{display:inline-flex;align-items:center;gap:6px;margin:8px 20px 0 0}.consent-check{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #edf0f2}.signature-block{margin:18px 0}.signature-block canvas{width:100%;height:150px;border:1px solid #ccd2da;background:#fff;border-radius:6px;touch-action:none;display:block;margin:7px 0}.completion-state{text-align:center;padding:50px 20px}.completion-icon{width:58px;height:58px;border-radius:50%;background:#e6f7ee;color:#168256;display:grid;place-items:center;font-size:30px;margin:0 auto 14px}.legal-note{font-size:11px;color:#8a929d;margin-top:16px;text-align:center}
/* cleaner customer booking */
.booking-main{border-radius:10px}.booking-summary{border-radius:10px}.booking-service-card,.choice-card,.date-card,.time-btn,.treatment-search{border-radius:8px!important}.chip{border-radius:7px!important;padding:8px 11px}.booking-service-card{padding:12px 13px}.booking-service-group{border-top:1px solid #edf0f2;padding-top:12px}.booking-service-grid{gap:7px}.booking-progress{max-width:760px}.progress-step b{border-radius:50%}.booking-app-head h1{letter-spacing:-.03em}.booking-summary h3{font-size:19px}.account-toggle{border-radius:8px}.account-toggle button{border-radius:6px}.deposit-box,.signed-in-card{border-radius:8px}
@media(max-width:1100px){.forms-layout{grid-template-columns:1fr}.form-editor{position:static}.appointment-layout{grid-template-columns:1fr}.appointment-layout .sticky-panel{position:static}.calendar-pro-toolbar{align-items:flex-start;flex-direction:column}.week-pro-grid{grid-template-columns:repeat(7,180px)}}
@media(max-width:760px){.header-actions{width:100%}.client-list-head{align-items:flex-start;flex-direction:column}.appointment-toolbar{align-items:stretch;flex-direction:column}.filter-bar{display:grid;grid-template-columns:1fr 1fr}.filter-bar .app-btn{grid-column:1/-1}.appointment-card-row{grid-template-columns:42px 48px minmax(0,1fr) 15px}.appointment-card-row>.status-pill{display:none}.calendar-controls{width:100%;flex-wrap:wrap}.calendar-filter{width:100%}.calendar-filter select{flex:1}.week-pro-grid{grid-template-columns:repeat(7,165px)}.month-grid{grid-template-columns:repeat(7,130px);overflow:auto}.month-day{min-height:120px}.day-agenda{grid-template-columns:48px 1fr}.agenda-event{grid-template-columns:62px 1fr}.agenda-event span,.agenda-event small{grid-column:2}.consent-layout{grid-template-columns:1fr}.consent-nav{display:flex;overflow:auto}.consent-nav a{min-width:210px;border-right:1px solid #edf0f2}.booking-app-wrap{padding:18px 10px 50px}.booking-app-head h1{font-size:27px}.booking-main{padding:15px}.booking-summary{display:none}.booking-service-grid{grid-template-columns:1fr}.booking-service-card{grid-template-columns:1fr auto auto}.category-chips{gap:5px}.step-title h2{font-size:23px}.time-grid{grid-template-columns:repeat(3,1fr)}.portal-appointment{border-radius:8px}.portal-date{border-radius:7px}.panel{border-radius:8px}}

/* v8 professional UI refinement */
:root{--ey-radius:6px;--ey-radius-sm:4px;--ey-shadow:0 8px 28px rgba(15,23,42,.055)}
.panel,.stat-card,.booking-main,.booking-summary,.portal-appointment,.choice-card,.booking-service-card,.treatment-search,.deposit-box,.offer-code-box,.auth-card,.install-card{border-radius:var(--ey-radius)!important;box-shadow:none}
.app-btn,.mini-btn,.chip,.time-btn,.date-card,input,select,textarea,.status-pill,.account-toggle,.account-toggle button{border-radius:var(--ey-radius-sm)!important}
.app-btn{letter-spacing:.005em}.side-nav a{border-radius:4px}.page-heading h1{letter-spacing:-.025em}
.booking-site{background:#f7f7f6}.booking-app-wrap{max-width:1280px}.booking-app-head{padding-bottom:18px;border-bottom:1px solid #e5e7eb}.booking-app-head h1{font-size:38px}.booking-layout{grid-template-columns:minmax(0,1fr) 310px;gap:20px}.booking-main{border:1px solid #dfe3e8;padding:28px}.booking-summary{background:#fff!important;color:#182230!important;border:1px solid #dfe3e8;padding:22px;position:sticky;top:20px}.booking-summary .ey-kicker{color:#9a6e25}.booking-summary h3{color:#111827}.summary-line{border-color:#eceff2!important}.summary-line span,.summary-note{color:#6b7280!important}.summary-line strong{color:#111827!important}.booking-progress{background:transparent;border-bottom:1px solid #e5e7eb;padding:0 0 16px;margin-bottom:20px}.progress-step b{width:28px;height:28px;font-size:11px}.progress-step span{font-size:11px}.booking-service-group h3{font-size:16px;padding:8px 0;margin:0 0 8px}.booking-service-group h3 span{background:#f0f2f4;border-radius:10px}.booking-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.booking-service-card{min-height:64px;border:1px solid #dde2e7;background:#fff}.booking-service-card:hover{border-color:#b58b4b;background:#fffdf9;transform:none}.booking-service-card strong{font-size:13px}.booking-service-card span{font-size:10px}.booking-service-card b{font-size:13px;color:#7c5a24}.category-chips{padding:10px 0;border-bottom:1px solid #e5e7eb;margin-bottom:12px;overflow:auto}.chip{background:#fff;border:1px solid #dfe3e8;font-size:11px;white-space:nowrap}.chip.active{background:#182230;color:#fff;border-color:#182230}.choice-card{padding:14px 12px;border:1px solid #dfe3e8}.choice-card:hover{border-color:#b58b4b;background:#fffdf9}.step-title h2{font-size:29px}.step-title p{max-width:650px}.offer-code-box{border:1px solid #e0e4e8;padding:14px;background:#fafbfc;margin:15px 0}.offer-code-box label>span{font-weight:400;color:#8a929e}.offer-code-entry{display:flex;gap:7px;margin-top:6px}.offer-code-entry input{flex:1}.offer-code-box small{display:block;margin-top:6px;color:#727b87}.offer-code-box small.offer-applied{color:#157347;font-weight:700}.no-availability{border:1px solid #e6d7b9;background:#fffcf6;padding:22px;display:grid;gap:8px}.no-availability strong{font-size:18px}.no-availability p{margin:0;color:#667085}.no-availability a{font-weight:800;color:#7c5a24}
.offer-admin-list{display:grid}.offer-admin-row{display:grid;grid-template-columns:1fr auto 14px;gap:12px;align-items:center;padding:14px 8px;border-bottom:1px solid #edf0f2;color:var(--ey-text)}.offer-admin-row>div{display:grid;gap:3px}.offer-admin-row small{color:#89919c}.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.report-kpis>div{background:#fff;border:1px solid var(--ey-line);padding:16px;display:grid;gap:4px;border-radius:6px}.report-kpis span{font-size:11px;color:#6f7783}.report-kpis strong{font-size:25px}.report-kpis small{color:#8b929c}.report-toolbar{display:flex;align-items:center;justify-content:space-between}.profit-list>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf0f2}.profit-list span{display:grid;gap:2px}.profit-list span:last-child{text-align:right}.profit-list small{color:#8a929d}.referral-code-card{background:#f7f8fa;border:1px solid #e2e5e9;padding:12px;display:grid;gap:3px}.referral-code-card strong{font-size:22px;letter-spacing:.06em}.referral-code-card small{word-break:break-all;color:#727b87}.mini-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.mini-stat-row>div{border:1px solid #e4e7eb;padding:9px;display:grid;gap:2px}.mini-stat-row strong{font-size:17px}.mini-stat-row span{font-size:10px;color:#7b8490}.referral-share{display:flex;gap:7px}.referral-share input{min-width:0;flex:1;background:#f7f8fa}
.portal-body{background:#f6f7f8}.portal-top{box-shadow:none;border-bottom:1px solid #e5e7eb}.portal-shell{max-width:1240px}.portal-heading{border-bottom:1px solid #e5e7eb;padding-bottom:18px}.portal-heading h1{font-size:34px}.portal-appointment{border:1px solid #e0e4e8;padding:14px}.portal-date{border-radius:4px!important;background:#f5f2eb!important}.portal-main h2,.portal-side h2{letter-spacing:-.015em}.portal-actions{gap:6px}.portal-actions .app-btn,.portal-actions .mini-btn{white-space:nowrap}.referral-portal p{color:#69717d;line-height:1.5}
@media(max-width:900px){.report-kpis{grid-template-columns:repeat(2,1fr)}.report-toolbar{align-items:stretch;flex-direction:column;gap:10px}.booking-layout{grid-template-columns:1fr}.booking-summary{display:none}}
@media(max-width:760px){.booking-site .top{display:none}.booking-site .nav{position:relative}.booking-app-wrap{padding:14px 10px 40px}.booking-app-head{align-items:flex-start}.booking-app-head h1{font-size:27px;margin:4px 0}.booking-app-head p{font-size:13px}.booking-app-head .portal-link{font-size:11px}.booking-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;overflow:visible}.progress-step{gap:0;justify-content:center}.progress-step:after{display:none}.progress-step span{display:none}.progress-step.active span{display:block;position:absolute;margin-top:45px;background:#182230;color:#fff;padding:3px 7px;border-radius:3px}.booking-main{padding:14px 12px}.step-title{margin-top:5px}.step-title h2{font-size:23px;line-height:1.15}.step-title p{font-size:13px}.category-chips{margin-left:-12px;margin-right:-12px;padding-left:12px}.booking-service-grid{grid-template-columns:1fr}.booking-service-card{min-height:58px;padding:10px}.time-grid{grid-template-columns:repeat(3,1fr)}.choice-card{padding:12px 10px}.account-toggle{display:grid;grid-template-columns:1fr 1fr}.offer-code-entry{align-items:stretch}.portal-grid{grid-template-columns:1fr!important}.portal-shell{padding:20px 10px 50px}.portal-top{padding:9px 12px}.portal-top img{max-height:38px}.portal-heading h1{font-size:27px}.portal-appointment{grid-template-columns:46px 1fr}.portal-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.portal-actions>*{width:100%}.portal-actions .app-btn{grid-column:1/-1}.mini-stat-row{grid-template-columns:1fr 1fr 1fr}.referral-share{flex-direction:column}.report-kpis{grid-template-columns:1fr 1fr}.report-kpis strong{font-size:20px}.forms-layout{gap:10px}}

/* =========================================================
   v9 — professional clinic UI / responsive booking redesign
   ========================================================= */
:root{--v9-bg:#f5f6f8;--v9-panel:#fff;--v9-ink:#111827;--v9-muted:#667085;--v9-border:#dfe3e8;--v9-border-soft:#edf0f3;--v9-accent:#a67b3f;--v9-accent-soft:#f8f3eb;--v9-navy:#111a2c;--v9-success:#13795b;--v9-danger:#b42318}
.app-body{background:var(--v9-bg)}
.content{max-width:1560px;padding:26px 30px 50px}.panel{border:1px solid var(--v9-border)!important;border-radius:7px!important;background:#fff!important;padding:22px!important}.panel h2{font-weight:680;letter-spacing:-.015em}.page-heading{margin-bottom:18px}.page-heading h1{font-size:29px}.muted{color:var(--v9-muted)}
.app-btn,.mini-btn{border-radius:4px!important;box-shadow:none!important}.app-btn.primary{background:var(--v9-navy)}.app-btn.secondary{background:#f2f4f7;color:#172033;border:1px solid #dfe3e8}.mini-btn{font-weight:650}.mini-btn.active{border-color:#98a2b3;background:#f2f4f7}.success-btn{border-color:#a7dbc8!important;color:#096c4f!important;background:#f2fcf8!important}.danger-link,.text-danger{color:var(--v9-danger)!important;background:transparent!important;border:0!important;cursor:pointer;font:inherit;font-size:12px;font-weight:650;padding:4px}
.stack-form label,.form-grid label,.booking-form label,.field-label{font-weight:540!important;color:#344054!important}.stack-form input,.stack-form select,.stack-form textarea,.form-grid input,.form-grid select,.form-grid textarea,.field-label input,.field-label select,.field-label textarea,.panel input,.panel select,.panel textarea{border-radius:4px!important;border-color:#d5dae1!important;background:#fff}.stack-form textarea,.form-grid textarea{font-weight:400!important;line-height:1.5}.stack-form small,.form-grid small{font-weight:400!important}.panel fieldset{border:1px solid #e2e6eb;border-radius:5px}.panel legend{font-weight:650;color:#475467}.colour-input{height:44px;padding:4px!important;max-width:90px}

/* Filters / date ranges */
.appointment-command{padding:16px 18px!important}.command-row{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}.quick-range{display:flex;gap:6px;flex-wrap:wrap}.filter-grid{display:grid;grid-template-columns:150px 150px minmax(150px,1fr) minmax(160px,1fr) minmax(160px,1fr) auto;gap:10px;align-items:end}.filter-grid label{display:grid;gap:5px;font-size:11px;font-weight:700;color:#667085;text-transform:uppercase;letter-spacing:.04em}.filter-grid input,.filter-grid select{height:40px;padding:8px 10px;border:1px solid #d7dce2;border-radius:4px!important;background:#fff;font-size:13px}.filter-grid .app-btn{height:40px;padding:9px 14px}.view-links{display:flex;gap:6px;flex-wrap:wrap}

/* Treatment / staff lists */
.treatment-admin-list,.forms-list,.offer-admin-list{border-top:1px solid var(--v9-border-soft)}.list-section-title{padding:18px 10px 7px;color:#8b6732;text-transform:uppercase;font-size:11px;letter-spacing:.09em;font-weight:800}.treatment-admin-row,.editable-row{display:flex;align-items:center;gap:14px;padding:13px 10px;border-bottom:1px solid var(--v9-border-soft);color:var(--v9-ink)}.treatment-admin-row:hover,.editable-row:hover{background:#fafbfc}.treatment-admin-row .grow,.editable-row .grow{display:grid;gap:3px;min-width:0}.treatment-admin-row span,.editable-row span{font-size:12px;color:#667085}.treatment-admin-row>b,.editable-row>b{font-size:12px;color:#667085;margin-left:4px}.practitioner-grid-pro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.practitioner-card-pro{position:relative;display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #e1e5ea;border-radius:5px;color:var(--v9-ink);overflow:hidden}.practitioner-card-pro:hover{border-color:#b8c0ca;background:#fafbfc}.practitioner-colour{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--prac-color)}.practitioner-card-pro .grow{display:grid;gap:3px}.practitioner-card-pro .grow span,.practitioner-card-pro .grow small{color:#667085;font-size:12px}.practitioner-card-pro>b{font-size:12px;color:#667085}.record-editor{max-width:850px}.editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}

/* Forms — eliminate overlap, lighter text */
.forms-layout{grid-template-columns:minmax(0,1.4fr) minmax(390px,.7fr);align-items:start}.form-editor{position:sticky;top:88px;max-height:none!important}.form-editor .stack-form>label,.form-editor .check{font-weight:500!important}.form-editor textarea{font-weight:400!important;font-size:13px;line-height:1.55}.service-assignment{max-height:none!important;height:auto!important;overflow:visible!important;padding:14px!important}.service-assignment .mini-filter{margin-bottom:10px}.service-check-list.form-service-picker{max-height:300px!important;overflow:auto!important;border:1px solid #e0e4e8;border-radius:4px;padding:8px;background:#fafbfc}.form-service-picker>strong{display:block;position:sticky;top:0;background:#f3f5f7;padding:7px 8px;margin:3px -2px 4px;z-index:1;font-size:11px;color:#805f2f;text-transform:uppercase;letter-spacing:.05em}.form-service-picker label{padding:5px 7px!important;margin:0!important;font-weight:450!important}.form-switches{display:grid;gap:9px;border-top:1px solid #e5e7eb;padding-top:12px}.form-template-row{display:flex!important;align-items:center;gap:12px;padding:13px 8px;border-bottom:1px solid #edf0f2;color:var(--v9-ink)}.form-template-row .grow{display:grid;gap:3px}.form-template-row .grow small{color:#667085}.forms-filter-note{border-radius:4px!important;font-weight:400}.forms-filter-note strong{font-weight:650}

/* Offers / referrals */
.offer-admin-row{border-radius:0!important;padding:14px 8px}.compact-check-list{max-height:280px;overflow:auto}.payout-list{display:grid}.payout-row,.followup-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf0f2;padding:13px 4px}.payout-row .grow,.followup-row .grow{display:grid;gap:3px}.payout-row span,.payout-row small,.followup-row span,.followup-row small{color:#667085;font-size:12px}.row-actions{display:flex;align-items:center;gap:6px}.followup-row.overdue{border-left:3px solid #d92d20;padding-left:10px}.followup-date{width:46px;height:50px;border:1px solid #e0e4e8;display:grid;place-items:center;align-content:center;border-radius:4px}.followup-date strong{font-size:19px}.followup-date span{font-size:10px;text-transform:uppercase}.grow{flex:1;min-width:0}

/* Marketing */
.campaign-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.campaign-card{border:1px solid #e0e4e8;padding:17px;border-radius:5px;min-height:190px;display:flex;flex-direction:column}.campaign-card-top{display:flex;justify-content:space-between;gap:8px}.campaign-card h3{font-size:17px;margin:16px 0 6px}.campaign-card p{font-size:13px;color:#667085;line-height:1.5;margin:0 0 8px}.campaign-card small{color:#8a929d}.campaign-card-actions{display:flex;gap:7px;margin-top:auto;padding-top:16px}.campaign-editor-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.65fr);gap:18px}.editor-toolbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:8px 0}.editor-toolbar span{font-size:11px;color:#667085}.editor-toolbar code{background:#f2f4f7;padding:2px 5px}.campaign-preview{width:100%;height:620px;border:1px solid #dfe3e8;background:#fff;border-radius:4px}

/* Settings / providers */
.settings-grid{display:grid;grid-template-columns:minmax(0,1.5fr) 350px;gap:18px;align-items:start}.settings-status{position:sticky;top:88px}.provider-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:10px 0 16px}.provider-card{display:grid!important;grid-template-columns:auto 1fr auto!important;gap:10px!important;align-items:center!important;border:1px solid #dfe3e8;border-radius:5px;padding:14px!important;cursor:pointer;background:#fff}.provider-card.selected{border-color:#a67b3f;background:#fffcf7;box-shadow:inset 0 0 0 1px #a67b3f}.provider-card input{width:auto!important;margin:0}.provider-card div{display:grid;gap:3px}.provider-card div strong{font-size:14px}.provider-card div span{font-size:11px;color:#667085}.provider-card>b{font-size:10px;color:#667085}.credential-panels details{border:1px solid #e0e4e8;margin-top:7px;border-radius:4px;background:#fafbfc}.credential-panels summary{padding:12px 13px;cursor:pointer;font-weight:650}.credential-panels details>label,.credential-panels details>.form-grid{margin:0 13px 13px}.integration-list>div{border-radius:0!important;border-bottom:1px solid #edf0f2}

/* Admin appointment / calendar */
.appointment-list-row{border-left:4px solid var(--prac-color)!important;border-radius:4px!important}.appt-badges{display:flex;gap:5px;flex-wrap:wrap}.practitioner-legend{display:flex;gap:14px;flex-wrap:wrap;margin:8px 0 14px}.practitioner-legend span{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:#667085}.practitioner-legend i{width:10px;height:10px;border-radius:2px;background:var(--prac-color)}.calendar-event,.agenda-event,.month-event{border-left:4px solid var(--prac-color)!important;background:color-mix(in srgb,var(--prac-color) 7%,white)!important}.arrivals-board{margin-top:16px;border-top:1px solid #e5e7eb;padding-top:16px}.arrival-row{display:grid;grid-template-columns:70px minmax(160px,1fr) minmax(180px,1.2fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0f2}.arrival-row>time{font-weight:800}.arrival-row .row-actions{justify-content:flex-end}.calendar-toolbar,.calendar-pro-toolbar{border-radius:5px!important}.calendar-controls select,.calendar-filter select{border-radius:4px!important}

/* Admin booking */
.booking-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.span-booking{grid-column:1/-1}.booking-admin-step{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.booking-admin-step>span{width:28px;height:28px;background:#111827;color:#fff;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:800}.booking-admin-step h2{margin:0 0 4px}.booking-admin-step p{margin:0;color:#667085;font-size:13px}.client-picker{position:relative}.client-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #dfe3e8;z-index:10;max-height:280px;overflow:auto}.client-search-results button{display:grid;width:100%;text-align:left;padding:11px 12px;border:0;border-bottom:1px solid #edf0f2;background:#fff;cursor:pointer}.client-search-results button:hover{background:#f7f8fa}.client-search-results span,.selected-client span{font-size:12px;color:#667085}.selected-client{display:flex;justify-content:space-between;gap:12px;border:1px solid #d5dae1;padding:12px;background:#fafbfc}.selected-client>div{display:grid}.selected-client button{border:0;background:transparent;color:#8a642d;cursor:pointer}.new-client-block{margin-top:10px}.new-client-block summary{cursor:pointer;font-size:13px;color:#667085}.admin-date-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:7px}.admin-date-card,.admin-time-card{border:1px solid #dfe3e8;background:#fff;padding:10px;border-radius:4px;cursor:pointer}.admin-date-card{display:grid;place-items:center}.admin-date-card span,.admin-date-card small{font-size:10px;color:#667085}.admin-date-card strong{font-size:18px}.admin-date-card.active,.admin-time-card.active{border-color:#9a7137;background:#fffaf2;box-shadow:inset 0 0 0 1px #9a7137}.admin-time-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.admin-time-card{display:grid;gap:2px;text-align:left}.admin-time-card span{font-size:10px;color:#667085}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}

/* Patient record */
.client-hero{border-radius:6px!important;border:1px solid #dfe3e8;background:#fff;padding:18px}.client-tabs{border-radius:5px!important;border:1px solid #dfe3e8;background:#fff;overflow:auto;display:flex}.client-tabs a{white-space:nowrap}.photo-comparison-grid{display:grid;gap:12px}.photo-session{border:1px solid #e0e4e8;border-radius:5px;overflow:hidden}.photo-session-head{padding:12px 14px;background:#fafbfc;border-bottom:1px solid #e6e9ed}.photo-session-head>div{display:grid;gap:3px}.photo-session-head span{font-size:12px;color:#667085}.before-after-pair{display:grid;grid-template-columns:1fr 1fr;gap:0}.photo-column{padding:12px;border-right:1px solid #edf0f2}.photo-column:last-child{border-right:0}.clinical-photo{border-radius:4px!important}.clinical-photo img{aspect-ratio:4/3;object-fit:cover}.photo-empty{height:130px;border:1px dashed #d7dce2;display:grid;place-items:center;color:#98a2b3;font-size:12px;background:#fafbfc}.note-head{display:flex;justify-content:space-between;gap:10px}.note-head details{position:relative}.note-head summary{cursor:pointer;font-size:12px;color:#8a642d}.note-editor{min-width:300px;padding:10px 0}.note-card{border-radius:4px!important}.photo-upload{border-radius:5px!important}

/* Customer portal referrals */
.referral-payout-box{border-top:1px solid #e5e7eb;margin-top:18px;padding-top:15px}.referral-payout-box h3{margin:0 0 5px}.payout-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.payout-method-grid label{display:flex!important;align-items:flex-start!important;gap:9px!important;border:1px solid #dfe3e8;padding:11px!important;border-radius:4px;cursor:pointer}.payout-method-grid input{width:auto!important;margin-top:3px}.payout-method-grid span{display:grid;gap:3px}.payout-method-grid small{color:#667085}.portal-detail-block{border-top:1px solid #e5e7eb;margin-top:14px;padding-top:12px}.portal-detail-block summary{cursor:pointer;font-weight:650}.payout-history>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #edf0f2}.payout-history span:first-child{display:grid;gap:2px}.clinic-credit-option{display:flex!important;align-items:flex-start!important;gap:10px!important;border:1px solid #d8e8df;background:#f5fbf8;padding:13px;border-radius:4px!important;margin:12px 0}.clinic-credit-option input{width:auto!important;margin-top:3px}.clinic-credit-option span{display:grid;gap:3px}.clinic-credit-option small{color:#5f6b65;font-weight:400!important}

/* Customer-facing booking — calm, no horizontal scrollers */
.mobile-category-filter{display:none}.booking-app-wrap{max-width:1220px}.booking-main{padding:26px!important}.booking-layout{gap:18px}.booking-progress{max-width:none}.booking-service-card{grid-template-columns:minmax(0,1fr) auto 14px!important;border-radius:4px!important;min-height:62px!important}.booking-service-card i{font-style:normal;color:#98a2b3}.treatment-search{border-radius:4px!important}.category-chips{overflow:visible!important;flex-wrap:wrap!important}.date-strip{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important;padding:0!important;margin:16px 0 20px!important}.date-card{width:auto!important;min-width:0!important;border-radius:4px!important;padding:10px 5px!important}.date-card.active{border-color:#9a7137!important;background:#fffaf2!important;box-shadow:inset 0 0 0 1px #9a7137}.time-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}.time-btn{border-radius:4px!important;min-height:48px;background:#fff}.time-btn.active{background:#111827!important;color:#fff!important;border-color:#111827!important}.choice-card{border-radius:4px!important}.booking-summary{border-radius:5px!important}.back-link{font-weight:650}.booking-step{scroll-margin-top:10px}.step-title>span{color:#8b6732}.step-title h2{font-family:Georgia,"Times New Roman",serif;font-weight:500}.booking-site .footer{margin-top:30px}

@media(max-width:1100px){
 .filter-grid{grid-template-columns:repeat(3,1fr)}.filter-grid .app-btn{grid-column:auto}.campaign-grid{grid-template-columns:repeat(2,1fr)}.campaign-editor-grid,.settings-grid{grid-template-columns:1fr}.settings-status{position:static}.provider-grid{grid-template-columns:1fr}.practitioner-grid-pro{grid-template-columns:1fr}.forms-layout{grid-template-columns:1fr}.form-editor{position:static}.booking-admin-grid{grid-template-columns:1fr}.span-booking{grid-column:auto}.admin-time-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:760px){
 .content{padding:16px 10px 80px}.panel{padding:15px!important}.page-heading h1{font-size:25px}.filter-grid{grid-template-columns:1fr 1fr;gap:8px}.filter-grid label:nth-of-type(n+3){grid-column:auto}.filter-grid .app-btn{grid-column:1/-1}.command-row{align-items:stretch;flex-direction:column}.quick-range{display:grid;grid-template-columns:repeat(3,1fr)}.quick-range .mini-btn{text-align:center}.appointment-list-row{grid-template-columns:44px 48px minmax(0,1fr)!important}.appt-badges,.row-actions{grid-column:3}.arrival-row{grid-template-columns:52px minmax(0,1fr)}.arrival-row>div:nth-of-type(2),.arrival-row .row-actions{grid-column:2}.campaign-grid{grid-template-columns:1fr}.campaign-editor-grid{grid-template-columns:1fr}.campaign-preview{height:440px}.provider-grid{grid-template-columns:1fr}.practitioner-grid-pro{grid-template-columns:1fr}.payout-row,.followup-row{align-items:flex-start;flex-wrap:wrap}.payout-row .row-actions,.followup-row .row-actions{width:100%;padding-left:58px}.before-after-pair{grid-template-columns:1fr}.photo-column{border-right:0;border-bottom:1px solid #edf0f2}.note-editor{min-width:240px}.payout-method-grid{grid-template-columns:1fr}.admin-date-grid{grid-template-columns:repeat(4,1fr)}.admin-time-grid{grid-template-columns:repeat(2,1fr)}
 /* Booking mobile */
 .booking-site .nav .links{z-index:50}.booking-app-wrap{padding:12px 8px 38px!important;overflow-x:hidden}.booking-app-head{padding:8px 2px 13px}.booking-app-head h1{font-size:25px!important}.booking-app-head p{font-size:12px}.booking-progress{grid-template-columns:repeat(6,1fr)!important;margin:0 0 12px!important;padding:8px 0 12px!important}.progress-step b{width:25px!important;height:25px!important}.progress-step.active span{display:none!important}.booking-main{padding:14px 12px!important;overflow:hidden}.step-title{margin-bottom:13px}.step-title h2{font-size:24px!important}.step-title p{font-size:12px;line-height:1.45}.treatment-search{margin-bottom:10px}.mobile-category-filter{display:grid;gap:5px;font-size:11px;font-weight:700;color:#667085;margin-bottom:14px}.mobile-category-filter select{width:100%;height:44px;border:1px solid #d5dae1;border-radius:4px!important;background:#fff;padding:0 10px;font:inherit;color:#172033}.category-chips{display:none!important}.booking-service-group{padding-top:8px!important}.booking-service-group h3{font-size:14px!important;position:sticky;top:0;background:#fff;z-index:2;padding:9px 0!important}.booking-service-grid{gap:5px!important}.booking-service-card{min-height:55px!important;padding:10px!important;text-align:left}.booking-service-card strong{font-size:13px!important;line-height:1.25}.booking-service-card span{font-size:10px!important}.booking-service-card b{font-size:13px!important}.date-strip{grid-template-columns:repeat(4,1fr)!important;gap:6px!important;margin:12px 0 16px!important}.date-card{padding:8px 3px!important;min-height:64px}.date-card strong{font-size:17px}.date-card span,.date-card small{font-size:9px}.time-title{font-size:13px;margin:13px 0 8px}.time-grid{grid-template-columns:repeat(2,1fr)!important;gap:6px!important}.time-btn{min-height:48px;font-size:14px}.choice-stack{gap:6px}.choice-card{padding:12px 10px!important}.choice-card strong{font-size:13px}.choice-card span{font-size:11px;line-height:1.35}.booking-form .split,.deposit-box .split{grid-template-columns:1fr}.offer-code-entry{display:grid;grid-template-columns:1fr auto}.booking-step{scroll-margin-top:8px}.portal-actions{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){.date-strip{grid-template-columns:repeat(3,1fr)!important}.booking-service-card{grid-template-columns:minmax(0,1fr) auto 10px!important}.filter-grid{grid-template-columns:1fr}.filter-grid label,.filter-grid .app-btn{grid-column:1!important}.quick-range{grid-template-columns:1fr}.admin-date-grid{grid-template-columns:repeat(3,1fr)}}
.week-event{border-left:4px solid var(--prac-color)!important;background:color-mix(in srgb,var(--prac-color) 7%,white)!important}.arrival-row{border-left:4px solid var(--prac-color);padding-left:10px}.arrival-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}.arrival-actions form{display:flex;gap:5px}.danger-text{color:#b42318!important}
.range-filter{display:flex;align-items:end;gap:8px}.range-filter label{display:grid;gap:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#667085}.range-filter input{height:38px;border:1px solid #d5dae1;border-radius:4px!important;padding:7px 9px;background:#fff;font:inherit}.range-filter .mini-btn{height:38px}@media(max-width:760px){.range-filter{width:100%;display:grid;grid-template-columns:1fr 1fr}.range-filter .mini-btn{grid-column:1/-1}.report-toolbar{align-items:stretch!important}}


/* v10.1 precision UI cleanup */
.global-back{border:0;background:transparent;padding:0 0 7px;color:#667085;font-weight:650;cursor:pointer}.global-back:hover{color:#172033}
.client-tabs{border:0!important;border-bottom:1px solid #dfe3e8!important;border-radius:0!important;background:transparent!important;gap:22px!important;padding:0!important}.client-tabs a{border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;padding:10px 1px!important;color:#667085!important}.client-tabs a:hover{color:#172033!important;border-bottom-color:#b99355!important}
.booking-admin-grid .panel{overflow:visible}.booking-admin-step{padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid #edf0f2}.client-picker>input[type=search]{width:100%;height:44px;padding:0 13px;border:1px solid #cfd5dd;background:#fff;font-size:14px}.field-label{display:grid!important;gap:7px!important;font-weight:650!important;color:#344054}.field-label select,.field-label input,.field-label textarea{margin:0!important}.top-gap-small{margin-top:14px}.appointment-note-field{margin-top:18px!important}.appointment-note-field>span{display:flex;gap:6px;align-items:center}.appointment-note-field em{font-style:normal;font-weight:400;color:#98a2b3;font-size:12px}.appointment-note-field textarea{width:100%;min-height:88px;resize:vertical}
.service-availability-panel{display:grid;gap:16px}.service-availability-panel .section-title{margin-bottom:0}.assignment-block{border:1px solid #e2e6eb;background:#fbfcfd}.assignment-head{display:flex;justify-content:space-between;padding:11px 13px;border-bottom:1px solid #e6e9ed}.assignment-head span{color:#667085;font-size:12px}.assignment-list{display:grid}.assignment-row{display:flex!important;gap:10px;align-items:center;padding:11px 13px;border-bottom:1px solid #edf0f2;font-weight:400!important}.assignment-row:last-child{border-bottom:0}.assignment-row input{width:18px!important;height:18px!important;margin:0!important}.assignment-row span{display:grid;gap:2px}.assignment-row b{font-weight:650}.assignment-row small{color:#667085}.settings-switch-list{border:1px solid #e2e6eb}.settings-switch-list>label{display:flex!important;align-items:flex-start!important;gap:10px!important;padding:12px 13px;border-bottom:1px solid #edf0f2;font-weight:400!important}.settings-switch-list>label:last-child{border-bottom:0}.settings-switch-list input{width:18px!important;height:18px!important;margin-top:2px!important}.settings-switch-list span{display:grid}.settings-switch-list b{font-weight:650}.settings-switch-list small{color:#667085}.treatment-danger-zone,.danger-clean{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #f2c5c0;background:#fffafa;padding:16px}.danger-clean span,.treatment-danger-zone p{display:block;color:#7a5b58;font-size:12px;margin:3px 0 0}.danger-text{color:#b42318!important}
.form-editor .stack-form>label,.form-editor .stack-form fieldset{font-weight:500!important}.form-editor textarea{font-weight:400!important;line-height:1.55}.service-assignment{padding:14px!important}.form-service-picker{max-height:330px!important;padding:8px 10px!important}.form-service-picker>strong{position:sticky;top:0;background:#fff;padding:9px 0 5px;display:block;font-size:12px;color:#8a642d}.service-form-check{font-weight:400!important;padding:5px 0!important}
.checkout-price-summary{border:1px solid #dfe3e8;background:#fbfcfd;margin:14px 0}.checkout-price-summary>div{display:flex;justify-content:space-between;gap:14px;padding:10px 13px;border-bottom:1px solid #e9edf1}.checkout-price-summary>div:last-child{border-bottom:0}.checkout-price-summary span{color:#667085;font-size:13px}.checkout-price-summary strong{font-size:14px}.checkout-price-summary .discount-row strong{color:#137454}.checkout-price-summary .total-row{background:#fff}.checkout-price-summary .total-row strong{font-size:17px}.checkout-price-summary .balance-row strong{color:#b42318}.payment-choice-box{border-radius:4px!important}.payment-option{border-radius:3px!important}.confirmation-discount strong{color:#137454!important}.confirmation-outstanding{background:#fff2f0!important}.confirmation-outstanding strong{color:#b42318!important}.confirmation-paid{background:#edf9f3!important}.confirmation-paid strong{color:#137454!important}
.offer-management{display:grid;gap:18px}.offer-list-clean{display:grid;border:1px solid #e2e6eb}.offer-list-clean .offer-admin-row{border:0;border-bottom:1px solid #edf0f2;border-radius:0}.offer-list-clean .offer-admin-row:last-child{border-bottom:0}.offer-builder{max-width:1050px}.offer-select-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.treatment-multiselect{min-height:190px;padding:8px}.treatment-multiselect optgroup{font-weight:700;color:#8a642d}.treatment-multiselect option{font-weight:400;color:#172033;padding:4px}.usage-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.email-account-card{border:1px solid #e2e6eb;padding:14px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.email-account-card>div{display:grid;gap:3px}.email-account-card small{color:#667085}.email-account-form{border-top:1px solid #e5e7eb;margin-top:18px;padding-top:18px}.editor-toolbar{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.token-btn{background:#f7f8fa!important}.campaign-editor-grid{align-items:start}
.security-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.client-security-panel{max-width:100%}.upload-progress{border:1px solid #dfe3e8;background:#fbfcfd;padding:10px;margin-top:10px}.upload-progress>div{display:flex;justify-content:space-between;margin-bottom:6px}.upload-progress progress{width:100%;height:10px}
.portal-loyalty{border-top:3px solid #b99355}.loyalty-balance{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.loyalty-balance>div{border:1px solid #e2e6eb;padding:12px}.loyalty-balance span{display:block;color:#667085;font-size:12px}.loyalty-balance strong{font-size:22px}.voucher-list{display:grid;gap:8px}.voucher-row{display:flex;justify-content:space-between;gap:12px;border:1px solid #e2e6eb;padding:10px 12px}.voucher-row>div{display:grid;gap:2px}.voucher-row small{color:#667085}
.referral-balance-admin{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.referral-balance-admin>div{border:1px solid #e2e6eb;padding:12px}.referral-balance-admin span{display:block;font-size:11px;color:#667085}.referral-balance-admin strong{font-size:19px}.transaction-list{display:grid}.transaction-list>div{display:grid;grid-template-columns:140px 1fr auto;gap:10px;padding:9px 0;border-bottom:1px solid #edf0f2;font-size:12px}
.calendar-shell-pro{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important}.month-grid{gap:1px!important;background:#dfe3e8!important;border:1px solid #dfe3e8!important}.month-day{border:0!important;border-radius:0!important;min-height:150px!important;background:#fff!important}.month-day.today{box-shadow:inset 0 0 0 2px #b99355!important}.week-pro-grid{border:1px solid #dfe3e8;gap:1px!important;background:#dfe3e8}.week-pro-day{border:0!important;border-radius:0!important;background:#fff!important}.agenda-event,.week-event,.month-event{border-radius:2px!important}
.provider-grid{gap:10px!important}.provider-card{border-radius:3px!important;box-shadow:none!important;padding:15px!important}.provider-card.selected{border-color:#9a7137!important;box-shadow:inset 3px 0 0 #9a7137!important;background:#fffaf2!important}
@media(max-width:760px){.security-action-grid,.offer-select-grid,.usage-grid,.loyalty-balance{grid-template-columns:1fr}.appointment-note-field textarea{min-height:110px}.booking-admin-grid{gap:12px!important}.booking-admin-grid .panel{padding:14px!important}.client-picker>input[type=search]{font-size:16px}.client-tabs{gap:16px!important}.client-tabs a{padding:10px 0!important}.transaction-list>div{grid-template-columns:1fr auto}.transaction-list>div span:nth-child(2){grid-column:1/-1}.referral-balance-admin{grid-template-columns:1fr}}

/* v10.2 professional refinement */
:root{--radius:10px}.panel{border-radius:10px;box-shadow:0 2px 10px rgba(16,24,39,.025)}.app-btn{border-radius:6px}.mini-btn{border-radius:5px}.stack-form input,.stack-form select,.stack-form textarea,.form-grid input,.form-grid select,.form-grid textarea,.panel select{border-radius:6px}.empty,.alert{border-radius:6px}
.dashboard-attention{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.dashboard-attention a{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid #e1d5c1;background:#fffaf2;padding:14px 16px;color:#172033}.dashboard-attention strong{font-size:24px;color:#8a642d}.dashboard-attention span{font-weight:650}.dashboard-attention b{font-size:12px}
.offer-management{max-width:1180px;margin:0 auto}.offer-builder{max-width:none!important}.offer-admin-row{display:grid!important;grid-template-columns:1fr auto auto!important;align-items:center!important;padding:15px 14px!important}.offer-admin-row>div{display:grid;gap:4px}.offer-admin-row>div>span,.offer-admin-row small{font-size:12px;color:#667085}.offer-select-grid fieldset{border-radius:6px}.treatment-multiselect{width:100%;border:1px solid #d0d5dd;border-radius:4px!important;background:#fff}.treatment-multiselect option{padding:6px}.optional{font-weight:400;color:#98a2b3}
.reward-admin-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:20px;align-items:start}.reward-request{border:1px solid #e2e6eb;padding:15px;margin-bottom:10px}.reward-request-head{display:flex;justify-content:space-between;gap:12px}.reward-request-head>div{display:grid}.reward-request-head span{font-size:12px;color:#667085}.reward-request-value{display:flex;align-items:baseline;gap:8px;margin:12px 0}.reward-request-value strong{font-size:24px}.reward-request-value span{color:#667085;font-size:12px}.bank-details{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.bank-details div{border:1px solid #edf0f2;padding:9px}.bank-details dt{font-size:10px;text-transform:uppercase;color:#667085}.bank-details dd{margin:3px 0 0;font-weight:650}.voucher-admin-line{display:flex;gap:14px;align-items:center;padding:10px;background:#f7f9fb}.reward-request .row-actions{display:flex;gap:7px;margin-top:12px}.reward-request .row-actions form{display:flex}.text-danger{color:#b42318!important}
.bulk-deposit{border:1px solid #e2e6eb;padding:14px}.email-account-list{display:grid;gap:8px}.settings-grid{align-items:start}.settings-status{position:static!important}.email-account-form summary{cursor:pointer;font-weight:700}
.portal-loyalty{border-top:2px solid #b99355!important}.loyalty-balance{grid-template-columns:repeat(2,1fr)!important}.portal-vouchers .voucher-row{border-radius:0}.voucher-row>div:last-child{display:flex;gap:8px;align-items:center}
/* cleaner calendar */
.calendar-toolbar{background:#fff!important;border:1px solid #dfe3e8!important;padding:12px!important;border-radius:6px!important}.calendar-toolbar .segmented{background:#f4f5f7!important;border-radius:5px!important}.calendar-toolbar .segmented a{border-radius:4px!important}.month-grid,.week-pro-grid{border-color:#d7dce3!important;background:#d7dce3!important}.month-day{min-height:132px!important}.month-day header{font-weight:650!important}.month-event,.week-event,.agenda-event{box-shadow:none!important;border-radius:3px!important}.arrival-board{border:1px solid #dfe3e8!important;border-radius:6px!important;background:#fff!important}.arrival-row{background:#fff!important;border-bottom:1px solid #edf0f2!important;border-radius:0!important}
/* frontend checkout clarity */
.offer-applied{color:#147a58!important;font-weight:700}.checkout-price-summary .discount-row{background:#f1fbf6}.checkout-price-summary .balance-row{background:#fff7f5}.booking-service-card,.choice-card,.date-card,.time-btn{border-radius:5px!important}.category-chips .chip{border-radius:4px!important}.booking-progress .progress-step b{border-radius:50%!important}.booking-summary{border-radius:6px!important}.account-toggle{border-radius:5px!important}.account-toggle button{border-radius:4px!important}
@media(max-width:900px){.reward-admin-grid{grid-template-columns:1fr}.bank-details{grid-template-columns:1fr}.dashboard-attention{grid-template-columns:1fr}}
@media(max-width:760px){.offer-admin-row{grid-template-columns:1fr auto!important}.offer-admin-row>b{display:none}.dashboard-attention{grid-template-columns:1fr}.booking-progress{overflow:visible!important}.booking-progress .progress-step span{display:none!important}.booking-progress{grid-template-columns:repeat(6,1fr)!important;gap:4px!important}.booking-app-wrap{padding-left:12px!important;padding-right:12px!important}.booking-step{padding:18px 14px!important}.step-title h2{font-size:27px!important}.step-title p{font-size:14px!important}.date-strip{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;overflow:visible!important;gap:7px!important}.date-strip:after,.date-strip:before{display:none!important}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.category-chips{display:none!important}.mobile-category-filter{display:grid!important}.booking-service-grid{grid-template-columns:1fr!important}.booking-service-card{width:100%!important}.booking-layout{display:block!important}.booking-summary{position:static!important;margin-top:14px!important}.portal-grid{grid-template-columns:1fr!important}.loyalty-balance{grid-template-columns:1fr 1fr!important}}
@media(max-width:420px){.date-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}.loyalty-balance{grid-template-columns:1fr!important}}

/* v10.3 final usability polish */
.client-tabs{gap:24px!important;border-bottom:1px solid #e3e7ec!important;overflow-x:auto!important;margin:0 0 22px!important;padding:0!important;background:transparent!important}
.client-tabs a{border:0!important;background:transparent!important;border-radius:0!important;padding:11px 1px 10px!important;color:#667085!important;font-size:13px!important;white-space:nowrap!important;box-shadow:none!important}
.client-tabs a:hover,.client-tabs a:focus{color:#111827!important}.client-tabs a:target{color:#111827!important}
.booking-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.booking-admin-grid .span-booking{grid-column:1/-1}
.booking-admin-step{display:flex;gap:12px;align-items:flex-start;margin-bottom:20px}.booking-admin-step>span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#111827;color:#fff;font-size:12px;font-weight:800;flex:0 0 auto}.booking-admin-step h2{margin:0 0 3px!important;font-size:18px}.booking-admin-step p{margin:0;color:#667085;font-size:13px}
.field-label{display:grid!important;gap:8px!important;font-size:13px!important;font-weight:700!important;color:#344054!important;margin-bottom:13px!important}.field-label>select,.field-label>input,.field-label>textarea{margin:0!important}
.client-picker{position:relative;display:grid;gap:7px}.client-picker>input[type=search]{min-height:44px;padding:11px 13px;border:1px solid #d0d5dd;border-radius:6px;font:inherit;width:100%}.client-search-results{position:absolute;z-index:20;top:50px;left:0;right:0;background:#fff;border:1px solid #d0d5dd;box-shadow:0 12px 30px rgba(16,24,39,.12);max-height:290px;overflow:auto}.client-search-results button{display:grid;width:100%;text-align:left;border:0;border-bottom:1px solid #eef1f4;background:#fff;padding:11px 13px;cursor:pointer}.client-search-results button:hover{background:#f8fafc}.client-search-results span{font-size:12px;color:#667085;margin-top:2px}.selected-client{border:1px solid #c9d5e6;background:#f8fbff;padding:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.selected-client>div{display:grid;gap:2px}.selected-client span{font-size:12px;color:#667085}
.appointment-note-field{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:20px!important}.appointment-note-field>span{display:flex;gap:6px;align-items:baseline}.appointment-note-field em{font-style:normal;font-weight:400;color:#98a2b3;font-size:12px}.appointment-note-field textarea{width:100%!important;min-height:88px!important;resize:vertical!important}
.admin-date-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(92px,1fr))!important;gap:8px!important;overflow:visible!important}.admin-date-card{min-width:0!important;border-radius:4px!important}.admin-time-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;gap:8px!important}.admin-time-card{border-radius:4px!important}
.service-availability-panel{position:sticky;top:92px;align-self:start}.assignment-block{border:1px solid #e1e6eb;margin-bottom:14px;background:#fff}.assignment-head{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-bottom:1px solid #e8ecf0;background:#fafbfc}.assignment-head strong{font-size:13px}.assignment-head span{font-size:11px;color:#667085}.assignment-list{display:grid;max-height:230px;overflow:auto}.assignment-row{display:grid!important;grid-template-columns:auto 1fr!important;gap:10px!important;align-items:start!important;padding:10px 12px!important;border-bottom:1px solid #f0f2f4!important;font-weight:400!important}.assignment-row:last-child{border-bottom:0!important}.assignment-row input{margin-top:3px}.assignment-row span{display:grid;gap:2px}.assignment-row b{font-size:13px;font-weight:650}.assignment-row small{font-size:11px;color:#667085}.settings-switch-list{display:grid;border-top:1px solid #e1e6eb;margin:17px 0 14px}.settings-switch-list>label{display:grid!important;grid-template-columns:auto 1fr!important;gap:10px!important;align-items:start!important;padding:11px 0!important;border-bottom:1px solid #eef1f4!important}.settings-switch-list>label>span{display:grid;gap:2px}.settings-switch-list b{font-size:13px}.settings-switch-list small{font-size:11px;color:#667085}.treatment-danger-zone{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px!important;border-color:#efcaca!important;background:#fffafa!important}.treatment-danger-zone h3{margin:3px 0 4px!important}.treatment-danger-zone p{margin:0;color:#667085;font-size:13px}
.payment-due{background:#fff1f0!important;color:#b42318!important}.payment-paid{background:#ecfdf3!important;color:#067647!important}
.portal-appointment .pill-row{margin-top:8px}
/* Keep public booking choices calm and readable. */
.booking-step{scroll-margin-top:12px}.date-strip{scrollbar-width:none!important}.date-strip::-webkit-scrollbar{display:none!important}.category-chips{scrollbar-width:none!important}.category-chips::-webkit-scrollbar{display:none!important}
@media(max-width:900px){.booking-admin-grid{grid-template-columns:1fr}.booking-admin-grid .span-booking{grid-column:auto}.service-availability-panel{position:static}.treatment-danger-zone{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.client-tabs{gap:18px!important}.client-tabs a{font-size:12px!important}.admin-date-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.admin-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.appointment-note-field textarea{font-size:16px}.field-label>select,.field-label>input{font-size:16px}.service-editor-form{grid-template-columns:1fr!important}}

/* v11 checkout + compliance polish */
.checkout-status-box{margin:12px 0 16px;padding:14px 16px;border:1px solid #d7dce2;background:#fff;display:grid;gap:4px;border-radius:5px}
.checkout-status-box strong{font-size:15px}.checkout-status-box span{font-size:12px;line-height:1.5}
.checkout-status-box.outstanding{background:#fff3f1;border-color:#f1c6c1;color:#9b2c25}
.checkout-status-box.paid{background:#edf9f3;border-color:#bfe5d2;color:#126847}
.danger-pill{background:#fff0f0!important;color:#a72f2f!important}
.appointment-note-field textarea{font-weight:400!important}
.client-picker input[type=search],.field-label select{margin-top:1px!important}
.service-availability-panel .section-title p{max-width:34ch}
.form-editor textarea,.form-editor input,.form-editor select{font-weight:400!important}
.form-editor label{font-weight:650!important}
.form-service-picker{border:1px solid #e1e6eb!important;border-radius:5px!important;padding:0!important;max-height:360px!important}
.form-service-picker>strong{display:block;position:sticky;top:0;background:#f8fafc;border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3;padding:8px 10px;color:#75572d;z-index:2}
.form-service-picker .service-form-check{padding:8px 10px!important;margin:0!important;border-bottom:1px solid #f1f3f5!important}
.global-back{border:0;background:transparent;color:#667085;padding:0;margin:0 0 7px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
@media(max-width:760px){
 .checkout-status-box{padding:12px}
 .payment-choice-box{margin-top:10px}
}

/* v12 professional UI pass */
.settings-grid{grid-template-columns:1fr!important;max-width:1180px;margin:0 auto;gap:20px!important}
.email-delivery-panel{width:100%;position:static!important}
.email-account-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px!important}
.email-account-card{border-radius:5px!important;background:#fff;padding:16px!important}
.email-account-form{border:1px solid #e1e6eb!important;margin-top:16px!important;padding:0!important;border-radius:5px!important;background:#fafbfc}
.email-account-form>summary{padding:14px 16px!important}.email-account-form>form{padding:0 16px 16px}
.deposit-settings-head{border-top:1px solid #e5e7eb;padding-top:22px;margin-top:22px}.deposit-settings-head h2{margin:4px 0 5px}.deposit-settings-head p{margin:0;color:#667085;font-size:13px}
.clean-bulk-deposit{border:0!important;background:#f8fafc!important;padding:16px!important;margin-top:12px;grid-template-columns:1fr 1fr!important;align-items:end}
.provider-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.provider-card{min-height:76px!important}.provider-card div span{line-height:1.35}
.webhook-hint{display:grid;gap:5px;background:#f8fafc;border:1px solid #e2e6eb;padding:13px;margin:10px 0 16px}.webhook-hint code{overflow-wrap:anywhere;font-size:12px;color:#765728}.webhook-hint span{font-size:12px;color:#667085}

/* Offers */
.offer-management{grid-template-columns:minmax(280px,.7fr) minmax(0,1.5fr)!important;align-items:start!important;max-width:1320px!important}
.offer-management>.panel:first-child{position:sticky;top:90px}.offer-builder{padding:24px!important}.offer-scope-cards{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:7px}.offer-scope-cards label{display:grid!important;grid-template-columns:auto 1fr!important;gap:10px!important;border:1px solid #dfe3e8;padding:12px!important;cursor:pointer;background:#fff}.offer-scope-cards label:has(input:checked){border-color:#9a7137;background:#fffaf2;box-shadow:inset 3px 0 0 #9a7137}.offer-scope-cards input{width:auto!important;margin-top:3px}.offer-scope-cards span{display:grid;gap:3px}.offer-scope-cards b{font-size:13px}.offer-scope-cards small{font-size:11px;color:#667085}.field-caption{display:block;font-size:13px;font-weight:700;color:#344054;margin-bottom:6px}
.offer-select-grid{grid-template-columns:1fr 1fr!important}.offer-select-grid fieldset{padding:0!important;overflow:hidden}.offer-select-grid legend{margin-left:12px;padding:0 5px;font-weight:700}.offer-select-grid fieldset>p{padding:0 13px;margin:10px 0}.offer-service-search{width:calc(100% - 26px)!important;margin:0 13px 10px!important;border:1px solid #d0d5dd!important;border-radius:4px!important;padding:9px 10px!important}.offer-service-options{max-height:300px;overflow:auto;border-top:1px solid #e8ecf0}.offer-service-options>strong{display:block;position:sticky;top:0;background:#f8fafc;padding:8px 12px;color:#7a5928;font-size:12px;border-bottom:1px solid #e8ecf0;z-index:2}.offer-service-options label{display:grid!important;grid-template-columns:auto 1fr!important;gap:9px!important;padding:8px 12px!important;border-bottom:1px solid #f0f2f4!important;font-weight:400!important}.offer-service-options input{width:auto!important;margin-top:2px}.offer-service-options span{font-size:12px;color:#344054}

/* Marketing composer */
.message-starters{border:1px solid #e2e6eb;background:#fafbfc;padding:12px 13px}.starter-buttons{display:flex;gap:7px;flex-wrap:wrap}.campaign-editor-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.55fr)!important}.campaign-preview{height:560px!important}

/* Referral + loyalty admin tools */
.reward-tools-divider{border-top:1px solid #e5e7eb;margin:22px 0 17px}.admin-tool{border:1px solid #e2e6eb;margin-top:8px;background:#fafbfc}.admin-tool summary{padding:11px 12px;cursor:pointer;font-size:13px;font-weight:700}.admin-tool form{padding:0 12px 12px}.loyalty-redeem-admin{border-top:1px solid #e6e9ed;padding-top:13px!important}

/* Admin booking clarity */
.booking-admin-grid>.panel{border-radius:7px!important;box-shadow:none!important}.booking-admin-grid .field-label{margin-top:3px!important}.booking-admin-grid .split{gap:16px!important}.client-picker{margin-top:2px}.client-picker>input[type=search]{font-size:14px!important}.custom-time-row{border-top:1px solid #e7eaee;margin-top:18px;padding-top:14px}.custom-time-row .check{font-weight:400!important}.custom-time-row strong{font-size:13px}.custom-time-row small{display:block;margin-top:2px;font-size:11px;color:#667085}.appointment-note-field{margin-top:18px!important}.appointment-note-field>span{font-size:13px;font-weight:700;color:#344054}.appointment-note-field textarea{font-weight:400!important}

/* Public booking: compact, calm desktop interface */
.booking-app-wrap{max-width:1160px!important;padding-top:28px!important}.booking-app-head{margin-bottom:12px!important}.booking-app-head h1{font-size:31px!important}.booking-progress{display:flex!important;align-items:center!important;gap:0!important;max-width:none!important;border:1px solid #e0e4e8!important;background:#fff!important;padding:0!important;margin:14px 0 16px!important;height:50px!important}.progress-step{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;flex:1!important;min-width:0!important;height:100%!important;font-size:11px!important;border-right:1px solid #edf0f2!important;color:#7b8491!important}.progress-step:last-child{border-right:0!important}.progress-step b{width:22px!important;height:22px!important;font-size:10px!important;box-shadow:none!important;flex:0 0 22px!important}.progress-step.active{background:#fffaf2!important;color:#6c4f24!important}.progress-step.active b{background:#a97b36!important;box-shadow:none!important}.progress-step.done b{background:#e8f4ef!important;color:#177253!important}.progress-step span{font-size:11px!important;white-space:nowrap!important}.booking-layout{grid-template-columns:minmax(0,1fr) 270px!important;gap:14px!important}.booking-main{border-radius:7px!important;box-shadow:none!important;padding:22px!important;min-height:560px!important}.booking-summary{border-radius:7px!important;box-shadow:none!important;padding:18px!important}.step-title h2{font-size:25px!important;margin-top:3px!important}.step-title p{font-size:13px!important;margin-bottom:16px!important}
.booking-filterbar{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:10px;align-items:end;margin-bottom:16px}.booking-filterbar .treatment-search{margin:0!important;height:44px}.mobile-category-filter{display:grid!important;gap:5px!important;margin:0!important;font-size:11px!important;color:#667085!important;font-weight:600!important}.mobile-category-filter>span{display:block}.mobile-category-filter select{height:44px!important;border:1px solid #d5dae1!important;border-radius:4px!important;background:#fff!important;padding:0 10px!important;font:inherit!important;color:#172033!important}.category-chips{display:none!important}.booking-service-group{border-top:0!important;margin-top:18px!important;padding-top:0!important}.booking-service-group>h3{border-bottom:1px solid #e9edf1!important;padding:0 0 8px!important;margin:0 0 7px!important;font-size:14px!important}.booking-service-group>h3 span{border-radius:3px!important;padding:3px 6px!important}.booking-service-grid{gap:6px!important}.booking-service-card{border-radius:4px!important;min-height:58px!important;padding:11px 12px!important;box-shadow:none!important}.booking-service-card:hover{box-shadow:none!important;background:#fffcf7!important}.booking-service-card strong{font-size:13px!important}.booking-service-card b{font-size:13px!important}.choice-stack{gap:6px!important}.choice-card{border-radius:4px!important;box-shadow:none!important;padding:13px!important}.choice-icon,.practitioner-initial{width:38px!important;height:38px!important;border-radius:4px!important}.date-strip{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:6px!important}.date-card{min-height:66px!important;border-radius:4px!important;box-shadow:none!important}.time-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}.time-btn{border-radius:4px!important;box-shadow:none!important}.account-toggle{border-radius:4px!important}.account-toggle button{border-radius:3px!important}.payment-choice-box{border:1px solid #dfe3e8!important;background:#fff!important;padding:0!important;border-radius:4px!important;overflow:hidden}.payment-choice-head{padding:12px 14px!important;background:#f8fafc!important;border-bottom:1px solid #e6e9ed!important}.payment-option{border:0!important;border-bottom:1px solid #eef1f4!important;border-radius:0!important;margin:0!important;padding:13px 14px!important}.payment-option:last-child{border-bottom:0!important}.payment-option.active{background:#fffaf2!important;box-shadow:inset 3px 0 0 #a97b36!important}.marketing-consent-box{background:#fafbfc!important;border-radius:4px!important}.checkout-status-box{border-radius:4px!important}

/* Inbox */
.sms-preview-row,.sms-inbox-row{border-radius:0!important}.sms-inbox-list{border:1px solid #e2e6eb}.sms-inbox-row{border-bottom:1px solid #edf0f2}.sms-inbox-row:last-child{border-bottom:0}

@media(max-width:980px){.offer-management{grid-template-columns:1fr!important}.offer-management>.panel:first-child{position:static}.campaign-editor-grid{grid-template-columns:1fr!important}.provider-grid{grid-template-columns:1fr!important}.email-account-list{grid-template-columns:1fr}.booking-layout{grid-template-columns:1fr!important}.booking-summary{position:static!important}}
@media(max-width:760px){.booking-app-wrap{padding:10px 9px 40px!important}.booking-progress{height:42px!important;margin:8px 0 12px!important}.progress-step{gap:0!important}.progress-step span{display:none!important}.progress-step b{width:23px!important;height:23px!important}.booking-filterbar{grid-template-columns:1fr!important;gap:8px}.mobile-category-filter>span{font-size:11px}.booking-main{padding:15px 12px!important}.date-strip{grid-template-columns:repeat(4,minmax(0,1fr))!important}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.offer-select-grid,.offer-scope-cards{grid-template-columns:1fr!important}.clean-bulk-deposit{grid-template-columns:1fr!important}.clean-bulk-deposit .span-2{grid-column:auto!important}}
.email-card-actions{display:flex;gap:7px;align-items:center}.email-card-actions form{margin:0}


/* v12.1 final UI polish — denser desktop booking, clearer payment choice, calmer settings */
@media(min-width:981px){
  .booking-app-wrap{max-width:1120px!important}
  .booking-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .booking-service-card{min-height:52px!important;padding:9px 10px!important;gap:8px!important}
  .booking-service-card strong{font-size:12px!important;line-height:1.25!important}
  .booking-service-card>div span{font-size:10px!important}
  .booking-service-card>b{font-size:12px!important}
  .booking-service-card>i{font-size:15px!important}
}
.date-strip{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:6px!important;overflow:visible!important;padding:4px 0 12px!important}
.date-card{min-width:0!important;width:100%!important}
.payment-choice-box{display:grid!important;grid-template-columns:1fr 1fr!important}
.payment-choice-head{grid-column:1/-1!important}
.payment-option{border-bottom:0!important;border-right:1px solid #eef1f4!important;min-height:70px!important;display:flex!important;align-items:center!important}
.payment-option:last-child{border-right:0!important}
.payment-option.active{box-shadow:inset 0 -3px 0 #a97b36!important;background:#fffaf2!important}
.provider-grid{gap:6px!important;margin:8px 0 14px!important}
.provider-card{min-height:auto!important;padding:10px 11px!important;border-radius:3px!important;box-shadow:none!important}
.provider-card div strong{font-size:13px!important}.provider-card div span{font-size:10px!important}
.provider-card.selected{box-shadow:inset 0 -2px 0 #a67b3f!important}
.calendar-pro{border-radius:5px!important;box-shadow:none!important;border-color:#dfe3e8!important}
.calendar-pro-toolbar{background:#fff!important;padding:10px 12px!important}
.practitioner-legend{padding:0 12px 10px!important;margin:0!important;border-bottom:1px solid #edf0f2!important}
.arrival-board{margin:12px!important;border:1px solid #dfe3e8!important;border-radius:4px!important;padding:0!important;overflow:hidden!important}
.arrival-board .section-title{padding:12px 14px!important;border-bottom:1px solid #edf0f2!important}
.arrival-list{padding:0 14px!important}.arrival-row{border-left:3px solid var(--prac-color)!important;padding-left:10px!important}
@media(max-width:980px){.booking-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){
  .booking-service-grid{grid-template-columns:1fr!important}
  .date-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .payment-choice-box{grid-template-columns:1fr!important}
  .payment-choice-head{grid-column:auto!important}
  .payment-option{border-right:0!important;border-bottom:1px solid #eef1f4!important;min-height:58px!important}
  .payment-option.active{box-shadow:inset 3px 0 0 #a97b36!important}
}

/* v13 — clinical workflow, payment history and patient communication polish */
.nav-count{margin-left:auto;min-width:20px;height:20px;border-radius:10px;background:#ef3d5b;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-style:normal;font-weight:800;padding:0 6px}
.ey-confirm-dialog{border:0;border-radius:10px;padding:0;box-shadow:0 24px 70px rgba(15,23,42,.28);max-width:430px;width:calc(100% - 30px)}.ey-confirm-dialog::backdrop{background:rgba(15,23,42,.55)}.ey-confirm-dialog form{padding:24px}.ey-confirm-dialog strong{display:block;font-size:19px;margin-bottom:8px}.ey-confirm-dialog p{color:#667085;line-height:1.5;margin:0 0 22px}.ey-confirm-dialog form>div{display:flex;justify-content:flex-end;gap:9px}
.dashboard-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.dashboard-action-grid>a{min-height:92px}
.money-state{display:inline-flex;align-items:center;width:max-content;padding:5px 8px;border-radius:4px;font-size:11px;font-weight:800}.money-state.paid{background:#eaf8f1;color:#087651}.money-state.due{background:#fff0f0;color:#b42318}.consent-state{display:inline-flex;align-items:center;width:max-content;padding:5px 8px;border-radius:4px;font-size:11px;font-weight:750;text-decoration:none}.consent-state.ready{background:#eaf8f1;color:#087651}.consent-state.due{background:#fff8e8;color:#936512}
.appointment-pro-row{display:grid!important;grid-template-columns:54px 64px minmax(220px,1fr) 190px minmax(330px,auto)!important;gap:13px!important;align-items:center!important;padding:14px 16px!important;border-left:4px solid var(--prac-color)!important}.appt-status-stack{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.appt-status-stack small{font-size:10px;color:#667085}.appt-action-row{display:flex;justify-content:flex-end;align-items:center;gap:7px}.status-action-form{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.status-action{border:0;border-radius:5px;padding:9px 12px;font-size:11px;font-weight:800;cursor:pointer;text-decoration:none;white-space:nowrap}.arrived-action{background:#b42318;color:#fff}.complete-action{background:#087651;color:#fff}.no-show-action{background:#fef0c7;color:#7a4b00}.cancel-action{background:#fee4e2;color:#b42318}.open-action{background:#f2f4f7;color:#344054}.appointment-status-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px!important}.appointment-status-toolbar>div{display:flex;flex-direction:column;gap:2px}.appointment-status-toolbar>div span{font-size:11px;color:#667085}.appointment-header-pro{display:flex;justify-content:space-between;align-items:center;gap:20px}.appointment-head-status{display:flex;align-items:flex-end;flex-direction:column;gap:7px}.appointment-side-stack{display:grid;gap:14px}.financial-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#e7eaee;border:1px solid #e7eaee}.financial-detail-grid>div{background:#fff;padding:12px}.financial-detail-grid span{display:block;color:#667085;font-size:10px;margin-bottom:4px}.financial-detail-grid strong{font-size:14px}.financial-detail-grid .due{background:#fff5f5}.financial-detail-grid .due strong{color:#b42318}.financial-detail-grid .paid{background:#effaf5}.financial-detail-grid .paid strong{color:#087651}.payment-link-buttons-pro{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.consent-action-grid{display:grid;gap:7px;margin-top:14px}.transaction-panel h3,.transaction-panel h4{font-size:13px;margin:0 0 8px}.transaction-list.compact>div{grid-template-columns:130px 1fr auto!important;font-size:11px!important;padding:7px 0!important}
.client-appt-list{display:grid;gap:7px}.client-appt-card{border:1px solid #e0e4e8;background:#fff}.client-appt-card summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 15px;cursor:pointer}.client-appt-card summary::-webkit-details-marker{display:none}.client-appt-card[open] summary{border-bottom:1px solid #e8ebef;background:#fafbfc}.client-appt-primary{display:flex;align-items:center;gap:15px}.client-appt-primary time{min-width:75px;font-weight:800;font-size:12px}.client-appt-primary time small{display:block;color:#667085;font-weight:500;margin-top:2px}.client-appt-primary>div{display:flex;flex-direction:column;gap:3px}.client-appt-primary span{font-size:11px;color:#667085}.client-appt-summary-status{display:flex;align-items:center;justify-content:flex-end;gap:8px}.client-appt-detail{padding:15px}.client-appt-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:12px 0}.client-status-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:14px;padding-top:12px;border-top:1px solid #edf0f2}
.client-tabs{border-bottom:1px solid #dfe3e8!important;display:flex!important;gap:18px!important;overflow-x:auto!important;padding:0!important;margin:14px 0 18px!important;background:transparent!important}.client-tabs a{border:0!important;border-radius:0!important;background:transparent!important;padding:10px 1px!important;font-size:12px!important;color:#667085!important;white-space:nowrap!important}.client-tabs a:hover{color:#111827!important;border-bottom:2px solid #a67b3f!important}.client-hero p{word-spacing:2px}.client-messaging{padding:0!important;overflow:hidden}.client-messaging>.panel-head{padding:15px 17px;border-bottom:1px solid #e7eaee}.sms-thread-pro{padding:16px;min-height:130px;max-height:420px;overflow:auto;background:#f8fafc}.sms-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:0;border-top:1px solid #e7eaee}.sms-compose-pro,.payment-link-composer-pro{padding:16px;margin:0!important}.payment-link-composer-pro{border-left:1px solid #e7eaee;background:#fbfcfd}.sms-compose-pro label>span{display:block;font-size:11px;font-weight:700;margin:10px 0 5px}.sms-compose-pro textarea{width:100%;min-height:100px}.sms-template-row{display:flex;flex-wrap:wrap;gap:6px}.payment-link-composer-pro h3{margin:2px 0 4px}.payment-link-composer-pro p{font-size:11px;color:#667085;margin:0 0 12px}.payment-link-composer-pro label{display:grid;gap:5px;font-size:11px;font-weight:700;margin-bottom:9px}
.abandoned-card-list{display:grid;gap:8px}.abandoned-card{border:1px solid #e0e4e8}.abandoned-card summary{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;list-style:none}.abandoned-card summary::-webkit-details-marker{display:none}.abandoned-card summary>div:first-child{display:flex;flex-direction:column;gap:3px}.abandoned-card summary span{font-size:11px;color:#667085}.abandoned-card summary>div:last-child{display:flex;align-items:center;gap:10px}.abandoned-card[open] summary{background:#fafbfc;border-bottom:1px solid #e7eaee}.abandoned-detail-grid{display:grid;grid-template-columns:1fr auto;gap:20px;padding:16px}.abandoned-detail-grid dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}.abandoned-detail-grid dl div{border-left:2px solid #e7eaee;padding-left:9px}.abandoned-detail-grid dt{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#98a2b3}.abandoned-detail-grid dd{margin:3px 0 0;font-size:12px}.abandoned-actions{display:flex;flex-direction:column;gap:6px;min-width:190px}
/* Customer portal / website header */
.portal-site-header{background:#fff;border-bottom:1px solid #e5e7eb}.portal-site-header .site-nav-inner{max-width:1180px;margin:auto;height:72px;padding:0 20px;display:flex;align-items:center;gap:24px}.portal-site-header img{height:48px;width:auto}.portal-site-header nav{display:flex;align-items:center;gap:19px;margin-left:auto}.portal-site-header nav a{font-size:12px;color:#253044;text-decoration:none;font-weight:650}.portal-site-header nav a.active{color:#9b6d28}.portal-site-header .account-link{border:1px solid #d9dee5;padding:9px 12px;border-radius:4px}.portal-backbar{max-width:1180px;margin:auto;padding:8px 20px;border-top:1px solid #f2f4f7}.portal-backbar a{font-size:11px;color:#667085;text-decoration:none}.payment-link-shell-v13{max-width:620px!important;margin:42px auto!important;background:#fff!important;border:1px solid #e0e4e8!important;border-radius:8px!important;padding:28px!important;box-shadow:0 12px 36px rgba(15,23,42,.06)!important}.payment-link-brand{text-align:center;border-bottom:1px solid #eef0f3;margin:-5px 0 24px;padding-bottom:18px}.payment-link-brand img{width:auto!important;height:72px!important;max-width:220px!important;object-fit:contain!important}.payment-link-shell-v13 h1{font-size:27px!important;margin:4px 0 6px!important}.payment-appointment-meta{color:#667085;line-height:1.6!important;margin-bottom:20px!important}.payment-summary-v13{display:grid!important;grid-template-columns:repeat(3,1fr)!important;border:1px solid #e2e6eb!important;background:#fff!important;margin:18px 0!important}.payment-summary-v13>div{padding:13px!important;border-right:1px solid #e7eaee!important}.payment-summary-v13>div:last-child{border-right:0!important}.payment-summary-v13 span{display:block!important;font-size:10px!important;color:#667085!important;margin-bottom:5px!important}.payment-summary-v13 strong{font-size:15px!important}.payment-summary-outstanding strong{color:#b42318!important}.payment-options-v13{display:grid!important;gap:7px!important}.payment-choice-title{margin:5px 0 4px!important}.payment-choice-title span{display:block;font-size:14px;font-weight:800}.payment-choice-title small{display:block;color:#667085;margin-top:3px}.pay-choice-card{display:flex!important;align-items:flex-start!important;gap:10px!important;border:1px solid #dfe3e8!important;border-radius:5px!important;padding:13px!important;background:#fff!important;cursor:pointer!important}.pay-choice-card.active{border-color:#b88a45!important;background:#fffbf4!important;box-shadow:inset 3px 0 0 #b88a45!important}.pay-choice-card>span{display:block;flex:1}.pay-choice-card strong{display:block;font-size:13px}.pay-choice-card small{display:block;font-size:11px;color:#667085;margin-top:4px}.custom-payment-input{margin-top:9px!important;max-width:170px!important}.payment-options-v13 .checkout-status-box{margin:5px 0!important}.payment-options-v13 .app-btn.big{min-height:48px!important;font-size:13px!important}
.treatment-search,.booking-filterbar .treatment-search{border:1px solid #d4dae2!important;outline:none!important;box-shadow:none!important}.booking-filterbar .treatment-search:focus{border-color:#a67b3f!important;box-shadow:0 0 0 2px rgba(166,123,63,.10)!important}
/* Better field breathing room */
.field-label{display:grid!important;gap:7px!important}.field-label select,.field-label input{margin-top:0!important}.appointment-note-field>span{margin-bottom:3px!important}.client-picker{display:grid;gap:7px}.client-picker input[type=search]{width:100%!important;border:1px solid #d5dae1!important;border-radius:4px!important;padding:11px 12px!important}.booking-admin-step{margin-bottom:13px!important}.compact-custom-time{margin-top:10px!important}
@media(max-width:1050px){.appointment-pro-row{grid-template-columns:54px 64px minmax(190px,1fr) 170px!important}.appt-action-row{grid-column:3/-1;justify-content:flex-end}.dashboard-action-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:760px){.dashboard-action-grid{grid-template-columns:1fr!important}.appointment-pro-row{grid-template-columns:50px 55px 1fr!important}.appt-status-stack{grid-column:3}.appt-action-row{grid-column:1/-1;justify-content:flex-start}.status-action-form{justify-content:flex-start}.appointment-status-toolbar,.appointment-header-pro{align-items:flex-start;flex-direction:column}.appointment-head-status{align-items:flex-start}.financial-detail-grid{grid-template-columns:1fr 1fr}.payment-link-buttons-pro{grid-template-columns:1fr}.client-appt-card summary{align-items:flex-start;flex-direction:column}.client-appt-summary-status{justify-content:flex-start;flex-wrap:wrap}.sms-workspace{grid-template-columns:1fr}.payment-link-composer-pro{border-left:0;border-top:1px solid #e7eaee}.abandoned-detail-grid{grid-template-columns:1fr}.abandoned-detail-grid dl{grid-template-columns:1fr 1fr}.abandoned-actions{min-width:0}.portal-site-header .site-nav-inner{height:auto;padding:12px 14px;align-items:flex-start}.portal-site-header img{height:40px}.portal-site-header nav{display:none}.payment-link-shell-v13{margin:14px 10px!important;padding:18px!important}.payment-summary-v13{grid-template-columns:1fr!important}.payment-summary-v13>div{border-right:0!important;border-bottom:1px solid #e7eaee!important}.payment-summary-v13>div:last-child{border-bottom:0!important}.payment-link-brand img{height:58px!important}.financial-detail-grid{grid-template-columns:1fr}}
.portal-site-header-inner{max-width:1180px;margin:auto;min-height:72px;padding:0 20px;display:flex;align-items:center;gap:24px}.portal-site-brand img{height:48px;width:auto;display:block}.portal-site-menu{display:none;margin-left:auto;border:1px solid #dfe3e8;background:#fff;border-radius:4px;padding:8px 10px}.portal-site-nav{display:flex;align-items:center;gap:18px;margin-left:auto}.portal-site-nav a{font-size:12px;color:#253044;text-decoration:none;font-weight:650}.portal-site-nav a.active{color:#9b6d28}.portal-account-link{border:1px solid #d9dee5;padding:9px 12px;border-radius:4px}
@media(max-width:760px){.portal-site-header-inner{min-height:62px;padding:10px 14px;flex-wrap:wrap}.portal-site-brand img{height:40px}.portal-site-menu{display:block}.portal-site-nav{display:none;width:100%;margin:0;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #edf0f2;padding-top:6px}.portal-site-nav.open{display:flex}.portal-site-nav a{padding:10px 3px}.portal-account-link{border:0;padding:10px 3px}}

/* v13.0 final checkout spacing polish */
.payment-choice-head{display:flex!important;align-items:baseline!important;gap:8px!important;flex-wrap:wrap!important}
.payment-choice-head>span{margin-right:2px!important}
.payment-option>span{display:block!important;margin-left:2px!important}
.payment-option>span>strong{margin-right:5px!important}
@media(max-width:640px){.payment-choice-head{display:block!important}.payment-choice-head>span{display:block!important;margin-bottom:3px!important}}

/* v14 marketing + messaging + social polish */
.campaign-audience-stats{display:flex;gap:12px;margin:0 0 18px}.campaign-audience-stats>div{border:1px solid #e3e7ed;padding:12px 16px;background:#fafbfc;min-width:150px}.campaign-audience-stats strong{display:block;font-size:22px}.campaign-audience-stats span{font-size:12px;color:#6b7280}.audience-builder{border-top:1px solid #e7e9ee;padding-top:20px;margin-top:6px}.lapsed-filter-row{display:grid;grid-template-columns:minmax(180px,1fr) 180px minmax(220px,1fr);gap:12px;align-items:end}.audience-note{border:1px solid #e2e6ec;background:#f8fafc;padding:11px 14px;min-height:44px}.audience-note strong{display:block;font-size:18px}.audience-note span{font-size:12px;color:#697386}.client-filter-pro{display:grid;grid-template-columns:minmax(260px,1fr) 170px 150px auto auto;gap:10px;align-items:end}.client-filter-pro label span{display:block;font-size:12px;font-weight:700;margin-bottom:5px}.message-tabs{display:flex;gap:0;border-bottom:1px solid #e3e7ed;margin:-2px 0 18px}.message-tabs button{border:0;background:transparent;padding:12px 18px;font-weight:700;color:#687386;cursor:pointer;border-bottom:2px solid transparent}.message-tabs button.active{color:#111827;border-color:#b88942}.message-tabs span{font-size:11px;background:#eef1f5;padding:2px 6px;margin-left:4px}.message-compose-card{max-width:720px;display:grid;gap:14px}.social-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.social-card{border:1px solid #e2e6ec;background:#fff;display:grid;grid-template-columns:220px 1fr;gap:18px;padding:18px}.social-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-content:start}.social-photo-pair img{width:100%;aspect-ratio:3/4;object-fit:cover;background:#f3f4f6}.social-card h3{margin:4px 0}.message-hub .sms-inbox-row{align-items:flex-start}.campaign-editor-v14 .starter-buttons{display:flex;flex-wrap:wrap;gap:7px}.campaign-editor-v14 .editor-toolbar{display:flex;flex-wrap:wrap;gap:7px}.campaign-editor-v14 textarea{font-weight:400!important}
@media(max-width:900px){.client-filter-pro{grid-template-columns:1fr 1fr}.client-filter-pro .grow{grid-column:1/-1}.lapsed-filter-row{grid-template-columns:1fr 1fr}.audience-note{grid-column:1/-1}.social-gallery{grid-template-columns:1fr}.social-card{grid-template-columns:1fr}.social-photo-pair{max-width:360px}.campaign-audience-stats{flex-wrap:wrap}}
@media(max-width:560px){.client-filter-pro{grid-template-columns:1fr}.client-filter-pro .grow{grid-column:auto}.lapsed-filter-row{grid-template-columns:1fr}.social-photo-pair{max-width:none}.campaign-audience-stats>div{flex:1;min-width:130px}}


/* v15 final polish: payment clarity, practitioner colours, page hierarchy, messaging and client spacing */
.page-heading>div{display:flex;flex-direction:column;align-items:flex-start}.global-back{order:0;margin:0 0 14px!important;padding:0!important;background:transparent!important;border:0!important;color:#667085!important;font-size:13px!important;font-weight:750!important;cursor:pointer}.page-heading h1{order:1;margin:0!important}.page-heading .page-kicker{order:2;margin-top:6px}.page-heading{margin-bottom:24px!important}
.payment-state-tag{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 10px;border-radius:5px;font-size:12px;font-weight:850;line-height:1.1;white-space:nowrap}.payment-state-tag.unpaid{background:#fee4e2;color:#b42318;border:1px solid #fecdca}.payment-state-tag.part{background:#fff3d6;color:#8a5200;border:1px solid #fedf89}.payment-state-tag.paid{background:#e7f8ef;color:#087651;border:1px solid #abefc6}.paid-action,.paid-button{background:#087651!important;color:#fff!important}.paid-outline{border-color:#7bd8b0!important;color:#087651!important;background:#effaf5!important}.manual-paid-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #b7e4cf;background:#f1fbf6}.manual-paid-box>div{display:grid;gap:3px}.manual-paid-box span{font-size:11px;color:#667085}.inline-action-form{display:inline-flex;margin:0}
.appointment-pro-row{background:linear-gradient(90deg,color-mix(in srgb,var(--prac-color) 9%,white),white 38%)!important}.appointment-pro-row:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--prac-color) 14%,white),#fff 42%)!important}.appt-status-stack{min-width:170px}.client-appt-summary-status{min-width:310px}.client-appt-card summary{background:linear-gradient(90deg,#fff,#fbfcfd)}
.agenda-event,.week-event,.month-event{background:color-mix(in srgb,var(--prac-color) 14%,white)!important;border-left:5px solid var(--prac-color)!important;color:#111827!important}.agenda-event:hover,.week-event:hover,.month-event:hover{background:color-mix(in srgb,var(--prac-color) 21%,white)!important}.calendar-event-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.calendar-pay-tag,.calendar-consent-tag{font-style:normal;font-size:9px;line-height:1;padding:4px 5px;border-radius:3px;font-weight:850}.calendar-pay-tag.unpaid{background:#fee4e2;color:#b42318}.calendar-pay-tag.part{background:#fff0c2;color:#8a5200}.calendar-pay-tag.paid{background:#dff6e9;color:#087651}.calendar-consent-tag.ready{background:#edf7f2;color:#087651}.calendar-consent-tag.due{background:#fff4e5;color:#8a5200}.month-event{display:grid!important;grid-template-columns:auto 1fr;gap:2px 5px!important;padding:5px 6px!important}.month-event .calendar-pay-tag{grid-column:1/-1;width:max-content}.week-event,.agenda-event{padding:9px!important}.arrival-row{background:linear-gradient(90deg,color-mix(in srgb,var(--prac-color) 9%,white),white 36%)!important}
.client-table-wrap td:nth-child(2)>span,.client-table-wrap td:nth-child(2)>small{display:block}.client-table-wrap td:nth-child(2)>small{margin-top:6px!important;color:#667085}.client-filter-pro{background:#fafbfc;border:1px solid #e4e7ec;padding:14px;margin-bottom:14px}.client-filter-pro label span{margin-bottom:7px!important}.client-filter-pro input,.client-filter-pro select{height:42px}.marketing-permission-fieldset .check span{display:grid;gap:2px}.marketing-permission-fieldset .check strong{font-weight:700}.marketing-permission-fieldset .check small{font-weight:400;color:#667085}
.message-centre{padding:0!important;overflow:hidden}.message-centre>.panel-head{padding:20px 22px;margin:0;border-bottom:1px solid #e6e9ed}.message-tabs{margin:0!important;padding:0 18px;background:#fafbfc}.message-centre>[data-message-panel]{padding:20px 22px}.new-message-shell{max-width:840px;margin:0 auto;display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;padding:18px 0}.new-message-intro h3{font-size:22px;margin:5px 0 8px}.new-message-intro p{font-size:13px;color:#667085;line-height:1.6}.message-compose-card{max-width:none!important;background:#fff;border:1px solid #e2e6ec;padding:20px;gap:16px!important}.message-compose-card label>span{display:block;font-size:12px;font-weight:750;margin-bottom:6px}.message-compose-card textarea{min-height:150px}
.loyalty-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.loyalty-summary-grid>div{background:#fff;border:1px solid #e3e7ed;padding:16px}.loyalty-summary-grid span{display:block;font-size:11px;color:#667085;margin-bottom:5px}.loyalty-summary-grid strong{font-size:24px}.loyalty-customer-list{display:grid}.loyalty-customer-row{display:grid;grid-template-columns:44px minmax(180px,1fr) 130px 110px 110px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0f2;color:#101828;text-decoration:none}.loyalty-customer-row>div{display:grid;gap:3px}.loyalty-customer-row>div:not(:first-of-type) span{font-size:10px;color:#667085}.loyalty-customer-row small{font-size:11px;color:#667085}.loyalty-setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.loyalty-settings-card{align-self:start}.voucher-list.professional .voucher-row{border-left:3px solid #b99355}
.portal-appointment-detail{border-radius:5px!important;box-shadow:none!important;border:1px solid #e0e4e8!important;margin-bottom:10px!important}.portal-appointment-detail summary{padding:15px!important;background:#fff!important}.portal-appointment-detail[open] summary{background:#fafbfc!important}.portal-appt-summary h3{font-size:17px!important}.portal-appt-money{display:flex!important;gap:6px!important;flex-wrap:wrap!important;justify-content:flex-end!important}.portal-appointment-expanded{background:#fff!important;border-top:1px solid #e7eaee!important}.portal-main>.panel-head{border-bottom:1px solid #e6e9ed;padding-bottom:16px}
@media(max-width:1050px){.loyalty-summary-grid{grid-template-columns:1fr 1fr}.loyalty-customer-row{grid-template-columns:44px minmax(160px,1fr) 110px 90px}.loyalty-customer-row>div:last-child{grid-column:3/-1}.new-message-shell{grid-template-columns:1fr;gap:14px}}
@media(max-width:760px){.payment-state-tag{font-size:11px;min-height:28px}.client-appt-summary-status{min-width:0}.loyalty-summary-grid{grid-template-columns:1fr 1fr}.loyalty-customer-row{grid-template-columns:42px 1fr}.loyalty-customer-row>div:nth-of-type(n+2){grid-column:2}.loyalty-setting-grid{grid-template-columns:1fr}.message-tabs{overflow:auto;white-space:nowrap}.message-centre>[data-message-panel]{padding:14px}.new-message-shell{padding:4px 0}.calendar-event-tags{margin-top:4px}.client-filter-pro{padding:10px}}
@media(max-width:460px){.loyalty-summary-grid{grid-template-columns:1fr}.portal-appt-money{justify-content:flex-start!important}}
