/* GRFGraph Design Tokens — tema claro (padrão) */
:root,
[data-theme="light"] {
    --color-bg: #f1f5f9;
    --color-surface: #ffffff;
    --color-surface-raised: #ffffff;
    --color-sidebar-from: #0f172a;
    --color-sidebar-to: #1e293b;
    --color-text: #0f172a;
    --color-text-secondary: #334155;
    --color-muted: #64748b;
    --color-border: #cbd5e1;
    --color-border-light: #e2e8f0;

    --color-accent: #0f766e;
    --color-accent-hover: #0d9488;
    --color-accent-soft: rgba(15, 118, 110, 0.1);
    --color-accent-ring: rgba(15, 118, 110, 0.22);

    --color-success: #047857;
    --color-success-bg: #ecfdf5;
    --color-success-border: #a7f3d0;
    --color-warning: #b45309;
    --color-warning-bg: #fffbeb;
    --color-warning-border: #fde68a;
    --color-danger: #b91c1c;
    --color-danger-bg: #fef2f2;
    --color-danger-border: #fecaca;
    --color-info: #0369a1;
    --color-info-bg: #f0f9ff;
    --color-info-border: #bae6fd;

    --font-sans: 'IBM Plex Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --letter-tight: -0.02em;

    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;

    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-full: 999px;

    --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
    --shadow-md: 0 1px 3px rgba(15, 23, 42, 0.08), 0 1px 2px rgba(15, 23, 42, 0.04);
    --shadow-lg: 0 4px 16px rgba(15, 23, 42, 0.1);

    --sidebar-width: 280px;
    --sidebar-width-collapsed: 0px;
    --sidebar-current-width: var(--sidebar-width);
    --content-max-width: 1400px;

    --mant-bg: var(--color-bg);
    --mant-surface: var(--color-surface);
    --mant-border: var(--color-border);
    --mant-text: var(--color-text);
    --mant-muted: var(--color-muted);
    --mant-accent: var(--color-accent);
    --mant-accent-hover: var(--color-accent-hover);
    --mant-radius: var(--radius-md);
    --mant-radius-sm: var(--radius-sm);
    --mant-shadow: var(--shadow-sm);

    --shadow-card: var(--shadow-md);
    --sidebar-collapsed-width: 70px;
    --sidebar-expanded-width: 280px;
    --topbar-height: 60px;

    --topbar-bg: var(--color-surface);
    --topbar-border: var(--color-border);
    --topbar-text: var(--color-text-secondary);
}

/* Tema escuro */
[data-theme="dark"] {
    --color-bg: #0b1120;
    --color-surface: #111827;
    --color-surface-raised: #1e293b;
    --color-sidebar-from: #020617;
    --color-sidebar-to: #0f172a;
    --color-text: #f1f5f9;
    --color-text-secondary: #cbd5e1;
    --color-muted: #94a3b8;
    --color-border: #334155;
    --color-border-light: #1e293b;

    --color-accent: #14b8a6;
    --color-accent-hover: #2dd4bf;
    --color-accent-soft: rgba(20, 184, 166, 0.14);
    --color-accent-ring: rgba(20, 184, 166, 0.28);

    --color-success: #34d399;
    --color-success-bg: rgba(5, 150, 105, 0.15);
    --color-success-border: rgba(52, 211, 153, 0.35);
    --color-warning: #fbbf24;
    --color-warning-bg: rgba(217, 119, 6, 0.15);
    --color-warning-border: rgba(251, 191, 36, 0.35);
    --color-danger: #f87171;
    --color-danger-bg: rgba(220, 38, 38, 0.15);
    --color-danger-border: rgba(248, 113, 113, 0.35);
    --color-info: #38bdf8;
    --color-info-bg: rgba(2, 132, 199, 0.15);
    --color-info-border: rgba(56, 189, 248, 0.35);

    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.25);
    --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.35);
    --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.45);

    --topbar-bg: var(--color-surface-raised);
    --topbar-border: var(--color-border);
    --topbar-text: var(--color-text-secondary);
}
