body{min-height:100vh;background:#f5f8fa}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(480px,1.1fr)}
.login-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#061e35,#0a3c55);color:#fff;padding:42px clamp(28px,5vw,70px);display:flex;flex-direction:column}.login-visual:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-240px;bottom:-260px;background:rgba(15,169,160,.18)}
.brand{position:relative;z-index:1;display:block;width:max-content}.brand-logo{display:block;width:220px;height:78px;object-fit:contain;object-position:left center}
.visual-copy{position:relative;z-index:1;margin:auto 0;max-width:570px}.visual-copy h1{font-size:clamp(43px,5vw,64px);line-height:1.01;letter-spacing:-.055em;margin:12px 0 18px}.visual-copy>p:last-of-type{font-size:16px;line-height:1.65;color:#bdd0d9}.security-points{display:grid;gap:10px;margin-top:26px;color:#d8e5ea;font-size:11px;font-weight:750}.security-points span:before{content:"✓";display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(15,169,160,.18);color:#7ee0da;margin-right:8px}.powered{position:relative;z-index:1;color:#829da9;font-size:10px}.powered strong{color:#7ee0da}
.login-panel{display:grid;place-items:center;padding:40px 24px}.login-card{width:min(480px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:var(--shadow)}.login-card h2{font-size:31px;color:var(--navy);letter-spacing:-.04em;margin:6px 0 8px}.intro{font-size:13px;line-height:1.55;color:var(--ink-soft);margin:0 0 21px}.login-card .field{margin-bottom:13px}.login-button{width:100%;margin-top:6px;padding:13px}.message{margin-top:13px;padding:11px 12px;border-radius:11px;background:var(--danger-soft);color:var(--danger);font-size:11px}.message.success{background:var(--success-soft);color:var(--success)}
.help{margin-top:22px;padding:14px;border-radius:14px;background:var(--aqua);border:1px solid #ccefeb}.help strong{font-size:11px;color:var(--navy)}.help p{font-size:10px;color:#55717e;line-height:1.5;margin:4px 0 0}.back{display:inline-block;margin-top:17px;font-size:10px;font-weight:800;color:var(--teal-dark)}
@media(max-width:850px){.login-shell{grid-template-columns:1fr}.login-visual{min-height:360px}.visual-copy{margin:60px 0}.login-panel{padding:28px 16px}}
@media(max-width:520px){.login-visual{padding:25px 20px}.visual-copy h1{font-size:42px}.login-card{padding:23px;border-radius:21px}}
