/* The notice is a one-time dialog; it does not reserve space in application screens. */
.sm-maint-modal[hidden] { display: none !important; }
.sm-maint-ack:focus-visible { outline: 3px solid #154f57; outline-offset: 3px; }
.sm-maint-modal {
  position: absolute; inset: 0; z-index: 96; display: grid; place-items: center;
  padding: calc(20px + var(--safe-t, 0px)) 20px calc(20px + var(--safe-b, 0px));
  background: rgba(10, 37, 42, .48);
}
.sm-maint-card {
  width: 100%; max-width: 360px; max-height: 100%; overflow-y: auto; box-sizing: border-box;
  padding: 28px 24px 24px; border-radius: 28px; background: #fff; color: #173b40;
  box-shadow: 0 15px 50px rgba(10, 37, 42, .18); text-align: left;
}
.sm-maint-title { margin: 0; font-family: var(--font-display, sans-serif); font-size: 28px; line-height: 1.05; }
.sm-maint-message { margin: 18px 0 0; font-size: 16px; line-height: 1.4; white-space: pre-wrap; overflow-wrap: anywhere; }
.sm-maint-until { margin: 12px 0 0; color: #647779; font-size: 13px; line-height: 1.4; }
.sm-maint-ack {
  display: block; width: 100%; min-height: 50px; padding: 12px 20px; margin-top: 22px;
  border: 0; border-radius: 28px; background: #ff896f; color: #30251f;
  font-family: var(--font-display, sans-serif); font-size: 18px; font-weight: 700;
}
@media (max-height: 520px) {
  .sm-maint-card { padding: 20px; border-radius: 22px; }
  .sm-maint-title { font-size: 24px; }
  .sm-maint-message { margin-top: 12px; }
  .sm-maint-ack { margin-top: 16px; }
}
