.pwa-status,
.pwa-install {
    align-items: center;
    border-radius: .5rem;
    box-shadow: 0 8px 24px rgb(15 23 42 / 18%);
    display: flex;
    gap: .75rem;
    max-width: min(28rem, calc(100vw - 2rem));
    padding: .7rem .85rem;
    position: fixed;
    right: 1rem;
    z-index: 11000;
}

.pwa-status {
    background: #b42318;
    bottom: 1rem;
    color: #fff;
}

.pwa-status[data-state="update"] {
    background: #1f2937;
}

.pwa-install {
    background: #1f2937;
    bottom: 1rem;
    color: #fff;
}

.pwa-status[hidden],
.pwa-install[hidden] {
    display: none;
}

.pwa-status__message,
.pwa-install__message {
    flex: 1;
    font-size: .875rem;
    line-height: 1.35;
}

.pwa-status button,
.pwa-install button {
    background: transparent;
    border: 1px solid rgb(255 255 255 / 55%);
    border-radius: .35rem;
    color: inherit;
    cursor: pointer;
    font: inherit;
    font-size: .8rem;
    padding: .35rem .6rem;
    white-space: nowrap;
}

.pwa-status button:hover,
.pwa-install button:hover {
    background: rgb(255 255 255 / 12%);
}

.pwa-install .pwa-install__dismiss {
    display: inline-grid;
    flex: 0 0 2rem;
    width: 2rem;
    height: 2rem;
    padding: 0;
    place-items: center;
}

@media (max-width: 576px) {
    .pwa-status,
    .pwa-install {
        bottom: .75rem;
        left: .75rem;
        right: .75rem;
    }

    .pwa-install {
        bottom: calc(.75rem + env(safe-area-inset-bottom));
        gap: .5rem;
        padding: .625rem;
    }

    .pwa-install__message {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}
