/* SpaFlow v469: stable leaf mark, body-logo spacing, and client authenticated chrome parity. */
:root{--sf-v469-deep:#06162a;--sf-v469-blue:#073b91;--sf-v469-aqua:#40dde6;--sf-v469-pink:#ff5bb0;}

/* Keep public/staff brand mark from flashing the wrong image before the final scripts finish. */
.sf-v468-leaf img,
.sf-v469-leaf img,
.sf-v369-leaf img,
.sf-v381-brand-flower img,
.sf-v305-brand-icon img,
.sf-v468-panel .sf-v468-leaf img{
  content:url('../images/spaflow-logo-pink-leaf-only-v462.png?v=469')!important;
  object-fit:contain!important;
  background:transparent!important;
}

/* Add visible breathing room above first body logo/content area after the top bars. */
body.sf-v421-public main,
body:not(.logged-in-page):not(.client-portal-page) main,
body.sf-v282-business-staff-page .app-shell,
body.sf-v287-staff-portal .app-shell,
body.logged-in-page .app-shell,
body.client-portal-page .sf-v223-app-shell{
  padding-top:18px!important;
}
body.sf-v421-public #sfV468PublicTopBar + main,
body.sf-v421-public #sfV468PublicTopBar + .sf-v468-linkbar + main{
  padding-top:18px!important;
}
body.sf-v421-public main > .logo:first-child,
body.sf-v421-public main > .hero-logo:first-child,
body.sf-v421-public main .logo-image-wide:first-child,
body.sf-v421-public main section:first-child{
  margin-top:10px!important;
}
/* Authenticated sidebar logo breathing room. */
body.sf-v282-business-staff-page aside.sidebar .sidebar-logo,
body.sf-v287-staff-portal aside.sidebar .sidebar-logo,
body.logged-in-page aside.sidebar .sidebar-logo,
body.client-portal-page .sf-v223-sidebar .sf-v223-logo-host{
  margin-top:12px!important;
}

/* Client authenticated pages: make sidebar/topbar visually match staff authenticated chrome. */
body.client-portal-page{
  background:#f3f8fb!important;
}
body.client-portal-page #sfV125TopLoginBar,
body.client-portal-page #sfV469ClientTopBar{
  display:flex!important;
  align-items:center!important;
  min-height:74px!important;
  height:74px!important;
  width:100%!important;
  background:linear-gradient(135deg,#06162a 0%,#073b91 54%,#0a6fb8 100%)!important;
  color:#fff!important;
  border-bottom:2px solid rgba(255,91,176,.92)!important;
  box-shadow:0 10px 28px rgba(2,8,23,.18)!important;
  position:relative!important;
  z-index:1200!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
body.client-portal-page #sfV469ClientTopBar .sf-v469-top-inner,
body.client-portal-page #sfV125TopLoginBar .sf-v125-login-inner{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) auto minmax(360px,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  padding:8px 18px!important;
  box-sizing:border-box!important;
}
body.client-portal-page .sf-v469-client-left,
body.client-portal-page #sfV125TopLoginBar .sf-v125-status-left{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
body.client-portal-page .sf-v469-avatar,
body.client-portal-page #sfV125TopLoginBar .sf-v125-avatar{
  width:40px!important;height:40px!important;border-radius:999px!important;display:grid!important;place-items:center!important;
  background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(218,251,255,.95))!important;
  color:#073b91!important;font-weight:1000!important;border:2px solid rgba(255,255,255,.85)!important;overflow:hidden!important;flex:0 0 40px!important;
}
body.client-portal-page .sf-v469-avatar img,
body.client-portal-page #sfV125TopLoginBar .sf-v125-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
body.client-portal-page .sf-v469-client-copy,
body.client-portal-page #sfV125TopLoginBar .sf-v125-login-copy{display:flex!important;flex-direction:column!important;line-height:1.1!important;color:#eafcff!important;font-size:12px!important;font-weight:850!important;}
body.client-portal-page .sf-v469-client-copy strong,
body.client-portal-page #sfV125TopLoginBar .login-status-name{font-size:13px!important;font-weight:1000!important;color:#fff!important;-webkit-text-fill-color:#fff!important;}
body.client-portal-page .sf-v469-client-copy small,
body.client-portal-page #sfV125TopLoginBar .login-status-role{font-size:12px!important;font-weight:1000!important;color:var(--sf-v469-aqua)!important;-webkit-text-fill-color:var(--sf-v469-aqua)!important;}
body.client-portal-page .sf-v469-brand-wrap{justify-self:center!important;display:flex!important;align-items:center!important;justify-content:center!important;}
body.client-portal-page .sf-v469-brand{display:flex!important;align-items:center!important;gap:7px!important;text-decoration:none!important;color:#fff!important;background:transparent!important;border:0!important;box-shadow:none!important;}
body.client-portal-page .sf-v469-leaf{width:34px!important;height:34px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 34px!important;}
body.client-portal-page .sf-v469-leaf img{width:30px!important;height:30px!important;object-fit:contain!important;filter:drop-shadow(0 0 9px rgba(255,91,176,.42))!important;}
body.client-portal-page .sf-v469-brand-text{display:flex!important;flex-direction:column!important;align-items:flex-start!important;line-height:1!important;}
body.client-portal-page .sf-v469-word{display:inline-flex!important;align-items:center!important;font-size:25px!important;font-weight:1000!important;letter-spacing:.01em!important;color:#fff!important;line-height:1!important;}
body.client-portal-page .sf-v469-spa{color:#fff!important;-webkit-text-fill-color:#fff!important;}
body.client-portal-page .sf-v469-flow{font-style:italic!important;color:var(--sf-v469-aqua)!important;-webkit-text-fill-color:var(--sf-v469-aqua)!important;text-shadow:0 0 10px rgba(64,221,230,.34)!important;}
body.client-portal-page .sf-v469-wave{display:inline-flex!important;width:58px!important;height:16px!important;margin-left:6px!important;}
body.client-portal-page .sf-v469-wave svg{width:100%!important;height:100%!important;display:block!important;}
body.client-portal-page .sf-v469-tagline{display:block!important;font-size:10px!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:#e8fbff!important;font-weight:900!important;margin-top:4px!important;white-space:nowrap!important;}
body.client-portal-page .sf-v469-actions,
body.client-portal-page #sfV125TopLoginBar .sf-v125-actions{
  justify-self:end!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;flex-wrap:nowrap!important;min-width:0!important;
}
body.client-portal-page .sf-v469-btn,
body.client-portal-page #sfV125TopLoginBar a,
body.client-portal-page #sfV125TopLoginBar button,
body.client-portal-page #sfV125TopLoginBar .sf-v223-mail-button,
body.client-portal-page #sfV125TopLoginBar .sf-v223-support-button{
  height:32px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
  padding:0 10px!important;border-radius:999px!important;border:1px solid rgba(201,251,255,.36)!important;
  background:rgba(255,255,255,.12)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:none!important;
  font-size:12px!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important;box-shadow:inset 0 1px rgba(255,255,255,.12),0 8px 18px rgba(2,8,23,.11)!important;cursor:pointer!important;
}
body.client-portal-page .sf-v469-btn:hover,
body.client-portal-page #sfV125TopLoginBar a:hover,
body.client-portal-page #sfV125TopLoginBar button:hover{background:#073b91!important;border-color:#9be7ff!important;}
body.client-portal-page .sf-v223-sidebar{
  background:linear-gradient(180deg,#06162a 0%,#0f2442 52%,#071426 100%)!important;
  border-right:1px solid rgba(64,221,230,.28)!important;
  box-shadow:inset -1px 0 rgba(255,255,255,.12),8px 0 22px rgba(2,8,23,.08)!important;
  padding:12px 10px!important;
}
body.client-portal-page .sf-v223-sidebar .sf-v223-logo-host{
  display:flex!important;align-items:center!important;justify-content:center!important;min-height:164px!important;height:164px!important;max-height:164px!important;
  border:3px solid var(--sf-v469-aqua)!important;border-radius:24px!important;background:rgba(255,255,255,.98)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.85) inset,0 8px 18px rgba(25,213,216,.16)!important;overflow:hidden!important;clip-path:inset(0 round 24px)!important;
  animation:sfV469LogoBorderPulse 3.6s ease-in-out infinite!important;box-sizing:border-box!important;
}
body.client-portal-page .sf-v223-sidebar .sf-v223-logo-host:before,
body.client-portal-page .sf-v223-sidebar .sf-v223-logo-host:after{content:none!important;display:none!important;}
body.client-portal-page .sf-v223-sidebar .sf-v223-logo-host img{
  content:url('../images/spaflow-sidebar-logo-transparent-glow-v120.png')!important;
  width:230px!important;max-width:92%!important;height:auto!important;max-height:145px!important;object-fit:contain!important;display:block!important;background:transparent!important;filter:none!important;animation:sfV469LogoImageBreathe 4.8s ease-in-out infinite!important;
}
body.client-portal-page #clientPortalSideLinks,
body.client-portal-page .sf-v144-client-nav,
body.client-portal-page .sf-v145-client-nav{display:flex!important;flex-direction:column!important;gap:8px!important;margin-top:14px!important;}
body.client-portal-page #clientPortalSideLinks a,
body.client-portal-page #clientPortalSideLinks button,
body.client-portal-page .sf-v144-client-nav-link,
body.client-portal-page .sf-v145-nav-link{
  display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;min-height:42px!important;padding:10px 12px!important;border-radius:14px!important;
  border:1px solid rgba(255,255,255,.13)!important;background:rgba(255,255,255,.075)!important;color:#eafcff!important;-webkit-text-fill-color:#eafcff!important;
  text-decoration:none!important;font-weight:900!important;font-size:13px!important;box-sizing:border-box!important;text-align:left!important;
}
body.client-portal-page #clientPortalSideLinks a.active,
body.client-portal-page #clientPortalSideLinks a:hover,
body.client-portal-page #clientPortalSideLinks button:hover,
body.client-portal-page .sf-v145-nav-link.active{background:linear-gradient(135deg,rgba(255,91,176,.26),rgba(64,221,230,.18))!important;border-color:rgba(64,221,230,.45)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;}
body.client-portal-page .sf-v144-nav-icon,
body.client-portal-page .sf-v145-nav-icon{width:30px!important;height:30px!important;display:grid!important;place-items:center!important;border-radius:11px!important;background:rgba(255,255,255,.13)!important;flex:0 0 30px!important;}
@keyframes sfV469LogoBorderPulse{0%,100%{border-color:#19d5d8;box-shadow:0 0 0 1px rgba(255,255,255,.8) inset,0 8px 18px rgba(25,213,216,.12)}50%{border-color:#ff5bb0;box-shadow:0 0 0 1px rgba(255,255,255,.9) inset,0 0 18px rgba(255,91,176,.30),0 8px 22px rgba(25,213,216,.18)}}
@keyframes sfV469LogoImageBreathe{0%,100%{transform:scale(.985)}50%{transform:scale(1.015)}}
@media(max-width:1100px){body.client-portal-page #sfV469ClientTopBar .sf-v469-top-inner,body.client-portal-page #sfV125TopLoginBar .sf-v125-login-inner{grid-template-columns:1fr!important;height:auto!important;}body.client-portal-page #sfV469ClientTopBar{height:auto!important;min-height:74px!important;}body.client-portal-page .sf-v469-actions,body.client-portal-page #sfV125TopLoginBar .sf-v125-actions{justify-self:start!important;flex-wrap:wrap!important}.sf-v469-brand-wrap{justify-self:start!important}}
