.pwa-install-banner {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    left: auto;
    box-sizing: border-box;
    z-index: 2000;
    width: min(380px, calc(100vw - 2rem));
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
    padding: 1.1rem 1.15rem;
    color: #193f47;
    background: #fff;
    border: 1px solid #dce7e8;
    border-radius: 12px;
    box-shadow: 0 8px 28px rgba(25, 63, 71, .18);
}

.pwa-install-banner[hidden] { display: none; }
.pwa-install-banner strong { display: block; margin-bottom: .35rem; color: #193f47; font-size: 1rem; }
.pwa-install-banner p { margin: 0 0 1rem; color: #5d7075; font-size: .9rem; line-height: 1.4; }
.pwa-install-actions { display: flex; gap: .6rem; justify-content: flex-end; }
.pwa-install-actions button { min-height: 38px; padding: .5rem .85rem; border-radius: 8px; font-size: .88rem; font-weight: 600; line-height: 1.1; }
.pwa-install-actions button { box-sizing: border-box; white-space: normal; }
.pwa-install-actions .btn-primary { color: #fff !important; background: #0082e0; border: 1px solid #0082e0; }
.pwa-install-actions .btn-primary:hover { background: #02548f; border-color: #02548f; }
.pwa-install-actions .btn-outline-secondary { color: #5d7075; background: #fff; border: 1px solid #cbd9db; }
.pwa-install-actions .btn-outline-secondary:hover { color: #193f47; background: #f4f7f8; border-color: #9bb2b5; }

@media (max-width: 600px) {
    .pwa-install-banner { right: max(.5rem, env(safe-area-inset-right)); bottom: max(.5rem, env(safe-area-inset-bottom)); left: max(.5rem, env(safe-area-inset-left)); width: auto; max-height: calc(100dvh - 1rem); padding: .9rem 1rem; }
    .pwa-install-banner p { max-width: none; overflow-wrap: anywhere; }
    .pwa-install-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .pwa-install-actions button { width: 100%; }
    .pwa-install-actions button:only-child { grid-column: 1 / -1; }
}
