*{box-sizing:border-box}
body{margin:0;background:#edf2f7;color:#192f45;font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input{font:inherit}
button{-webkit-tap-highlight-color:transparent;cursor:pointer}
.login-shell{display:flex;flex-direction:column;width:100%;max-width:520px;min-height:100vh;min-height:100dvh;margin:auto;background:#f7f9fc;box-shadow:0 0 50px #2444610b;padding:env(safe-area-inset-top) max(22px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(22px,env(safe-area-inset-left))}
.login-brand{display:flex;align-items:center;gap:11px;padding:28px 0 24px;color:#163956;font-size:21px;line-height:1.2}
.login-brand b{color:#168179}
.login-brand small{display:block;font-size:11px;color:#667c89;letter-spacing:.4px;margin-top:5px}
.brand-mark{display:grid;place-items:center;width:45px;height:49px;background:#e4f1eb;border-radius:14px;color:#187569;flex-shrink:0}
.brand-mark svg{width:30px;height:30px}
main{flex:1;padding:22px 0 0}
.login-heading{margin-bottom:25px}
.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#258078;margin:0 0 9px}
h1{font-size:32px;letter-spacing:-.8px;line-height:1.2;margin:0 0 12px}
.login-heading>p:last-child{font-size:15px;line-height:1.65;color:#63798b;margin:0}
.login-card{padding:24px 22px;background:white;border:1px solid #e1e8ee;border-radius:20px;box-shadow:0 5px 20px #173e5904}
h2{font-size:20px;margin:0 0 4px;letter-spacing:-.3px}
.form-intro{font-size:12px;color:#6f8191;margin:0 0 24px}
.form-field{margin-bottom:19px}
label{display:block;font-size:13px;font-weight:600;margin-bottom:7px;color:#29465a}
input{display:block;width:100%;min-width:0;min-height:52px;padding:13px 14px;border:1px solid #cfdce4;border-radius:10px;background:#fcfdfe;color:#192f45;font-size:16px;line-height:1.4}
input::placeholder{color:#7a8a97;font-size:14px;opacity:1}
input:focus{outline:3px solid #16817922;border-color:#168179;background:#fff}
.password-field{position:relative}
.password-field:has(.password-toggle:not([hidden])) input{padding-right:78px}
.password-toggle{position:absolute;right:5px;top:4px;bottom:4px;min-width:64px;padding:0 7px;border:0;border-radius:7px;background:transparent;color:#176b69;font-size:12px;font-weight:650}
.password-toggle:hover{background:#edf6f2}
[hidden]{display:none!important}
button:focus-visible{outline:3px solid #43a5bc;outline-offset:3px}
.login-submit{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;min-height:52px;border:0;border-radius:11px;background:#176b69;color:#fff;font-size:16px;font-weight:650;margin-top:25px;padding:12px 16px}
.login-submit:hover{background:#125b59}
.login-submit>span{font-size:20px;line-height:1}
.login-error{margin:0 0 20px;padding:12px 14px;border:1px solid #efc9c5;border-radius:10px;background:#fff3f1;color:#9b3530;font-size:13px;overflow-wrap:anywhere}
.login-help{font-size:12px;line-height:1.8;text-align:center;color:#728592;margin:23px 0 12px}
.login-help strong{font-weight:600;color:#3b6572}
footer{padding:24px 0 20px;text-align:center;font-size:11px;line-height:1.9;color:#758a99}
footer span{font-size:10px;color:#8294a1}
@media(max-width:350px){.login-shell{padding-left:16px;padding-right:16px}.login-brand{padding-top:22px;padding-bottom:14px}main{padding-top:16px}h1{font-size:29px}.login-card{padding:21px 17px}.form-intro{font-size:11px}}
@media(max-height:700px){.login-brand{padding-top:18px;padding-bottom:16px}main{padding-top:9px}.login-heading{margin-bottom:18px}.login-help{margin-top:18px}footer{padding-top:16px}}
