/* SpaFlow v527: public brand restore, staff role first-paint color, calendar/body stabilization */
/* Public logged-out topbar brand: restore original SPAFlow + tagline formatting and leaf/wave spacing. */
#sfV468PublicTopBar .sf-v468-brand{display:inline-flex!important;align-items:center!important;gap:9px!important;text-decoration:none!important;background:transparent!important;border:0!important;box-shadow:none!important;min-width:0!important;}
#sfV468PublicTopBar .sf-v468-leaf{width:38px!important;height:38px!important;min-width:38px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;background:transparent!important;}
#sfV468PublicTopBar .sf-v468-leaf img{width:38px!important;height:38px!important;object-fit:contain!important;display:block!important;opacity:1!important;visibility:visible!important;background:transparent!important;}
#sfV468PublicTopBar .sf-v468-brand-copy,#sfV468PublicTopBar .sf-v468-brand-text{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;line-height:1!important;min-width:0!important;}
#sfV468PublicTopBar .sf-v468-brand-copy strong,#sfV468PublicTopBar .sf-v468-brand-text strong{display:flex!important;align-items:center!important;font-size:24px!important;font-weight:1000!important;letter-spacing:.01em!important;line-height:1!important;color:#fff!important;margin:0!important;padding:0!important;white-space:nowrap!important;}
#sfV468PublicTopBar .sf-v468-spa{color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:1000!important;}
#sfV468PublicTopBar .sf-v468-flow{color:#40dde6!important;-webkit-text-fill-color:#40dde6!important;font-style:italic!important;font-weight:1000!important;text-shadow:0 0 9px rgba(64,221,230,.32)!important;}
#sfV468PublicTopBar .sf-v468-wave{display:inline-flex!important;margin-left:7px!important;align-items:center!important;line-height:0!important;}
#sfV468PublicTopBar .sf-v468-wave svg{width:52px!important;height:15px!important;display:block!important;}
#sfV468PublicTopBar .sf-v468-brand-copy small,#sfV468PublicTopBar .sf-v468-brand-text small{display:block!important;margin-top:4px!important;color:#e8fbff!important;-webkit-text-fill-color:#e8fbff!important;font-size:11px!important;font-weight:900!important;letter-spacing:.18em!important;text-transform:uppercase!important;line-height:1.15!important;white-space:nowrap!important;}
/* Staff role/business: apply the final Flow-blue color before/while scripts are still building. */
#sfV306StaffTopBar .sf-v369-role-line,#sfV306StaffTopBar .sf-v369-role-line *,#sfV306StaffTopBar .sf-v392-role-business,#sfV306StaffTopBar .sf-v392-role-single,#sfV306StaffTopBar .sf-v392-role-select,#sfV306StaffTopBar .sf-v527-role-business-blue,#sfV306StaffTopBar .login-status-role,#sfV306StaffTopBar [data-sf-v404-role-line]{color:#19d5d8!important;-webkit-text-fill-color:#19d5d8!important;font-weight:950!important;text-shadow:none!important;}
#sfV306StaffTopBar .sf-v392-role-select{background:rgba(25,213,216,.10)!important;border-color:rgba(25,213,216,.35)!important;}
/* Staff pages: never show public/legacy topbars over the staff topbar. */
body.sf-v282-business-staff-page > [id*="PublicTopBar"],body.sf-v282-business-staff-page > [id*="UnifiedTopBar"],body.sf-v282-business-staff-page > [id*="TopLoginBar"]:not(#sfV306StaffTopBar),body.logged-in-page > [id*="PublicTopBar"],body.logged-in-page > [id*="UnifiedTopBar"],body.logged-in-page > [id*="TopLoginBar"]:not(#sfV306StaffTopBar){display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;}
body.sf-v282-business-staff-page > #sfV306StaffTopBar,body.logged-in-page > #sfV306StaffTopBar{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;height:auto!important;min-height:58px!important;overflow:visible!important;}
/* Calendar must keep the same staff shell and visible body. */
body.calendar-page .app-shell{display:flex!important;visibility:visible!important;opacity:1!important;min-height:calc(100vh - 120px)!important;align-items:stretch!important;}
body.calendar-page main.main{display:block!important;visibility:visible!important;opacity:1!important;min-height:72vh!important;overflow:visible!important;flex:1 1 auto!important;}
body.calendar-page main.main > *{visibility:visible!important;opacity:1!important;}
body.calendar-page #sfV327CalendarPage,body.calendar-page .sf-v327-card,body.calendar-page .sf-v327-calendar-shell,body.calendar-page #sfV327CalendarCanvas,body.calendar-page #sfV327AppointmentList{display:block;visibility:visible!important;opacity:1!important;}
body.calendar-page .sf-v327-calendar-shell{display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr)!important;gap:18px!important;align-items:start!important;}
@media(max-width:980px){body.calendar-page .sf-v327-calendar-shell{grid-template-columns:1fr!important;}}
/* Calendar business details: match other staff pages and prevent bleeding/collapse. */
body.calendar-page main.main > .business-header.sf-v379-business-bar{display:grid!important;grid-template-columns:112px minmax(0,1fr) minmax(260px,468px)!important;gap:14px!important;align-items:center!important;min-height:126px!important;height:auto!important;padding:12px 18px 18px!important;margin:0 0 18px!important;box-sizing:border-box!important;overflow:visible!important;}
body.calendar-page .sf-v379-business-logo{width:108px!important;height:108px!important;min-width:108px!important;min-height:108px!important;max-width:108px!important;max-height:108px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;position:relative!important;}
body.calendar-page .sf-v379-business-logo img{width:96%!important;height:96%!important;object-fit:contain!important;display:block!important;border-radius:20px!important;}
body.calendar-page .sf-v379-business-core,body.calendar-page .sf-v379-business-copy{min-width:0!important;max-width:100%!important;overflow:hidden!important;}
body.calendar-page .sf-v379-business-copy{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:2px!important;}
body.calendar-page .sf-v379-business-eyebrow{margin:0 0 2px!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body.calendar-page .sf-v379-business-copy h1{margin:0 0 3px!important;line-height:1.08!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body.calendar-page .sf-v379-business-title{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}
body.calendar-page .sf-v379-business-copy p{display:block!important;margin:0!important;padding:0!important;line-height:1.22!important;font-size:12.5px!important;max-width:100%!important;max-height:50px!important;overflow:hidden!important;overflow-wrap:anywhere!important;}
body.calendar-page .sf-v379-ad-slot{min-width:0!important;max-width:100%!important;overflow:hidden!important;box-sizing:border-box!important;}
@media(max-width:1220px){body.calendar-page main.main > .business-header.sf-v379-business-bar{grid-template-columns:112px minmax(0,1fr)!important;}body.calendar-page .sf-v379-ad-slot{display:none!important;}}

/* v525 public bar brand restore as well (#sfV352TopBar). */
#sfV352TopBar .sf-v527-public-brand{display:inline-flex!important;align-items:center!important;gap:9px!important;text-decoration:none!important;background:transparent!important;border:0!important;box-shadow:none!important;}
#sfV352TopBar .sf-v527-public-leaf{width:38px!important;height:38px!important;min-width:38px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;background:transparent!important;}
#sfV352TopBar .sf-v527-public-leaf img{width:38px!important;height:38px!important;object-fit:contain!important;display:block!important;background:transparent!important;}
#sfV352TopBar .sf-v527-public-brand-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;line-height:1!important;}
#sfV352TopBar .sf-v527-public-brand-copy strong{display:flex!important;align-items:center!important;font-size:24px!important;font-weight:1000!important;line-height:1!important;white-space:nowrap!important;margin:0!important;color:#fff!important;}
#sfV352TopBar .sf-v527-spa{color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:1000!important;}
#sfV352TopBar .sf-v527-flow{color:#40dde6!important;-webkit-text-fill-color:#40dde6!important;font-style:italic!important;font-weight:1000!important;text-shadow:0 0 9px rgba(64,221,230,.32)!important;}
#sfV352TopBar .sf-v527-wave{display:inline-flex!important;margin-left:7px!important;line-height:0!important;}
#sfV352TopBar .sf-v527-wave svg{width:52px!important;height:15px!important;display:block!important;}
#sfV352TopBar .sf-v527-public-brand-copy small{display:block!important;margin-top:4px!important;color:#e8fbff!important;-webkit-text-fill-color:#e8fbff!important;font-size:11px!important;font-weight:900!important;letter-spacing:.18em!important;text-transform:uppercase!important;line-height:1.15!important;white-space:nowrap!important;}
