/* ===== Central notifications, dialogs and field errors (ui.js) — all text pairs meet WCAG AA ===== */
.xm-toasts{position:fixed;top:18px;right:18px;z-index:10050;display:flex;flex-direction:column;gap:10px;width:min(400px,calc(100vw - 32px));pointer-events:none}
.xm-toast{pointer-events:auto;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:13px 14px;border-radius:14px;background:#fffefa;color:#172923;border:1px solid #dcd8cb;border-left-width:5px;box-shadow:0 14px 38px rgba(23,41,35,.18);animation:xm-in .22s ease-out}
.xm-toast.is-leaving{opacity:0;transform:translateX(12px);transition:.18s}
.xm-toast-body{display:grid;gap:3px;font-size:14px;line-height:1.45;min-width:0;overflow-wrap:anywhere}.xm-toast-body b{font-size:14.5px}.xm-toast-body ul{margin:2px 0 0;padding-left:18px}
.xm-toast-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font:700 13px/1 system-ui,sans-serif;color:#fff}
.xm-toast-close{border:0;background:transparent;color:#4a554e;font-size:20px;line-height:1;cursor:pointer;border-radius:8px;padding:2px 6px}.xm-toast-close:hover{background:#f0eee6}.xm-toast-close:focus-visible,.xm-dialog button:focus-visible{outline:3px solid #2f6db5;outline-offset:2px}
.xm-toast-success{border-left-color:#1f7a4d}.xm-toast-success .xm-toast-icon{background:#1f7a4d}
.xm-toast-info{border-left-color:#2f6db5}.xm-toast-info .xm-toast-icon{background:#2f6db5}
.xm-toast-warning{border-left-color:#b86e00}.xm-toast-warning .xm-toast-icon{background:#9a5b00}
.xm-toast-error{border-left-color:#b3261e}.xm-toast-error .xm-toast-icon{background:#b3261e}
.xm-overlay{position:fixed;inset:0;z-index:10060;display:grid;place-items:center;padding:20px;background:rgba(35,12,17,.58);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.xm-dialog{width:min(440px,100%);background:#fffefa;color:#172923;border-radius:20px;padding:26px 26px 20px;box-shadow:0 30px 80px rgba(0,0,0,.35);text-align:center;animation:xm-in .2s ease-out}
.xm-dialog h2{margin:12px 0 6px;font-size:21px}.xm-dialog p{margin:0;color:#3c4741;line-height:1.55;font-size:15px;overflow-wrap:anywhere}
.xm-dialog-icon{margin:0 auto;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#2f6db5;color:#fff;font:700 22px/1 system-ui,sans-serif}
.xm-dialog-danger .xm-dialog-icon,.xm-dialog-error .xm-dialog-icon{background:#b3261e}.xm-dialog-success .xm-dialog-icon{background:#1f7a4d}.xm-dialog-warning .xm-dialog-icon{background:#9a5b00}
.xm-dialog-actions{display:flex;gap:10px;justify-content:center;margin-top:22px;flex-wrap:wrap}
.button-danger-solid{background:#b3261e;color:#fff;border-color:#b3261e}.button-danger-solid:hover{background:#8f1d17;border-color:#8f1d17}
.field-error{display:block;color:#a3262a;font-size:13px;line-height:1.4;margin-top:6px;font-weight:600}
.has-error input,.has-error textarea,.has-error select,[aria-invalid="true"]{border-color:#b3261e!important;box-shadow:0 0 0 3px rgba(179,38,30,.14)}
@keyframes xm-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.xm-toast,.xm-dialog{animation:none}.xm-toast.is-leaving{transition:none}}
@media(max-width:520px){.xm-toasts{top:10px;right:10px;left:10px;width:auto}}
