/* REU-02: ajustes compartilhados da versão web mobile, sem mascarar overflow. */
.pwa-install[hidden] { display: none !important; }
.pwa-install { min-height: 44px; white-space: normal; }
.academy-shell { height: 100dvh; min-height: 0; }
.academy-shell .z-sidebar__content { min-height: 0; }
.academy-shell :focus-visible, #root input:focus-visible {
    outline: 2px solid var(--ring); outline-offset: 3px;
}
.academy-library, .academy-lesson, .journey-layout { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 768px) {
    .academy-shell .z-sidebar { max-width: calc(100vw - 48px); padding-top: max(24px, env(safe-area-inset-top)); }
    .academy-toolbar { padding-left: max(12px, env(safe-area-inset-left)) !important; padding-right: max(12px, env(safe-area-inset-right)) !important; }
    .academy-toolbar .z-btn, .academy-shell .z-sidebar__item,
    .academy-library .z-btn, .academy-lesson .z-btn { min-height: 44px; }
    .academy-toolbar .z-btn--icon { min-width: 44px; }
    #root input, #root textarea, #root select { font-size: 16px; }
    .academy-library, .academy-lesson { padding-bottom: max(40px, env(safe-area-inset-bottom)) !important; }
    .journey-intro { flex-wrap: wrap; align-items: start; }
    .journey-lesson-copy { flex-basis: calc(100% - 60px); }
    .journey-lesson .z-btn { margin-left: 0; width: 100%; white-space: normal; }
    .journey-hero-action, .journey-hero-action .z-btn { width: 100%; white-space: normal; }
    .academy-meeting-actions .z-btn { min-height: 44px; white-space: normal; text-align: center; }
    .academy-lesson [class*='rating_star__'] { min-width: 44px; min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
    .academy-shell .z-sidebar { transition: none; }
}
