/**
 * Taboada Design System - Design Tokens
 * Version: 3.0 (Institutional Dual Theme & Accessibility Scaling)
 */

:root {
    /* --- Institutional Colors (Manual de Identidad) --- */
    --taboada-blue: #00A6E5;
    --taboada-violet: #463993;
    --taboada-sky: #76CCF2;
    --taboada-water: #A6D0E3;
    --taboada-bg-light: #E1EDF3;
    
    /* --- Accessibility Scaling --- */
    --ui-scale: 1.0; /* Adjusted via JS: 1.0, 1.2, 1.4 */
    --base-font-size: calc(16px * var(--ui-scale));
    
    /* --- Core Mapping (Defaults to DARK) --- */
    --primary: var(--taboada-blue);
    --primary-dark: #0081B3;
    --accent: var(--taboada-violet);
    
    --success: #10B981;
    --warning: #F59E0B;
    --danger: #EF4444;
    --info: #3B82F6;

    /* --- Spacing & Radius (Scalable) --- */
    --radius-sm: calc(4px * var(--ui-scale));
    --radius-md: calc(8px * var(--ui-scale));
    --radius-lg: calc(12px * var(--ui-scale));
    
    --space-xs: calc(0.25rem * var(--ui-scale));
    --space-sm: calc(0.5rem * var(--ui-scale));
    --space-md: calc(1rem * var(--ui-scale));
    --space-lg: calc(1.5rem * var(--ui-scale));
    
    --trans-fast: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --trans-smooth: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- THEME: DARK (Refined Deep Blue) --- */
:root.theme-dark, :root:not(.theme-light) {
    --bg-main: #0B1120;
    --bg-card: #1E293B;
    --bg-sidebar: #0F172A;
    --bg-topbar: #111827;
    
    --border-color: #334155;
    --border-hover: #475569;
    --text-main: #F8FAFC;
    --text-muted: #94A3B8;
    --text-dim: #475569;

    --shadow-sm: 0 1px 2px rgba(0,0,0,0.5);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.6);
    --shadow-lg: 0 12px 24px rgba(0,0,0,0.8);

    --surface-header: #1E293B;
    --surface-active: rgba(0, 166, 225, 0.2);
}

/* --- THEME: LIGHT --- */
:root.theme-light {
    --bg-main: #FFFFFF;
    --bg-card: #F8FAFC;
    --bg-sidebar: #F1F5F9;
    --bg-topbar: #FFFFFF;
    
    --border-color: #E2E8F0;
    --border-hover: #CBD5E1;
    --text-main: #0F172A;
    --text-muted: #64748B;
    --text-dim: #94A3B8;

    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1);
    --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1);

    --surface-header: #F1F5F9;
    --surface-active: rgba(0, 166, 225, 0.1);
}

html {
    font-size: var(--base-font-size);
}

body {
    background-color: var(--bg-main);
    color: var(--text-main);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    -webkit-font-smoothing: antialiased;
    transition: background-color 0.3s ease, color 0.3s ease;
    margin: 0;
}

/* Legacy Mapping */
:root {
    --primary-color: var(--primary);
    --bg-color: var(--bg-main);
    --surface-color: var(--bg-card);
    --text-color: var(--text-main);
}

/* Utility Classes */
.hidden { display: none !important; }
.text-accent { color: var(--accent); font-weight: 700; }
.text-primary { color: var(--primary); font-weight: 700; }
.ui-badge { padding: 0.2rem 0.6rem; border-radius: var(--radius-sm); font-size: 0.75rem; font-weight: 700; display: inline-flex; align-items: center; }
.badge-info { background: rgba(59, 130, 246, 0.1); color: var(--info); }
.badge-success { background: rgba(16, 185, 129, 0.1); color: var(--success); }
.badge-danger { background: rgba(239, 68, 68, 0.1); color: var(--danger); }
