/* Account form layout. Shared appearance is defined in house.css. */
.login-shell{min-height:calc(100svh - 58px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:var(--space-3xl);max-width:1160px;margin:auto;padding:var(--space-2xl) var(--space-xl);align-items:center}
.login-shell .intro{position:relative;align-self:stretch;display:flex;flex-direction:column;align-items:start;justify-content:center}
.house-interior .login-shell .intro h1{font-size:clamp(2rem,3.6vw,3.2rem);margin:var(--space-2xl) 0 var(--space-lg);font-weight:500;line-height:1.4}
.login-shell .intro>p{color:var(--color-ink-2);line-height:1.85}
.login-house-art{width:min(100%,420px);height:auto;display:block;margin-top:var(--space-md)}
.auth-card{padding:var(--space-xl);border-radius:var(--radius-card);min-width:0}
.tabs{display:flex;gap:var(--space-sm);margin-bottom:var(--space-xl);background:var(--color-paper-2);border-radius:var(--radius-pill);padding:var(--space-xs)}
.tabs button{flex:1;border:0;border-radius:var(--radius-pill);padding:10px 14px;min-height:44px;color:var(--color-ink-2);font-size:var(--text-sm);background:transparent}
.tabs button[aria-selected=true]{background:var(--color-surface);color:var(--color-ink)}
.auth-card h2{font-size:var(--text-xl);margin:0 0 var(--space-sm)}
.hint{font-size:var(--text-sm);color:var(--color-ink-2);margin:8px 0 20px;line-height:1.7}
label{display:block;margin:18px 0 8px;font-size:var(--text-sm)}
input{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-md)}
.primary{width:100%;border:0;border-radius:var(--radius-pill);color:var(--color-accent-ink);background:var(--color-accent);padding:13px 18px;min-height:48px;cursor:pointer}
.primary:disabled{opacity:.55}.feedback{font-size:var(--text-sm);color:var(--color-error)}.feedback:empty{display:none}.feedback.success{color:var(--color-accent)}
.text-button{background:transparent;border:0;padding:10px 0;color:var(--color-accent);min-height:44px;font-size:var(--text-sm);cursor:pointer;text-align:left;display:block}
.invitation-confirmation{margin:var(--space-lg) 0;padding:var(--space-md);border-radius:var(--radius-input);background:var(--color-paper-2)}
.invitation-confirmation label{display:flex;gap:12px;align-items:flex-start;font-size:var(--text-xs);line-height:1.8;margin:0;cursor:pointer}
.invitation-confirmation input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:4px 0 0;flex:0 0 18px;accent-color:var(--color-accent)}
.email-steps{display:flex;list-style:none;padding:0;margin:20px 0 24px;gap:20px;font-size:var(--text-sm);color:var(--color-ink-2)}.email-steps li{display:flex;gap:8px;align-items:center}.email-steps span{display:grid;place-items:center;border-radius:50%;width:28px;height:28px;background:var(--color-paper-2)}.email-steps [aria-current=step]{color:var(--color-ink)}.email-steps [aria-current=step] span{background:var(--color-accent);color:var(--color-accent-ink)}
.auth-card input[readonly]{background:var(--color-paper-2);color:var(--color-ink-2)}
.email-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.house-page #otp{font-size:var(--text-lg);letter-spacing:.2em}.house-page #feedback:focus{outline:2px solid var(--color-accent);outline-offset:4px}
@media(max-width:780px){.login-shell{grid-template-columns:minmax(0,1fr);max-width:510px;min-height:0;gap:var(--space-xl);padding:var(--space-xl) var(--space-lg)}.login-shell .intro{display:block}.house-interior .login-shell .intro h1{font-size:var(--text-xl);margin:var(--space-xl) 0 0}.login-house-art,.login-shell .intro>p{display:none}.auth-card{padding:var(--space-lg)}.auth-card h2{font-size:var(--text-lg)}}
