/* static/css/login.css */
:root { --blue: #1274FF; }

* { box-sizing: border-box; }
html,body { height:100%; margin:0; font-family: 'Inter', system-ui, Arial; -webkit-font-smoothing:antialiased; }
.page-bg {
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(180deg, #eaf3ff 0%, #dbeefe 100%);
  padding:32px;
}
.login-card {
  width:420px;
  max-width: calc(100% - 40px);
  background:#fff;
  border-radius:18px;
  padding:34px;
  box-shadow: 0 20px 40px rgba(20,40,80,0.08);
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  justify-content:center;
  margin-bottom:18px;
}
.logo-svg { width:50px; height:50px; display:block; }
.brand h1 { font-size:22px; color:#103f9a; margin:0; font-weight:700; letter-spacing:0.4px; }

label { display:block; font-weight:600; margin:10px 0 6px 0; color:#222; font-size:14px; }
.input-field {
  width:100%;
  padding:12px 14px;
  border-radius:8px;
  border:1px solid #e8edf3;
  font-size:15px;
  outline:none;
}
.input-field:focus { border-color: var(--blue); box-shadow: 0 8px 20px rgba(18,116,255,0.12); }

.btn-submit {
  display:block;
  width:100%;
  margin-top:18px;
  padding:13px 16px;
  border-radius:10px;
  background: linear-gradient(180deg, var(--blue) 0%, #0b63d6 100%);
  color:#fff;
  font-size:16px;
  font-weight:700;
  border:none;
  cursor:pointer;
}
.btn-submit:active { transform: translateY(1px); }

.forgot { display:block; text-align:center; margin-top:14px; color:#1261c9; text-decoration:none; font-weight:600; }
.messages { margin-top:12px; padding:0; list-style:none; }
.messages li { color:#b00020; }