*{box-sizing:border-box}body{margin:0;background:#f6f8fa;color:#173534;font-family:Segoe UI,Arial,sans-serif}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{padding:64px 10%;background:radial-gradient(ellipse at bottom left,#23776b,transparent 70%),#123e39;color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:60px}.brand{font-size:30px;font-weight:750;color:white;text-decoration:none}.brand span{color:#62ddb4}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700}.login-story h1{font-size:clamp(32px,3.5vw,56px);line-height:1.16;letter-spacing:-1px}.login-story p:not(.eyebrow){max-width:420px;color:#cee4de;font-size:18px;line-height:1.8}.login-story small{color:#bed9d0}.login-panel{padding:60px 10% 30px;display:flex;flex-direction:column;justify-content:center;align-items:center}.login-form{width:100%;max-width:410px;margin:auto}.login-form h2{font-size:30px;letter-spacing:-.6px;margin:15px 0}.muted,.support{color:#657975;line-height:1.6}form{margin-top:32px}label:not(.remember){display:block;margin:22px 0 10px;font-size:14px;font-weight:600}input:not([type=checkbox],[type=hidden]){font:inherit;width:100%;height:52px;padding:12px 16px;border:1px solid #c7d4d1;border-radius:8px;background:white}input:focus{outline:3px solid #89d6ba;outline-offset:2px}.password-field{position:relative}.password-field input{padding-right:75px!important}.password-field button{position:absolute;right:12px;top:12px;padding:5px;background:none;border:0;color:#176449;cursor:pointer}.remember{display:flex;align-items:center;gap:10px;font-size:14px;margin:24px 0}.remember input{width:17px;height:17px;accent-color:#176449}.submit{width:100%;border:0;border-radius:8px;background:#146b51;color:white;font:600 16px Segoe UI;padding:16px;cursor:pointer;display:flex;justify-content:space-between}.submit:hover{background:#0d513d}.support{font-size:13px;border-top:1px solid #dae4e0;margin-top:32px;padding-top:24px}.validation{color:#a62536;line-height:1.5}.validation-summary-valid{display:none}footer{font-size:12px;color:#6b7f79;margin-top:50px}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-story{padding:28px;gap:20px}.login-story h1{font-size:30px;margin:12px 0}.login-story p:not(.eyebrow),.login-story small{display:none}.login-panel{padding:32px 24px}}

/* The login page does not load Bootstrap; language controls have their own styles. */
.login-form > .language-picker { display: flex; justify-content: flex-end; margin-bottom: 1.5rem; }
.login-form .language-picker button {
    display: inline-flex; align-items: center; gap: .5rem; min-height: 44px;
    padding: .65rem 1rem; border: 1px solid #bddad5; border-radius: 999px;
    background: #f0f8f6; color: #155c51; font: inherit; font-weight: 700;
    cursor: pointer; transition: background .15s ease, box-shadow .15s ease;
}
.login-form .language-picker button:hover { background: #dfefea; }
.login-form .language-picker button:focus-visible { outline: 3px solid #258773; outline-offset: 3px; }
.language-picker .language-icon { width: 18px; height: 18px; flex: none; }
