/* Deliberately scoped: works without Bootstrap on public and management pages. */
@media screen {
    /* basis_client.scss locks body scrolling; #wrapwrap owns page scrolling.
       A sibling appended below its 100% height is clipped, not a footer.
       Reserve a real row ONLY for that public-page shell while PWA is shown.
       Management already has its own flex shell and must not be changed. */
    body.aaps-pwa-page-shell:not(.d_site_enduser) {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        height: 100%;
        min-height: 0;
        box-sizing: border-box;
        overflow: hidden;
    }
    body.aaps-pwa-page-shell:not(.d_site_enduser) > #wrapwrap {
        flex: 1 1 0;
        min-height: 0;
        height: auto;
    }
}
.aaps-pwa-install {
    position: relative;
    flex: 0 0 auto;
    /* Management mounts its content asynchronously: always remain the last
       flex item even if the app root is appended after this footer. */
    order: 1000;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 4px max(12px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
    background: #f5f8fc;
    border-top: 1px solid #d3ddeb;
    font: 14px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
    color: #172033;
    text-align: start;
}
.aaps-pwa-install [hidden], .aaps-pwa-install[hidden] { display: none !important; }
.aaps-pwa-install button {
    appearance: none;
    font: inherit;
    font-weight: 600;
    min-height: 40px;
    padding: 8px 14px;
    border: 1px solid #b6c4d8;
    border-radius: 10px;
    background: #fff;
    color: #164da8;
    cursor: pointer;
    white-space: normal;
}
.aaps-pwa-install button:focus-visible { outline: 3px solid #4586ef; outline-offset: 3px; }
.aaps-pwa-install button:disabled { opacity: .6; cursor: wait; }
.aaps-pwa-install .aaps-pwa-launcher { display: block; margin-inline-start: auto; min-height: 32px; padding: 4px 12px; }
.aaps-pwa-install .aaps-pwa-primary { background: #165dcc; border-color: #165dcc; color: #fff; }
.aaps-pwa-panel {
    box-sizing: border-box;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    max-height: 40dvh;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #d3ddeb;
    border-radius: 14px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 8px 16px;
    flex-wrap: wrap;
    overflow-wrap: anywhere;
}
.aaps-pwa-panel strong { font-size: 17px; }
.aaps-pwa-panel p { margin: 0; flex: 1 1 260px; min-width: 0; }
.aaps-pwa-actions { display: flex; gap: 8px; flex-wrap: wrap; }
@media print { .aaps-pwa-install { display: none !important; } }
