.account-gate[hidden], .account-bar[hidden], .account-card [hidden] { display: none !important; }
.account-gate {
  position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center;
  overflow: auto; padding: 16px; background: linear-gradient(135deg, #173a23dd, #463410dc);
  backdrop-filter: blur(8px); font-family: system-ui, sans-serif;
}
.account-card {
  position: relative;
  width: min(460px, 100%); max-height: calc(100dvh - 32px); overflow: auto;
  box-sizing: border-box; border: 3px solid #edb650; border-radius: 24px;
  padding: 24px; color: #60350f; background: #fff0bf; box-shadow: 0 16px 50px #0005;
}
.account-card h1 { font-size: 28px; margin: 0 0 6px; }
.account-card p { font-size: 16px; line-height: 1.45; }
.account-forgot { color: #356322; font-weight: 700; }
.account-tabs, .account-social { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.account-card button, .account-card input {
  font: inherit; font-size: 17px; min-height: 48px; border-radius: 12px; box-sizing: border-box;
}
.account-card button { border: 1px solid #c18b38; background: #ffdf88; color: #60350f; cursor: pointer; padding: 8px 12px; }
.account-card button[aria-pressed="true"], #accountSubmit { color: white; background: #45882d; border-color: #387224; }
.account-card button:disabled { opacity: .55; cursor: default; }
.account-card label { display: block; font-size: 16px; font-weight: 700; margin-top: 14px; }
.account-card input { display: block; width: 100%; margin-top: 6px; padding: 10px; border: 2px solid #c8a469; background: #fffcf3; color: #332818; }
.account-card :focus-visible { outline: 3px solid #387224; outline-offset: 2px; }
#accountSubmit, #accountRetry, #accountPreview { width: 100%; margin-top: 16px; }
#accountMessage { min-height: 24px; font-weight: 600; }
.account-bar { position: fixed; bottom: 8px; left: 8px; z-index: 500; display: flex; align-items: center; gap: 8px;
  max-width: calc(100vw - 16px); padding: 6px 10px; border-radius: 12px; background: #fff0bfee; color: #60350f; font: 14px system-ui, sans-serif; }
.account-bar button { min-height: 36px; flex-shrink: 0; border: 1px solid #8f582c; border-radius: 8px; background: #ffdd88; color: #60350f; padding: 6px 10px; cursor: pointer; }
#accountStatus { overflow-wrap: anywhere; }
.account-card .account-close { position: absolute; top: 8px; right: 8px; width: 40px; min-height: 40px; padding: 0; font-size: 28px; }
.account-card h1 { padding-right: 22px; }
.profile-account-entry { display: grid; gap: 8px; padding: 12px; margin-bottom: 10px; border-radius: 12px; background: #fff0bf; color: #60350f; font-size: 16px; }
.profile-account-entry button { min-height: 44px; padding: 8px 14px; border: 1px solid #387224; border-radius: 10px; color: white; background: #45882d; font: inherit; cursor: pointer; }
@media (max-height: 560px) { .account-card { padding: 16px 22px; } }
/* Membership remains available inside Profile; keep the farm free of the status badge. */
.account-bar { display:none !important; }
