/**
 * ═══════════════════════════════════════════════════════════════
 * DESIGN TOKENS - Sistema de Variáveis CSS
 * ═══════════════════════════════════════════════════════════════
 * 
 * Arquivo central de design tokens para todo o sistema.
 * NUNCA use valores hardcoded - sempre use tokens.
 * 
 * Arquitetura de tokens:
 * ├── 1. CORE TOKENS (primitivos)
 * │   ├── 1.1 Colors (paleta base)
 * │   ├── 1.2 Typography (fontes, tamanhos, pesos)
 * │   ├── 1.3 Spacing (escala 4px)
 * │   ├── 1.4 Border Radius
 * │   ├── 1.5 Shadows
 * │   ├── 1.6 Motion (duração, easing)
 * │   └── 1.7 Z-Index
 * │
 * ├── 2. SEMANTIC TOKENS (significado)
 * │   ├── 2.1 Background
 * │   ├── 2.2 Surface
 * │   ├── 2.3 Border
 * │   ├── 2.4 Text
 * │   ├── 2.5 Primary
 * │   ├── 2.6 Status (Success, Warning, Danger, Info)
 * │   └── 2.7 Focus & Accessibility
 * │
 * ├── 3. COMPONENT TOKENS (específicos)
 * │   ├── 3.1 Sidebar
 * │   ├── 3.2 Header
 * │   └── 3.3 Layout
 * │
 * └── 4. DARK MODE OVERRIDES
 * 
 * @version   3.1.0
 * @updated   2026-01-23
 * @license   MIT
 */

:root {
    /* ═══════════════════════════════════════════════════════════════
       1. CORE TOKENS
       ═══════════════════════════════════════════════════════════════
       Tokens primitivos que formam a base do design system.
       Estes valores raramente são usados diretamente - prefira
       os tokens semânticos da seção 2.
    */

    /* ───────────────────────────────────────────────────────────────
       1.1 COLORS • Paleta Base
       ─────────────────────────────────────────────────────────────── */
    
    /* Blue (Primary) */
    --blue-50:  #eff6ff;
    --blue-100: #dbeafe;
    --blue-200: #bfdbfe;
    --blue-300: #93c5fd;
    --blue-400: #60a5fa;
    --blue-500: #3b82f6;
    --blue-600: #2563eb;
    --blue-700: #1d4ed8;
    --blue-800: #1e40af;
    --blue-900: #1e3a8a;
    
    /* Slate (Neutral) */
    --slate-0:   #ffffff;
    --slate-50:  #f8fafc;
    --slate-100: #f1f5f9;
    --slate-150: #eef1f5;
    --slate-200: #e2e8f0;
    --slate-300: #cbd5e1;
    --slate-400: #94a3b8;
    --slate-500: #64748b;
    --slate-600: #475569;
    --slate-700: #334155;
    --slate-800: #1e293b;
    --slate-900: #0f172a;
    --slate-950: #020617;
    
    /* Green (Success) */
    --green-50:  #f0fdf4;
    --green-100: #dcfce7;
    --green-500: #22c55e;
    --green-600: #16a34a;
    --green-700: #15803d;
    --green-800: #166534;
    
    /* Amber (Warning) */
    --amber-50:  #fffbeb;
    --amber-100: #fef3c7;
    --amber-500: #f59e0b;
    --amber-600: #d97706;
    --amber-700: #b45309;
    
    /* Red (Danger) */
    --red-50:  #fef2f2;
    --red-100: #fee2e2;
    --red-500: #ef4444;
    --red-600: #dc2626;
    --red-700: #b91c1c;
    --red-800: #991b1b;
    
    /* Cyan (Info) */
    --cyan-50:  #ecfeff;
    --cyan-100: #cffafe;
    --cyan-500: #06b6d4;
    --cyan-600: #0891b2;
    --cyan-700: #0e7490;
    --cyan-800: #155e75;

    /* ─── Color Aliases (para consistência) ─── */
    --primary-50:  var(--blue-50);
    --primary-100: var(--blue-100);
    --primary-500: var(--blue-500);
    --primary-600: var(--blue-600);
    --primary-700: var(--blue-700);
    
    --neutral-0:   var(--slate-0);
    --neutral-50:  var(--slate-50);
    --neutral-100: var(--slate-100);
    --neutral-200: var(--slate-200);
    --neutral-300: var(--slate-300);
    --neutral-400: var(--slate-400);
    --neutral-500: var(--slate-500);
    --neutral-600: var(--slate-600);
    --neutral-700: var(--slate-700);
    --neutral-800: var(--slate-800);
    --neutral-900: var(--slate-900);

    /* ───────────────────────────────────────────────────────────────
       1.2 TYPOGRAPHY • Fontes, Tamanhos e Pesos
       ─────────────────────────────────────────────────────────────── */
    
    /* Font Families */
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: 'JetBrains Mono', 'Fira Code', Consolas, monospace;
    --font:      var(--font-sans); /* alias: usado por global.css */
    
    /* Font Sizes (escala modular) */
    --text-xs:   0.75rem;    /* 12px */
    --text-sm:   0.875rem;   /* 14px */
    --text-base: 1rem;       /* 16px */
    --text-lg:   1.125rem;   /* 18px */
    --text-xl:   1.25rem;    /* 20px */
    --text-2xl:  1.5rem;     /* 24px */
    --text-3xl:  1.875rem;   /* 30px */
    --text-4xl:  2.25rem;    /* 36px */
    
    /* ─── Font Size Aliases ─── */
    --font-size-xs:   var(--text-xs);
    --font-size-sm:   var(--text-sm);
    --font-size-md:   var(--text-base);
    --font-size-lg:   var(--text-lg);
    --font-size-xl:   var(--text-xl);
    --font-size-2xl:  var(--text-2xl);
    --font-size-3xl:  var(--text-3xl);
    --font-size-4xl:  var(--text-4xl);
    
    /* Font Weights */
    --font-normal:   400;
    --font-medium:   500;
    --font-semibold: 600;
    --font-bold:     700;
    
    /* ─── Font Weight Aliases ─── */
    --font-weight-normal:   var(--font-normal);
    --font-weight-medium:   var(--font-medium);
    --font-weight-semibold: var(--font-semibold);
    --font-weight-bold:     var(--font-bold);
    
    /* Line Heights */
    --leading-none:    1;
    --leading-tight:   1.25;
    --leading-snug:    1.375;
    --leading-normal:  1.5;
    --leading-relaxed: 1.625;
    --leading-loose:   2;
    
    /* Letter Spacing */
    --tracking-tighter: -0.05em;
    --tracking-tight:   -0.025em;
    --tracking-normal:  0;
    --tracking-wide:    0.025em;
    --tracking-wider:   0.05em;

    /* ───────────────────────────────────────────────────────────────
       1.3 SPACING • Escala Base 4px
       ─────────────────────────────────────────────────────────────── */
    
    --space-0:    0;
    --space-px:   1px;
    --space-0-5:  2px;
    --space-1:    4px;
    --space-1-5:  6px;
    --space-2:    8px;
    --space-2-5:  10px;
    --space-3:    12px;
    --space-3-5:  14px;
    --space-4:    16px;
    --space-5:    20px;
    --space-6:    24px;
    --space-7:    28px;
    --space-8:    32px;
    --space-9:    36px;
    --space-10:   40px;
    --space-11:   44px;
    --space-12:   48px;
    --space-14:   56px;
    --space-16:   64px;
    --space-20:   80px;
    --space-24:   96px;
    --space-32:   128px;
    --space-40:   160px;
    --space-48:   192px;
    --space-56:   224px;
    --space-64:   256px;

    /* ───────────────────────────────────────────────────────────────
       1.4 BORDER RADIUS
       ─────────────────────────────────────────────────────────────── */
    
    --radius-none: 0;
    --radius-sm:   4px;
    --radius-md:   6px;
    --radius-lg:   8px;
    --radius-xl:   12px;
    --radius-2xl:  16px;
    --radius-3xl:  24px;
    --radius-full: 9999px;

    /* ───────────────────────────────────────────────────────────────
       1.5 SHADOWS
       ─────────────────────────────────────────────────────────────── */
    
    --shadow-none: none;
    --shadow-xs:   0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-sm:   0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
    --shadow-md:   0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg:   0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl:   0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --shadow-2xl:  0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);

    /* ───────────────────────────────────────────────────────────────
       1.6 MOTION • Duration & Easing
       ─────────────────────────────────────────────────────────────── */
    
    /* Duration */
    --duration-0:    0ms;
    --duration-75:   75ms;
    --duration-100:  100ms;
    --duration-150:  150ms;
    --duration-200:  200ms;
    --duration-300:  300ms;
    --duration-500:  500ms;
    --duration-700:  700ms;
    --duration-1000: 1000ms;
    
    /* Easing */
    --ease-linear:  linear;
    --ease-in:      cubic-bezier(0.4, 0, 1, 1);
    --ease-out:     cubic-bezier(0, 0, 0.2, 1);
    --ease-in-out:  cubic-bezier(0.4, 0, 0.2, 1);
    --ease-bounce:  cubic-bezier(0.68, -0.55, 0.265, 1.55);
    
    /* ─── Transition Aliases (compostos) ─── */
    --transition-fast:   var(--duration-150) var(--ease-out);
    --transition-base:   var(--duration-200) var(--ease-out);
    --transition-slow:   var(--duration-300) var(--ease-out);
    --transition-slower: var(--duration-500) var(--ease-out);

    /* ───────────────────────────────────────────────────────────────
       1.7 Z-INDEX • Camadas
       ─────────────────────────────────────────────────────────────── */
    
    --z-behind:    -1;
    --z-base:      0;
    --z-dropdown:  1000;
    --z-sticky:    1020;
    --z-fixed:     1030;
    --z-sidebar:   1040;
    --z-overlay:   1050;
    --z-modal:     1060;
    --z-tooltip:   1070;
    --z-toast:     1080;
    --z-max:       9999;

    /* ═══════════════════════════════════════════════════════════════
       2. SEMANTIC TOKENS
       ═══════════════════════════════════════════════════════════════
       Tokens com significado contextual. Use estes ao invés dos
       tokens primitivos para garantir consistência temática.
    */

    /* 
HIERARQUIA VISUAL:
- color-bg          → fundo da página (canvas)
- color-bg-elevated → overlays, modals, dropdowns
- color-surface     → conteúdo (cards, tables, panels)
Nunca usar color-surface como fundo de layout.
*/

    /* ───────────────────────────────────────────────────────────────
       2.1 BACKGROUND
       ─────────────────────────────────────────────────────────────── */
    
--color-bg: var(--slate-50);
--color-bg-elevated: var(--slate-0);    /* dropdowns, modals */
--color-bg-hover:    var(--slate-100);
--color-bg-active:   var(--slate-200);

    /* ───────────────────────────────────────────────────────────────
       2.2 SURFACE
       ─────────────────────────────────────────────────────────────── */
    
--color-surface: var(--slate-100);
--color-surface-hover: var(--slate-150);
--color-surface-active: var(--slate-200);

    /* ───────────────────────────────────────────────────────────────
       2.3 BORDER
       ─────────────────────────────────────────────────────────────── */
    
--color-border: var(--slate-300);
--color-border-hover: var(--slate-400);
    --color-border-focus: var(--blue-500);

    /* ───────────────────────────────────────────────────────────────
       2.4 TEXT
       ─────────────────────────────────────────────────────────────── */
    
    --color-text:           var(--slate-900);
    --color-text-secondary: var(--slate-600);
    --color-text-muted:     var(--slate-400);
    --color-text-tertiary:  var(--slate-400); /* placeholder/hint — entre muted e disabled */
    --color-text-inverse:   var(--slate-0);
    --color-text-disabled:  var(--slate-400);

    /* ───────────────────────────────────────────────────────────────
       2.5 PRIMARY (Brand)
       ─────────────────────────────────────────────────────────────── */
    
    --color-primary:        var(--blue-600);
    --color-primary-hover:  var(--blue-700);
    --color-primary-active: var(--blue-800);
    --color-primary-light:  var(--blue-50);
    --color-primary-text:   var(--blue-700);

    /* ───────────────────────────────────────────────────────────────
       2.6 STATUS COLORS
       ─────────────────────────────────────────────────────────────── */
    
    /* Success */
    --color-success:        var(--green-600);
    --color-success-hover:  var(--green-700);
    --color-success-active: var(--green-800);
    --color-success-light:  var(--green-50);
    --color-success-text:   var(--green-700);
    
    /* Warning */
    --color-warning:        var(--amber-500);
    --color-warning-hover:  var(--amber-600);
    --color-warning-active: var(--amber-700);
    --color-warning-light:  var(--amber-50);
    --color-warning-text:   var(--amber-700);
    
    /* Danger */
    --color-danger:        var(--red-600);
    --color-danger-hover:  var(--red-700);
    --color-danger-active: var(--red-800);
    --color-danger-light:  var(--red-50);
    --color-danger-text:   var(--red-700);
    
    /* Info */
    --color-info:        var(--cyan-600);
    --color-info-hover:  var(--cyan-700);
    --color-info-active: var(--cyan-800);
    --color-info-light:  var(--cyan-50);
    --color-info-text:   var(--cyan-700);

    /* ───────────────────────────────────────────────────────────────
       2.7 FOCUS & ACCESSIBILITY
       ─────────────────────────────────────────────────────────────── */
    
    --focus-ring-color:  var(--color-primary);
    --focus-ring-width:  2px;
    --focus-ring-offset: 2px;
    --focus-ring-shadow: 0 0 0 var(--focus-ring-offset) var(--color-surface),
                         0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring-color);
    
    /* Outline style (alternativo) */
    --focus-outline: var(--focus-ring-width) solid var(--focus-ring-color);

    /* ═══════════════════════════════════════════════════════════════
       3. COMPONENT TOKENS
       ═══════════════════════════════════════════════════════════════
       Tokens específicos para componentes do sistema.
    */

    /* ───────────────────────────────────────────────────────────────
       3.1 SIDEBAR
       ─────────────────────────────────────────────────────────────── */
    
    --sidebar-bg:              var(--slate-0);
    --sidebar-border:          var(--slate-200);
    --sidebar-item-hover:      var(--slate-100);
    --sidebar-item-active-bg:  var(--blue-50);
    --sidebar-item-active-text: var(--blue-700);
    --sidebar-icon-bg:         var(--slate-100);
    --sidebar-icon-bg-hover:   var(--blue-100);
    --sidebar-icon-bg-active:  var(--blue-100);

    /* ───────────────────────────────────────────────────────────────
       3.2 HEADER
       ─────────────────────────────────────────────────────────────── */
    
    --header-bg:     var(--slate-0);
    --header-border: var(--slate-200);

    /* ───────────────────────────────────────────────────────────────
       3.3 LAYOUT DIMENSIONS
       ─────────────────────────────────────────────────────────────── */
    
    --sidebar-width:    72px;
    --sidebar-expanded: 260px;
    --header-height:    64px;
    --submenu-width:    240px;
    --content-max:      1400px;
    
    /* Container sizes */
    --container-sm: 640px;
    --container-md: 768px;
    --container-lg: 1024px;
    --container-xl: 1280px;

    /* ───────────────────────────────────────────────────────────────
       3.4 BADGE (Component-specific)
       ─────────────────────────────────────────────────────────────── */
    
    --badge-neutral-bg:   var(--slate-200);
    --badge-neutral-text: var(--slate-700);

    /* ───────────────────────────────────────────────────────────────
       3.5 FORM INPUTS
       ─────────────────────────────────────────────────────────────── */
    
    --input-height-sm: 32px;
    --input-height-md: 40px;
    --input-height-lg: 48px;

    /* ───────────────────────────────────────────────────────────────
       3.6 BUTTONS
       ─────────────────────────────────────────────────────────────── */
    
    --btn-height-sm: 32px;
    --btn-height-md: 40px;
    --btn-height-lg: 48px;

    /* ───────────────────────────────────────────────────────────────
       3.7 MICRO-INTERACTIONS
       ─────────────────────────────────────────────────────────────── */
    
    --scale-press: 0.98;
    --scale-hover: 1.02;
    --scale-dropdown: 0.98;

    /* ───────────────────────────────────────────────────────────────
       3.8 LEGACY ALIASES — compatibilidade com global.css (site público)
       Mapeia tokens --c-* para o sistema semântico do admin.
       NÃO usar em código novo — prefira --color-* e --font-*.
       ─────────────────────────────────────────────────────────────── */

    /* Backgrounds / Surfaces */
    --c-bg:              var(--color-bg);
    --c-surface:         var(--color-surface);
    --c-cream:           var(--slate-50);
    --c-scrim:           var(--color-bg-overlay, rgba(0,0,0,0.5));

    /* Borders */
    --c-border:          var(--color-border);
    --c-border-medium:   var(--color-border-hover);
    --c-border-gold:     var(--amber-300);

    /* Text */
    --c-text:            var(--color-text);
    --c-text-secondary:  var(--color-text-secondary);
    --c-text-muted:      var(--color-text-muted);
    --c-text-faint:      var(--color-text-tertiary);

    /* Primary (blue) */
    --c-primary:         var(--color-primary);
    --c-primary-50:      var(--blue-50);
    --c-primary-300:     var(--blue-300);
    --c-primary-400:     var(--blue-400);
    --c-primary-500:     var(--blue-500);
    --c-primary-700:     var(--blue-700);
    --c-primary-800:     var(--blue-800);
    --c-primary-900:     var(--blue-900);

    /* Gold / Accent (mapeado para amber) */
    --c-gold:            var(--amber-500);
    --c-gold-100:        var(--amber-100);
    --c-gold-200:        var(--amber-100);
    --c-gold-300:        var(--amber-300);
    --c-gold-400:        var(--amber-500);
    --c-gold-600:        var(--amber-600);
    --c-gold-700:        var(--amber-700);
    --c-gold-800:        var(--amber-700);

    /* Status */
    --c-success:         var(--color-success);
    --c-success-bg:      var(--color-success-light);
    --c-warning:         var(--color-warning);
    --c-warning-bg:      var(--color-warning-light);
    --c-error:           var(--color-danger);

    /* Typography */
    --weight-regular:    var(--font-normal);
    --weight-medium:     var(--font-medium);
    --weight-semibold:   var(--font-semibold);
    --weight-bold:       var(--font-bold);

    /* Layout */
    --container-2xl:     1536px;
    --header-height-lg:  80px;
    --radius:            var(--radius-md);
    --shadow:            var(--shadow-md);

    /* Motion */
    --duration-base:     var(--duration-200);
    --duration-slow:     var(--duration-300);
    --duration-slower:   var(--duration-500);
    --ease-spring:       var(--ease-bounce);

    /* Color-bg-overlay (garante fallback) */
    --color-bg-overlay:  rgba(0, 0, 0, 0.5);
}

/* ═══════════════════════════════════════════════════════════════════
   4. DARK MODE OVERRIDES
   ═══════════════════════════════════════════════════════════════════
   Sobrescritas para o modo escuro. Apenas tokens semânticos e de
   componentes são alterados - tokens primitivos permanecem iguais.
*/

[data-theme="dark"] {
    /* ─── Background ─── */
    --color-bg:          var(--slate-900);
    --color-bg-elevated: var(--slate-800);
    --color-bg-hover:    var(--slate-700);
    --color-bg-active:   var(--slate-600);
    --color-bg-overlay:  rgba(0, 0, 0, 0.7);
    
    /* ─── Surface ─── */
    --color-surface:        var(--slate-800);
    --color-surface-hover:  var(--slate-700);
    --color-surface-active: var(--slate-600);
    
    /* ─── Border ─── */
    --color-border:       var(--slate-700);
    --color-border-hover: var(--slate-600);
    
    /* ─── Text ─── */
    --color-text:           var(--slate-100);
    --color-text-secondary: var(--slate-300);
    --color-text-muted:     var(--slate-500);
    --color-text-tertiary:  var(--slate-500); /* dark mode placeholder/hint */
    --color-text-inverse:   var(--slate-900);
    --color-text-disabled:  var(--slate-600);

    /* ─── Legacy --c-* dark overrides ─── */
    --c-bg:             var(--slate-900);
    --c-surface:        var(--slate-800);
    --c-text:           var(--slate-100);
    --c-text-secondary: var(--slate-300);
    --c-text-muted:     var(--slate-500);
    --c-text-faint:     var(--slate-500);
    --c-border:         var(--slate-700);
    --c-border-medium:  var(--slate-600);
    --c-gold:           var(--amber-400);
    --color-bg-overlay: rgba(0, 0, 0, 0.7);
    
    /* ─── Primary ─── */
    --color-primary:        var(--blue-500);
    --color-primary-hover:  var(--blue-400);
    --color-primary-active: var(--blue-300);
    --color-primary-light:  rgba(59, 130, 246, 0.15);
    --color-primary-text:   var(--blue-400);
    
    /* ─── Success ─── */
    --color-success-hover:  var(--green-500);
    --color-success-active: var(--green-400);
    --color-success-light:  rgba(34, 197, 94, 0.15);
    --color-success-text:   var(--green-500);
    
    /* ─── Warning ─── */
    --color-warning-hover:  var(--amber-400);
    --color-warning-active: var(--amber-300);
    --color-warning-light:  rgba(245, 158, 11, 0.15);
    --color-warning-text:   var(--amber-500);
    
    /* ─── Danger ─── */
    --color-danger-hover:  var(--red-500);
    --color-danger-active: var(--red-400);
    --color-danger-light:  rgba(239, 68, 68, 0.15);
    --color-danger-text:   var(--red-500);
    
    /* ─── Info ─── */
    --color-info-hover:  var(--cyan-400);
    --color-info-active: var(--cyan-300);
    --color-info-light:  rgba(6, 182, 212, 0.15);
    --color-info-text:   var(--cyan-500);
    
    /* ─── Focus ─── */
    --focus-ring-shadow: 0 0 0 var(--focus-ring-offset) var(--color-surface),
                         0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring-color);
    
    /* ─── Sidebar ─── */
    --sidebar-bg:              var(--slate-800);
    --sidebar-border:          var(--slate-700);
    --sidebar-item-hover:      var(--slate-700);
    --sidebar-item-active-bg:  rgba(59, 130, 246, 0.15);
    --sidebar-item-active-text: var(--blue-400);
    --sidebar-icon-bg:         var(--slate-700);
    --sidebar-icon-bg-hover:   rgba(59, 130, 246, 0.2);
    --sidebar-icon-bg-active:  rgba(59, 130, 246, 0.2);
    
    /* ─── Header ─── */
    --header-bg:     var(--slate-800);
    --header-border: var(--slate-700);
    
    /* ─── Badge Neutral ─── */
    --badge-neutral-bg:   var(--slate-600);
    --badge-neutral-text: var(--slate-100);
    
    /* ─── Shadows (mais sutis em dark) ─── */
    --shadow-sm:  0 1px 3px rgba(0, 0, 0, 0.3);
    --shadow-md:  0 4px 6px rgba(0, 0, 0, 0.4);
    --shadow-lg:  0 10px 15px rgba(0, 0, 0, 0.5);
    --shadow-xl:  0 20px 25px rgba(0, 0, 0, 0.6);
    --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.7);
}

/* ═══════════════════════════════════════════════════════════════════
   5. REDUCED MOTION
   ═══════════════════════════════════════════════════════════════════
   Respeita preferência do usuário por menos movimento.
*/

@media (prefers-reduced-motion: reduce) {
    :root {
        --duration-75:  0ms;
        --duration-100: 0ms;
        --duration-150: 0ms;
        --duration-200: 0ms;
        --duration-300: 0ms;
        --duration-500: 0ms;
        --duration-700: 0ms;
        --duration-1000: 0ms;
        
        --transition-fast:   0ms;
        --transition-base:   0ms;
        --transition-slow:   0ms;
        --transition-slower: 0ms;
    }
}