.account-layout{max-width:520px;margin:22px auto 36px}.account-card h1{font-size:var(--ui-text-title-small);margin:0 0 16px}.account-card .field{margin-top:16px}.account-card .card-subtitle:empty{display:none}.account-submit{width:100%;margin-top:18px}.account-password-toggle{margin-top:10px;min-height:44px}.account-links{display:grid;justify-items:start;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border,#dde4db)}.account-links .text-button{min-height:44px;text-align:left}.account-links .account-guest{width:100%;margin-bottom:2px}.account-help p{line-height:var(--ui-leading-body)}.account-search{margin-top:18px}.account-search form{display:flex;gap:16px;align-items:end}.account-search .field{flex:1}.account-search form>.button{margin-bottom:2px}.account-search-results{margin-top:20px}.account-search-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid var(--border,#dde4db)}.account-search-row p{margin:6px 0;overflow-wrap:anywhere}.account-history-note{margin-top:16px}.session-label{overflow-wrap:anywhere}.account-summary-note{font-size:var(--ui-text-body);line-height:var(--ui-leading-body)}.account-card .form-error{background:#fff0ed;border-left:3px solid #ad473a;padding:12px 16px}.account-card button:focus-visible,.account-search button:focus-visible{outline:3px solid #947435;outline-offset:3px}@media(max-width:720px){.account-layout{margin:8px auto 28px}.account-search form{align-items:stretch;flex-direction:column}.account-search-row{align-items:start;flex-direction:column}.account-search-row .button{width:100%}}


@media(max-width:900px){.admin-nav{overflow-x:auto;flex-wrap:nowrap;max-width:100%;padding-bottom:8px}.admin-nav button{flex-shrink:0}}

.account-contact{font-weight:var(--ui-weight-strong);overflow-wrap:anywhere}.account-verification-actions{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:12px}.account-verification-actions .text-button{min-height:44px;text-align:left}.account-card input,.account-card select{min-height:44px;font-size:var(--ui-text-input)}.account-verification-actions button:disabled{opacity:.6;cursor:default}

/* Native method choices stay visible and retain native keyboard behavior. */
.registration-method-options{display:flex;flex-wrap:wrap;gap:8px 16px}.registration-method-options label{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border:1px solid #7b8775;border-radius:6px;cursor:pointer;flex:1 1 170px}.registration-method-options label:has(:checked){background:var(--mist);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.account-card .registration-method-options input{min-height:0;width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:var(--green)}.registration-method-fixed{font-size:var(--ui-text-body)}.account-card .field-hint,.account-card .inline-note,.account-recovery-help{font-size:var(--ui-text-body);line-height:var(--ui-leading-body)}.account-recovery-help{margin-top:14px}.account-recovery-help .text-button{min-height:44px;display:inline-flex;align-items:center;font-size:inherit;text-decoration:underline;text-underline-offset:3px}.support-contact{margin:14px 0}.support-address{margin-top:8px;overflow-wrap:anywhere}.support-phone{margin-top:8px;font-size:var(--ui-text-body)}.account-help .field-hint{font-size:var(--ui-text-body)}.account-help p+p{margin-top:12px}.account-card #account-feedback:not(:empty){margin-bottom:14px}.support-link{min-height:44px;display:inline-flex;align-items:center;font-size:inherit;text-decoration:underline;text-underline-offset:3px;vertical-align:baseline}.account-card input:not([type="radio"]):not([type="checkbox"]),.account-card select{border-color:#7b8775}

/* All primary destinations remain visible without horizontal navigation. */
@media(max-width:1230px){.admin-layout{display:block}.admin-layout .admin-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));gap:4px;overflow:visible;max-width:100%;padding:0 0 8px;margin-bottom:12px;border-bottom:1px solid var(--line)}.admin-layout .admin-nav .nav-caption{display:none}.admin-layout .admin-nav button{width:100%;min-height:44px;white-space:nowrap;font-size:var(--ui-text-body);padding:.5rem;justify-content:center;min-width:0}.admin-layout .admin-nav button svg{flex:0 0 18px}.admin-layout .admin-nav button[aria-current="page"]{font-weight:var(--ui-weight-strong)}}
@media(max-width:380px){.admin-layout .admin-nav button{gap:4px}.admin-layout .admin-nav button svg{display:none}}

/* Separate sign-in, new reservations, and recovery by their purpose. */
.account-layout{max-width:560px;margin:24px auto 40px}
.account-heading{margin-bottom:24px}
.account-card .account-heading h1{margin:0;font-size:var(--ui-text-title-small);line-height:var(--ui-leading-compact);letter-spacing:.01em}
.account-heading .ui-description{margin:10px 0 0;font-size:var(--ui-text-body);line-height:var(--ui-leading-body);color:var(--muted)}
.account-back-nav{margin-bottom:16px}
.account-card .field-label{font-size:var(--ui-text-body);line-height:var(--ui-leading-compact);font-weight:var(--ui-weight-strong);color:var(--muted)}
.account-card .field{gap:8px;margin-top:20px}
.account-card #account-form>.field:first-child,.account-card #registration-contact-field .field{margin-top:0}
.account-card .field-hint{margin-top:8px}
.account-card .account-submit{margin-top:0;min-height:48px}
.account-card .account-field-group{margin-top:24px}
.account-card .account-field-group:first-child{margin-top:0}
.account-field-group+.account-field-group{padding-top:24px;border-top:1px solid var(--line)}
.account-card .ui-section-heading{margin:0;font-size:var(--ui-text-input);line-height:var(--ui-leading-compact);font-weight:var(--ui-weight-strong)}
.account-entry-group{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.account-entry-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:12px;margin-top:16px}
.account-entry-actions .button{width:100%;margin:0;text-align:center;justify-content:center;white-space:normal;line-height:var(--ui-leading-compact)}
.account-recovery-group{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.account-recovery-group .account-links{margin-top:10px;padding:0;border:0;gap:2px}
.account-links .text-button{line-height:var(--ui-leading-compact)}
.account-card .account-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0 0 24px;color:var(--muted);font-size:var(--ui-text-body)}
.account-progress li{display:flex;align-items:center;gap:8px;position:relative;min-width:0;line-height:var(--ui-leading-compact)}
.account-progress li+li::before{content:"";position:absolute;left:-17px;width:7px;height:7px;border-top:1px solid var(--muted);border-right:1px solid var(--muted);transform:rotate(45deg)}
.account-step-number{display:grid;place-items:center;flex:0 0 2rem;min-height:2rem;border:1px solid var(--line);border-radius:50%;font-weight:var(--ui-weight-strong);color:var(--muted)}
.account-progress [aria-current="step"]{color:var(--green);font-weight:var(--ui-weight-strong)}
.account-progress [aria-current="step"] .account-step-number{background:var(--green);border-color:var(--green);color:white}
.account-progress .is-complete .account-step-number{background:var(--mist);border-color:var(--green);color:var(--green)}
.account-progress small{display:block;color:var(--muted);font-size:var(--ui-text-caption);font-weight:var(--ui-weight-normal)}
.account-card .account-contact-summary{grid-template-columns:minmax(0,1fr);margin:16px 0 0;padding:14px 16px;border-radius:8px;background:var(--mist);border:1px solid var(--line)}
.account-contact-summary dt{font-size:var(--ui-text-caption);line-height:var(--ui-leading-compact);color:var(--muted)}
.account-contact-summary dd{margin:5px 0 0;font-size:var(--ui-text-input);line-height:var(--ui-leading-compact);color:var(--ink)}
.account-verification-actions{gap:0 16px;margin-top:8px}
.account-card .registration-methods{padding:0;border:0;margin:0 0 20px}
.registration-methods legend{font-size:var(--ui-text-body);font-weight:var(--ui-weight-strong);line-height:var(--ui-leading-compact);color:var(--muted);padding:0;margin-bottom:12px}
.registration-method-fixed{margin-bottom:16px}
.registration-method-options label{border-radius:8px;line-height:var(--ui-leading-compact);min-width:0;flex:1 1 0}
.registration-method-options label:focus-within{outline:2px solid var(--green);outline-offset:3px}
.account-help .support-contact{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--mist)}
.account-card .account-password-toggle{margin:4px 0 0}
.account-search-contact{margin:10px 0 0;gap:12px 24px}
.account-search-row>div{min-width:0;flex:1}
.account-search-contact dt{font-size:var(--ui-text-caption);line-height:var(--ui-leading-compact);color:var(--muted)}
.account-search-contact dd{margin:4px 0 0;line-height:var(--ui-leading-compact);overflow-wrap:anywhere}
@media(max-width:600px){
  .account-layout{margin:12px auto 28px}
  .account-heading{margin-bottom:20px}
  .account-entry-actions{grid-template-columns:minmax(0,1fr)}
  .account-back-nav{margin-bottom:12px}
  .account-card .field{margin-top:18px}
  .account-entry-group,.account-recovery-group{margin-top:24px;padding-top:20px}
}

@media(max-width:380px){
  .account-progress li{gap:6px}
  .account-step-number{flex-basis:1.75rem;min-height:1.75rem}
}

.mfa-card .mfa-qr{display:block;width:min(100%,15rem);height:auto;margin:20px auto;background:white;border:8px solid white}
.mfa-card .mfa-secret{font-family:monospace;letter-spacing:.025em;min-width:0;width:100%;box-sizing:border-box}
.mfa-card .mfa-recovery-codes{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;list-style:none;padding:16px;margin:16px 0;background:var(--mist);border:1px solid var(--line);border-radius:8px}
.mfa-recovery-codes li{min-width:0;overflow-wrap:anywhere;user-select:all;font-size:var(--ui-text-input);line-height:var(--ui-leading-compact)}
.mfa-card .mfa-saved{margin-top:16px;min-height:44px;align-items:start}
.mfa-card .mfa-saved input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin-top:2px}
.mfa-card .mfa-help{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted)}
.mfa-card .ui-section-heading{font-size:var(--ui-text-section)}
.mfa-card .action-feedback .button{white-space:normal}

/* Keep each administrator's identity and action together, without form-footer spacing. */
.administrator-account.cr-account {
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px 24px;
  margin:0;
  padding-block:16px;
}
.administrator-account__details {display:grid;gap:4px;min-width:0}
.administrator-account__details:only-child {grid-column:1/-1}
.administrator-account__details>p {margin:0;color:var(--muted)}
.administrator-account>.action-feedback {--action-content-gap:0px}
.administrator-account:last-child {padding-bottom:0}
@media(max-width:720px) {
  .administrator-account.cr-account {grid-template-columns:minmax(0,1fr)}
}
