/* DIALOGOS DEL SISTEMA */

.dialogo-pos-overlay{
 position:fixed;
 inset:0;
 z-index:10000;
 display:none;
 align-items:center;
 justify-content:center;
 padding:22px;
 background:rgba(15,23,42,.48);
 backdrop-filter:blur(8px);
}

.dialogo-pos-card{
 width:min(460px,100%);
 display:grid;
 grid-template-columns:54px 1fr;
 gap:14px;
 padding:20px;
 border:1px solid var(--line-soft, #dbe3ef);
 border-radius:20px;
 background:
 linear-gradient(135deg, color-mix(in srgb, var(--brand-color) 8%, transparent), transparent),
 var(--surface, #fff);
 color:var(--text-main, #111827);
 box-shadow:0 24px 70px rgba(15,23,42,.28);
}

.dialogo-pos-icon{
 width:54px;
 height:54px;
 display:flex;
 align-items:center;
 justify-content:center;
 border-radius:16px;
 background:color-mix(in srgb, var(--brand-color) 16%, var(--surface-soft, #f8fafc));
 color:var(--brand-color);
 font-weight:950;
 font-size:18px;
}

.dialogo-peligro .dialogo-pos-icon{
 background:color-mix(in srgb, #ef4444 15%, var(--surface-soft, #f8fafc));
 color:#ef4444;
}

.dialogo-alerta .dialogo-pos-icon{
 background:color-mix(in srgb, #f59e0b 18%, var(--surface-soft, #f8fafc));
 color:#d97706;
}

.dialogo-exito .dialogo-pos-icon{
 background:color-mix(in srgb, #16a34a 16%, var(--surface-soft, #f8fafc));
 color:#16a34a;
}

.dialogo-pos-body h2{
 margin:0 0 6px;
 color:var(--text-main, #111827) !important;
 font-size:22px;
}

.dialogo-pos-body p{
 margin:0;
 color:var(--text-muted, #64748b) !important;
 line-height:1.45;
 white-space:pre-line;
}

.dialogo-pos-body input{
 width:100%;
 min-height:46px;
 margin-top:14px;
 padding:12px 14px;
 border:1px solid var(--line-soft, #dbe3ef);
 border-radius:13px;
 background:var(--surface-soft, #f8fafc);
 color:var(--text-main, #111827);
 font-size:15px;
 outline:none;
}

.dialogo-pos-body input:focus{
 border-color:var(--brand-color);
 box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-color) 18%, transparent);
}

.dialogo-pos-actions{
 grid-column:1 / -1;
 display:flex;
 justify-content:flex-end;
 gap:10px;
 margin-top:6px;
}

.dialogo-pos-actions button{
 min-width:118px;
 min-height:42px;
 border:none;
 border-radius:13px;
 font-weight:900;
 cursor:pointer;
}

.dialogo-pos-actions .dialogo-aceptar{
 background:var(--brand-color) !important;
 color:white !important;
}

.dialogo-peligro .dialogo-pos-actions .dialogo-aceptar{
 background:#ef4444 !important;
}

.dialogo-pos-actions .dialogo-cancelar{
 background:var(--surface-strong, #eef2f7) !important;
 color:var(--text-main, #111827) !important;
}

body.oscuro .dialogo-pos-card{
 background:
 linear-gradient(135deg, color-mix(in srgb, var(--brand-color) 10%, transparent), transparent),
 var(--surface);
 border-color:var(--line-soft);
}

.dialogo-pos-actions .dialogo-cancelar{
 background:var(--surface-strong) !important;
 color:var(--text-main) !important;
 border:1px solid var(--line-soft) !important;
}

/* Cierre compacto para modales de formularios */
button.modal-cerrar-x {
 width: 40px !important;
 height: 40px !important;
 min-width: 40px !important;
 padding: 0 !important;
 display: inline-flex !important;
 align-items: center !important;
 justify-content: center !important;
 border-radius: 12px !important;
 border: 1px solid rgba(20, 100, 210, .22) !important;
 background: rgba(255, 255, 255, .78) !important;
 color: #0b4fb3 !important;
 font-size: 24px !important;
 font-weight: 900 !important;
 line-height: 1 !important;
 box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 8px 22px rgba(15, 44, 90, .12) !important;
}

button.modal-cerrar-x:hover {
 background: rgba(232, 240, 255, .95) !important;
 transform: translateY(-1px);
}

body.oscuro button.modal-cerrar-x {
 background: rgba(20, 31, 54, .82) !important;
 color: #cfe2ff !important;
 border-color: rgba(120, 170, 255, .28) !important;
}
