/* 2026-09-18 Sove Taste light refresh for aeviva.net.
   Presentation-only layer: preserves Sove ID, IndexedDB, consent, billing, and PWA logic. */
:root{
  color-scheme:light;
  --bg-deep:#F8FAFC;
  --bg-surface:#FFFFFF;
  --bg-elevated:#F1F5F9;
  --accent:#2ECC9A;
  --accent-glow:rgba(46,204,154,.18);
  --text-primary:#0F172A;
  --text-secondary:#556575;
  --danger:#B91C1C;
  --warning:#B7791F;
  --line:#D9E2EC;
}
html,body{
  background:#F8FAFC!important;
  color:#0F172A!important;
}
body{
  background:
    linear-gradient(#F8FAFC,#F8FAFC)!important;
}
a{color:#0F8F6D}
.gate-overlay{
  background:#F8FAFC!important;
}
.gate-card,
.aeviva-sove-card,
.section,
.metric-card,
.card,
.panel,
.surface,
[class*="card"],
[class*="panel"]{
  background:#FFFFFF!important;
  color:#0F172A!important;
  border-color:#D9E2EC!important;
  box-shadow:0 18px 42px rgba(15,23,42,.08)!important;
}
.gate-sub,
.checkbox-row,
.metric-label,
.muted,
.secondary,
[class*="subtitle"],
[class*="description"]{
  color:#556575!important;
}
.btn-primary,
.aeviva-primary,
button.primary,
[class*="primary"]{
  background:#2ECC9A!important;
  color:#062318!important;
  border-color:#2ECC9A!important;
  box-shadow:0 14px 28px rgba(46,204,154,.20)!important;
}
.btn-ghost,
.aeviva-secondary,
button.secondary,
[class*="secondary"]{
  background:#FFFFFF!important;
  color:#344154!important;
  border-color:#CBD5E1!important;
  box-shadow:0 8px 18px rgba(15,23,42,.05)!important;
}
input,select,textarea{
  background:#FFFFFF!important;
  color:#0F172A!important;
  border-color:#CBD5E1!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(46,204,154,.72)!important;
  box-shadow:0 0 0 4px rgba(46,204,154,.12)!important;
}
.topbar,
.app-header,
.header,
.aeviva-header,
nav,
[class*="nav"]{
  background:rgba(255,255,255,.94)!important;
  color:#0F172A!important;
  border-color:#D9E2EC!important;
}
.badge-trial{
  background:#FFF7E6!important;
  color:#8A5A12!important;
}
.badge-premium,
.tag,
.pill{
  background:#E7FAF3!important;
  color:#087F62!important;
  border-color:#B8EBD8!important;
}
.face-scan-card{
  background:#FFFFFF!important;
  border-color:#B8EBD8!important;
}
.scan-preview,
.scan-overlay{
  background:#F1F5F9!important;
}
.scan-secondary{
  background:#FFFFFF!important;
  color:#344154!important;
  border-color:#CBD5E1!important;
}
.scan-result-row{
  border-color:#D9E2EC!important;
}
.scan-result-row small,
.scan-note{
  color:#556575!important;
}
.scan-result-row span{
  color:#087F62!important;
}
.scan-warning{
  background:#FFF7E6!important;
  border-color:#F2D199!important;
  color:#7A4D0A!important;
}
.locale-quick-control{
  background:#FFFFFF!important;
  color:#0F172A!important;
  border-color:#D9E2EC!important;
  box-shadow:0 12px 28px rgba(15,23,42,.08)!important;
}
.aeviva-resolver-logo,
.gate-logo{
  background:#2ECC9A!important;
  color:#062318!important;
}

/* 2026-09-19 Aeviva legibility + speed polish.
   Keep product logic untouched; normalize every legacy dark surface into the
   Sovesphere-style paper canvas and reserve a real legal-footer lane. */
:root{
  --bg-deep:#F7FAFC!important;
  --bg-surface:#FFFFFF!important;
  --bg-elevated:#F1F5F9!important;
  --accent:#2ECC9A!important;
  --accent-glow:rgba(46,204,154,.16)!important;
  --text-primary:#0F172A!important;
  --text-secondary:#415166!important;
  --line:#D8E3EE!important;
  --radius:18px!important;
}
html{
  background:#F7FAFC!important;
  color-scheme:light!important;
}
html body{
  min-height:100vh!important;
  background:#F7FAFC!important;
  background-image:none!important;
  color:#0F172A!important;
  padding-bottom:72px!important;
}
*,*::before,*::after{
  text-shadow:none!important;
}
body::before,
body::after{
  display:none!important;
}
h1,h2,h3,h4,h5,h6,
strong,
.metric-value,
.gate-title,
.aeviva-sove-card h1,
#aeviva-account-title{
  color:#0F172A!important;
  opacity:1!important;
}
p,li,label,small,span,
.gate-sub,
.aeviva-auth-copy,
.aeviva-trust,
.metric-delta,
.verified-metric-note,
.scan-note{
  opacity:1!important;
}
p,li,label,.metric-delta,.verified-metric-note,.scan-note{
  color:#415166!important;
}
a{
  color:#007A61!important;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
}

/* Public gates */
html.aeviva-auth-resolving,
html.aeviva-profile-required,
html.aeviva-auth-resolving body,
html.aeviva-profile-required body,
html.aeviva-session-pending,
html.aeviva-session-pending body,
#register-gate,
#consent-gate,
#paywall-gate,
.gate-overlay{
  background:#F7FAFC!important;
  background-image:none!important;
  color:#0F172A!important;
}
#aeviva-auth-resolver{
  background:#F7FAFC!important;
}
.aeviva-sove-card,
.gate-card{
  width:min(100%,500px)!important;
  background:#FFFFFF!important;
  border:1px solid #D8E3EE!important;
  border-radius:28px!important;
  box-shadow:0 22px 60px rgba(15,23,42,.10)!important;
}
.aeviva-mark,
.aeviva-resolver-logo,
.gate-logo{
  background:#2ECC9A!important;
  background-image:none!important;
  color:#052E23!important;
  box-shadow:0 12px 26px rgba(46,204,154,.22)!important;
}
.aeviva-kicker{
  color:#008A6F!important;
}
.checkbox-row{
  color:#344154!important;
}
.checkbox-row input,
input[type="checkbox"],
input[type="radio"]{
  accent-color:#2ECC9A!important;
}

/* Application shell: remove the remaining dark chrome. */
#dashboard,
.aeviva-uxr2-active,
main,
.app,
.app-shell{
  background:#F7FAFC!important;
  background-image:none!important;
  color:#0F172A!important;
}
.header,
.topbar,
.app-header,
.aeviva-platform-bar,
.aeviva-uxr2-top{
  background:#FFFFFF!important;
  background-image:none!important;
  color:#0F172A!important;
  border-color:#D8E3EE!important;
  box-shadow:0 1px 0 rgba(15,23,42,.05)!important;
}
.header h2,
.aeviva-platform-bar,
.aeviva-platform-bar *,
.aeviva-uxr2-top,
.aeviva-uxr2-top *{
  color:#0F172A!important;
}
.aeviva-platform-bar a,
.aeviva-uxr2-top button,
.aeviva-uxr2-top a{
  background:#FFFFFF!important;
  border:1px solid #D8E3EE!important;
  color:#0F172A!important;
}
#aeviva-uxr2-tree{
  background:#FFFFFF!important;
  color:#0F172A!important;
  border-right:1px solid #D8E3EE!important;
  box-shadow:16px 0 44px rgba(15,23,42,.10)!important;
}
.aeviva-uxr2-tree-head,
#aeviva-uxr2-tree summary{
  color:#0F172A!important;
}
#aeviva-uxr2-tree details{
  border-color:#D8E3EE!important;
}
#aeviva-uxr2-tree details button,
#aeviva-uxr2-tree details a{
  color:#334155!important;
}
#aeviva-uxr2-tree details button:hover,
#aeviva-uxr2-tree details a:hover{
  background:#E7FAF3!important;
  color:#007A61!important;
}
#aeviva-uxr2-scrim{
  background:rgba(15,23,42,.18)!important;
}
.aeviva-uxr2-bottom{
  background:#FFFFFF!important;
  border-color:#D8E3EE!important;
  box-shadow:0 -12px 30px rgba(15,23,42,.08)!important;
}
.aeviva-uxr2-bottom button{
  color:#475569!important;
}
.aeviva-uxr2-bottom .active{
  color:#007A61!important;
}
#aeviva-uxr2-onboarding{
  background:#F7FAFC!important;
  background-image:none!important;
  color:#0F172A!important;
}
.aeviva-uxr2-story>p:last-child{
  color:#415166!important;
}
.aeviva-uxr2-orbit i{
  animation:none!important;
  border-color:#B8EBD8!important;
}

/* Cards, panels, module sections. */
.section,
.metric-card,
.gate-card,
.modal-card,
.surface,
.panel,
.card,
[class*="card"],
[class*="panel"],
[class*="track"],
[class*="rendered"],
[class*="health"],
[class*="tier-grid"] article,
.agentic-health,
.aeviva-account-status,
.aeviva-plan-grid article,
.verified-data-empty{
  background:#FFFFFF!important;
  background-image:none!important;
  color:#0F172A!important;
  border-color:#D8E3EE!important;
  box-shadow:0 18px 42px rgba(15,23,42,.075)!important;
}
.section{
  margin-bottom:18px!important;
}
.metric-card,
.supp-policy-metrics span,
[class*="metric"] span,
[class*="stat"],
[class*="summary"],
[class*="tile"]{
  background:#F7FAFC!important;
  background-image:none!important;
  color:#0F172A!important;
  border-color:#D8E3EE!important;
}
.metric-label,
[class*="metric"] small,
[class*="stat"] small,
[class*="tile"] small,
.supp-item small,
.supp-item p,
.supp-track-head p,
.agentic-health span,
.agentic-tier-grid span{
  color:#415166!important;
}
.badge,
.tag,
.pill,
.badge-premium,
.badge-trial{
  background:#E7FAF3!important;
  color:#007A61!important;
  border:1px solid #B8EBD8!important;
}
.face-scan-card,
.agentic-card,
.lab-card,
.physical-validation-card,
.trial-governance-card,
.weekly-intelligence-card{
  background:#FFFFFF!important;
  background-image:none!important;
  color:#0F172A!important;
  border-color:#D8E3EE!important;
}

/* Forms: avoid legends and borders drawing through labels. */
fieldset,
.supp-form-grid fieldset,
.mission-category-fieldset,
.notification-preference-grid fieldset{
  position:relative!important;
  background:#FFFFFF!important;
  border:1px solid #D8E3EE!important;
  border-radius:18px!important;
  padding:22px 18px 18px!important;
}
legend,
.supp-form-grid legend,
.mission-category-fieldset legend,
.notification-preference-grid legend{
  display:inline-block!important;
  width:auto!important;
  max-width:calc(100% - 20px)!important;
  padding:0 10px!important;
  margin-left:2px!important;
  background:#FFFFFF!important;
  color:#0F172A!important;
  font-weight:800!important;
  line-height:1.25!important;
  position:relative!important;
  z-index:1!important;
}
input,
select,
textarea{
  background:#FFFFFF!important;
  color:#0F172A!important;
  border:1px solid #B8C6D8!important;
  border-radius:12px!important;
}
input::placeholder,
textarea::placeholder{
  color:#64748B!important;
  opacity:1!important;
}
button,
.btn,
.scan-action,
.scan-secondary,
.aeviva-primary,
.aeviva-secondary{
  border-radius:14px!important;
}
.btn-primary,
.aeviva-primary,
.scan-action,
[class*="primary"]{
  background:#2ECC9A!important;
  background-image:none!important;
  color:#052E23!important;
  border-color:#2ECC9A!important;
  box-shadow:0 12px 26px rgba(46,204,154,.18)!important;
}
.btn-ghost,
.aeviva-secondary,
.scan-secondary,
[class*="secondary"]{
  background:#FFFFFF!important;
  color:#263445!important;
  border:1px solid #C7D4E2!important;
  box-shadow:0 8px 18px rgba(15,23,42,.05)!important;
}

/* Account drawer and search dialog. */
#aeviva-account-menu-button{
  background:#FFFFFF!important;
  color:#0F172A!important;
  border-color:#D8E3EE!important;
  box-shadow:0 12px 30px rgba(15,23,42,.10)!important;
}
.aeviva-account-avatar{
  background:#2ECC9A!important;
  color:#052E23!important;
}
#aeviva-account-backdrop,
.modal-overlay,
.uxr4-backdrop{
  background:rgba(15,23,42,.20)!important;
  backdrop-filter:blur(4px)!important;
}
#aeviva-account-drawer,
#aeviva-account-drawer>header,
#aeviva-account-drawer>nav,
#aeviva-account-drawer>main,
.uxr4-dialog{
  background:#FFFFFF!important;
  background-image:none!important;
  color:#0F172A!important;
  border-color:#D8E3EE!important;
}
#aeviva-account-drawer{
  box-shadow:-20px 0 60px rgba(15,23,42,.16)!important;
}
#aeviva-account-drawer h2,
#aeviva-account-drawer h3,
#aeviva-account-drawer header small,
#aeviva-account-drawer nav button,
#aeviva-account-drawer nav a,
#aeviva-account-close,
.uxr4-dialog,
.uxr4-dialog *,
.uxr4-results>button{
  color:#0F172A!important;
}
#aeviva-account-drawer header small,
.aeviva-account-status p,
.uxr4-results small,
.uxr4-dialog>small{
  color:#415166!important;
}
#aeviva-account-drawer nav button,
#aeviva-account-drawer nav a,
.uxr4-results>button{
  background:#FFFFFF!important;
  border:1px solid transparent!important;
}
#aeviva-account-drawer nav button:hover,
#aeviva-account-drawer nav button[aria-current="page"],
#aeviva-account-drawer nav a:hover,
.uxr4-results>button:hover,
.uxr4-results>button:focus{
  background:#E7FAF3!important;
  border-color:#B8EBD8!important;
  color:#007A61!important;
}
#aeviva-account-close,
.uxr4-dialog header button{
  background:#F1F5F9!important;
  color:#0F172A!important;
}

/* Legal footer: keep it visible but no longer overlaying text. */
#aeviva-public-legal-footer{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  min-height:52px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:4px 14px!important;
  padding:10px max(16px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom))!important;
  background:#FFFFFF!important;
  border-top:1px solid #D8E3EE!important;
  box-shadow:0 -10px 26px rgba(15,23,42,.06)!important;
  color:#334155!important;
  font:600 13px/1.4 Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  z-index:2147482500!important;
}
#aeviva-public-legal-footer a{
  color:#334155!important;
  margin:0!important;
}
#dashboard,
.aeviva-uxr2-active,
#aeviva-account-drawer>main,
.gate-overlay,
#register-gate,
#consent-gate,
#paywall-gate{
  padding-bottom:92px!important;
}
#aeviva-consumer-health-data-privacy-link{
  margin-bottom:86px!important;
  background:#FFFFFF!important;
  color:#0F172A!important;
  border-color:#D8E3EE!important;
}

/* Reduce avoidable first-paint cost from decorative motion. */
@media (prefers-reduced-motion:no-preference){
  .face-scan-card:hover{
    transform:translateY(-1px)!important;
  }
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
@media (max-width:900px){
  html body{
    padding-bottom:88px!important;
  }
  #aeviva-public-legal-footer{
    font-size:12px!important;
  }
}

/* 2026-09-19 contrast pass: protocol safety checkboxes were still using
   the legacy dark token (#0f172a), making label text hard to read. */
label.protocol-checkbox,
.protocol-checkbox{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-height:52px!important;
  padding:14px 16px!important;
  background:#FFFFFF!important;
  background-image:none!important;
  color:#0F172A!important;
  border:1px solid #C7D4E2!important;
  border-radius:14px!important;
  box-shadow:0 8px 20px rgba(15,23,42,.055)!important;
  font-weight:650!important;
  line-height:1.35!important;
}
label.protocol-checkbox input,
.protocol-checkbox input{
  flex:0 0 auto!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  accent-color:#2ECC9A!important;
}
label.protocol-checkbox:has(input:checked),
.protocol-checkbox:has(input:checked){
  background:#E7FAF3!important;
  border-color:#8EE6CB!important;
  color:#005F4B!important;
}

/* Catch remaining legacy dark blocks inside the dashboard without touching
   health/auth/billing logic. */
#dashboard [style*="background:#0"],
#dashboard [style*="background: #0"],
#dashboard [style*="background:rgba(15,23,42"],
#dashboard [style*="background: rgba(15,23,42"],
#dashboard [style*="background:#1e293b"],
#dashboard [style*="background: #1e293b"]{
  background:#FFFFFF!important;
  background-image:none!important;
  color:#0F172A!important;
  border-color:#D8E3EE!important;
}

/* 2026-09-19 status-tile contrast pass.
   The small grey status summaries are mission-critical readings, so use
   explicit high-contrast text instead of medium grey-on-grey. */
#dashboard [class*="status-grid"]>div,
#dashboard .newsletter-status-grid>div,
#dashboard .mission-status-grid>div,
#dashboard .score-status-grid>div,
#dashboard .alert-status-grid>div,
#dashboard .coach-status-grid>div,
#dashboard .notification-status-grid>div,
#dashboard .sync-status-grid>div,
#dashboard .engagement-status-grid>div{
  background:#FFFFFF!important;
  background-image:none!important;
  color:#0F172A!important;
  border:1px solid #C7D4E2!important;
  border-radius:14px!important;
  box-shadow:0 8px 20px rgba(15,23,42,.055)!important;
}
#dashboard [class*="status-grid"]>div small,
#dashboard .newsletter-status-grid small,
#dashboard .mission-status-grid small,
#dashboard .score-status-grid small,
#dashboard .alert-status-grid small,
#dashboard .coach-status-grid small,
#dashboard .notification-status-grid small,
#dashboard .sync-status-grid small,
#dashboard .engagement-status-grid small{
  color:#334155!important;
  opacity:1!important;
  font-weight:650!important;
  letter-spacing:.01em!important;
}
#dashboard [class*="status-grid"]>div strong,
#dashboard .newsletter-status-grid strong,
#dashboard .mission-status-grid strong,
#dashboard .score-status-grid strong,
#dashboard .alert-status-grid strong,
#dashboard .coach-status-grid strong,
#dashboard .notification-status-grid strong,
#dashboard .sync-status-grid strong,
#dashboard .engagement-status-grid strong{
  color:#020617!important;
  opacity:1!important;
  font-weight:850!important;
}
#dashboard [class*="status-grid"]>div:nth-child(1),
#dashboard .newsletter-status-grid>div:nth-child(1),
#dashboard .mission-status-grid>div:nth-child(1),
#dashboard .score-status-grid>div:nth-child(1),
#dashboard .alert-status-grid>div:nth-child(1),
#dashboard .coach-status-grid>div:nth-child(1),
#dashboard .notification-status-grid>div:nth-child(1),
#dashboard .sync-status-grid>div:nth-child(1),
#dashboard .engagement-status-grid>div:nth-child(1){
  background:#E7FAF3!important;
  border-color:#8EE6CB!important;
}

/* Choice chips such as Sleep rhythm / Focus / Movement. */
#dashboard .engagement-goal-list{
  color:#0F172A!important;
}
#dashboard .engagement-goal-list>span{
  color:#334155!important;
  font-weight:650!important;
}
#dashboard .engagement-goal-list label,
#dashboard .engagement-check-row,
#dashboard .mission-category-fieldset label,
#dashboard .notification-preference-grid>label,
#dashboard .cloud-sync-controls-grid .sync-checkbox{
  background:#FFFFFF!important;
  background-image:none!important;
  color:#0F172A!important;
  border:1px solid #C7D4E2!important;
  box-shadow:0 7px 16px rgba(15,23,42,.045)!important;
}
#dashboard .engagement-goal-list label span,
#dashboard .engagement-check-row span,
#dashboard .mission-category-fieldset label span,
#dashboard .notification-preference-grid>label span,
#dashboard .cloud-sync-controls-grid .sync-checkbox span{
  color:#0F172A!important;
  opacity:1!important;
  font-weight:650!important;
}
#dashboard .engagement-goal-list label:has(input:checked),
#dashboard .engagement-check-row:has(input:checked),
#dashboard .mission-category-fieldset label:has(input:checked),
#dashboard .notification-preference-grid>label:has(input:checked),
#dashboard .cloud-sync-controls-grid .sync-checkbox:has(input:checked){
  background:#E7FAF3!important;
  border-color:#8EE6CB!important;
  color:#005F4B!important;
}
