@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-Thin.8205dc3e1f79.ttf") format('truetype');            font-weight: 100; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-ThinItalic.5512e98f8b6a.ttf") format('truetype');      font-weight: 100; font-style: italic; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-ExtraLight.7b01a1d6efbf.ttf") format('truetype');      font-weight: 200; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-ExtraLightItalic.ffffdab9fd18.ttf") format('truetype');font-weight: 200; font-style: italic; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-Light.20161a557e36.ttf") format('truetype');           font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-LightItalic.19d6dc84ea64.ttf") format('truetype');     font-weight: 300; font-style: italic; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-Regular.50e780b45678.ttf") format('truetype');         font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-Italic.576fe2da0974.ttf") format('truetype');          font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-Medium.f97963c595e8.ttf") format('truetype');          font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-MediumItalic.c4a7f4d91c0e.ttf") format('truetype');    font-weight: 500; font-style: italic; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-SemiBold.eb5e811f2fe0.ttf") format('truetype');        font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-SemiBoldItalic.a61964676efb.ttf") format('truetype');  font-weight: 600; font-style: italic; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-Bold.382e230417d2.ttf") format('truetype');            font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-BoldItalic.6e7fd9789e43.ttf") format('truetype');      font-weight: 700; font-style: italic; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-ExtraBold.ab5e89ae3427.ttf") format('truetype');       font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-ExtraBoldItalic.efd9cf8a84e4.ttf") format('truetype'); font-weight: 800; font-style: italic; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-Black.608b764a1cc4.ttf") format('truetype');           font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fira Sans'; src: url("../fonts/FiraSans-BlackItalic.57579f90e4c2.ttf") format('truetype');     font-weight: 900; font-style: italic; font-display: swap; }

:root {
  --dc-primary:        #1D388C;
  --dc-primary-700:    #16306F;
  --dc-primary-900:    #0E1F4A;
  --dc-primary-50:     #EAEEF7;

  --dc-accent-celeste: #2AA6E0;
  --dc-accent-fucsia:  #FB2D7C;
  --dc-accent-verde:   #66B34D;
  --dc-accent-naranja: #F8AE48;

  --dc-accent-1:       var(--dc-accent-celeste);
  --dc-accent-2:       var(--dc-accent-fucsia);
  --dc-accent-3:       var(--dc-accent-verde);
  --dc-accent-4:       var(--dc-accent-naranja);

  --dc-white:          #FFFFFF;
  --dc-light:          #F8F8F8;
  --dc-dark:           #121212;
  --dc-gray:           #6C757D;
  --dc-gray-100:       #F3F4F6;
  --dc-gray-200:       #E5E7EB;
  --dc-gray-300:       #D1D5DB;
  --dc-gray-400:       #9CA3AF;
  --dc-gray-500:       #6B7280;
  --dc-gray-600:       #4B5563;
  --dc-gray-700:       #374151;
  --dc-gray-800:       #1F2937;
  --dc-gray-900:       #111827;

  --dc-bg:             var(--dc-light);
  --dc-bg-elevated:    var(--dc-white);
  --dc-bg-inverse:     var(--dc-dark);
  --dc-fg:             var(--dc-dark);
  --dc-fg-muted:       var(--dc-gray-600);
  --dc-fg-subtle:      var(--dc-gray);
  --dc-fg-on-primary:  var(--dc-white);
  --dc-border:         var(--dc-gray-200);
  --dc-border-strong:  var(--dc-gray-300);

  --dc-estado-otorgado:  #66B34D;
  --dc-estado-pendiente: #B25E09;
  --dc-estado-denegado:  #C0362C;
  --dc-estado-info:      #1E6FA8;

  --dc-estado-otorgado-bg:  #EEF7EA;
  --dc-estado-pendiente-bg: #FBF1E5;
  --dc-estado-denegado-bg:  #FBEBE9;
  --dc-estado-info-bg:      #E8F1F8;

  --dc-success:        var(--dc-estado-otorgado);
  --dc-warning:        var(--dc-estado-pendiente);
  --dc-danger:         var(--dc-estado-denegado);
  --dc-info:           var(--dc-estado-info);

  --dc-font-sans: "Fira Sans", system-ui, -apple-system, "Segoe UI", Roboto,
                  "Helvetica Neue", Arial, sans-serif;
  --dc-font-mono: ui-monospace, "SF Mono", Menlo, Monaco, "Cascadia Mono",
                  Consolas, "Liberation Mono", monospace;

  --dc-fw-thin:     100;
  --dc-fw-light:    300;
  --dc-fw-regular:  400;
  --dc-fw-medium:   500;
  --dc-fw-semibold: 600;
  --dc-fw-bold:     700;
  --dc-fw-extrabold:800;
  --dc-fw-black:    900;

  --dc-fs-12: 0.75rem;
  --dc-fs-14: 0.875rem;
  --dc-fs-16: 1rem;
  --dc-fs-18: 1.125rem;
  --dc-fs-20: 1.25rem;
  --dc-fs-24: 1.5rem;
  --dc-fs-30: 1.875rem;
  --dc-fs-36: 2.25rem;
  --dc-fs-48: 3rem;
  --dc-fs-60: 3.75rem;
  --dc-fs-72: 4.5rem;

  --dc-lh-tight:   1.1;
  --dc-lh-snug:    1.25;
  --dc-lh-normal:  1.5;
  --dc-lh-relaxed: 1.625;

  --dc-tracking-tighter: -0.04em;
  --dc-tracking-tight:   -0.02em;
  --dc-tracking-normal:  0;
  --dc-tracking-wide:    0.025em;
  --dc-tracking-widest:  0.1em;

  --dc-space-1:  0.25rem;
  --dc-space-2:  0.5rem;
  --dc-space-3:  0.75rem;
  --dc-space-4:  1rem;
  --dc-space-5:  1.25rem;
  --dc-space-6:  1.5rem;
  --dc-space-8:  2rem;
  --dc-space-10: 2.5rem;
  --dc-space-12: 3rem;
  --dc-space-16: 4rem;
  --dc-space-20: 5rem;

  --dc-radius-sm:   0.375rem;
  --dc-radius-md:   0.5rem;
  --dc-radius-lg:   0.75rem;
  --dc-radius-xl:   1rem;
  --dc-radius-2xl:  1.5rem;
  --dc-radius-3xl:  2rem;
  --dc-radius-pill: 9999px;

  --dc-shadow-sm:  0 1px 2px rgba(0,0,0,0.05);
  --dc-shadow-md:  0 4px 6px -1px rgba(0,0,0,0.10), 0 2px 4px -2px rgba(0,0,0,0.10);
  --dc-shadow-lg:  0 10px 15px -3px rgba(0,0,0,0.10), 0 4px 6px -4px rgba(0,0,0,0.10);
  --dc-shadow-xl:  0 20px 25px -5px rgba(0,0,0,0.12), 0 8px 10px -6px rgba(0,0,0,0.10);
  --dc-shadow-2xl: 0 25px 50px -12px rgba(0,0,0,0.25);

  --dc-ease:        cubic-bezier(0.4, 0, 0.2, 1);
  --dc-ease-in:     cubic-bezier(0.4, 0, 1, 1);
  --dc-ease-out:    cubic-bezier(0, 0, 0.2, 1);
  --dc-dur-fast:    150ms;
  --dc-dur-normal:  300ms;
  --dc-dur-slow:    500ms;

  --dc-focus-ring:  0 0 0 2px var(--dc-white), 0 0 0 4px var(--dc-primary);

  --color-fondo: var(--dc-bg);
  --color-superficie: var(--dc-bg-elevated);
  --color-superficie-alt: var(--dc-gray-100);
  --color-borde: var(--dc-border);
  --color-borde-input: var(--dc-gray-500);

  --color-texto-principal: var(--dc-fg);
  --color-texto-secundario: var(--dc-gray-500);
  --color-texto-deshabilitado: var(--dc-gray-400);

  --color-primario: var(--dc-primary);
  --color-primario-hover: var(--dc-primary-700);
  --color-primario-texto: var(--dc-fg-on-primary);

  --color-exito: var(--dc-estado-otorgado);
  --color-exito-fondo: var(--dc-estado-otorgado-bg);
  --color-exito-borde: #BFE0B3;
  --color-exito-texto: #FFFFFF;

  --color-advertencia: var(--dc-estado-pendiente);
  --color-advertencia-fondo: var(--dc-estado-pendiente-bg);
  --color-advertencia-borde: #EBC79B;
  --color-advertencia-texto: #FFFFFF;

  --color-error: var(--dc-estado-denegado);
  --color-error-hover: #9E2C24;
  --color-error-fondo: var(--dc-estado-denegado-bg);
  --color-error-borde: #E7B0AB;
  --color-error-texto: #FFFFFF;

  --color-info: var(--dc-estado-info);
  --color-info-fondo: var(--dc-estado-info-bg);
  --color-info-borde: #AECBE2;
  --color-info-texto: #FFFFFF;

  --badge-anonima-fondo: var(--dc-gray-500);
  --badge-anonima-texto: #FFFFFF;
  --badge-seudonima-fondo: var(--dc-estado-info);
  --badge-seudonima-texto: #FFFFFF;
  --badge-identificable-fondo: var(--dc-estado-pendiente);
  --badge-identificable-texto: #FFFFFF;

  --consentimiento-otorgado-fondo: var(--dc-estado-otorgado);
  --consentimiento-otorgado-texto: #FFFFFF;
  --consentimiento-pendiente-fondo: var(--dc-estado-pendiente);
  --consentimiento-pendiente-texto: #FFFFFF;
  --consentimiento-denegado-fondo: var(--dc-estado-denegado);
  --consentimiento-denegado-texto: #FFFFFF;

  --text-xs: var(--dc-fs-12);
  --text-sm: var(--dc-fs-14);
  --text-base: var(--dc-fs-16);
  --text-lg: var(--dc-fs-18);
  --text-xl: var(--dc-fs-20);
  --text-2xl: var(--dc-fs-24);
  --text-3xl: var(--dc-fs-36);

  --font-weight-normal: var(--dc-fw-regular);
  --font-weight-medium: var(--dc-fw-medium);
  --font-weight-semibold: var(--dc-fw-semibold);

  --line-height-body: var(--dc-lh-normal);
  --line-height-heading: var(--dc-lh-snug);

  --space-1: var(--dc-space-1);
  --space-2: var(--dc-space-2);
  --space-3: var(--dc-space-3);
  --space-4: var(--dc-space-4);
  --space-5: var(--dc-space-5);
  --space-6: var(--dc-space-6);
  --space-8: var(--dc-space-8);
  --space-10: var(--dc-space-10);
  --space-12: var(--dc-space-12);
  --space-16: var(--dc-space-16);

  --radius-sm: var(--dc-radius-sm);
  --radius-md: var(--dc-radius-md);
  --radius-pill: var(--dc-radius-pill);

  --shadow-card: var(--dc-shadow-md);
  --shadow-modal: var(--dc-shadow-xl);

  --focus-ring: var(--dc-focus-ring);

  --font-sans: var(--dc-font-sans);
  --font-mono: var(--dc-font-mono);
}
