.site-brand-logo { box-sizing: border-box; background: #fff; padding: 3px; border-radius: 6px; }
.pwa-install[hidden] { display: none !important; }
.pwa-install { position: fixed; inset-inline-end: max(14px, env(safe-area-inset-left), env(safe-area-inset-right)); bottom: calc(18px + max(env(safe-area-inset-bottom), var(--bottom-navigation-height, 0px))); z-index: 35; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 15px; border: 1px solid #ffffff50; border-radius: 8px; color: #fff; background: rgb(var(--brand-600)); box-shadow: 0 4px 16px #0f172a24; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.pwa-install:focus-visible, .pwa-install-help button:focus-visible { outline: 3px solid #93c5fd; outline-offset: 3px; }
.pwa-install-help { width: min(380px, calc(100% - 32px)); border: 0; border-radius: 8px; padding: 24px; background: #fff; color: #0f172a; font: inherit; line-height: 1.9; }
.pwa-install-help::backdrop { background: #0f172a80; }
.pwa-install-help h2 { font-size: 18px; font-weight: 700; margin: 0 0 10px; }
.pwa-install-help p { margin: 0 0 20px; }
.pwa-install-help button { background: rgb(var(--brand-600)); color: white; border: 0; border-radius: 8px; padding: 8px 24px; min-height: 44px; font: inherit; cursor: pointer; }
.dark .pwa-install-help { background: #151c2b; color: #f1f5f9; }
@media print { .pwa-install, .pwa-install-help { display: none !important; } }
.device-push-prompt[hidden] { display: none !important; }
.device-push-prompt:not([hidden]) ~ .pwa-install { display: none !important; }
.device-push-prompt { position: fixed; inset-inline-start: max(14px, env(safe-area-inset-left), env(safe-area-inset-right)); inset-inline-end: auto; bottom: calc(18px + max(env(safe-area-inset-bottom), var(--bottom-navigation-height, 0px))); width: min(520px, calc(100% - 190px)); z-index: 36; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid rgb(var(--brand-500) / .28); border-radius: 8px; background: #fff; color: #172b4d; box-shadow: 0 4px 18px #0f172a1c; font: inherit; font-size: 13px; }
.device-push-prompt p { margin: 0; line-height: 1.7; }
.device-push-prompt > div { display: flex; flex-wrap: nowrap; gap: 6px; }
.device-push-prompt button { border: 0; border-radius: 8px; padding: 8px 14px; min-height: 44px; font: inherit; cursor: pointer; }
#device-push-allow { color: #fff; background: rgb(var(--brand-600)); }
#device-push-later { color: #475569; background: #f1f5f9; }
.device-push-prompt button:focus-visible { outline: 2px solid #2563eb; outline-offset: 3px; }
.dark .device-push-prompt { background: #151c2b; border-color: #334155; color: #f1f5f9; }
@media (max-width: 639px) {
  .device-push-prompt { inset-inline: 12px; bottom: calc(18px + max(env(safe-area-inset-bottom), var(--bottom-navigation-height, 0px))); width: auto; display: block; padding: 12px; }
  .device-push-prompt p { margin-bottom: 10px; }
  .device-push-prompt > div { justify-content: flex-start; }
  html[data-owner-shell]:has(.device-push-prompt:not([hidden])) #main-shell > main { padding-bottom: calc(120px + var(--bottom-navigation-height, 0px)); }
}
@media print { .device-push-prompt { display: none !important; } }
