/* GRIDiNFY first-design login theme.
   Scoped to authentication pages: no public-site or publishing changes.
   Brand values match static/first-design.css. Keep this after first-admin.css. */
.auth-body {
  --navy: #102338;
  --navy-deep: #091a2b;
  --green: #2563eb;
  --green-dark: #1d4ed8;
  --ink: #102338;
  --muted: #617180;
  --paper: #fff;
  --white: #fff;
  --line: #dfe5e9;
  --soft: #f4f7f8;
  --forest: #102338;
  --lime: #65baff;
  background: var(--white);
  color: var(--ink);
}
.auth-body ::selection { background: #d7e0ed; color: var(--navy); }
.auth-body :focus-visible { outline-color: var(--green); }
.auth-body input:focus-visible { outline-color: var(--green); }
.auth-story { background: var(--navy); color: var(--white); border-bottom: 5px solid var(--green); }
.auth-story::before { background: none; }
.auth-story .brand-type { color: var(--white); }
.auth-story .brand-type em { color: var(--lime); }
.auth-story .brand-tagline { color: #c8d3df; opacity: 1; }
/* A neutral plate keeps an official dark-on-transparent logo readable. */
.auth-story .brand-logo { background: var(--white); padding: 7px 10px; border-radius: 3px; }
.auth-kicker { color: #b8c5db; font-family: var(--font); }
.auth-headline .eyebrow { color: #b3c3dd; font-family: var(--font); }
.auth-headline .eyebrow i { background: var(--lime); box-shadow: 0 0 0 4px #65baff15; }
.auth-headline h1 { color: var(--white); letter-spacing: -.043em; line-height: 1.08; font-weight: 600; }
.auth-headline h1 em { color: #86caff; }
.auth-headline > p { color: #d2dce5; }
.auth-orbit > span { border-color: #375367; }
.auth-orbit > span:nth-child(2) { border-color: #294357; }
.auth-orbit > div { background: var(--green); border-color: var(--lime); color: var(--white); border-radius: 3px; transform: none; box-shadow: 12px 14px 0 #ffffff05; }
.auth-footer { color: #b8c9d4; }
.auth-form-side { background: var(--white); }
.auth-back { color: var(--green-dark); }
.auth-back:hover { color: var(--navy); text-decoration: underline; text-underline-offset: 4px; }
.auth-card { max-width: 374px; border-top: 3px solid var(--green); padding-top: 30px; padding-bottom: 24px; }
.auth-lock { background: #edf0f5; border-color: #d8dee8; color: var(--green-dark); border-radius: 3px; }
.auth-card > .eyebrow { color: var(--green-dark); font-family: var(--font); font-weight: 700; letter-spacing: .15em; }
.auth-card > h2 { color: var(--navy); font-weight: 600; letter-spacing: -.035em; }
.auth-card > p { color: var(--muted); }
.auth-card label { color: var(--navy); }
.auth-card input { background: #f8fafb; border: 1px solid #d6dfe5; border-radius: 3px; color: #163047; }
.auth-card input::placeholder { color: #617180; opacity: 1; }
.auth-card input:hover { border-color: #99aebc; }
.auth-card input:focus { background: var(--white); border-color: var(--green); }
.auth-card .btn-primary { background: var(--navy); border-color: var(--navy); color: var(--white); border-radius: 3px; }
.auth-card .btn-primary:hover { background: #1d3c57; border-color: #1d3c57; transform: none; }
.auth-card .btn-primary:disabled { opacity: .65; }
.auth-card .show-password { color: var(--muted); border-radius: 3px; }
.auth-card .show-password:hover { background: #edf2f5; color: var(--green-dark); }
.auth-note { border-color: var(--line); color: var(--muted); }
.auth-note .ui-icon { color: var(--green-dark); }
.auth-bottom { color: var(--muted); font-family: var(--font); line-height: 1.8; }
.auth-card .recovery-note { color: var(--green-dark); }
.auth-card .recovery-note summary:hover { text-decoration: underline; text-underline-offset: 3px; }
.auth-card .recovery-note p { color: var(--muted); }
.auth-card code { background: #edf2f5; color: var(--navy); border-radius: 3px; }
.auth-card .form-result.error { color: #922f2f; background: #fff3f3; border-color: #e6bcbc; border-radius: 3px; }
.auth-card .form-result.success { color: var(--green-dark); background: #edf0f5; border-color: #c6d0e1; border-radius: 3px; }
.auth-body .cms-toast { background: var(--navy); color: var(--white); border-color: #375367; border-radius: 3px; }
.auth-mobile-brand { display: none; }
@media (max-width: 760px) {
  .auth-form-side { border-top: 5px solid var(--navy); padding-top: 24px; }
  .auth-mobile-brand { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); padding-bottom: 22px; margin-bottom: 20px; }
  .auth-mobile-brand .brand-type { color: var(--navy); font-size: 28px; }
  .auth-mobile-brand .brand-type em { color: var(--green); }
  .auth-mobile-brand .brand-tagline { color: #526b7c; opacity: 1; font-size: 6px; }
  .auth-mobile-brand > span { color: var(--green-dark); font-size: 8px; font-weight: 700; letter-spacing: .1em; max-width: 90px; text-align: right; }
  .auth-mobile-brand .brand-logo { max-width: 175px; max-height: 46px; }
  .auth-card { padding-top: 28px; padding-bottom: 22px; margin: 32px auto; }
  .auth-bottom { margin-top: auto; }
}
@media (max-width: 360px) {
  .auth-form-side { padding-left: 20px; padding-right: 20px; }
  .auth-mobile-brand { gap: 10px; }
  .auth-mobile-brand .brand-type { font-size: 25px; }
  .auth-mobile-brand .brand-tagline { font-size: 5px; }
  .auth-mobile-brand > span { font-size: 7px; }
}
