body[data-required-role="authenticated"]:not([data-access-resolved="true"]) main,
body[data-required-role="admin"]:not([data-access-resolved="true"]) main {
  visibility: hidden;
  min-height: 60vh;
}

.mms-firebase-access-gate {
  padding: clamp(5rem, 10vw, 9rem) 0;
  min-height: 65vh;
  display: grid;
  align-items: center;
  background: linear-gradient(180deg, #f5faf9 0%, #fff 100%);
}

.mms-firebase-access-gate__panel {
  max-width: 48rem;
  margin: 0 auto;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid rgba(11, 59, 56, .14);
  border-radius: 1.5rem;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 24px 70px rgba(21, 50, 47, .12);
  backdrop-filter: blur(18px) saturate(120%);
  -webkit-backdrop-filter: blur(18px) saturate(120%);
}

.mms-firebase-access-gate__panel h1 {
  margin: .65rem 0 1rem;
}

.mms-firebase-access-gate__panel p {
  color: #526460;
  line-height: 1.7;
}

.mms-pricing-bootstrap {
  padding: 1.25rem 0 2rem;
  background: #fff8f3;
  border-top: 1px solid rgba(255, 109, 58, .2);
  border-bottom: 1px solid rgba(255, 109, 58, .2);
}

.mms-pricing-bootstrap__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem 1.5rem;
  align-items: center;
  padding: 1.25rem;
  border: 1px dashed rgba(180, 74, 36, .42);
  border-radius: 1rem;
  background: #fff;
}

.mms-pricing-bootstrap__panel h2 {
  margin: 0 0 .35rem;
  font-size: 1.05rem;
}

.mms-pricing-bootstrap__panel p {
  margin: 0;
  color: #695a54;
}

.mms-pricing-bootstrap__status {
  grid-column: 1 / -1;
  margin: 0;
  padding: .75rem .9rem;
  border-radius: .7rem;
  background: #f5f7f7;
  color: #374a47;
}

.mms-pricing-bootstrap__status[data-state="success"] {
  background: #edf9f1;
  color: #176b3a;
}

.mms-pricing-bootstrap__status[data-state="error"] {
  background: #fff0f1;
  color: #a32d3d;
}

@media (max-width: 760px) {
  .mms-pricing-bootstrap__panel { grid-template-columns: 1fr; }
  .mms-pricing-bootstrap__panel .mms-button { width: 100%; }
}
