/* ===== UNIFIED COLOR VARIABLES - GRIEHSER STYLE ===== */

:root {
    /* ===== BRAND COLORS ===== */
    --brand-primary: #2563eb;
    --brand-primary-dark: #0030b8;
    --brand-primary-light: #5896ff;

    /* ===== ACCENT COLORS ===== */
    --accent-subtle: rgba(220, 38, 38, 0.1);
    --accent-medium: rgba(220, 38, 38, 0.15);

    /* ===== SEMANTIC COLORS ===== */
    --success: #059669;
    --success-dark: #047857;
    --success-light: #10b981;
    --info: #0891b2;
    --warning: #d97706;
    --warning-alt: #f59e0b;
    --warning-dark: #92400e;
    --danger: #dc3545;

    /* ===== FUNCTIONAL COLORS ===== */
    --button-positive: #28a745;
    --interactive-primary: #3b82f6;
    --interactive-primary-dark: #1e40af;
    --interactive-secondary: #10b97d;
    --interactive-secondary-dark: #047857;
    --highlight: #fbbf24;

    /* ===== NEUTRAL PALETTE ===== */
    --surface-primary: #ffffff;
    --surface-50: #f9fafb;
    --surface-100: #f3f4f6;
    --surface-200: #e5e7eb;
    --surface-300: #d1d5db;
    --surface-400: #9ca3af;
    --surface-500: #6b7280;
    --surface-600: #4b5563;
    --surface-700: #374151;
    --surface-800: #1f2937;
    --surface-900: #111827;
    --surface-black: #000000;

    /* ===== TEXT & CONTENT COLORS ===== */
    --text-primary: #1f2937;
    --text-secondary: #4b5563;
    --text-muted: #6b7280;
    --text-inverse: #ffffff;
    --text-on-brand: #ffffff;

    /* ===== COMPONENT-SPECIFIC COLORS ===== */
    --input-background: #f8f9fa;
    --input-border: #dee2e6;
    --input-text: #495057;
    --card-info-bg: #e7f3ff;
    --card-info-border: #b3d9ff;

    /* ===== GLASS MORPHISM EFFECTS ===== */
    --glass-subtle: rgba(255, 255, 255, 0.1);
    --glass-light: rgba(255, 255, 255, 0.15);
    --glass-medium: rgba(255, 255, 255, 0.25);
    --glass-strong: rgba(255, 255, 255, 0.35);
    --glass-opaque: rgba(255, 255, 255, 0.4);
    --glass-border-subtle: rgba(255, 255, 255, 0.2);
    --glass-border-strong: rgba(255, 255, 255, 0.3);
    --glass-shadow-default: 0 8px 32px rgba(0, 0, 0, 0.12);
    --glass-shadow-hover: 0 20px 50px rgba(0, 0, 0, 0.15);

    /* ===== OVERLAY EFFECTS ===== */
    --overlay-subtle: rgba(0, 0, 0, 0.12);
    --overlay-light: rgba(0, 0, 0, 0.25);
    --overlay-medium: rgba(0, 0, 0, 0.4);
    --overlay-heavy: rgba(0, 0, 0, 0.8);
    --overlay-opaque: rgba(0, 0, 0, 0.9);

    /* ===== BRAND OPACITY VARIATIONS ===== */
    --brand-alpha-5: rgba(220, 38, 38, 0.05);
    --brand-alpha-10: rgba(220, 38, 38, 0.1);
    --brand-alpha-15: rgba(220, 38, 38, 0.15);
    --brand-alpha-20: rgba(220, 38, 38, 0.2);
    --brand-alpha-30: rgba(220, 38, 38, 0.3);
    --brand-alpha-40: rgba(220, 38, 38, 0.4);
    --brand-alpha-60: rgba(220, 38, 38, 0.6);
    --brand-alpha-90: rgba(220, 38, 38, 0.9);

    /* ===== SUCCESS OPACITY VARIATIONS ===== */
    --success-alpha-15: rgba(5, 150, 105, 0.15);
    --success-alpha-30: rgba(5, 150, 105, 0.3);
    --success-alpha-40: rgba(5, 150, 105, 0.4);

    /* ===== WARNING OPACITY VARIATIONS ===== */
    --warning-alpha-15: rgba(251, 191, 36, 0.15);
    --warning-alpha-20: rgba(251, 191, 36, 0.2);
    --warning-alpha-30: rgba(251, 191, 36, 0.3);

    /* ===== INTERACTIVE OPACITY VARIATIONS ===== */
    --interactive-alpha-15: rgba(16, 185, 129, 0.15);
    --interactive-alpha-20: rgba(16, 185, 129, 0.2);
    --interactive-alpha-30: rgba(16, 185, 129, 0.3);
    --interactive-alpha-40: rgba(16, 185, 129, 0.4);
    --interactive-alpha-60: rgba(16, 185, 129, 0.6);
    --interactive-alpha-70: rgba(16, 185, 129, 0.7);

    --interactive-primary-alpha-20: rgba(59, 130, 246, 0.2);
    --interactive-primary-alpha-30: rgba(59, 130, 246, 0.3);

    /* ===== SURFACE OPACITY VARIATIONS ===== */
    --surface-alpha-20: rgba(156, 163, 175, 0.2);

    /* ===== SURFACE OVERLAY VARIATIONS ===== */
    --surface-overlay-10: rgba(255, 255, 255, 0.1);
    --surface-overlay-15: rgba(255, 255, 255, 0.15);
    --surface-overlay-20: rgba(255, 255, 255, 0.2);
    --surface-overlay-30: rgba(255, 255, 255, 0.3);
    --surface-overlay-40: rgba(255, 255, 255, 0.4);
    --surface-overlay-50: rgba(255, 255, 255, 0.5);
    --surface-overlay-60: rgba(255, 255, 255, 0.6);
    --surface-overlay-90: rgba(255, 255, 255, 0.9);

    /* ===== DESIGN SYSTEM TOKENS ===== */
    /* Border Radius */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-xxl: 20px;
    --radius-xxxl: 24px;

    /* Transitions */
    --transition: all 0.3s ease;
    --transition-fast: all 0.2s ease;
    --transition-cubic: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    /* Spacing (optional - for consistency) */
    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-xxl: 3rem;

    /* Font Weights */
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    /* ===== SHADOWS & EFFECTS ===== */
    --shadow-sm: 0 4px 15px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 8px 25px rgba(0, 0, 0, 0.12);
    --shadow-lg: 0 12px 35px rgba(0, 0, 0, 0.15);
    --shadow-xl: 0 20px 40px rgba(0, 0, 0, 0.12);
    --shadow-2xl: 0 25px 60px rgba(0, 0, 0, 0.25);

    /* Component-specific shadows */
    --shadow-brand: 0 4px 15px var(--brand-alpha-30);
    --shadow-brand-hover: 0 8px 25px var(--brand-alpha-40);
    --shadow-brand-lg: 0 12px 35px var(--brand-alpha-40);
    --shadow-success: 0 4px 15px var(--success-alpha-30);
    --shadow-success-hover: 0 8px 25px var(--success-alpha-30);
    --shadow-interactive: 0 6px 20px var(--interactive-alpha-40);
    --shadow-interactive-hover: 0 12px 35px var(--interactive-alpha-60);
}

/* Page Transition CSS - AFTER the variables */

/* Prevent white flash only - no background changes */
html {
    background-color: inherit;
}

/* Smooth navigation link transitions only */
.nav-link {
    transition: all 0.2s ease;
}