/* Owner login presentation only; authentication and reset flows are unchanged. */
.owner-login-page {
  max-width: 960px;
  margin: clamp(1.25rem, 4vw, 3rem) auto;
  padding: clamp(1.25rem, 4vw, 3rem) !important;
  color: #193331;
  background: #f5f7f3;
  border: 1px solid #e2e9e4;
  border-radius: 16px;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.owner-login-page .card,
.owner-login-page .card:hover,
.owner-login-page .card:focus-within,
.owner-login-page .card:has(.card-body:hover),
.owner-login-page .card:has(.card-body:focus-within) {
  background: #fff;
  border: 1px solid #e2e9e4;
  border-radius: 12px;
  box-shadow: 0 4px 18px rgba(25, 51, 49, .05);
}
.owner-login-page .card-body { padding: 2rem; }
.owner-login-page .owner-login-eyebrow {
  margin: 0 0 .75rem;
  color: #146b58;
  font-size: .72rem;
  font-weight: 650;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.owner-login-page h1 {
  color: #193331;
  font-family: inherit;
  font-size: clamp(1.6rem, 3vw, 2rem);
  font-weight: 650;
  letter-spacing: -.025em;
  line-height: 1.25;
}
.owner-login-page .text-muted { color: #61726b !important; }
.owner-login-page .card-body > .text-muted { font-size: .9rem; line-height: 1.65; }
.owner-login-page .form-label { color: #193331; font-size: .85rem; font-weight: 600; }
.owner-login-page .form-control {
  min-height: 48px;
  padding: .7rem .85rem;
  color: #193331;
  background: #fff;
  border: 1px solid #cbdcd0;
  border-radius: 7px;
  font-size: 1rem;
  box-shadow: none;
}
.owner-login-page .form-control:focus {
  border-color: #146b58;
  outline: 3px solid #31b989;
  outline-offset: 2px;
  box-shadow: none;
}
.owner-login-page .owner-login-actions {
  flex-direction: column;
  align-items: stretch !important;
  gap: .85rem !important;
  margin-top: 1.25rem;
}
.owner-login-page .btn-primary {
  --bs-btn-bg: #146b58;
  --bs-btn-border-color: #146b58;
  --bs-btn-hover-bg: #105745;
  --bs-btn-hover-border-color: #105745;
  --bs-btn-active-bg: #105745;
  --bs-btn-active-border-color: #105745;
  --bs-btn-focus-shadow-rgb: 20, 107, 88;
  min-height: 46px;
  padding: .7rem 1rem;
  color: #fff;
  background: #146b58;
  border-color: #146b58;
  border-radius: 7px !important;
  font-size: .95rem;
  font-weight: 600;
  box-shadow: none;
}
.owner-login-page .btn-primary:hover,
.owner-login-page .btn-primary:active {
  background: #105745;
  border-color: #105745;
}
.owner-login-page .link-primary { color: #146b58 !important; text-underline-offset: 3px; }
.owner-login-page .link-primary:hover { color: #105745 !important; }
.owner-login-page .owner-login-actions > a { text-align: center; font-size: .85rem; }
.owner-login-page a:focus-visible,
.owner-login-page button:focus-visible { outline: 3px solid #31b989; outline-offset: 3px; }
.owner-login-page hr { border-color: #d5e2d8; opacity: 1; }
.owner-login-page .owner-login-help { color: #61726b !important; font-size: .82rem; line-height: 1.7; }
.owner-login-page .alert-danger { border-radius: 7px; font-size: .875rem; }
@media (max-width: 575.98px) {
  .owner-login-page { width: calc(100% - 2rem); padding: 1rem !important; }
  .owner-login-page .card-body { padding: 1.25rem; }
}

/* Shared owner account and password pages. Verification keeps room for DNS
   instructions; these selectors never alter the form or its hidden values. */
.owner-login-page > .card { max-width: 560px; margin: 0 auto; }
.owner-login-page.owner-verification-page { max-width: 1100px; }
.owner-login-page.owner-verification-page > .card { max-width: none; }
.owner-login-page h2 { color: #193331; font-family: inherit; font-weight: 600; }
.owner-login-page .owner-login-actions > a.btn { font-size: .95rem; }
.owner-login-page .btn-outline-secondary {
  --bs-btn-color: #146b58;
  --bs-btn-border-color: #bfd7c8;
  --bs-btn-hover-color: #175a45;
  --bs-btn-hover-bg: #eaf3ec;
  --bs-btn-hover-border-color: #9fbea9;
  --bs-btn-active-color: #175a45;
  --bs-btn-active-bg: #eaf3ec;
  --bs-btn-active-border-color: #9fbea9;
  --bs-btn-focus-shadow-rgb: 20, 107, 88;
  min-height: 46px;
  padding: .7rem 1rem;
  border-radius: 7px !important;
  font-size: .95rem;
  font-weight: 600;
  box-shadow: none;
}
.owner-signup-page form > .btn-primary,
.owner-signup-page form > .btn-outline-secondary { display: block; width: 100%; }
.owner-signup-page form > .btn-outline-secondary { margin: .75rem 0 0 !important; }
.owner-verification-page .breadcrumb a { color: #146b58; }
.owner-verification-page .breadcrumb-item.active { color: #61726b; }
.owner-verification-page .card-body > .text-muted { overflow-wrap: anywhere; }
.owner-verification-page code { color: #245744; }
.owner-login-page .alert { border-radius: 7px; }
