/* marca-gigroup · holding · generado por herramientas/generar a partir de fuentes/tokens.json: no editar */
:root {
  /* capa marca */
  --gi-brand-dark-blue: #00145A;
  --gi-brand-ocean: #14288C;
  --gi-brand-violet-sky: #567FFF;
  --gi-brand-violet-dawn: #96B9F4;
  --gi-brand-light-blue: #C7DADB;
  --gi-brand-energic: #1D57FB;
  --gi-brand-grey: #666666;
  --gi-brand-berry-twilight: #9E0D69;
  --gi-brand-meadow-breeze: #71C700;
  --gi-brand-orchid-dust: #8F00D9;
  --gi-brand-fuchsia-horizon: #FC34B0;
  --gi-brand-lime-horizon: #A6E355;
  --gi-brand-lavender-mist: #BA36FF;
  --gi-brand-blush-mirage: #FF6FCB;
  --gi-brand-spring-whisper: #DAFFA9;
  --gi-brand-lavender-breeze: #C962FF;
  --gi-brand-botanic-dawn: #163F32;
  --gi-brand-lagoon-mist: #0BBA9C;
  --gi-brand-mustard: #E4CD00;
  --gi-brand-evergreen: #147556;
  --gi-brand-aqua-serenity: #52D9B8;
  --gi-brand-dark-yellow: #EEE432;
  --gi-brand-mint-aurora: #98F8E5;
  --gi-brand-sunbeam-drift: #F8FB63;
  --gi-brand-dark-blue-700: #001A78;
  --gi-brand-dark-blue-900: #000C3D;
  --gi-brand-energic-600: #1748D8;
  --gi-brand-light-blue-50: #F2F6F7;
  --gi-brand-font-display: 'Lato', 'Arial', 'Helvetica', sans-serif;
  /* capa ui */
  --gi-ui-font-base: var(--gi-brand-font-display);
  --gi-ui-font-mono: ui-monospace, 'SFMono-Regular', 'Menlo', 'Consolas', monospace;
  --gi-ui-slate-50: #F8FAFC;
  --gi-ui-slate-100: #F1F5F9;
  --gi-ui-slate-200: #E2E8F0;
  --gi-ui-slate-300: #CBD5E1;
  --gi-ui-slate-400: #94A3B8;
  --gi-ui-slate-500: #64748B;
  --gi-ui-slate-600: #475569;
  --gi-ui-slate-700: #334155;
  --gi-ui-slate-800: #1E293B;
  --gi-ui-slate-900: #0F172A;
  --gi-ui-slate-950: #020617;
  --gi-ui-radius-none: 0px;
  --gi-ui-radius-sm: 6px;
  --gi-ui-radius-md: 10px;
  --gi-ui-radius-lg: 14px;
  --gi-ui-radius-xl: 20px;
  --gi-ui-radius-2xl: 28px;
  --gi-ui-radius-full: 9999px;
  --gi-ui-shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.04);
  --gi-ui-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04);
  --gi-ui-shadow-md: 0 4px 12px rgba(15, 23, 42, 0.06), 0 2px 4px rgba(15, 23, 42, 0.04);
  --gi-ui-shadow-lg: 0 12px 32px rgba(0, 20, 90, 0.08), 0 4px 8px rgba(0, 20, 90, 0.04);
  --gi-ui-shadow-xl: 0 24px 48px rgba(0, 20, 90, 0.12), 0 8px 16px rgba(0, 20, 90, 0.06);
  --gi-ui-shadow-focus: 0 0 0 4px rgba(29, 87, 251, 0.15);
  --gi-ui-shadow-error: 0 0 0 4px rgba(220, 38, 38, 0.15);
  --gi-ui-duration-instant: 50ms;
  --gi-ui-duration-fast: 150ms;
  --gi-ui-duration-normal: 250ms;
  --gi-ui-duration-slow: 400ms;
  --gi-ui-duration-pathline-1: 2600ms;
  --gi-ui-duration-pathline-2: 3200ms;
  --gi-ui-delay-pathline-2: 400ms;
  --gi-ui-ease-default: cubic-bezier(0.16, 1, 0.3, 1);
  --gi-ui-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --gi-text-display-2xl-size: 60px;
  --gi-text-display-2xl-lh: 1.05;
  --gi-text-display-2xl-weight: 700;
  --gi-text-display-xl-size: 48px;
  --gi-text-display-xl-lh: 1.1;
  --gi-text-display-xl-weight: 700;
  --gi-text-display-lg-size: 36px;
  --gi-text-display-lg-lh: 1.15;
  --gi-text-display-lg-weight: 700;
  --gi-text-heading-xl-size: 30px;
  --gi-text-heading-xl-lh: 1.2;
  --gi-text-heading-xl-weight: 700;
  --gi-text-heading-lg-size: 24px;
  --gi-text-heading-lg-lh: 1.25;
  --gi-text-heading-lg-weight: 700;
  --gi-text-heading-md-size: 20px;
  --gi-text-heading-md-lh: 1.3;
  --gi-text-heading-md-weight: 700;
  --gi-text-heading-sm-size: 18px;
  --gi-text-heading-sm-lh: 1.35;
  --gi-text-heading-sm-weight: 700;
  --gi-text-body-lg-size: 16px;
  --gi-text-body-lg-lh: 1.55;
  --gi-text-body-lg-weight: 400;
  --gi-text-body-md-size: 14px;
  --gi-text-body-md-lh: 1.55;
  --gi-text-body-md-weight: 400;
  --gi-text-body-sm-size: 13px;
  --gi-text-body-sm-lh: 1.5;
  --gi-text-body-sm-weight: 400;
  --gi-text-label-md-size: 13px;
  --gi-text-label-md-lh: 1.4;
  --gi-text-label-md-weight: 700;
  --gi-text-label-sm-size: 12px;
  --gi-text-label-sm-lh: 1.4;
  --gi-text-label-sm-weight: 700;
  --gi-text-caption-size: 12px;
  --gi-text-caption-lh: 1.4;
  --gi-text-caption-weight: 400;
  --gi-text-overline-size: 11px;
  --gi-text-overline-lh: 1.3;
  --gi-text-overline-weight: 700;
  --gi-text-overline-tracking: 1.5px;
  /* capa semantica */
  --gi-color-text-primary: var(--gi-ui-slate-900);
  --gi-color-text-body: var(--gi-ui-slate-600);
  --gi-color-text-secondary: var(--gi-ui-slate-500);
  --gi-color-text-muted: var(--gi-ui-slate-500);
  --gi-color-text-subtle: var(--gi-ui-slate-300);
  --gi-color-text-disabled: var(--gi-ui-slate-300);
  --gi-color-text-inverse: #FFFFFF;
  --gi-color-text-brand: var(--gi-brand-dark-blue);
  --gi-color-text-accent: var(--gi-brand-energic);
  --gi-color-text-link: var(--gi-brand-energic);
  --gi-color-text-link-hover: var(--gi-brand-dark-blue);
  --gi-color-bg-page: #FBFBFD;
  --gi-color-bg-surface: #FFFFFF;
  --gi-color-bg-subtle: var(--gi-ui-slate-50);
  --gi-color-bg-muted: var(--gi-ui-slate-100);
  --gi-color-bg-inverse: var(--gi-brand-dark-blue);
  --gi-color-bg-brand: var(--gi-brand-dark-blue);
  --gi-color-bg-brand-alt: var(--gi-brand-ocean);
  --gi-color-bg-brand-soft: #F5F7FB;
  --gi-color-bg-accent: var(--gi-brand-energic);
  --gi-color-bg-accent-soft: #EEF3FF;
  --gi-color-bg-light-blue: var(--gi-brand-light-blue);
  --gi-color-border-subtle: var(--gi-ui-slate-200);
  --gi-color-border-default: var(--gi-ui-slate-200);
  --gi-color-border-strong: var(--gi-ui-slate-300);
  --gi-color-border-focus: var(--gi-brand-energic);
  --gi-color-border-error: #DC2626;
  --gi-color-border-success: #16A34A;
  --gi-color-action-primary-bg: var(--gi-brand-dark-blue);
  --gi-color-action-primary-bg-hover: var(--gi-brand-dark-blue-700);
  --gi-color-action-primary-bg-active: var(--gi-brand-dark-blue-900);
  --gi-color-action-primary-bg-disabled: var(--gi-ui-slate-300);
  --gi-color-action-primary-text: #FFFFFF;
  --gi-color-action-secondary-bg: #FFFFFF;
  --gi-color-action-secondary-bg-hover: var(--gi-ui-slate-50);
  --gi-color-action-secondary-border: var(--gi-ui-slate-200);
  --gi-color-action-secondary-text: var(--gi-ui-slate-900);
  --gi-color-action-ghost-bg: transparent;
  --gi-color-action-ghost-bg-hover: var(--gi-ui-slate-100);
  --gi-color-action-ghost-text: var(--gi-ui-slate-700);
  --gi-color-action-accent-bg: var(--gi-brand-energic);
  --gi-color-action-accent-bg-hover: var(--gi-brand-energic-600);
  --gi-color-action-accent-text: #FFFFFF;
  --gi-color-action-destructive-bg: #DC2626;
  --gi-color-action-destructive-bg-hover: #B91C1C;
  --gi-color-action-destructive-text: #FFFFFF;
  --gi-color-status-success-bg: #F0FDF4;
  --gi-color-status-success-border: #BBF7D0;
  --gi-color-status-success-text: #15803D;
  --gi-color-status-success-icon: #16A34A;
  --gi-color-status-warning-bg: #FFFBEB;
  --gi-color-status-warning-border: #FDE68A;
  --gi-color-status-warning-text: #B45309;
  --gi-color-status-warning-icon: #D97706;
  --gi-color-status-error-bg: #FEF2F2;
  --gi-color-status-error-border: #FECACA;
  --gi-color-status-error-text: #B91C1C;
  --gi-color-status-error-icon: #DC2626;
  --gi-color-status-info-bg: #EFF6FF;
  --gi-color-status-info-border: #BFDBFE;
  --gi-color-status-info-text: #1D4ED8;
  --gi-color-status-info-icon: #2563EB;
  --gi-color-sidebar-bg: var(--gi-color-bg-brand);
  --gi-color-sidebar-glow: rgba(29, 87, 251, 0.18);
  --gi-color-sidebar-text: #FFFFFF;
  --gi-color-sidebar-item: rgba(255, 255, 255, 0.75);
  --gi-color-sidebar-item-hover-bg: rgba(255, 255, 255, 0.06);
  --gi-color-sidebar-active-bg: rgba(29, 87, 251, 0.16);
  --gi-color-sidebar-accent: var(--gi-brand-energic);
  --gi-color-sidebar-label: rgba(255, 255, 255, 0.55);
  --gi-color-sidebar-surface: rgba(255, 255, 255, 0.06);
  --gi-color-sidebar-surface-border: rgba(255, 255, 255, 0.10);
  --gi-color-sidebar-divider: rgba(255, 255, 255, 0.08);
  --gi-color-sidebar-meta: var(--gi-brand-light-blue);
  --gi-color-sidebar-scroll-thumb: rgba(255, 255, 255, 0.20);
  --gi-color-sidebar-scroll-thumb-hover: rgba(255, 255, 255, 0.35);
  --gi-gradient-brand-deep: linear-gradient(135deg, var(--gi-brand-dark-blue) 0%, var(--gi-brand-dark-blue-700) 100%);
  --gi-gradient-brand-deep-alt: linear-gradient(to bottom right, var(--gi-brand-ocean) 0%, var(--gi-brand-dark-blue) 100%);
  --gi-gradient-brand-halo: radial-gradient(circle at 0% 100%, var(--gi-color-sidebar-glow) 0%, transparent 60%);
  --gi-gradient-accent: linear-gradient(135deg, var(--gi-brand-energic) 0%, var(--gi-brand-violet-sky) 100%);
  --gi-gradient-tint-accent: linear-gradient(145deg, var(--gi-color-bg-accent-soft) 0%, var(--gi-color-bg-surface) 100%);
  --gi-gradient-tint-brand: linear-gradient(145deg, var(--gi-color-bg-brand-soft) 0%, var(--gi-color-bg-surface) 100%);
  --gi-gradient-tint-success: linear-gradient(145deg, var(--gi-color-status-success-bg) 0%, var(--gi-color-bg-surface) 100%);
  --gi-gradient-tint-warning: linear-gradient(145deg, var(--gi-color-status-warning-bg) 0%, var(--gi-color-bg-surface) 100%);
  --gi-gradient-tint-error: linear-gradient(145deg, var(--gi-color-status-error-bg) 0%, var(--gi-color-bg-surface) 100%);
}

/* pathline del Holding (decisión 0015): el SVG va en línea y con aria-hidden; con reducir movimiento se ve ya dibujado */
.gi-pathline { pointer-events: none; }
.gi-pathline-trazo-1, .gi-pathline-trazo-2 {
  stroke-dasharray: 2400;
  stroke-dashoffset: 2400;
  animation: gi-pathline-dibujo var(--gi-ui-duration-pathline-1) var(--gi-ui-ease-default) forwards;
}
.gi-pathline-trazo-2 {
  animation-duration: var(--gi-ui-duration-pathline-2);
  animation-delay: var(--gi-ui-delay-pathline-2);
}
@keyframes gi-pathline-dibujo { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .gi-pathline-trazo-1, .gi-pathline-trazo-2 { animation: none; stroke-dashoffset: 0; }
}
