/**
 * FireSys — application viewport shell
 */

:root {
    --app-scroll-padding: var(--page-padding-desktop);
}

html.app-shell-document,
html.app-shell-document body.app-shell-active {
    height: 100%;
    overflow: hidden;
}

body.app-shell-active {
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: 100dvh;
}

body.app-shell-active > .app-shell {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

body.app-shell-active .app-main-area {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--background-color);
}

body.app-shell-active .workspace-flash-messages {
    flex-shrink: 0;
}

body.workspace-tabs-active .workspace-flash-messages {
    display: none;
}

body.app-shell-active .app-page-scroll {
    flex: 1 1 auto;
    min-height: 0;
    max-width: 100%;
    box-sizing: border-box;
}

body.app-shell-active .workspace-content-area.workspace-layout {
    overflow: hidden;
}

body.app-shell-active .app-page-scroll > .page-header {
    flex-shrink: 0;
    margin-bottom: 1rem;
}

/* form-actions e table-container: ver viewport-layout.css */

body.layout-timesheet-only .firesys-sidebar,
body.layout-timesheet-only .app-topbar {
    display: none !important;
}

@media (max-width: 767.98px) {
    :root {
        --app-scroll-padding: var(--page-padding-mobile);
    }
}

@media print {
    html.app-shell-document,
    html.app-shell-document body.app-shell-active {
        height: auto;
        overflow: visible;
    }

    body.app-shell-active > .app-shell,
    body.app-shell-active .app-page-scroll {
        overflow: visible !important;
        height: auto !important;
        max-height: none !important;
    }

    .firesys-sidebar,
    .app-topbar,
    .sidebar-overlay {
        display: none !important;
    }
}
