:root { --navy:#052a70; --pink:#fa0a62; --pink-dark:#d70752; --ink:#031f55; --muted:#30476b; --line:#cbd7e6; --soft:#f5f8fc; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:linear-gradient(145deg,#f8faff,#fff2f6); }
button,input { font:inherit; }
.auth-shell { width:min(100%,560px); min-height:100vh; margin:auto; padding:0 18px 32px; }
.auth-header { display:flex; align-items:center; height:78px; }
.auth-brand { display:flex; align-items:center; color:var(--navy); font-size:24px; font-weight:850; letter-spacing:-1px; text-decoration:none; }
.auth-brand > span { margin-right:5px; color:var(--pink); font-size:42px; font-weight:400; line-height:1; transform:rotate(-7deg); }
.auth-brand b { color:var(--pink); }
.auth-card { padding:34px; background:#fff; border:1px solid #e1e7f0; border-radius:18px; box-shadow:0 18px 55px rgba(5,42,112,.09); }
.auth-heading { margin-bottom:25px; }
.auth-heading h1 { margin:0 0 8px; font-size:30px; letter-spacing:-.5px; }
.auth-heading p,.auth-card > p { margin:0; color:var(--muted); font-size:16px; line-height:1.55; }
.auth-form { display:grid; gap:20px; }
.auth-field label { display:block; margin-bottom:7px; color:var(--ink); font-weight:780; }
.auth-field input { width:100%; min-height:51px; padding:0 14px; color:var(--ink); background:#fff; border:1px solid #aebed2; border-radius:9px; font-size:16px; }
.auth-field input:focus { outline:3px solid rgba(28,108,193,.18); border-color:#1c6cc1; }
.auth-field p { margin:7px 0 0; color:#324d73; font-size:14px; line-height:1.45; }
.auth-check { display:grid; grid-template-columns:21px 1fr; gap:10px; align-items:start; color:var(--ink); line-height:1.45; cursor:pointer; }
.auth-check input { width:20px; height:20px; margin:1px 0 0; accent-color:var(--pink); }
a { color:#0b55a2; font-weight:700; }
.auth-primary,.auth-secondary { display:grid; place-items:center; width:100%; min-height:52px; padding:0 20px; border-radius:10px; font-weight:820; text-decoration:none; cursor:pointer; }
.auth-primary { color:#fff; background:linear-gradient(100deg,var(--pink),#ff146c); border:0; box-shadow:0 8px 20px rgba(250,10,98,.18); }
.auth-primary:hover { background:var(--pink-dark); }
.auth-secondary { color:var(--navy); background:#fff; border:1px solid #93a8c2; }
.auth-danger { display:grid; place-items:center; width:100%; min-height:52px; padding:0 20px; color:#fff; background:#a40c3e; border:0; border-radius:10px; font-weight:820; cursor:pointer; }
.auth-danger:hover { background:#81072f; }
.auth-danger-link { margin-top:8px; padding:9px; color:#8d123d; font-weight:750; }
.link-button { margin-top:12px; }
.auth-alert { margin:0 0 22px; padding:14px 16px; border-radius:9px; line-height:1.5; }
.auth-alert.error { color:#7e1236; background:#fff0f5; border-left:4px solid var(--pink); }
.auth-alert.success { color:#075e43; background:#ebfaf4; border-left:4px solid #10a675; }
.auth-alert.warning { color:#694000; background:#fff7e8; border-left:4px solid #e69a21; }
.auth-alert p { margin:6px 0 0; }
.auth-alert ul { margin:7px 0 0; padding-left:20px; }
.auth-switch { margin-top:22px !important; text-align:center; }
.login-create-account { margin-bottom:24px !important; }
.auth-links { margin-top:16px; text-align:center; }
.auth-actions { display:grid; gap:13px; margin-top:23px; text-align:center; }
.auth-text-link { padding:8px; }
.auth-safety { margin:18px auto 0; color:#30476b; font-size:13px; line-height:1.5; text-align:center; }
.account-summary { margin:0; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.account-summary > div { display:grid; grid-template-columns:110px 1fr; gap:12px; padding:14px; }
.account-summary > div + div { border-top:1px solid var(--line); }
.account-summary dt { color:var(--muted); font-weight:750; }
.account-summary dd { min-width:0; margin:0; overflow-wrap:anywhere; color:var(--ink); font-weight:700; }
@media (max-width:600px) {
    body { background:#fff; }
    .auth-shell { padding-inline:0; }
    .auth-header { height:68px; padding:0 18px; }
    .auth-brand { font-size:21px; }
    .auth-brand > span { font-size:36px; }
    .auth-card { padding:28px 18px 34px; border:0; border-top:1px solid #edf0f5; border-radius:0; box-shadow:none; }
    .auth-heading h1 { font-size:27px; }
    .auth-heading p,.auth-card > p { color:#203a61; }
    .auth-field label { font-size:16px; }
    .auth-field input { color:#021742; font-weight:600; }
    .auth-safety { padding:0 20px; color:#30496c; }
}

/* Direct high-contrast source rules. */
body{background:#fff!important;color:#000!important}.auth-card,.auth-alert{background:#fff!important;color:#000!important;border-color:#777!important;box-shadow:none!important}.auth-card *{color:#000!important}.auth-primary,.auth-secondary{background:#fff!important;color:#000!important;border:2px solid #000!important;box-shadow:none!important}

/* Highlight the new-member account creation action on the sign-in screen. */
.login-create-account a {
    color: #fa0a62 !important;
    font-weight: 850;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 2px;
}
.login-create-account a:hover,
.login-create-account a:focus-visible {
    color: #d70752 !important;
}
