html body dialog.legal-document-dialog {
  box-sizing: border-box; position: fixed; inset: 0; margin: auto; padding: 0;
  width: min(820px, calc(100vw - 24px)); max-width: calc(100vw - 24px);
  height: min(900px, calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px));
  max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);
  border: 1px solid #36586e; border-radius: 22px; background: #f7f9fa; color: #00243f;
  box-shadow: 0 12px 32px #00182b2b; overflow: hidden;
}
html body dialog.legal-document-dialog[open] { display: flex; flex-direction: column; }
html body dialog.legal-document-dialog:not([open]) { display: none; }
.legal-document-dialog::backdrop { background: #00182b80; }
html body .legal-document-dialog > header { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; background: #00243f; color: white; }
html body .legal-document-dialog h2 { margin: 0; font: 700 18px/1.3 system-ui, sans-serif; color: white; }
html body .legal-document-dialog button { min-width: 70px; min-height: 44px; padding: 10px 14px; border: 1px solid #91e6d3; border-radius: 12px; background: #75d9c3; color: #00243f; font: 700 14px/1.3 system-ui, sans-serif; cursor: pointer; }
html body .legal-document-dialog button:focus-visible { outline: 3px solid #57b8df; outline-offset: 2px; }
html body .legal-document-dialog iframe { flex: 1 1 auto; width: 100%; min-height: 0; border: 0; background: #f7f9fa; }
.legal-document-feedback { flex: 0 0 auto; }
.legal-document-feedback p:not([hidden]), .legal-document-feedback button:not([hidden]) { margin: 12px 16px; }
.legal-document-feedback [hidden] { display: none !important; }
html.legal-document-open, html.legal-document-open body, html.legal-document-open .map-stage { overscroll-behavior: none; overflow: hidden !important; }
