:root{font-family:Tahoma,Arial,system-ui,sans-serif;color:#182b29;background:#f2f5f3;font-synthesis:none;color-scheme:light;--green:#142b26;--lime:#d9f871;--muted:#64766e;--line:#dce6e0}
*{box-sizing:border-box}body{margin:0;min-width:280px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px 22px;font-size:14px;line-height:1.7}button,input{font:inherit}button,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,input:focus-visible{outline:3px solid #91b74d;outline-offset:3px}button,input{min-height:48px}input{min-width:0}[hidden]{display:none!important}h1,h2,p{margin:0}svg{display:block;width:100%;height:100%}
.login-shell{display:grid;grid-template-columns:1fr 1fr;max-width:960px;width:100%;background:#fff;border:1px solid #e0e8e1;border-radius:22px;overflow:hidden;box-shadow:0 18px 70px #183f2710}.welcome{background:var(--green);color:#fff;padding:42px;display:flex;flex-direction:column;min-height:570px;position:relative;overflow:hidden}.welcome:after{content:"";width:310px;height:310px;border:1px solid #d9f87112;border-radius:50%;position:absolute;left:-130px;bottom:85px;box-shadow:0 0 0 46px #d9f87105,0 0 0 90px #d9f87103;pointer-events:none}.brand{display:flex;align-items:center;gap:13px;position:relative;z-index:1}.brand-mark{width:43px;height:43px;color:var(--lime);flex:none}.brand b{display:block;font-size:21px;letter-spacing:1.6px;line-height:1.2}.brand small{display:block;font-size:12px;color:#b8c9bd;margin-top:7px}.welcome-copy{margin:auto 0;position:relative;z-index:1;padding:48px 0}.eyebrow{display:block;color:var(--lime);font-size:12px;margin-bottom:19px}.welcome h1{font-size:35px;line-height:1.7;font-weight:700;letter-spacing:-.8px}.welcome-copy p{font-size:14px;line-height:1.9;color:#b9c9bf;margin-top:17px;max-width:290px}.welcome-footer{display:flex;align-items:center;gap:9px;color:#b9c9bf;font-size:12px;position:relative;z-index:1}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--lime);flex:none}
.login-panel{padding:45px 42px 34px;align-self:center;min-width:0}.lock-mark{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid #dce7dc;border-radius:12px;color:#526e4e;background:#f5f8f1;margin-bottom:20px}.login-heading h2{font-size:25px;line-height:1.5;letter-spacing:-.6px}.login-heading>p{color:var(--muted);font-size:13px;margin-top:8px}.login-heading{margin-bottom:28px}.field{margin-bottom:19px}.field label{display:block;font-weight:700;font-size:13px;margin-bottom:8px}.field>input,.password-field{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;transition:border-color .15s}.field>input{padding:10px 14px;color:#36483d}.field>input[readonly]{background:#f5f7f5;color:#445b4b;cursor:default}.field-note{display:block;font-size:11px;color:var(--muted);margin-top:6px}.password-field{display:flex;align-items:stretch;min-width:0}.password-field:focus-within{border-color:#7f9f60;box-shadow:0 0 0 3px #9fbe6b15}.password-field input{flex:1;width:100%;background:transparent;border:0;padding:10px 14px;border-radius:9px;color:#182b29;font-size:16px}.password-field input:focus-visible{outline:0}.password-toggle{border:0;background:transparent;color:#4c6648;padding:0 14px;flex:none;font-size:12px;min-width:62px;border-radius:8px}.password-toggle:hover{background:#f2f6ed}.submit-button{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;border:1px solid var(--green);border-radius:9px;background:var(--green);color:#fff;min-height:50px;padding:11px 17px;margin-top:24px;font-weight:700;font-size:14px}.submit-button:hover:not(:disabled){background:#244639;border-color:#244639}.submit-button>span:last-child{font-size:22px;font-weight:400;line-height:1}.form-error{color:#9f342a;background:#fff1ee;border:1px solid #f1cfc8;border-radius:8px;padding:11px 13px;font-size:12px;line-height:1.9;margin-top:12px;overflow-wrap:anywhere}.form-status{font-size:12px;line-height:1.8;min-height:22px;color:#557040;margin-top:8px}.private-note{font-size:11px;color:var(--muted);line-height:1.9;border-top:1px solid #e9eee8;padding-top:17px;margin-top:13px}.page-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:960px;width:100%;padding:22px 5px 0;font-size:11px;color:#65786c}.page-footer span{overflow-wrap:anywhere}
@media(max-width:760px){body{padding:24px 18px 18px}.welcome{padding:32px 26px;min-height:550px}.login-panel{padding:35px 27px 28px}.welcome h1{font-size:28px}.brand b{font-size:18px}.brand-mark{width:36px;height:36px}.welcome-copy p{font-size:13px}.login-heading h2{font-size:23px}}
@media(max-width:580px){body{justify-content:flex-start;padding:20px 16px 18px}.login-shell{max-width:420px;grid-template-columns:1fr;border-radius:17px}.welcome{min-height:auto;padding:24px 26px}.welcome-copy,.welcome-footer,.welcome:after{display:none}.brand{gap:12px}.brand-mark{width:35px;height:35px}.brand b{font-size:19px}.brand small{font-size:11px;margin-top:5px}.login-panel{padding:29px 26px 26px}.lock-mark{display:none}.login-heading{margin-bottom:26px}.login-heading h2{font-size:24px}.login-heading>p{font-size:13px;margin-top:6px}.field{margin-bottom:20px}.field>input{font-size:16px}.password-field input{font-size:16px}.field label{font-size:13px}.password-toggle{min-width:65px;font-size:12px}.submit-button{min-height:52px}.private-note{font-size:12px}.page-footer{max-width:420px;flex-direction:column;justify-content:center;gap:5px;font-size:10px;padding-top:18px;text-align:center}}
@media(max-width:340px){body{padding-inline:10px}.welcome{padding:22px}.login-panel{padding:27px 20px 23px}.login-heading h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Language controls and mirrored layout share the same form and credential fields. */
.login-language-bar{width:100%;max-width:960px;display:flex;justify-content:flex-end;margin-bottom:14px}.login-language-bar .language-control{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.login-language-bar select{font:inherit;min-height:44px;max-width:170px}.welcome h1{overflow-wrap:break-word}.login-shell>section{min-width:0}.login-arrow{display:inline-block}[dir="ltr"] .login-arrow{transform:scaleX(-1)}[dir="ltr"] .welcome:after{left:auto;right:-130px}[dir="ltr"] .welcome h1{letter-spacing:-.5px;line-height:1.35}.login-heading p,.private-note,.form-status{overflow-wrap:anywhere}
@media(max-width:580px){.login-language-bar{max-width:420px;margin-bottom:12px}.login-language-bar .language-control{font-size:12px}.login-panel{overflow-wrap:break-word}.password-toggle{padding-inline:10px;min-width:0}.page-footer{line-height:1.6}}

/* Keep the password action legible independently of browser theme/autofill. */
.password-toggle{color-scheme:light;color:#183b2d;background-color:#f2f6ed;font-weight:700;line-height:1.5;border-inline-start:1px solid #dce6e0;max-width:50%;white-space:normal}
.password-toggle:hover{color:#142b26;background-color:#e4eddb}
@media(forced-colors:active){.password-toggle{color:ButtonText;background-color:ButtonFace;border-color:ButtonText}}

/* Preserve room for the credential fields at the narrowest supported mobile size. */
body{padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.login-language-bar .language-control{min-width:0;max-width:100%;flex-wrap:wrap;justify-content:flex-end}.login-language-bar select{min-width:0;max-width:100%;font-size:16px}.password-field{flex-wrap:wrap}.password-field input{flex:1 1 130px;min-width:0}.password-toggle{min-height:44px;overflow-wrap:anywhere}.brand{min-width:0}.brand>div{min-width:0;overflow-wrap:anywhere}.page-footer{min-width:0}
@media(max-width:340px){body{padding-inline:max(10px,env(safe-area-inset-left))}.login-panel{padding-inline:16px}.welcome{padding-inline:18px}.password-field input{flex-basis:100%}.password-toggle{max-width:100%;width:100%;border-inline-start:0;border-top:1px solid #dce6e0;border-radius:0 0 8px 8px;padding:8px 10px}}
@media(max-height:580px){body{justify-content:flex-start}}
