:root{--login-ink:#1e3029;--login-green:#95d600;--login-orange:#ff6b00;}
.portal-login{margin:0;min-height:100vh;min-height:100dvh;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--login-ink);background:#164533;isolation:isolate;}
.portal-login::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,44,32,.91) 0%,rgba(14,44,32,.74) 45%,rgba(14,44,32,.30) 100%),url('/images/login-workspace-20261013.webp') center center/cover no-repeat;}
.portal-login-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,460px);gap:clamp(36px,6vw,100px);max-width:1440px;margin:auto;padding:48px clamp(28px,6vw,88px);min-height:100vh;min-height:100dvh;align-items:center;}
.portal-login-intro{align-self:stretch;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-width:0;color:#fff;}
.portal-login-brand{display:inline-flex;background:#fff;border-radius:10px;padding:18px 22px;border-bottom:4px solid var(--login-orange);}
.portal-login-brand img{display:block;max-width:100%;height:auto;}
.portal-login-welcome{max-width:580px;padding:64px 0;}
.portal-login-eyebrow{font-size:.73rem;letter-spacing:.13em;font-weight:650;color:#d2f1a1;}
.portal-login-welcome h1{font-size:clamp(2.7rem,5.2vw,4.8rem);font-weight:750;line-height:1.08;letter-spacing:-.045em;margin:18px 0 22px;}
.portal-login-welcome h1>span{color:var(--login-orange);}
.portal-login-welcome p{font-size:1.05rem;line-height:1.7;color:#edf5e9;max-width:420px;margin:0;}
.portal-login-topics{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;}
.portal-login-topics span{font-size:.78rem;color:#fff;padding:7px 12px;border:1px solid #a7c8ae;border-radius:8px;background:rgba(15,51,35,.4);}
.portal-login-intro-footer{font-size:.8rem;color:#dfeee1;margin:0;}
.portal-login-form-panel{width:100%;}
.portal-login-card{background:#fff;border:1px solid #d1dcd5;border-top:5px solid var(--login-green);border-radius:18px;padding:38px 36px 30px;box-shadow:0 24px 70px rgba(5,23,13,.3);}
.portal-login-card-eyebrow{display:block;color:#527800;font-size:.7rem;font-weight:700;letter-spacing:.13em;margin-bottom:12px;}
.portal-login-card h2{font-size:1.9rem;font-weight:720;letter-spacing:-.035em;line-height:1.2;margin:0 0 12px;}
.portal-login-description{font-size:.91rem;color:#52635b;line-height:1.6;margin:0 0 28px;}
.portal-login-field{margin-bottom:22px;}
.portal-login-field label{display:block;font-size:.87rem;font-weight:650;color:#20382b;margin-bottom:9px;}
.portal-login .form-control{min-height:50px;font-size:1rem;border:1px solid #819488;border-radius:8px;padding:12px 14px;color:#1e3029;background:#fff;}
.portal-login .form-control:focus{border-color:#24633e;box-shadow:0 0 0 3px rgba(149,214,0,.25);}
.portal-login .input-group{flex-wrap:nowrap;}
.portal-login-password-toggle{font-size:.8rem;font-weight:600;color:#2d513c;background:#f2f6ef;border:1px solid #819488;white-space:nowrap;padding:10px 12px;}
.portal-login-password-toggle:hover{color:#20382b;background:#e1ecd8;border-color:#527d17;}
.portal-login-password-toggle:focus-visible,.portal-login-submit:focus-visible,.portal-login-help a:focus-visible{outline:3px solid #ff6b00;outline-offset:3px;}
.portal-login-submit{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;background:var(--login-green);border:1px solid #80b800;border-radius:8px;color:#203000;font-weight:700;font-size:.97rem;padding:12px 18px;}
.portal-login-submit:hover,.portal-login-submit:active{background:#a5e51a!important;border-color:#80b800!important;color:#203000!important;}
.portal-login-submit:disabled{background:#cee6a0;color:#405a26;border-color:#a8bd85;opacity:1;}
.portal-login-submit>span{font-size:1.25rem;font-weight:400;}
.portal-login-help{border-top:1px solid #cdd9d2;margin-top:28px;padding-top:24px;}
.portal-login-help h3{font-size:.85rem;font-weight:650;line-height:1.5;margin:0 0 7px;}
.portal-login-help p{font-size:.81rem;color:#52635b;line-height:1.65;margin:0 0 10px;}
.portal-login-help a{font-size:.82rem;font-weight:650;color:#365c00;text-decoration:underline;text-underline-offset:3px;}
.portal-login-footer{text-align:center;font-size:.76rem;color:#edf5e9;line-height:1.5;margin:20px 0 0;}
.portal-login-message{padding:14px 16px;margin-bottom:22px;border:1px solid #c5918b;border-left:4px solid #b42318;border-radius:8px;background:#fff2ef;color:#8f241c;}
.portal-login-message strong{font-size:.88rem;}
.portal-login-message p{font-size:.83rem;line-height:1.6;margin:4px 0 0;}
.portal-login-message-success{background:#eff8e5;color:#365c00;border-color:#9ab578;border-left-color:#527d17;}
.portal-login-caps{font-size:.79rem;color:#754811;background:#fff2da;padding:9px 12px;border-radius:7px;margin:10px 0 0;}
.portal-login [hidden]{display:none!important;}
@media(min-width:1600px){.portal-login-layout{padding-top:64px;padding-bottom:64px;}}
@media(max-width:991px){.portal-login-layout{grid-template-columns:minmax(0,1fr);gap:32px;max-width:560px;padding:32px 24px;}.portal-login-intro{align-items:center;}.portal-login-brand{padding:14px 18px;}.portal-login-brand img{width:168px;}.portal-login-welcome{padding:26px 0 0;text-align:center;}.portal-login-welcome h1{font-size:2.5rem;margin:12px 0;}.portal-login-welcome p{font-size:.91rem;}.portal-login-eyebrow{font-size:.66rem;}.portal-login-topics,.portal-login-intro-footer{display:none;}.portal-login-card{padding:30px;}.portal-login::before{background-image:linear-gradient(rgba(14,44,32,.85),rgba(14,44,32,.7)),url('/images/login-workspace-20261013.webp');}}
@media(max-width:480px){.portal-login-layout{padding:24px 16px;gap:24px;}.portal-login-welcome{padding-top:22px;}.portal-login-welcome h1{font-size:2.1rem;}.portal-login-card{padding:28px 22px 24px;border-radius:14px;}.portal-login-card h2{font-size:1.7rem;}.portal-login-description{margin-bottom:22px;}.portal-login-password-toggle{padding:10px;font-size:.75rem;}.portal-login-help{margin-top:24px;padding-top:20px;}}
@media(prefers-reduced-motion:reduce){.portal-login *{scroll-behavior:auto!important;transition:none!important;}}
