/* Toast notifications, shared by the whole app (see assets/js/toast.js and
   includes/toast.php). Self-contained on purpose: the global error handler in
   includes/errors.php can show a toast on any page, including ones that never
   loaded main.css. */
.toast-stack{
    position:fixed;top:16px;right:16px;z-index:9999;
    display:flex;flex-direction:column;gap:10px;
    width:min(400px,calc(100vw - 32px));pointer-events:none;
}
.toast{
    pointer-events:auto;display:flex;align-items:flex-start;gap:11px;
    background:#1a1a1a;color:#e8eaed;
    border:1px solid rgba(255,255,255,.1);border-left:3px solid #64748b;
    border-radius:11px;padding:13px 14px;
    box-shadow:0 14px 34px rgba(0,0,0,.5);
    font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:13px;line-height:1.45;
    animation:toast-in .22s cubic-bezier(.2,.8,.3,1);
}
.toast.toast-out{animation:toast-out .18s ease forwards}
@keyframes toast-in{from{opacity:0;transform:translateX(24px) scale(.97)}to{opacity:1;transform:none}}
@keyframes toast-out{to{opacity:0;transform:translateX(24px) scale(.97)}}
.toast-ico{flex-shrink:0;font-size:14px;line-height:1.3;margin-top:1px}
.toast-cuerpo{flex:1;min-width:0}
.toast-titulo{font-weight:800;font-size:12.5px;margin-bottom:2px}
.toast-msg{color:#c7cbd1;word-wrap:break-word;overflow-wrap:anywhere}
.toast-msg ul{margin:4px 0 0;padding-left:16px}
.toast-msg li{margin-top:2px}
.toast-detalle{display:block;margin-top:7px;padding-top:7px;border-top:1px solid rgba(255,255,255,.08);
    font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;color:#8b8f96;
    white-space:pre-wrap;word-break:break-word;max-height:120px;overflow:auto}
.toast-cerrar{flex-shrink:0;background:none;border:none;color:#7c8188;font-size:17px;line-height:1;
    cursor:pointer;padding:0 2px;font-family:inherit}
.toast-cerrar:hover{color:#e8eaed}
.toast-error  {border-left-color:#ef4444}
.toast-error   .toast-ico,.toast-error   .toast-titulo{color:#f87171}
.toast-warn   {border-left-color:#f59e0b}
.toast-warn    .toast-ico,.toast-warn    .toast-titulo{color:#fbbf24}
.toast-success{border-left-color:#10b981}
.toast-success .toast-ico,.toast-success .toast-titulo{color:#34d399}
.toast-info   {border-left-color:#f5c518}
.toast-info    .toast-ico,.toast-info    .toast-titulo{color:#f5c518}
@media(max-width:520px){.toast-stack{top:auto;bottom:16px;left:16px;right:16px;width:auto}}
@media print{.toast-stack{display:none!important}}
