/* =============================================================
   innovo-msgp.css  —  INNOVO platform brand-delta (load SECOND, after base,
   before the Army delta). Indigo primary + green accent + periwinkle on a COOL
   canvas. Covers every brand-variant contract role so Innovo never leaks Saaha
   teal, and ADDS the federal-domain layer (classification / CUI / cert).
   Region-scopable light/dark. Colors sampled from the Innovo logo.
   Note: Army is "innovo army" so these also match Army pages — the Army delta
   loads AFTER and overrides, so Army stays gold/black.
   ============================================================= */

[data-brand~="innovo"] {
  /* ---- Innovo primitives (from logo) -------------------------------- */
  --p-innovo-indigo-300:#6E77CC; --p-innovo-indigo-400:#515794; --p-innovo-indigo-500:#3A3F86;
  --p-innovo-indigo-600:#2A2E86; --p-innovo-indigo-700:#21255F; --p-innovo-indigo-800:#181B47;
  --p-innovo-indigo-900:#0F1130; --p-innovo-indigo-950:#0A0C24;
  --p-innovo-peri-50:#F4F5FB; --p-innovo-peri-100:#EEF0F9; --p-innovo-peri-200:#D7DCF0;
  --p-innovo-peri-300:#A5B0E1; --p-innovo-peri-400:#8089BF;
  --p-innovo-green-100:#EDF4DD; --p-innovo-green-500:#87B439; --p-innovo-green-600:#6E9A2A; --p-innovo-green-700:#587E1E;
  --p-innovo-slate-600:#4A5072; --p-innovo-slate-500:#6B7193; --p-innovo-slate-400:#8A90AD; --p-innovo-slate-300:#AAB0C8;
  --p-innovo-border:#C9CDE0; --p-innovo-border-strong:#9AA0BD;
  --p-innovo-white:#FFFFFF;
  --p-innovo-alpha-indigo-10:rgba(42,46,134,0.10);
  --p-innovo-alpha-peri-20:rgba(110,119,204,0.22);
  --p-innovo-alpha-peri-18:rgba(110,119,204,0.18);
  --p-innovo-alpha-indigo-50:rgba(110,119,204,0.5);
  --p-innovo-alpha-white-08:rgba(255,255,255,0.08);
  --p-innovo-alpha-white-16:rgba(255,255,255,0.16);

  /* federal-domain layer — Innovo platform ADDS this to the contract */
  --fed-classification-unclassified:#2F855A;
  --fed-classification-cui:#5B2A86;
  --fed-classification-secret:#C53030;
  --fed-cui-banner-bg:#5B2A86;
  --fed-cui-banner-text:#FFFFFF;
  --fed-cert-ato:#2F855A;
  --fed-cert-pending:#975A16;
  --fed-cert-expired:#C53030;

  /* fixed-dark families (mode-invariant — Innovo indigo chrome) */
  --panel-inverse-bg:var(--p-innovo-indigo-800);
  --panel-inverse-bg-deep:var(--p-innovo-indigo-900);
  --panel-inverse-bg-rail:var(--p-innovo-indigo-700);
  --panel-inverse-fg:var(--p-innovo-peri-50);
  --panel-inverse-fg-strong:var(--p-innovo-white);
  --panel-inverse-accent:var(--p-innovo-indigo-300);
  --panel-inverse-muted:var(--p-innovo-peri-300);
  --panel-inverse-faint:var(--p-innovo-peri-400);
  --panel-inverse-muted-alpha:var(--saaha-alpha-white-72);
  --panel-inverse-faint-alpha:var(--saaha-alpha-white-65);
  --panel-inverse-hover:var(--p-innovo-alpha-white-08);
  --panel-inverse-divider:var(--saaha-alpha-white-10);
  --panel-inverse-divider-strong:var(--p-innovo-alpha-white-16);
  --panel-inverse-icon-border:var(--p-innovo-alpha-indigo-50);

  --bg-command:var(--p-innovo-indigo-950);
  --bg-on-command-fill:var(--p-innovo-alpha-white-08);
  --text-on-command:rgba(255,255,255,0.92);
  --text-on-command-muted:rgba(255,255,255,0.75);
  --border-on-command:var(--p-innovo-alpha-white-08);
  --border-on-command-divider:var(--saaha-alpha-white-14);
  --border-brand-soft:var(--p-innovo-indigo-300);
}

/* ---- Innovo LIGHT contract (default + re-assertable) ----------------- */
[data-brand~="innovo"],
[data-brand~="innovo"][data-mode="light"],
[data-brand~="innovo"] [data-mode="light"] {
  --action-primary:var(--p-innovo-indigo-600);
  --action-primary-hover:var(--p-innovo-indigo-700);
  --action-primary-subtle:var(--p-innovo-peri-100);
  --action-primary-text:var(--p-innovo-white);
  --bg-accent:var(--p-innovo-indigo-600);
  --bg-brand:var(--p-innovo-indigo-900);
  --bg-canvas:var(--p-innovo-peri-50);
  --bg-hover:var(--saaha-alpha-black-05);
  --bg-inverse:var(--p-innovo-indigo-800);
  --bg-press:var(--saaha-alpha-black-08);
  --bg-selected:var(--p-innovo-alpha-indigo-10);
  --bg-selected-warm:var(--p-innovo-peri-200);
  --bg-sunken:var(--p-innovo-peri-100);
  --bg-surface:var(--p-innovo-white);
  --bg-surface-2:var(--p-innovo-peri-100);
  --bg-warm:var(--p-innovo-peri-100);
  --border-brand:var(--p-innovo-indigo-600);
  --border-default:var(--p-innovo-border);
  --border-faint:var(--p-innovo-peri-100);
  --border-focus:var(--p-innovo-indigo-600);
  --border-strong:var(--p-innovo-border-strong);
  --border-subtle:var(--p-innovo-peri-100);
  --brand-accent-coral:var(--p-innovo-green-500);
  --brand-accent-sand:var(--p-innovo-peri-300);
  --brand-accent-tan:var(--p-innovo-peri-300);
  --brand-active:var(--p-innovo-indigo-700);
  --brand-default:var(--p-innovo-indigo-600);
  --brand-hover:var(--p-innovo-indigo-700);
  --overlay-ai-tint:var(--p-innovo-alpha-indigo-10);
  --portal-fabric-admin:var(--p-innovo-indigo-600);
  --portal-loom:var(--p-innovo-green-600);
  --portal-org-admin:var(--p-innovo-indigo-600);
  --portal-tapestry:var(--p-innovo-green-500);
  --status-ai:var(--p-innovo-indigo-600);
  --status-info:var(--p-innovo-indigo-600);
  --text-body:var(--p-innovo-slate-600);
  --text-brand:var(--p-innovo-indigo-600);
  --text-faint:var(--p-innovo-slate-400);
  --text-inverse:var(--p-innovo-peri-50);
  --text-muted:var(--p-innovo-slate-500);
  --text-muted-on-inverse:var(--p-innovo-peri-300);
  --text-on-accent:var(--p-innovo-white);
  --text-on-brand:var(--p-innovo-white);
  --text-on-inverse:var(--p-innovo-white);
  --text-primary:var(--p-innovo-indigo-800);
  --text-secondary:var(--p-innovo-slate-600);
  --gradient-brand:linear-gradient(95deg,var(--p-innovo-indigo-700) 0%,var(--p-innovo-indigo-500) 30%,var(--p-innovo-peri-400) 65%,var(--p-innovo-green-500) 100%);
  /* fold roles — Innovo */
  --text-brand-soft:var(--p-innovo-indigo-600);
  --text-muted-strong:var(--p-innovo-slate-600);
  --text-faint-strong:var(--p-innovo-slate-400);
  --text-faint-soft:var(--p-innovo-slate-400);
  --text-on-brand-chip:var(--p-innovo-white);
  --bg-selected-brand:var(--p-innovo-peri-100);
  --bg-selected-brand-subtle:var(--p-innovo-peri-100);
  --bg-brand-chip:var(--p-innovo-indigo-600);
  --border-divider-strong:var(--p-innovo-border);
  --bg-chrome:var(--p-innovo-peri-50);
}

/* ---- Innovo DARK contract (region-scopable) -------------------------- */
[data-brand~="innovo"][data-mode="dark"],
[data-brand~="innovo"] [data-mode="dark"] {
  --action-primary:var(--p-innovo-indigo-300);
  --action-primary-hover:var(--p-innovo-peri-300);
  --action-primary-subtle:var(--p-innovo-alpha-peri-18);
  --action-primary-text:var(--p-innovo-indigo-900);
  --bg-accent:var(--p-innovo-indigo-300);
  --bg-brand:var(--p-innovo-indigo-900);
  --bg-canvas:var(--p-innovo-indigo-900);
  --bg-hover:var(--saaha-alpha-white-08);
  --bg-inverse:var(--p-innovo-white);
  --bg-press:var(--saaha-alpha-white-12);
  --bg-selected:var(--p-innovo-alpha-peri-20);
  --bg-selected-warm:var(--p-innovo-peri-200);
  --bg-sunken:var(--p-innovo-indigo-950);
  --bg-surface:var(--p-innovo-indigo-800);
  --bg-surface-2:var(--p-innovo-indigo-700);
  --bg-warm:var(--p-innovo-indigo-800);
  --border-brand:var(--p-innovo-indigo-300);
  --border-default:var(--p-innovo-alpha-white-16);
  --border-faint:var(--saaha-alpha-white-08);
  --border-focus:var(--p-innovo-indigo-300);
  --border-strong:var(--p-innovo-slate-300);
  --border-subtle:var(--saaha-alpha-white-08);
  --brand-active:var(--p-innovo-peri-300);
  --brand-default:var(--p-innovo-indigo-300);
  --brand-hover:var(--p-innovo-peri-300);
  --portal-fabric-admin:var(--p-innovo-indigo-300);
  --portal-loom:var(--p-innovo-green-500);
  --portal-org-admin:var(--p-innovo-indigo-300);
  --portal-tapestry:var(--p-innovo-green-500);
  --status-ai:var(--p-innovo-indigo-300);
  --status-info:var(--p-innovo-indigo-300);
  --text-body:var(--p-innovo-peri-100);
  --text-brand:var(--p-innovo-indigo-300);
  --text-faint:var(--p-innovo-peri-400);
  --text-inverse:var(--p-innovo-indigo-800);
  --text-muted:var(--p-innovo-slate-300);
  --text-muted-on-inverse:var(--p-innovo-slate-600);
  --text-on-accent:var(--p-innovo-indigo-900);
  --text-on-brand:var(--p-innovo-white);
  --text-on-inverse:var(--p-innovo-indigo-900);
  --text-primary:var(--p-innovo-peri-100);
  --text-secondary:var(--p-innovo-peri-300);
  /* fold roles — Innovo dark */
  --text-brand-soft:var(--p-innovo-indigo-300);
  --text-muted-strong:var(--p-innovo-peri-300);
  --text-faint-strong:var(--p-innovo-peri-400);
  --text-faint-soft:var(--p-innovo-peri-400);
  --text-on-brand-chip:var(--p-innovo-indigo-900);
  --bg-selected-brand:var(--p-innovo-alpha-peri-20);
  --bg-selected-brand-subtle:var(--p-innovo-alpha-peri-18);
  --bg-brand-chip:var(--p-innovo-indigo-300);
  --border-divider-strong:var(--p-innovo-alpha-white-16);
  --bg-chrome:var(--p-innovo-indigo-800);
  /* mode-invariant roles re-asserted in dark so region-scoped dark never falls back to Saaha */
  --brand-accent-coral:var(--p-innovo-green-500);
  --brand-accent-sand:var(--p-innovo-peri-300);
  --brand-accent-tan:var(--p-innovo-peri-300);
  --overlay-ai-tint:var(--p-innovo-alpha-indigo-10);
  --gradient-brand:linear-gradient(95deg,var(--p-innovo-indigo-700) 0%,var(--p-innovo-indigo-500) 30%,var(--p-innovo-peri-400) 65%,var(--p-innovo-green-500) 100%);
}
