:root{color-scheme:light;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#17271e;background:#f4faf6;line-height:1.5}
*{box-sizing:border-box}
body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 80% 10%,#daf5e4,transparent 52%),#f4faf6}
.login-layout{width:min(100%,1120px);min-height:min(710px,calc(100dvh - 48px));display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid #d9e8de;border-radius:28px;box-shadow:0 28px 80px #1a4f3023;background:#fff}
.login-cover{isolation:isolate;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:44px;color:#fff;background:radial-gradient(ellipse at 83% 23%,#1b9d50,transparent 57%),linear-gradient(145deg,#081e14,#0a472b 72%,#136637)}
.brand{align-self:flex-start;display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:800;font-size:1.25rem}
.brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;border:1px solid #e1ffea66;background:#fff2;font-size:1.55rem}
.orbit{position:absolute;z-index:-1;right:-38px;top:15%;width:370px;max-width:90%;aspect-ratio:1;display:grid;place-items:center;border:1px solid #eefff445;border-radius:50%;transform:rotate(-25deg);background:radial-gradient(circle,#b7f6ce37,transparent 64%)}
.orbit i{position:absolute;inset:16%;border:1px solid #eefff450;border-radius:50%}
.orbit i:nth-child(2){inset:29%}.orbit i:nth-child(3){inset:40%}
.orbit b{font-size:clamp(3.5rem,8vw,7rem);line-height:1;color:#fff9f5;text-shadow:0 0 30px #ffe2bd;transform:rotate(25deg)}
.cover-copy h1{margin:8px 0;font-size:clamp(2.2rem,4.3vw,4rem);line-height:1.14;letter-spacing:-.04em}
.cover-copy p:last-child{color:#e0f6e6;margin-bottom:0}
.eyebrow{font-size:.74rem;letter-spacing:.18em;font-weight:750;color:#a90e20;margin:0 0 6px}
.login-cover .eyebrow{color:#def7e4}
.login-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px clamp(24px,5vw,68px)}
.login-content{width:100%;max-width:400px}
.back{display:inline-block;margin-bottom:28px;color:#075f33;font-weight:650;text-decoration:none}
h2{font-size:clamp(2rem,4vw,2.75rem);line-height:1.2;margin:0 0 8px;letter-spacing:-.04em}
.intro{margin:0 0 22px;color:#536158}
label{display:block;font-size:.9rem;font-weight:700;margin:15px 0 6px}
input{width:100%;min-height:48px;padding:10px 12px;border:1px solid #cdded3;border-radius:10px;background:#fbfefc;color:inherit;font:inherit}
input::placeholder{color:#607067}
input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #cf1728;outline-offset:3px}
.password-field{position:relative}.password-field input{padding-right:72px}
button{cursor:pointer;font:inherit;font-weight:750;border:0;border-radius:10px}
#password-toggle{position:absolute;right:8px;top:7px;min-height:34px;padding:4px 9px;background:transparent;color:#a90e20;font-size:.85rem}
#login-status{margin:8px 0;color:#a90e20;min-height:1.45em;font-size:.85rem}
.primary,.secondary{width:100%;min-height:47px;padding:9px 12px}
.primary{background:#cf1728;color:#fff}.primary:hover:enabled{background:#a90e20}
.secondary{margin-top:11px;background:#effbf3;border:1px solid #c2e8d1;color:#075f33}
button:disabled{opacity:.6;cursor:wait}
.login-help{margin:12px 0 0;color:#536158;font-size:.85rem;line-height:1.55}
.privacy{margin:20px 0 0;text-align:center;font-size:.85rem}.privacy a{color:#536158}
@media(max-width:720px){body{padding:12px}.login-layout{grid-template-columns:1fr;border-radius:20px;min-height:0}.login-cover{padding:22px;min-height:200px;gap:20px}.cover-copy h1{font-size:2rem}.cover-copy h1 br{display:none}.orbit{width:250px;top:0;right:-45px}.login-panel{padding:26px 24px}.back{margin-bottom:18px}}
.login-layout{border-top:4px solid #ec263a}
.login-cover::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(circle at 24px 31px,#fff9 1px,transparent 2px) 0 0/83px 89px,radial-gradient(circle at 17px 11px,#eaffef60 2px,transparent 3px) 0 0/139px 119px}
.orbit b{display:grid;place-items:center;width:31%;aspect-ratio:1;border-radius:50%;font-size:clamp(2rem,5vw,3.5rem);background:radial-gradient(circle at 32% 23%,#ff8590,#d91b31 44%,#850b21 90%);box-shadow:0 12px 26px #05291b70,inset 0 0 0 1px #fff5;text-shadow:none}
.orbit b::before{content:"";position:absolute;bottom:100%;left:calc(50% - 9px);width:18px;height:9px;border:1px solid #fff7;border-radius:4px 4px 0 0;background:#ffe3a3}
.orbit b::after{content:"";position:absolute;bottom:calc(100% + 9px);left:50%;width:1px;height:95px;background:linear-gradient(transparent,#fff9)}
@media(max-width:720px){.orbit{opacity:.34}}
