* { box-sizing:border-box; }
.login-page { margin:0; min-height:100dvh; display:grid; place-items:center; padding:32px 20px; color:#292d30; background:#f7f9fc; font-family:Inter,"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
.login-card { position:relative; width:min(430px,100%); padding:39px; overflow:hidden; border:1px solid #dedfe2; border-radius:13px; background:#fff; box-shadow:0 18px 48px rgba(38,56,76,.09); }
.login-card::before { position:absolute; inset:0 0 auto; height:4px; background:linear-gradient(90deg,#1174c3 0 70%,#009bad 70% 100%); content:""; }
.login-brand { width:46px; height:46px; display:grid; place-content:center; grid-auto-flow:column; border:1px solid #1174c3; border-radius:11px; color:#fff; background:#1174c3; font-family:Georgia,"Times New Roman",serif; font-size:21px; box-shadow:0 7px 18px rgba(17,116,195,.16); }
.login-brand span { color:#bfe9ed; }
.login-kicker { margin:25px 0 0; color:#1174c3; font-size:11px; font-weight:800; letter-spacing:.14em; }
h1 { margin:11px 0 8px; color:#292d30; font:36px Georgia,"Times New Roman",serif; letter-spacing:-.035em; }
.login-intro { margin:0 0 27px; color:#68737e; font-size:14px; }
#login-form > label { display:block; margin:18px 0 8px; color:#59636d; font-size:14px; font-weight:650; }
#login-form > input { width:100%; height:46px; padding:10px 12px; border:1px solid #d9dfe6; border-radius:8px; outline:0; color:#292d30; background:#fff; font-size:16px; transition:border-color .16s ease,box-shadow .16s ease; }
#login-form > input:hover { border-color:#bdc8d4; }
#login-form input:focus { outline:0; border-color:#1174c3; box-shadow:0 0 0 3px rgba(17,116,195,.1); }
#login-form > .remember { display:flex; align-items:center; gap:8px; color:#59636d; font-size:13px; font-weight:500; line-height:1.5; }
.remember input { width:16px; height:16px; flex-shrink:0; accent-color:#1174c3; }
.login-help,.login-footer { color:#75808a; font-size:12px; line-height:1.6; }
.login-help { margin:0 0 0 24px; }
#login-error { min-height:19px; margin:13px 0 8px; color:#a23c37; font-size:12px; line-height:1.6; }
#login-form button { width:100%; height:46px; display:flex; align-items:center; justify-content:space-between; padding:0 16px; border:1px solid #1174c3; border-radius:8px; color:#fff; background:#1174c3; font-size:14px; font-weight:700; cursor:pointer; transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
#login-form button:hover { border-color:#0965ae; background:#0965ae; box-shadow:0 8px 20px rgba(17,116,195,.18); transform:translateY(-1px); }
#login-form button:focus-visible { outline:2px solid #009bad; outline-offset:3px; }
#login-form button:disabled { opacity:.6; cursor:wait; transform:none; }
.login-footer { padding-top:19px; margin:25px 0 0; border-top:1px solid #e2e4e7; }
.login-automation-policy { margin:11px 0 0; color:#89929b; font-size:12px; line-height:1.55; }
@media(max-width:480px) { .login-page { padding:18px 14px; } .login-card { padding:31px 23px; } h1 { font-size:32px; } }

.login-footer a { display:inline-block; margin-top:10px; color:#365b40; text-underline-offset:3px; }
