:root{
    --fondo4:#ffffff;
    --fondo5:#16a34a;
    --fondo3:#14532d;
    --texto:#1e293b;
    --texto_claro:#f0fdf4;
    --borde:#e2e8f0;
    --radio:12px;
}

.modal_sistema.dialog_alerta{
    width:min(440px, 92vw);
    max-height:none;
    border:none;
    border-radius:var(--radio);
    box-shadow:0 24px 48px rgba(15, 23, 42, 0.22);
    background:var(--fondo4);
    padding:0;
    overflow:hidden;
}

.modal_sistema.dialog_alerta::backdrop{
    background:rgba(15, 23, 42, 0.55);
    backdrop-filter:blur(2px);
}

.modal_cuerpo{
    display:flex;
    flex-direction:column;
}

.modal_cabecera{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:18px 22px;
    color:var(--texto_claro);
}

.modal_titulo{
    margin:0;
    font-size:17px;
    font-weight:700;
    line-height:1.3;
    color:var(--texto_claro);
}

.btn_modal_cerrar{
    width:36px;
    height:36px;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,0.15);
    color:var(--texto_claro);
    font-size:22px;
    line-height:1;
    cursor:pointer;
    flex-shrink:0;
}

.btn_modal_cerrar:hover{
    background:rgba(255,255,255,0.28);
}

.btn_modal_primario,
.btn_modal_secundario{
    min-width:120px;
    height:38px;
    border:none;
    border-radius:8px;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    padding:0 18px;
}

.btn_modal_primario{
    background:var(--fondo5);
    color:var(--texto_claro);
}

.btn_modal_primario:hover{
    background:#15803d;
}

.btn_modal_secundario{
    background:#f1f5f9;
    color:var(--texto);
    border:1px solid var(--borde);
}

.btn_modal_secundario:hover{
    background:#e2e8f0;
}

.dialog_alerta{
    width:min(440px, 92vw);
    padding:0;
}

.dialog_alerta_cabecera{
    border-bottom:none;
}

.dialog_alerta_cabecera.dialog_alerta_info,
.dialog_alerta_cabecera.dialog_alerta_exito{
    background:linear-gradient(135deg, #14532d 0%, #16a34a 100%) !important;
}

.dialog_alerta_cabecera .modal_titulo{
    color:#ffffff !important;
}

.dialog_alerta_cabecera.dialog_alerta_error{
    background:linear-gradient(135deg, #7f1d1d 0%, #dc2626 100%);
}

.dialog_alerta_cabecera.dialog_alerta_advertencia{
    background:linear-gradient(135deg, #92400e 0%, #d97706 100%);
}

.dialog_alerta_cabecera.dialog_alerta_confirmacion{
    background:linear-gradient(135deg, #14532d 0%, #166534 100%);
}

.dialog_alerta_contenido{
    text-align:center;
    padding:24px 22px 28px;
}

.dialog_alerta_icono{
    width:56px;
    height:56px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 16px;
    font-size:24px;
    font-weight:700;
}

.dialog_alerta_icono_info{
    background:#dcfce7;
    color:#15803d;
}

.dialog_alerta_icono_exito{
    background:#dcfce7;
    color:#15803d;
}

.dialog_alerta_icono_error{
    background:#fee2e2;
    color:#b91c1c;
}

.dialog_alerta_icono_advertencia{
    background:#fef3c7;
    color:#b45309;
}

.dialog_alerta_icono_confirmacion{
    background:#dcfce7;
    color:#166534;
}

.dialog_alerta_mensaje{
    margin:0 0 22px;
    font-size:15px;
    line-height:1.55;
    color:var(--texto, #1e293b);
    white-space:pre-line;
}

.dialog_alerta_acciones{
    display:flex;
    gap:10px;
    justify-content:center;
    flex-wrap:wrap;
}

.dialog_alerta_acciones .btn_modal_primario,
.dialog_alerta_acciones .btn_modal_secundario{
    min-width:120px;
}

.dialog_alerta_extra{
    margin:0 0 22px;
    text-align:left;
}

.dialog_alerta_extra[hidden]{
    display:none !important;
}

.dialog_alerta_etiqueta{
    display:block;
    margin:0 0 8px;
    font-size:13px;
    font-weight:600;
    color:var(--texto, #1e293b);
}

.dialog_alerta_input{
    width:100%;
    box-sizing:border-box;
    height:42px;
    padding:0 14px;
    border:1px solid var(--borde);
    border-radius:8px;
    font-size:15px;
    color:var(--texto, #1e293b);
}

.dialog_alerta_textarea{
    height:auto;
    min-height:96px;
    padding:10px 14px;
    resize:vertical;
    background:#fff;
}

.dialog_alerta_input:focus{
    outline:none;
    border-color:#16a34a;
    box-shadow:0 0 0 3px rgba(22, 163, 74, 0.15);
}
