.login-page { min-height:calc(100vh - 260px); display:flex; align-items:center; justify-content:center; padding:70px 20px; background:var(--surface); }
.login-form { width:100%; max-width:465px; padding:42px; border:1px solid var(--line); border-radius:16px; background:var(--white); box-shadow:0 18px 55px rgba(11,35,51,.07); }
.login-eyebrow { color:var(--green-dark); font-size:11px; font-weight:800; letter-spacing:1.7px; }
.login-form h1 { margin:12px 0 8px; font-size:30px; line-height:1.2; letter-spacing:-1.2px; color:var(--navy); }
.login-form h1 span { color:var(--green); }
.login-intro { margin:0 0 27px; font-size:14px; color:var(--muted); }
.form-field { margin:0 0 18px; }
.form-field label { display:block; margin-bottom:7px; font-size:13px; font-weight:700; }
.form-field input { width:100%; height:46px; padding:0 13px; border:1px solid #b9cbd0; border-radius:8px; background:#fff; color:var(--ink); font:inherit; font-size:14px; }
.form-field input:focus { outline:2px solid rgba(18,149,84,.18); border-color:var(--green); }
.login-options { display:flex; justify-content:space-between; align-items:center; margin:2px 0 23px; font-size:13px; color:var(--muted); }
.remember-me { display:inline-flex; align-items:center; gap:7px; cursor:pointer; }
.remember-me input { accent-color:var(--green); }
.login-button { width:100%; height:47px; border:0; border-radius:8px; background:var(--green); color:#fff; font:inherit; font-size:14px; font-weight:800; cursor:pointer; }
.login-button:hover { background:var(--green-dark); }
.login-message { display:block; margin-bottom:15px; font-size:13px; }
.login-message:empty { display:none; }
.login-message-error { color:#b42318; }
.login-message-info { color:var(--green-dark); }
@media(max-width:520px) { .login-page { padding:35px 16px; } .login-form { padding:28px 22px; } .login-form h1 { font-size:26px; } }
