/* ui.css v1.0.0 — 06.09.2026 — окна подтверждения/ввода и тосты: размеры при наведении не меняются */
.ui-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.42);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .16s ease}
.ui-overlay.is-open{opacity:1}
.ui-overlay.is-leaving{opacity:0}
.ui-card{width:min(460px,100%);background:#fff;border-radius:16px;box-shadow:0 24px 64px rgba(15,23,42,.28),0 2px 8px rgba(15,23,42,.12);padding:22px 22px 18px;transform:translateY(10px) scale(.98);transition:transform .18s ease;font-family:inherit}
.ui-overlay.is-open .ui-card{transform:none}
.ui-head{display:flex;gap:14px;align-items:flex-start}
.ui-icon{flex:0 0 42px;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#e0f2f1;color:#0f766e}
.ui-icon svg{width:22px;height:22px}
.ui-card.is-danger .ui-icon{background:#fee2e2;color:#b91c1c}
.ui-titles{min-width:0;flex:1}
.ui-title{font-size:17px;font-weight:700;color:#111827;line-height:1.3}
.ui-text{font-size:14px;color:#4b5563;margin-top:5px;line-height:1.45;white-space:pre-wrap}
.ui-input{display:block;width:100%;margin-top:16px;padding:11px 13px;border:1px solid #d1d5db;border-radius:10px;font:inherit;font-size:15px;color:#111827;background:#fff;outline:none}
.ui-input:focus{border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.15)}
.ui-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.ui-btn{border:1px solid transparent;border-radius:10px;padding:9px 18px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;line-height:1.2;min-width:96px}
.ui-btn:focus-visible{outline:2px solid #0f766e;outline-offset:2px}
.ui-btn-ghost{background:#f3f4f6;color:#374151;border-color:#e5e7eb}
.ui-btn-ghost:hover{background:#e5e7eb}
.ui-btn-primary{background:#0f766e;color:#fff}
.ui-btn-primary:hover{background:#0d655e}
.ui-btn-danger{background:#dc2626;color:#fff}
.ui-btn-danger:hover{background:#b91c1c}
.ui-toasts{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:1100;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.ui-toast{pointer-events:auto;display:flex;align-items:center;gap:10px;max-width:min(560px,92vw);padding:11px 16px 11px 12px;border-radius:12px;background:#111827;color:#fff;font-size:14px;line-height:1.35;box-shadow:0 12px 32px rgba(15,23,42,.28);opacity:0;transform:translateY(10px);transition:opacity .18s ease,transform .18s ease;cursor:pointer}
.ui-toast.is-open{opacity:1;transform:none}
.ui-toast.is-leaving{opacity:0;transform:translateY(6px)}
.ui-toast-icon{flex:0 0 22px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.14)}
.ui-toast-icon svg{width:14px;height:14px}
.ui-toast.is-ok .ui-toast-icon{background:#15803d}
.ui-toast.is-error .ui-toast-icon{background:#dc2626}
.ui-toast.is-info .ui-toast-icon{background:#0f766e}
@media (max-width:560px){.ui-card{padding:18px 16px 14px}.ui-foot{flex-direction:column-reverse}.ui-btn{width:100%}}
/* вложения: чипы перед отправкой и файлы в пузыре */
.attach-bar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.attach-chip{display:flex;align-items:center;gap:8px;padding:5px 8px 5px 6px;border:1px solid #e3e8ee;border-radius:10px;background:#f8fafc;font-size:13px;max-width:280px}
.attach-chip img{width:34px;height:34px;object-fit:cover;border-radius:6px;flex:0 0 34px}
.attach-ic{font-size:18px;line-height:1}
.attach-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.attach-rm{border:0;background:none;color:#6b7280;font-size:16px;line-height:1;cursor:pointer;padding:2px 4px}
.attach-rm:hover{color:#b91c1c}
.messages.is-drop,.composer-box.is-drop{outline:2px dashed #0f766e;outline-offset:-4px}
.msg .att{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.msg .att-img img{display:block;max-width:280px;max-height:220px;border-radius:10px;border:1px solid rgba(0,0,0,.08)}
.msg .att-file{display:inline-flex;align-items:center;padding:6px 10px;border-radius:9px;background:rgba(255,255,255,.7);border:1px solid rgba(0,0,0,.08);color:#111827;text-decoration:none;font-size:13px}
/* опасная зона в профиле */
.danger-zone{margin-top:32px;padding:18px 20px;border:1px solid #fecaca;border-radius:14px;background:#fff7f7}
.danger-title{margin:0 0 6px;font-size:15px;font-weight:700;color:#b91c1c}
.danger-hint{margin:0 0 14px;font-size:13px;color:#7f1d1d;line-height:1.45}
.btn.btn-danger{background:#dc2626;color:#fff;border-color:#dc2626}
.btn.btn-danger:hover{background:#b91c1c;border-color:#b91c1c}
