.auth-main { width: min(100% - 32px, 470px); padding-top: clamp(30px, 9vh, 85px); }
.auth-brand { display: flex; align-items: center; gap: 16px; margin-bottom: 26px; }
.auth-brand .brand-mark { flex-shrink: 0; }
.auth-brand h1 { font-size: 1.9rem; margin-bottom: 0; }
.auth-login-panel h2 { margin-bottom: 10px; }
.auth-login-panel .field-label { margin-top: 20px; }
.auth-login-panel .primary-button { margin-top: 23px; }
.auth-public-note { color: var(--muted); font-size: .83rem; line-height: 1.5; text-align: center; margin: 25px 10px 12px; }
.auth-public-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 20px; margin-top: 20px; }
.auth-public-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--brand); font-size: .83rem; text-underline-offset: 3px; }
.admin-account-bar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 20px; padding: 13px 0 18px; margin-bottom: 14px; border-bottom: 1px solid #ccdcd3; }
.admin-account-bar p { margin: 0; color: var(--muted); font-size: .83rem; overflow-wrap: anywhere; }
.admin-account-bar strong { color: var(--ink); }
.admin-account-bar nav { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 17px; }
.admin-account-bar a { display: inline-flex; align-items: center; min-height: 44px; color: var(--brand); font-size: .82rem; font-weight: 700; }
.admin-account-bar button { min-height: 44px; font-size: .82rem; }
.auth-access-note { padding: 14px 17px; margin: 17px 0 0; color: #315b48; background: #e0efe5; border: 1px solid #bfdac9; border-radius: 10px; font-size: .84rem; line-height: 1.5; }
.auth-form-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 18px; }
.auth-page fieldset { min-width: 0; border: 0; margin: 0; padding: 0; }
.auth-page fieldset:disabled { opacity: .62; }
.auth-page .quiet-button:disabled { opacity: .5; cursor: not-allowed; }
.auth-page input:focus-visible { outline: 3px solid #0a6b5544; outline-offset: 3px; }
.auth-page .message a { color: inherit; text-underline-offset: 3px; font-weight: 700; }
.admin-user-list { border-top: 1px solid var(--line); margin-top: 18px; }
.admin-user-card { padding: 19px 0; border-bottom: 1px solid var(--line); min-width: 0; }
.admin-user-card:last-child { border-bottom: 0; padding-bottom: 0; }
.admin-user-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px 16px; }
.admin-user-name { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; min-width: 0; }
.admin-user-name h3 { overflow-wrap: anywhere; }
.admin-user-heading .quiet-button { flex-shrink: 0; min-height: 44px; font-size: .79rem; white-space: nowrap; }
.admin-user-disabled { background: #edf0ed; color: #697a70; }
.admin-user-meta { color: var(--muted); font-size: .75rem; margin: 8px 0; line-height: 1.5; }
.admin-user-actions { margin-top: 12px; }
.admin-user-actions summary { cursor: pointer; color: var(--brand); font-size: .82rem; min-height: 36px; padding-top: 5px; }
.admin-user-actions summary:focus-visible { outline: 3px solid #0a6b5544; outline-offset: 3px; }
.admin-user-reset { padding: 14px 18px 18px; border: 1px solid #d3dfd6; border-radius: 10px; background: #f7faf7; max-width: 440px; }
.admin-user-reset .field-label:first-child { margin-top: 0; }
.admin-user-reset .field-label { margin-top: 14px; }
.admin-user-reset .primary-button { min-height: 44px; font-size: .85rem; }
.auth-session-error { color: var(--danger); }
@media (max-width: 620px) {
  .auth-main { padding-top: 28px; }
  .auth-brand h1 { font-size: 1.65rem; }
  .auth-form-columns { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .admin-account-bar { align-items: flex-start; flex-direction: column; gap: 8px; }
  .admin-user-heading { align-items: flex-start; }
  .admin-user-name { max-width: 100%; }
}
