/* A narrow, single-column form; all input text and autofill remain readable. */
.login-page{margin:0;background:#0b1220;color:#f0f5fc;font-family:system-ui,-apple-system,sans-serif}
.login-page .login-shell{max-width:450px;padding:12px 16px 28px;margin:0 auto;min-width:0}
.login-page .login-nav{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 14px}
.login-nav a{display:flex;align-items:center;min-height:44px;color:#c9e0ff;text-decoration:none;padding:0 5px}
.login-page .login-heading{padding:0;margin:0 0 16px}.login-heading h1{font-size:1.65rem;margin:0;line-height:1.2}
.login-page .login-card{padding:18px;background:#172337;border:1px solid #31445e;border-radius:16px}
.login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px}
.login-tabs button{min-height:44px;padding:8px;font-size:16px;border-radius:9px;border:1px solid #3f536d;color:#cbd9ed;background:#101c2c}
.login-tabs button[aria-selected=true]{background:#2d4562;color:#fff;border-color:#6fb7ff}
.login-page label{display:block;margin:12px 0 6px;color:#dce7f6;font-size:15px;font-weight:600}
.login-page input{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:50px;padding:12px 13px;font:16px/1.4 system-ui,sans-serif;color:#fff;-webkit-text-fill-color:#fff;caret-color:#fff;background:#0c1728;border:1px solid #52667f;border-radius:10px;opacity:1}
.login-page input:-webkit-autofill{-webkit-text-fill-color:#fff!important;box-shadow:0 0 0 1000px #0c1728 inset!important;caret-color:#fff}
.login-page input:focus-visible,.login-page button:focus-visible,.login-page a:focus-visible{outline:3px solid #6db6ff;outline-offset:2px}
.login-password{display:flex;align-items:stretch;gap:8px;min-width:0}.login-password input{flex:1;width:0;min-width:0}
.login-password button{flex:0 0 75px;min-height:50px;padding:6px;border:1px solid #52667f;border-radius:10px;background:#23374f;color:#f0f5fc;font-size:14px}
.login-page #login,.login-page #register{width:100%;min-height:48px;margin:18px 0 0;font-size:16px}
.login-note{font-size:.86rem;line-height:1.45;color:#bdcbe0;margin:10px 0}
.login-page #message{position:static;transform:none;inset:auto;max-width:none;margin:10px 0 0;padding:0;background:transparent;color:#ffbdbd;line-height:1.4;white-space:normal;font-size:.9rem;pointer-events:none}
.login-page #message:empty{display:none}.login-forgot{display:inline-flex;align-items:center;min-height:44px;color:#84bdff;font-size:.9rem}
.login-help{border-top:1px solid #3b4b63;margin-top:4px;padding-top:8px;font-size:.84rem;color:#b9c8dd}.login-help summary{min-height:36px;display:flex;align-items:center;cursor:pointer}.login-help p{line-height:1.5}
.login-google{padding-top:12px;border-top:1px solid #3b4b63;overflow:hidden}.login-page [hidden]{display:none!important}
@media(max-width:360px){.login-page .login-shell{padding:8px 12px 22px}.login-page .login-card{padding:14px}.login-page .login-heading{margin-bottom:10px}}

.login-page .login-shell {padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom));}
