.ttb-login .ttb-login-card { max-width: 520px; margin: 0 auto; background: white; border: 1px solid var(--card-border); border-radius: 15px; padding: 34px 32px; box-shadow: 0 2px 14px rgba(24,5,70,.07); }
.ttb-login .ttb-login-card h2 { font-size: 28px; }
.ttb-login .ttb-login-card .login_form { display: block; margin: 0; width: 100%; height: auto; min-height: 0; }
.ttb-login .ttb-login-card label { display: block; margin: 18px 0 6px; font-weight: 600; }
.ttb-login .ttb-login-card .login_input { width: 100%; min-height: 46px; height: auto; padding: 10px 12px; border: 1px solid var(--card-border); border-radius: 6px; background: white; color: var(--text); font: inherit; }
.ttb-login .ttb-login-card .btn { width: 100%; margin-top: 20px; }
.ttb-login .ttb-login-card .btn:disabled { opacity: .5; cursor: not-allowed; }
.ttb-login .ttb-login-card div.login_form_spacer { display: none; }
.ttb-login .ttb-login-card p.login_form_spacer { height: auto; margin: 18px 0 0; font-size: 15px; text-align: center; }
.ttb-login .ttb-login-card a { color: var(--purple); text-decoration: underline; }
.ttb-login .finalReport { margin-bottom: 12px; }
.ttb-login .login-support { border-top: 1px solid var(--card-border); margin-top: 28px; padding-top: 24px; }
.ttb-login .login-support h3 { font-size: 21px; }
.ttb-login .login-support .help-link { margin: 22px 0 0; font-size: 14px; }
.ttb-login :is(input,a):focus-visible { outline: 3px solid var(--purple); outline-offset: 3px; }
@media(max-width:767px) { .ttb-login .ttb-login-card { padding: 26px 20px; } }
