Контекст
После автозаполнения пароля менеджером паролей / браузером поле InputPassword отображается с светло-голубым фоном (:-webkit-autofill), который не совпадает с дизайном InputGroup (прозрачный InputGroupInput, общая рамка и фон группы). Визуально фон «заливает» только область <input>, из‑за чего ломается цельный вид компонента: контраст с бордером InputGroup, рассинхрон с кнопкой «глаз» справа.
Воспроизведение (по скриншоту):
- Открыть форму регистрации (
SignupForm, /signup).
- Сохранить пароль в браузере или вызвать autofill для полей «Пароль» / «Повторите пароль» (
autoComplete="new-password").
- Обновить страницу или снова сфокусировать поле — в поле «Пароль» появляется голубой фон autofill, маскированные символы (••••), иконка скрытия пароля остаётся на месте.
Скриншот: приложен (голубой фон внутри InputGroup, фокус с синей обводкой).

Затронутые места:
src/shared/ui/input-password/InputPassword.tsx
src/shared/ui/InputGroup.tsx → InputGroupInput
src/pages/auth/signup/ui/SignupForm.tsx (основной кейс на скрине)
src/pages/auth/signin/ui/SigninForm.tsx
src/pages/auth/forgot-password/ui/PasswordForm.tsx
В кодовой базе нет переопределения :-webkit-autofill — браузерные стили применяются «как есть».
Технические требования
- Локация логики: централизованно в shared UI —
InputGroupInput и/или InputPassword, при необходимости утилита в src/app/styles/global.css (только для [data-slot="input-group-control"] / password inputs)
- Инструменты: CSS (
:-webkit-autofill, hover/focus/active), CSS-переменные темы (--background, --foreground, --input), Tailwind v4, Storybook (input-password.stories.ts)
- Логика работы:
- Переопределить фон и цвет текста autofill через design tokens (light +
.dark), чтобы поле визуально совпадало с обычным состоянием InputGroup (без отдельного голубого «пятна»).
- Использовать устойчивый паттерн подавления браузерного фона: inset
box-shadow с цветом фона темы + при необходимости transition: background-color 9999s (или эквивалент без мигания жёлтого/голубого при снятии autofill).
- Сохранить прозрачность input внутри группы: autofill не должен рисовать свой
background-color поверх/вместо фона InputGroup.
- Проверить оба поля на
/signup (с showEyeIcon и без — confirmPassword), переключение видимости пароля, focus/hover, aria-invalid.
- Не отключать autofill (
autocomplete="off" не использовать) — только визуальная коррекция.
Цель и критерии приемки (Definition of Done)
Важные указания
- Производительность: только CSS, без JS.
- Ошибки: Красный лейбл/ошибки валидации (
Field, FieldError) — отдельная логика форм; в scope задачи только autofill-стили, не менять правила Zod/React Hook Form.
- Безопасность: не логировать значения пароля;
autoComplete оставить (new-password, current-password).
- Доступность: контраст текста и focus-visible после правок ≥ WCAG AA.
Контекст
После автозаполнения пароля менеджером паролей / браузером поле
InputPasswordотображается с светло-голубым фоном (:-webkit-autofill), который не совпадает с дизайномInputGroup(прозрачныйInputGroupInput, общая рамка и фон группы). Визуально фон «заливает» только область<input>, из‑за чего ломается цельный вид компонента: контраст с бордеромInputGroup, рассинхрон с кнопкой «глаз» справа.Воспроизведение (по скриншоту):
SignupForm,/signup).autoComplete="new-password").Скриншот: приложен (голубой фон внутри

InputGroup, фокус с синей обводкой).Затронутые места:
src/shared/ui/input-password/InputPassword.tsxsrc/shared/ui/InputGroup.tsx→InputGroupInputsrc/pages/auth/signup/ui/SignupForm.tsx(основной кейс на скрине)src/pages/auth/signin/ui/SigninForm.tsxsrc/pages/auth/forgot-password/ui/PasswordForm.tsxВ кодовой базе нет переопределения
:-webkit-autofill— браузерные стили применяются «как есть».Технические требования
InputGroupInputи/илиInputPassword, при необходимости утилита вsrc/app/styles/global.css(только для[data-slot="input-group-control"]/ password inputs):-webkit-autofill, hover/focus/active), CSS-переменные темы (--background,--foreground,--input), Tailwind v4, Storybook (input-password.stories.ts).dark), чтобы поле визуально совпадало с обычным состояниемInputGroup(без отдельного голубого «пятна»).box-shadowс цветом фона темы + при необходимостиtransition: background-color 9999s(или эквивалент без мигания жёлтого/голубого при снятии autofill).background-colorповерх/вместо фонаInputGroup./signup(сshowEyeIconи без —confirmPassword), переключение видимости пароля, focus/hover,aria-invalid.autocomplete="off"не использовать) — только визуальная коррекция.Цель и критерии приемки (Definition of Done)
/signupне имеет светло-голубого фона браузера; вид совпадает с незаполненным полем в той же теме.InputGroup: единая рамка, фон группы и input без «внутреннего прямоугольника» другого цвета; иконка «глаз» визуально на одном уровне с полем./signin,/forgot-password— то же поведение; обычныеInputбез autofill-правок не ломаются (если стили узкие — только password / input-group-control).Важные указания
Field,FieldError) — отдельная логика форм; в scope задачи только autofill-стили, не менять правила Zod/React Hook Form.autoCompleteоставить (new-password,current-password).