/* AV DS 4.0.0-rc.1 static consumer contract.
   Source: avds-4-freeze/foundation-candidate/packages/tokens at
   38a00bd99b19. Product markup and workflow policy remain local to Qazcoop;
   this file is a reviewed static token adapter, not a component library. */
:root {
  --av-color-blue-500: #3b82f6;
  --av-color-blue-600: #2563eb;
  --av-color-blue-700: #1d4ed8;
  --av-color-slate-50: #f8fafc;
  --av-color-slate-100: #f1f5f9;
  --av-color-slate-200: #e2e8f0;
  --av-color-slate-300: #cbd5e1;
  --av-color-slate-400: #94a3b8;
  --av-color-slate-500: #64748b;
  --av-color-slate-700: #334155;
  --av-color-slate-800: #1e293b;
  --av-color-slate-900: #0f172a;
  --av-color-slate-950: #020617;
  --av-color-amber-100: #fef3c7;
  --av-color-amber-700: #b45309;
  --av-color-amber-800: #92400e;
  --av-color-green-100: #dcfce7;
  --av-color-green-700: #15803d;
  --av-color-red-100: #fee2e2;
  --av-color-red-600: #dc2626;
  --av-color-orange-100: #ffedd5;
  --av-color-orange-600: #ea580c;
  --av-color-cyan-500: #06b6d4;
  --av-color-cyan-950: #083344;
  --av-color-violet-600: #7c3aed;
  --av-color-teal-500: #14b8a6;
  --av-color-teal-950: #042f2e;
  --av-color-white: #ffffff;

  --av-spacing-0: 0px;
  --av-spacing-1: 4px;
  --av-spacing-2: 8px;
  --av-spacing-3: 12px;
  --av-spacing-4: 16px;
  --av-spacing-5: 20px;
  --av-spacing-6: 24px;
  --av-spacing-8: 32px;
  --av-spacing-10: 40px;
  --av-spacing-12: 48px;
  --av-radius-sm: 4px;
  --av-radius-md: 8px;
  --av-radius-lg: 12px;
  --av-radius-xl: 16px;
  --av-radius-full: 999px;
  --av-duration-instant: 80ms;
  --av-duration-fast: 120ms;
  --av-duration-base: 180ms;
  --av-duration-slow: 280ms;
  --av-easing-standard: 0.2, 0, 0, 1;
  --av-easing-emphasized: 0.2, 0, 0.1, 1;
  --av-z-dropdown: 1000;
  --av-z-modal: 1300;
  --av-z-tooltip: 1400;
  --av-z-toast: 1500;
  --av-opacity-disabled: 0.48;
  --av-opacity-scrim: 0.64;
  --av-shadow-sm: 0 1px 2px 0 rgb(15 23 42 / 0.12);
  --av-shadow-lg: 0 16px 32px -12px rgb(15 23 42 / 0.18);

  --av-text-body-font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  --av-text-body-font-size: 16px;
  --av-text-body-font-weight: 400;
  --av-text-body-line-height: 24px;
  --av-text-body-letter-spacing: 0;
  --av-text-body: var(--av-text-body-font-weight) var(--av-text-body-font-size) / var(--av-text-body-line-height) var(--av-text-body-font-family);
  --av-text-heading-font-family: "IBM Plex Serif", Georgia, serif;
  --av-text-heading-font-size: 32px;
  --av-text-heading-font-weight: 600;
  --av-text-heading-line-height: 40px;
  --av-text-heading-letter-spacing: 0;
  --av-text-heading: var(--av-text-heading-font-weight) var(--av-text-heading-font-size) / var(--av-text-heading-line-height) var(--av-text-heading-font-family);
  --av-text-code-font-family: "IBM Plex Mono", Menlo, monospace;
  --av-text-code-font-size: 13px;
  --av-text-code-font-weight: 400;
  --av-text-code-line-height: 20px;
  --av-text-code-letter-spacing: 0;
  --av-text-code: var(--av-text-code-font-weight) var(--av-text-code-font-size) / var(--av-text-code-line-height) var(--av-text-code-font-family);
}

[data-av-theme="light"], :root {
  --av-color-background: var(--av-color-slate-50);
  --av-color-foreground: var(--av-color-slate-950);
  --av-color-surface: var(--av-color-white);
  --av-color-muted: var(--av-color-slate-100);
  --av-color-muted-foreground: var(--av-color-slate-700);
  --av-color-border: var(--av-color-slate-200);
  --av-color-primary: var(--av-color-blue-600);
  --av-color-primary-foreground: var(--av-color-white);
}

[data-av-theme="institutional"] {
  --av-color-background: #f6f9fc;
  --av-color-foreground: var(--av-color-slate-950);
  --av-color-surface: var(--av-color-white);
  --av-color-muted: var(--av-color-slate-100);
  --av-color-muted-foreground: var(--av-color-slate-700);
  --av-color-border: var(--av-color-slate-200);
  --av-color-primary: var(--av-color-blue-700);
  --av-color-primary-foreground: var(--av-color-white);
}

[data-av-theme="dark"] {
  --av-color-background: var(--av-color-slate-950);
  --av-color-foreground: var(--av-color-slate-50);
  --av-color-surface: var(--av-color-slate-900);
  --av-color-muted: var(--av-color-slate-800);
  --av-color-muted-foreground: var(--av-color-slate-300);
  --av-color-border: var(--av-color-slate-700);
  --av-color-primary: var(--av-color-blue-500);
  --av-color-primary-foreground: var(--av-color-slate-950);
}

[data-av-theme="golden-paper"] {
  --av-color-background: #fff8e7;
  --av-color-foreground: var(--av-color-slate-950);
  --av-color-surface: #fffdf5;
  --av-color-muted: var(--av-color-amber-100);
  --av-color-muted-foreground: var(--av-color-slate-700);
  --av-color-border: var(--av-color-slate-200);
  --av-color-primary: var(--av-color-amber-800);
  --av-color-primary-foreground: var(--av-color-white);
}

[data-av-theme="cyber-dark"] {
  --av-color-background: var(--av-color-slate-950);
  --av-color-foreground: var(--av-color-slate-50);
  --av-color-surface: var(--av-color-teal-950);
  --av-color-muted: var(--av-color-cyan-950);
  --av-color-muted-foreground: var(--av-color-slate-300);
  --av-color-border: var(--av-color-slate-700);
  --av-color-primary: var(--av-color-teal-500);
  --av-color-primary-foreground: var(--av-color-slate-950);
}

/* Product-level semantic aliases. They keep Qazcoop markup local while every
   shared surface resolves through the AV DS 4 token vocabulary. */
:root, [data-av-theme] {
  --av-color-card: var(--av-color-surface);
  --av-color-success: var(--av-color-green-700);
  --av-color-success-muted: var(--av-color-green-100);
  --av-color-warning: var(--av-color-amber-800);
  --av-color-warning-muted: var(--av-color-amber-100);
  --av-color-danger: var(--av-color-red-600);
  --av-color-danger-muted: var(--av-color-red-100);
  --av-color-info: var(--av-color-primary);
  --av-color-info-muted: var(--av-color-muted);
  --av-font-sans: var(--av-text-body-font-family);
  --av-font-mono: var(--av-text-code-font-family);
  --av-focus-ring: color-mix(in srgb, var(--av-color-primary) 35%, transparent);
}
