[data-theme="dark"],
:root:not([data-theme="light"]) {
  
  /* === COLORES PRINCIPALES === */
  --background-color: #202021; 
  --color: #FFFFFF; 
  
  /* === COLORES SECUNDARIOS === */
  --muted-color: #E5E5E5; 
  --muted-border-color: #1E2832; 
  
  /* === COLORES DE CONTRASTE === */
  --contrast-background-color: #1E2832; 
  --contrast-color: #FFFFFF;
  
  /* === COLORES PRIMARIOS === */
  --primary: #006B3F; 
  --primary-hover: #005533; 
  --primary-focus: rgba(0, 107, 63, 0.125); 
  --primary-inverse: #FFFFFF;
  
  /* === COLORES SECUNDARIOS (BOTONES) === */
  --secondary: #1E2832; 
  --secondary-hover: #2A3441; 
  --secondary-focus: rgba(30, 40, 50, 0.125);
  --secondary-inverse: #FFFFFF;
  
  /* === COLORES DE ACENTO === */
  --accent: #CE1126; 
  --accent-hover: #B00E20; 
  --accent-focus: rgba(206, 17, 38, 0.125);
  --accent-inverse: #FFFFFF;
  
  /* === BORDES === */
  --border-color: rgba(255, 255, 255, 0.1);
  --border-color-hover: rgba(255, 255, 255, 0.2);
  
  /* === INPUTS Y FORMULARIOS === */
  --form-element-background-color: #1E2832;
  --form-element-border-color: rgba(255, 255, 255, 0.1);
  --form-element-color: #FFFFFF;
  --form-element-placeholder-color: rgba(229, 229, 229, 0.6);
  --form-element-active-background-color: #1E2832;
  --form-element-active-border-color: #006B3F;
  --form-element-focus-color: #006B3F;
  --form-element-disabled-background-color: #0F1419;
  --form-element-disabled-border-color: rgba(255, 255, 255, 0.05);
  --form-element-disabled-opacity: 0.5;
  --form-element-invalid-border-color: #CE1126;
  --form-element-invalid-active-border-color: #B00E20;
  --form-element-invalid-focus-color: #CE1126;
  --form-element-valid-border-color: #006B3F;
  --form-element-valid-active-border-color: #005533;
  --form-element-valid-focus-color: #006B3F;
  
  /* === SWITCHES Y CHECKBOXES === */
  --switch-background-color: #0F1419;
  --switch-color: #E5E5E5;
  --switch-checked-background-color: #006B3F;
  
  /* === DROPDOWN Y SELECTS === */
  --dropdown-background-color: #1E2832;
  --dropdown-border-color: rgba(255, 255, 255, 0.1);
  --dropdown-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  --dropdown-color: #FFFFFF;
  --dropdown-hover-background-color: rgba(0, 107, 63, 0.0625);
  
  /* === MODAL Y OVERLAY === */
  --modal-overlay-background-color: rgba(16, 23, 30, 0.8);
  
  /* === CARDS Y CONTENEDORES === */
  --card-background-color: #1E2832;
  --card-border-color: rgba(255, 255, 255, 0.1);
  --card-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  --card-sectionning-background-color: #0F1419;
  
  /* === PROGRESS Y LOADING === */
  --progress-background-color: #0F1419;
  --progress-color: #006B3F;
  
  /* === CÓDIGO Y PRE === */
  --code-background-color: #0F1419;
  --code-color: #E5E5E5;
  --code-kbd-background-color: #1E2832;
  --code-kbd-color: #FFFFFF;
  --code-tag-color: #CE1126;
  --code-property-color: #006B3F;
  --code-value-color: #FFFFFF;
  --code-comment-color: rgba(229, 229, 229, 0.6);
  
  /* === MARK Y HIGHLIGHT === */
  --mark-background-color: rgba(0, 107, 63, 0.2);
  --mark-color: #FFFFFF;
  
  /* === BLOCKQUOTE === */
  --blockquote-border-color: #006B3F;
  --blockquote-footer-color: #E5E5E5;
  
  /* === TABLAS === */
  --table-border-color: rgba(255, 255, 255, 0.1);
  --table-row-stripped-background-color: rgba(255, 255, 255, 0.0375);
  
  /* === TOOLTIP === */
  --tooltip-background-color: #0F1419;
  --tooltip-color: #FFFFFF;
  
  /* === ICONOS === */
  --icon-checkbox: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='white'%3e%3cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3e%3c/svg%3e");
  --icon-chevron: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23E5E5E5' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  --icon-chevron-button: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  --icon-chevron-button-inverse: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23006B3F' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  --icon-close: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3e%3cpath stroke='%23E5E5E5' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 18L18 6M6 6l12 12'/%3e%3c/svg%3e");
  --icon-date: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3e%3cpath stroke='%23E5E5E5' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z'/%3e%3c/svg%3e");
  --icon-invalid: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3e%3cpath stroke='%23CE1126' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 18L18 6M6 6l12 12'/%3e%3c/svg%3e");
  --icon-minus: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3e%3cpath stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 12H4'/%3e%3c/svg%3e");
  --icon-search: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3e%3cpath stroke='%23E5E5E5' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21 21-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3e%3c/svg%3e");
  --icon-time: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3e%3cpath stroke='%23E5E5E5' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z'/%3e%3c/svg%3e");
  --icon-valid: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3e%3cpath stroke='%23006B3F' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 13l4 4L19 7'/%3e%3c/svg%3e");
}

/* === AJUSTES ESPECÍFICOS PARA ELEMENTOS === */

/* Mejorar contraste en links */
[data-theme="dark"] a,
:root:not([data-theme="light"]) a {
  color: #ffffff;
}

[data-theme="dark"] a:hover,
:root:not([data-theme="light"]) a:hover {
  color: #005533;
}

/* Botones de acción/peligro */
[data-theme="dark"] .button-danger,
[data-theme="dark"] button[data-variant="danger"],
:root:not([data-theme="light"]) .button-danger,
:root:not([data-theme="light"]) button[data-variant="danger"] {
  background-color: #CE1126;
  border-color: #CE1126;
}

[data-theme="dark"] .button-danger:hover,
[data-theme="dark"] button[data-variant="danger"]:hover,
:root:not([data-theme="light"]) .button-danger:hover,
:root:not([data-theme="light"]) button[data-variant="danger"]:hover {
  background-color: #B00E20;
  border-color: #B00E20;
}

/* Personalizar scrollbar para el tema */
[data-theme="dark"] ::-webkit-scrollbar,
:root:not([data-theme="light"]) ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

[data-theme="dark"] ::-webkit-scrollbar-track,
:root:not([data-theme="light"]) ::-webkit-scrollbar-track {
  background: #10171E;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb,
:root:not([data-theme="light"]) ::-webkit-scrollbar-thumb {
  background: #1E2832;
  border-radius: 4px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover,
:root:not([data-theme="light"]) ::-webkit-scrollbar-thumb:hover {
  background: #006B3F;
}