*{box-sizing:border-box}
:root{--blue:#0d3b8f;--blue2:#1e64c8;--green:#79bd32;--text:#16366f}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:#eef5ff}
.portal{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}
.brand-panel{position:relative;overflow:hidden;padding:44px 7%;background:linear-gradient(145deg,#f8fbff 0%,#dff0ff 58%,#8cc7f2 100%);display:flex;flex-direction:column;justify-content:space-between}
.brand-panel:after{content:"";position:absolute;left:-8%;bottom:-22%;width:75%;height:42%;background:var(--blue);border-radius:50%;box-shadow:0 -16px 0 0 var(--green)}
.brand-content{position:relative;z-index:2;max-width:650px}
.logo{width:min(430px,75%);height:auto;object-fit:contain;display:block;margin-bottom:18px}
h1{font-size:clamp(42px,5vw,72px);line-height:1.03;margin:28px 0 10px;font-weight:800;letter-spacing:-2px}
h1 span{color:var(--green)}
.accent-line{width:72px;height:5px;background:var(--green);border-radius:10px;margin:20px 0}
.brand-content p{font-size:18px;line-height:1.55;max-width:560px;color:#36527f}
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:42px;max-width:620px}
.feature{background:rgba(255,255,255,.93);border-radius:15px;padding:18px 8px;text-align:center;box-shadow:0 10px 25px rgba(22,65,125,.10);font-size:14px;font-weight:700}
.feature b{display:block;color:var(--green);font-size:28px;margin-bottom:7px}
.brand-footer{position:relative;z-index:3;color:#fff;font-size:15px;line-height:1.4;padding:20px 0 4px}
.login-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:44px 6%;background:linear-gradient(180deg,#fff,#f6f9ff)}
.login-card{width:min(590px,100%);background:#fff;border-radius:24px;padding:42px 52px;box-shadow:0 24px 70px rgba(23,60,115,.14);border:1px solid #edf1f7}
.welcome{text-align:center;color:var(--green);font-weight:800;letter-spacing:4px;font-size:14px}
h2{text-align:center;font-size:34px;margin:14px 0 8px;color:#173d86}
.subtitle{text-align:center;color:#6e7fa3;font-size:18px}
.divider{display:flex;align-items:center;gap:18px;color:#1b5bb2;margin:28px 0}
.divider:before,.divider:after{content:"";height:2px;background:#dce3ef;flex:1}
.intro{text-align:center;color:#6c7c9b;margin-bottom:30px}
form label{display:block;font-weight:750;margin:18px 0 8px}
.input-wrap{display:flex;align-items:center;border:2px solid #d9e1ed;border-radius:13px;height:62px;padding:0 16px;transition:.2s}
.input-wrap:focus-within{border-color:#2b75d6;box-shadow:0 0 0 4px rgba(43,117,214,.08)}
.input-wrap>span{font-size:20px;width:32px}
input{border:0;outline:0;flex:1;font-size:16px;color:#173d86;background:transparent}
.eye{border:0;background:transparent;cursor:pointer;color:#55709a;font-size:17px}
.options{display:flex;justify-content:space-between;align-items:center;margin:16px 0 24px;font-size:14px}
.remember{display:flex;align-items:center;gap:6px!important;margin:0!important;font-weight:500!important}
.options a{color:var(--green);font-weight:750;text-decoration:none}
.sign-in{width:100%;height:58px;border:0;border-radius:13px;background:linear-gradient(90deg,#103c91,#1e65c8);color:#fff;font-size:18px;font-weight:800;cursor:pointer;box-shadow:0 10px 22px rgba(20,78,164,.25)}
.sign-in span{margin-left:12px}
.secure{text-align:center;margin-top:28px;padding-top:22px;border-top:1px solid #e2e8f0}
.secure-title{font-size:17px;color:#173d86}
.secure p{color:#7b8ba8;font-size:14px}
.login-panel footer{margin-top:20px;color:#6d7e9c;font-size:13px}
.login-panel footer span{color:var(--green);font-weight:800}
@media(max-width:900px){.portal{grid-template-columns:1fr}.brand-panel{min-height:620px}.login-panel{padding:35px 20px}.features{grid-template-columns:repeat(2,1fr)}.login-card{padding:34px 25px}h1{font-size:48px}}
