:root{--navy:#07162f;--blue:#137fa9;--red:#c91f2a;--muted:#6e7d91;--line:#dbe4ee}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:#f4f7fb;color:var(--navy);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.92fr) minmax(520px,1.08fr)}
.brand-panel{position:relative;padding:64px;overflow:hidden;color:#fff;background:linear-gradient(145deg,#07162f 0%,#0b3554 62%,#137fa9 100%);display:flex;flex-direction:column;justify-content:center}
.brand-panel:before,.brand-panel:after{content:"";position:absolute;border:1px solid #ffffff18;border-radius:50%}
.brand-panel:before{width:560px;height:560px;right:-280px;top:-160px}.brand-panel:after{width:380px;height:380px;left:-210px;bottom:-180px}
.brand-copy{position:relative;z-index:1;max-width:530px}.eyebrow{display:inline-block;font-size:11px;font-weight:800;letter-spacing:2.2px;color:#9cdbef;margin-bottom:22px}
.brand-panel h1{font-size:clamp(40px,5vw,66px);line-height:1.04;letter-spacing:-2.8px;margin:0 0 24px}.brand-panel p{max-width:500px;font-size:17px;color:#c7d7e4;margin:0}
.brand-footer{position:absolute;left:64px;bottom:38px;font-size:10px;letter-spacing:2px;color:#91acc0}
.login-panel{display:grid;place-items:center;padding:48px 28px}.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:42px;box-shadow:0 22px 70px rgba(7,22,47,.12)}
.logo-frame{position:relative;width:92px;height:92px;margin:0 auto 12px;border-radius:22px;overflow:hidden;background:#fff;border:1px solid #e7edf3;box-shadow:0 10px 28px rgba(14,77,105,.12)}.logo-frame img{position:absolute;width:285%;max-width:none;height:auto;left:50%;top:-4%;transform:translateX(-50%)}
.company-name{text-align:center;color:var(--blue);font-size:11px;letter-spacing:2px;font-weight:900}.login-card h2{text-align:center;font-size:28px;letter-spacing:-.8px;margin:22px 0 4px}.intro{text-align:center;color:var(--muted);margin:0 0 27px}
.login-card label{display:block;font-size:12px;font-weight:800;margin:16px 0 7px}.login-card input{width:100%;height:50px;border:1px solid var(--line);border-radius:11px;padding:0 14px;color:var(--navy);font:inherit;outline:none;background:#fbfcfe}.login-card input:focus{border-color:#65acc8;box-shadow:0 0 0 4px #137fa912;background:#fff}
.password-field{position:relative}.password-field input{padding-right:66px}.password-field button{position:absolute;right:6px;top:6px;height:38px;border:0;background:transparent;color:var(--blue);font-size:12px;font-weight:800;cursor:pointer}
.submit{width:100%;height:50px;border:0;border-radius:11px;background:linear-gradient(110deg,#0d6f98,#178bb4);color:#fff;font:inherit;font-weight:900;margin-top:24px;cursor:pointer;box-shadow:0 10px 24px #137fa933}.submit:hover{filter:brightness(1.05)}
.error{padding:11px 13px;border-radius:9px;border:1px solid #f5c7cb;background:#fff4f5;color:#a72832;font-size:12px;font-weight:700}.secure-note{text-align:center;color:#7e8b9c;font-size:11px;margin-top:20px}.secure-note span{color:#07845d;font-weight:900}
@media(max-width:850px){.login-shell{display:block}.brand-panel{min-height:270px;padding:42px 28px}.brand-panel h1{font-size:40px}.brand-panel p{font-size:14px}.brand-footer{display:none}.login-panel{margin-top:-28px;position:relative;z-index:2;padding:0 18px 36px}.login-card{padding:32px 24px}}
@media(max-width:480px){.brand-panel{min-height:230px}.brand-panel h1{font-size:34px}.brand-panel p{display:none}.logo-frame{width:80px;height:80px}.login-card h2{font-size:24px}}
