/* ===========================================================
   Referral-partner auth pages (agent-login, agent-forgot, agent-reset) v1 (2026-10-19).
   Visual layer only, loaded after site.v2.css: deep-navy band like the homepage hero, the form
   in an elevated card with layered shadow, mint primary button. Ids, forms and scripts unchanged.
   =========================================================== */
:root { --hp-mint: #2FD6B0; --hp-mint-hover: #3BE3BD; --hp-mint-ink: #04382E; --hp-navy: #071645; }

/* ---------- Mint primary buttons ---------- */
.login-btn, form.card button[type="submit"] {
  background: var(--hp-mint); color: var(--hp-mint-ink); border-radius: 999px; min-height: 52px; font-weight: 800;
  box-shadow: 0 14px 26px -12px rgba(47,214,176,.8), inset 0 2px 0 rgba(255,255,255,.3);
  transition: transform .2s cubic-bezier(.2,.7,.3,1), box-shadow .2s, background .2s;
}
.login-btn:hover:not(:disabled), form.card button[type="submit"]:hover:not(:disabled) {
  background: var(--hp-mint-hover); filter: none; transform: translateY(-2px); box-shadow: 0 18px 30px -14px rgba(47,214,176,.9);
}
input:focus { border-color: #2A7DE2; box-shadow: 0 0 0 4px rgba(42,125,226,.14); }

/* ---------- agent-login: navy band, white copy, elevated card ---------- */
.main {
  background: radial-gradient(120% 140% at 85% 0%, #1B3FA0 0%, rgba(27,63,160,0) 55%), linear-gradient(160deg, #0A1E5C 0%, var(--hp-navy) 70%);
  color: #fff;
}
.main h1 { color: #fff; }
.main .lead { color: rgba(255,255,255,.86); }
.main .eyebrow { color: var(--hp-mint); }
.main .eyebrow:before { background: var(--hp-mint); }
.main .feature-list li { color: #fff; }
.main .check { background: var(--hp-mint); color: var(--hp-mint-ink); }
.main .price-pill { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); box-shadow: none; }
.main .price-pill strong { color: #fff; }
.main .price-pill span { color: rgba(255,255,255,.75); }
.login-card {
  border: 0; border-top: 4px solid var(--hp-mint); border-radius: 28px;
  box-shadow: 0 50px 90px -40px rgba(0,0,0,.6), 0 18px 36px -18px rgba(0,0,0,.35);
}
.login-photo { display: none; }
@media (min-width: 901px) {
  .login-photo { display: block; margin: 0 0 6px; border-radius: 22px; overflow: hidden; max-width: 520px;
    box-shadow: 0 30px 60px -30px rgba(0,0,0,.6), 0 8px 18px -10px rgba(0,0,0,.35); }
  .login-photo picture { display: block; }
  .login-photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 7; object-fit: cover; object-position: 55% 55%; }
}

/* ---------- agent-forgot / agent-reset: navy band behind the card ---------- */
body:has(> div > form.card) {
  background: radial-gradient(90% 60% at 80% 0%, #1B3FA0 0%, rgba(27,63,160,0) 60%), linear-gradient(180deg, #0A1E5C 0%, var(--hp-navy) 48%, #EEF3FA 48%, #F7F9FC 100%);
}
body > div > a[href="/"] { display: inline-block; background: #fff; border-radius: 16px; padding: 10px 16px; box-shadow: 0 14px 30px -14px rgba(0,0,0,.5); }
form.card {
  border: 0; border-top: 4px solid var(--hp-mint); border-radius: 26px;
  box-shadow: 0 50px 90px -44px rgba(7,22,69,.6), 0 18px 36px -18px rgba(7,22,69,.3);
}
form.card:hover { transform: none; box-shadow: 0 50px 90px -44px rgba(7,22,69,.6), 0 18px 36px -18px rgba(7,22,69,.3); }
form.card .back { min-height: 44px; display: flex; align-items: center; justify-content: center; }

@media (prefers-reduced-motion: reduce) {
  .login-btn, form.card button[type="submit"] { transition: none; }
  .login-btn:hover:not(:disabled), form.card button[type="submit"]:hover:not(:disabled) { transform: none; }
}
