/* Login, navegação, perfil e diálogos: somente páginas habilitadas e visual moderno. */
@media (max-width: 1024px) {
    /* A barra administrativa continua fixa; reservar sua altura antes do conteúdo. */
    html.sf-pilot-modern.sf-responsive-initial:not(.sf-responsive-operational) body .layout-wrapper > .layout-main { padding-top: 95px; }
    html.sf-pilot-modern.sf-responsive-initial body .layout-menu { top: 75px; height: calc(100vh - 75px); height: calc(100dvh - 75px); }
    html.sf-pilot-modern.sf-responsive-initial body .layout-menu .nano-content { overflow-y: auto !important; overscroll-behavior: contain; }
    html.sf-pilot-modern.sf-responsive-initial body .layout-menu :is(.search-menu, .ui-menuitem-text) { max-width: 100%; box-sizing: border-box; }
    html.sf-pilot-modern.sf-responsive-initial body .topbar .topbar-items > li > ul { max-width: calc(100vw - 32px); max-height: 70vh; max-height: 70dvh; overflow-y: auto; }
    html.sf-pilot-modern.sf-responsive-initial body :is(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--sf-accent); outline-offset: 2px; }
    html.sf-pilot-modern.sf-responsive-initial body .ui-dialog :is(.sf-responsive-section, .ui-g, .ui-panel-content) { min-width: 0; max-width: 100%; box-sizing: border-box; }
    html.sf-pilot-modern.sf-responsive-initial body .ui-dialog:is(.dialogoSistema, .dialogoSistema2) { left: 8px !important; }
    html.sf-pilot-modern.sf-responsive-initial body .ui-dialog .sf-responsive-field { width: 50%; min-width: 0; box-sizing: border-box; }
    html.sf-pilot-modern.sf-responsive-initial body .ui-dialog .sf-responsive-field.ui-md-12 { width: 100%; }
    html.sf-pilot-modern.sf-responsive-initial body .ui-dialog .sf-responsive-grid { display: block; width: 100%; }
    html.sf-pilot-modern.sf-responsive-initial body .ui-dialog .sf-responsive-grid > tbody { display: block; }
    html.sf-pilot-modern.sf-responsive-initial body .ui-dialog .sf-responsive-grid > tbody > tr { display: flex; flex-wrap: wrap; gap: 8px; }
    html.sf-pilot-modern.sf-responsive-initial body .ui-dialog .sf-responsive-grid > tbody > tr > td { display: block; flex: 1 1 200px; min-width: 0; max-width: 100%; box-sizing: border-box; }
    html.sf-pilot-modern.sf-responsive-initial body .ui-dialog :is(.ui-dialog-content, .ui-dialog-title, .ui-confirm-dialog-message) { overflow-wrap: anywhere; }
    html.sf-pilot-modern.sf-responsive-initial body .ui-dialog .ui-dialog-buttonpane { display: flex; flex-wrap: wrap; gap: 8px; }
    html.sf-pilot-modern.sf-responsive-initial body .sf-responsive-preview { width: 100% !important; max-width: 100%; height: 65vh; height: 65dvh; }
    html.sf-pilot-modern.sf-responsive-initial body .sf-responsive-chart { max-width: 100%; min-width: 0; }
    html.sf-pilot-modern.sf-responsive-initial body :is(.ui-treetable-tablewrapper, .ui-treetable-scrollable-body) { max-width: 100%; overflow-x: auto; }
    html.sf-pilot-modern.sf-responsive-initial body .ui-sidebar { max-width: calc(100vw - 16px); overflow-y: auto; box-sizing: border-box; }
    html.sf-pilot-modern.sf-responsive-initial body .ui-notificationbar { height: auto !important; min-height: 44px; max-height: 40vh; overflow: auto; box-sizing: border-box; }
    html.sf-pilot-modern.sf-responsive-initial body .fc { min-width: 0; max-width: 100%; }
    html.sf-pilot-modern.sf-responsive-initial body .fc-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; }
    html.sf-pilot-modern.sf-responsive-initial body .fc-view-container { max-width: 100%; overflow-x: auto; }
}
@media (max-width: 767px) {
    html.sf-pilot-modern.sf-responsive-initial:not(.sf-responsive-operational) body .topbar .topbar-left { width: 154px; height: 75px; padding: 12px; box-sizing: border-box; }
    html.sf-pilot-modern.sf-responsive-initial:not(.sf-responsive-operational) body .topbar .topbar-left :is(img, .logo) { max-width: 100%; max-height: 51px; object-fit: contain; }
    html.sf-pilot-modern.sf-responsive-initial:not(.sf-responsive-operational) body .topbar .topbar-right { margin-left: 154px; padding: 12px 8px 12px 0; }
    html.sf-pilot-modern.sf-responsive-initial body .ui-dialog .sf-responsive-field { width: 100%; }
    html.sf-pilot-modern.sf-responsive-initial body .ui-dialog { left: 8px !important; }
    html.sf-pilot-modern.sf-responsive-initial body .ui-dialog .sf-responsive-grid > tbody > tr > td { flex-basis: 100%; }
    html.sf-pilot-modern.sf-responsive-initial body [id$="dialogoPerfil"] .sf-responsive-field { margin-top: 0 !important; }
    html.sf-pilot-modern.sf-responsive-initial body [id$="dialogoPerfil"] :is(input, .ui-button) { min-height: 44px; font-size: 16px; }
    html.sf-pilot-modern.sf-responsive-initial body [id$="dialogoPerfil"] .ui-outputlabel { overflow-wrap: anywhere; }
    html.sf-pilot-modern.sf-responsive-initial body .sf-responsive-chart,
    html.sf-pilot-modern.sf-responsive-initial body .sf-responsive-metric { width: 100%; }
    html.sf-pilot-modern.sf-responsive-initial.sf-pilot-login body.login-body { padding: 16px 8px; min-width: 0; min-height: 100vh; min-height: 100dvh; overflow-y: auto; }
    html.sf-pilot-modern.sf-responsive-initial.sf-pilot-login body .login-panel { width: 100%; max-width: 460px; margin: 0 auto; padding: 20px 16px; box-sizing: border-box; }
    html.sf-pilot-modern.sf-responsive-initial.sf-pilot-login body .sf-pilot-login-field { width: 100%; margin-top: 0 !important; }
    html.sf-pilot-modern.sf-responsive-initial.sf-pilot-login body .sf-pilot-login-field input { min-height: 44px; font-size: 16px; }
    html.sf-pilot-modern.sf-responsive-initial.sf-pilot-login body .sf-pilot-login-captcha { max-width: 100%; overflow-x: auto; }
    html.sf-pilot-modern.sf-responsive-initial.sf-pilot-login body .sf-pilot-login-brand img { max-width: 100%; height: auto; }
}
