.toast-container{position:fixed;right:1.25rem;bottom:1.25rem;z-index:9999;display:flex;flex-direction:column-reverse;gap:.75rem;max-width:380px;width:calc(100% - 2.5rem);pointer-events:none}.toast{pointer-events:auto;position:relative;display:flex;align-items:center;gap:.85rem;padding:.85rem .95rem;background:var(--toast-bg, #fff);border:1.5px solid var(--toast-border, var(--color-primary));border-radius:var(--radius-md);box-shadow:0 6px 24px #00000014,0 1px 3px #0000000a;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:600;line-height:1.4;color:var(--color-text);overflow:hidden;animation:toast-in .26s cubic-bezier(.2,.8,.2,1)}.toast.cerrando{animation:toast-out .22s cubic-bezier(.4,0,1,1) forwards}.toast--success{--toast-bg: #e7f6f0;--toast-border: var(--color-primary);--toast-icon: #2e9e6b}.toast--error{--toast-bg: #ffe5df;--toast-border: var(--color-coral);--toast-icon: #b94a36}.toast--warning{--toast-bg: var(--color-secondary);--toast-border: var(--color-accent);--toast-icon: #a87800}.toast--info{--toast-bg: #fff;--toast-border: var(--color-primary);--toast-icon: #2c8a72}.toast-icono{flex:0 0 26px;width:26px;height:26px;color:var(--toast-icon, var(--color-text));display:flex;align-items:center;justify-content:center}.toast-icono svg{width:100%;height:100%;display:block}.toast-contenido{flex:1 1 auto;word-break:break-word}.toast-cerrar{flex:0 0 auto;width:28px;height:28px;margin-right:-4px;padding:0;background:transparent;border:0;border-radius:8px;cursor:pointer;font-size:1.35rem;font-weight:400;line-height:1;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.toast-cerrar:hover{background:#0000000f;color:var(--color-text)}.toast-cerrar:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}@keyframes toast-in{0%{transform:translate(110%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-out{0%{transform:translate(0);opacity:1}to{transform:translate(110%);opacity:0}}@media(max-width:600px){.toast-container{left:.75rem;right:.75rem;bottom:.75rem;max-width:none;width:auto}}@media(prefers-reduced-motion:reduce){.toast,.toast.cerrando{animation:none}}button[data-cargando="1"],.btn[data-cargando="1"]{cursor:wait;opacity:.85;pointer-events:none}.boton-cargando-spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:boton-cargando-spin .75s linear infinite;vertical-align:middle}.boton-cargando-wrap{display:flex;align-items:center;justify-content:center;gap:.6em;line-height:1;width:100%}@keyframes boton-cargando-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.boton-cargando-spinner{animation-duration:1.6s}}.modal-backdrop{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:var(--space-3);background:#00000073;animation:modal-backdrop-in .18s ease-out}.modal-card{width:100%;max-width:460px;padding:1.5rem 1.5rem 1.25rem;background:#fff;border:1.5px solid var(--color-primary);border-radius:16px;box-shadow:0 16px 48px #0000002e;font-family:DM Sans,sans-serif;color:var(--color-text);animation:modal-card-in .22s cubic-bezier(.2,.8,.2,1)}.modal-titulo{margin:0 0 .5rem;font-size:1.15rem;font-weight:800}.modal-mensaje{margin:0 0 1.5rem;font-size:.95rem;line-height:1.5;white-space:pre-line}.modal-campo{display:flex;flex-direction:column;gap:.35rem;margin-bottom:var(--space-2)}.modal-campo:last-of-type{margin-bottom:var(--space-3)}.modal-campo label{font-size:.85rem;font-weight:700;color:var(--color-text)}.modal-input{padding:.65rem .85rem;border:1.5px solid var(--color-primary);border-radius:var(--radius-sm);font-family:DM Sans,sans-serif;font-size:.95rem;color:var(--color-text);background:#fff;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box}.modal-input:focus{border-color:var(--color-accent)}.modal-input::placeholder{color:#aaa}.modal-acciones{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.modal-btn{padding:.65rem 1.15rem;border:1.5px solid transparent;border-radius:10px;font-family:DM Sans,sans-serif;font-size:.92rem;font-weight:700;cursor:pointer;transition:opacity .15s,background .15s,border-color .15s}.modal-btn-cancelar{background:#fff;border-color:#d8e4df;color:var(--color-text)}.modal-btn-cancelar:hover{background:var(--color-light);border-color:var(--color-primary)}.modal-btn-confirmar{background:var(--color-coral);border-color:var(--color-coral);color:var(--color-text)}.modal-btn-confirmar:hover{opacity:.88}.modal-btn-confirmar.modal-btn-peligro{background:#c44747;border-color:#c44747;color:#fff}.modal-btn-confirmar.modal-btn-peligro:hover{opacity:.92;background:#b03e3e;border-color:#b03e3e}.modal-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.modal-backdrop.modal-cerrando{animation:modal-backdrop-out .18s ease-out forwards}.modal-backdrop.modal-cerrando .modal-card{animation:modal-card-out .16s ease-out forwards}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-backdrop-out{to{opacity:0}}@keyframes modal-card-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modal-card-out{to{opacity:0;transform:translateY(4px) scale(.97)}}@media(prefers-reduced-motion:reduce){.modal-backdrop,.modal-card,.modal-backdrop.modal-cerrando,.modal-backdrop.modal-cerrando .modal-card{animation:none}}
