/* Login styles stay scoped to this page and reuse the Atlas palette. */
.workspace-public:has(.login-page){background:#f5f4ef;color:#203b3b}
.workspace-public:has(.login-page) .public-header{background:#fffefa;border-color:#dce3dc}
.workspace-public:has(.login-page) #main{max-width:1120px;margin:36px auto;min-height:0}
.login-page{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid #dce3dc;border-radius:22px;background:#fffefa;box-shadow:0 16px 48px #203b3b0b;min-height:650px}
.login-landscape{position:relative;display:flex;flex-direction:column;isolation:isolate;padding:36px;color:#203b3b;background:#eef2e7}
.login-landscape::before{content:'';position:absolute;inset:0;z-index:-2;background:url('atlas/environment-watershed.webp') center/cover}
.login-landscape::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#f2f4e9f5 0%,#f2f4e9e0 43%,#f2f4e92b 100%)}
.login-university{display:flex;align-items:center;gap:14px;font-size:20px;font-weight:600}
.login-university small{display:block;font-size:12px;color:#536b62;font-weight:400;letter-spacing:.06em}
.login-emblem{display:block;position:relative;flex:none;width:56px;height:56px;overflow:hidden;border-radius:50%}
.login-emblem img{position:absolute;left:50%;top:0;width:187.45%;max-width:none;height:auto;transform:translateX(-50%)}
.login-intro{margin-top:70px}.login-page .eyebrow{font-size:13px;color:#26786c;margin:0 0 12px;letter-spacing:.05em}
.login-intro h2{font-size:clamp(25px,3vw,34px);line-height:1.55;font-weight:600;margin:0 0 20px;letter-spacing:-.025em}
.login-intro>p:last-child{font-size:15px;color:#4c645d;line-height:1.9}
.login-landscape-note{margin:auto 0 0;padding-top:72px;font-size:12px;color:#304d44}
.login-panel{padding:46px clamp(24px,4vw,56px);min-width:0}
.login-panel h1{font-size:28px;line-height:1.4;margin:0 0 12px;font-weight:600}
.login-description{color:#627571;font-size:14px;margin:0 0 28px}
.login-field{margin-bottom:20px}.login-field label{font-size:14px;margin-bottom:8px}
.login-field input:not([type=hidden]){min-height:48px;border:1px solid #a6b8ae;border-radius:10px;background:#fffefa;padding:11px 13px;color:#203b3b;font-size:16px}
.login-password{position:relative}.login-password:has(.login-password-toggle:not([hidden])) input{padding-right:96px}
.login-page .login-password-toggle{position:absolute;right:6px;top:6px;min-height:36px;padding:4px 8px;background:transparent;color:#26786c;border:0;font-size:13px;border-radius:6px;white-space:nowrap}
.login-password-toggle:hover{background:#e7f0eb}
.login-page .login-submit{width:100%;min-height:48px;margin-top:4px;border-color:#26786c;border-radius:10px;background:#26786c;font-weight:600}
.login-submit:hover{background:#1d655a}
.login-errors{padding:12px 14px;margin-bottom:20px;background:#fff0ed;border:1px solid #e5b7ae;border-radius:10px;color:#8c3028;font-size:14px}
.login-page ul.errorlist{margin:0;list-style:none;padding:0;color:#8c3028}
.login-field-errors{margin-top:7px;font-size:13px}.login-field-invalid input{border-color:#aa5144!important}
.login-page .helptext{font-size:12px;margin-top:6px}
.login-account-help{font-size:12px;color:#627571;margin:12px 0 24px}
.login-register{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;margin:0;padding-top:20px;border-top:1px solid #dce3dc}
.login-register a{font-weight:600;color:#26786c;text-underline-offset:4px;padding:6px 0}
.login-recovery{font-size:12px;color:#627571;margin:14px 0 0}
.login-attribution{font-size:11px;color:#627571;line-height:1.8;margin:28px 0 0}
.login-page :focus-visible{outline:3px solid #bd861b;outline-offset:3px}
@media(max-width:760px){.workspace-public:has(.login-page) #main{margin:20px auto;padding:0 16px}.login-page{grid-template-columns:minmax(0,1fr);min-height:0;border-radius:16px}.login-landscape{padding:22px 26px}.login-university{font-size:17px}.login-intro{margin-top:26px}.login-intro h2{font-size:25px;margin-bottom:0}.login-intro h2 br{display:none}.login-intro>p:last-child,.login-landscape-note{display:none}.login-panel{padding:30px 26px}.login-panel h1{font-size:26px}}
@media(max-width:380px){.login-panel,.login-landscape{padding-inline:20px}.login-register{flex-wrap:wrap}}
