.pwa-install-button {
    background: var(--forest-dark);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 999px;
    bottom: 1rem;
    box-shadow: 0 5px 20px rgba(17,63,64,.25);
    color: #fff;
    font: inherit;
    font-size: .9rem;
    font-weight: 700;
    min-height: 44px;
    padding: .55rem 1rem;
    position: fixed;
    right: 1rem;
    z-index: 1010;
}
.pwa-install-button:hover, .pwa-install-button:focus-visible { background: var(--forest); color: #fff; }
.pwa-offline-notice, .pwa-update-notice {
    align-items: center;
    background: #783b20;
    border-radius: 6px;
    box-shadow: 0 4px 18px rgba(0,0,0,.18);
    color: #fff;
    display: none;
    gap: .75rem;
    left: 50%;
    max-width: calc(100vw - 2rem);
    padding: .7rem 1rem;
    position: fixed;
    top: .75rem;
    transform: translateX(-50%);
    width: max-content;
    z-index: 1200;
}
.pwa-offline-notice.visible, .pwa-update-notice.visible { display: flex; }
.pwa-update-notice { background: var(--forest-dark); }
.pwa-update-notice button {
    background: #fff;
    border: 0;
    border-radius: 4px;
    color: var(--forest-dark);
    font: inherit;
    font-weight: 700;
    min-height: 36px;
    padding: .35rem .7rem;
}
.pwa-update-notice button:disabled { opacity: .7; }
.pwa-install-help {
    border: 0;
    border-radius: 12px;
    box-shadow: 0 15px 50px rgba(17,63,64,.25);
    color: var(--ink);
    inset: 0;
    margin: auto;
    max-width: min(28rem, calc(100vw - 2rem));
    padding: 1.75rem;
    position: fixed;
    width: 100%;
}
.pwa-install-help::backdrop { background: rgba(10,35,35,.55); }
.pwa-install-help h2 { font-size: 1.25rem; font-weight: 700; padding-right: 2rem; }
.pwa-install-help p { color: var(--muted); margin: .75rem 0 0; }
.pwa-dialog-close {
    background: transparent;
    border: 0;
    color: var(--muted);
    font-size: 1.6rem;
    line-height: 1;
    padding: .1rem .35rem;
    position: absolute;
    right: .65rem;
    top: .55rem;
}
.pwa-form-offline-error { margin-bottom: 1rem; }
@media(max-width:575.98px) {
    .pwa-install-button { bottom: .75rem; right: .75rem; }
    .pwa-offline-notice, .pwa-update-notice { align-items: flex-start; max-width: calc(100vw - 1rem); top: .5rem; width: calc(100vw - 1rem); }
}
@media(max-width:767.98px) {
    .admission-section > .row { margin-left: 0; margin-right: 0; }
}
@media print {
    .pwa-install-button, .pwa-offline-notice, .pwa-update-notice, .pwa-install-help { display: none !important; }
}
