.auth-body{min-height:100vh;margin:0;display:grid;place-items:center;background:radial-gradient(circle at 15% 10%,#fff 0,#f7f8fb 34%,#f1f3f7 100%);color:#172033;font-family:Inter,system-ui,sans-serif;padding:72px 0 28px}.auth-locale{position:fixed;z-index:40;inset-block-start:16px;inset-inline-end:18px}.auth-wrap{width:min(460px,100%);padding:24px}.auth-brand{display:flex;justify-content:center;align-items:flex-start;gap:4px;color:#172033;text-decoration:none;font-weight:950;font-size:22px;margin-bottom:22px;letter-spacing:-.02em}.auth-brand b,.auth-card>.auth-kicker,.auth-card footer a{color:#e62d3f}.auth-brand small{font-size:11px;background:#172033;color:white;padding:3px 5px;border-radius:5px;margin-inline-start:2px;vertical-align:top;letter-spacing:0}.auth-card{background:rgba(255,255,255,.96);border:1px solid #e3e7ee;border-radius:24px;padding:34px;box-shadow:0 24px 70px rgba(23,32,51,.08);backdrop-filter:blur(10px)}.auth-card>.auth-kicker{display:block;font-size:13px;font-weight:900;letter-spacing:.04em}.auth-card h1{font-size:clamp(28px,5vw,34px);line-height:1.08;letter-spacing:-1.1px;margin:9px 0 10px;overflow-wrap:anywhere}.auth-card>.auth-lede{color:#667085;margin:0 0 26px;line-height:1.6}.auth-card form{display:grid;gap:16px}.auth-card label{display:grid;gap:7px;font-size:14px;font-weight:800;color:#344054}.auth-card input{box-sizing:border-box;width:100%;min-height:48px;padding:12px 13px;border:1px solid #d7dde7;border-radius:11px;background:#fff;color:#172033;font:inherit;outline:none}.auth-card input:focus{border-color:#e62d3f;box-shadow:0 0 0 3px #fff0f2}.auth-card button{min-height:48px;padding:12px 15px;border:0;border-radius:11px;background:#e62d3f;color:#fff;font:inherit;font-weight:900;cursor:pointer}.auth-card button:hover{background:#cf2335}.auth-card button:disabled{opacity:.58;cursor:not-allowed}.auth-card footer{text-align:center;margin-top:22px;color:#667085;font-size:14px;line-height:1.5}.alert{background:#fff0f2;color:#9f1d2d;padding:12px 13px;border:1px solid #f8ccd2;border-radius:10px;margin-bottom:15px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.auth-forgot{display:inline-flex;justify-content:center;margin-top:2px;font-weight:750;text-align:center}.auth-reset-message,.auth-reset-success{line-height:1.55}.auth-email-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.auth-email-row button{white-space:nowrap}.auth-inline-status[hidden]{display:none}.auth-role-note{margin-top:16px;text-align:center;color:#667085;font-size:13px}.auth-role-note a{font-weight:800}.auth-card a{color:#b42335}.auth-card :focus-visible,.auth-brand:focus-visible{outline:3px solid #2563eb;outline-offset:3px;border-radius:6px}[dir=rtl] .auth-card{text-align:start}[dir=rtl] .auth-brand small{margin-inline-start:2px;margin-inline-end:0}@media(max-width:560px){.auth-body{display:block;padding-top:74px}.auth-locale{inset-block-start:10px;inset-inline-end:10px}.auth-wrap{box-sizing:border-box;width:100%;padding:14px 14px 24px}.auth-brand{margin:8px 0 18px}.auth-card{width:100%;box-sizing:border-box;padding:26px 20px;border-radius:20px}.auth-email-row{grid-template-columns:1fr}.auth-email-row button{width:100%}}@media(prefers-reduced-motion:reduce){.auth-card *{transition:none!important;animation:none!important}}

.auth-card label:has(input[type=password],input[type=text][name=password]){position:relative}.auth-card label>input[name=password],.auth-card label>input[name=confirm_password]{padding-inline-end:74px}.auth-password-toggle{position:absolute;inset-inline-end:8px;bottom:8px;min-height:36px;padding:0 10px;border:0;border-radius:8px;background:#f2f4f7;color:#344054;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.auth-password-toggle:focus-visible{outline:3px solid #2563eb;outline-offset:2px}

/* Compact password visibility control */
.auth-card label>input[name=password],.auth-card label>input[name=confirm_password]{padding-inline-end:52px}
.auth-card .auth-password-toggle{display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;inset-inline-end:7px;bottom:5px;border:0;border-radius:9px;background:transparent!important;color:#667085!important;box-shadow:none!important;font-size:0;line-height:1;cursor:pointer}
.auth-card .auth-password-toggle:hover{background:#f2f4f7!important}.auth-card .auth-password-toggle svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
