.pm-pwa-install[hidden],.pm-pwa-install [hidden] {display:none !important}
.pm-pwa-install .pm-form-actions {display:flex;flex-direction:column;gap:10px;margin:20px 0 0}
.pm-pwa-install .pm-form-actions > .pm-btn {width:100%;min-width:0;max-width:100%;margin:0;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box;text-align:center;justify-content:center}
/* Approved invitation-only exception to the shared functional-button arrow reset. */
.pm-pwa-install .pm-pwa-cta:not(:disabled):not(.pm-saving)::after {content:"▸" !important;content:"▸" / "" !important;display:inline-block;flex:0 0 auto;text-decoration:none}
dialog.pm-pwa-install {position:fixed;inset:0 16px auto;transform:none;width:calc(100% - 32px);max-width:480px;max-height:calc(100vh - 32px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - 32px);margin:calc(12px + env(safe-area-inset-top,0px)) auto 0;padding:24px;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;border:0}
dialog.pm-pwa-install:not([open]) {display:none}
dialog.pm-pwa-install::backdrop {background:rgba(26,26,26,.48)}
.pm-pwa-heading {display:flex;align-items:center;gap:16px;margin:0 24px 18px 0}
.pm-pwa-heading img {flex:none;border-radius:14px}
.pm-pwa-heading h2 {margin:0;font-size:22px;line-height:1.2;overflow-wrap:anywhere}
.pm-pwa-install :focus-visible {outline:2px solid var(--terracotta,#c6522d);outline-offset:3px}
.pm-pwa-install p {margin:0 0 12px;line-height:1.5}
.pm-pwa-install details {margin-top:14px}
.pm-pwa-install summary {cursor:pointer;line-height:1.5}
.pm-pwa-install input {display:block;width:100%;max-width:100%;margin:8px 0;box-sizing:border-box}
.pm-pwa-install [data-pwa-status]:empty {display:none}
.pm-pwa-install [data-pwa-status] {margin-top:12px}
.pm-pwa-install form {margin-top:12px}
.pm-communication-section {min-width:0;overflow-wrap:anywhere}
.pm-communication-section + .pm-communication-section {border-top:1px solid var(--pm-border,#dedbd4);margin-top:24px;padding-top:24px}
.pm-communication-section h3 {margin:0 0 12px}
.pm-push-card.pm-card {max-width:760px;margin:24px auto;padding:24px;min-width:0;overflow-wrap:anywhere}
.pm-push-card .pm-form-actions {display:flex;flex-wrap:wrap;gap:12px}
.pm-push-preferences {border:0;padding:16px 0 0;margin:0;min-width:0}
.pm-push-preferences legend {font-size:16px;font-weight:var(--pm-weight-strong,600);margin-bottom:8px}
@media (max-width:360px) {dialog.pm-pwa-install {padding:20px}.pm-pwa-heading {gap:12px}.pm-pwa-heading img {width:48px;height:48px}.pm-pwa-heading h2 {font-size:20px}}
@media (display-mode: standalone) {.pm-pwa-install {display:none !important}}

/* First installed-app visit: permission still starts in the explicit tap. */
.pm-push-invitation[hidden],.pm-push-invitation [hidden] {display:none !important}
dialog.pm-push-invitation {inset:0 16px auto;transform:none;width:calc(100% - 32px);max-width:480px;margin:calc(12px + env(safe-area-inset-top,0px)) auto 0;border:0;max-height:calc(100dvh - env(safe-area-inset-top,0px) - 32px)}
dialog.pm-push-invitation:not([open]) {display:none}
dialog.pm-push-invitation::backdrop {background:rgba(26,26,26,.48)}
.pm-push-invitation .pm-dialog-actions {flex-direction:column;margin-top:20px}
.pm-push-invitation .pm-btn {width:100%;min-width:0;margin:0;text-align:center;justify-content:center;overflow-wrap:anywhere}
.pm-push-invitation [data-push-status]:empty {display:none}
.pm-push-invitation [data-push-status] {margin:12px 0 0}
.pm-push-invitation [data-push-ios-tap] {display:none}
/* iOS: the next real tap opens the native permission dialog; consume that tap. */
dialog.pm-push-invitation.pm-push-ios-gate {inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}
dialog.pm-push-invitation.pm-push-ios-gate::backdrop {background:transparent;backdrop-filter:none}
.pm-push-ios-gate > :not([data-push-ios-tap]) {display:none}
.pm-push-ios-gate [data-push-ios-tap] {display:block;position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:transparent;appearance:none;cursor:default;outline:none}
