/* v477 targeted public/client portal repairs */
:root{--sf-v477-leaves:url('../images/spaflow-pink-leaves-from-logo-v477.png?v=477');}
/* Public topbar and login popup leaf/brand */
#sfV468PublicTopBar .sf-v468-leaf img,
.sf-v468-panel .sf-v468-leaf img{content:var(--sf-v477-leaves)!important;width:30px!important;height:30px!important;object-fit:contain!important;background:transparent!important;border:0!important;box-shadow:none!important;filter:none!important;border-radius:0!important;}
.sf-v468-panel .sf-v468-leaf img{width:44px!important;height:44px!important;}
/* Body logo link should stop at the image, not stretch right */
body:not(.logged-in-page):not(.client-portal-page) a.logo{display:inline-flex!important;width:max-content!important;max-width:max-content!important;align-items:center!important;justify-content:flex-start!important;text-decoration:none!important;}
body:not(.logged-in-page):not(.client-portal-page) a.logo img{display:block!important;max-width:min(360px,86vw)!important;height:auto!important;}
/* Client portal: remove old bottom auto log off badge/button */
body.client-portal-page #sfV339IdleBadge,
body.client-portal-page .sf-v339-idle-badge,
body.client-portal-page #sfV341IdleBadge,
body.client-portal-page .sf-v341-idle-badge{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}
/* Client portal left logo restored, no glare/transparency */
body.client-portal-page .sf-v223-sidebar{position:relative!important;overflow:visible!important;}
body.client-portal-page .sf-v223-sidebar .sf-v223-logo-host,
body.client-portal-page .sf-v223-sidebar .sf-v223-logo-host.sf-v477-client-logo-host{display:flex!important;align-items:center!important;justify-content:center!important;height:118px!important;min-height:118px!important;margin:0 0 12px!important;padding:10px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:none!important;opacity:1!important;overflow:visible!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 #clientPortalSidebarLogo,
body.client-portal-page .sf-v223-sidebar .sf-v223-logo-host img{content:url('../images/spaflow-logo18-v307.png?v=477')!important;display:block!important;visibility:visible!important;opacity:1!important;width:205px!important;max-width:205px!important;max-height:100px!important;height:auto!important;object-fit:contain!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:none!important;}
/* Client portal countdown label */
body.client-portal-page #sfV475ClientTimer.sf-v477-logout-timer:before,
body.client-portal-page #sfV475ClientTimer:before{content:'Logout Timer ';font-weight:950;margin-right:4px;color:#d9fbff;}
/* Client menu must stay on screen and include all links */
body.client-portal-page #sfV475ClientMenu{right:0!important;left:auto!important;top:calc(100% + 8px)!important;width:330px!important;max-width:min(330px,calc(100vw - 20px))!important;max-height:calc(100vh - 92px)!important;overflow:auto!important;transform:none!important;z-index:2147483400!important;}
body.client-portal-page #sfV475ClientMenu.show{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;}
body.client-portal-page #sfV475ClientMenu .sf-v477-menu-head{padding:5px 7px 10px!important;border-bottom:1px solid rgba(255,255,255,.12)!important;margin-bottom:8px!important;color:#fff!important;}
body.client-portal-page #sfV475ClientMenu .sf-v477-menu-head strong{display:block!important;font-size:14px!important;color:#fff!important;}
body.client-portal-page #sfV475ClientMenu .sf-v477-menu-head span{display:block!important;font-size:11px!important;color:#a8f7ff!important;font-weight:800!important;margin-top:2px!important;}
body.client-portal-page #sfV475ClientMenu .sf-v477-menu-section{color:#9be7ff!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-size:10px!important;font-weight:1000!important;margin:9px 5px 5px!important;}
body.client-portal-page #sfV475ClientMenu button{display:grid!important;grid-template-columns:32px 1fr!important;gap:10px!important;align-items:center!important;width:100%!important;margin:3px 0!important;padding:9px!important;border-radius:13px!important;text-align:left!important;color:#fff!important;-webkit-text-fill-color:#fff!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.12)!important;}
body.client-portal-page #sfV475ClientMenu .sf-v477-menu-icon{width:32px!important;height:32px!important;display:grid!important;place-items:center!important;border-radius:11px!important;background:rgba(255,255,255,.12)!important;}
body.client-portal-page #sfV475ClientMenu .sf-v477-menu-copy{display:flex!important;flex-direction:column!important;line-height:1.12!important;min-width:0!important;}
body.client-portal-page #sfV475ClientMenu .sf-v477-menu-copy strong{font-size:13px!important;color:#fff!important;font-weight:1000!important;}
body.client-portal-page #sfV475ClientMenu .sf-v477-menu-copy small{font-size:11px!important;color:#bceff5!important;font-weight:750!important;margin-top:3px!important;white-space:normal!important;}
/* Footer pinned to bottom of main content and full main width */
body.client-portal-page .sf-v223-app-shell{min-height:100vh!important;}
body.client-portal-page .sf-v223-main{display:flex!important;flex-direction:column!important;min-height:calc(100vh - 58px)!important;}
body.client-portal-page #existingClientPortal{flex:1 0 auto!important;}
body.client-portal-page .sf-v223-site-credit{margin-top:auto!important;width:100%!important;max-width:none!important;align-self:stretch!important;box-sizing:border-box!important;}
.sf-v477-modal{position:fixed!important;inset:0!important;display:grid!important;place-items:center!important;background:rgba(2,8,23,.62)!important;z-index:2147483600!important;padding:18px!important;}
.sf-v477-panel{width:min(520px,calc(100vw - 36px))!important;background:#fff!important;border-radius:22px!important;box-shadow:0 25px 70px rgba(0,0,0,.32)!important;color:#153042!important;padding:22px!important;position:relative!important;}
.sf-v477-close{position:absolute!important;right:12px!important;top:10px!important;border:0!important;background:transparent!important;font-size:26px!important;cursor:pointer!important;color:#31566e!important;}
.sf-v477-panel h2{margin:4px 0 14px!important;color:#06162a!important;text-align:center!important;}
.sf-v477-panel label{display:block!important;color:#234154!important;font-size:12px!important;font-weight:900!important;margin:10px 0 6px!important;}
.sf-v477-panel input,.sf-v477-panel textarea{width:100%!important;box-sizing:border-box!important;border:1px solid #cbd9e5!important;border-radius:12px!important;padding:12px!important;font-size:14px!important;}
.sf-v477-panel button[type='submit']{width:100%!important;margin-top:14px!important;border:0!important;border-radius:999px!important;padding:13px!important;font-weight:1000!important;background:#0b63c7!important;color:#fff!important;cursor:pointer!important;}
.sf-v477-status{min-height:18px!important;text-align:center!important;color:#0b7e56!important;font-weight:900!important;}
