:root{--green:#265d37;--bright:#74b843;--glycol:#22a7a1;--ink:#1e2821;--muted:#667169;--line:#cbd5cc;--mineral:#f3f5f0;--white:#fff;--error:#9c351f}
*{box-sizing:border-box}
html{background:var(--mineral);color:var(--ink);font-family:urbane,"Avenir Next",Arial,sans-serif}
body{margin:0;min-height:100vh}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr)}
.identity{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(34px,6vw,86px);background:var(--green);color:var(--white)}
.identity img{width:86px;height:86px;filter:brightness(0) invert(1)}
.mode,.access-label{margin:0 0 18px;font-size:12px;font-weight:700;letter-spacing:.12em}
.identity h1{max-width:720px;margin:0;font-size:clamp(44px,6vw,82px);font-weight:600;line-height:1.02;letter-spacing:-.045em}
.identity>div>p:last-child{max-width:610px;margin:25px 0 0;font-size:clamp(16px,1.6vw,21px);line-height:1.55;color:#dfe9df}
.identity dl{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:48px 0 0;background:rgba(255,255,255,.28)}
.identity dl div{padding:18px;background:var(--green)}
.identity dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#cae1ca}
.identity dd{margin:6px 0 0;font-size:15px;font-weight:650}
.access{display:grid;place-items:center;padding:32px;background:var(--mineral);border-left:7px solid var(--bright)}
.access-inner{width:min(100%,440px)}
.access-label{color:var(--green)}
.access h2{margin:0;font-size:clamp(36px,4vw,52px);font-weight:600;letter-spacing:-.035em}
.intro{margin:12px 0 30px;color:var(--muted);line-height:1.55}
form{display:grid;gap:9px}
label{margin-top:9px;font-size:14px;font-weight:650}
input{width:100%;min-height:50px;padding:11px 13px;border:1px solid #aebcaf;border-radius:5px;background:var(--white);color:var(--ink);font:inherit}
input:focus-visible,button:focus-visible{outline:3px solid var(--glycol);outline-offset:3px}
button{min-height:52px;margin-top:16px;padding:12px 18px;border:1px solid var(--green);border-radius:5px;background:var(--green);color:var(--white);font:inherit;font-weight:700;cursor:pointer}
button:hover{background:#1e4c2d}
.error{padding:13px 14px;border-left:4px solid var(--error);background:#f8e8e2;color:#6e2517;line-height:1.45}
.boundary{margin:28px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:12px;line-height:1.5;color:var(--muted)}
.boundary span{color:var(--bright);margin-right:6px}
@media(max-width:760px){.login-shell{display:block}.identity{min-height:auto;padding:28px 22px}.identity img{width:62px;height:62px;margin-bottom:52px}.identity h1{font-size:42px}.identity>div>p:last-child{font-size:16px}.identity dl{display:none}.access{display:block;padding:36px 22px 44px;border-left:0;border-top:7px solid var(--bright)}.access-inner{margin:auto}.access h2{font-size:38px}}
@media(max-width:360px){.identity h1{font-size:36px}.identity img{margin-bottom:38px}.access{padding-inline:17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
