:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#152b40;background:#f6f7f9;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:40px 24px;background:radial-gradient(ellipse at 10% 90%,#e7ebef,transparent 60%),#f6f7f9}
.login-shell{width:min(100%,1000px);display:grid;grid-template-columns:1.1fr 1fr;background:#fff;border:1px solid #e7ebef;border-radius:24px;overflow:hidden;box-shadow:0 24px 80px #0f2b460d}
.intro{color:#fff;background:#102e49;min-height:620px;padding:46px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.brand{display:flex;align-items:center;gap:10px;font-size:36px;font-weight:750;letter-spacing:-2px}
.brand-icon{background:#24435e;color:white;border-radius:14px;font-size:36px;width:48px;height:48px;text-align:center;line-height:42px;letter-spacing:0}
.brand-sub{color:#b1c2d3;font-size:9px;letter-spacing:1.8px;margin-left:8px;line-height:1.5;max-width:80px}
.intro .eyebrow{color:#b1c2d3}
.intro h1 span{color:#e78d4e}
.intro-copy{margin-top:65px;position:relative;z-index:1}
.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#a55a29;margin:0 0 20px}
h1{font-size:48px;line-height:1.12;letter-spacing:-2.2px;font-weight:650;margin:0 0 22px}
.intro-copy>p:last-child{color:#b4c7d8;font-size:15px;line-height:1.7}
.intro-foot{margin:auto 0 0;font-size:11px;color:#94adc1;padding-top:130px}
.wave{display:flex;align-items:center;gap:11px;position:absolute;right:-24px;bottom:70px;transform:rotate(-12deg)}
.wave i{width:13px;height:55px;border-radius:20px;background:#e99961}
.wave i:nth-child(3n){height:105px}
.wave i:nth-child(3n + 1){height:32px}
.wave i:nth-child(5){height:135px;background:#f5ac75}
.login-panel{padding:70px 48px;align-self:center}
h2{font-size:29px;font-weight:650;letter-spacing:-1px;margin:0 0 14px}
.lead{font-size:14px;color:#667587;line-height:1.65;margin-bottom:34px}
label{display:block;font-size:12px;font-weight:650;margin-bottom:9px}
input{display:block;width:100%;padding:13px 14px;border:1px solid #e2e7ed;border-radius:9px;font:inherit;font-size:15px;background:#fafbfc;margin-bottom:21px;outline:none}
input:focus{border-color:#d86a23;box-shadow:0 0 0 3px #d86a2317}
button{width:100%;border:0;border-radius:9px;background:#0f2b46;color:#fff;font-size:14px;font-weight:650;padding:15px 18px;display:flex;justify-content:space-between;cursor:pointer}
button:hover{background:#1a3a5e}
button:focus-visible{outline:3px solid #d86a23;outline-offset:3px}
button:disabled{opacity:.65;cursor:wait}
.error{font-size:12px;line-height:1.5;color:#a13229;min-height:18px;margin:0 0 14px}
.session-note{color:#718092;font-size:11px;line-height:1.6;margin:24px 0 0}
@media(max-width:700px){body{padding:20px 14px}
.login-shell{grid-template-columns:1fr;max-width:430px}
.intro{color:#fff;min-height:0;padding:26px 30px}
.brand{font-size:30px}
.brand-icon{width:40px;height:40px;line-height:36px}
.intro-copy,.intro-foot,.wave{display:none}
.login-panel{padding:36px 30px 40px}
h2{font-size:27px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}
}

