/* ═══════════════════════════════════════════════════════════════════
   fm-secret — дизайн-системный компонент полей с секретами.

   Контракт: input[data-secret] автоматически получает действия справа:
     • глаз (показать/скрыть) — всегда;
     • копирование — для api-ключей/токенов (по умолчанию);
       пароль/логин-ключ: data-secret="eye" — только глаз, без копии.

   Инициализация: fm-secret.js (автозапуск + window.fmSecrets.init(root)
   для динамически отрендеренных форм — коннекторы, BYOK и т.д.).
   ═══════════════════════════════════════════════════════════════════ */

.fm-secret-wrap { position: relative; display: block; }
.fm-secret-wrap input,
.fm-secret-wrap .input-field {
  padding-right: var(--fm-secret-pad, 3.25rem); /* одна кнопка */
}
.fm-secret-wrap[data-copy] input,
.fm-secret-wrap[data-copy] .input-field {
  padding-right: calc(var(--fm-secret-pad, 3.25rem) + 2.25rem); /* глаз + копия */
}

.fm-secret-toolbar {
  position: absolute; top: 0; right: 4px; bottom: 0;
  display: flex; align-items: center; gap: 2px;
  pointer-events: none; /* кликаем только по кнопкам */
}
.fm-secret-btn {
  pointer-events: auto;
  width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  background: none; border: none; border-radius: var(--radius-sm, 8px);
  color: var(--text-muted, #94a3b8); cursor: pointer;
  transition: color .15s var(--ease-out, ease-out), background .15s;
}
.fm-secret-btn:hover { color: var(--text-primary, #e2e8f0); background: var(--bg-inset, rgba(255,255,255,.06)); }
.fm-secret-btn:focus-visible { outline: 2px solid var(--accent-solid, #34d399); outline-offset: 2px; }
.fm-secret-btn[aria-pressed="true"] { color: var(--accent-text, #34d399); }
.fm-secret-btn svg { width: 18px; height: 18px; }
/* Пulsе-подтверждение копирования: иконка → галка на 1.2s */
.fm-secret-btn.copied { color: var(--accent-text, #34d399); }
