/* Standalone login form. Shared palette and fonts come from portal-theme.css. */
.portal-login-page{min-height:100dvh;display:flex;flex-direction:column}
.portal-public-header{background:#fff;border-bottom:1px solid var(--line)}
.portal-public-inner{max-width:1220px;padding:18px var(--gut);margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px}
.portal-public-inner .portal-brand-image{width:168px;height:auto}.portal-public-inner nav{display:flex;gap:30px;align-items:center}.portal-public-inner nav a{font-size:12px;font-weight:600;color:var(--muted)}.portal-public-inner nav a:hover{color:var(--brass)}
.portal-login-main{flex:1;width:100%;max-width:1220px;margin:auto;padding:68px var(--gut);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:clamp(40px,7vw,100px);align-items:center}
.login-story{min-width:0}.login-story h1{font-size:clamp(38px,4.6vw,64px);line-height:1.08;letter-spacing:-2px;margin:20px 0 24px}.login-story h1>span{color:var(--brass)}.login-intro{font-size:15px;color:var(--muted);line-height:1.85;max-width:440px}
.login-features{margin:30px 0;display:grid;gap:0;max-width:430px}.login-features>div{display:flex;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.login-features>div>span{font-family:var(--f-mono);font-size:11px;color:var(--brass);flex:none;width:26px}.login-features strong{display:block;font-size:13px;font-weight:650;color:var(--navy)}.login-features small{display:block;font-size:11px;color:var(--muted);margin-top:4px;line-height:1.6}
.login-site-link{font-size:12px;font-weight:600;color:var(--navy);display:inline-flex;align-items:center;gap:18px}.login-site-link span{color:var(--brass);font-size:18px}
.login-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:var(--sh-2);min-width:0}.login-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.login-portal-label{font-family:var(--f-mono);font-size:9px;letter-spacing:1.6px;color:var(--brass);font-weight:500}.login-lock{height:34px;width:34px;background:var(--mist);border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;color:var(--navy)}.login-lock svg{height:17px;width:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.login-card h2{font-size:27px;letter-spacing:-.7px;margin:0 0 10px}.form-description{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 24px}
.portal-switch{display:grid;grid-template-columns:1fr 1fr;background:var(--mist);padding:4px;border:1px solid var(--line);border-radius:9px;margin-bottom:24px;gap:4px}.portal-switch a{min-height:38px;display:grid;place-items:center;font-size:12px;font-weight:600;border:1px solid transparent;border-radius:6px;color:var(--muted)}.portal-switch a.selected{background:#fff;color:var(--navy);border-color:var(--line);box-shadow:0 1px 3px #13254d08}
.field{margin-bottom:19px}.field>label{display:block;font-size:12px;font-weight:600;color:var(--navy);margin-bottom:8px}.field input{width:100%;min-width:0;min-height:47px;border:1px solid var(--line-2);border-radius:8px;padding:12px 14px;color:var(--text);background:#fff;font-size:14px;outline:none}.field input::placeholder{font-size:12px;color:#8290a7}.field input:focus{border-color:var(--brass);box-shadow:0 0 0 3px #a8742a10}.password-field{display:flex;position:relative;min-width:0}.password-field input{padding-right:72px}.password-field button{position:absolute;right:5px;top:5px;bottom:5px;padding:0 10px;border:0;border-left:1px solid var(--line);background:#fff;font-size:11px;font-weight:600;color:var(--muted);border-radius:0 5px 5px 0;cursor:pointer}
.remember-me{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);cursor:pointer;margin:2px 0 22px}.remember-me input{width:16px;height:16px;accent-color:var(--navy);margin:0}
.login-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:47px;padding:12px 18px;border:1px solid var(--navy);background:var(--navy);color:#fff;border-radius:8px;font-size:13px;font-weight:650;cursor:pointer;box-shadow:0 4px 12px #13254d10}.login-button:hover{background:var(--navy-700)}.login-button span{color:var(--brass-lite);font-size:19px}
.help-box{margin-top:24px;border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:flex-start;gap:10px}.help-box>span{height:20px;width:20px;flex:none;border:1px solid var(--line-2);border-radius:50%;display:grid;place-items:center;font-size:11px;color:var(--muted)}.help-box p{font-size:11px;line-height:1.7;color:var(--muted)}
.validation-summary{font-size:12px;color:#a82f42;background:#fff2f3;border:1px solid #efc6ce;border-radius:8px;padding:12px;margin-bottom:20px}.validation-summary ul{margin:0;padding-left:18px}.validation-summary-valid{display:none}.field-error{font-size:11px;color:#a82f42;display:block;margin-top:6px}.field-validation-valid{display:none}.field input.input-validation-error{border-color:#c95165}
.portal-login-footer{width:100%;max-width:1220px;margin:auto;display:flex;justify-content:space-between;gap:16px;padding:22px var(--gut);border-top:1px solid var(--line);color:var(--muted);font-size:10px}
@media(max-width:900px){.portal-login-main{gap:35px;grid-template-columns:minmax(0,1fr) minmax(0,395px);padding-top:45px;padding-bottom:45px}.login-story h1{font-size:44px;letter-spacing:-1.3px}.login-card{padding:27px}.portal-public-inner nav{gap:18px}}
@media(max-width:720px){.portal-public-inner{padding-top:16px;padding-bottom:16px}.portal-public-inner .portal-brand-image{width:143px}.portal-public-inner nav a:not(:last-child){display:none}.portal-public-inner nav{gap:0}.portal-login-main{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding:30px 18px 36px;max-width:500px}.login-story .eyebrow{font-size:8px;letter-spacing:1.4px}.login-story h1{font-size:34px;letter-spacing:-1px;margin:14px 0}.login-intro{font-size:12px;line-height:1.8}.login-features,.login-site-link{display:none}.login-card{padding:26px 22px;border-radius:16px}.login-card h2{font-size:25px}.field input{font-size:16px}.portal-login-footer{padding:20px 18px;justify-content:center}.portal-login-footer>span:last-child{display:none}}
