:root {
  /* Oceano — azul principal */
  --oceano-50:#EEF3FF; --oceano-100:#DCE6FF; --oceano-200:#B9CCFF; --oceano-300:#8EABFF; --oceano-400:#5F84FA;
  --oceano-500:#3B63F0; --oceano-600:#2A4BD6; --oceano-700:#2139AB; --oceano-800:#1D3185; --oceano-900:#1A2B66;
  /* Ametista — roxo de destaque */
  --ametista-50:#F4F0FF; --ametista-100:#E9E0FF; --ametista-200:#D3C2FF; --ametista-300:#B59AFF; --ametista-400:#946CF7;
  --ametista-500:#7848E8; --ametista-600:#6334CC; --ametista-700:#5028A6; --ametista-800:#422384; --ametista-900:#351D66;
  /* Névoa — neutros frios */
  --nevoa-0:#FFFFFF; --nevoa-25:#F9FAFC; --nevoa-50:#F4F5F9; --nevoa-100:#ECEEF4; --nevoa-200:#DDE0EA; --nevoa-300:#C4C8D6;
  --nevoa-400:#9A9FB3; --nevoa-500:#6E7389; --nevoa-600:#4A4F63; --nevoa-700:#343849; --nevoa-800:#22252F; --nevoa-900:#12141F;
  /* Estados */
  --verde-500:#1F9D6B; --verde-50:#E7F7F0;
  --ambar-500:#B9780C; --ambar-50:#FDF4E2;
  --coral-500:#D6455B; --coral-50:#FDECEF;

  /* Semânticos — tema claro */
  --bg-page: var(--nevoa-50);
  --bg-subtle: var(--nevoa-25);
  --surface-card: var(--nevoa-0);
  --surface-sunken: var(--nevoa-100);
  --surface-inverse: var(--nevoa-900);
  --fg-1: var(--nevoa-900);
  --fg-2: var(--nevoa-600);
  --fg-3: #5F6479; /* AA ≥4.5 em todas as superfícies claras */
  --fg-inverse: var(--nevoa-0);
  --border-subtle: var(--nevoa-100);
  --border-default: var(--nevoa-200);
  --border-strong: var(--nevoa-300);
  --primary: var(--oceano-500);
  --primary-hover: var(--oceano-600);
  --primary-press: var(--oceano-700);
  --primary-soft: var(--oceano-50);
  --primary-soft-fg: var(--oceano-700);
  --accent: var(--ametista-500);
  --accent-hover: var(--ametista-600);
  --accent-soft: var(--ametista-50);
  --accent-soft-fg: var(--ametista-700);
  --focus-ring: var(--ametista-400);
  --success: var(--verde-500); --success-soft: var(--verde-50); --success-fg: #126F4B;
  --warning: var(--ambar-500); --warning-soft: var(--ambar-50); --warning-fg: #865604;
  --danger: var(--coral-500); --danger-soft: var(--coral-50); --danger-fg: #B32D44;
  /* --success/--warning/--danger = preenchimentos e ícones (≥3:1). Texto usa sempre *-fg. */
}
[data-theme="dark"] {
  --bg-page: #0D0F18;
  --bg-subtle: #11131D;
  --surface-card: #171A26;
  --surface-sunken: #0A0C13;
  --surface-inverse: var(--nevoa-0);
  --fg-1: #F2F3F8;
  --fg-2: #A9AEC2;
  --fg-3: #9095AB;
  --fg-inverse: var(--nevoa-900);
  --border-subtle: #1F2331;
  --border-default: #2A2F40;
  --border-strong: #3A4055;
  --primary: #7393FB;
  --primary-hover: var(--oceano-300);
  --primary-press: var(--oceano-200);
  --primary-soft: #1A2550;
  --primary-soft-fg: var(--oceano-200);
  --accent: #A988F9;
  --accent-hover: var(--ametista-300);
  --accent-soft: #2A1F4D;
  --accent-soft-fg: var(--ametista-200);
  --success-fg: #4CC795; --warning-fg: #E0A43A; --danger-fg: #F0788A;
  --success-soft: #0F2A21; --warning-soft: #2B2010; --danger-soft: #2E1419;
}
