/* ============================================================================
   Report Designer / Report Template Scroll + Preview Context Fix
   UPDATED: 2026-05-18

   Purpose:
   - Keep report admin pages inside the normal portal document flow.
   - Restore page scrolling for report templates, designer list, and designer host.
   - Give DevExpress designer/preview a real viewport height without clipping
     the portal header/footer or the right-side preview/properties rail.
============================================================================ */

html,
body {
    min-height: 100%;
    overflow-y: auto;
}

.portal-shell,
.portal-main,
.portal-body,
.portal-content,
.portal-page,
.report-template-page,
.report-fabric-page,
.report-designer-host-page {
    min-height: 0;
    max-height: none;
}

.portal-content,
.portal-body,
.portal-page,
.report-template-page,
.report-fabric-page,
.report-designer-host-page {
    overflow: visible;
}

.report-admin-scroll-page,
.portal-report-designer-frame {
    position: static;
    display: block;
    width: 100%;
    min-height: calc(100vh - 150px);
    height: auto;
    max-height: none;
    overflow: visible;
    padding-bottom: 5.5rem;
    box-sizing: border-box;
    background: transparent;
    z-index: auto;
}

.portal-report-designer-frame .report-designer-host-page,
.portal-report-designer-frame .report-template-page,
.portal-report-designer-frame .report-fabric-page {
    min-height: calc(100vh - 150px);
    height: auto;
    max-height: none;
    overflow: visible;
    padding: 0;
}

.report-grid-scroll-safe,
.report-template-grid-shell,
.report-designer-picker-card,
.report-fabric-grid-shell {
    max-height: none;
    overflow: visible;
    min-height: 0;
}

.report-designer-context-card {
    margin-bottom: .75rem;
}

.report-designer-origin-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: .75rem;
    margin-bottom: .75rem;
}

.report-designer-origin-grid > div {
    border: 1px solid #d8e2ec;
    border-radius: 12px;
    background: #ffffff;
    padding: .75rem .9rem;
    min-width: 0;
}

.report-designer-origin-grid span {
    display: block;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #627d98;
    font-weight: 800;
}

.report-designer-origin-grid strong {
    display: block;
    margin-top: .2rem;
    color: #102a43;
    overflow-wrap: anywhere;
}

.report-preview-context-row {
    display: flex;
    align-items: end;
    gap: .75rem;
    flex-wrap: wrap;
    margin-top: .25rem;
}

.report-preview-context-row label {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #627d98;
    font-weight: 900;
}

.report-preview-context-input {
    min-width: min(520px, 80vw);
    border: 1px solid #bcccdc;
    border-radius: 10px;
    padding: .55rem .7rem;
    color: #102a43;
    background: #fff;
    font-weight: 700;
}

.report-preview-locale-input {
    min-width: 180px;
}

.report-designer-preview-diagnostic {
    margin-top: .75rem;
    border-radius: 10px;
    padding: .65rem .85rem;
    font-weight: 700;
}

.report-designer-save-note {
    margin-top: .75rem;
    color: #243b53;
    font-size: .92rem;
}

.report-designer-full-card {
    height: auto;
    min-height: 820px;
    overflow: visible;
    display: flex;
    flex-direction: column;
}

.report-designer-host-body {
    flex: 1 1 auto;
    min-height: 760px;
    height: calc(100vh - 260px);
    overflow: hidden;
    padding: 0 !important;
}

.report-designer-host-body .dxrd-designer-wrapper,
.report-designer-host-body .dx-designer,
.report-designer-host-body .dxrd-designer,
.report-designer-host-body .dxrd-surface,
.report-designer-host-body .dxrd-designer-viewport {
    min-height: 760px;
    height: 100% !important;
}

.report-version-actions {
    gap: .4rem;
    flex-wrap: wrap;
}

.portal-btn-danger {
    border: 1px solid #b42318 !important;
    background: #b42318 !important;
    color: #fff !important;
}

.report-template-page input,
.report-template-page select,
.report-template-page textarea,
.report-designer-host-page input,
.report-designer-host-page select,
.report-designer-host-page textarea {
    color: #102a43;
    background-color: #ffffff;
}

@media (max-width: 900px) {
    .report-designer-origin-grid {
        grid-template-columns: 1fr;
    }

    .report-designer-full-card {
        min-height: 620px;
    }

    .report-designer-host-body {
        min-height: 560px;
        height: 72vh;
    }
}
