
/* ============================================================
   NutriOS V19 — EXACT APPROVED REFERENCE
   Light = white / mint / green
   Dark  = forest green / deep green
   NO BLUE / NO PURPLE
   ============================================================ */

:root{
  --n-bg:#f7faf8;
  --n-surface:#ffffff;
  --n-surface-soft:#f2f8f4;
  --n-surface-mint:#e8f6ec;
  --n-border:#dfe9e2;
  --n-border-2:#cfe0d4;
  --n-text:#101814;
  --n-muted:#6f7b73;
  --n-green:#169447;
  --n-green-2:#22b258;
  --n-green-3:#69d58d;
  --n-green-dark:#205f36;
  --n-shadow:0 10px 28px rgba(22,80,43,.06);
  --n-shadow-lg:0 18px 44px rgba(22,80,43,.09);
}

html[data-theme="dark"]{
  --n-bg:#0d1b12;
  --n-surface:#13261a;
  --n-surface-soft:#173020;
  --n-surface-mint:#1d3a27;
  --n-border:#294936;
  --n-border-2:#365b43;
  --n-text:#eef8f0;
  --n-muted:#a8b8ad;
  --n-green:#50d779;
  --n-green-2:#47c96e;
  --n-green-3:#8be6a5;
  --n-green-dark:#b9efc6;
  --n-shadow:0 14px 34px rgba(0,0,0,.22);
  --n-shadow-lg:0 18px 48px rgba(0,0,0,.28);
}

html,body{
  background:var(--n-bg)!important;
  color:var(--n-text)!important;
}
body{color-scheme:light!important}
html[data-theme="dark"] body{color-scheme:dark!important}

*{box-sizing:border-box}

/* ───────── GLOBAL SURFACES ───────── */
header,.header,.topbar,.app-topbar,.admin-topbar,.nos-topbar,.dashboard-topbar,
.public-header,.landing-header,.patient-header,.portal-header,.nos16-topbar{
  background:var(--n-surface)!important;
  color:var(--n-text)!important;
  border-color:var(--n-border)!important;
  box-shadow:none!important;
}

main,.main,.content,.app-content,.admin-content,.dashboard-main,.page,.page-shell,
.app-shell,.admin-shell,.patient-shell,.portal-shell,.layout,.app-layout,.admin-layout,
.nos16-main,.nos16-content,.nos16-shell{
  background:var(--n-bg)!important;
  color:var(--n-text)!important;
}

aside,.sidebar,.app-sidebar,.admin-sidebar,.nos-sidebar,.side-nav,.patient-sidebar,.portal-sidebar,.nos16-sidebar{
  background:var(--n-surface)!important;
  color:var(--n-text)!important;
  border-color:var(--n-border)!important;
}

/* ───────── BRAND ───────── */
.brand,.admin-brand,.nos-brand,.sidebar-brand,.logo,.nos16-brand{
  color:var(--n-green-dark)!important;
  background:transparent!important;
}
.brand::before,.brand::after,.admin-brand::before,.admin-brand::after,
.nos-brand::before,.nos-brand::after,.logo::before,.logo::after{
  content:none!important;display:none!important;
}
.brand small,.admin-brand small,.nos-brand small,
.brand .brand-os,.admin-brand .brand-os,.nos-brand .brand-os,
.brand .brand-n,.admin-brand .brand-n,.nos-brand .brand-n,
.brand .brand-suffix,.admin-brand .brand-suffix,.nos-brand .brand-suffix{
  display:none!important;
}
.brand strong,.admin-brand strong,.nos-brand strong,.brand-name,.logo-text,.nos16-brand strong{
  color:var(--n-green-dark)!important;
  font-weight:850!important;
  letter-spacing:-.045em!important;
}
.logo-mark,.admin-logo,.brand-icon,.brand-symbol,.nos16-brand-mark{
  background:linear-gradient(145deg,var(--n-green-2),var(--n-green-3))!important;
  color:#fff!important;
  border:none!important;
  box-shadow:none!important;
}

/* ───────── TYPOGRAPHY ───────── */
h1,h2,h3,h4,h5,h6,.title,.page-title,.section-title,.hero-title,.card-title,
.metric-value,.stat-value,.kpi-value,.nos16-kpi-value,.nos16-card h3,.nos16-head h1{
  color:var(--n-text)!important;
  text-shadow:none!important;
}
p,.muted,.subtitle,.description,.caption,.meta,.help,.hint,small,.nos16-card .sub,.nos16-head p{
  color:var(--n-muted)!important;
}

/* ───────── CARDS ───────── */
.card,.panel,.box,.metric-card,.stat-card,.quick-card,.module-card,.admin-card,.nos-card,
.analytics-card,.chart-card,.summary-card,.table-card,.form-card,.record-section,.clinical-section,
.assessment-section,.appointment-card,.finance-summary,.patient-card,.portal-card,.widget,.feature-card,
.benefit-card,.pricing-card,.conversation-card,.login-card,.auth-card,.setup-card,.nos16-card,.nos16-kpi{
  background:var(--n-surface)!important;
  color:var(--n-text)!important;
  border:1px solid var(--n-border)!important;
  box-shadow:var(--n-shadow)!important;
  border-radius:16px!important;
}

/* ───────── NAV ───────── */
.sidebar a,.app-sidebar a,.admin-sidebar a,.nos-sidebar a,.side-nav a,.patient-sidebar a,.portal-sidebar a,.nos16-nav a{
  background:transparent!important;
  color:var(--n-text)!important;
  text-decoration:none!important;
  border:none!important;
  border-radius:10px!important;
}
.sidebar a:hover,.app-sidebar a:hover,.admin-sidebar a:hover,.nos-sidebar a:hover,.side-nav a:hover,.patient-sidebar a:hover,.portal-sidebar a:hover,.nos16-nav a:hover{
  background:var(--n-surface-soft)!important;
  color:var(--n-green)!important;
}
.sidebar a.active,.app-sidebar a.active,.admin-sidebar a.active,.nos-sidebar a.active,.side-nav a.active,.patient-sidebar a.active,.portal-sidebar a.active,.nos16-nav a.active{
  background:var(--n-surface-mint)!important;
  color:var(--n-green)!important;
  box-shadow:none!important;
}

/* ───────── BUTTONS ───────── */
button,.btn,.button,input[type="submit"]{
  border-radius:10px!important;
  box-shadow:none!important;
}
.btn-primary,.primary,button.primary,.cta-primary,.action-primary,input[type="submit"],
.hero .btn:first-of-type,.hero-actions a:first-child,.cta-button,.public-cta{
  background:linear-gradient(135deg,var(--n-green),var(--n-green-2))!important;
  color:#fff!important;
  border:1px solid var(--n-green)!important;
}
.btn-secondary,.secondary,button.secondary,.ghost,.outline,.hero-actions a:nth-child(2){
  background:var(--n-surface)!important;
  color:var(--n-green-dark)!important;
  border:1px solid var(--n-border-2)!important;
}

/* ───────── FORMS ───────── */
input,select,textarea{
  background:var(--n-surface)!important;
  color:var(--n-text)!important;
  border:1px solid var(--n-border-2)!important;
  box-shadow:none!important;
  border-radius:10px!important;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--n-green)!important;
  box-shadow:0 0 0 3px rgba(38,171,82,.10)!important;
  outline:none!important;
}

/* ───────── TABLES ───────── */
table{background:var(--n-surface)!important;color:var(--n-text)!important}
thead,thead tr{background:var(--n-surface-soft)!important}
th{color:var(--n-muted)!important;border-color:var(--n-border)!important}
td{color:var(--n-text)!important;border-color:var(--n-border)!important}
tbody tr:hover td{background:var(--n-surface-soft)!important}

/* ───────── KPI / ICONS ───────── */
.metric-icon,.stat-icon,.quick-icon,.module-icon,.icon-box,.analytics-icon,.nos-metric-icon,.patient-icon,.portal-icon,.nos16-kpi-icon{
  background:var(--n-surface-mint)!important;
  color:var(--n-green)!important;
  border:none!important;
  box-shadow:none!important;
}

/* ───────── PUBLIC LANDING EXACT ───────── */
body.public-page,body.landing-page,.public-page,.landing-page{
  background:var(--n-bg)!important;
  color:var(--n-text)!important;
}
.public-page header,.landing-page header,.public-header,.landing-header{
  background:var(--n-surface)!important;
  border-bottom:1px solid var(--n-border)!important;
}

.hero,.landing-hero,.public-hero{
  background:
    radial-gradient(circle at 86% 10%,rgba(46,177,88,.10),transparent 26%),
    linear-gradient(180deg,var(--n-surface) 0%,var(--n-bg) 100%)!important;
  border-color:var(--n-border)!important;
  color:var(--n-text)!important;
}
.hero h1,.landing-hero h1,.public-hero h1{
  color:var(--n-text)!important;
}
.hero-gradient,.gradient-text{
  background:linear-gradient(90deg,var(--n-green),var(--n-green-3))!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}
.platform-badge,.hero-badge,.eyebrow{
  background:var(--n-surface-mint)!important;
  border:1px solid var(--n-border-2)!important;
  color:var(--n-green)!important;
}

/* Force all public sections to reference palette */
.public-page section,.landing-page section{
  background:var(--n-bg)!important;
}
.public-page section:nth-of-type(even),.landing-page section:nth-of-type(even){
  background:var(--n-surface-soft)!important;
}

/* NutriOS Intelligence — light exact */
.intelligence-card,.nutrios-intelligence,.ai-panel,.assistant-panel,.demo-panel,.chat-preview,.hero-demo,.demo-card,
[class*="intelligence-card"],[class*="ai-card"],[class*="chat-card"]{
  background:var(--n-surface)!important;
  color:var(--n-text)!important;
  border:1px solid var(--n-border)!important;
  box-shadow:var(--n-shadow)!important;
}
.intelligence-card *, .nutrios-intelligence *, .ai-panel *, .assistant-panel *, .demo-panel *, .chat-preview *, .hero-demo *, .demo-card *{
  color:var(--n-text)!important;
  border-color:var(--n-border)!important;
}
.intelligence-card .message,.ai-message,.chat-bubble,.assistant-message,.demo-message{
  background:var(--n-surface-soft)!important;
  color:var(--n-text)!important;
  border:1px solid var(--n-border)!important;
}
.intelligence-card button,.ai-panel button,.assistant-panel button,.demo-panel button,.chat-preview button,.hero-demo button{
  background:var(--n-surface)!important;
  color:var(--n-green-dark)!important;
  border:1px solid var(--n-border-2)!important;
}
.intelligence-card button:hover,.ai-panel button:hover,.assistant-panel button:hover,.demo-panel button:hover,.chat-preview button:hover,.hero-demo button:hover{
  background:var(--n-surface-mint)!important;
  color:var(--n-green)!important;
}
.intelligence-card input,.ai-panel input,.assistant-panel input,.demo-panel input,.chat-preview input,.hero-demo input{
  background:var(--n-surface)!important;
  color:var(--n-text)!important;
  border-color:var(--n-border-2)!important;
}

/* Dark exact: forest green only */
html[data-theme="dark"] .hero,
html[data-theme="dark"] .landing-hero,
html[data-theme="dark"] .public-hero{
  background:
    radial-gradient(circle at 86% 10%,rgba(76,201,109,.11),transparent 26%),
    linear-gradient(180deg,#102419 0%,#0d1b12 100%)!important;
}
html[data-theme="dark"] .intelligence-card,
html[data-theme="dark"] .nutrios-intelligence,
html[data-theme="dark"] .ai-panel,
html[data-theme="dark"] .assistant-panel,
html[data-theme="dark"] .demo-panel,
html[data-theme="dark"] .chat-preview,
html[data-theme="dark"] .hero-demo,
html[data-theme="dark"] .demo-card{
  background:#132a1b!important;
  border-color:#31583f!important;
}
html[data-theme="dark"] .intelligence-card .message,
html[data-theme="dark"] .ai-message,
html[data-theme="dark"] .chat-bubble,
html[data-theme="dark"] .assistant-message,
html[data-theme="dark"] .demo-message{
  background:#193723!important;
  color:#eef8f0!important;
  border-color:#31583f!important;
}

/* ───────── LOGIN / FIRST ACCESS ───────── */
body.login-page,body.auth-page,.login-page,.auth-page,.login-shell,.auth-shell,.setup-page,.first-access-page{
  background:
    radial-gradient(circle at 82% 12%,rgba(50,185,91,.11),transparent 30%),
    var(--n-bg)!important;
  color:var(--n-text)!important;
}
.login-card,.auth-card,.setup-card,.first-access-card{
  background:var(--n-surface)!important;
  border-color:var(--n-border)!important;
  box-shadow:var(--n-shadow-lg)!important;
}

/* ───────── PATIENT ───────── */
body.patient-page,.patient-page,.patient-shell,.patient-dashboard,.portal-shell,.portal-page{
  background:var(--n-bg)!important;
  color:var(--n-text)!important;
}
.patient-header,.portal-header{
  background:var(--n-surface)!important;
  border-bottom:1px solid var(--n-border)!important;
}
.patient-hero,.portal-hero{
  background:linear-gradient(135deg,var(--n-surface-mint),var(--n-surface))!important;
  border:1px solid var(--n-border)!important;
}

/* ───────── CONVERSATIONS ───────── */
.chat-shell,.conversation-panel,.conversation-card,.message-list{
  background:var(--n-surface)!important;
  color:var(--n-text)!important;
}
.message.user,.chat-message.user{
  background:var(--n-surface-mint)!important;
  color:var(--n-text)!important;
}
.message.assistant,.chat-message.assistant{
  background:var(--n-surface-soft)!important;
  color:var(--n-text)!important;
}

/* ───────── THEME TOGGLE ───────── */
#nutrios-theme-toggle{
  background:var(--n-surface)!important;
  color:var(--n-text)!important;
  border:1px solid var(--n-border-2)!important;
  box-shadow:var(--n-shadow-lg)!important;
}
#nutrios-theme-toggle .theme-dot{background:var(--n-green)!important}

/* ───────── HARD BAN ON BLUE / PURPLE ───────── */

/* IDs/classes commonly used by legacy theme */
.bg-blue,.blue,.text-blue,.bg-purple,.purple,.text-purple,.indigo,.violet,
.btn-blue,.btn-purple,.accent-blue,.accent-purple{
  background:var(--n-surface-mint)!important;
  color:var(--n-green)!important;
  border-color:var(--n-border-2)!important;
}

/* Inline blue/purple colors */
[style*="#2563eb"],[style*="#3b82f6"],[style*="#4f46e5"],[style*="#6366f1"],
[style*="#7c3aed"],[style*="#8b5cf6"],[style*="#60a5fa"],[style*="#818cf8"],
[style*="rgb(37, 99, 235)"],[style*="rgb(59, 130, 246)"],[style*="rgb(79, 70, 229)"]{
  background:var(--n-surface)!important;
  background-color:var(--n-surface)!important;
  color:var(--n-text)!important;
  border-color:var(--n-border)!important;
}

/* Common hero button/label classes that had gradients */
.hero .primary,
.hero .cta,
.hero .button-primary,
.landing-page .primary,
.public-page .primary{
  background:linear-gradient(135deg,var(--n-green),var(--n-green-2))!important;
  color:#fff!important;
  border-color:var(--n-green)!important;
}

/* Text gradients: only green */
.hero-gradient,.gradient-text,.accent-text,.highlight-text{
  background:linear-gradient(90deg,var(--n-green),var(--n-green-3))!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}

/* Specific page cleanup */
.saas-hero-card,.hero-card,.assistant-shell,.assistant-card{
  background:var(--n-surface)!important;
  border-color:var(--n-border)!important;
  color:var(--n-text)!important;
}
