#lms-app button.pv-pwa-open {
    display: none; flex: 0 0 44px; align-items: center; justify-content: center;
    width: 44px; height: 44px; min-width: 44px; min-height: 44px;
    margin: 0; padding: 0; border: 0; border-radius: 10px; background: transparent;
    color: var(--lms-text, #171719); box-shadow: none; cursor: pointer;
}
#lms-app button.pv-pwa-open[hidden] { display: none !important; }
#lms-app button.pv-pwa-open svg { width: 22px; height: 22px; flex: none; }
#lms-app button.pv-pwa-open:hover { background: var(--lms-input-bg, #f7f7fa); }
#lms-app button.pv-pwa-open:focus-visible,
#pv-pwa-dialog button:focus-visible { outline: 2px solid #825be0; outline-offset: 3px; }
@media (max-width: 900px) {
    #lms-app button.pv-pwa-open { display: inline-flex; }
    #lms-app.pv-pwa-install-ready:not(.pvm-app) > .lms-topbar {
        grid-template-columns: minmax(0, 1fr) auto 44px;
        grid-template-areas: "brand actions actions" "search search tools";
    }
    #lms-app .lms-mobile-brand > span:not(.lms-mobile-brand__fallback) {
        flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
}
@media (display-mode: standalone), (display-mode: fullscreen) {
    #lms-app button.pv-pwa-open { display: none !important; }
}
body.pv-pwa-modal-open { overflow: hidden; }
#pv-pwa-dialog {
    position: fixed; inset: 0; z-index: 1000900; display: flex; align-items: center; justify-content: center;
    box-sizing: border-box; padding: max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
    font-family: var(--lms-font-body, Arial, sans-serif); color: var(--lms-text, #171719);
}
#pv-pwa-dialog[hidden] { display: none !important; }
.pv-pwa-dialog__overlay { position: absolute; inset: 0; background: rgba(18, 12, 32, .48); }
.pv-pwa-dialog__box {
    position: relative; box-sizing: border-box; width: 100%; max-width: 420px;
    max-height: calc(100vh - 40px); max-height: calc(100dvh - 40px); overflow-y: auto; overscroll-behavior: contain;
    padding: 24px; border: 1px solid var(--lms-border, #e8e5ed); border-radius: 20px;
    background: var(--lms-panel-bg, #fff); box-shadow: 0 20px 70px rgba(18, 12, 32, .22);
}
#pv-pwa-dialog button.pv-pwa-dialog__close {
    position: absolute; top: 8px; right: 8px; display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 0; border: 0; border-radius: 10px;
    background: transparent; color: var(--lms-muted, #6b6677); font: 400 28px/1 var(--lms-font-body, Arial, sans-serif); cursor: pointer;
}
.pv-pwa-dialog__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-bottom: 16px; border-radius: 14px; background: #eee7fb; color: #825be0; }
.pv-pwa-dialog__icon svg { width: 26px; height: 26px; }
#pv-pwa-title { margin: 0 24px 10px 0; padding: 0; color: inherit; font: 600 21px/1.3 var(--lms-font-body, Arial, sans-serif); }
#pv-pwa-description { margin: 0 0 18px; padding: 0; color: var(--lms-muted, #6b6677); font-size: 14px; line-height: 1.5; }
#pv-pwa-instructions ol { margin: 0; padding-left: 23px; font-size: 14px; line-height: 1.5; }
#pv-pwa-instructions li { margin: 0 0 10px; padding-left: 3px; }
#pv-pwa-instructions li::marker { color: #825be0; font-weight: 600; }
#pv-pwa-instructions .pv-pwa-note { margin: 14px 0 0; color: var(--lms-muted, #6b6677); font-size: 13px; line-height: 1.5; }
#pv-pwa-status { margin: 12px 0 0; font-size: 13px; line-height: 1.45; color: var(--lms-muted, #6b6677); }
#pv-pwa-status:empty { display: none; }
#pv-pwa-dialog .pv-pwa-dialog__install,
#pv-pwa-dialog .pv-pwa-dialog__done {
    display: block; box-sizing: border-box; width: 100%; min-height: 44px; margin: 18px 0 0; padding: 11px 16px;
    border: 1px solid #825be0; border-radius: 12px; background: #825be0; color: #fff;
    font: 600 14px/1.4 var(--lms-font-body, Arial, sans-serif); text-align: center; cursor: pointer;
}
#pv-pwa-dialog .pv-pwa-dialog__done { border-color: var(--lms-border, #e8e5ed); background: var(--lms-input-bg, #f7f7fa); color: var(--lms-text, #171719); }
#pv-pwa-dialog .pv-pwa-dialog__install[hidden] { display: none !important; }
#pv-pwa-dialog .pv-pwa-dialog__install:disabled { opacity: .6; cursor: wait; }
#pv-pwa-dialog .pv-pwa-dialog__install:not([hidden]) + .pv-pwa-dialog__done { margin-top: 10px; }
