/* A+ Esthetic customer shell v19 — clean, restrained, mobile-first */
:root{
  --v19-bg:#f4f1eb;--v19-paper:#fff;--v19-ink:#171512;--v19-muted:#797267;
  --v19-line:rgba(48,41,31,.10);--v19-gold:#b88935;--v19-gold-soft:#f5ead2;
  --v19-dark:#191713;--v19-shadow:0 10px 30px rgba(35,29,20,.055);
}
html,body{background:var(--v19-bg)!important;color:var(--v19-ink)!important}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.core-shell{min-height:100dvh!important;padding:0 0 calc(104px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,#f8f6f2 0,#f3f0ea 100%)!important}
.core-header{position:sticky!important;top:0!important;z-index:50!important;width:100%!important;max-width:none!important;height:68px!important;margin:0!important;padding:0 max(18px,env(safe-area-inset-left)) 0 max(18px,env(safe-area-inset-right))!important;border:0!important;border-bottom:1px solid rgba(48,41,31,.07)!important;border-radius:0!important;background:rgba(248,246,242,.94)!important;backdrop-filter:blur(20px) saturate(1.1)!important;box-shadow:none!important;display:grid!important;grid-template-columns:42px 1fr 42px!important}
.core-brand{display:grid!important;place-items:center!important;overflow:visible!important}
.core-brand img{display:block!important;width:112px!important;height:38px!important;object-fit:contain!important}
.core-brand span,.core-brand strong{display:none!important}
.core-icon-btn{width:40px!important;height:40px!important;border:1px solid rgba(49,42,32,.09)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 5px 16px rgba(35,29,20,.045)!important;color:#302b24!important}
.header-icon,.header-icon svg{display:block;width:20px;height:20px}.header-icon svg{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.core-main{width:min(680px,100%)!important;max-width:680px!important;margin:0 auto!important;padding:18px max(16px,env(safe-area-inset-left)) 30px max(16px,env(safe-area-inset-right))!important}

/* Bottom navigation */
.core-nav{position:fixed!important;left:50%!important;right:auto!important;bottom:max(10px,env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;z-index:90!important;width:min(520px,calc(100vw - 20px))!important;max-width:none!important;margin:0!important;padding:6px!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important;border:1px solid rgba(46,39,30,.10)!important;border-radius:24px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 18px 50px rgba(32,26,18,.16)!important;backdrop-filter:blur(24px) saturate(1.12)!important}
.nav-btn{appearance:none!important;border:0!important;background:transparent!important;color:#8d8579!important;min-width:0!important;min-height:58px!important;padding:6px 2px!important;border-radius:18px!important;display:grid!important;grid-template-rows:24px 14px!important;align-content:center!important;justify-items:center!important;gap:4px!important;box-shadow:none!important}
.nav-icon{display:grid!important;place-items:center!important;width:24px!important;height:24px!important;min-height:0!important}
.nav-icon svg{display:block!important;width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.nav-label{display:block!important;max-width:100%!important;font-size:8.5px!important;font-weight:750!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.nav-btn.is-active{background:var(--v19-dark)!important;color:#e3c173!important;box-shadow:0 8px 18px rgba(25,22,17,.16)!important}
.nav-btn.is-active .nav-icon svg{stroke-width:2!important}

/* Dashboard */
.home-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;min-height:170px;padding:26px 24px;margin:2px 0 12px;border-radius:26px;background:linear-gradient(145deg,#211e19 0%,#12110f 100%);color:#fff;position:relative;overflow:hidden;box-shadow:0 18px 44px rgba(25,21,15,.15)}
.home-hero:after{content:"";position:absolute;right:-60px;top:-95px;width:230px;height:230px;border-radius:50%;border:1px solid rgba(211,174,91,.18);box-shadow:0 0 0 36px rgba(211,174,91,.025),0 0 0 72px rgba(211,174,91,.018)}
.home-hero-copy{position:relative;z-index:2}.home-kicker{display:block;color:#d6b468;font-size:8px;font-weight:850;letter-spacing:.18em}.home-hero h1{margin:9px 0 8px;font-size:36px;line-height:1;letter-spacing:-.045em;font-weight:650}.home-hero p{margin:0;max-width:330px;color:rgba(255,255,255,.58);font-size:11px;line-height:1.5}.home-mark{position:relative;z-index:2;display:grid;place-items:center;width:48px;height:48px;border-radius:16px;border:1px solid rgba(218,183,106,.25);background:rgba(255,255,255,.045);color:#e2bf72;font-size:13px;font-weight:800}
.home-next-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;margin-bottom:10px;border:1px solid var(--v19-line);border-radius:21px;background:#fff;box-shadow:var(--v19-shadow)}
.home-next-card.is-empty{grid-template-columns:minmax(0,1fr) auto}.home-next-date{display:grid;justify-items:center;padding-right:13px;border-right:1px solid #ece6dc}.home-next-date strong{font-size:26px;line-height:1;font-weight:650;color:#a77827}.home-next-date span{margin-top:3px;font-size:9px;text-transform:uppercase;color:#8b8275}.home-next-date small{margin-top:4px;font-size:9px;color:#9e9588}.home-next-copy{min-width:0}.home-next-copy>span{display:block;font-size:7px;font-weight:850;letter-spacing:.14em;color:#9d762c}.home-next-copy>strong{display:block;margin:4px 0 3px;font-size:14px;line-height:1.25}.home-next-copy>small{display:block;color:#8b8377;font-size:9.5px;line-height:1.4}.home-next-action{appearance:none;border:0;min-height:42px;padding:0 14px;border-radius:13px;background:#1d1a16;color:#fff;font-size:10px;font-weight:800;white-space:nowrap}.home-next-action span{color:#d7b56b;font-size:16px;margin-left:4px}
.home-last-visit{display:flex;align-items:center;gap:7px;padding:2px 4px 12px;color:#8a8175;font-size:9px}.home-last-visit span{font-weight:800;color:#6f675d}.home-last-visit b{font-weight:700;color:#3b352e}.home-last-visit small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:10px}.home-contact-card{text-decoration:none;color:inherit;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--v19-line);border-radius:18px;background:#fff;box-shadow:0 6px 18px rgba(35,29,20,.035)}.home-contact-icon{width:38px;height:38px;border-radius:12px;background:#f7f2e7;color:#8b6522;display:grid;place-items:center}.home-contact-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.home-contact-card>span:nth-child(2){display:grid;gap:2px;min-width:0}.home-contact-card small{font-size:6.8px;font-weight:850;letter-spacing:.12em;color:#a27a31}.home-contact-card strong{font-size:11px}.home-contact-card em{font-style:normal;font-size:8px;color:#91887c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-contact-card>i{font-style:normal;color:#aa8b54;font-size:17px}
.home-points-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 19px;margin-bottom:6px;border-radius:21px;background:#1d1a16;color:#fff;box-shadow:0 14px 34px rgba(26,22,16,.12)}.home-points-card span{display:block;color:#d8b66d;font-size:7px;font-weight:850;letter-spacing:.14em}.home-points-card strong{display:block;margin:5px 0 1px;font-size:30px;line-height:1;font-weight:650}.home-points-card small{display:block;color:rgba(255,255,255,.48);font-size:8.5px}.home-points-card button{appearance:none;border:1px solid rgba(218,181,101,.28);background:rgba(255,255,255,.04);color:#f0d89e;border-radius:999px;min-height:38px;padding:0 13px;font-size:9px;font-weight:800}.home-points-card button span{display:inline;font-size:15px;margin-left:3px}.home-section-title{margin-top:22px!important}

/* Shared page typography */
.page-head{margin:6px 2px 18px!important}.eyebrow{color:#9e762d!important;font-size:8px!important;letter-spacing:.16em!important}.eyebrow:before{width:18px!important;background:#bd8d39!important}.page-head h1{margin:7px 0 7px!important;font:650 clamp(30px,8vw,42px)/1.02 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;letter-spacing:-.045em!important}.page-head p{font-size:11px!important;color:#81796e!important;line-height:1.5!important}
.card,.appointment-row,.history-row,.review-row,.referral-row,.record-row,.wallet-row,.upload-box,.wallet-identity-panel,.points-card{border:1px solid var(--v19-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:var(--v19-shadow)!important}
.section-title{margin:22px 2px 11px!important}.section-title h2{font:650 20px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;letter-spacing:-.025em!important}

/* Booking flow */
.canonical-book-intro{margin:4px 2px 16px!important}.canonical-book-intro h1{font:650 34px/1.02 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;letter-spacing:-.045em!important}.canonical-book-intro p{font-size:11px!important}
.book-embedded-canonical .book-flow{padding:18px 14px 20px!important;border:1px solid var(--v19-line)!important;border-radius:22px!important;background:#fff!important;box-shadow:var(--v19-shadow)!important}
.book-step-head h2{font:650 24px/1.1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;letter-spacing:-.035em!important}.book-step-head p{font-size:10px!important;color:#857d72!important}
.book-treatment-grid{gap:9px!important}.book-treatment-card,.book-staff-card{border:1px solid var(--v19-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:none!important;padding:14px!important}.book-treatment-card.is-selected,.book-staff-card.is-selected{border-color:#bd9041!important;box-shadow:0 0 0 3px rgba(184,137,52,.08)!important}.book-treatment-card strong,.book-staff-card strong{font-size:12px!important}.book-treatment-card p,.book-staff-card p{font-size:9.5px!important;line-height:1.45!important}
.book-progress{margin-bottom:20px!important}.book-progress-dot{width:30px!important;height:30px!important;font-size:9px!important}.book-progress-line{width:auto!important;height:1px!important;min-height:1px!important;flex:1 1 auto!important;background:#ddd7cc!important}
.book-time-grid{gap:7px!important}.book-time-grid button{border-radius:12px!important;min-height:42px!important}
.appointment-feature{border-radius:20px!important;background:#1d1a16!important}

/* Campaign cards */
.campaign-card{min-height:185px!important;border-radius:22px!important;overflow:hidden!important;background:#1d1a16!important;box-shadow:0 14px 36px rgba(30,25,18,.11)!important}.campaign-copy{padding:21px 18px!important}.campaign-copy>span{font-size:7px!important;letter-spacing:.15em!important}.campaign-copy h3{font:650 24px/1.04 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;letter-spacing:-.035em!important}.campaign-copy p{font-size:9.5px!important;line-height:1.45!important}.campaign-copy a{display:inline-flex!important;align-items:center!important;min-height:38px!important;padding:0 12px!important;border-radius:12px!important;background:#d5ae5a!important;color:#17140f!important;font-size:9px!important;font-weight:800!important;text-decoration:none!important}
.campaign-copy a b{font-size:15px;margin-left:4px}

/* Forms and settings */
.field>span{font-size:9px!important}.field input,.field select,.field textarea{min-height:50px!important;border:1px solid var(--v19-line)!important;border-radius:14px!important;background:#fff!important;font-size:16px!important}
.primary,.secondary,.danger,.text-btn{border-radius:14px!important}.primary{background:#1d1a16!important;color:#fff!important;box-shadow:none!important}
.settings-overlay{background:rgba(18,15,11,.48)!important;backdrop-filter:blur(8px)!important}.settings-card{border-radius:26px 26px 0 0!important;background:#fff!important}.settings-head h2{font:650 24px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;letter-spacing:-.03em!important}

/* Remove old dashboard chrome if a legacy enhancer still catches up */
.dash-hero,.dash-visit-grid,.dash-actions,.dash-points{display:none!important}

@media(max-width:520px){
  .core-main{padding-left:max(14px,env(safe-area-inset-left))!important;padding-right:max(14px,env(safe-area-inset-right))!important;padding-bottom:26px!important}
  .core-header{height:64px!important;padding-left:max(14px,env(safe-area-inset-left))!important;padding-right:max(14px,env(safe-area-inset-right))!important}
  .core-brand img{width:102px!important}
  .core-nav{width:calc(100vw - 16px)!important;bottom:max(8px,env(safe-area-inset-bottom))!important;border-radius:22px!important}
  .nav-btn{min-height:56px!important}.nav-label{font-size:8px!important}
  .home-hero{min-height:158px;padding:22px 19px;border-radius:23px}.home-hero h1{font-size:33px}.home-hero p{font-size:10px}.home-mark{width:44px;height:44px}
  .home-next-card{grid-template-columns:56px minmax(0,1fr);padding:13px;border-radius:18px}.home-next-card.is-empty{grid-template-columns:1fr}.home-next-action{grid-column:1/-1;width:100%;margin-top:2px}.home-next-date{padding-right:10px}.home-next-copy>strong{font-size:13px}
  .home-contact-grid{grid-template-columns:1fr 1fr;gap:8px}.home-contact-card{grid-template-columns:34px minmax(0,1fr);padding:11px 10px}.home-contact-icon{width:34px;height:34px}.home-contact-card>i{display:none}.home-contact-card strong{font-size:10px}.home-contact-card em{font-size:7.5px}
  .home-points-card{padding:16px 17px;border-radius:19px}.home-points-card strong{font-size:28px}
  .book-embedded-canonical .book-flow{padding:17px 12px 18px!important}
}
@media(max-width:360px){
  .nav-label{font-size:7px!important}.home-contact-grid{grid-template-columns:1fr}
}

/* Booking duration v20 — functional metadata must always stay visible */
.book-treatment-title-row{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;
  gap:10px!important;margin:0 0 6px!important;min-width:0!important
}
.book-treatment-title-row>strong{
  min-width:0!important;margin:0!important;flex:1 1 auto!important
}
.book-duration-badge{
  flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;
  min-height:24px!important;padding:4px 8px!important;border-radius:999px!important;
  border:1px solid #e5d6b6!important;background:#fbf4e4!important;color:#88631f!important;
  font-size:8.5px!important;font-weight:850!important;line-height:1!important;white-space:nowrap!important
}
.book-treatment-card .book-meta{margin-top:10px!important}
.book-treatment-card .book-duration-fallback{display:none!important}
@media(max-width:520px){
  .book-treatment-title-row{gap:8px!important}
  .book-duration-badge{font-size:8px!important;padding:4px 7px!important}
}

/* Booking progress v21 */
.book-progress{display:flex!important;align-items:center!important}
.book-progress-dot{flex:0 0 30px!important;border-radius:50%!important}
.book-progress-line{display:block!important;flex:1 1 auto!important;width:auto!important;height:1px!important;min-height:1px!important;max-height:1px!important;margin:0!important;border:0!important;background:#ddd7cc!important}
.book-progress-dot.is-done + .book-progress-line{background:#1d1a16!important}
