:host,
:root {
    /* --tblr-primary: #2F49C2;
    --tblr-primary-rgb: 47, 73, 194;
    --tblr-primary-darken: #283FA7;
    --tblr-primary-darken-rgb: 40, 63, 167;
    --tblr-primary-lt: #E6E9F9;
    --tblr-primary-lt-rgb: 230, 233, 249;
    --tblr-warning: #FF9423;
    --tblr-warning-rgb: 255, 148, 35;
    --tblr-warning-darken: #FF8301;
    --tblr-warning-lt: #FFF7EF;
    --tblr-warning-lt-rgb: 255, 247, 239;
    --tblr-success: #5D2BC2;
    --tblr-success-rgb: 93, 43, 194;
    --tblr-success-darken: #5025A6;
    --tblr-success-lt: #F4F0FC;
    --tblr-success-lt-rgb: 244, 240, 252;
    --tblr-info: #1F91B7;
    --tblr-info-rgb: 31, 145, 183;
    --tblr-info-darken: #1A7A9A;
    --tblr-info-lt: #EAF7FC;
    --tblr-info-lt-rgb: 234, 247, 252;
    --tblr-danger: #FF4523;
    --tblr-danger-rgb: 255, 69, 35;
    --tblr-danger-darken: #EF2500;
    --tblr-danger-lt: #FFE3DE;
    --tblr-danger-lt-rgb: 255, 227, 222;
    --tblr-dark: #0f172a;
    --tblr-dark-rgb: 15, 23, 42;
    --tblr-dark-darken: #0b101d;
    --tblr-dark-lt: #eaeef8;
    --tblr-dark-lt-rgb: 234, 238, 248;
    --tblr-muted: #627692;
    --tblr-muted-rgb: 98, 118, 146;
    --tblr-muted-darken: #5c6e87;
    --tblr-muted-lt: #f8f9fb;
    --tblr-muted-lt-rgb: 248, 249, 251;
    --tblr-secondary: #55657d;
    --tblr-secondary-rgb: 85, 101, 125;
    --tblr-secondary-darken: #4e5d73;
    --tblr-secondary-lt: #eef1f4;
    --tblr-secondary-lt-rgb: 238, 241, 244;
    --tblr-gray: #475569;
    --tblr-gray-rgb: 71, 85, 105;
    --tblr-gray-dark: #1e293b;
    --tblr-gray-dark-rgb: 30, 41, 59;
    --tblr-gray-100: #f1f5f9;
    --tblr-gray-100-rgb: 241, 245, 249;
    --tblr-gray-200: #e2e8f0;
    --tblr-gray-200-rgb: 226, 232, 240;
    --tblr-gray-300: #cbd5e1;
    --tblr-gray-300-rgb: 203, 213, 225;
    --tblr-gray-400: #94a3b8;
    --tblr-gray-400-rgb: 148, 163, 184;
    --tblr-gray-500: #64748b;
    --tblr-gray-500-rgb: 100, 116, 139;
    --tblr-gray-600: #475569;
    --tblr-gray-600-rgb: 71, 85, 105;
    --tblr-gray-700: #334155;
    --tblr-gray-700-rgb: 51, 65, 85;
    --tblr-gray-800: #1e293b;
    --tblr-gray-800-rgb: 30, 41, 59;
    --tblr-gray-900: #0f172a;
    --tblr-gray-900-rgb: 15, 23, 42;
    --tblr-link-color: #2F49C2;
    --tblr-link-color-rgb: 47, 73, 194;
    --tblr-link-decoration: none;
    --tblr-link-hover-color: #283FA7;
    --tblr-link-hover-color-rgb: 40, 63, 167;
    --tblr-border-color: #e2e8f0;
    --tblr-form-invalid-color: #FF4523;
    --tblr-form-invalid-border-color: #FF4523; */
    --color-green: #01692A;
    --color-primary: #012F3F;
    --color-secondary: #41625A;
    --color-emphasis: #A7FBC6;
    --color-gray-light: #F0F1F5;
    --color-gray-dark: #9D9EA1;
    --color-accent: #FFB400;
    --color-light-ochre: #F5EBD7;
    --color-soft-brown: #E6D7BE;
    --color-ochre-medium: #C8AA78;
    --color-brown-deep: #78553C;
    --color-cream: #FAF5E6;
    --color-primary-light: #0A465E;
    --color-primary-dark: #00232F;
    --color-white: #FFFFFF;
    --color-text: #2C3E50;
    --color-text-muted: #6C757D;

}

body {
    background-color: var(--color-gray-light);
}

/* Alert Success */
/* Alert Success (nueva opción) */
.alert-success {
    background-color: #E6EFEC;
    /* Fondo claro derivado de secondary */
    border-color: #76A797;
    /* secondary */
    color: #00232F;
    /* primaryDark para texto legible */
}

.alert-success .alert-title {
    color: #416252;
    /* secondary para el título */
}

.alert-success .alert-link {
    color: #2E4439;
    /* secondary oscurecido para enlaces */
}

.alert-success .btn-close {
    background-color: #416252;
    /* secondary */
    opacity: 0.8;
}

.alert-success .btn-close:hover {
    background-color: #2E4439;
    /* secondary oscurecido */
    opacity: 1;
}

/* Alert Warning */
.alert-warning {
    background-color: #FFF0CC;
    /* fondo suave derivado de accent */
    border-color: #FFB400;
    /* accent */
    color: #00232F;
    /* primaryDark para texto legible */
}

.alert-warning .alert-title {
    color: #FFB400;
    /* accent para el título */
}

.alert-warning .alert-link {
    color: #CC9000;
    /* accent oscurecido para enlaces */
}

.alert-warning .btn-close {
    background-color: #FFB400;
    /* accent */
    opacity: 0.8;
}

.alert-warning .btn-close:hover {
    background-color: #CC9000;
    /* accent oscurecido */
    opacity: 1;
}

/* Alert Danger */
.alert-danger {
    background-color: #F9D7D7;
    /* fondo suave rojizo */
    border-color: #D63333;
    /* rojo para errores */
    color: #00232F;
    /* primaryDark para texto legible */
}

.alert-danger .alert-title {
    color: #D63333;
    /* rojo para el título */
}

.alert-danger .alert-link {
    color: #A32929;
    /* rojo oscurecido para enlaces */
}

.alert-danger .btn-close {
    background-color: #D63333;
    /* rojo */
    opacity: 0.8;
}

.alert-danger .btn-close:hover {
    background-color: #A32929;
    /* rojo oscurecido */
    opacity: 1;
}

/* Alert Info */
.alert-info {
    background-color: #0A465E;
    /* primaryLight */
    border-color: #012F3F;
    /* primary */
    color: var(--color-gray-light);
    /* grayLight para texto claro */
}

.alert-info .alert-title {
    color: #A7FBC6;
    /* emphasis para el título, contraste alto */
}

.alert-info .alert-link {
    color: #A7FBC6;
    /* emphasis para enlaces */
}

.alert-info .btn-close {
    background-color: #012F3F;
    /* primary */
    opacity: 0.8;
}

.alert-info .btn-close:hover {
    background-color: #00232F;
    /* primaryDark */
    opacity: 1;
}

/* Estilo general para alertas */
.alert {
    border-radius: 0.25rem;
    /* Mantener el estilo de Tabler */
    border-width: 1px;
    border-style: solid;
    padding: 1rem;
    margin-bottom: 1rem;
    position: relative;
}

.alert .btn-close {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 0.25rem;
}

.alert .alert-link:hover {
    text-decoration: underline;
}