/* Keep visual gutters stable when browser zoom changes.
   Viewport-relative values scale with zoom so the physical margin stays close. */
:root {
    --myelab-edge-x: clamp(6px, 1.05vw, 24px);
    --myelab-edge-y: clamp(5px, 0.85vh, 14px);
    --myelab-admin-edge-x: clamp(8px, 1.2vw, 28px);
}

/* Standard content pages. Full-window workspaces manage their own inner gutters. */
body:not(.myelab-embed) > main.myelab-main.container-fluid:not(:has(
    .rv-page,
    .synth-layout,
    .lh-shell,
    .admin-layout,
    .litsearch-layout,
    .kb-layout,
    .pw-shell,
    .research-partner-page
)) {
    padding-left: var(--myelab-edge-x) !important;
    padding-right: var(--myelab-edge-x) !important;
    margin-top: var(--myelab-edge-y) !important;
}

.admin-layout .main-content {
    padding-left: var(--myelab-admin-edge-x);
    padding-right: var(--myelab-admin-edge-x);
    box-sizing: border-box;
}

body:not(.myelab-embed) > main.myelab-main:has(.research-partner-page) {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-top: 0 !important;
}

.research-partner-page {
    padding-left: var(--myelab-edge-x) !important;
    padding-right: var(--myelab-edge-x) !important;
}

body:has(.form-signin) {
    padding-top: clamp(16px, 5vh, 48px) !important;
    padding-bottom: clamp(16px, 5vh, 48px) !important;
}

.form-signin {
    padding-left: var(--myelab-edge-x) !important;
    padding-right: var(--myelab-edge-x) !important;
    box-sizing: border-box;
}

@media (max-width: 767.98px) {
    :root {
        --myelab-edge-x: clamp(5px, 2.2vw, 12px);
        --myelab-edge-y: clamp(4px, 1.2vh, 8px);
        --myelab-admin-edge-x: clamp(6px, 2.4vw, 12px);
    }

    .admin-layout .main-content {
        padding-left: var(--myelab-admin-edge-x);
        padding-right: var(--myelab-admin-edge-x);
    }
}

@media (prefers-reduced-motion: reduce) {
    main.myelab-main,
    .admin-layout .main-content,
    .research-partner-page {
        scroll-behavior: auto !important;
    }
}
