/* ui-kit.css — стили тостов и модалок ui.js (uiToast/uiConfirm/uiAlert/uiPrompt).
   Вынесено из программной <style>-инъекции в ui.js: под CSP style-src-elem без
   'unsafe-inline' динамически вставленный <style> блокируется, и модалки теряли
   оформление. Статический файл грузится штатно (style-src-elem 'self'). */
.ui-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(12px);
  background:var(--accent);color:var(--surface);padding:10px 20px;border-radius:8px;
  font:13.5px/1.45 var(--font-body,inherit);box-shadow:0 4px 16px rgba(0,0,0,.18);
  opacity:0;transition:opacity .18s,transform .18s;pointer-events:none;z-index:10000;
  max-width:min(560px,92vw);text-align:center}
.ui-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.ui-toast.warn{background:var(--warn)}
.ui-toast.err{background:var(--neg)}
.ui-toast.ok{background:var(--pos)}
.ui-overlay{position:fixed;inset:0;background:rgba(35,36,31,.45);z-index:10000;
  display:flex;align-items:center;justify-content:center;padding:16px}
.ui-box{background:var(--surface);border-radius:12px;padding:22px 26px;max-width:440px;width:100%;
  box-shadow:0 8px 40px rgba(0,0,0,.18);font:14px/1.55 var(--font-body,inherit);color:var(--text)}
.ui-box h4{margin:0 0 10px;font-size:15px;font-weight:700}
.ui-box p{margin:0 0 18px;white-space:pre-line;color:var(--text-secondary)}
.ui-box input{width:100%;box-sizing:border-box;margin:0 0 18px;padding:8px 10px;
  border:1px solid var(--border-strong);border-radius:8px;font:13.5px var(--font-mono);
  color:var(--text);background:var(--surface)}
.ui-box input:focus{outline:none;border-color:var(--accent)}
.ui-actions{display:flex;gap:10px;justify-content:flex-end}
.ui-btn{padding:7px 18px;border-radius:8px;font:13.5px var(--font-body,inherit);cursor:pointer;
  border:1px solid var(--border-strong);background:var(--surface);color:var(--text)}
.ui-btn:hover{background:var(--surface-2)}
.ui-btn.primary{border:none;background:var(--accent);color:var(--surface)}
.ui-btn.primary:hover{background:var(--accent-hover)}
.ui-btn.danger{border:none;background:var(--neg);color:var(--surface)}
@media (prefers-reduced-motion:reduce){.ui-toast{transition:none}}
