/* Final OVIA UI enforcement layer.
   Purpose: keep all admin/affiliate hero panels readable under /ovia and prevent page-local inline styles from washing text out. */
:root{
  --ovia-final-hero-a:#0b1f3a;
  --ovia-final-hero-b:#123f78;
  --ovia-final-hero-c:#1d4ed8;
  --ovia-final-hero-text:#ffffff;
  --ovia-final-hero-muted:rgba(255,255,255,.88);
}

/* Apply after every page has rendered so page-local inline CSS cannot override hero contrast. */
.page-hero,
.compact-hero,
.dashboard-hero,
.wallet-hero,
.growth-hero,
.affiliate-hero,
.admin-hero,
.ops-hero,
.operations-hero,
.readiness-hero,
.launch-hero,
.compliance-hero,
.mission-hero,
.rank-hero,
.referral-hero,
.ovia-ops-hero,
.ovia-ux-hero,
.lr-hero,
[class*="hero"]:not(.hero-actions):not(.hero-grid):not(.hero-buttons){
  background:linear-gradient(135deg,var(--ovia-final-hero-a) 0%,var(--ovia-final-hero-b) 58%,var(--ovia-final-hero-c) 100%)!important;
  color:var(--ovia-final-hero-text)!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 22px 52px rgba(15,23,42,.22)!important;
}

.page-hero h1,.page-hero h2,.page-hero h3,.page-hero h4,
.compact-hero h1,.compact-hero h2,.compact-hero h3,.compact-hero h4,
.dashboard-hero h1,.dashboard-hero h2,.dashboard-hero h3,
.wallet-hero h1,.wallet-hero h2,.wallet-hero h3,
.growth-hero h1,.growth-hero h2,.growth-hero h3,
.affiliate-hero h1,.affiliate-hero h2,.affiliate-hero h3,
.admin-hero h1,.admin-hero h2,.admin-hero h3,
.ops-hero h1,.ops-hero h2,.ops-hero h3,
.operations-hero h1,.operations-hero h2,.operations-hero h3,
.readiness-hero h1,.readiness-hero h2,.readiness-hero h3,
.launch-hero h1,.launch-hero h2,.launch-hero h3,
.compliance-hero h1,.compliance-hero h2,.compliance-hero h3,
.mission-hero h1,.mission-hero h2,.mission-hero h3,
.rank-hero h1,.rank-hero h2,.rank-hero h3,
.referral-hero h1,.referral-hero h2,.referral-hero h3,
.ovia-ops-hero h1,.ovia-ops-hero h2,.ovia-ops-hero h3,
.ovia-ux-hero h1,.ovia-ux-hero h2,.ovia-ux-hero h3,.ovia-ux-title,
.lr-hero h1,.lr-hero h2,.lr-hero h3,
[class*="hero"] h1,[class*="hero"] h2,[class*="hero"] h3,[class*="hero"] h4{
  color:#fff!important;
  text-shadow:0 1px 1px rgba(0,0,0,.22)!important;
}

.page-hero p,.page-hero small,.page-hero span:not(.btn):not(.badge):not(.pill),
.compact-hero p,.compact-hero small,.compact-hero span:not(.btn):not(.badge):not(.pill),
.dashboard-hero p,.wallet-hero p,.growth-hero p,.affiliate-hero p,.admin-hero p,
.ops-hero p,.operations-hero p,.readiness-hero p,.launch-hero p,.compliance-hero p,
.mission-hero p,.rank-hero p,.referral-hero p,
.ovia-ops-hero p,.ovia-ops-hero small,
.ovia-ux-hero p,.ovia-ux-subtitle,
.lr-hero p,
[class*="hero"] p,[class*="hero"] small{
  color:var(--ovia-final-hero-muted)!important;
}

/* Keep score/summary cards inside heroes readable. */
.ovia-ops-score,
.lr-score-card,
[class*="hero"] .score-card,
[class*="hero"] .summary-card,
[class*="hero"] .metric-card{
  background:#fff!important;
  color:#0f172a!important;
  border-color:rgba(255,255,255,.55)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.20)!important;
}
.ovia-ops-score *,
.lr-score-card *,
[class*="hero"] .score-card *,
[class*="hero"] .summary-card *,
[class*="hero"] .metric-card *{
  color:inherit!important;
  text-shadow:none!important;
}

/* Hero labels/buttons. */
.page-hero .eyebrow,.compact-hero .eyebrow,.ovia-ops-eyebrow,.ovia-ux-eyebrow,.lr-eyebrow,
[class*="hero"] .eyebrow,[class*="hero"] [class*="eyebrow"]{
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.26)!important;
}
.page-hero .btn,.page-hero a[class*="btn"],.compact-hero .btn,.compact-hero a[class*="btn"],
.ovia-ops-action,.ovia-ux-btn,.lr-hero .btn,.lr-hero a[class*="btn"],
[class*="hero"] .btn,[class*="hero"] a[class*="btn"],
[class*="hero"] button{
  background:#fff!important;
  color:#0f172a!important;
  border-color:rgba(255,255,255,.70)!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  text-decoration:none!important;
}

/* Prevent navigation/action words from wrapping letter-by-letter. */
.sidebar a,.sidebar button,.topbar a,.topbar button,.btn,.btn-primary,.btn-secondary,.btn-danger,
.ovia-ux-btn,.ovia-ops-action,.quick-actions a,.quick-actions button,.nav-pill,.menu-link{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Re-enable hidden page heroes that older hotfixes suppressed. */
.compact-admin-intro,.page-hero{
  display:block!important;
}

/* Page-level operations polish for the admin links requested by client. */
.ovia-ops-shell{display:grid!important;gap:18px!important;max-width:1180px!important;margin:0 auto!important;}
.ovia-ops-panel,.ovia-ops-card{background:#fff!important;}
.ovia-ops-table-wrap{max-width:100%!important;}
@media(max-width:900px){
  .ovia-ops-shell{max-width:100%!important;}
  [class*="hero"]{border-radius:22px!important;}
}

/* OVIA HERO VISIBILITY MASTER FIX - Admin and affiliate hero sections.
   Purpose: every hero block uses a dark background and white/readable text. */
:root{
  --ovia-hero-dark-1:#061426;
  --ovia-hero-dark-2:#0b2f66;
  --ovia-hero-dark-3:#1d4ed8;
  --ovia-hero-white:#ffffff;
  --ovia-hero-soft:#eaf2ff;
  --ovia-hero-muted:rgba(255,255,255,.86);
  --ovia-hero-panel:rgba(7,20,38,.55);
  --ovia-hero-panel-2:rgba(15,35,65,.66);
  --ovia-hero-border:rgba(255,255,255,.22);
}

body .content .page-hero,
body .content .compact-hero,
body .content .dashboard-hero,
body .content .wallet-hero,
body .content .growth-hero,
body .content .affiliate-hero,
body .content .admin-hero,
body .content .ops-hero,
body .content .operations-hero,
body .content .readiness-hero,
body .content .launch-hero,
body .content .compliance-hero,
body .content .mission-hero,
body .content .rank-hero,
body .content .referral-hero,
body .content .audit-hero,
body .content .auto-hero,
body .content .cycle-hero,
body .content .fin-hero,
body .content .aff-hero,
body .content .ai-coach-hero,
body .content .admin-ai,
body .content .ovia-ops-hero,
body .content .ovia-ux-hero,
body .content .ovia-ux-hero-main,
body .content .lr-hero,
body .content .gen-hero,
body .content .glob-hero,
body .content .intel-hero,
body .content .global-hero,
body .content .hero,
body .content section[class*="hero"],
body .content div[class*="hero"]{
  background:linear-gradient(135deg,var(--ovia-hero-dark-1) 0%,var(--ovia-hero-dark-2) 55%,var(--ovia-hero-dark-3) 100%) !important;
  color:var(--ovia-hero-white) !important;
  border-color:var(--ovia-hero-border) !important;
  box-shadow:0 22px 54px rgba(2,8,23,.30) !important;
}

body .content [class*="hero"] h1,
body .content [class*="hero"] h2,
body .content [class*="hero"] h3,
body .content [class*="hero"] h4,
body .content [class*="hero"] h5,
body .content [class*="hero"] h6,
body .content [class*="hero"] strong,
body .content [class*="hero"] b,
body .content [class*="hero"] .title,
body .content [class*="hero"] [class*="title"],
body .content [class*="hero"] .heading,
body .content [class*="hero"] [class*="heading"],
body .content [class*="hero"] .kpi,
body .content [class*="hero"] .amount,
body .content [class*="hero"] [class*="amount"]{
  color:var(--ovia-hero-white) !important;
  text-shadow:0 1px 2px rgba(0,0,0,.35) !important;
}

body .content [class*="hero"] p,
body .content [class*="hero"] span,
body .content [class*="hero"] small,
body .content [class*="hero"] label,
body .content [class*="hero"] em,
body .content [class*="hero"] li,
body .content [class*="hero"] .subtitle,
body .content [class*="hero"] [class*="subtitle"],
body .content [class*="hero"] .subhero,
body .content [class*="hero"] .muted,
body .content [class*="hero"] [class*="muted"],
body .content [class*="hero"] .note,
body .content [class*="hero"] [class*="note"],
body .content [class*="hero"] .label,
body .content [class*="hero"] [class*="label"],
body .content [class*="hero"] .eyebrow,
body .content [class*="hero"] [class*="eyebrow"]{
  color:var(--ovia-hero-muted) !important;
  text-shadow:0 1px 1px rgba(0,0,0,.25) !important;
}

body .content [class*="hero"] .eyebrow,
body .content [class*="hero"] [class*="eyebrow"],
body .content [class*="hero"] .pill,
body .content [class*="hero"] [class*="pill"],
body .content [class*="hero"] .badge,
body .content [class*="hero"] [class*="badge"]{
  background:rgba(255,255,255,.14) !important;
  color:var(--ovia-hero-white) !important;
  border-color:rgba(255,255,255,.28) !important;
}

body .content [class*="hero"] .card,
body .content [class*="hero"] [class*="card"],
body .content [class*="hero"] .panel,
body .content [class*="hero"] [class*="panel"],
body .content [class*="hero"] .summary,
body .content [class*="hero"] [class*="summary"],
body .content [class*="hero"] .score,
body .content [class*="hero"] [class*="score"],
body .content [class*="hero"] .metric,
body .content [class*="hero"] [class*="metric"],
body .content [class*="hero"] .stat,
body .content [class*="hero"] [class*="stat"],
body .content [class*="hero"] .tile,
body .content [class*="hero"] [class*="tile"]{
  background:linear-gradient(180deg,var(--ovia-hero-panel-2),var(--ovia-hero-panel)) !important;
  color:var(--ovia-hero-white) !important;
  border-color:var(--ovia-hero-border) !important;
  box-shadow:none !important;
}

body .content [class*="hero"] input,
body .content [class*="hero"] select,
body .content [class*="hero"] textarea{
  background:#fff !important;
  color:#061426 !important;
  border-color:rgba(255,255,255,.65) !important;
  text-shadow:none !important;
}

body .content [class*="hero"] input::placeholder,
body .content [class*="hero"] textarea::placeholder{
  color:#64748b !important;
  text-shadow:none !important;
}

body .content [class*="hero"] a,
body .content [class*="hero"] a:visited{
  color:#dbeafe !important;
}

body .content [class*="hero"] .btn,
body .content [class*="hero"] a[class*="btn"],
body .content [class*="hero"] button{
  background:#fff !important;
  color:#061426 !important;
  border-color:rgba(255,255,255,.80) !important;
  text-shadow:none !important;
  box-shadow:0 12px 26px rgba(2,8,23,.22) !important;
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

body .content [class*="hero"] .btn *,
body .content [class*="hero"] a[class*="btn"] *,
body .content [class*="hero"] button *{
  color:inherit !important;
  text-shadow:none !important;
}

body .content [class*="hero"] .progress,
body .content [class*="hero"] [class*="progress"],
body .content [class*="hero"] .bar,
body .content [class*="hero"] [class*="bar"]{
  background:rgba(255,255,255,.18) !important;
}

body .content [class*="hero"] .progress span,
body .content [class*="hero"] [class*="progress"] span,
body .content [class*="hero"] .bar span,
body .content [class*="hero"] [class*="bar"] span{
  background:linear-gradient(90deg,#60a5fa,#22d3ee) !important;
}

