/* SIGNED-IN CLIENT PORTAL V2 (switch Portal_Signed_V2). Only the shared brand tokens
   (boss-brand.css) — the business's own colours and fonts. */
body.sv2-on{background:var(--brand-light);}
body.sv2-on .topbar,body.sv2-on #dashboardView,body.sv2-on #portalBackFooter{display:none !important;}
body.sv2-on .brea-fab{bottom:96px;}
body.sv2-on .brea-float-panel{bottom:160px;}
.sv2-home{max-width:520px;width:100%;box-sizing:border-box;margin:0 auto;font-family:var(--brand-body);color:var(--brand-dark);}
.sv2-home[hidden],.sv2-bar[hidden]{display:none !important;}
.sv2-hero{position:relative;min-height:210px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;background:var(--brand-dark) center / cover no-repeat;color:var(--brand-light);border-radius:0 0 var(--brand-radius) var(--brand-radius);overflow:hidden;}
.sv2-hero-fade{position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--brand-dark) 25%,transparent),color-mix(in srgb,var(--brand-dark) 85%,transparent));}
.sv2-hero-top{position:relative;display:flex;justify-content:flex-end;gap:10px;}
/* H2-4a: the business's own logo (Settings → Client Portal), top-left of the signed-in home */
.sv2-logo{margin-right:auto;max-height:40px;max-width:55%;width:auto;object-fit:contain;align-self:center;}
.sv2-round{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid color-mix(in srgb,var(--brand-gold) 60%,transparent);background:color-mix(in srgb,var(--brand-dark) 55%,transparent);color:var(--brand-light);display:flex;align-items:center;justify-content:center;cursor:pointer;}
.sv2-round svg,.sv2-bar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.sv2-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--brand-gold);color:var(--brand-dark);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;}
.sv2-hero-txt{position:relative;}
.sv2-hero h1{font:400 26px/1.15 var(--brand-head);margin:0 0 4px;color:var(--brand-light);}
.sv2-date{font-size:13px;opacity:.8;}
.sv2-sec{padding:14px 16px 0;}
.sv2-h2{font:400 19px var(--brand-head);margin:6px 0 10px;}
.sv2-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-gold);margin-bottom:6px;display:block;}
.sv2-next{padding:16px;}
.sv2-next-svc{font:400 21px var(--brand-head);color:var(--brand-light);}
.sv2-next-when{margin-top:4px;font-size:14px;}
.sv2-next-who{font-size:13px;opacity:.8;margin-top:2px;}
.sv2-row-btns{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;}
.sv2-wait{padding:14px;border-radius:var(--brand-radius);border:1.5px solid var(--brand-gold);background:var(--brand-card);}
.sv2-todo{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;padding:8px 0;}
.sv2-todo b{display:block;font-size:15px;}
.sv2-todo small{display:block;font-size:13px;opacity:.75;margin-top:2px;}
.sv2-page .sv2-todo{padding:14px;border-radius:var(--brand-radius-sm);border:1px solid color-mix(in srgb,var(--brand-gold) 55%,transparent);background:var(--brand-paper);margin-bottom:10px;}
.sv2-link,.sv2-nocard{background:none;border:0;padding:0;min-height:44px;color:var(--brand-dark);font:500 13px var(--brand-body);text-decoration:underline;text-decoration-color:var(--brand-gold);cursor:pointer;text-align:left;}
.sv2-nocard{display:block;width:100%;padding:10px 14px;border-radius:var(--brand-radius-sm);background:var(--brand-paper);border:1px dashed var(--brand-gold);text-decoration:none;margin-bottom:6px;}
.sv2-swipe{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 10px;scrollbar-width:none;}
.sv2-swipe::-webkit-scrollbar{display:none;}
.sv2-wcard{flex:0 0 170px;scroll-snap-align:start;min-height:110px;padding:14px;border-radius:var(--brand-radius);background:var(--brand-dark);color:var(--brand-light);border:1.5px solid var(--brand-gold);display:flex;flex-direction:column;gap:4px;text-align:left;font:inherit;cursor:pointer;}
.sv2-wcard b{font:400 18px var(--brand-head);color:var(--brand-light);}
.sv2-wcard span{font-size:12.5px;opacity:.85;}
.sv2-wk{font-size:10.5px !important;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-gold);opacity:1 !important;}
.sv2-chips{display:flex;gap:8px;flex-wrap:wrap;}
.sv2-chip{min-height:44px;padding:0 16px;border-radius:22px;border:1px solid var(--brand-gold);background:var(--brand-paper);color:var(--brand-dark);font:500 13px var(--brand-body);cursor:pointer;}
.sv2-offer{flex:0 0 260px;scroll-snap-align:start;min-height:130px;padding:16px;display:flex;flex-direction:column;gap:6px;text-align:left;font:inherit;cursor:pointer;}
.sv2-offer b{font:400 19px var(--brand-head);color:var(--brand-light);}
.sv2-offer-act{margin-top:auto;font-size:12.5px;color:var(--brand-gold);}
.sv2-app{padding:16px;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;}
.sv2-app b{flex:1 1 100%;font:400 18px var(--brand-head);}
.sv2-bar-space{height:100px;}
.sv2-bar{position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:520px;height:78px;padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);align-items:end;background:var(--brand-dark);border-top:1px solid color-mix(in srgb,var(--brand-gold) 55%,transparent);z-index:860;}
.sv2-bar button{min-height:60px;background:none;border:0;color:color-mix(in srgb,var(--brand-light) 65%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:500 10.5px var(--brand-body);letter-spacing:.06em;cursor:pointer;}
.sv2-bar button.on{color:var(--brand-gold);}
.sv2-bar-book{position:relative;}
.sv2-bar-book-c{width:58px;height:58px;margin-top:-26px;border-radius:50%;background:var(--brand-gold-shine);color:var(--brand-dark);display:flex;align-items:center;justify-content:center;box-shadow:var(--brand-shadow-gold);border:3px solid var(--brand-dark);}
.sv2-bar-book span:last-child{color:var(--brand-gold);}
.sv2-page{position:fixed;top:0;bottom:78px;left:0;right:0;margin:0 auto;max-width:520px;background:var(--brand-light);color:var(--brand-dark);font-family:var(--brand-body);overflow-y:auto;z-index:805;}
.sv2-page-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--brand-dark);color:var(--brand-light);border-bottom:1.5px solid var(--brand-gold);}
.sv2-page-head h1{font:400 20px var(--brand-head);margin:0;color:var(--brand-light);}
.sv2-back{width:44px;height:44px;border:0;background:none;color:var(--brand-gold);font-size:22px;cursor:pointer;}
.sv2-page-body{padding:16px;}
.sv2-page-body .portal-tab-panel{display:block;padding-top:0;}
.sv2-empty{padding:24px 0;text-align:center;opacity:.7;}
.sv2-me-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.sv2-me-head b{display:block;font:400 22px var(--brand-head);}
.sv2-me-head small{font-size:13px;opacity:.7;}
.sv2-ring{width:58px;height:58px;border-radius:50%;border:2px solid var(--brand-gold);display:flex;align-items:center;justify-content:center;font:400 24px var(--brand-head);background:var(--brand-dark);color:var(--brand-gold);}
.sv2-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;}
.sv2-nums div{background:var(--brand-paper);border-radius:var(--brand-radius-sm);padding:10px;text-align:center;border:1px solid color-mix(in srgb,var(--brand-gold) 40%,transparent);}
.sv2-nums b{display:block;font:400 19px var(--brand-head);}
.sv2-nums span{font-size:11.5px;opacity:.7;}
.sv2-group{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-gold);margin:16px 0 6px;font-weight:500;}
.sv2-me-row{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:0 4px;background:none;border:0;border-bottom:1px solid color-mix(in srgb,var(--brand-dark) 10%,transparent);font:inherit;font-size:15px;color:var(--brand-dark);cursor:pointer;text-align:left;}
.sv2-me-row span:first-child{flex:1;}
.sv2-count{font-size:12.5px;padding:2px 8px;border-radius:10px;background:var(--brand-card);}
.sv2-signout{color:color-mix(in srgb,var(--brand-dark) 70%,transparent);}
.sv2-cut{display:none !important;}
.sv2-more{display:block;width:100%;min-height:44px;margin-top:8px;border-radius:22px;border:1px solid var(--brand-gold);background:var(--brand-paper);color:var(--brand-dark);font:500 13px var(--brand-body);cursor:pointer;}
.sv2-rebook{min-height:36px;margin-left:8px;padding:0 14px;border-radius:18px;border:1px solid var(--brand-gold);background:none;color:var(--brand-dark);font:500 12px var(--brand-body);cursor:pointer;}
