/* NOOS — tokens do domani-design-system (paleta, tipografia, espaçamento, motion) */

:root {
  --slate-50:  #f8fafc; --slate-100: #f1f5f9; --slate-200: #e2e8f0;
  --slate-300: #cbd5e1; --slate-400: #94a3b8; --slate-500: #64748b;
  --slate-600: #475569; --slate-700: #334155; --slate-800: #1e293b;
  --slate-900: #0f172a; --slate-950: #020617;

  --violet-50:  #f5f3ff; --violet-100: #ede9fe; --violet-200: #ddd6fe;
  --violet-300: #c4b5fd; --violet-400: #a78bfa; --violet-500: #8b5cf6;
  --violet-600: #7c3aed; --violet-700: #6d28d9; --violet-800: #5b21b6;
  --violet-900: #4c1d95; --violet-950: #2e1065;

  --emerald-400: #34d399; --emerald-500: #10b981; --emerald-600: #059669;
  --emerald-900: #064e3b; --emerald-950: #022c22;

  --amber-400: #fbbf24; --amber-500: #f59e0b; --amber-600: #d97706;
  --amber-900: #78350f; --amber-950: #451a03;

  --rose-400: #fb7185; --rose-500: #f43f5e; --rose-600: #e11d48;
  --rose-900: #881337; --rose-950: #4c0519;

  --sky-400: #38bdf8; --sky-500: #0ea5e9; --sky-600: #0284c7;
  --sky-900: #0c4a6e; --sky-950: #082f49;

  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;

  --text-2xs: 0.625rem; --text-xs: 0.75rem; --text-sm: 0.875rem; --text-base: 1rem;
  --text-lg: 1.125rem; --text-xl: 1.25rem; --text-2xl: 1.5rem; --text-3xl: 1.875rem;
  --text-4xl: 2.25rem; --text-5xl: 3rem;

  --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625;
  --tracking-tight: -0.025em; --tracking-normal: 0em; --tracking-wide: 0.025em; --tracking-wider: 0.05em; --tracking-widest: 0.1em;
  --font-normal: 400; --font-medium: 500; --font-semibold: 600; --font-bold: 700; --font-extrabold: 800;

  --sp-1: 0.25rem; --sp-1-5: 0.375rem; --sp-2: 0.5rem; --sp-2-5: 0.625rem; --sp-3: 0.75rem;
  --sp-3-5: 0.875rem; --sp-4: 1rem; --sp-5: 1.25rem; --sp-6: 1.5rem; --sp-7: 1.75rem;
  --sp-8: 2rem; --sp-10: 2.5rem; --sp-12: 3rem; --sp-16: 4rem;

  --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px; --radius-xl: 16px; --radius-2xl: 20px; --radius-full: 9999px;

  --z-raised: 10; --z-dropdown: 100; --z-sticky: 200; --z-overlay: 300; --z-modal: 400; --z-toast: 500; --z-tooltip: 600;

  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --duration-instant: 50ms; --duration-fast: 150ms; --duration-normal: 250ms; --duration-slow: 400ms;
}

[data-theme="dark"], :root {
  --bg-base: #04040C; --bg-raised: #080815; --bg-overlay: #0d0d1f; --bg-sunken: #020209;

  --surface-1: rgba(255,255,255,0.03); --surface-2: rgba(255,255,255,0.06);
  --surface-3: rgba(255,255,255,0.10); --surface-hover: rgba(255,255,255,0.08); --surface-active: rgba(255,255,255,0.12);

  --border-subtle: rgba(255,255,255,0.05); --border-default: rgba(255,255,255,0.10); --border-strong: rgba(255,255,255,0.20);
  --border-focus: var(--color-primary);

  --text-primary: #EEEEFF; --text-secondary: rgba(238,238,255,0.65);
  --text-tertiary: rgba(238,238,255,0.40); --text-disabled: rgba(238,238,255,0.25); --text-inverse: #04040C;

  --color-primary: var(--violet-500); --color-primary-hover: var(--violet-400);
  --color-primary-subtle: rgba(139,92,246,0.15); --color-primary-border: rgba(139,92,246,0.30);

  --color-success: var(--emerald-500); --color-success-subtle: var(--emerald-950); --color-success-border: rgba(16,185,129,0.25); --color-success-text: var(--emerald-400);
  --color-warning: var(--amber-500); --color-warning-subtle: var(--amber-950); --color-warning-border: rgba(245,158,11,0.25); --color-warning-text: var(--amber-400);
  --color-danger: var(--rose-500); --color-danger-subtle: var(--rose-950); --color-danger-border: rgba(244,63,94,0.25); --color-danger-text: var(--rose-400);
  --color-info: var(--sky-500); --color-info-subtle: var(--sky-950); --color-info-border: rgba(14,165,233,0.25); --color-info-text: var(--sky-400);

  --shadow-xs: 0 1px 2px rgba(0,0,0,0.5);
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.04);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.7), 0 0 0 1px rgba(255,255,255,0.06);
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.8), 0 0 0 1px rgba(255,255,255,0.08);
  --shadow-xl: 0 20px 60px rgba(0,0,0,0.9), 0 0 0 1px rgba(255,255,255,0.10);
  --shadow-glow: 0 0 20px rgba(139,92,246,0.35);

  --scrollbar-thumb: rgba(255,255,255,0.15); --scrollbar-track: transparent;
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  color: var(--text-primary);
  background: var(--bg-base);
  -webkit-font-smoothing: antialiased;
}

.text-title { font-size: var(--text-2xl); font-weight: var(--font-semibold); }
.text-heading { font-size: var(--text-xl); font-weight: var(--font-semibold); }
.text-caption { font-size: var(--text-sm); color: var(--text-secondary); }
.text-label { font-size: var(--text-xs); font-weight: var(--font-semibold); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--text-tertiary); }

* { scrollbar-width: thin; scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track); }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: var(--radius-full); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
