/**
 * NoteApp Design System v1.0
 * Design Tokens - Variáveis CSS
 * Dezembro 2025
 */

:root {
    /* ========================================
       CORES PRIMÁRIAS
       ======================================== */
    --color-primary: #0052CC;
    --color-primary-dark: #003D99;
    --color-primary-light: #E6F0FF;

    /* ========================================
       CORES SECUNDÁRIAS
       ======================================== */
    --color-secondary: #00B8D9;
    --color-accent: #36B37E;
    --color-highlight: #6554C0;

    /* ========================================
       CORES DE FEEDBACK
       ======================================== */
    --color-success: #00875A;
    --color-success-light: #E3FCEF;
    --color-success-dark: #006644;

    --color-warning: #FFAB00;
    --color-warning-light: #FFFAE6;
    --color-warning-dark: #FF8B00;

    --color-error: #FF5630;
    --color-error-light: #FFEBE6;
    --color-error-dark: #DE350B;

    --color-info: #0065FF;
    --color-info-light: #E6F0FF;

    /* ========================================
       ESCALA DE NEUTROS
       ======================================== */
    --color-neutral-900: #172B4D;
    --color-neutral-700: #344563;
    --color-neutral-500: #5E6C84;
    --color-neutral-300: #B3BAC5;
    --color-neutral-100: #F4F5F7;
    --color-neutral-50: #FAFBFC;

    /* ========================================
       CORES SEMÂNTICAS
       ======================================== */
    --color-text-primary: var(--color-neutral-900);
    --color-text-secondary: var(--color-neutral-500);
    --color-background: #FFFFFF;
    --color-surface: var(--color-neutral-100);
    --color-border: #D0D5DD;
    --color-border-light: #EBECF0;

    /* ========================================
       TIPOGRAFIA - FAMÍLIA
       ======================================== */
    --font-family-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-family-mono: 'JetBrains Mono', 'Fira Code', 'Courier New', monospace;

    /* ========================================
       TIPOGRAFIA - TAMANHOS
       ======================================== */
    --font-size-display: 48px;
    --font-size-h1: 32px;
    --font-size-h2: 24px;
    --font-size-h3: 20px;
    --font-size-body: 16px;
    --font-size-body-sm: 14px;
    --font-size-caption: 12px;
    --font-size-overline: 10px;

    /* ========================================
       TIPOGRAFIA - PESOS
       ======================================== */
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    /* ========================================
       TIPOGRAFIA - LINE HEIGHTS
       ======================================== */
    --line-height-display: 56px;
    --line-height-h1: 40px;
    --line-height-h2: 32px;
    --line-height-h3: 28px;
    --line-height-body: 24px;
    --line-height-body-sm: 20px;
    --line-height-caption: 16px;

    /* ========================================
       ESPAÇAMENTOS
       ======================================== */
    --space-0: 0px;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-8: 32px;
    --space-10: 40px;
    --space-12: 48px;
    --space-16: 64px;
    --space-20: 80px;

    /* ========================================
       BORDER RADIUS
       ======================================== */
    --radius-none: 0px;
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-full: 9999px;

    /* ========================================
       SOMBRAS
       ======================================== */
    --shadow-xs: 0 1px 2px rgba(23, 43, 77, 0.05);
    --shadow-sm: 0 1px 3px rgba(23, 43, 77, 0.1), 0 1px 2px rgba(23, 43, 77, 0.06);
    --shadow-md: 0 4px 6px rgba(23, 43, 77, 0.1), 0 2px 4px rgba(23, 43, 77, 0.06);
    --shadow-lg: 0 10px 15px rgba(23, 43, 77, 0.1), 0 4px 6px rgba(23, 43, 77, 0.05);
    --shadow-xl: 0 20px 25px rgba(23, 43, 77, 0.1), 0 10px 10px rgba(23, 43, 77, 0.04);

    /* ========================================
       DURAÇÕES DE ANIMAÇÃO
       ======================================== */
    --duration-instant: 0ms;
    --duration-fast: 100ms;
    --duration-normal: 200ms;
    --duration-slow: 300ms;
    --duration-slower: 500ms;

    /* ========================================
       EASING (CURVAS DE ANIMAÇÃO)
       ======================================== */
    --easing-default: ease-in-out;
    --easing-in: ease-in;
    --easing-out: ease-out;
    --easing-sharp: cubic-bezier(0.4, 0, 0.6, 1);

    /* ========================================
       Z-INDEX
       ======================================== */
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;

    /* ========================================
       LAYOUT - SIDEBAR
       ======================================== */
    --sidebar-width: 260px;
    --sidebar-width-collapsed: 72px;
    --sidebar-bg-from: #172B4D;
    --sidebar-bg-to: #0B1729;
    --sidebar-transition: var(--duration-slow) var(--easing-default);

    /* ========================================
       LAYOUT - HEADER
       ======================================== */
    --header-height: 64px;
    --header-bg: var(--color-background);
    --header-border: var(--color-border-light);

    /* ========================================
       LAYOUT - MAIN CONTENT
       ======================================== */
    --main-max-width: 1400px;
    --main-padding: var(--space-6);

    /* ========================================
       COMPONENTES - FLASH MESSAGES
       ======================================== */
    --flash-padding: var(--space-4);
    --flash-border-width: 4px;
    --flash-icon-size: 20px;

    /* ========================================
       COMPONENTES - STAT CARDS
       ======================================== */
    --stat-card-padding: var(--space-6);
    --stat-card-icon-size: 48px;
    --stat-card-border-width: 1px;

    /* ========================================
       GRADIENTES
       ======================================== */
    --gradient-primary: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    --gradient-success: linear-gradient(135deg, var(--color-success) 0%, var(--color-success-dark) 100%);
    --gradient-sidebar: linear-gradient(180deg, var(--sidebar-bg-from) 0%, var(--sidebar-bg-to) 100%);
    --gradient-hero: linear-gradient(135deg, #0052CC 0%, #003d99 100%);

    /* ========================================
       ESTADOS DE FORMULÁRIO
       ======================================== */
    --state-error: var(--color-error);
    --state-success: var(--color-success);
    --state-warning: var(--color-warning);
    --state-info: var(--color-info);

    /* ========================================
       TRANSIÇÕES COMUNS
       ======================================== */
    --transition-all: all var(--duration-normal) var(--easing-default);
    --transition-color: color var(--duration-fast) var(--easing-default);
    --transition-background: background-color var(--duration-normal) var(--easing-default);
    --transition-transform: transform var(--duration-normal) var(--easing-default);
    --transition-opacity: opacity var(--duration-normal) var(--easing-default);

    /* ========================================
       RESPONSIVO - BREAKPOINTS
       ======================================== */
    --breakpoint-mobile: 640px;
    --breakpoint-tablet: 768px;
    --breakpoint-desktop: 1024px;
    --breakpoint-wide: 1280px;
}

/* ========================================
   CLASSES UTILITÁRIAS DE COR
   ======================================== */
.text-primary { color: var(--color-primary); }
.text-secondary { color: var(--color-text-secondary); }
.text-success { color: var(--color-success); }
.text-warning { color: var(--color-warning); }
.text-error { color: var(--color-error); }

.bg-primary { background-color: var(--color-primary); }
.bg-success { background-color: var(--color-success); }
.bg-warning { background-color: var(--color-warning); }
.bg-error { background-color: var(--color-error); }
.bg-surface { background-color: var(--color-surface); }

/* ========================================
   TIPOGRAFIA - CLASSES
   ======================================== */
.text-display {
    font-size: var(--font-size-display);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-display);
}

.text-h1 {
    font-size: var(--font-size-h1);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-h1);
}

.text-h2 {
    font-size: var(--font-size-h2);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-h2);
}

.text-h3 {
    font-size: var(--font-size-h3);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-h3);
}

.text-body {
    font-size: var(--font-size-body);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-body);
}

.text-body-sm {
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-body-sm);
}

.text-caption {
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-caption);
}

/* ========================================
   CLASSES DE SOMBRA
   ======================================== */
.shadow-xs { box-shadow: var(--shadow-xs); }
.shadow-sm { box-shadow: var(--shadow-sm); }
.shadow-md { box-shadow: var(--shadow-md); }
.shadow-lg { box-shadow: var(--shadow-lg); }
.shadow-xl { box-shadow: var(--shadow-xl); }
