.login-page{min-height:100vh;min-height:100dvh;height:auto;background:#eef2f8;display:grid;place-items:center;padding:32px}
.login-shell{width:100%;max-width:1030px;min-height:590px;display:grid;grid-template-columns:1.05fr 1fr;border:1px solid #dfe5ee;border-radius:22px;overflow:hidden;box-shadow:0 20px 70px #1b365015}
.login-intro{padding:42px;background:linear-gradient(140deg,#183651,#14253d);color:white;display:flex;flex-direction:column}
.login-brand{display:flex;align-items:center;gap:13px;font-size:15px;letter-spacing:1px}
.login-story{margin:auto 0;padding:45px 0}
.login-story .eyebrow{color:#9db8d9;letter-spacing:3px;font-size:11px}
.login-story h1{font-size:31px;letter-spacing:.5px;line-height:1.65;font-weight:600;margin:14px 0 20px}
.login-story>p:last-of-type{color:#b7c9dd;font-size:13px;line-height:2}
.login-steps{display:flex;gap:15px;flex-wrap:wrap;margin-top:33px;color:#b7c9dd;font-size:11px}
.login-caption{font-size:9px;letter-spacing:2px;color:#92a8c3}
.login-panel{padding:48px 44px 28px;background:white;display:flex;flex-direction:column}
.login-form-wrap{margin:auto 0;padding:20px 0 38px}
.login-form-wrap>.eyebrow{color:var(--primary);letter-spacing:2px;font-size:11px;margin-bottom:7px}
.login-panel h2{font-size:26px;letter-spacing:.5px;font-weight:650}
.login-description{font-size:12px;color:var(--muted);margin:10px 0 32px}
.login-panel label{display:block;font-size:12px;margin-bottom:9px;color:var(--text);font-weight:500}
.login-field{position:relative}
.login-field input{width:100%;border:1px solid var(--border);border-radius:9px;min-height:46px;padding:12px 58px 12px 14px;background:#fafbfe;font-size:14px}
.login-field input:focus{border-color:var(--primary);background:white}
.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border-radius:6px;padding:7px 10px;font-size:12px;color:var(--muted)}
.password-toggle:hover{background:var(--primary-bg);color:var(--primary)}
.login-submit{width:100%;justify-content:space-between;margin-top:19px;min-height:45px;padding:11px 16px;font-size:13px}
.login-message{margin-top:14px;background:var(--err-bg);color:var(--err);padding:10px 13px;border-radius:8px;font-size:12px;line-height:1.7}
.login-message.success{background:var(--ok-bg);color:var(--ok)}
.login-tip{margin-top:26px;border-top:1px solid var(--border);padding-top:20px;font-size:11px;line-height:1.9;color:var(--muted)}
.login-footer{text-align:center;font-size:10px;color:#8a97a9}
@media(max-width:760px){.login-page{padding:20px}.login-shell{grid-template-columns:1fr;max-width:430px;min-height:0;border-radius:16px}.login-intro{padding:25px 28px}.login-story{padding:18px 0 0}.login-story h1{font-size:23px;margin:7px 0 0}.login-story>p:last-of-type,.login-steps,.login-caption{display:none}.login-story>.eyebrow{display:none}.login-brand{font-size:13px}.login-brand .brand-mark{width:31px;height:34px;font-size:17px}.login-panel{padding:26px 28px 20px}.login-form-wrap{padding:0 0 28px}.login-panel h2{font-size:23px}.login-description{margin-bottom:23px}.login-tip{margin-top:22px}.login-field input{font-size:16px}}
@media(max-width:360px){.login-page{padding:12px}.login-intro,.login-panel{padding:24px}.login-story h1{font-size:21px}}
