.login-module__oBo3cG__wrap{min-height:100dvh;padding:max(var(--s-5), env(safe-area-inset-top)) var(--s-4) max(var(--s-5), env(safe-area-inset-bottom));background:var(--bg);place-items:center;display:grid}.login-module__oBo3cG__card{width:100%;max-width:24rem;padding:var(--s-6);background:var(--bg-elev);border-radius:var(--r-3);box-shadow:var(--shadow-1)}.login-module__oBo3cG__header{margin-bottom:var(--s-6);text-align:center}.login-module__oBo3cG__title{font:var(--t-h2);color:var(--fg)}.login-module__oBo3cG__subtitle{margin-top:var(--s-1);font:var(--t-body-sm);color:var(--fg-2)}.login-module__oBo3cG__form{gap:var(--s-4);flex-direction:column;display:flex}.login-module__oBo3cG__field{gap:var(--s-2);flex-direction:column;display:flex}.login-module__oBo3cG__label{font:var(--t-label);color:var(--fg-2)}.login-module__oBo3cG__input{min-height:var(--tap-min);padding:var(--s-2) var(--s-3);color:var(--fg);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r-2);transition:border-color .15s ease-out,box-shadow .15s ease-out}.login-module__oBo3cG__input:focus-visible{border-color:var(--focus-ring);outline:2px solid var(--focus-ring);outline-offset:1px}.login-module__oBo3cG__input[aria-invalid=true]{border-color:var(--danger)}.login-module__oBo3cG__passwordRow{display:flex;position:relative}.login-module__oBo3cG__passwordRow .login-module__oBo3cG__input{flex:1;padding-right:3rem}.login-module__oBo3cG__toggle{width:3rem;height:100%;min-height:var(--tap-min);color:var(--fg-3);border-radius:var(--r-2);place-items:center;display:grid;position:absolute;top:0;right:0}.login-module__oBo3cG__toggle:hover{color:var(--fg)}.login-module__oBo3cG__error{align-items:flex-start;gap:var(--s-2);font:var(--t-body-sm);color:var(--danger);display:flex}.login-module__oBo3cG__submit{min-height:var(--tap-min);padding:var(--s-3) var(--s-4);font:var(--t-body);color:var(--on-primary);background:var(--primary);border-radius:var(--r-2);font-weight:600;transition:background-color .15s ease-out}.login-module__oBo3cG__submit:hover:not(:disabled){background:var(--primary-hover)}.login-module__oBo3cG__submit:active:not(:disabled){transform:scale(.99)}
