body { padding-bottom: env(safe-area-inset-bottom, 0px); }
.pwa-notice { position: fixed; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); left: 16px; right: 16px; max-width: 520px; margin: auto; z-index: 1100; padding: 12px 16px; background: #fff; color: #172033; border: 1px solid #d8e1ee; border-radius: 8px; box-shadow: 0 4px 20px #17203326; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.pwa-notice[hidden], .pwa-status[hidden] { display: none; }
.pwa-notice button { min-height: 44px; padding: 8px 12px; border: 1px solid #155eef; border-radius: 6px; background: #155eef; color: white; cursor: pointer; }
.pwa-notice .pwa-dismiss { background: white; color: #172033; border-color: #d8e1ee; }
.pwa-status { position: sticky; top: 0; z-index: 1090; padding: 10px 16px; background: #fef3c7; color: #172033; text-align: center; }
@media (max-width: 767px) { .btn, .nav-link, .sidebar-sublink { min-height: 44px; } .public-header { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); } }
@media (max-width: 991.98px) { .workspace-body .pwa-notice { bottom: calc(82px + env(safe-area-inset-bottom)); } .immersive-screen .pwa-notice { bottom: calc(90px + env(safe-area-inset-bottom)); } }
.learning-player, .lesson-content { overscroll-behavior-y: contain; }
iframe, video { max-width: 100%; }
@media (max-width: 575.98px) {
    .pwa-notice { padding: 10px; gap: 8px; font-size: .8rem; }
    .pwa-notice button { padding: 8px; font-size: .8rem; }
}
