/* Shared member entry: existing and future site groups, including city hosts. */
html[data-site-group-id] .member-auth-page { --auth-muted: #59677d; min-width: 0; }
html[data-site-group-id] .member-auth-page::before { opacity: .45; }
html[data-site-group-id] .auth-showcase::after { opacity: .35; }
html[data-site-group-id] .auth-showcase h1 { font-size: clamp(40px,4.6vw,64px); font-weight: 750; line-height: 1.18; letter-spacing: -.035em; }
html[data-site-group-id] .auth-showcase > p { color: var(--auth-muted); font-size: 17px; }
html[data-site-group-id] .auth-showcase-points { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
html[data-site-group-id] .auth-showcase-points li { min-width: 0; padding: 14px 12px; box-shadow: none; }
html[data-site-group-id] .auth-showcase-points span { color: var(--auth-muted); font-size: 13px; line-height: 1.65; }
html[data-site-group-id] .member-auth-page .auth-card { border-radius: 22px; box-shadow: 0 16px 44px rgba(40,64,115,.085); }
html[data-site-group-id] .auth-card-heading h2 { font-size: 32px; }
html[data-site-group-id] .auth-card-heading > p:last-child,
html[data-site-group-id] .auth-route-switch { color: var(--auth-muted); }
html[data-site-group-id] .member-auth-page .auth-form small { color: var(--auth-muted); font-size: 13px; line-height: 1.6; }
html[data-site-group-id] .member-auth-page .auth-form input::placeholder { color: #66758a; }
html[data-site-group-id] .auth-form .form-message:empty,
html[data-site-group-id] .auth-form .auth-field-error:empty { display: none; }
html[data-site-group-id] .member-auth-page .auth-primary { margin-top: 11px; box-shadow: 0 7px 18px rgba(21,94,239,.16); }
html[data-site-group-id] .auth-route-switch { margin-top: 24px; }
html[data-site-group-id] .auth-back-link { display: none; }
html[data-site-group-id] .auth-password-help { justify-self: end; min-height: 44px; display: inline-flex; align-items: center; margin: -10px 0 -10px; padding: 0; border: 0; background: transparent; color: var(--primary); font: inherit; font-size: 14px; cursor: pointer; }
html[data-site-group-id] .auth-password-help:hover { text-decoration: underline; text-underline-offset: 4px; }
html[data-site-group-id] .auth-code-hint { margin: -3px 0 0; color: var(--auth-muted); font-size: 13px; line-height: 1.6; }
html[data-site-group-id] .auth-card :is(button,a):focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
@media (min-width:821px) and (max-width:1100px) {
  html[data-site-group-id] .auth-layout { gap: 32px; grid-template-columns: minmax(0,1fr) minmax(380px,1fr); }
  html[data-site-group-id] .auth-showcase-points { grid-template-columns: 1fr; }
  html[data-site-group-id] .auth-showcase-points li { display: flex; align-items: baseline; gap: 12px; padding: 10px 12px; }
}
@media (max-width:820px) {
  html[data-site-group-id] .auth-layout { gap: 16px; padding-top: 12px; }
  html[data-site-group-id] .auth-showcase { order: 2; padding: 0 12px; border: 0; border-radius: 0; background: transparent; text-align: center; }
  html[data-site-group-id] .auth-showcase :is(h1,.auth-showcase-badge,.auth-showcase-points),
  html[data-site-group-id] .auth-showcase::after { display: none; }
  html[data-site-group-id] .auth-showcase > p { margin: 0; font-size: 13px; line-height: 1.7; }
  html[data-site-group-id] .member-auth-page .auth-card { padding: 28px 24px; border-radius: 20px; }
  html[data-site-group-id] .auth-card-heading h2 { font-size: 28px; }
  html[data-site-group-id] .auth-home-link { display: inline-flex; min-height: 44px; }
  html[data-site-group-id] .member-auth-page .auth-form input { font-size: 16px; }
}
@media (max-width:360px) {
  html[data-site-group-id] .member-auth-page .auth-card { padding: 24px 18px; }
  html[data-site-group-id] .auth-home-link { padding: 0 8px; font-size: 12px; }
}
@media (prefers-reduced-motion:reduce) {
  html[data-site-group-id] .member-auth-page :is(button,a) { transition: none; }
}

/* Subsites retain their own theme colors; main-site rendering stays unchanged. */
html[data-site-group-id]:not([data-site-group-id="1"]) .member-auth-page .auth-primary { box-shadow: none; }
html[data-site-group-id]:not([data-site-group-id="1"]) .member-auth-page .auth-primary:hover { background: var(--primary-strong); box-shadow: none; }
html[data-site-group-id]:not([data-site-group-id="1"]) .auth-method-tabs { background: var(--primary-soft); border-color: var(--line); }
html[data-site-group-id]:not([data-site-group-id="1"]) .auth-method-tabs button.active { color: #fff; background: var(--primary); box-shadow: none; }
html[data-site-group-id]:not([data-site-group-id="1"]) .member-auth-page .auth-code-row button { color: var(--primary); border-color: var(--line); background: var(--primary-soft); }
html[data-site-group-id]:not([data-site-group-id="1"]) .member-auth-page .auth-code-row button:disabled { color: #667085; background: var(--surface-subtle); cursor: wait; }
html[data-site-group-id]:not([data-site-group-id="1"]) .member-auth-page .auth-form input:focus { border-color: var(--primary); box-shadow: none; outline: 2px solid var(--primary); outline-offset: 2px; }
html[data-site-group-id]:not([data-site-group-id="1"]) .auth-password-toggle:hover,
html[data-site-group-id]:not([data-site-group-id="1"]) .auth-password-toggle[aria-pressed="true"] { color: var(--primary); background: var(--primary-soft); }
