/* Login and personal account share the Apple-inspired neutral work surface. */
.login-page { min-height:100dvh; display:grid; place-items:center; margin:0; padding:32px; background:var(--bg); color:var(--text); font:14px/1.6 var(--font-ui); -webkit-font-smoothing:antialiased; }
.login-card { display:block; width:min(420px,100%); background:var(--bg-card); border:1px solid var(--border); border-radius:22px; overflow:hidden; box-shadow:var(--surface-shadow); }
.login-intro { padding:32px 32px 0; border:0; background:transparent; }
.login-address { font:11px/1.5 var(--font-ui); color:var(--text-secondary); }
.login-intro h1 { margin:16px 0 7px; font:600 27px/1.25 var(--font-ui); letter-spacing:-.04em; }
.login-intro p { color:var(--text-secondary); }
.login-purpose { display:none; }
.login-purpose span { border-top:1px solid var(--border); padding-top:10px; }
.login-entry { padding:25px 32px 32px; }
.login-entry h2 { margin:0 0 17px; font-size:15px; font-weight:600; }
.login-entry form { display:grid; gap:10px; }
.login-entry input:not([type=checkbox]),.account-settings input:not([type=checkbox]) { min-width:0; width:100%; padding:10px 12px; border:1px solid var(--border); border-radius:9px; background:var(--field-bg); color:var(--text); font:inherit; }
.login-entry button { padding:11px 16px; margin-top:6px; background:var(--button-blue); border:0; border-radius:9px; color:white; font-family:inherit; font-size:14px; font-weight:500; line-height:1.5; cursor:pointer; }
.login-entry button:disabled { opacity:.6; cursor:wait; }
.login-entry :focus-visible,.account-settings :focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.password-reveal { display:flex!important; align-items:center; gap:8px; font-size:13px; color:var(--text-secondary); cursor:pointer; }
.password-reveal input { accent-color:var(--primary); }
.login-help,.account-help { margin-top:20px; color:var(--text-secondary); font-size:12px; }
.login-entry .form-error { margin:0; min-height:20px; }
.account-settings { max-width:460px; }
.account-identity { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:20px; border-bottom:1px solid var(--border); }
.account-identity strong { display:block; margin-top:4px; font-size:20px; }
.account-identity small { color:var(--text-secondary); }
.account-settings form { display:grid; gap:12px; margin-top:24px; }
.account-settings h3 { margin:0 0 4px; }
.account-settings label:not(.password-reveal) { display:grid; gap:6px; }
.account-settings small { color:var(--text-secondary); }
.account-settings #passwordMessage { margin:0; }
.account-success { color:var(--primary); }
.account-settings form>button { justify-self:start; }
@media(max-width:600px) { .login-page { padding:16px; } .login-card { grid-template-columns:1fr; } .login-intro { padding:24px; } .login-intro h1 { margin-top:12px; font-size:25px; } .login-purpose { display:none; } .login-entry { padding:24px; } .login-entry h2 { font-size:20px; margin-bottom:20px; } }
