/*
 * BPW Population Worker Management System - unified blue + #FAF88E background and header layer v8
 * Scope: Admin/back-office content, Portal User Portal, Employee/Staff Portal,
 * login portals, and BPW public intake form.
 * Intentionally does NOT target .sidebar or sidebar navigation classes.
 */
:root{
  --bpw-blue:#0057A8;
  --bpw-blue-2:#0A70C7;
  --bpw-navy:#062F63;
  --bpw-deep:#031D3E;
  --bpw-gold:#FDB515;
  --bpw-yellow:#FAF88E;
  --bpw-ink:#0B274A;
  --bpw-muted:#526B86;
  --bpw-line:rgba(0,87,168,.18);
  --bpw-card:rgba(255,255,255,.94);
  --bpw-warm-card:rgba(255,255,247,.94);
  --bpw-shadow:0 22px 58px rgba(6,47,99,.16);
}

html{background:#edf6ff!important;scrollbar-color:var(--bpw-blue) #eef6ff;}
body.role-standard,
body.role-viewer,
body.portal-page,
body.auth-page,
body.portal-auth-page,
body.hr-intake-body,
body.intake-public-page{
  color:var(--bpw-ink)!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(250,248,142,.92) 0,rgba(250,248,142,.48) 18%,rgba(250,248,142,0) 44%),
    radial-gradient(circle at 0% 16%,rgba(0,87,168,.32) 0,rgba(0,87,168,.12) 25%,rgba(0,87,168,0) 55%),
    linear-gradient(135deg,#e7f4ff 0%,#f7fbff 36%,#fffef1 70%,rgba(250,248,142,.70) 120%)!important;
  background-attachment:fixed!important;
}
.app-shell,.main,.portal-main{background:transparent!important;}

/* ADMIN / BACK-OFFICE: improve plain page headers, without touching sidebar. */
body.role-standard .topbar,
body.role-viewer .topbar,
body.role-standard .module-head.card,
body.role-viewer .module-head.card{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  border:1px solid rgba(0,87,168,.20)!important;
  border-left:5px solid var(--bpw-blue)!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 96% 8%,rgba(250,248,142,.88) 0,rgba(250,248,142,.42) 25%,transparent 52%),
    radial-gradient(circle at 3% 100%,rgba(0,87,168,.18) 0,transparent 42%),
    linear-gradient(112deg,rgba(255,255,255,.96) 0%,rgba(239,247,255,.96) 47%,rgba(255,254,226,.98) 100%)!important;
  box-shadow:var(--bpw-shadow), inset 0 1px 0 rgba(255,255,255,.92)!important;
}
body.role-standard .topbar{min-height:96px!important;padding:20px 24px!important;margin-bottom:22px!important;}
body.role-standard .topbar h1,
body.role-viewer .topbar h1,
body.role-standard .module-head.card h2,
body.role-viewer .module-head.card h2{
  color:var(--bpw-navy)!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
  text-shadow:0 1px 0 rgba(255,255,255,.72)!important;
}
body.role-standard .topbar small,
body.role-viewer .topbar small,
body.role-standard .module-head.card p,
body.role-viewer .module-head.card p{color:#3f5f7e!important;}
body.role-standard :is(.card,.table-wrap,.pagination-wrap,.bpw-panel,.stat-card),
body.role-viewer :is(.card,.table-wrap,.pagination-wrap,.bpw-panel,.stat-card){
  background:var(--bpw-card)!important;
  border-color:rgba(0,87,168,.14)!important;
  box-shadow:0 18px 44px rgba(6,47,99,.10)!important;
}
body.role-standard :is(.card-head,.bpw-panel-head),
body.role-viewer :is(.card-head,.bpw-panel-head){
  background:
    linear-gradient(110deg,rgba(238,247,255,.88),rgba(255,254,226,.72))!important;
  border-bottom:1px solid rgba(0,87,168,.12)!important;
}
body.role-standard :is(.btn.primary,button.btn.primary,.primary),
body.role-viewer :is(.btn.primary,button.btn.primary,.primary),
body.auth-page :is(.btn.primary,button.btn.primary,.primary),
body.portal-auth-page :is(.btn.primary,button.btn.primary,.primary){
  background:linear-gradient(135deg,var(--bpw-blue),var(--bpw-navy))!important;
  border-color:rgba(0,87,168,.42)!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(0,87,168,.20)!important;
}

/* PORTALS: same BPW blue-yellow canvas on employee/staff and portal-user/portal-user portals. */
html body.portal-page.bpw-nextly-theme{
  padding-top:134px!important;
  color:var(--bpw-ink)!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(250,248,142,.92) 0,rgba(250,248,142,.48) 18%,rgba(250,248,142,0) 44%),
    radial-gradient(circle at 0% 20%,rgba(0,87,168,.34) 0,rgba(0,87,168,.12) 28%,rgba(0,87,168,0) 56%),
    linear-gradient(135deg,#e7f4ff 0%,#f7fbff 37%,#fffef1 72%,rgba(250,248,142,.72) 120%)!important;
  background-attachment:fixed!important;
}
html body.portal-page.bpw-nextly-theme .bpw-nextly-header,
html body.portal-page.bpw-portal-final-v5 header.bpw-nextly-header.bpw-floating-header-v5{
  position:fixed!important;
  inset:18px 0 auto 0!important;
  z-index:5000!important;
  width:100%!important;
  margin:0!important;
  padding:0 24px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  pointer-events:none!important;
}
html body.portal-page.bpw-nextly-theme .bpw-nextly-header::before,
html body.portal-page.bpw-nextly-theme .bpw-nextly-header::after{display:none!important;content:none!important;}
html body.portal-page.bpw-nextly-theme .bpw-nextly-navbar,
html body.portal-page.bpw-portal-final-v5 header.bpw-nextly-header.bpw-floating-header-v5>.bpw-nextly-navbar.bpw-floating-navbar-v5{
  width:min(1580px,100%)!important;
  max-width:1580px!important;
  margin:0 auto!important;
  pointer-events:auto!important;
  border:1px solid rgba(0,87,168,.24)!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 96% 5%,rgba(250,248,142,.74) 0,rgba(250,248,142,.30) 25%,transparent 50%),
    linear-gradient(112deg,rgba(239,247,255,.98),rgba(255,255,255,.97) 58%,rgba(255,251,216,.97))!important;
  box-shadow:0 22px 56px rgba(6,47,99,.18), inset 0 1px 0 rgba(255,255,255,.92)!important;
  backdrop-filter:blur(18px) saturate(1.10)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.10)!important;
}
html body.portal-page.bpw-nextly-theme .bpw-nextly-navbar::before{
  content:""!important;
  position:absolute!important;
  left:28px!important;right:28px!important;top:0!important;height:4px!important;
  border-radius:0 0 999px 999px!important;
  background:linear-gradient(90deg,var(--bpw-blue),var(--bpw-blue-2) 42%,var(--bpw-gold),var(--bpw-yellow))!important;
}
html body.portal-page.bpw-nextly-theme .bpw-nextly-brand-copy :is(b,small,em),
html body.portal-page.bpw-nextly-theme .bpw-nextly-profile-copy :is(b,small),
html body.portal-page.bpw-nextly-theme .bpw-nextly-nav-toggle{
  color:var(--bpw-navy)!important;
}
html body.portal-page.bpw-nextly-theme .portal-main{
  width:min(1440px,calc(100% - 48px))!important;
  padding-top:22px!important;
}
html body.portal-page :is(.portal-card-panel,.portal-panel,.portal-section,.portal-stat,.fb-post,.portal-user-detail-section,.employee-profile-panel){
  background:var(--bpw-card)!important;
  border-color:rgba(0,87,168,.14)!important;
  box-shadow:0 18px 44px rgba(6,47,99,.10)!important;
}

/* Replace remaining green hero blocks with BPW blue/gold. */
html body.portal-page .portal-hero,
html body.portal-page .portal-hero.employee-dashboard-hero,
html body.portal-page .employee-dashboard-hero.bpw-hero-blue-gold-v5,
html body.portal-page .portal-user-dashboard-hero,
html body.portal-page .employee-profile-hero{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  border:1px solid rgba(253,181,21,.34)!important;
  border-radius:18px!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 92% 8%,rgba(250,248,142,.36),transparent 34%),
    radial-gradient(circle at 0% 100%,rgba(0,87,168,.20),transparent 44%),
    linear-gradient(118deg,var(--bpw-deep),var(--bpw-navy) 42%,var(--bpw-blue) 76%,var(--bpw-blue-2))!important;
  box-shadow:0 20px 52px rgba(6,47,99,.22)!important;
}
html body.portal-page .portal-hero::before,
html body.portal-page .portal-hero.employee-dashboard-hero::before,
html body.portal-page .portal-hero.employee-dashboard-hero::after,
html body.portal-page .portal-user-dashboard-hero::before,
html body.portal-page .portal-user-dashboard-hero::after{
  background:radial-gradient(circle,rgba(250,248,142,.26),transparent 62%)!important;
  border-color:rgba(250,248,142,.14)!important;
}
html body.portal-page .portal-hero :is(h1,h2,h3,h4,p,span,strong,b,small,em),
html body.portal-page .employee-dashboard-hero :is(h1,h2,h3,h4,p,span,strong,b,small,em),
html body.portal-page .portal-user-dashboard-hero :is(h1,h2,h3,h4,p,span,strong,b,small,em){
  color:#fff!important;
  text-shadow:0 2px 10px rgba(3,29,62,.25)!important;
}
html body.portal-page .portal-hero .eyebrow,
html body.portal-page .employee-dashboard-hero .eyebrow,
html body.portal-page .portal-user-dashboard-hero .eyebrow{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(250,248,142,.34)!important;
  color:var(--bpw-yellow)!important;
}
html body.portal-page :is(.badge.good,.portal-badge,.bpw-pill,.status-pill,.portal-status,.employee-dashboard-hero .employee-hero-chip){
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(250,248,142,.32)!important;
  color:#fff!important;
}
html body.portal-page :is(.portal-stat strong,.portal-stat small,.portal-stat em,.portal-card-panel h2,.portal-card-panel h3,.portal-panel h2,.portal-panel h3){
  color:var(--bpw-navy)!important;
  text-shadow:none!important;
}

/* AUTH PAGES: keep BPW login readable and consistent. */
body.auth-page .auth-card,
body.portal-auth-page .auth-card,
body.auth-page .auth-wrap,
body.portal-auth-page .auth-wrap{
  background:var(--bpw-card)!important;
  border:1px solid rgba(0,87,168,.18)!important;
  box-shadow:0 24px 64px rgba(6,47,99,.16)!important;
}
body.auth-page .auth-side,
body.portal-auth-page .auth-side{
  background:
    radial-gradient(circle at 92% 12%,rgba(250,248,142,.26),transparent 36%),
    linear-gradient(145deg,var(--bpw-navy),var(--bpw-blue))!important;
}
body.auth-page .auth-side :is(h1,h2,h3,p,span,b,strong),
body.portal-auth-page .auth-side :is(h1,h2,h3,p,span,b,strong){color:#fff!important;}

/* BPW PUBLIC INTAKE: hard override for unreadable hero text and pale labels. */
html body.hr-intake-body,
html body.intake-public-page{
  color:var(--bpw-ink)!important;
}
html body.hr-intake-body .hr-intake-shell,
html body.intake-public-page .hr-intake-shell,
html body.hr-intake-body .intake-page-shell{
  background:transparent!important;
}
html body.hr-intake-body .hr-intake-card,
html body.hr-intake-body .intake-card,
html body.intake-public-page .hr-intake-card,
html body.intake-public-page .intake-card{
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(0,87,168,.18)!important;
  box-shadow:0 24px 70px rgba(6,47,99,.18)!important;
}
html body.hr-intake-body .hr-intake-header,
html body.hr-intake-body .intake-hero,
html body.intake-public-page .hr-intake-header,
html body.intake-public-page .intake-hero{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 94% 8%,rgba(250,248,142,.35),transparent 34%),
    linear-gradient(118deg,var(--bpw-deep),var(--bpw-navy) 40%,var(--bpw-blue) 78%,var(--bpw-blue-2))!important;
  color:#fff!important;
  border:0!important;
}
html body.hr-intake-body .hr-intake-header::after,
html body.hr-intake-body .intake-hero::after,
html body.intake-public-page .hr-intake-header::after,
html body.intake-public-page .intake-hero::after{
  content:""!important;
  position:absolute!important;
  width:420px!important;height:420px!important;
  right:-170px!important;top:-190px!important;
  border-radius:50%!important;
  background:rgba(250,248,142,.16)!important;
  pointer-events:none!important;
}
html body.hr-intake-body .hr-intake-header h1,
html body.hr-intake-body .intake-hero h1,
html body.intake-public-page .hr-intake-header h1,
html body.intake-public-page .intake-hero h1{
  color:#fff!important;
  opacity:1!important;
  font-weight:950!important;
  text-shadow:0 3px 14px rgba(0,0,0,.28)!important;
}
html body.hr-intake-body .hr-intake-header p,
html body.hr-intake-body .hr-intake-header p b,
html body.hr-intake-body .hr-intake-header p span,
html body.hr-intake-body .intake-hero p,
html body.hr-intake-body .intake-hero p b,
html body.hr-intake-body .intake-hero p span,
html body.intake-public-page .hr-intake-header p,
html body.intake-public-page .hr-intake-header p b,
html body.intake-public-page .hr-intake-header p span,
html body.intake-public-page .intake-hero p,
html body.intake-public-page .intake-hero p b,
html body.intake-public-page .intake-hero p span{
  color:#fff!important;
  opacity:1!important;
  text-shadow:0 2px 10px rgba(0,0,0,.18)!important;
}
html body.hr-intake-body .hr-intake-kicker,
html body.hr-intake-body .intake-kicker,
html body.intake-public-page .hr-intake-kicker,
html body.intake-public-page .intake-kicker{
  background:linear-gradient(135deg,var(--bpw-yellow),#fff7bd)!important;
  color:var(--bpw-navy)!important;
  border:1px solid rgba(253,181,21,.44)!important;
  text-shadow:none!important;
}
html body.hr-intake-body .hr-intake-badges span,
html body.hr-intake-body .intake-badges-visible span,
html body.intake-public-page .hr-intake-badges span,
html body.intake-public-page .intake-badges-visible span{
  background:rgba(255,255,255,.96)!important;
  color:var(--bpw-navy)!important;
  border:1px solid rgba(250,248,142,.58)!important;
  text-shadow:none!important;
}
html body.hr-intake-body .form-section-title,
html body.intake-public-page .form-section-title{
  background:
    linear-gradient(110deg,rgba(238,247,255,.96),rgba(255,254,226,.88))!important;
  border:1px solid rgba(0,87,168,.18)!important;
  color:var(--bpw-navy)!important;
}
html body.hr-intake-body :is(label,.field-title,small,.field-help,p,span,textarea,input,select),
html body.intake-public-page :is(label,.field-title,small,.field-help,p,span,textarea,input,select){
  color:var(--bpw-ink)!important;
}
html body.hr-intake-body :is(input,select,textarea),
html body.intake-public-page :is(input,select,textarea){
  background:#fff!important;
  border-color:rgba(0,87,168,.22)!important;
}
html body.hr-intake-body :is(input:focus,select:focus,textarea:focus),
html body.intake-public-page :is(input:focus,select:focus,textarea:focus){
  border-color:var(--bpw-blue)!important;
  box-shadow:0 0 0 4px rgba(0,87,168,.12)!important;
  outline:none!important;
}
html body.hr-intake-body .intake-reminder,
html body.intake-public-page .intake-reminder{
  background:linear-gradient(110deg,rgba(238,247,255,.96),rgba(255,254,226,.90))!important;
  border:1px solid rgba(0,87,168,.18)!important;
  color:var(--bpw-ink)!important;
}
html body.hr-intake-body .intake-reminder strong,
html body.intake-public-page .intake-reminder strong{color:var(--bpw-blue)!important;}
html body.hr-intake-body :is(.btn.primary,button[type="submit"],.submit-btn),
html body.intake-public-page :is(.btn.primary,button[type="submit"],.submit-btn){
  background:linear-gradient(135deg,var(--bpw-blue),var(--bpw-navy))!important;
  border:1px solid rgba(0,87,168,.44)!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(0,87,168,.18)!important;
}

/* General text readability. */
:is(.muted,.helper,.field-help,small){color:#526B86!important;}
:is(h1,h2,h3,h4,h5,h6){letter-spacing:-.018em;}

body :where(button,.btn):hover,
body :where(button,.btn):focus-visible{
  transform:none!important;
  zoom:1!important;
}

body :where(button,.btn):hover .ico,
body :where(button,.btn):focus-visible .ico{
  transform:none!important;
}

@media(max-width:900px){
  html body.portal-page.bpw-nextly-theme{padding-top:118px!important;}
  html body.portal-page.bpw-nextly-theme .bpw-nextly-header{inset:10px 0 auto 0!important;padding:0 12px!important;}
  html body.portal-page.bpw-nextly-theme .bpw-nextly-navbar{border-radius:22px!important;}
  html body.portal-page.bpw-nextly-theme .portal-main{width:calc(100% - 24px)!important;}
  body.role-standard .topbar,body.role-viewer .topbar{min-height:82px!important;padding:16px!important;}
}


