body.auth-pending > :not(#platformAuth):not(script),
body.auth-required > :not(#platformAuth):not(script) { visibility: hidden; }

.platform-auth[hidden] { display: none; }
.platform-auth {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  overflow: auto;
  padding: 24px;
  background:
    radial-gradient(circle at 12% 14%, rgba(242, 106, 46, .18), transparent 28%),
    radial-gradient(circle at 88% 82%, rgba(236, 73, 99, .14), transparent 30%),
    #f7f5f0;
  font-family: Montserrat, system-ui, sans-serif;
}

.platform-auth-card {
  width: min(480px, 100%);
  padding: clamp(28px, 6vw, 48px);
  border: 1px solid #ded9d0;
  border-radius: 26px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 28px 80px rgba(34, 34, 34, .14);
}

.platform-auth-logo { width: 170px; height: auto; margin-bottom: 36px; }
.platform-auth-card .eyebrow { margin: 0 0 10px; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.platform-auth-card h1 { margin: 0 0 12px; font-size: clamp(30px, 7vw, 42px); line-height: 1.08; }
.platform-auth-card > p { margin: 0 0 28px; color: #5b5955; line-height: 1.65; }
.platform-auth-card form { display: grid; gap: 12px; }
.platform-auth-card form[hidden] { display: none; }
.platform-auth-card label { display: grid; gap: 8px; font-size: 12px; font-weight: 800; }
.platform-auth-card input {
  min-height: 52px;
  border: 1px solid #cfc9bf;
  border-radius: 12px;
  padding: 0 15px;
  color: #222;
  background: #fff;
  font: 600 16px Montserrat, system-ui, sans-serif;
}
.platform-auth-card input:focus { outline: 3px solid rgba(242, 106, 46, .22); border-color: #f26a2e; }
.platform-code-input { letter-spacing: .34em; text-align: center; font-size: 25px !important; font-variant-numeric: tabular-nums; }
.platform-auth-button {
  min-height: 52px;
  border: 0;
  border-radius: 12px;
  padding: 0 18px;
  color: #fff;
  background: #222;
  font: 800 13px Montserrat, system-ui, sans-serif;
  cursor: pointer;
}
.platform-auth-button:disabled { opacity: .55; cursor: wait; }
.platform-auth-secondary { border: 0; padding: 8px; background: transparent; color: #222; font: 700 12px Montserrat, sans-serif; text-decoration: underline; cursor: pointer; }
.platform-auth-email { margin: -2px 0 10px; overflow-wrap: anywhere; font-size: 13px; font-weight: 700; }
.platform-auth-message { min-height: 22px; margin: 18px 0 0 !important; font-size: 12px; line-height: 1.5 !important; }
.platform-auth-message.is-error { color: #a4242a; }
.platform-auth-privacy { margin: 26px 0 0 !important; font-size: 11px; color: #77736c !important; }
.platform-auth-privacy a { color: inherit; }

a[aria-disabled="true"], a.is-disabled { opacity: .45; pointer-events: none; }

.analytics-dialog {
  width: min(600px, calc(100vw - 32px));
  border: 0;
  border-radius: 22px;
  padding: 0;
  box-shadow: 0 28px 90px rgba(0,0,0,.24);
}
.analytics-dialog::backdrop { background: rgba(26, 25, 23, .58); }
.analytics-dialog-card { padding: clamp(26px, 6vw, 44px); font-family: Montserrat, system-ui, sans-serif; }
.analytics-dialog-card h2 { margin: 0 0 14px; font-size: clamp(24px, 5vw, 34px); }
.analytics-dialog-card p { color: #5b5955; line-height: 1.65; }
.analytics-dialog-card ul { padding-left: 20px; color: #5b5955; line-height: 1.7; }
.analytics-dialog-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.analytics-dialog-actions button { min-height: 46px; border-radius: 10px; padding: 0 16px; font: 800 12px Montserrat, sans-serif; cursor: pointer; }
.analytics-accept { border: 0; color: #fff; background: #222; }
.analytics-reject { border: 1px solid #aaa39a; color: #222; background: #fff; }
.analytics-error { color: #a4242a !important; font-size: 12px; }

.account-menu .platform-account-action,
.account-menu .platform-logout { width: 100%; border: 0; border-top: 1px solid #e5e0d8; padding: 14px 16px; background: #fff; text-align: left; font: 700 12px Montserrat, sans-serif; cursor: pointer; }
.account-menu .platform-account-action:hover,
.account-menu .platform-logout:hover { background: #f7f5f0; }
