/* ============================================================================
   MBV patient surfaces — Block bookings Phase 04 (BB §10): the secure-web
   catalogue, product detail, identity gate, checkout returns and My Account.
   The runtime counterpart of docs/designs/MBV/Block bookings/Phase_01_Screen_Demos/
   demos/mbv-demo.css plus each web demo's page styles, on the design-tokens.css
   variables. Standalone: these pages carry no portal chrome, so nothing here
   is scoped. The tenant's accent arrives as --accent/--accent-soft/--accent-tint
   on <html> (SettingsService AA-checks it at upload); navy + the green saving
   never change [theming-demo]. Type scale one step larger than nominal (body
   17px) — the MBV user base skews older; do not shrink back.
   ============================================================================ */
:root{--accent:var(--teal);--accent-soft:var(--teal-soft);--accent-tint:var(--teal-tint);--radius-card:18px;--radius-ctrl:14px;}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--n50);font-family:'Barlow',sans-serif;color:var(--n800);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;}
.cond{font-family:'Barlow Condensed',sans-serif;}
a{color:var(--accent);text-decoration:none;}
button{font:inherit;}
[hidden]{display:none!important;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ── Surface ─────────────────────────────────────────────────────────────── */
.surface{min-height:100vh;max-width:560px;margin:0 auto;background:var(--n50);}
@media(min-width:600px){.surface{box-shadow:0 0 0 1px var(--n150);}}
.surface-pad{padding:18px 18px 26px;}
.surface-title{font-family:'Barlow Condensed',sans-serif;font-size:27px;font-weight:700;color:var(--navy);margin:0 0 3px;line-height:1.1;}
.surface-sub{font-size:15px;color:var(--n500);margin:0 0 16px;}

/* Tenant brand header (snagging list 13, item 9 — the design "Customer account redesign (2)"):
   the clinic's logo and name, then Treatments · Plans & gift vouchers · My account · My
   appointments and "Book an appointment"; below 900px the links and the button fold into a menu.
   The header and the footer sit outside the page column (.surface), across the width. */
.sw-page{min-height:100vh;display:flex;flex-direction:column;}
.sw-page>.surface{flex:1 0 auto;min-height:0;width:100%;}
.cw-ic{width:20px;height:20px;flex:none;}
.tenant-bar{background:#fff;border-bottom:1px solid var(--n150);position:relative;z-index:20;}
.sw-top-in{max-width:1200px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:8px 14px;}
.sw-brand{display:flex;align-items:center;gap:10px;margin-right:auto;min-width:0;text-decoration:none;}
.tenant-logo{width:38px;height:38px;border-radius:9px;background:var(--accent);display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:17px;overflow:hidden;flex-shrink:0;}
.tenant-logo img{display:block;width:100%;height:100%;object-fit:cover;}
.tenant-name{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:21px;color:var(--navy);letter-spacing:.01em;line-height:1.15;}
.sw-acts{display:flex;align-items:center;gap:8px 14px;}
.tb-nav{display:flex;gap:2px;align-items:center;flex-wrap:wrap;}
.sw-nav-a{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:16px;color:var(--n700);padding:0 10px;min-height:40px;display:inline-flex;align-items:center;border-radius:9px;text-decoration:none;white-space:nowrap;}
.sw-nav-a:hover{background:#F3F6F9;color:var(--navy);}
.sw-nav-a.on{background:var(--accent-soft);color:var(--accent);}
.btn.sw-book{min-height:44px;padding:0 18px;border-radius:10px;font-size:17px;}
.sw-menu{display:none;position:relative;}
.sw-menu>summary{list-style:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--n700);border-radius:10px;}
.sw-menu>summary::-webkit-details-marker{display:none;}
.sw-menu>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.sw-menu>summary span{display:flex;}
.sw-menu>summary .cw-ic{width:24px;height:24px;}
.sw-menu .sw-menu-close,.sw-menu[open] .sw-menu-open{display:none;}
.sw-menu[open] .sw-menu-close{display:flex;}
.sw-menu-panel{position:absolute;right:0;top:calc(100% + 8px);width:min(300px,calc(100vw - 24px));background:#fff;border:1px solid var(--n150);border-radius:14px;box-shadow:0 12px 32px rgba(10,53,87,.16);padding:8px;display:flex;flex-direction:column;gap:2px;z-index:30;}
.sw-menu-panel a:not(.btn){font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:18px;color:var(--n700);padding:0 12px;min-height:46px;border-radius:9px;display:flex;align-items:center;gap:8px;text-decoration:none;}
.sw-menu-panel a:not(.btn):hover{background:#F3F6F9;color:var(--navy);}
.sw-menu-panel a.on{background:var(--accent-soft);color:var(--accent);}
.sw-menu-panel .btn{margin-top:6px;min-height:48px;font-size:17.5px;}
.sw-menu-panel .sw-ext{width:16px;height:16px;}
@media (max-width:899px){
  .tb-nav,.btn.sw-book{display:none;}
  .sw-menu{display:block;}
  .sw-top-in{padding:8px 8px 8px 16px;gap:10px;}
  .tenant-logo{width:34px;height:34px;border-radius:8px;font-size:15px;}
  .tenant-name{font-size:19px;}
}

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.btn{font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:600;line-height:1;letter-spacing:.02em;border-radius:11px;padding:9px 18px;cursor:pointer;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:all .14s ease;white-space:nowrap;text-decoration:none;}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;pointer-events:none;}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px rgba(18,111,148,.18);}
.btn-primary:hover:not(:disabled){filter:brightness(.94);}
.btn-secondary{background:#fff;color:var(--navy);border-color:var(--n200);}
.btn-secondary:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent-tint);color:var(--accent);}
.btn-link{background:none;color:var(--accent);padding:6px 4px;}
.btn-block{width:100%;}
.btn-lg{font-size:17.5px;padding:12px 22px;}
/* A full-width button wraps a long label (a tier name in "Join … / month") rather than clip it. */
.btn-block.btn-lg{white-space:normal;text-align:center;line-height:1.2;}
.btn.busy{opacity:.7;pointer-events:none;}

/* ── Chips / token chips ─────────────────────────────────────────────────── */
.chip{display:inline-flex;align-items:center;gap:5px;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 11px;white-space:nowrap;}
.chip-ok{background:var(--ok-tint);color:var(--ok);border:1px solid #C7E6D7;}
.chip-warn{background:var(--warn-tint);color:var(--warn);border:1px solid #F4E0B8;}
.chip-neutral{background:var(--n100);color:var(--n500);border:1px solid var(--n150);}
.token-chip{display:inline-flex;align-items:center;gap:6px;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:14.5px;color:var(--navy);background:#fff;border:1px solid var(--n150);border-radius:999px;padding:5px 12px;}
.token-chip b{color:var(--accent);}
.token-chip.amber{border-color:#F4E0B8;background:var(--warn-tint);color:var(--warn);}
.token-chip.amber b{color:var(--warn);}

/* ── MBV PLAN CARD [component-plan-card] ─────────────────────────────────── */
.plan-stack{display:flex;flex-direction:column;gap:24px;}
.plan-card{position:relative;background:#fff;border:1px solid var(--n150);border-radius:20px;padding:22px 22px 20px;box-shadow:0 1px 3px rgba(0,0,0,.05);display:flex;flex-direction:column;transition:box-shadow .15s,border-color .15s,transform .15s;}
.plan-card:hover{box-shadow:0 8px 24px rgba(10,53,87,.10);border-color:var(--accent-tint);transform:translateY(-2px);}
.plan-card.featured{border-color:var(--accent);box-shadow:0 6px 20px rgba(18,111,148,.14);}
.plan-card .pc-flash{position:absolute;top:-12px;left:22px;font-family:'Barlow Condensed',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--accent);border-radius:999px;padding:4px 13px;box-shadow:0 2px 6px rgba(18,111,148,.3);}
.plan-card .pc-name{font-family:'Barlow Condensed',sans-serif;font-size:25px;font-weight:700;letter-spacing:.01em;text-transform:uppercase;color:var(--navy);}
.plan-card .pc-promise{font-size:15px;color:var(--n500);margin-top:2px;min-height:21px;}
.plan-card .pc-price{display:flex;align-items:baseline;gap:9px;margin-top:16px;}
.plan-card .pc-pervisit{font-family:'Barlow Condensed',sans-serif;font-size:43px;font-weight:700;line-height:1;color:var(--navy);}
.plan-card .pc-unit{font-size:14.5px;color:var(--n500);font-weight:600;}
.plan-card .pc-struck{font-size:16.5px;color:var(--n400);text-decoration:line-through;}
.plan-card .pc-sub{margin-top:8px;font-size:16px;color:var(--n700);}
.plan-card .pc-save{color:var(--ok);font-weight:700;}
.plan-card .pc-validity{margin-top:4px;font-size:14.5px;color:var(--n500);}
.plan-card .pc-lines{list-style:none;margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--n100);display:flex;flex-direction:column;gap:8px;}
.plan-card .pc-lines li{font-size:15px;color:var(--n700);display:flex;gap:8px;align-items:flex-start;}
.plan-card .pc-lines li::before{content:"";flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-top:8px;}
.plan-card .pc-cta{margin-top:auto;}
.plan-card>:nth-last-child(2){margin-bottom:24px;}
.plan-card .pc-media{flex-shrink:0;height:128px;margin:-22px -22px 16px;border-radius:19px 19px 0 0;overflow:hidden;background:var(--accent-soft);}
.plan-card .pc-media img{display:block;width:100%;height:100%;object-fit:cover;}
.plan-card .pc-media.brand{display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,var(--accent-soft),var(--accent-tint));}
.plan-card .pc-media.brand .bp-logo{width:40px;height:40px;border-radius:10px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:19px;overflow:hidden;}
.plan-card .pc-media.brand .bp-logo img{display:block;width:100%;height:100%;object-fit:cover;}
.plan-card .pc-media.brand .bp-name{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:19px;letter-spacing:.01em;color:var(--accent);}

/* ── Catalogue [web-catalogue] ───────────────────────────────────────────── */
.disc-switch{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap;}
.disc-switch a,.disc-switch button{font-family:'Barlow Condensed',sans-serif;font-size:14.5px;font-weight:600;padding:7px 14px;border-radius:999px;border:1px solid var(--n200);background:#fff;color:var(--n600);cursor:pointer;}
.disc-switch .on{background:var(--navy);color:#fff;border-color:var(--navy);}
.flex-line{margin-top:18px;background:var(--accent-soft);border:1px solid var(--accent-tint);border-radius:12px;padding:13px 15px;font-size:15px;color:var(--navy);}
.cat-foot{margin-top:20px;padding-top:14px;border-top:1px solid var(--n150);font-size:14px;color:var(--n500);line-height:1.8;}
.cat-foot a{font-weight:600;}

/* ── Banners / empty state ───────────────────────────────────────────────── */
.banner{border-radius:12px;padding:13px 16px;font-size:15px;display:flex;gap:9px;align-items:flex-start;}
.banner-warn{background:var(--warn-tint);border:1px solid #F4E0B8;color:#78491a;}
.banner-err{background:var(--err-tint);border:1px solid #E7B8C8;color:#7A1C3A;}
.banner-info{background:var(--teal-soft);border:1px solid var(--teal-tint);color:var(--navy);}
.empty-state{text-align:center;padding:44px 22px;background:#fff;border:1px dashed var(--n200);border-radius:var(--radius-card);}
.empty-state .es-title{font-family:'Barlow Condensed',sans-serif;font-size:21px;font-weight:700;color:var(--navy);}
.empty-state .es-sub{font-size:15px;color:var(--n500);margin-top:4px;}

/* ── Product detail [web-product-detail] ─────────────────────────────────── */
.pd-media{aspect-ratio:5/2;overflow:hidden;background:var(--accent-soft);}
.pd-media img{display:block;width:100%;height:100%;object-fit:cover;}
.pd-back{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:600;display:inline-block;margin-bottom:12px;}
.pd-hero{font-family:'Barlow Condensed',sans-serif;font-size:30px;font-weight:700;text-transform:uppercase;color:var(--navy);line-height:1.05;margin:0;}
.pd-promise{font-size:16px;color:var(--n500);margin-top:3px;}
.pd-price{display:flex;align-items:baseline;gap:9px;margin-top:14px;}
.pd-pervisit{font-family:'Barlow Condensed',sans-serif;font-size:46px;font-weight:700;line-height:1;color:var(--navy);}
.pd-unit{font-size:15px;color:var(--n500);font-weight:600;}
.pd-struck{font-size:17px;color:var(--n400);text-decoration:line-through;}
.pd-today{margin-top:8px;font-size:16px;color:var(--n700);}
.pd-today .save{color:var(--ok);font-weight:700;}
.pd-section{margin-top:22px;}
.pd-from{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:10px 13px;background:#fff;border:1px solid var(--n150);border-radius:12px;font-size:15px;color:var(--n700);}
.pd-from b{color:var(--navy);}
.pd-from a,.pd-from button{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:15px;white-space:nowrap;background:none;border:0;color:var(--accent);cursor:pointer;padding:0;}
.pd-from-pick{margin-top:8px;display:flex;flex-direction:column;gap:6px;}
.pd-from-pick label{display:flex;align-items:center;gap:10px;padding:10px 13px;background:#fff;border:1px solid var(--n150);border-radius:12px;font-size:15px;color:var(--navy);cursor:pointer;}
.pd-from-pick label.off{color:var(--n400);cursor:not-allowed;}
.pd-from-pick small{color:var(--n500);margin-left:auto;font-size:13px;}
.pd-h{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--n500);margin:0 0 9px;}
.pd-contents{list-style:none;display:flex;flex-direction:column;gap:9px;margin:0;padding:0;}
.pd-contents li{display:flex;align-items:center;gap:11px;font-size:16.5px;color:var(--navy);}
.pd-qty{flex-shrink:0;width:34px;height:34px;border-radius:9px;background:var(--accent-soft);border:1px solid var(--accent-tint);color:var(--accent);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center;}
.pd-validity{background:var(--accent-soft);border:1px solid var(--accent-tint);border-radius:12px;padding:14px 15px;font-size:16px;color:var(--navy);line-height:1.55;}
.pd-terms{border:1px solid var(--n150);border-radius:12px;background:#fff;overflow:hidden;}
.pd-terms summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:13px 15px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:16px;color:var(--navy);}
.pd-terms summary::-webkit-details-marker{display:none;}
.pd-terms summary .caret{color:var(--n400);font-size:14px;transition:transform .15s;}
.pd-terms[open] summary .caret{transform:rotate(180deg);}
.pd-terms .terms-body{padding:13px 15px 15px;font-size:14.5px;color:var(--n600);line-height:1.65;border-top:1px solid var(--n100);white-space:pre-line;}
.pd-terms .terms-ver{font-size:12.5px;color:var(--n400);margin-top:10px;}
.pd-summary{margin-top:22px;border-top:1px solid var(--n150);padding-top:16px;}
.pd-row{display:flex;justify-content:space-between;align-items:baseline;font-size:16px;color:var(--n700);padding:5px 0;}
.pd-row.total{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:700;color:var(--navy);border-top:1px solid var(--n100);margin-top:6px;padding-top:11px;}
.pd-row .save{color:var(--ok);font-weight:700;}
.pd-buy{margin-top:18px;}
.pd-secure{text-align:center;font-size:13px;color:var(--n400);margin-top:10px;}

/* ── Identity [web-identity] ─────────────────────────────────────────────── */
.field{margin-bottom:14px;}
.field label{display:block;font-family:'Barlow Condensed',sans-serif;font-size:13.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--n600);margin-bottom:5px;}
.field input{width:100%;border:1px solid var(--n200);border-radius:12px;padding:12px 14px;font-family:'Barlow',sans-serif;font-size:17px;color:var(--n800);background:#fff;outline:none;transition:border-color .12s,box-shadow .12s;}
.field input:focus{border-color:var(--accent);box-shadow:var(--focus-ring);}
.field input.is-err{border-color:var(--err);box-shadow:0 0 0 3px var(--err-tint);}
.field-note{font-size:13.5px;color:var(--n500);margin-top:-6px;margin-bottom:14px;}
.code-input{letter-spacing:.4em;font-family:'Barlow Condensed',sans-serif;font-size:27px;text-align:center;}
.resend{display:flex;align-items:center;justify-content:space-between;margin:-2px 0 16px;font-size:14.5px;}
.resend .cooldown{color:var(--n400);}
.resend a,.resend button{font-weight:600;background:none;border:0;color:var(--accent);cursor:pointer;padding:0;font-size:14.5px;}
.resend .disabled{color:var(--n300);pointer-events:none;}
.id-back{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:600;display:inline-block;margin-bottom:14px;background:none;border:0;color:var(--accent);cursor:pointer;padding:0;}
.code-to{font-size:15px;color:var(--n600);margin-bottom:16px;}
.code-to strong{color:var(--navy);}

/* ── Unmatched buyer [web-unmatched-buyer] ───────────────────────────────── */
.um{text-align:center;padding:34px 22px 26px;}
.um-mark{width:64px;height:64px;border-radius:50%;background:var(--accent-soft);border:2px solid var(--accent-tint);display:flex;align-items:center;justify-content:center;margin:0 auto;color:var(--accent);font-size:30px;}
.um-title{font-family:'Barlow Condensed',sans-serif;font-size:27px;font-weight:700;color:var(--navy);margin-top:16px;line-height:1.12;}
.um-copy{font-size:16.5px;color:var(--n600);margin-top:10px;line-height:1.55;}
.um-actions{margin-top:26px;display:flex;flex-direction:column;gap:10px;}
.um-phone{font-size:14px;color:var(--n500);margin-top:18px;}
.um-retry{margin-top:20px;padding-top:16px;border-top:1px solid var(--n150);font-size:14.5px;color:var(--n500);}
.um-retry a{font-weight:600;}

/* ── Checkout returns [web-checkout-returns] ─────────────────────────────── */
.succ{text-align:center;padding:30px 22px 26px;}
.succ-emoji{font-size:46px;}
.succ-mark{width:60px;height:60px;border-radius:50%;background:var(--accent-soft);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto;color:var(--accent);font-size:30px;}
.succ-title{font-family:'Barlow Condensed',sans-serif;font-size:30px;font-weight:700;color:var(--navy);margin-top:6px;line-height:1.1;}
.succ-sub{font-size:16px;color:var(--n600);margin-top:6px;}
.token-list{margin:20px 0;background:var(--accent-soft);border:1px solid var(--accent-tint);border-radius:14px;padding:15px 17px;text-align:left;}
.token-list .tk{display:flex;gap:9px;align-items:flex-start;font-size:16px;color:var(--navy);padding:6px 0;}
.token-list .tk::before{content:"";flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-top:8px;}
.receipt-note{font-size:14px;color:var(--n500);margin-top:16px;}
.replay{margin-top:8px;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;color:var(--accent);background:none;border:1px solid var(--accent-tint);border-radius:999px;padding:6px 14px;cursor:pointer;}
.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--n150);border-top-color:var(--accent);margin:0 auto;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.fw-stage{position:relative;overflow:hidden;}
.fw{position:absolute;width:7px;height:7px;border-radius:50%;opacity:0;pointer-events:none;}
@keyframes fwburst{0%{transform:translate(0,0) scale(.4);opacity:1;}70%{opacity:1;}100%{transform:translate(var(--dx),var(--dy)) scale(1);opacity:0;}}
.fw-stage.play .fw{animation:fwburst 1.1s ease-out forwards;animation-delay:var(--d,0s);}
.succ-mark.rm{display:none;}
@media(prefers-reduced-motion:reduce){
  .spinner{animation:none;border-top-color:var(--n150);}
  .fw-stage .fw{display:none!important;}
  .replay{display:none!important;}
  .succ-emoji{display:none;}
  .succ-mark.rm{display:flex;} /* after the default above, or the static tick never shows */
}
@media(prefers-reduced-motion:no-preference){.succ-emoji{display:block;}}

/* ── My Account [web-account] ────────────────────────────────────────────── */
.ac-h{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--n500);margin:24px 0 10px;}
.ac-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px;}
.tk-card{background:#fff;border:1px solid var(--n150);border-radius:16px;padding:16px 17px;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.tk-card + .tk-card{margin-top:14px;}
.tk-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
.tk-name{font-family:'Barlow Condensed',sans-serif;font-size:19px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.01em;}
.tk-count{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:600;color:var(--accent);white-space:nowrap;}
.tk-prog{margin:11px 0 8px;}
.tk-exp{font-size:14px;color:var(--n500);margin:8px 0 13px;}
.tk-exp.amber{color:var(--warn);font-weight:600;}
.prog{height:7px;border-radius:6px;background:var(--n150);overflow:hidden;}
.prog>span{display:block;height:100%;background:var(--accent);border-radius:6px;}
.prog.seg{display:flex;}
.prog.seg>span{border-radius:0;}
.prog.seg>.pg-booked,.tok-split i.booked{background:repeating-linear-gradient(135deg,var(--accent) 0 3px,var(--accent-tint) 3px 7px);}
.tok-split{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14px;color:var(--n600);margin-top:7px;}
.tok-split i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;background:var(--n200);}
.tok-split i.used{background:var(--accent);}
.tok-booked{list-style:none;margin:12px 0 14px;padding:11px 0 0;border-top:1px solid var(--n100);display:flex;flex-direction:column;gap:7px;}
.tok-booked li{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:15px;color:var(--navy);}
.tok-booked .tb-h{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--n500);}
.tok-done{font-size:14.5px;color:var(--n500);text-align:center;}
.ac-balance{background:var(--accent-soft);border:1px solid var(--accent-tint);border-radius:16px;padding:17px 18px;}
.ac-bal-amt{font-family:'Barlow Condensed',sans-serif;font-size:34px;font-weight:700;color:var(--navy);line-height:1;}
.ac-bal-lbl{font-size:14px;color:var(--n500);text-transform:uppercase;letter-spacing:.06em;font-family:'Barlow Condensed',sans-serif;font-weight:700;}
.ac-bal-copy{font-size:15px;color:var(--navy);margin-top:9px;line-height:1.5;}
.ac-hist{list-style:none;margin:0;padding:0;}
.ac-hist li{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid var(--n100);}
.ac-hist li:last-child{border-bottom:none;}
.ac-hist .ph-main{font-size:15.5px;color:var(--navy);font-weight:600;}
.ac-hist .ph-sub{font-size:13.5px;color:var(--n500);margin-top:2px;}
.ac-hist .ph-right{text-align:right;flex-shrink:0;}
.ac-hist .ph-amt{font-size:15.5px;color:var(--navy);font-weight:600;}
.ac-hist .resend{display:inline-block;margin:3px 0 0;font-size:13px;font-weight:600;background:none;border:0;color:var(--accent);cursor:pointer;padding:0;}
.ac-hist .resend.done{color:var(--ok);}

/* ── "Not you?" — forget this device ─────────────────────────────────────── */
.not-you{margin:10px 0 0;font-size:14px;color:var(--n500);}
.not-you button{background:none;border:0;padding:0;margin:0 0 0 4px;font:inherit;font-weight:600;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px;min-height:24px;}
.not-you button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px;}
.surface-title + .not-you{margin:-4px 0 12px;}
.pd-buy ~ .not-you,#idg .not-you{text-align:center;margin-top:16px;}

/* ── Footer ──────────────────────────────────────────────────────────────── */
/* The powered-by line on every page; above it, on the catalogue and the pages its cards lead to,
   "Not sure which fits?" (snagging list 13, item 9). As wide as the page column above it. */
.web-foot{color:var(--n500);padding:0 0 28px;}
.sw-help{max-width:560px;margin:0 auto;padding:8px 18px 4px;display:flex;flex-direction:column;gap:12px;}
body.mbv-wide .sw-help{max-width:1200px;padding:8px 24px 4px;}
.sw-help-h{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:700;color:var(--navy);margin:0;line-height:1.15;}
.sw-help-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;}
body.mbv-wide .sw-help-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;}
.sw-help-a{display:flex;gap:12px;align-items:center;padding:14px 18px;background:#fff;border:1px solid var(--n150);border-radius:16px;color:inherit;text-decoration:none;min-height:44px;}
.sw-help-a:hover{border-color:var(--accent);color:inherit;}
.sw-help-a strong{display:block;color:var(--navy);font-weight:700;}
.sw-help-s{color:#5E6A78;font-size:15px;}
.sw-help-i{width:40px;height:40px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex:none;}
.sw-help-i.neutral{background:var(--n100);color:var(--n600);}
.sw-powered{text-align:center;font-size:13px;color:#5E6A78;padding:22px 18px 0;}
@media (max-width:759px){
  .sw-help,body.mbv-wide .sw-help{padding:4px 16px 0;gap:8px;}
  body.mbv-wide .sw-help-grid{grid-template-columns:minmax(0,1fr);gap:8px;}
  .sw-help-a{padding:14px;}
  .sw-help-s{font-size:14.5px;}
  .sw-help-h{font-size:19px;}
  .sw-powered{font-size:12.5px;}
}

/* ── The catalogue, "Plans & gift vouchers" (snagging list 13, item 9) ──────── */
/* The page top, tabs with an icon and a count (pills on a phone, sticky under the header), a
   line per tab with the TREATMENT filter beside it (a full-width segmented control on a phone),
   the cards (partials/catalogue-card-css.php) and the tab's reassurance note. */
body.cw-page{background:#F3F6F9;}
body.mbv-wide.cw-page .surface{max-width:1200px;background:transparent;box-shadow:none;}
.cw-page-in{padding:36px 24px 30px;display:flex;flex-direction:column;gap:22px;}
.cw-eb{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5E6A78;}
.cw-hero{max-width:720px;}
.cw-h1{font-family:'Barlow Condensed',sans-serif;font-size:44px;font-weight:700;color:var(--navy);margin:4px 0 6px;line-height:1.05;}
.cw-lead{margin:0;font-size:18px;color:#5E6A78;}
.cw-tabs{display:flex;gap:30px;border-bottom:1px solid var(--n200);overflow-x:auto;padding:0 4px;scrollbar-width:none;}
.cw-tabs::-webkit-scrollbar{display:none;}
.cw-tab{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 6px;font-family:'Barlow Condensed',sans-serif;font-size:19px;font-weight:600;white-space:nowrap;color:#5E6A78;text-decoration:none;box-shadow:inset 0 -3px 0 transparent;flex:none;}
.cw-tab:hover{color:var(--navy);}
.cw-tab.on{color:var(--navy);box-shadow:inset 0 -3px 0 var(--area-ink);}
.cw-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:6px;}
.cw-ti{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--area-tile);color:var(--area-ink);flex:none;}
.cw-ti .cw-ic{width:18px;height:18px;}
.cw-tc{font-family:'Barlow',sans-serif;font-size:12.5px;font-weight:700;border-radius:999px;padding:1px 8px;background:var(--n100);color:var(--n600);line-height:1.5;}
.cw-tab.on .cw-tc{background:var(--area-tile);color:var(--area-ink);}
.cw-panel{display:flex;flex-direction:column;gap:22px;}
.cat-panel[hidden],.cw-panel[hidden]{display:none;}
.cw-bar{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;}
.cw-intro{margin:0;font-size:17px;color:var(--n700);flex:1 1 360px;}
.cw-filter{display:flex;align-items:center;gap:10px;}
.cw-seg{display:inline-flex;flex-wrap:wrap;background:#E9EEF3;border-radius:10px;padding:3px;gap:2px;}
.cw-seg button{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 16px;border:0;border-radius:8px;cursor:pointer;font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:600;background:transparent;color:var(--n600);}
.cw-seg button:hover{color:var(--navy);}
.cw-seg button[aria-pressed="true"]{background:#fff;color:var(--navy);box-shadow:0 1px 3px rgba(10,53,87,.15);}
.cw-seg button:focus-visible{outline:2px solid var(--accent);outline-offset:1px;}
.cw-count{font-family:'Barlow',sans-serif;font-size:12.5px;font-weight:700;border-radius:999px;padding:1px 8px;background:#DDE3EA;color:var(--n600);line-height:1.5;}
.cw-seg button[aria-pressed="true"] .cw-count{background:var(--accent-soft);}
.cw-panel .banner{margin:0;}
@media (max-width:759px){
  .cw-page-in{padding:22px 16px 18px;gap:16px;}
  .cw-eb{font-size:13px;}
  .cw-h1{font-size:32px;}
  .cw-lead{font-size:16px;}
  .cw-tabs{position:sticky;top:0;z-index:5;background:#F3F6F9;border-top:1px solid var(--n150);border-bottom:1px solid var(--n150);gap:6px;padding:8px 16px;margin:0 -16px;}
  .cw-tab{min-height:42px;padding:0 14px;border-radius:999px;border:1px solid var(--n200);background:#fff;color:var(--n700);font-size:16.5px;gap:6px;box-shadow:none;}
  .cw-tab.on{background:var(--area-ink);border-color:var(--area-ink);color:#fff;box-shadow:none;}
  .cw-ti{width:auto;height:auto;background:none;color:inherit;}
  .cw-ti .cw-ic{width:17px;height:17px;}
  .cw-tc{font-size:11.5px;padding:0 7px;}
  .cw-tab.on .cw-tc{background:rgba(255,255,255,.25);color:#fff;}
  .cw-bar{flex-direction:column;align-items:stretch;gap:16px;}
  .cw-intro{font-size:15.5px;flex:none;}
  .cw-filter{display:block;}
  .cw-filter .cw-eb{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
  .cw-seg{display:flex;flex-wrap:nowrap;overflow-x:auto;}
  .cw-seg button{flex:1 0 auto;justify-content:center;min-height:40px;padding:0 8px;gap:5px;}
  .cw-count{font-size:11.5px;padding:0 7px;}
}

/* ── Wide screens (snagging list, 17 Oct 2026) ───────────────────────────── */
/* The shell is a 560px column; a page that asks for `mbv-wide` on <body> widens it (the
   booking pages do the same with wb-wide) so the catalogue tiles and the account sections
   can take the width of a PC screen. Phones are unchanged. */
body.mbv-wide .surface{max-width:1100px;}
@media(min-width:760px){
  body.mbv-wide .surface-pad{padding:22px 28px 32px;}
  /* Product options as tiles across the width: blocks, tiers and gift cards alike. */
  body.mbv-wide .plan-stack,body.mbv-wide .gift-stack{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:stretch;gap:26px;}
  body.mbv-wide .plan-stack>.plan-card,body.mbv-wide .gift-stack>.gift-card{margin:0;}
}
/* My account on a desktop: the appointments and tokens on the left, memberships, balance and
   history on the right. One column on a phone, as it always was. */
.acct-grid{display:grid;gap:0;}
@media(min-width:900px){
  body.mbv-wide .acct-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:32px;}
  body.mbv-wide .acct-side>.ac-h:first-child,body.mbv-wide .acct-main>.ac-h:first-child{margin-top:0;}
}
/* Detail pages on a desktop (tier, block, recommendation, win-back): `dx-page` on <body>.
   The page is cut into chunks: .dx-a and .dx-c (what it is) form the left column, .dx-b and
   .dx-d (price, choices, the button) a sticky panel on the right. Below 900px the column
   wrappers vanish (display:contents) and `order` puts the chunks back a, b, c, d, so a phone
   or a tablet reads exactly as before. A page with only some chunks still works. */
.dx{display:flex;flex-direction:column;}
.dx-main,.dx-side{display:contents;}
.dx-a{order:1;}.dx-b{order:2;}.dx-c{order:3;}.dx-d{order:4;}
/* A chunk is a flex item, so its last child's bottom margin no longer merges with the next
   chunk's top margin as it did in one column; drop it so the phone spacing stays the same. */
.dx-a>:last-child,.dx-b>:last-child,.dx-c>:last-child,.dx-d>:last-child{margin-bottom:0;}
/* An empty last child (a tier with no promise) used to let its top margin merge away too. */
.dx-a>:last-child:empty,.dx-b>:last-child:empty,.dx-c>:last-child:empty,.dx-d>:last-child:empty{margin-top:0;}
@media(min-width:900px){
  body.dx-page .surface{max-width:1100px;}
  body.dx-page .surface-pad{padding:26px 32px 40px;}
  body.dx-page .pd-media{aspect-ratio:auto;height:300px;}
  body.dx-page .dx{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;align-items:start;}
  body.dx-page .dx-main,body.dx-page .dx-side{display:block;}
  body.dx-page .dx-side{position:sticky;top:20px;background:#fff;border:1px solid var(--n150);border-radius:16px;padding:20px 22px 22px;box-shadow:0 1px 3px rgba(0,0,0,.04);}
  body.dx-page .dx-side>:first-child>:first-child{margin-top:0;}
}
/* Forms and single items on a desktop (terms, register, voucher tracker, gift completion):
   `sw-720` widens the 560px column to 720. */
@media(min-width:760px){
  body.sw-720 .surface{max-width:720px;}
  body.sw-720 .surface-pad{padding:24px 32px 36px;}
  body.sw-720 .rg{max-width:none;}
}
/* The discipline tabs under the catalogue's Memberships / Block purchase / Vouchers tabs. */
.disc-switch[data-panel]{margin:0 0 16px;}
.disc-item[hidden]{display:none!important;}
/* The voucher type's picture and description on the gift card (snagging 17 Oct). */
.gift-card .gc-media{height:128px;margin:-18px -18px 14px;border-radius:17px 17px 0 0;overflow:hidden;background:var(--accent-soft);}
.gift-card .gc-media img{display:block;width:100%;height:100%;object-fit:cover;}
.gift-card .gc-desc{font-size:14.5px;color:var(--n600);margin-top:8px;line-height:1.45;}
/* The gift card picture on the tracker and the gift page (snagging 17 Oct). */
.gift-pic{border-radius:16px;overflow:hidden;margin-bottom:14px;background:var(--accent-soft);max-height:220px;}
.gift-pic img{display:block;width:100%;height:100%;object-fit:cover;max-height:220px;}
.pic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:8px;}
.pic-grid button{position:relative;border:2px solid var(--n150);border-radius:12px;padding:0;overflow:hidden;background:#fff;cursor:pointer;aspect-ratio:4/3;}
.pic-grid button img{display:block;width:100%;height:100%;object-fit:cover;}
.pic-grid button.sel{border-color:var(--accent);box-shadow:var(--focus-ring);}
.pic-grid button.none{display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:14px;color:var(--n500);}
.pic-grid button.upload{display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:14px;color:var(--accent);border-style:dashed;}
/* A tile wrapped for the discipline switch stretches its card to the row's height. */
.plan-stack>.disc-item{display:flex;flex-direction:column;}
.plan-stack>.disc-item>.plan-card{flex:1 1 auto;}

/* ══════════════════════════════════════════════════════════════════════════
   The patient's ACCOUNT shell and pages (snagging list 12, item 4 — the design
   in docs/designs/MBV/Web customer account 2026-10-25). Used by
   layouts/secureweb-account.php and the account pages only: Overview,
   Appointments, Visits & plans, Membership, Use my credit, the refund page,
   Refer a friend and the sign-in code. Everything is prefixed `ac-`; the
   tenant's accent colours the buttons, links and the active nav item as
   before, navy stays navy. Desktop from 900px: the left nav; below it the
   five-tab bar at the foot. The tone colours (appointments, visits,
   membership, credit, referrals) are the design's own and never themed.
   ══════════════════════════════════════════════════════════════════════════ */
.ac-body{background:#F3F6F9;font-size:16px;}
.ac-shell{min-height:100vh;display:flex;flex-direction:column;}
.ac-ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.ac-ic.lg{width:24px;height:24px;}
.ac-ic.sm{width:16px;height:16px;}
.ac-it{width:36px;height:36px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;flex:none;}
.ac-it-s{width:28px;height:28px;border-radius:7px;}
.ac-it.xl{width:52px;height:52px;border-radius:12px;}
.t-appt{background:#E0EFF5;color:#0E5C7B;}
.t-vis{background:#E6EEFB;color:#1D55A6;}
.t-mem{background:#F1E9F6;color:#6A3B86;}
.t-cr{background:#E2F3EA;color:#14693F;}
.t-ref{background:#FBE9EF;color:#A22D58;}
.t-neu{background:#EEF2F6;color:#4F5965;}
.t-warn{background:#FBF1DD;color:#8A5600;}
.ac-card{background:#fff;border:1px solid #E2E8EF;border-radius:16px;box-sizing:border-box;}
.ac-eb{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5E6A78;}
.ac-h1{font-family:'Barlow Condensed',sans-serif;font-size:38px;font-weight:700;color:var(--navy);margin:2px 0 4px;line-height:1.1;}
.ac-h2{font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:700;color:var(--navy);margin:0;line-height:1.15;}
.ac-h3{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:700;color:var(--navy);margin:0;line-height:1.2;}
.ac-mut{color:#5E6A78;}
.ac-lead{margin:0;font-size:17px;color:#5E6A78;}
.ac-back{display:inline-block;font-weight:600;font-size:15px;text-decoration:none;color:var(--accent);min-height:28px;}
.ac-sh{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.ac-sh .ac-grow{margin-right:auto;}
.ac-link{font-weight:600;text-decoration:none;color:var(--accent);}
.ac-page{display:flex;flex-direction:column;gap:32px;}
.ac-sec{display:flex;flex-direction:column;gap:14px;}
.ac-chip-c{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:13.5px;font-weight:600;white-space:nowrap;line-height:1.4;font-family:'Barlow',sans-serif;text-transform:none;letter-spacing:0;border:0;}
.ac-chip-c.ok{background:#E4F4EC;color:#11673F;}
.ac-chip-c.warn{background:#FBF1DD;color:#7F4F00;}
.ac-chip-c.n{background:#EEF2F6;color:#4F5965;}
.ac-chip-c.a{background:#E0EFF5;color:#0E5C7B;}
.ac-chip-c.err{background:#FBE3EC;color:#8E2847;}
.ac-body .btn{min-height:44px;padding:0 18px;border-radius:10px;font-size:17px;line-height:1.2;white-space:normal;text-align:center;}
.ac-body .btn-sm{min-height:36px;padding:0 12px;font-size:15px;}
.ac-body .btn-link{min-height:44px;padding:0 8px;}
.ac-body .btn-lg{min-height:52px;font-size:19px;}
.ac-body .btn-secondary{border-color:#C9D2DC;}
.ac-body .btn-danger{background:#B8325A;color:#fff;}

/* ── the shell ────────────────────────────────────────────────────────────── */
.ac-top{background:#fff;border-bottom:1px solid #E2E8EF;}
.ac-top-in{max-width:1200px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.ac-brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;min-width:0;}
.ac-logo{width:36px;height:36px;border-radius:9px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:17px;overflow:hidden;flex:none;}
.ac-logo img{display:block;width:100%;height:100%;object-fit:cover;}
.ac-clinic{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:20px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ac-top-book{white-space:nowrap;}
.ac-chip{display:flex;align-items:center;gap:8px;padding:4px 14px 4px 4px;border:1px solid #E2E8EF;border-radius:999px;font-weight:600;color:var(--navy);text-decoration:none;background:#fff;}
.ac-avatar{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:none;}
.ac-wrap{max-width:1200px;margin:0 auto;padding:28px 24px 48px;display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start;width:100%;box-sizing:border-box;flex:1 0 auto;}
.ac-wrap.ac-narrow{max-width:720px;display:block;}
.ac-side{flex:0 0 220px;display:flex;flex-direction:column;gap:20px;}
.ac-nav{display:flex;flex-direction:column;gap:4px;}
.ac-nav-a{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 10px;border-radius:10px;color:#36404C;text-decoration:none;font-size:16px;font-weight:500;box-sizing:border-box;}
.ac-nav-a:hover{background:#E9EEF3;color:var(--navy);}
.ac-nav-a.on{background:#fff;color:var(--navy);font-weight:600;box-shadow:0 0 0 1px #E2E8EF;}
.ac-nav-a.on .ac-it{background:var(--accent-soft);color:var(--accent);}
.ac-buy-tile{display:flex;gap:12px;align-items:center;padding:14px;text-decoration:none;color:var(--navy);font-weight:600;font-size:15px;line-height:1.3;}
.ac-buy-tile:hover{border-color:var(--accent);}
.ac-forget{margin:0;font-size:14px;color:#5E6A78;padding:0 10px;}
.ac-forget button{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px;min-height:24px;}
.ac-forget-foot{display:none;text-align:center;padding:0;}
.ac-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:32px;}
.ac-foot{text-align:center;font-size:13px;color:#5E6A78;padding:0 24px 32px;display:flex;flex-direction:column;gap:10px;}
.ac-tabs{display:none;}
@media (max-width:899px){
  .ac-top-in{padding:10px 16px;gap:10px;}
  .ac-logo{width:32px;height:32px;font-size:15px;}
  .ac-clinic{font-size:18px;}
  .ac-top-book{display:none;}
  .ac-chip{padding:0;border:0;}
  .ac-chip-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  .ac-avatar{width:44px;height:44px;}
  .ac-wrap{padding:20px 16px 28px;gap:0;display:block;}
  .ac-side{display:none;}
  .ac-forget-foot{display:block;}
  .ac-main{gap:28px;}
  .ac-h1{font-size:30px;}
  .ac-h2{font-size:22px;}
  .ac-h3{font-size:19px;}
  .ac-lead{font-size:15.5px;}
  .ac-has-tabs .ac-shell{padding-bottom:72px;}
  .ac-tabs{position:fixed;left:0;right:0;bottom:0;z-index:20;background:#fff;border-top:1px solid #E2E8EF;display:flex;padding:4px 4px calc(10px + env(safe-area-inset-bottom,0px));}
  .ac-tab{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;font-size:11.5px;font-weight:600;color:#5E6A78;text-decoration:none;border-radius:10px;min-width:0;}
  .ac-tab.on{color:var(--navy);}
  .ac-ti{width:40px;height:28px;border-radius:14px;display:flex;align-items:center;justify-content:center;}
  .ac-tab.on .ac-ti{background:var(--accent-soft);color:var(--accent);}
}

/* ── Overview ─────────────────────────────────────────────────────────────── */
.ac-intro{display:flex;flex-direction:column;gap:16px;}
.ac-phone-book{display:none;}
.ac-banner{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;background:#FBF1DD;border:1px solid #EED9AE;color:#5C3A00;font-size:15px;}
.ac-banner .ac-ic{color:#8A5600;}
.ac-banner>div{flex:1 1 300px;}
.ac-banner strong{color:#3F2800;}
.ac-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;}
.ac-tile{display:flex;flex-direction:column;gap:6px;padding:18px;text-decoration:none;color:inherit;}
.ac-tile:hover{border-color:var(--accent);color:inherit;}
.ac-tile .ac-eb{margin-top:6px;}
.ac-tile-v{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:700;color:var(--navy);line-height:1.1;overflow-wrap:anywhere;}
.ac-tile-s{font-size:15px;color:#5E6A78;}
.ac-date{width:76px;padding:10px 0;border-radius:12px;background:#E0EFF5;color:var(--navy);text-align:center;font-family:'Barlow Condensed',sans-serif;line-height:1.05;flex:0 0 auto;align-self:flex-start;}
.ac-date .w,.ac-date .m{font-size:14px;font-weight:700;letter-spacing:.08em;color:#0E5C7B;text-transform:uppercase;}
.ac-date .d{font-size:34px;font-weight:700;}
.ac-next{padding:20px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;}
.ac-next-body{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:6px;}
.ac-meta{display:flex;flex-wrap:wrap;gap:6px 18px;color:#36404C;font-size:15px;}
.ac-meta span{display:inline-flex;align-items:center;gap:6px;}
.ac-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.ac-cal{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;font-size:15px;}
.ac-cal[hidden]{display:none;}
.ac-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;align-items:start;}
.ac-panel{padding:20px;display:flex;flex-direction:column;gap:14px;}
.ac-big{font-family:'Barlow Condensed',sans-serif;font-size:44px;font-weight:700;color:var(--navy);line-height:1;}
.ac-kv{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #EEF2F6;}
.ac-kv strong{color:var(--navy);text-align:right;}
.ac-li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #EEF2F6;}
.ac-li .t{font-weight:600;color:var(--navy);}
.ac-li .s{font-size:14px;color:#5E6A78;}
.ac-amt{font-weight:700;white-space:nowrap;color:#36404C;}
.ac-amt.cr{color:#11673F;}
.ac-tbl{overflow-x:auto;}
.ac-tbl table{width:100%;border-collapse:collapse;font-size:15px;min-width:560px;}
.ac-tbl th{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5E6A78;text-align:left;padding:10px 16px;border-bottom:1px solid #E2E8EF;white-space:nowrap;}
.ac-tbl td{padding:14px 16px;border-bottom:1px solid #EEF2F6;vertical-align:middle;}
.ac-tbl tr:last-child td{border-bottom:0;}
.ac-tbl .num{text-align:right;}
.ac-tbl .resend{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--accent);cursor:pointer;min-height:44px;}
.ac-tbl .resend.done{color:#11673F;}
.ac-rows{display:none;}
.ac-gift-row{padding:16px 20px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;}
.ac-gift-row>div{flex:1 1 300px;min-width:0;}
.ac-link-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;}
.ac-link-tile{display:flex;align-items:center;gap:14px;padding:18px;text-decoration:none;color:inherit;}
.ac-link-tile:hover{border-color:var(--accent);color:inherit;}
.ac-link-tile>span:nth-child(2){flex:1 1 0;min-width:0;}
.ac-link-tile .arrow{font-size:22px;color:var(--accent);}
.ac-link-tile.ref{background:#FDF4F7;border-color:#F3D3DE;}
.ac-link-tile.ref .ac-it{background:#fff;}
.ac-link-tile.ref .arrow{color:#A22D58;}
.ac-empty{text-align:center;padding:32px 20px;border:1px dashed #D5DCE4;border-radius:16px;background:#fff;}
.ac-empty .ac-h3{margin-bottom:4px;}
@media (max-width:899px){
  .ac-phone-book{display:inline-flex;width:100%;min-height:50px;font-size:18px;}
  .ac-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .ac-tile{padding:14px;gap:4px;}
  .ac-tile-v{font-size:23px;}
  .ac-tile-s{font-size:13.5px;}
  .ac-date{width:60px;padding:8px 0;}
  .ac-date .d{font-size:28px;}
  .ac-date .w,.ac-date .m{font-size:12px;}
  .ac-next{padding:16px;gap:12px;}
  .ac-next .ac-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .ac-next .ac-actions .btn-link{grid-column:1 / -1;}
  .ac-two{grid-template-columns:minmax(0,1fr);gap:14px;}
  .ac-panel{padding:16px;gap:10px;}
  .ac-big{font-size:40px;}
  .ac-tbl{display:none;}
  .ac-rows{display:block;padding:0 16px;}
  .ac-row{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid #EEF2F6;}
  .ac-row:first-child{border-top:0;}
  .ac-row>div{min-width:0;}
  .ac-row .resend{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--accent);cursor:pointer;min-height:44px;font-size:15px;}
  .ac-row .resend.done{color:#11673F;}
  .ac-link-tiles{grid-template-columns:minmax(0,1fr);}
}

/* ── Visits & plans: one square per paid visit ────────────────────────────── */
.ac-plan{padding:20px;display:flex;flex-direction:column;gap:16px;}
.ac-plan.amber{border-color:#EED9AE;}
.ac-plan-head{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-start;}
.ac-plan-head>div:first-child{flex:1 1 280px;min-width:0;}
.ac-plan-sub{font-size:15px;color:#5E6A78;}
.ac-plan-count{text-align:right;}
.ac-plan-count .n{font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:700;color:#1D55A6;line-height:1;white-space:nowrap;}
.ac-plan-count .s{font-size:14px;color:#5E6A78;}
.ac-squares{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;}
.ac-sq-wrap{position:relative;display:flex;}
.ac-sq-wrap>.ac-sq{flex:1 1 auto;width:100%;}
.ac-sq{position:relative;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:2px;font-size:14px;box-sizing:border-box;text-align:left;font-family:inherit;min-height:60px;}
.ac-sq b{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:15px;}
.ac-sq.used,.ac-sq.off{background:#F3F6F9;border:1px solid #E2E8EF;color:#5E6A78;}
.ac-sq.booked{background:#E0EFF5;border:1px solid #A9CCDB;color:#0E5C7B;}
.ac-sq.ready{background:#fff;border:2px dashed #8DAEE0;color:#1D55A6;padding:11px;cursor:pointer;}
.ac-sq.ready:hover,.ac-sq.ready:focus-visible{border-color:#1D55A6;outline:none;background:#F7FAFF;}
.ac-sq.ready .s{color:#5E6A78;}
.ac-sq.paused{background:#FBF1DD;border:1px solid #EED9AE;color:#7F4F00;}
.ac-sq-choice{position:absolute;left:0;top:calc(100% + 6px);z-index:8;min-width:200px;background:#fff;border:1px solid #D5DCE4;border-radius:12px;box-shadow:0 10px 30px rgba(10,53,87,.16);padding:6px;display:flex;flex-direction:column;gap:2px;}
.ac-sq-choice[hidden]{display:none;}
.ac-sq-choice a,.ac-sq-choice span{display:block;padding:10px 12px;border-radius:8px;font-weight:600;font-size:15px;color:var(--navy);text-decoration:none;}
.ac-sq-choice a:hover{background:#F3F6F9;}
.ac-sq-choice span{color:#5E6A78;font-weight:500;font-size:14px;}
.ac-plan-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:14px;border-top:1px solid #EEF2F6;}
.ac-plan-foot .btn-link{padding:0 8px;}
.ac-plan-foot .ac-whole{font-size:14px;color:#5E6A78;margin-left:auto;}
.ac-plan.membership .ac-plan-count .n{color:#6A3B86;}
@media (max-width:899px){
  .ac-plan{padding:16px;gap:12px;}
  .ac-plan-count .n{font-size:20px;}
  .ac-squares{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  .ac-sq{padding:9px;font-size:13px;min-height:52px;}
  .ac-sq.ready{padding:8px;}
  .ac-sq b{font-size:14px;}
  .ac-plan-foot{flex-direction:column;align-items:stretch;}
  .ac-plan-foot .btn{width:100%;}
  .ac-plan-foot .ac-whole{margin:0;text-align:center;}
  .ac-sq-choice{left:50%;transform:translateX(-50%);min-width:220px;}
}

/* ── Appointments ─────────────────────────────────────────────────────────── */
.ac-cols{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;}
.ac-cols-main{flex:999 1 460px;min-width:0;display:flex;flex-direction:column;gap:28px;}
.ac-aside{flex:1 1 300px;display:flex;flex-direction:column;gap:16px;min-width:0;}
.ac-appt{overflow:hidden;}
.ac-appt-body{padding:20px;display:flex;flex-wrap:wrap;gap:18px;}
.ac-appt-body .ac-date{width:72px;}
.ac-appt-body .ac-date .d{font-size:32px;}
.ac-appt-main{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:6px;}
.ac-appt-acts{display:flex;flex-wrap:wrap;gap:8px;align-self:center;}
.ac-appt-cal{padding:10px 20px;background:#F8FAFC;border-top:1px solid #EEF2F6;display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;font-size:15px;}
.ac-appt-cal .btn-link{min-height:44px;}
.ac-prev-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px 20px;border-top:1px solid #EEF2F6;}
.ac-prev-row:first-child{border-top:0;}
.ac-prev-row .when{width:96px;font-weight:600;color:#36404C;}
.ac-prev-row .what{flex:1 1 220px;min-width:0;}
.ac-prev-row .what .t{font-weight:600;color:var(--navy);}
.ac-prev-row .what .s{font-size:14px;color:#5E6A78;}
.ac-more{align-self:flex-start;}
.ac-tobook{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #EEF2F6;}
.ac-tobook .t{font-weight:600;color:var(--navy);display:block;}
.ac-tobook strong{font-family:'Barlow Condensed',sans-serif;font-size:22px;color:#1D55A6;}
.ac-toast{display:flex;gap:10px;align-items:flex-start;background:var(--navy);color:#fff;border-radius:12px;padding:11px 14px;font-size:15px;}
.ac-toast button{margin-left:auto;border:0;background:none;color:#fff;opacity:.7;font-size:18px;line-height:1;cursor:pointer;}
.ac-toast[hidden]{display:none;}
@media (max-width:899px){
  .ac-appt-body{padding:16px;gap:14px;}
  .ac-appt-acts{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .ac-appt-cal{padding:8px 16px;}
  .ac-prev-row{padding:12px 16px;}
  .ac-prev-row .when{width:100%;}
}

/* ── Membership ───────────────────────────────────────────────────────────── */
.ac-mem{overflow:hidden;}
.ac-mem-hero{padding:24px;background:#F7F1FA;border-bottom:1px solid #EADCF1;display:flex;flex-wrap:wrap;gap:16px;align-items:center;}
.ac-mem-hero .ac-it{background:#fff;}
.ac-mem-hero>div{flex:1 1 240px;min-width:0;}
.ac-mem-tier{font-family:'Barlow Condensed',sans-serif;font-size:34px;font-weight:700;color:var(--navy);line-height:1;}
.ac-mem-promise{color:#4F3A5C;margin-top:4px;}
.ac-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));}
.ac-fact{padding:18px 24px;border-right:1px solid #EEF2F6;}
.ac-fact:last-child{border-right:0;}
.ac-fact .v{font-size:20px;font-weight:700;color:var(--navy);}
.ac-mem-foot{padding:12px 24px;border-top:1px solid #EEF2F6;font-size:14px;color:#5E6A78;}
.ac-mv{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}
.ac-mv-card{border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:4px;background:#F3F6F9;border:1px solid #E2E8EF;color:#5E6A78;}
.ac-mv-card .t{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:17px;}
.ac-mv-card.ready{background:#fff;border:2px dashed #8DAEE0;padding:15px;}
.ac-mv-card.ready .t{color:#1D55A6;}
.ac-mv-card.booked{background:#E0EFF5;border:1px solid #A9CCDB;color:#0E5C7B;}
.ac-mv-card.paused{background:#FBF1DD;border:1px solid #EED9AE;color:#7F4F00;}
.ac-mv-card .btn{align-self:flex-start;margin-top:8px;}
.ac-mv-card .ac-eb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.ac-acts{overflow:hidden;}
.ac-act{display:flex;align-items:center;gap:14px;padding:16px 18px;border-top:1px solid #EEF2F6;text-decoration:none;color:inherit;width:100%;text-align:left;background:#fff;border-left:0;border-right:0;border-bottom:0;font:inherit;cursor:pointer;box-sizing:border-box;}
.ac-act:first-child{border-top:0;}
.ac-act:hover{background:#F8FAFC;}
.ac-act[disabled],.ac-act.off{cursor:default;color:#8F9AA8;}
.ac-act[disabled]:hover,.ac-act.off:hover{background:#fff;}
.ac-act>span:nth-child(2){flex:1 1 0;min-width:0;}
.ac-act .t{display:block;font-weight:600;color:var(--navy);}
.ac-act[disabled] .t,.ac-act.off .t{color:#8F9AA8;}
.ac-act .s{font-size:14px;color:#5E6A78;}
.ac-act .ac-chev{color:#5E6A78;}
.ac-danger-link{align-self:flex-start;color:#8E2847;font-weight:600;font-size:15px;padding:10px 4px;min-height:44px;box-sizing:border-box;background:none;border:0;cursor:pointer;font-family:inherit;text-decoration:none;}
.ac-pay{padding:18px 20px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.ac-pay>div{flex:1 1 160px;min-width:0;}
.ac-pay .t{font-weight:600;color:var(--navy);}
.ac-pay .s{font-size:14px;color:#5E6A78;}
.ac-past{padding:16px 20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;}
.ac-past .t{font-weight:600;color:var(--navy);}
.ac-past .s{font-size:14px;color:#5E6A78;}
.ac-mem-tiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;align-items:stretch;}
.ac-mem-tiers .plan-card{margin:0;}
#mm-view{display:flex;flex-direction:column;gap:28px;}
#mm-view>.ms-mem{gap:28px;}
#mm-view .surface-title{font-family:'Barlow Condensed',sans-serif;font-size:38px;font-weight:700;color:var(--navy);margin:2px 0 4px;line-height:1.1;}
#mm-view .surface-sub{font-size:17px;color:#5E6A78;margin:0 0 16px;}
@media (max-width:899px){
  .ac-mem-hero{padding:16px;gap:12px;}
  .ac-mem-tier{font-size:28px;}
  .ac-facts{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ac-fact{padding:12px 16px;border-bottom:1px solid #EEF2F6;}
  .ac-fact:nth-child(2n){border-right:0;}
  .ac-fact .v{font-size:17px;}
  .ac-mem-foot{padding:10px 16px;}
  .ac-mv{grid-template-columns:minmax(0,1fr);}
  .ac-mv-card .btn{align-self:stretch;}
  #mm-view .surface-title{font-size:30px;}
  #mm-view .surface-sub{font-size:15.5px;}
}

/* ── Use my credit ────────────────────────────────────────────────────────── */
.ac-avail{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:16px;background:#E2F3EA;border:1px solid #C2E3D1;}
.ac-avail .ac-it{background:#fff;width:44px;height:44px;}
.ac-avail .ac-eb{color:#14593A;}
.ac-avail .v{font-family:'Barlow Condensed',sans-serif;font-size:36px;font-weight:700;color:var(--navy);line-height:1;}
.ac-avail .s{font-size:14px;color:#14593A;font-weight:600;}
.ac-num{width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex:none;}
.ac-pick{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border-radius:16px;border:2px solid #E2E8EF;background:#fff;text-align:left;cursor:pointer;font:inherit;color:inherit;box-sizing:border-box;}
.ac-pick:hover{border-color:#C9D2DC;}
.ac-pick.on{border-color:var(--accent);background:#F1F8FB;}
.ac-pick:focus-visible{outline:none;box-shadow:var(--focus-ring);}
.ac-radio{width:22px;height:22px;border-radius:50%;border:2px solid #E2E8EF;display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:#fff;}
.ac-radio i{width:10px;height:10px;border-radius:50%;background:transparent;}
.ac-pick.on .ac-radio{border-color:var(--accent);}
.ac-pick.on .ac-radio i{background:var(--accent);}
.ac-pick>span:nth-child(2){flex:1 1 0;min-width:0;}
.ac-pick .t{display:block;font-family:'Barlow Condensed',sans-serif;font-size:19px;font-weight:700;color:var(--navy);line-height:1.2;}
.ac-pick .s{display:block;font-size:14px;color:#5E6A78;}
.ac-pick .pr{text-align:right;flex:0 0 auto;}
.ac-pick .pr b{display:block;font-weight:700;color:var(--navy);font-size:17px;}
.ac-pick .pr small{display:block;font-size:13.5px;font-weight:600;color:#5E6A78;}
.ac-pick .pr small.all{color:#11673F;}
.ac-checkout{padding:22px;display:flex;flex-direction:column;gap:16px;position:sticky;top:16px;}
.ac-qa{display:flex;gap:8px;flex-wrap:wrap;}
.ac-qa button{flex:1 1 0;min-height:44px;border-radius:10px;border:1px solid #C9D2DC;background:#fff;color:#36404C;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:17px;cursor:pointer;}
.ac-qa button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);}
.ac-sum{font-size:16px;}
.ac-sum .r{display:flex;justify-content:space-between;padding:8px 0;}
.ac-sum .r.cr{color:#11673F;font-weight:600;}
.ac-sum .tot{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0 0;border-top:1px solid #E2E8EF;margin-top:4px;}
.ac-sum .tot .l{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:18px;color:var(--navy);text-transform:uppercase;letter-spacing:.03em;}
.ac-sum .tot .v{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:28px;color:var(--navy);}
.ac-sum .left{font-size:14px;text-align:right;color:#5E6A78;}
.ac-checkout .cp{margin-top:0;}
.ac-credit-cols{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;}
.ac-credit-list{flex:999 1 420px;min-width:0;display:flex;flex-direction:column;gap:12px;}
.ac-credit-aside{flex:1 1 320px;min-width:0;}
.ac-activity{padding:4px 18px;}
.ac-activity .ac-li:first-child{border-top:0;}
@media (max-width:899px){
  .ac-avail{padding:14px 16px;}
  .ac-avail .v{font-size:32px;}
  .ac-checkout{position:static;padding:16px;border:2px solid var(--navy);}
  .ac-credit-aside[data-empty="1"]{display:none;}
  .ac-pick{padding:14px;}
}

/* ── Refund a visit to credit ─────────────────────────────────────────────── */
.ac-refund{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:20px;width:100%;}
.ac-refund-card{padding:28px;display:flex;flex-direction:column;gap:22px;}
.ac-swap{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;}
.ac-give,.ac-get{flex:1 1 200px;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:6px;}
.ac-give{background:#fff;border:2px dashed #8DAEE0;}
.ac-give .t{font-weight:700;color:var(--navy);font-size:18px;}
.ac-get{background:#E2F3EA;border:1px solid #C2E3D1;}
.ac-get .ac-eb{color:#14593A;}
.ac-get .ac-it{background:#fff;}
.ac-get .v{font-family:'Barlow Condensed',sans-serif;font-weight:700;color:var(--navy);font-size:30px;line-height:1;}
.ac-get .s{font-size:14px;color:#14593A;}
.ac-swap-arrow{display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:#5E6A78;}
.ac-lines .r{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid #EEF2F6;gap:12px;}
.ac-lines .r.cr{color:#11673F;font-weight:600;}
.ac-lines .tot{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0 0;border-top:1px solid #E2E8EF;gap:12px;}
.ac-lines .tot .l{font-weight:700;color:var(--navy);}
.ac-lines .tot .v{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:28px;color:var(--navy);}
.ac-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:#FBF1DD;border:1px solid #EED9AE;color:#5C3A00;font-size:15px;}
.ac-note .ac-ic{color:#8A5600;}
.ac-refund-acts{display:flex;flex-wrap:wrap;gap:10px;}
.ac-refund-acts .btn{flex:1 1 200px;}
.ac-done{text-align:center;padding:24px 8px 6px;}
@media (max-width:899px){
  .ac-refund-card{padding:18px;gap:16px;}
  .ac-swap-arrow{width:100%;transform:rotate(90deg);height:24px;}
}

/* ── Refer a friend ───────────────────────────────────────────────────────── */
.ac-ref-hero{padding:24px;background:#FDF4F7;border-bottom:1px solid #F3D3DE;display:flex;flex-wrap:wrap;gap:18px;align-items:center;}
.ac-ref-hero .ac-it{background:#fff;}
.ac-ref-hero>div{flex:1 1 300px;min-width:0;}
.ac-ref-hero .t{font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:700;color:var(--navy);line-height:1.05;}
.ac-ref-hero .s{color:#5A2338;margin-top:4px;}
.ac-ref-share{padding:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;align-items:end;}
.ac-ref-share .f{display:flex;flex-direction:column;gap:6px;min-width:0;}
.ac-ref-share .row{display:flex;gap:8px;align-items:center;min-width:0;}
.ac-ref-share input{flex:1 1 0;min-width:0;min-height:44px;box-sizing:border-box;border:1px solid #C9D2DC;border-radius:10px;padding:0 12px;font:inherit;font-size:15px;color:var(--navy);background:#F8FAFC;}
.ac-code{flex:1 1 0;min-height:44px;display:flex;align-items:center;padding:0 14px;border:1px dashed #E2A9BD;border-radius:10px;background:#FDF4F7;font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:700;letter-spacing:.14em;color:var(--navy);box-sizing:border-box;}
.ac-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;}
.ac-step{padding:18px;display:flex;flex-direction:column;gap:6px;}
.ac-step .ac-num{background:#A22D58;}
.ac-step .t{font-weight:600;color:var(--navy);}
.ac-step .s{font-size:15px;color:#5E6A78;}
.ac-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}
.ac-stat{padding:18px;}
.ac-stat .v{font-family:'Barlow Condensed',sans-serif;font-size:34px;font-weight:700;color:var(--navy);line-height:1.1;}
.ac-stat .v small{font-size:20px;color:#5E6A78;font-weight:700;}
.ac-bar{height:8px;border-radius:4px;background:#EEF2F6;margin-top:8px;overflow:hidden;}
.ac-bar i{display:block;height:100%;background:#A22D58;}
.ac-friend{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-top:1px solid #EEF2F6;flex-wrap:wrap;}
.ac-friend:first-child{border-top:0;}
.ac-friend .t{font-weight:600;color:var(--navy);}
.ac-friend .s{font-size:14px;color:#5E6A78;}
.ac-copied{font-size:13.5px;color:#11673F;min-height:18px;}
@media (max-width:899px){
  .ac-ref-hero{padding:16px;}
  .ac-ref-hero .t{font-size:26px;}
  .ac-ref-share{padding:16px;gap:14px;}
}

/* ── Sign-in code ─────────────────────────────────────────────────────────── */
.ac-id{max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:18px;width:100%;}
.ac-progress{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:10px;font-size:15px;}
.ac-progress li{display:flex;align-items:center;gap:8px;font-weight:600;color:#5E6A78;}
.ac-progress li.on{color:var(--navy);}
.ac-progress li .ac-num{background:#E2E8EF;color:#5E6A78;width:26px;height:26px;font-size:13px;}
.ac-progress li.on .ac-num{background:var(--accent);color:#fff;}
.ac-progress .bar{flex:1 1 0;height:2px;background:#E2E8EF;border-radius:1px;}
.ac-progress .bar.on{background:var(--accent);}
.ac-id-card{padding:28px;display:flex;flex-direction:column;gap:18px;}
.ac-id-card .ac-it{background:#E0EFF5;color:#0E5C7B;width:52px;height:52px;border-radius:14px;}
.ac-id-card .surface-title{font-family:'Barlow Condensed',sans-serif;font-size:34px;font-weight:700;color:var(--navy);margin:0;line-height:1.1;}
.ac-id-card .surface-sub{margin:6px 0 0;font-size:16px;color:#5E6A78;}
.ac-id-card .code-input{letter-spacing:.5em;font-size:30px;padding:12px 10px 12px 18px;}
.ac-id-card .resend{margin:0;}
.ac-id-foot{display:flex;gap:10px;align-items:flex-start;padding:0 4px;font-size:14px;color:#5E6A78;}
@media (max-width:899px){.ac-id-card{padding:20px;gap:14px;}}
