/* Only offline/update surfaces: the existing application keeps its own styles. */
.pulse-pwa-screen { box-sizing: border-box; margin: 0; padding: 32px; min-height: 100dvh; display: grid; place-content: center; background: #fafafa; color: #20242c; font: 16px/1.5 system-ui, sans-serif; text-align: center; }
.pulse-pwa-screen h1 { font-size: 24px; margin: 16px 0; font-weight: 700; }
.pulse-pwa-screen p { max-width: 440px; margin: 8px auto; }
.pulse-pwa-screen img { margin: 0 auto; }
.pulse-pwa-button { border: 0; border-radius: 6px; background: #1a627a; color: white; padding: 10px 16px; font: 600 14px/1.5 system-ui, sans-serif; cursor: pointer; }
.pulse-pwa-button:focus-visible { outline: 3px solid #1a627a; outline-offset: 3px; }
.pulse-pwa-button:disabled { opacity: .6; cursor: wait; }
.pulse-pwa-screen .pulse-pwa-button { margin: 16px auto 0; }
#pulse-offline-dialog { max-width: none; max-height: none; width: 100%; height: 100%; border: 0; }
#pulse-offline-dialog:not([open]) { display: none; }
#pulse-offline-dialog::backdrop { background: #fafafa; }
#pulse-update-notice { position: fixed; z-index: 2147483647; bottom: max(16px, env(safe-area-inset-bottom)); right: max(16px, env(safe-area-inset-right)); left: max(16px, env(safe-area-inset-left)); margin-left: auto; max-width: 440px; padding: 16px; border: 1px solid #d6dce0; border-radius: 8px; box-shadow: 0 4px 20px #0002; background: white; color: #20242c; font: 14px/1.5 system-ui, sans-serif; }
#pulse-update-notice p { margin: 0 0 12px; }
#pulse-update-notice button + button { margin-left: 8px; background: #e9edf0; color: #20242c; }
#pulse-update-notice[hidden] { display: none; }
