/* Public dashboard/OpenAPI pages are content-heavy. They must scroll as a page instead of clipping cards. */
@supports selector(:has(*)) {
    .ke-shell:has(.oh-dashboard-page),
    .ke-shell:has(.oh-openapi-guide-page),
    .ke-shell-topnav:has(.oh-dashboard-page),
    .ke-shell-topnav:has(.oh-openapi-guide-page),
    .ke-main:has(.oh-dashboard-page),
    .ke-main:has(.oh-openapi-guide-page) {
        height: auto !important;
        min-height: 100vh !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
    }

    .ke-content:has(.oh-dashboard-page),
    .ke-content:has(.oh-openapi-guide-page) {
        height: auto !important;
        min-height: calc(100vh - 58px) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        display: block !important;
        align-content: start !important;
    }

    .ke-content:has(.oh-dashboard-page) > .oh-grid:last-child,
    .ke-content:has(.oh-openapi-guide-page) > .oh-grid:last-child,
    .ke-content:has(.oh-dashboard-page) > .oh-card:last-child,
    .ke-content:has(.oh-openapi-guide-page) > .oh-card:last-child {
        min-height: 0 !important;
        height: auto !important;
        overflow: visible !important;
    }
}
