/* v308 global theme: align the full SpaFlow site with logo 18 (deep navy + teal/aqua) */
:root{
  --sf-logo18-ink:#00182c;
  --sf-logo18-mid:#082f49;
  --sf-logo18-blue:#0b4f8f;
  --sf-logo18-teal:#45c8cf;
  --sf-logo18-aqua:#7be7f0;
  --sf-logo18-mint:#c9fbff;
  --sf-logo18-paper:#f4fbfd;
  --sf-logo18-card:#ffffff;
  --sf-logo18-line:rgba(69,200,207,.34);
  --sf-logo18-shadow:0 18px 38px rgba(0,24,44,.16);
  --sf-brand-primary:var(--sf-logo18-blue);
  --sf-brand-secondary:var(--sf-logo18-teal);
  --sf-brand-dark:var(--sf-logo18-ink);
  --sf-accent:var(--sf-logo18-teal);
  --primary:var(--sf-logo18-blue);
  --secondary:var(--sf-logo18-teal);
  --accent:var(--sf-logo18-teal);
}
html,body{
  background:linear-gradient(180deg,#f8fdff 0%,#eff9fb 47%,#eaf7f9 100%)!important;
  color:#082336!important;
}
body::before{background:radial-gradient(circle at 16% 0%,rgba(123,231,240,.24),transparent 36%),radial-gradient(circle at 86% 10%,rgba(11,79,143,.12),transparent 34%)!important;}
a{color:#087d93;} a:hover{color:#035b8f;}
/* Public and authenticated top bars */
#sfV278TopLoginBar,#sfV277TopLoginBar,#sfV276TopLoginBar,#sfV274TopLoginBar,#sfV273TopLoginBar,#sfV272TopLoginBar,#sfV271TopLoginBar,#sfV305StaffTopBar,#sfV306StaffTopBar,#sfV125ClientTopBar,.sf-v125-topbar,.client-topbar,.login-status-bar,.top-login-bar,.sf-auth-topbar{
  background:linear-gradient(135deg,#00182c 0%,#08324f 50%,#075e75 100%)!important;
  color:#ecfeff!important;
  border-bottom:1px solid rgba(123,231,240,.32)!important;
  box-shadow:0 12px 28px rgba(0,24,44,.20)!important;
}
.sf-v305-brand,.sf-v306-brand,.sf-v308-brand,.sf-v125-brand,.portal-brand,.brand-banner,.sf-v278-brand,.sf-v277-brand{
  background:rgba(0,24,44,.56)!important;
  border:1px solid rgba(123,231,240,.45)!important;
  color:#ecfeff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)!important;
}
.sf-v305-brand img,.sf-v306-brand img,.sf-v307-logo-brand img,.sf-v125-brand img,.portal-brand img,.brand-banner img{filter:none!important;}
/* Buttons */
button,.button,.btn,.nav-btn,.topbar-btn,.portal-btn,.sf-v305-top-btn,.sf-v306-top-btn,.sf-v125-top-btn,.sf-v274-top-btn,.sf-v277-top-btn,input[type="button"],input[type="submit"]{
  border-color:rgba(69,200,207,.42)!important;
  color:#effeff!important;
  background:linear-gradient(135deg,#064b75 0%,#078398 100%)!important;
  box-shadow:0 10px 22px rgba(0,24,44,.14)!important;
}
button:hover,.button:hover,.btn:hover,.nav-btn:hover,.topbar-btn:hover,.portal-btn:hover,.sf-v305-top-btn:hover,.sf-v306-top-btn:hover,.sf-v125-top-btn:hover,input[type="button"]:hover,input[type="submit"]:hover{
  background:linear-gradient(135deg,#075f92 0%,#10a4ae 100%)!important;
  border-color:rgba(201,251,255,.72)!important;
  transform:translateY(-1px);
}
button.secondary,.button.secondary,.btn.secondary,.ghost-btn,.outline-btn{
  background:rgba(244,251,253,.92)!important;
  color:#08324f!important;
  border-color:rgba(69,200,207,.45)!important;
}
/* Public nav below login bar */
.public-nav,.site-nav,.marketing-nav,.sf-public-linkbar,.sf-v277-public-nav,.public-page-nav,header.site-header,.site-header{
  background:linear-gradient(180deg,#ffffff 0%,#edfafe 100%)!important;
  border-bottom:1px solid rgba(69,200,207,.28)!important;
  box-shadow:0 10px 24px rgba(0,24,44,.08)!important;
}
.public-nav a,.site-nav a,.marketing-nav a,.sf-public-linkbar a,.site-header a{color:#08324f!important;}
.public-nav a:hover,.site-nav a:hover,.marketing-nav a:hover,.sf-public-linkbar a:hover,.site-header a:hover{color:#078398!important;background:rgba(123,231,240,.12)!important;}
/* Dropdown menus */
.dropdown-menu,.topbar-menu,.menu-dropdown,.sf-v305-menu,.sf-v306-menu,.sf-v274-menu,.sf-v276-menu,.sf-v278-menu,.sf-v125-menu{
  background:#f7fdff!important;
  border:1px solid rgba(69,200,207,.35)!important;
  box-shadow:0 22px 44px rgba(0,24,44,.22)!important;
}
.dropdown-menu a,.topbar-menu a,.menu-dropdown a,.sf-v305-menu a,.sf-v306-menu a,.sf-v274-menu a,.sf-v276-menu a,.sf-v278-menu a,.sf-v125-menu a{
  color:#082336!important;
  background:transparent!important;
  border-color:rgba(69,200,207,.15)!important;
}
.dropdown-menu a:hover,.topbar-menu a:hover,.menu-dropdown a:hover,.sf-v305-menu a:hover,.sf-v306-menu a:hover,.sf-v274-menu a:hover,.sf-v276-menu a:hover,.sf-v278-menu a:hover,.sf-v125-menu a:hover{
  color:#00182c!important;
  background:linear-gradient(90deg,rgba(123,231,240,.28),rgba(255,255,255,.85))!important;
}
/* Sidebars */
aside.sidebar,.sidebar,.client-sidebar,.sf-v223-sidebar,.sf-v282-business-staff-sidebar{
  background:linear-gradient(180deg,#00182c 0%,#082f49 50%,#003846 100%)!important;
  border-right:1px solid rgba(123,231,240,.28)!important;
  box-shadow:inset -1px 0 rgba(255,255,255,.08), 12px 0 28px rgba(0,24,44,.12)!important;
}
aside.sidebar .logo,aside.sidebar .sf-v223-logo-host,aside.sidebar #sfV305StaffLogo,.client-sidebar .logo-card,.sidebar .logo-card{
  background:linear-gradient(145deg,rgba(0,24,44,.96),rgba(8,47,73,.94))!important;
  border:2px solid rgba(69,200,207,.82)!important;
  box-shadow:0 16px 34px rgba(0,24,44,.22),inset 0 0 0 1px rgba(201,251,255,.08)!important;
}
aside.sidebar nav,.sidebar nav,.sf-v305-staff-nav,.sf-v306-staff-nav,.staff-nav-shell,.client-nav-shell{
  background:rgba(0,24,44,.46)!important;
  border:1px solid rgba(123,231,240,.28)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)!important;
}
aside.sidebar nav::before,.sidebar nav::before,.staff-nav-title,.client-nav-title,.sf-v305-nav-title,.sf-v306-nav-title{
  color:#c9fbff!important;
  text-shadow:0 1px 0 rgba(0,0,0,.24)!important;
}
aside.sidebar a,.sidebar a,.side-nav a,.sf-v223-sidebar a,.sf-v282-business-staff-sidebar a{
  background:rgba(6,75,117,.40)!important;
  border:1px solid rgba(69,200,207,.32)!important;
  color:#eafeff!important;
}
aside.sidebar a:hover,.sidebar a:hover,.side-nav a:hover,.sf-v223-sidebar a:hover{
  background:rgba(10,132,152,.56)!important;
  border-color:rgba(201,251,255,.62)!important;
}
aside.sidebar a.active,.sidebar a.active,.side-nav a.active,.sf-v223-sidebar a.active,.sf-v282-business-staff-sidebar a.active,.active-page{
  background:linear-gradient(135deg,#087d93 0%,#45c8cf 100%)!important;
  border-color:rgba(201,251,255,.86)!important;
  color:#00182c!important;
  box-shadow:0 12px 24px rgba(69,200,207,.20)!important;
}
/* Page body, cards, analytics, forms */
main,.main-content,.content,.page-content,.portal-main,.sf-v305-content,.sf-v306-content{
  background:linear-gradient(180deg,#f8fdff 0%,#eff9fb 100%)!important;
}
.card,.panel,.section-card,.portal-card,.dashboard-card,.metric-card,.report-card,.analytics-card,.business-info-card,.sf-business-info-card,.settings-card,fieldset,.form-card{
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(69,200,207,.25)!important;
  box-shadow:var(--sf-logo18-shadow)!important;
  color:#082336!important;
}
.hero,.page-hero,.marketing-hero,.reports-hero,.analytics-hero,.business-hero{
  background:linear-gradient(135deg,#00182c 0%,#08324f 56%,#087d93 100%)!important;
  color:#ecfeff!important;
  border:1px solid rgba(123,231,240,.28)!important;
  box-shadow:0 24px 54px rgba(0,24,44,.20)!important;
}
.hero h1,.page-hero h1,.reports-hero h1,.analytics-hero h1,.business-hero h1{color:#ffffff!important;}
.hero p,.page-hero p,.reports-hero p,.analytics-hero p,.business-hero p{color:#d8fbff!important;}
.metric-card,.stat-card,.kpi-card{border-left:5px solid var(--sf-logo18-teal)!important;}
.metric-card .value,.stat-value,.kpi-value{color:#064b75!important;}
input,select,textarea{
  background:#ffffff!important;
  color:#082336!important;
  border:1px solid rgba(69,200,207,.40)!important;
  box-shadow:inset 0 1px 2px rgba(0,24,44,.04)!important;
}
input:focus,select:focus,textarea:focus{
  border-color:#45c8cf!important;
  box-shadow:0 0 0 4px rgba(69,200,207,.18)!important;
  outline:none!important;
}
table,.data-table{background:#ffffff!important;border-color:rgba(69,200,207,.22)!important;}
th,.table-header{background:linear-gradient(180deg,#e9fbfe,#d9f6fb)!important;color:#08324f!important;}
tr:nth-child(even) td{background:rgba(244,251,253,.72)!important;}
/* Public footer */
footer,.site-footer,.footer{
  background:linear-gradient(135deg,#00182c 0%,#082f49 58%,#003846 100%)!important;
  color:#eafeff!important;
  border-top:1px solid rgba(123,231,240,.28)!important;
}
footer a,.site-footer a,.footer a{color:#c9fbff!important;} footer a:hover,.site-footer a:hover,.footer a:hover{color:#ffffff!important;}
/* Badges/chips */
.badge,.chip,.pill,.status-badge{background:rgba(123,231,240,.22)!important;color:#064b75!important;border:1px solid rgba(69,200,207,.32)!important;}
.badge.success,.status-complete,.success{background:rgba(69,200,207,.22)!important;color:#035e6a!important;}
.badge.warning,.status-pending,.warning{background:#fff7db!important;color:#846000!important;}
.badge.danger,.status-cancelled,.danger{background:#ffe9ee!important;color:#9f1239!important;}
/* Charts/reports accents */
svg .sf-chart-line,.chart-line{stroke:#45c8cf!important;} svg .sf-chart-fill,.chart-fill{fill:rgba(69,200,207,.18)!important;}
.report-selector,.report-period,.report-toolbar{background:#ffffff!important;border:1px solid rgba(69,200,207,.28)!important;box-shadow:var(--sf-logo18-shadow)!important;}
/* Keep logo 18 sizing sane everywhere */
img[src*="spaflow-logo18"],img[src*="spaflow-client-sidebar-logo"],img[src*="spaflow-logo"]{object-fit:contain!important;filter:none!important;}
