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

:root {
    /* Fonts */
    --font-heading: 'Outfit', sans-serif;
    --font-body: 'Inter', sans-serif;

    /* Theme Colors (Default Dark Premium) */
    --bg-main: #0B0F19;
    --bg-sidebar: rgba(15, 23, 42, 0.7);
    --bg-card: rgba(30, 41, 59, 0.45);
    --border-glass: rgba(255, 255, 255, 0.08);
    --border-glass-active: rgba(255, 255, 255, 0.18);
    
    /* Brand Accent Colors (Tailored HSL) */
    --accent-cyan: hsl(190, 100%, 50%);         /* Technology / Operations */
    --accent-cyan-glow: hsla(190, 100%, 50%, 0.15);
    
    --accent-gold: hsl(45, 100%, 55%);          /* VIP Luxury */
    --accent-gold-glow: hsla(45, 100%, 55%, 0.15);
    
    --accent-emerald: hsl(145, 80%, 45%);       /* Finance / Paid / Active */
    --accent-emerald-glow: hsla(145, 80%, 45%, 0.15);
    
    --accent-crimson: hsl(355, 85%, 55%);       /* Alerta / Cancelado */
    --accent-crimson-glow: hsla(355, 85%, 55%, 0.15);
    
    --accent-blue: hsl(210, 100%, 55%);         /* Scheduled / Hangar */
    --accent-blue-glow: hsla(210, 100%, 55%, 0.15);

    /* Text Colors */
    --text-primary: #F8FAFC;
    --text-secondary: #94A3B8;
    --text-muted: #64748B;
    --text-cyan: #22D3EE;
    --text-gold: #FBBF24;

    /* Gradients */
    --grad-premium: linear-gradient(135deg, #0284C7 0%, #0F172A 100%);
    --grad-gold: linear-gradient(135deg, #D97706 0%, #FBBF24 50%, #F59E0B 100%);
    --grad-vip: linear-gradient(135deg, #1E1B4B 0%, #311042 50%, #0B0F19 100%);
    --grad-cyan: linear-gradient(135deg, #0891B2 0%, #06B6D4 100%);
    
    /* Layout Variables */
    --sidebar-width: 280px;
    --header-height: 80px;
    --border-radius-sm: 8px;
    --border-radius-md: 16px;
    --border-radius-lg: 24px;
    --glass-blur: blur(16px);
    
    /* Transitions */
    --trans-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --trans-normal: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --trans-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    
    /* Shadows */
    --shadow-premium: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
    --shadow-glow-cyan: 0 0 15px hsla(190, 100%, 50%, 0.3);
    --shadow-glow-gold: 0 0 15px hsla(45, 100%, 55%, 0.3);
}

/* Light Theme overrides (Optional switch) */
[data-theme="light"] {
    --bg-main: #F1F5F9;
    --bg-sidebar: rgba(255, 255, 255, 0.85);
    --bg-card: rgba(255, 255, 255, 0.7);
    --border-glass: rgba(0, 0, 0, 0.08);
    --border-glass-active: rgba(0, 0, 0, 0.15);
    --text-primary: #0F172A;
    --text-secondary: #475569;
    --text-muted: #94A3B8;
    --text-cyan: #0891B2;
    --text-gold: #D97706;
}

/* Base Styles & Resets */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: var(--font-body);
    background-color: var(--bg-main);
    color: var(--text-primary);
    min-height: 100vh;
    overflow-x: hidden;
    line-height: 1.5;
    background-image: 
        radial-gradient(at 0% 0%, hsla(190, 100%, 30%, 0.08) 0px, transparent 50%),
        radial-gradient(at 100% 0%, hsla(45, 100%, 30%, 0.08) 0px, transparent 50%),
        radial-gradient(at 50% 100%, hsla(210, 100%, 30%, 0.05) 0px, transparent 50%);
    background-attachment: fixed;
    transition: background-color var(--trans-normal), color var(--trans-normal);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-main);
}

::-webkit-scrollbar-thumb {
    background: var(--border-glass-active);
    border-radius: var(--border-radius-sm);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--text-muted);
}

a {
    color: inherit;
    text-decoration: none;
}

ul, ol {
    list-style: none;
}

button, input, select, textarea {
    font-family: inherit;
    color: inherit;
    background: none;
    border: none;
    outline: none;
}

button {
    cursor: pointer;
}
