/* ============================================
   DESIGN TOKENS — Dashboard de Tráfego
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

:root {
    /* ---- Primary Palette ---- */
    --primary-50: #f0e6ff;
    --primary-100: #d4b8ff;
    --primary-200: #b388ff;
    --primary-300: #9158ff;
    --primary-400: #7c3aed;
    --primary-500: #6d28d9;
    --primary-600: #5b21b6;
    --primary-700: #4c1d95;
    --primary-800: #3b1578;
    --primary-900: #2e1065;

    /* ---- Accent / Pink ---- */
    --accent-400: #f472b6;
    --accent-500: #ec4899;
    --accent-600: #db2777;

    /* ---- Semantic Colors ---- */
    --success-50: #ecfdf5;
    --success-100: #d1fae5;
    --success-400: #34d399;
    --success-500: #10b981;
    --success-600: #059669;
    --success-700: #047857;

    --warning-50: #fffbeb;
    --warning-100: #fef3c7;
    --warning-400: #fbbf24;
    --warning-500: #f59e0b;
    --warning-600: #d97706;

    --danger-50: #fef2f2;
    --danger-100: #fee2e2;
    --danger-400: #f87171;
    --danger-500: #ef4444;
    --danger-600: #dc2626;

    --info-400: #60a5fa;
    --info-500: #3b82f6;
    --info-600: #2563eb;

    /* ---- Neutral (Dark Mode Default) ---- */
    --bg-primary: #0a0a0f;
    --bg-secondary: #111118;
    --bg-tertiary: #1a1a24;
    --bg-card: rgba(255, 255, 255, 0.03);
    --bg-card-hover: rgba(255, 255, 255, 0.06);
    --bg-glass: rgba(255, 255, 255, 0.05);

    --border-primary: rgba(255, 255, 255, 0.08);
    --border-secondary: rgba(255, 255, 255, 0.12);
    --border-accent: rgba(124, 58, 237, 0.3);

    --text-primary: #f1f5f9;
    --text-secondary: #94a3b8;
    --text-tertiary: #64748b;
    --text-muted: #475569;

    /* ---- Gradients ---- */
    --gradient-hero: linear-gradient(135deg, #7c3aed 0%, #ec4899 50%, #3b82f6 100%);
    --gradient-card-green: linear-gradient(135deg, #059669 0%, #047857 100%);
    --gradient-card-purple: linear-gradient(135deg, #7c3aed 0%, #db2777 100%);
    --gradient-card-blue: linear-gradient(135deg, #2563eb 0%, #0891b2 100%);
    --gradient-card-orange: linear-gradient(135deg, #ea580c 0%, #dc2626 100%);
    --gradient-card-yellow: linear-gradient(135deg, #d97706 0%, #ea580c 100%);
    --gradient-card-cyan: linear-gradient(135deg, #0891b2 0%, #2563eb 100%);
    --gradient-card-pink: linear-gradient(135deg, #db2777 0%, #7c3aed 100%);
    --gradient-card-emerald: linear-gradient(135deg, #10b981 0%, #059669 100%);
    --gradient-card-indigo: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);

    --gradient-sidebar: linear-gradient(180deg, #0f0f1a 0%, #1a1028 100%);
    --gradient-glass: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);

    /* ---- Shadows ---- */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.3);
    --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.4);
    --shadow-xl: 0 20px 50px rgba(0, 0, 0, 0.5);
    --shadow-glow-purple: 0 0 30px rgba(124, 58, 237, 0.15);
    --shadow-glow-green: 0 0 30px rgba(16, 185, 129, 0.15);
    --shadow-glow-blue: 0 0 30px rgba(59, 130, 246, 0.15);

    /* ---- Typography ---- */
    --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 1.625rem;
    --font-size-4xl: 2.25rem;
    --font-size-5xl: 3rem;

    /* ---- Spacing ---- */
    --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;
    --space-10: 2.5rem;
    --space-12: 3rem;

    /* ---- Border Radius ---- */
    --radius-sm: 0.5rem;
    --radius-md: 0.75rem;
    --radius-lg: 1rem;
    --radius-xl: 1.25rem;
    --radius-2xl: 1.5rem;
    --radius-full: 9999px;

    /* ---- Layout ---- */
    --sidebar-width: 220px;
    --sidebar-collapsed: 64px;
    --header-height: 64px;
    --transition-fast: 150ms ease;
    --transition-base: 250ms ease;
    --transition-slow: 400ms ease;
    --backdrop-blur: blur(12px);
}

/* ============================================
   LIGHT MODE OVERRIDES
   ============================================ */
.light-mode {
    --bg-primary: #f8fafc;
    --bg-secondary: #ffffff;
    --bg-tertiary: #f1f5f9;
    --bg-card: rgba(0, 0, 0, 0.02);
    --bg-card-hover: rgba(0, 0, 0, 0.04);
    --bg-glass: rgba(255, 255, 255, 0.7);

    --border-primary: rgba(0, 0, 0, 0.08);
    --border-secondary: rgba(0, 0, 0, 0.12);

    --text-primary: #0f172a;
    --text-secondary: #475569;
    --text-tertiary: #94a3b8;
    --text-muted: #cbd5e1;

    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
    --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 20px 50px rgba(0, 0, 0, 0.12);

    --gradient-sidebar: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}