.ui-toasts{position:fixed;z-index:9999;left:50%;bottom:24px;transform:translateX(-50%);display:flex;flex-direction:column;gap:10px;width:min(440px,calc(100vw - 24px));pointer-events:none}
@media(max-width:720px){.ui-toasts{bottom:84px}}
.ui-toast{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:14px;background:var(--panel,#fff);color:var(--text,#111);border:1px solid var(--line,#ddd);box-shadow:0 18px 40px -14px rgba(0,0,0,.45);animation:ui-in .22s ease both}
.ui-toast.out{opacity:0;transform:translateY(8px);transition:.2s}
.ui-toast-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--accent,#348c29)}
.ui-success .ui-toast-dot{background:#2fb67c}.ui-error .ui-toast-dot{background:var(--danger,#e0483b)}
.ui-toast-msg{flex:1;font-size:15px;line-height:1.4}
.ui-toast-x{border:0;background:none;color:var(--muted,#777);font-size:22px;line-height:1;cursor:pointer;padding:0 4px}
@keyframes ui-in{from{opacity:0;transform:translateY(10px)}}
.ui-dialog{border:1px solid var(--line,#ddd);border-radius:20px;padding:0;background:var(--panel,#fff);color:var(--text,#111);width:min(460px,calc(100vw - 24px));box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.ui-dialog::backdrop{background:rgba(8,10,14,.62);backdrop-filter:blur(3px)}
.ui-dialog[open]{animation:ui-pop .18s ease both}
@keyframes ui-pop{from{opacity:0;transform:translateY(12px) scale(.98)}}
.ui-body{padding:24px}
.ui-title{margin:0 0 8px;font-size:20px;letter-spacing:-.01em}
.ui-text{margin:0 0 16px;color:var(--muted,#666);line-height:1.5}
.ui-options{display:grid;gap:8px;margin:0 0 14px}
.ui-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line,#ddd);border-radius:12px;cursor:pointer;margin:0;font-size:15px;font-weight:600;color:var(--text,#111)}
.ui-option:hover{border-color:var(--accent,#348c29)}
.ui-option:has(input:checked){border-color:var(--accent,#348c29);background:color-mix(in srgb,var(--accent,#348c29) 12%,transparent)}
.ui-option input{width:auto;accent-color:var(--accent,#348c29)}
.ui-note{margin:0 0 14px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,#2fb67c 16%,transparent);font-size:14px}
.ui-note[hidden]{display:none}
.ui-input{width:100%;border:1px solid var(--line,#ddd);background:var(--bg,#fff);color:var(--text,#111);border-radius:12px;padding:11px 13px;font:inherit;resize:none}
.ui-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.ui-btn{border:1px solid var(--line,#ddd);background:var(--soft,#eee);color:var(--text,#111);border-radius:12px;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer}
.ui-btn:hover{border-color:var(--accent,#348c29)}
.ui-primary{background:var(--accent,#348c29);border-color:var(--accent,#348c29);color:#fff}
.ui-danger{background:#c63245;border-color:#c63245}
@media(prefers-reduced-motion:reduce){.ui-toast,.ui-dialog[open]{animation:none}}

/* Anti-bot trap: never shown to humans or assistive technology. */
.ab-trap{position:absolute!important;left:-99999px!important;top:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
