:root{font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;color:#172d31;background:#f4f6f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input{font:inherit}button,a,input{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #36a399}.login-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.intro{background:#172c30;color:#e3efdf;padding:48px 12%;display:flex;flex-direction:column;position:relative;overflow:hidden}.intro::after{content:"";position:absolute;width:480px;height:480px;border:1px solid #3e5654;border-radius:50%;bottom:-235px;right:-200px;box-shadow:0 0 0 65px #172c30,0 0 0 66px #344e4c,0 0 0 125px #172c30,0 0 0 126px #2a4242;pointer-events:none}.back-link{font-size:.8rem;text-decoration:none;position:relative;z-index:1}.back-link:hover{text-decoration:underline}.intro-copy{margin:auto 0;padding:90px 0}.wordmark,.eyebrow{font-size:.65rem;letter-spacing:.18em;font-weight:650}.wordmark{color:#bdd3c5}.intro h1{font-size:clamp(2.2rem,4.7vw,4.7rem);line-height:1.12;letter-spacing:-.06em;font-weight:500;margin:30px 0}.intro-copy p{font-size:.98rem;line-height:1.8;color:#aec9c0}.intro-footer{font-size:.73rem;color:#a7bfb4;position:relative;z-index:1}.sign-in{padding:55px 13%;display:flex;align-items:center;justify-content:center}.sign-in-content{width:100%;max-width:385px}.brand-mark{display:flex;align-items:center;justify-content:center;height:48px;width:48px;border-radius:12px;background:#dce9d4;color:#205347;font-size:32px;margin-bottom:45px}.eyebrow{color:#6b8173;margin-bottom:14px}.sign-in h2{font-weight:600;font-size:2rem;letter-spacing:-.04em;line-height:1.15;margin:0 0 14px}.description{font-size:.87rem;color:#64796c;line-height:1.7;margin:0 0 30px}form{display:flex;flex-direction:column}label{font-size:.82rem;font-weight:600;margin-bottom:9px}input{background:#fff;color:#172d31;border:1px solid #bfcfc3;border-radius:7px;min-height:49px;padding:12px 14px;width:100%}button{display:flex;align-items:center;justify-content:space-between;background:#136e63;color:#fff;border:1px solid #136e63;border-radius:7px;min-height:49px;padding:13px 17px;margin-top:8px;font-weight:600;font-size:.86rem;cursor:pointer}button:hover{background:#0d584e}button:disabled{opacity:.6;cursor:wait}.help{font-size:.75rem;line-height:1.6;color:#738679;margin-top:27px;max-width:280px}#login-error{color:#a32d36;font-size:.8rem;line-height:1.5;margin:10px 0 8px}#login-error:empty{margin:6px 0}#login-status{font-size:.75rem;color:#64796c;line-height:1.5}@media(max-width:800px){.intro{padding:38px 9%}.sign-in{padding:44px 10%}.intro h1{font-size:2.8rem}.sign-in h2{font-size:1.75rem}}@media(max-width:620px){.login-shell{display:flex;flex-direction:column}.intro{padding:22px 28px;min-height:240px}.intro-copy{padding:25px 0 15px}.intro h1{font-size:2.25rem;margin:16px 0 0}.intro h1 br{display:none}.intro-copy p,.intro-footer{display:none}.intro::after{opacity:.55;width:300px;height:300px;bottom:-270px;right:-190px}.wordmark{font-size:.56rem}.back-link{font-size:.7rem}.sign-in{padding:36px 28px 45px;flex:1}.sign-in-content{max-width:400px}.brand-mark{display:none}.sign-in h2{font-size:1.9rem}.description{font-size:.82rem}input{font-size:16px}.help{font-size:.72rem}}
.intro-copy{position:relative;z-index:1}

#username{margin-bottom:20px}

.link-button{display:inline;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:none;color:#136e63;font-size:inherit;text-decoration:underline}.link-button:hover{background:none;color:#0d584e}.secondary-action{justify-content:center;background:#fff;color:#136e63;border-color:#bfcfc3}.secondary-action:hover{background:#edf3ef}.form-help{font-size:.75rem;line-height:1.6;color:#64796c;margin:10px 0 2px}#reset-error{color:#a32d36;font-size:.8rem;line-height:1.5;margin:10px 0 8px}#reset-error:empty{margin:6px 0}#reset-email{margin-bottom:0}
#password-fields{display:flex;flex-direction:column}#password-fields input{margin-bottom:20px}#action-error{color:#a32d36;font-size:.8rem;line-height:1.5;margin:10px 0 8px}#action-error:empty{margin:6px 0}#action-status{font-size:.75rem;color:#64796c;line-height:1.5}

/* Final accessibility overrides for muted text and display typography. */
[hidden]{display:none!important}
.intro h1{font-size:4rem;letter-spacing:0}.sign-in h2{letter-spacing:0}.eyebrow{color:#4f675a}.description,.help,.form-help,#login-status,#action-status{color:#52685b}
@media(max-width:800px){.intro h1{font-size:2.8rem}}
@media(max-width:620px){.intro h1{font-size:2.25rem}}
