diff --git a/src/app/pages/auth/styles.css.ts b/src/app/pages/auth/styles.css.ts index 440c082e..01039433 100644 --- a/src/app/pages/auth/styles.css.ts +++ b/src/app/pages/auth/styles.css.ts @@ -285,6 +285,20 @@ globalStyle(`${AuthCardContent} input::placeholder`, { color: 'rgba(232, 228, 223, 0.35)', }); +/* + * Floor for input boxes when the modal is height-constrained (small screen + * or on-screen keyboard). Natural input height is 3rem; floor at 2rem so + * the keyboard can still squeeze the form to ~66% before hitting the stop. + * Past the floor, flex can't compress further — the form overflows the + * AuthLayout (overflow: hidden) and the bottom is covered by the keyboard. + * + * `:has(> input)` targets the folds Input's outer wrapper (the box that + * flex-shrinks) rather than the native . Excludes checkboxes. + */ +globalStyle(`${AuthCardContent} div:has(> input:not([type="checkbox"]))`, { + minHeight: toRem(48), +}); + /* * Chromium's UA stylesheet paints a saved-credentials overlay on * :-webkit-autofill inputs, forcing a light background and dark text. Without