/* Material Design 3 & Premium Glassmorphic Theme System */
:root {
    /* Light Theme (Default) */
    --md-sys-color-primary: #6750A4;
    --md-sys-color-on-primary: #FFFFFF;
    --md-sys-color-primary-container: #EADDFF;
    --md-sys-color-on-primary-container: #21005D;
    
    --md-sys-color-secondary: #625B71;
    --md-sys-color-on-secondary: #FFFFFF;
    --md-sys-color-secondary-container: #E8DEF8;
    --md-sys-color-on-secondary-container: #1D192B;
    
    --md-sys-color-tertiary: #7D5260;
    --md-sys-color-on-tertiary: #FFFFFF;
    
    --md-sys-color-error: #B3261E;
    --md-sys-color-on-error: #FFFFFF;
    
    --md-sys-color-success: #1B5E20;
    --md-sys-color-on-success: #FFFFFF;

    --md-sys-color-warning: #F57C00;
    --md-sys-color-on-warning: #FFFFFF;
    
    --md-sys-color-background: #F3F4F8;
    --md-sys-color-on-background: #1C1B1F;
    
    --md-sys-color-surface: rgba(255, 255, 255, 0.75);
    --md-sys-color-on-surface: #1C1B1F;
    --md-sys-color-surface-variant: rgba(231, 224, 236, 0.6);
    --md-sys-color-on-surface-variant: #49454F;
    
    --md-sys-color-outline: #79747E;
    --md-sys-color-outline-variant: rgba(121, 116, 126, 0.2);
    
    --md-elevation-1: 0 4px 15px rgba(103, 80, 164, 0.08);
    --md-elevation-2: 0 8px 25px rgba(103, 80, 164, 0.12);
    --md-elevation-3: 0 12px 35px rgba(0, 0, 0, 0.18);

    /* Glassmorphism Specs */
    --glass-bg: rgba(255, 255, 255, 0.65);
    --glass-bg-hover: rgba(255, 255, 255, 0.85);
    --glass-border: rgba(255, 255, 255, 0.6);
    --glass-border-hover: rgba(103, 80, 164, 0.4);
    --glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.07);
    --glass-glow: 0 0 20px rgba(103, 80, 164, 0.2);

    --page-bg-gradient: radial-gradient(circle at 10% 20%, rgba(234, 221, 255, 0.6) 0%, rgba(243, 244, 248, 1) 90%);
}

[data-theme="dark"] {
    /* Dark Theme Variables */
    --md-sys-color-primary: #D0BCFF;
    --md-sys-color-on-primary: #381E72;
    --md-sys-color-primary-container: #4F378B;
    --md-sys-color-on-primary-container: #EADDFF;
    
    --md-sys-color-secondary: #CCC2DC;
    --md-sys-color-on-secondary: #332D41;
    --md-sys-color-secondary-container: #4A4458;
    --md-sys-color-on-secondary-container: #E8DEF8;
    
    --md-sys-color-tertiary: #EFB8C8;
    --md-sys-color-on-tertiary: #492532;
    
    --md-sys-color-error: #F2B8B5;
    --md-sys-color-on-error: #601410;
    
    --md-sys-color-success: #81C784;
    --md-sys-color-on-success: #003300;

    --md-sys-color-warning: #FFB74D;
    --md-sys-color-on-warning: #4E342E;
    
    --md-sys-color-background: #0F0F13;
    --md-sys-color-on-background: #E6E1E5;
    
    --md-sys-color-surface: rgba(26, 27, 35, 0.7);
    --md-sys-color-on-surface: #E6E1E5;
    --md-sys-color-surface-variant: rgba(73, 69, 79, 0.5);
    --md-sys-color-on-surface-variant: #CAC4D0;
    
    --md-sys-color-outline: #938F99;
    --md-sys-color-outline-variant: rgba(255, 255, 255, 0.1);

    --md-elevation-1: 0 4px 15px rgba(0, 0, 0, 0.3);
    --md-elevation-2: 0 8px 25px rgba(0, 0, 0, 0.5);
    --md-elevation-3: 0 12px 35px rgba(0, 0, 0, 0.7);

    /* Glassmorphism Specs Dark */
    --glass-bg: rgba(22, 23, 30, 0.65);
    --glass-bg-hover: rgba(30, 32, 42, 0.85);
    --glass-border: rgba(255, 255, 255, 0.12);
    --glass-border-hover: rgba(208, 188, 255, 0.4);
    --glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
    --glass-glow: 0 0 25px rgba(208, 188, 255, 0.25);

    --page-bg-gradient: radial-gradient(circle at 80% 10%, rgba(79, 55, 139, 0.25) 0%, rgba(15, 15, 19, 1) 80%);
}

body {
    background: var(--page-bg-gradient);
    background-attachment: fixed;
    color: var(--md-sys-color-on-background);
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    transition: background 0.4s ease, color 0.4s ease;
    margin: 0;
    min-height: 100vh;
}

/* Typography Classes */
.primary-text { color: var(--md-sys-color-primary) !important; }
.secondary-text { color: var(--md-sys-color-secondary) !important; }
.text-muted-custom { color: var(--md-sys-color-on-surface-variant) !important; }
.text-success-custom { color: var(--md-sys-color-success) !important; }
.text-error-custom { color: var(--md-sys-color-error) !important; }
.text-warning-custom { color: var(--md-sys-color-warning) !important; }

.bg-primary-container { background-color: var(--md-sys-color-primary-container) !important; color: var(--md-sys-color-on-primary-container) !important; }
.bg-success-container { background-color: rgba(27, 94, 32, 0.15) !important; color: var(--md-sys-color-success) !important; }
.bg-error-container { background-color: rgba(179, 38, 30, 0.15) !important; color: var(--md-sys-color-error) !important; }
.bg-warning-container { background-color: rgba(245, 124, 0, 0.15) !important; color: var(--md-sys-color-warning) !important; }
