/* SOLUTECNOH system dialogs: reemplaza alert/confirm/prompt nativos del navegador. */
.app-dialog-overlay{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(15,23,42,.52);
  backdrop-filter:blur(2px);
}
.app-dialog-overlay.show{display:flex;}
.app-dialog-card{
  width:min(460px,calc(100vw - 28px));
  background:#ffffff;
  color:#0f172a;
  border:1px solid rgba(15,23,42,.10);
  border-radius:18px;
  box-shadow:0 28px 70px rgba(15,23,42,.28);
  overflow:hidden;
  animation:appDialogIn .14s ease-out;
}
@keyframes appDialogIn{from{transform:translateY(8px) scale(.98);opacity:.0}to{transform:translateY(0) scale(1);opacity:1}}
.app-dialog-head{display:flex;align-items:center;gap:12px;padding:18px 20px 10px 20px;}
.app-dialog-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:#eff6ff;color:#0d6efd;font-size:18px;flex:0 0 auto;}
.app-dialog-title{font-size:18px;font-weight:800;margin:0;line-height:1.2;color:#0f172a;}
.app-dialog-body{padding:0 20px 16px 20px;color:#334155;font-size:15px;line-height:1.45;white-space:pre-wrap;word-break:break-word;}
.app-dialog-input{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:11px 12px;font-size:15px;outline:none;margin-top:10px;}
.app-dialog-input:focus{border-color:#0d6efd;box-shadow:0 0 0 3px rgba(13,110,253,.14);}
.app-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px 18px 20px;background:#f8fafc;border-top:1px solid rgba(15,23,42,.08);}
.app-dialog-btn{border:0;border-radius:12px;padding:10px 16px;font-weight:800;cursor:pointer;min-width:104px;}
.app-dialog-btn.primary{background:#0d6efd;color:#fff;box-shadow:0 8px 20px rgba(13,110,253,.22);}
.app-dialog-btn.secondary{background:#e2e8f0;color:#0f172a;}
.app-dialog-btn.danger{background:#dc2626;color:#fff;box-shadow:0 8px 20px rgba(220,38,38,.22);}
.app-dialog-btn:focus{outline:3px solid rgba(13,110,253,.20);outline-offset:2px;}
.app-toast-wrap{position:fixed;right:18px;top:18px;z-index:2147482999;display:flex;flex-direction:column;gap:10px;max-width:min(380px,calc(100vw - 36px));}
.app-toast{background:#0f172a;color:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 18px 45px rgba(15,23,42,.28);font-size:14px;line-height:1.35;border-left:4px solid #0d6efd;animation:appToastIn .16s ease-out;}
.app-toast.success{border-left-color:#16a34a}.app-toast.warning{border-left-color:#f59e0b}.app-toast.danger{border-left-color:#dc2626}
@keyframes appToastIn{from{transform:translateY(-6px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:576px){.app-dialog-actions{flex-direction:column-reverse}.app-dialog-btn{width:100%;}.app-toast-wrap{left:12px;right:12px;top:12px;max-width:none;}}
