body.neard-login { color: var(--color-basic); background: linear-gradient(180deg, #f7fbff 0, #fff 42%); }
.neard-login #loginWrapper { min-height: 100vh; display: flex; flex-direction: column; }
.neard-login #loginHeader .inner { justify-content: flex-start; gap: 18px; }
.neard-login #loginHeader .inner h1 { width: auto; }
.neard-login-logo { color: #15578f; font-size: clamp(1.8rem, 4vw, 2.35rem); font-weight: 800; letter-spacing: -.06em; text-decoration: none; }
.neard-login-title { padding-left: 18px; border-left: 1px solid #ccd6e2; color: #47566b; font-size: clamp(.9rem, 2vw, 1.05rem); font-weight: 500; }
.neard-login .login-main { flex: 1; display: flex; align-items: center; }
.neard-login .login-main > form, .neard-login .login-main > form > .inner { width: 100%; }
.neard-hero {
    position: relative;
    overflow: hidden;
    min-height: 330px;
    padding: clamp(30px, 5vw, 58px);
    border-radius: 18px;
    color: #fff;
    background: linear-gradient(135deg, #0f3f70 0%, #176ca4 55%, #1d8da0 100%);
    box-shadow: 0 25px 55px rgba(18, 70, 112, .18);
}
.neard-hero::before, .neard-hero::after { position: absolute; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; content: ""; }
.neard-hero::before { width: 310px; height: 310px; right: -105px; top: -130px; }
.neard-hero::after { width: 220px; height: 220px; right: 70px; bottom: -150px; }
.neard-hero-kicker { position: relative; display: block; color: #b9e7ff; font-size: .86rem; font-weight: 700; letter-spacing: .12em; }
.neard-hero h2 { position: relative; max-width: 500px; margin-top: 16px; font-size: clamp(2rem, 4vw, 3.15rem); line-height: 1.2; letter-spacing: -.05em; }
.neard-hero > p { position: relative; max-width: 560px; margin-top: 20px; color: rgba(255,255,255,.8); font-size: clamp(.9rem, 2vw, 1.05rem); line-height: 1.7; }
.neard-feature-list { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 34px; }
.neard-feature-list li { padding: 14px; border: 1px solid rgba(255,255,255,.17); border-radius: 10px; background: rgba(255,255,255,.09); }
.neard-feature-list strong { display: block; font-size: .92rem; }
.neard-feature-list span { display: block; margin-top: 5px; color: rgba(255,255,255,.66); font-size: .75rem; line-height: 1.45; }
.neard-login .login-box { padding: 18px 0; }
.neard-login .login-box h2 span { line-height: 1.45; }
.neard-login .login-input-form ul li input.login-input { height: 54px; }
.neard-login .login-input-form ul li input.login-input + label { pointer-events: none; }
.neard-login .login-input-form ul li input.login-input + label img { width: 24px; height: 24px; object-fit: contain; }
.neard-login .submit-btn { min-height: 54px; }
.neard-login .submit-btn[aria-busy="true"] { cursor: wait; opacity: .78; }
.neard-login-message { margin: 0 0 14px; padding: 12px 14px; border-radius: 8px; font-size: .86rem; line-height: 1.55; }
.neard-login-message.error { border: 1px solid #efb5b5; background: #fff4f4; color: #9d2626; }
.neard-login-message.error p { margin: 0; }
.neard-login-message .diagnostic-reference { margin-top: 6px; color: #6d3232; font-size: .76rem; }
.neard-login-message .diagnostic-reference strong { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .06em; }
.neard-login-message.success { border: 1px solid #a9d6bf; background: #f1fbf6; color: #1c6b49; }
.neard-login-message.info { margin-top: 14px; border: 1px solid #b9d5eb; background: #f1f8fd; color: #285d87; }
.neard-login-help { margin-top: 16px; color: var(--color-gray); font-size: .8rem; line-height: 1.55; }
.neard-login #loginFooter { margin-top: auto; }
.neard-login #loginFooter .inner { color: var(--color-gray); }
.neard-footer-brand { color: #15578f; font-size: 1.1rem; font-weight: 800; }
@media (max-width: 1238px) {
    .neard-login .login-main { align-items: flex-start; }
    .neard-login .login-box { width: 100%; max-width: 620px; margin: 0 auto; }
}
@media (max-width: 650px) {
    .neard-login-title { display: none; }
    .neard-hero { min-height: 0; }
    .neard-feature-list { grid-template-columns: 1fr; }
}
