*{box-sizing:border-box}
:root{font:15px system-ui,-apple-system,"Segoe UI",sans-serif;color:#173441;background:#f6f8f9}
body{margin:0;min-height:100dvh;display:grid;grid-template-columns:minmax(380px,1.05fr) minmax(430px,1fr);-webkit-font-smoothing:antialiased}
.welcome{background:#142e3a;color:#fff;padding:44px 9%;display:flex;flex-direction:column;position:relative;overflow:hidden}
.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:550}
.brand b,.mobile-brand b{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:11px;background:#37c4af;color:#153e42;font-size:29px;font-weight:750}
.brand small{display:block;font-size:8px;letter-spacing:1.7px;color:#a3bcc6;margin-top:7px}
.welcome-copy{margin-top:auto;padding-top:62px}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;color:#6f999e;line-height:1.7}
.welcome h2{font-size:clamp(35px,3.7vw,55px);font-weight:600;letter-spacing:-1.8px;line-height:1.15;margin:22px 0}
.welcome-copy>p:last-child{font-size:15px;line-height:1.8;color:#a9c2cd}
.plan-illustration{margin:26px 0 28px;padding:15px 0 0}
.plan-illustration svg{display:block;width:100%;max-height:200px}
.plan-caption{display:block;font-size:8px;letter-spacing:2px;color:#94b6bf;margin-top:12px;text-align:center}
.welcome-footer{margin-top:auto;padding-top:22px;font-size:11px;color:#789ba7}
main{display:flex;align-items:center;justify-content:center;padding:48px 35px}
.login-card{width:100%;max-width:370px}
.login-card>.eyebrow{color:#5a737e;margin:0 0 14px;font-size:10px}
h1{font-size:30px;letter-spacing:-.9px;font-weight:650;margin:0 0 10px;line-height:1.2}
.intro{font-size:14px;color:#586f7a;line-height:1.6;margin:0 0 30px}
label{display:block;font-size:13px;font-weight:600;color:#385764;margin:20px 0 8px}
input{display:block;width:100%;min-height:49px;padding:13px 14px;border:1px solid #cddce1;background:white;border-radius:8px;font:inherit;color:#173441}
input::placeholder{color:#607680;font-size:14px}
button{display:block;width:100%;min-height:49px;background:#087c72;color:white;padding:14px;border:0;border-radius:8px;font:inherit;font-size:14px;font-weight:650;cursor:pointer;margin:18px 0 0}
button:hover{background:#06695f}
button:disabled{opacity:.6;cursor:wait}
.password-field{position:relative}
.password-field input{padding-right:66px}
.password-field button{position:absolute;right:5px;top:5px;bottom:5px;width:52px;min-height:0;padding:7px;margin:0;background:#edf5f3;color:#20685f;font-size:12px;font-weight:600}
.password-field button:hover{background:#dfeee8}
input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #168dba;outline-offset:3px}
#error{color:#a83e32;font-size:13px;line-height:1.6}
#error:empty{display:none}
#error:not(:empty){padding:12px;background:#fff0e9;border:1px solid #efcfc2;border-radius:8px;margin:16px 0 0}
.access-help{border-top:1px solid #dfe7ea;margin-top:27px;padding-top:22px}
.access-help strong{font-size:12px;color:#4d6976;font-weight:600}
.access-help p{color:#5d7480;font-size:12px;line-height:1.7;margin:7px 0 0}
a.installLink{display:inline-block;font-size:12px;color:#087c72;text-decoration:none;font-weight:600;margin:18px 0 0;line-height:1.6}
.mobile-brand{display:none}
@media(max-width:850px){body{display:block;background:#f3f6f7}.welcome{display:none}main{min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0 24px 35px}.mobile-brand{display:flex;align-items:center;gap:11px;background:#142e3a;color:white;font-size:20px;font-weight:550;margin:0 -24px 38px;padding:22px 24px}.mobile-brand b{width:40px;height:40px;font-size:25px;border-radius:9px}.login-card{max-width:430px;margin:auto;width:100%}h1{font-size:28px}.intro{font-size:14px;margin-bottom:25px}.login-card>.eyebrow{font-size:9px}input{min-height:52px;font-size:16px}label{font-size:14px}button{min-height:52px;font-size:15px}.access-help{margin-top:25px;padding-top:20px}.access-help strong,.access-help p,a.installLink{font-size:13px}}
