/* ===================================================================
   M50 DESIGN SYSTEM - DARK THEME
   Tema escuro com paleta Material Design adaptada
   =================================================================== */

[data-theme="dark"] {
    /* ===== SURFACE COLORS ===== */
    --m50-surface-primary: #1e1e1e;
    --m50-surface-secondary: #252526;
    --m50-surface-tertiary: #2d2d2d;
    --m50-surface-elevated: #333333;
    
    /* Surface Aliases */
    --m50-bg-primary: var(--m50-surface-primary);
    --m50-bg-secondary: var(--m50-surface-secondary);
    --m50-bg-light: var(--m50-surface-tertiary);
    --m50-bg-dark: var(--m50-surface-primary);
    
    /* ===== TEXT COLORS ===== */
    --m50-text-primary: #ffffff;
    --m50-text-secondary: #c0c0c0;
    --m50-text-tertiary: #a0a0a0;
    --m50-text-disabled: #707070;
    --m50-text-inverse: #212121;
    
    /* ===== BORDER COLORS ===== */
    --m50-border: #333333;
    --m50-border-light: #2a2a2a;
    --m50-border-dark: #444444;
    --m50-border-focus: var(--m50-primary);
    
    /* ===== PRIMARY COLORS (Paleta Cinza VS Code) ===== */
    --m50-primary-50: #1a1a1a;
    --m50-primary-100: #1e1e1e;
    --m50-primary-200: #252526;
    --m50-primary-300: #2d2d2d;
    --m50-primary-400: #333333;
    --m50-primary-500: #252526;
    --m50-primary-600: #1e1e1e;
    --m50-primary-700: #2d2d2d;
    --m50-primary-800: #3e3e42;
    --m50-primary-900: #4d4d4d;
    
    --m50-primary: var(--m50-primary-500);
    --m50-primary-light: var(--m50-primary-300);
    --m50-primary-dark: var(--m50-primary-600);
    --primary-color: var(--m50-primary);
    --primary-hover: var(--m50-primary-dark);
    
    /* ===== ACCENT COLORS ===== */
    --m50-accent-500: #3e3e42;
    --m50-accent: var(--m50-accent-500);
    --accent-color: var(--m50-accent);
    
    /* ===== MENU ICON COLOR ===== */
    --m50-menu-icon-bg: var(--m50-primary-500);
    --m50-menu-icon-hover: var(--m50-primary-400);
    --m50-menu-icon-shadow: rgba(62, 62, 66, 0.35);
    --m50-menu-icon-outline: var(--m50-primary-300);
    
    /* ===== SEMANTIC COLORS (Ajustados) ===== */
    
    /* Success */
    --m50-success-500: #66bb6a;
    --m50-success-600: #81c784;
    --m50-success-700: #a5d6a7;
    --m50-success: var(--m50-success-500);
    --m50-success-light: var(--m50-success-600);
    --m50-success-dark: var(--m50-success-500);
    --m50-success-bg: rgba(102, 187, 106, 0.15);
    
    /* Danger/Error */
    --m50-danger-500: #ef5350;
    --m50-danger-600: #e57373;
    --m50-danger-700: #ef9a9a;
    --m50-danger: var(--m50-danger-500);
    --m50-danger-light: var(--m50-danger-600);
    --m50-danger-dark: var(--m50-danger-500);
    --m50-danger-bg: rgba(239, 83, 80, 0.15);
    
    /* Warning */
    --m50-warning-500: #ffa726;
    --m50-warning-600: #ffb74d;
    --m50-warning-700: #ffcc80;
    --m50-warning: var(--m50-warning-500);
    --m50-warning-light: var(--m50-warning-600);
    --m50-warning-dark: var(--m50-warning-500);
    --m50-warning-bg: rgba(255, 167, 38, 0.15);
    
    /* Info */
    --m50-info-500: #42a5f5;
    --m50-info-600: #64b5f6;
    --m50-info-700: #90caf9;
    --m50-info: var(--m50-info-500);
    --m50-info-light: var(--m50-info-600);
    --m50-info-dark: var(--m50-info-500);
    --m50-info-bg: rgba(66, 165, 245, 0.15);
    
    /* ===== NEUTRAL COLORS (Invertidos) ===== */
    --m50-gray-50: #212121;
    --m50-gray-100: #424242;
    --m50-gray-200: #616161;
    --m50-gray-300: #757575;
    --m50-gray-400: #9e9e9e;
    --m50-gray-500: #bdbdbd;
    --m50-gray-600: #e0e0e0;
    --m50-gray-700: #eeeeee;
    --m50-gray-800: #f5f5f5;
    --m50-gray-900: #fafafa;
    
    /* ===== SHADOWS (Mais pronunciadas para dark) ===== */
    --m50-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);
    --m50-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.4);
    --m50-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
    --m50-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.6);
    --m50-shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.7);
    --m50-shadow-xl: 0 12px 24px rgba(0, 0, 0, 0.8);
    --m50-shadow-2xl: 0 16px 32px rgba(0, 0, 0, 0.9);
    
    --m50-shadow-hover: 0 4px 8px rgba(0, 0, 0, 0.6);
    --m50-shadow-active: 0 1px 2px rgba(0, 0, 0, 0.4);
    --m50-shadow-focus: 0 0 0 3px rgba(66, 165, 245, 0.4);
    
    --m50-shadow-inner: inset 0 2px 4px rgba(0, 0, 0, 0.3);
    --m50-shadow-inner-lg: inset 0 4px 8px rgba(0, 0, 0, 0.5);
    
    --m50-shadow-primary: 0 4px 12px rgba(66, 165, 245, 0.4);
    --m50-shadow-success: 0 4px 12px rgba(102, 187, 106, 0.4);
    --m50-shadow-danger: 0 4px 12px rgba(239, 83, 80, 0.4);
    --m50-shadow-warning: 0 4px 12px rgba(255, 167, 38, 0.4);
    
    /* ===== FINANCE MODULE COLORS (Dark) ===== */
    --finance-green: var(--m50-success);
    --finance-red: var(--m50-danger);
    --finance-blue: var(--m50-primary);
    --finance-orange: var(--m50-warning);
    --finance-gray: var(--m50-gray-400);
    
    --finance-success: var(--m50-success);
    --finance-warning: var(--m50-warning);
    --finance-danger: var(--m50-danger);
    --finance-info: var(--m50-info);
    
    --finance-bg: var(--m50-bg-secondary);
    --finance-card-bg: var(--m50-surface-elevated);
    --finance-text: var(--m50-text-primary);
    --finance-text-secondary: var(--m50-text-secondary);
    --finance-text-disabled: var(--m50-text-disabled);
    --finance-border: var(--m50-border);
    
    /* ===== GRADIENTS (Dark Versions) ===== */
    /* Conta Corrente - Azul */
    --m50-gradient-conta-corrente: linear-gradient(135deg, #1976d2 0%, #1e88e5 100%);
    
    /* Conta Poupança - Verde */
    --m50-gradient-conta-poupanca: linear-gradient(135deg, #388e3c 0%, #43a047 100%);
    
    /* Investimento - Roxo */
    --m50-gradient-conta-investimento: linear-gradient(135deg, #7b1fa2 0%, #8e24aa 100%);
    
    /* Cartão - Laranja */
    --m50-gradient-conta-cartao: linear-gradient(135deg, #f57c00 0%, #fb8c00 100%);
    
    /* Stat Icons */
    --m50-gradient-receita: linear-gradient(135deg, #388e3c 0%, #43a047 100%);
    --m50-gradient-despesa: linear-gradient(135deg, #d32f2f 0%, #e53935 100%);
    --m50-gradient-saldo: linear-gradient(135deg, #1976d2 0%, #1e88e5 100%);
    
    /* Primary Gradient - Cinza VS Code */
    --m50-gradient-primary: linear-gradient(135deg, #1e1e1e 0%, #252526 100%);
    --m50-gradient-success: linear-gradient(135deg, #43a047 0%, #388e3c 100%);
    --m50-gradient-danger: linear-gradient(135deg, #e53935 0%, #d32f2f 100%);
    --m50-gradient-warning: linear-gradient(135deg, #fb8c00 0%, #f57c00 100%);
    --m50-gradient-accent: linear-gradient(135deg, #8e24aa 0%, #7b1fa2 100%);
    
    /* ===== COMPONENTES ESPECÍFICOS ===== */
    
    /* Links */
    --link-color: var(--m50-primary-500);
    --link-hover: var(--m50-primary-600);
    
    /* Inputs */
    --input-bg: var(--m50-surface-elevated);
    --input-border: var(--m50-border);
    --input-text: var(--m50-text-primary);
    --input-placeholder: var(--m50-text-tertiary);
    
    /* Cards */
    --card-bg: var(--m50-surface-elevated);
    --card-border: var(--m50-border);
    --card-shadow: var(--m50-shadow-md);
    
    /* Modals/Overlays */
    --overlay-bg: rgba(0, 0, 0, 0.8);
    --modal-bg: var(--m50-surface-elevated);
    
    /* Tables */
    --table-header-bg: var(--m50-surface-tertiary);
    --table-row-hover: rgba(255, 255, 255, 0.05);
    --table-border: var(--m50-border);
    
    /* Scrollbar (Webkit) */
    --scrollbar-track: var(--m50-surface-secondary);
    --scrollbar-thumb: var(--m50-gray-400);
    --scrollbar-thumb-hover: var(--m50-gray-500);
    
    /* ===== GRADIENTS (Cinza Escuro) ===== */
    --m50-gradient-primary: linear-gradient(135deg, #1e1e1e 0%, #252526 100%);
    --m50-gradient-accent: linear-gradient(135deg, #252526 0%, #2d2d30 100%);
    --m50-gradient-success: linear-gradient(135deg, var(--m50-success-500) 0%, var(--m50-success-600) 100%);
    --m50-gradient-danger: linear-gradient(135deg, var(--m50-danger-500) 0%, var(--m50-danger-600) 100%);
    --m50-gradient-warning: linear-gradient(135deg, var(--m50-warning-500) 0%, var(--m50-warning-600) 100%);
    
    /* ===== SHADOWS (Dark Mode Adapted) ===== */
    --m50-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
    --m50-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
    --m50-shadow-md: 0 4px 8px rgba(0, 0, 0, 0.5);
    --m50-shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.6);
    --m50-shadow-xl: 0 12px 24px rgba(0, 0, 0, 0.7);
    
    /* ===== COMPONENT-SPECIFIC VARIABLES ===== */
    
    /* Chat Window */
    --m50-chat-user-bg: var(--m50-gradient-primary);
    --m50-chat-assistant-bg: var(--m50-surface-secondary);
    --m50-chat-input-bg: var(--m50-surface-primary);
    --m50-chat-input-border: var(--m50-border);
    --m50-chat-header-bg: var(--m50-gradient-primary);
    
    /* Buttons */
    --m50-btn-primary-bg: var(--m50-primary-500);
    --m50-btn-primary-hover: var(--m50-primary-400);
    --m50-btn-secondary-bg: var(--m50-surface-tertiary);
    --m50-btn-secondary-hover: var(--m50-primary-300);
    
    /* Cards */
    --m50-card-bg: var(--m50-surface-secondary);
    --m50-card-border: var(--m50-border);
    --m50-card-shadow: var(--m50-shadow);
    --m50-card-hover-shadow: var(--m50-shadow-md);
    
    /* Forms */
    --m50-input-bg: var(--m50-surface-tertiary);
    --m50-input-border: var(--m50-border);
    --m50-input-focus-border: var(--m50-border-focus);
    --m50-input-placeholder: var(--m50-text-tertiary);
    
    /* Tables */
    --m50-table-header-bg: var(--m50-surface-tertiary);
    --m50-table-row-hover: var(--m50-surface-secondary);
    --m50-table-border: var(--m50-border);
    
    /* Modals */
    --m50-modal-bg: var(--m50-surface-secondary);
    --m50-modal-overlay: rgba(0, 0, 0, 0.7);
    --m50-modal-shadow: var(--m50-shadow-xl);
}

/* ===== AJUSTES ESPECÍFICOS PARA IMAGENS ===== */
[data-theme="dark"] img {
    /* Reduz brilho de imagens no dark mode */
    opacity: 0.9;
}

[data-theme="dark"] img:hover {
    opacity: 1;
}

/* ===== SELEÇÃO DE TEXTO ===== */
[data-theme="dark"] ::selection {
    background-color: rgba(66, 165, 245, 0.3);
    color: var(--m50-text-primary);
}

/* ===== SCROLLBAR (Webkit) ===== */
[data-theme="dark"] ::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

[data-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--scrollbar-track);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: var(--scrollbar-thumb);
    border-radius: 6px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: var(--scrollbar-thumb-hover);
}
