/* ─── ITINERA DESIGN SYSTEM v3.0 — Luxury Industrial ─────────────────── */
:root {
  /* ── Typography Families ── */
  --it-font:            'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --it-font-display:    'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --it-font-body:       'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --it-font-mono:       'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;

  /* ── Typography Scale ── */
  --it-font-label:      10px;
  --it-font-xs:         11px;
  --it-font-sm:         12px;
  --it-font-base:       13px;
  --it-font-md:         14px;
  --it-font-lg:         16px;
  --it-font-xl:         20px;
  --it-font-kpi:        28px;

  /* ── Superfici ── */
  --it-bg:              #F3F4F6;
  --it-bg-card:         #FFFFFF;
  --it-bg-card-hover:   #F9FAFB;
  --it-bg-subtle:       #F9FAFB;
  --it-bg-elevated:     #FFFFFF;
  --it-bg-input:        #FFFFFF;
  --it-bg-sidebar:      #1B3A5C;
  --it-bg-sidebar-hover: rgba(255,255,255,0.08);
  --it-bg-sidebar-active: rgba(255,255,255,0.14);

  /* ── Bordi ── */
  --it-border:          #E5E7EB;
  --it-border-default:  #E5E7EB;
  --it-border-subtle:   #F3F4F6;
  --it-border-strong:   #D1D5DB;
  --it-border-light:    #F3F4F6;
  --it-border-focus:    #2E86AB;

  /* ── Brand ── */
  --it-primary:         #1B3A5C;
  --it-primary-light:   #1B3A5C12;
  --it-accent:          #2E86AB;
  --it-accent-hover:    #267a9c;
  --it-accent-light:    #EFF6FF;
  --it-gradient:        linear-gradient(135deg, #1B3A5C 0%, #2E86AB 100%);

  /* ── Semantici ── */
  --it-success:         #059669;
  --it-success-light:   #dcfce7;
  --it-success-bg:      #ECFDF5;
  --it-warning:         #D97706;
  --it-warning-light:   #fef3c7;
  --it-warning-bg:      #FFFBEB;
  --it-danger:          #DC2626;
  --it-danger-light:    #fef2f2;
  --it-danger-bg:       #FEF2F2;
  --it-info:            #2563eb;
  --it-info-light:      #eff6ff;
  --it-info-bg:         #EFF6FF;

  /* ── Testo ── */
  --it-text:            #111827;
  --it-text-primary:    #111827;
  --it-text-secondary:  #6B7280;
  --it-text-muted:      #9CA3AF;
  --it-text-inverse:    #FFFFFF;

  /* ── Elevazione ── */
  --it-shadow-xs:       0 1px 2px rgba(0,0,0,0.05);
  --it-shadow-sm:       0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);
  --it-shadow-md:       0 4px 6px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.04);
  --it-shadow-lg:       0 10px 15px rgba(0,0,0,0.08), 0 4px 6px rgba(0,0,0,0.04);
  --it-shadow-xl:       0 20px 60px rgba(0,0,0,0.15);
  --it-shadow-focus:    0 0 0 3px rgba(46, 134, 171, 0.15);

  /* ── Raggi ── */
  --it-radius-xs:       4px;
  --it-radius-sm:       6px;
  --it-radius-md:       8px;
  --it-radius-lg:       12px;
  --it-radius-xl:       16px;
  --it-radius-full:     9999px;

  /* ── Spacing ── */
  --it-card-px:         20px;
  --it-card-py:         16px;
  --it-row-h:           40px;
  --it-row-h-lg:        48px;
  --it-gap-cards:       12px;

  /* ── Colori categoria breakdown ── */
  --it-cat-material:    #3B82F6;
  --it-cat-amort:       #6366F1;
  --it-cat-transport:   #F59E0B;
  --it-cat-staff:       #8B5CF6;
  --it-cat-pm:          #06B6D4;
  --it-cat-vitto:       #EC4899;
  --it-cat-contingency: #EF4444;

  /* ── Transizioni ── */
  --it-transition:      150ms cubic-bezier(0.4, 0, 0.2, 1);
  --it-transition-fast: 100ms cubic-bezier(0.4, 0, 0.2, 1);
  --it-transition-normal: 200ms cubic-bezier(0.4, 0, 0.2, 1);
  --it-transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);
  --it-ease:            cubic-bezier(0.4, 0, 0.2, 1);
  --it-duration-fast:   0.15s;
  --it-duration-normal: 0.25s;
  --it-duration-slow:   0.35s;

  /* ── Z-index ── */
  --it-z-dropdown:      50;
  --it-z-sticky:        100;
  --it-z-overlay:       500;
  --it-z-modal:         1000;
  --it-z-toast:         9999;
}

/* ── Dark Mode ── */
[data-theme="dark"] {
  --it-bg:              #0B1121;
  --it-bg-card:         #131D2F;
  --it-bg-card-hover:   #1A2740;
  --it-bg-subtle:       #101928;
  --it-bg-elevated:     #182438;
  --it-bg-input:        #0E1726;
  --it-bg-sidebar:      #080E1A;
  --it-bg-sidebar-hover: rgba(255,255,255,0.06);
  --it-bg-sidebar-active: rgba(255,255,255,0.12);

  --it-border:          #1E2D44;
  --it-border-default:  #1E2D44;
  --it-border-subtle:   #152236;
  --it-border-strong:   #2A3F5C;
  --it-border-light:    #152236;
  --it-border-focus:    #38BDF8;

  --it-primary:         #60A5FA;
  --it-primary-light:   rgba(96,165,250,0.12);
  --it-accent:          #38BDF8;
  --it-accent-hover:    #7DD3FC;
  --it-accent-light:    rgba(56,189,248,0.12);
  --it-gradient:        linear-gradient(135deg, #0F2847 0%, #164E6B 50%, #1A3A52 100%);

  --it-success:         #34D399;
  --it-success-light:   rgba(52,211,153,0.15);
  --it-success-bg:      rgba(52,211,153,0.08);
  --it-warning:         #FBBF24;
  --it-warning-light:   rgba(251,191,36,0.15);
  --it-warning-bg:      rgba(251,191,36,0.08);
  --it-danger:          #FB7185;
  --it-danger-light:    rgba(251,113,133,0.15);
  --it-danger-bg:       rgba(251,113,133,0.08);
  --it-info:            #60A5FA;
  --it-info-light:      rgba(96,165,250,0.15);
  --it-info-bg:         rgba(96,165,250,0.08);

  --it-text:            #E2E8F0;
  --it-text-primary:    #E2E8F0;
  --it-text-secondary:  #94A3B8;
  --it-text-muted:      #64748B;
  --it-text-inverse:    #FFFFFF;

  --it-shadow-xs:       0 1px 2px rgba(0,0,0,0.3);
  --it-shadow-sm:       0 1px 3px rgba(0,0,0,0.4), 0 1px 2px rgba(0,0,0,0.3);
  --it-shadow-md:       0 4px 6px rgba(0,0,0,0.4), 0 2px 4px rgba(0,0,0,0.3);
  --it-shadow-lg:       0 10px 15px rgba(0,0,0,0.5), 0 4px 6px rgba(0,0,0,0.3);
  --it-shadow-xl:       0 20px 60px rgba(0,0,0,0.6);
  --it-shadow-focus:    0 0 0 3px rgba(56,189,248,0.25);
}
