/* ===== Login_form_v2.css  --  NEW login page design ===== */
:root {
  --at-header-bg: #0F4468;
  --at-page-bg: #EFF2FB;
  --at-text: #1F2937;
  --at-muted: #5B6472;
  --at-placeholder: #9AA0AB;
  --at-border: #D7DBE2;
  --at-link: #1F6FB8;
  --at-orange: #FB7611;
  --at-orange-hover: #E96A08;
  --at-green: #22A86A;
  --at-red: #B91C1C;
}
.at-login, .at-login * { box-sizing: border-box; }
html, body.at-login { margin: 0; padding: 0; overflow: auto; }
body.at-login {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  background: var(--at-page-bg);
  color: var(--at-text);
  min-height: 100vh;
  display: flex; flex-direction: column;
  -webkit-font-smoothing: antialiased;
}

/* Header + logo */
.at-header {
  background: radial-gradient(ellipse at center, #145782 0%, #0B3150 100%);  /* same as Forgot Password page */
  height: 170px;
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
}
.at-header img { width: 440px; max-width: 100%; height: auto; display: block; cursor: pointer; }

/* Card */
.at-main { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 44px 20px 40px; }
.at-card {
  width: 100%; max-width: 560px;
  background: #fff; border-radius: 10px;
  box-shadow: 0 2px 12px rgba(16,37,74,.05);
  padding: 34px 36px 34px;
}
.at-subtitle { text-align: center; font-size: 16px; color: var(--at-muted); margin: 0 0 26px; }

/* Messages */
.at-alert {
  background: #FEF2F2; color: var(--at-red);
  border: 1px solid #FECACA; border-radius: 6px;
  padding: 12px 16px; margin: -10px 0 24px;
  font-size: 15px; font-weight: 600; line-height: 1.5; text-align: center;
}
.at-alert-warn { background: #FFF8E6; color: #7A4B00; border-color: #FEC024; font-weight: 500; }
.at-alert-warn strong { color: #000090; }

/* Fields */
.at-field { margin-bottom: 20px; }
.at-field label { display: block; font-size: 15px; font-weight: 500; margin-bottom: 8px; color: var(--at-text); }
.at-input { position: relative; }
.at-icon {
  position: absolute; left: 15px; top: 50%; transform: translateY(-50%);
  width: 20px; height: 20px; color: #6B7280; pointer-events: none;
}
.at-input input {
  width: 100%; height: 48px; margin: 0;
  border: 1px solid var(--at-border); border-radius: 6px;
  padding: 0 48px 0 46px;
  font-family: inherit; font-size: 15px; color: var(--at-text);
  background: #fff; outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.at-input input::placeholder { color: var(--at-placeholder); }
.at-input input:focus { border-color: var(--at-link); box-shadow: 0 0 0 3px rgba(31,111,184,.15); }
.at-eye {
  position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
  background: none; border: 0; width: 32px; height: 32px; padding: 0;
  display: flex; align-items: center; justify-content: center;
  color: #6B7280; cursor: pointer; border-radius: 6px;
}
.at-eye svg { width: 20px; height: 20px; }

/* Stop Chrome/Safari autofill turning the boxes light blue */
.at-input input:-webkit-autofill,
.at-input input:-webkit-autofill:hover,
.at-input input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
  -webkit-text-fill-color: var(--at-text);
  caret-color: var(--at-text);
}

/* Remember me / forgot */
.at-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; flex-wrap: wrap; margin: 2px 0 20px;
}
.at-remember { display: flex; align-items: center; gap: 10px; font-size: 15px; cursor: pointer; }
.at-remember input { width: 17px; height: 17px; margin: 0; accent-color: var(--at-orange); cursor: pointer; }
a.at-link, a.at-link:link, a.at-link:visited { color: var(--at-link); text-decoration: none; font-weight: normal; }
a.at-link:hover { text-decoration: underline; }
.at-row .at-link { font-size: 15px; }

/* Button */
.at-btn {
  width: 100%; height: 48px; margin: 0;
  border: 0; border-radius: 6px;
  background: var(--at-orange); color: #fff;
  font-family: inherit; font-size: 17px; font-weight: 600;
  cursor: pointer; transition: background .15s;
  -webkit-appearance: none; appearance: none;
}
.at-btn:hover { background: var(--at-orange-hover); }
.at-btn:disabled { background: #F5B98A; cursor: not-allowed; }

/* Status bar */
.at-status {
  width: 100%; max-width: 560px; margin-top: 32px;
  background: #fff; border-radius: 8px;
  box-shadow: 0 2px 10px rgba(16,37,74,.04);
  padding: 13px 24px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; flex-wrap: wrap; font-size: 14px;
}
.at-status-item { display: flex; align-items: center; gap: 10px; color: var(--at-muted); }
.at-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--at-green); flex-shrink: 0; }
.at-ok { color: var(--at-green); }
.at-sep { width: 1px; height: 18px; background: #DDE1E8; }

.at-footer { text-align: center; font-size: 15px; color: var(--at-muted); padding: 30px 20px 40px; }

/* Phones / tablets */
@media (max-width: 700px) {
  .at-header { height: auto; padding: 30px 20px; }
  .at-header img { width: 80%; max-width: 340px; }
  .at-main { padding: 32px 16px 24px; }
  .at-card { padding: 30px 22px 28px; }
  .at-subtitle { font-size: 15px; margin-bottom: 26px; }
  .at-field label, .at-remember, .at-row .at-link { font-size: 15px; }
  .at-input input { height: 46px; font-size: 16px; }
  .at-btn { height: 46px; font-size: 16px; }
  .at-status { margin-top: 28px; justify-content: center; padding: 14px 18px; font-size: 14px; }
}
@media (max-width: 480px) {
  .at-status { flex-direction: column; gap: 10px; }
  .at-sep { display: none; }
}