/* Единые модалки проекта: подтверждение (uiConfirm), ввод (uiPrompt), копирование (uiCopy).
   Замена браузерных confirm()/prompt()/alert() — UI-правило проекта: системные окна запрещены.
   Геометрия/цвета — как у клиентских модалок («Пополнение баланса» в app.php, «Счёт клиенту» в
   partner-cabinet.php): оверлей rgba(27,31,36,.5), карточка 14px, статус #57606a / ошибка #d1242f /
   успех #1a7f37, primary #4f46e5. Стили САМОДОСТАТОЧНЫ (админ-страницы clarify.css не подключают).
   Префикс .uid- — чтобы не пересекаться с вёрсткой админки и кабинета.
   Подключение: <link rel="stylesheet" href="/ui-dialogs.css"> + <script src="/ui-dialogs.js"></script> */

.uid-overlay { position: fixed; inset: 0; z-index: 9600; display: none; align-items: center; justify-content: center; background: rgba(27, 31, 36, .5); padding: 16px; }
.uid-overlay.is-open { display: flex; }

.uid-modal { background: var(--card, #fff); border-radius: 14px; max-width: 460px; width: 100%; max-height: 90vh; overflow: auto; box-shadow: 0 12px 40px rgba(0, 0, 0, .25); font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.uid-modal__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 16px 20px; border-bottom: 1px solid var(--border, #eaeef2); font-weight: 600; font-size: 15px; color: var(--text, #1f2328); }
.uid-modal__close { background: none; border: none; font-size: 22px; line-height: 1; color: var(--muted, #57606a); cursor: pointer; padding: 0 2px; }
/* ⚠️ ЯВНОЕ ПРАВИЛО, А НЕ НАДЕЖДА НА БРАУЗЕР. Окно обязательного обновления прячет крестик атрибутом
   hidden; у кнопки своего display здесь нет, и по умолчанию сработало бы правило браузера — но ровно на
   этом уже обжигались: display из правила бьёт атрибут hidden молча, и «спрятанное» остаётся на экране. */
.uid-modal__close[hidden] { display: none; }
.uid-modal__body { padding: 20px; }

.uid-text { font-size: 14px; line-height: 1.5; color: var(--text, #1f2328); white-space: pre-line; }
.uid-label { display: block; margin: 0 0 6px; font-weight: 600; font-size: 13px; color: var(--text, #1f2328); }
.uid-input { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--border, #d0d7de); border-radius: 8px; font-size: 15px; font-family: inherit; color: var(--text, #1f2328); background: var(--card, #fff); }

.uid-msg { font-size: 13px; margin-top: 8px; min-height: 16px; color: var(--muted, #57606a); }
.uid-msg.is-error { color: var(--danger-strong, #d1242f); }
.uid-msg.is-ok { color: var(--success-ink, #1a7f37); }

.uid-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 18px; flex-wrap: wrap; }
.uid-btn { border: 1px solid var(--border, #d0d7de); background: var(--surface-hover, #f6f8fa); color: var(--text, #1f2328); border-radius: var(--btn-radius, 10px); padding: 9px 16px; font-weight: 600; font-size: 14px; cursor: pointer; font-family: inherit; }
.uid-btn:hover { background: var(--surface-2, #eef1f4); }
.uid-btn--primary { border: 0; background: #4f46e5; color: #fff; font-weight: 700; }
.uid-btn--primary:hover { background: #4338ca; }
.uid-btn--danger { border: 0; background: var(--danger-button, #d1242f); color: #fff; font-weight: 700; }
.uid-btn--danger:hover { background: #b21b26; }
