/* Standalone and deliberately scoped: still available if an app chunk fails. */
#twb-page-recovery {
  position: fixed;
  pointer-events: auto;
  inset-block-end: max(1rem, env(safe-area-inset-bottom));
  inset-inline-end: 1rem;
  z-index: 2147483647;
  box-sizing: border-box;
  width: min(26rem, calc(100vw - 2rem));
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  padding: 1.125rem;
  border: 1px solid #d7dce3;
  border-radius: 1rem;
  background: #fff;
  color: #17212e;
  box-shadow: 0 8px 32px #15203330;
  font: 400 0.9375rem/1.5 system-ui, sans-serif;
  text-align: start;
}
#twb-page-recovery[data-in-dialog="true"] {
  position: relative;
  inset: auto;
  grid-column: 1 / -1;
  width: 100%;
  margin-block-start: 0.75rem;
}
#twb-page-recovery h2 {
  margin: 0 0 0.375rem;
  color: inherit;
  font: 650 1rem/1.4 system-ui, sans-serif;
}
#twb-page-recovery p {
  margin: 0 0 1rem;
  color: #475467;
  font: inherit;
}
#twb-page-recovery .twb-page-recovery-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}
#twb-page-recovery button {
  box-sizing: border-box;
  min-height: 44px;
  padding: 0.625rem 0.875rem;
  border: 1px solid #17212e;
  border-radius: 0.625rem;
  background: #17212e;
  color: #fff;
  font: 600 0.875rem/1.4 system-ui, sans-serif;
  cursor: pointer;
}
#twb-page-recovery button.twb-page-recovery-dismiss {
  border-color: #d0d5dd;
  background: #fff;
  color: #17212e;
}
#twb-page-recovery button:focus-visible {
  outline: 3px solid #245ce4;
  outline-offset: 3px;
}
#twb-page-recovery button:disabled {
  opacity: 0.65;
  cursor: wait;
}
@media (forced-colors: active) {
  #twb-page-recovery { border: 1px solid CanvasText; }
}
