/* Avorinta Brand Color System v1.0 — "Premium Intelligence"
   Usage: <html data-theme="light"> | <html data-theme="dark">
   Contrast values: text on --av-surface (card). WCAG 2.2 AA. */
:root {
  /* ---------- Brand primitives ---------- */
  --av-deep-navy: #1C1C28;
  --av-violet: #36255C;
  --av-violet-700: #2A1C49;   /* pressed / hover on violet */
  --av-lavender: #D2C3F6;
  --av-lavender-100: #EEE8FC; /* soft brand surface (light) */
  --av-whiteout: #E9ECEF;
  --av-lime: #C6FF34;         /* rare accent. Never text on light. Only on Navy/Violet or as fill with Navy text */
  --av-cosmic: #23212C;
  --av-candy-blue: #B2D5E5;
  --av-candy-blue-100: #DCEDF5;
  --av-white: #FFFFFF;

  /* ---------- Tonal scales (anchored to brand colors) ---------- */
  --av-neutral-50: #F4F5F7; --av-neutral-100: #E9ECEF; --av-neutral-200: #D5D9DF; --av-neutral-300: #B8BDC6;
  --av-neutral-400: #8B8E9C; --av-neutral-500: #6B6E7C; --av-neutral-600: #575A6B; --av-neutral-700: #3D3A4B;
  --av-neutral-800: #2A2836; --av-neutral-900: #23212C; --av-neutral-950: #1C1C28;
  --av-violet-50: #F7F5FF; --av-violet-100: #EEE8FC; --av-violet-200: #D2C3F6; --av-violet-300: #B9A7EA;
  --av-violet-400: #A08AD8; --av-violet-500: #8A74C9; --av-violet-600: #68559B; --av-violet-700: #503B7F;
  --av-violet-800: #36255C; --av-violet-900: #2A1C49; --av-violet-950: #1E1533;
  --av-candy-50: #EEF7FB; --av-candy-100: #DCEDF5; --av-candy-200: #B2D5E5; --av-candy-300: #8FC0D6;
  --av-candy-400: #6DA8BF; --av-candy-500: #4F89A0; --av-candy-600: #316C81; --av-candy-700: #1F5A75;
  --av-candy-800: #164357; --av-candy-900: #0F2E3C;
  --av-lime-50: #F4FFD9; --av-lime-100: #E6FFA3; --av-lime-200: #C6FF34; --av-lime-300: #B2E62A; --av-lime-700: #395500;

  /* ---------- Typography ---------- */
  --av-font-brand: 'Unbounded', system-ui, sans-serif;   /* wordmark + display only */
  --av-font-ui: 'Golos Text', system-ui, sans-serif;     /* UI, headings, amounts */
  --av-numeric: tabular-nums lining-nums;
  --av-text-display: 600 40px/1.1 var(--av-font-ui);
  --av-text-h1: 600 28px/1.15 var(--av-font-ui);
  --av-text-h2: 600 20px/1.25 var(--av-font-ui);
  --av-text-h3: 600 16px/1.3 var(--av-font-ui);
  --av-text-body: 400 15px/1.5 var(--av-font-ui);
  --av-text-label: 500 13px/1.3 var(--av-font-ui);
  --av-text-caption: 500 12px/1.3 var(--av-font-ui);
  --av-text-amount-xl: 600 36px/1.05 var(--av-font-ui);
  --av-text-amount-l: 600 22px/1.15 var(--av-font-ui);
  --av-text-amount-m: 600 16px/1.2 var(--av-font-ui);
  --av-tracking-tight: -0.02em;

  /* ---------- Shape, size, space ---------- */
  --av-radius-xs: 6px;  --av-radius-s: 10px;  --av-radius-m: 14px;
  --av-radius-l: 20px;  --av-radius-xl: 28px; --av-radius-pill: 999px;
  --av-control-s: 36px; --av-control-m: 44px; --av-control-l: 52px; /* min touch 44 */
  --av-space-1: 4px; --av-space-2: 8px; --av-space-3: 12px; --av-space-4: 16px;
  --av-space-5: 20px; --av-space-6: 24px; --av-space-8: 32px; --av-space-10: 40px; --av-space-12: 48px;
  --av-border-w: 1px;
  --av-icon-s: 16px; --av-icon-m: 20px; --av-icon-l: 24px; /* 1.75px stroke, rounded caps */

  /* ---------- Breakpoints (mobile-first) ---------- */
  --av-bp-sm: 430px; --av-bp-md: 768px; --av-bp-lg: 1024px; --av-bp-xl: 1280px; --av-bp-2xl: 1920px;
  --av-container-max: 1440px;
  --av-gutter-mobile: 16px; --av-gutter-tablet: 24px; --av-gutter-desktop: 32px;
}

/* ================= LIGHT ================= */
:root, [data-theme="light"] {
  --av-bg: #E9ECEF;
  --av-bg-2: #F4F5F7;
  --av-surface: #FFFFFF;
  --av-surface-raised: #FFFFFF;
  --av-surface-sunken: #F4F5F7;
  --av-border: #D5D9DF;
  --av-border-strong: #B8BDC6;
  --av-shadow-card: 0 1px 2px rgba(28,28,40,.04), 0 4px 16px rgba(28,28,40,.04);
  --av-shadow-overlay: 0 12px 40px rgba(28,28,40,.16);
  --av-scrim: rgba(28,28,40,.48);

  --av-text: #1C1C28;          /* 16.85:1 */
  --av-text-2: #575A6B;        /* 6.82:1 */
  --av-text-3: #8B8E9C;        /* placeholder / disabled only */
  --av-text-inverse: #FFFFFF;

  --av-brand: #36255C;         /* 13.3:1 */
  --av-brand-soft: #EEE8FC;
  --av-brand-soft-fg: #36255C;
  --av-brand-accent: #D2C3F6;  /* fills / highlights, never text on white */

  --av-btn-primary-bg: #36255C;  --av-btn-primary-fg: #FFFFFF;  --av-btn-primary-hover: #2A1C49;
  --av-btn-secondary-bg: #FFFFFF; --av-btn-secondary-fg: #1C1C28; --av-btn-secondary-border: #B8BDC6;
  --av-btn-tertiary-fg: #36255C;
  --av-btn-highlight-bg: #1C1C28; --av-btn-highlight-fg: #C6FF34; /* lime in light lives on navy only */

  --av-focus: #36255C;
  --av-focus-ring: 0 0 0 2px #FFFFFF, 0 0 0 4px #36255C;
  --av-hover: #F4F5F7;
  --av-pressed: #E9ECEF;
  --av-selected-bg: #EEE8FC;
  --av-selected-fg: #36255C;
  --av-disabled-bg: #F0F1F4;
  --av-disabled-fg: #8B8E9C;

  --av-ai-surface: #EEE8FC;
  --av-ai-border: #D2C3F6;
  --av-ai-fg: #36255C;
  --av-ai-avatar-bg: #36255C;
  --av-ai-avatar-fg: #D2C3F6;
  --av-ai-gradient: linear-gradient(135deg, #F3EEFD 0%, #FFFFFF 70%);

  --av-hero-bg: #1C1C28;  --av-hero-fg: #E9ECEF;  --av-hero-fg-2: #A9ABB8;

  /* Semantic — fg (text/icon), bg (container), border */
  --av-positive: #13744F;  --av-positive-bg: #E2F3EA; --av-positive-border: #9FD4BC;  /* income, confirmed */
  --av-negative: #B0352B;  --av-negative-bg: #FBE9E7; --av-negative-border: #F0B5AE;  /* expenses (as loss), loss */
  --av-warning:  #8A5300;  --av-warning-bg:  #FDF0D5; --av-warning-border:  #EBC77F;  /* risk */
  --av-critical: #A61B1B;  --av-critical-bg: #A61B1B; --av-critical-fg: #FFFFFF;      /* overdue — solid */
  --av-info:     #1F5A75;  --av-info-bg:     #DCEDF5; --av-info-border:     #B2D5E5;
  --av-pending:  #4A5470;  --av-pending-bg:  #ECEEF3; --av-pending-border:  #C5CAD6;
  --av-neutral:  #6B6E7C;  --av-neutral-bg:  #F0F1F4;

  /* Module identifiers (icons, markers, chart series) */
  --av-m-ai: #36255C; --av-m-money: #1F5A75; --av-m-family: #7A4E9E;
  --av-m-wealth: #13744F; --av-m-life: #9A5A2E; --av-m-business: #1C1C28;

  --av-chart-1: #36255C; --av-chart-2: #7FA9BD; --av-chart-3: #A08AD8; --av-chart-4: #B8BDC6;
  --av-chart-grid: #E3E6EA;
  --av-skeleton: #E3E6EA;
}

/* ================= DARK ================= */
[data-theme="dark"] {
  --av-bg: #1C1C28;
  --av-bg-2: #23212C;
  --av-surface: #2A2836;
  --av-surface-raised: #33303F;
  --av-surface-sunken: #23212C;
  --av-border: #3D3A4B;
  --av-border-strong: #535064;
  --av-shadow-card: none;
  --av-shadow-overlay: 0 16px 48px rgba(0,0,0,.45);
  --av-scrim: rgba(10,10,16,.64);

  --av-text: #E9ECEF;          /* 12.2:1 on card */
  --av-text-2: #A9ABB8;        /* 6.32:1 */
  --av-text-3: #757786;
  --av-text-inverse: #1C1C28;

  --av-brand: #D2C3F6;         /* 8.85:1 */
  --av-brand-soft: #36255C;
  --av-brand-soft-fg: #D2C3F6;
  --av-brand-accent: #D2C3F6;

  --av-btn-primary-bg: #D2C3F6;  --av-btn-primary-fg: #1C1C28;  --av-btn-primary-hover: #C2B0F0;
  --av-btn-secondary-bg: #33303F; --av-btn-secondary-fg: #E9ECEF; --av-btn-secondary-border: #535064;
  --av-btn-tertiary-fg: #D2C3F6;
  --av-btn-highlight-bg: #C6FF34; --av-btn-highlight-fg: #1C1C28;

  --av-focus: #D2C3F6;
  --av-focus-ring: 0 0 0 2px #1C1C28, 0 0 0 4px #D2C3F6;
  --av-hover: #33303F;
  --av-pressed: #3A3747;
  --av-selected-bg: #36255C;
  --av-selected-fg: #D2C3F6;
  --av-disabled-bg: #2F2D3A;
  --av-disabled-fg: #757786;

  --av-ai-surface: #2E2742;
  --av-ai-border: #4A3A72;
  --av-ai-fg: #D2C3F6;
  --av-ai-avatar-bg: #D2C3F6;
  --av-ai-avatar-fg: #36255C;
  --av-ai-gradient: linear-gradient(135deg, #36255C 0%, #2A2836 75%);

  --av-hero-bg: #23212C;  --av-hero-fg: #E9ECEF;  --av-hero-fg-2: #A9ABB8;

  --av-positive: #5FD49A;  --av-positive-bg: rgba(95,212,154,.12);  --av-positive-border: rgba(95,212,154,.32);
  --av-negative: #FF948A;  --av-negative-bg: rgba(255,148,138,.12); --av-negative-border: rgba(255,148,138,.32);
  --av-warning:  #F2C26B;  --av-warning-bg:  rgba(242,194,107,.12); --av-warning-border:  rgba(242,194,107,.32);
  --av-critical: #FF6B6B;  --av-critical-bg: #FF6B6B; --av-critical-fg: #1C1C28;
  --av-info:     #9CCBE0;  --av-info-bg:     rgba(178,213,229,.12); --av-info-border:     rgba(178,213,229,.32);
  --av-pending:  #BCC2D6;  --av-pending-bg:  rgba(188,194,214,.10); --av-pending-border:  rgba(188,194,214,.28);
  --av-neutral:  #8E90A0;  --av-neutral-bg:  #2F2D3A;

  --av-m-ai: #D2C3F6; --av-m-money: #9CCBE0; --av-m-family: #C9A8E8;
  --av-m-wealth: #5FD49A; --av-m-life: #E6A877; --av-m-business: #E9ECEF;

  --av-chart-1: #D2C3F6; --av-chart-2: #9CCBE0; --av-chart-3: #8A74C9; --av-chart-4: #535064;
  --av-chart-grid: #35323F;
  --av-skeleton: #33303F;
}
