/* Compact desktop density for common laptop viewports (1366x768, 1536x864, 1600x900).
   Existing <= 992px rules continue to own the mobile layout. */
@media (min-width: 993px) and (max-width: 1600px),
       (min-width: 993px) and (max-height: 900px) {
    :root {
        --ui-scale: 0.875;
        --portal-sidebar-width: 220px;
        --portal-sidebar-mini-width: 68px;
        --portal-frame-gap: 6px;
    }

    .portal-shell {
        gap: var(--space-2);
        padding: var(--portal-frame-gap);
    }

    .portal-shell .portal-content-shell {
        gap: var(--space-4);
        padding: var(--space-3) 0 var(--space-4);
    }

    .portal-shell .portal-page {
        gap: var(--space-4);
    }

    .portal-shell .portal-topbar {
        min-height: 56px !important;
        padding: var(--space-2) var(--space-3) !important;
    }

    .portal-shell .portal-topbar__row {
        min-height: 40px;
        gap: var(--space-3);
    }

    .portal-shell .portal-topbar__lead,
    .portal-shell .portal-topbar__actions {
        gap: var(--space-2);
    }

    .portal-shell .portal-drawer__inner {
        gap: var(--space-2);
        padding: var(--space-2) 6px;
    }

    .portal-shell:not(.portal-shell--drawer-collapsed) .portal-brand--feature {
        min-height: 92px;
        padding: 10px 12px;
    }

    .portal-shell:not(.portal-shell--drawer-collapsed) .portal-drawer__footer-brand {
        grid-template-columns: 102px minmax(0, 1fr);
        gap: 8px;
    }

    .portal-shell:not(.portal-shell--drawer-collapsed) .portal-drawer__footer-logo--brand {
        width: 102px;
        height: auto;
        aspect-ratio: 5 / 3;
    }

    .portal-shell:not(.portal-shell--drawer-collapsed) .portal-drawer__footer-brand-label {
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
    }

    .portal-shell .portal-nav-group + .portal-nav-group {
        margin-top: var(--space-2);
        padding-top: var(--space-2);
    }

    .portal-shell .portal-nav-group__label {
        margin-bottom: var(--space-1);
    }

    .portal-shell .portal-nav-link {
        min-height: 38px;
        grid-template-columns: 28px minmax(0, 1fr) auto;
        gap: 6px;
        padding: 2px 6px;
    }

    .portal-shell .portal-nav-link__icon {
        width: 28px;
        height: 28px;
    }

    .portal-shell .portal-nav-link__icon .mud-icon-root {
        font-size: 1.08rem;
    }

    .portal-shell .portal-page .mud-table-body .mud-table-cell {
        padding-top: 0.46rem;
        padding-bottom: 0.46rem;
    }
}

/* A mobile refresh initializes the desktop drawer as collapsed.  When the
   overlay is opened, mobile-open must own the visual state completely. */
@media (max-width: 992px) {
    .portal-shell.portal-shell--mobile-open .portal-brand--feature {
        display: block;
        min-height: 92px;
        padding: 10px 12px;
    }

    .portal-shell.portal-shell--mobile-open .portal-drawer__footer-brand {
        display: grid;
        grid-template-columns: 102px minmax(0, 1fr);
        gap: 10px;
        align-items: center;
    }

    .portal-shell.portal-shell--mobile-open .portal-drawer__footer-logo--brand {
        width: 102px;
        height: auto;
        aspect-ratio: 5 / 3;
    }

    .portal-shell.portal-shell--mobile-open .portal-drawer__footer-brand-label {
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
    }

    .portal-shell.portal-shell--mobile-open .portal-sidebar .portal-nav-link {
        width: 100%;
        min-height: 44px;
        grid-template-columns: 32px minmax(0, 1fr) auto;
        justify-items: stretch;
        justify-content: start;
        margin-inline: 0;
        padding: 4px 8px;
    }

    .portal-shell.portal-shell--mobile-open .portal-sidebar .portal-nav-link__icon {
        margin: 0;
    }

    .portal-shell.portal-shell--mobile-open .portal-sidebar .portal-nav-link.active {
        box-shadow: inset 3px 0 0 var(--color-brand-900);
    }
}

/* Target Windows 125% scaling (DPR ~= 1.25) without changing 150% or Retina displays. */
@media (min-width: 993px) and (max-width: 1920px) and (max-height: 1000px)
       and (min-resolution: 1.2dppx) and (max-resolution: 1.3dppx) {
    :root {
        --ui-scale: 0.82;
        --portal-sidebar-width: 208px;
        --portal-sidebar-mini-width: 64px;
        --portal-frame-gap: 4px;
    }

    .portal-shell {
        gap: var(--space-1);
        padding: var(--portal-frame-gap);
    }

    .portal-shell .portal-content-shell {
        gap: var(--space-3);
        padding: var(--space-2) 0 var(--space-3);
    }

    .portal-shell .portal-page {
        gap: var(--space-3);
    }

    .portal-shell .portal-topbar {
        min-height: 52px !important;
        padding: 6px var(--space-2) !important;
    }

    .portal-shell .portal-topbar__row {
        min-height: 36px;
        gap: var(--space-2);
    }

    .portal-shell .portal-drawer__inner {
        gap: 6px;
        padding: 6px 4px;
    }

    .portal-shell:not(.portal-shell--drawer-collapsed) .portal-brand--feature {
        min-height: 92px;
        padding: 10px 12px;
    }

    .portal-shell:not(.portal-shell--drawer-collapsed) .portal-drawer__footer-brand {
        grid-template-columns: 102px minmax(0, 1fr);
        gap: 8px;
    }

    .portal-shell:not(.portal-shell--drawer-collapsed) .portal-drawer__footer-logo--brand {
        width: 102px;
        height: auto;
        aspect-ratio: 5 / 3;
    }

    .portal-shell:not(.portal-shell--drawer-collapsed) .portal-drawer__footer-brand-label {
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
    }

    .portal-shell .portal-nav-group + .portal-nav-group {
        margin-top: var(--space-1);
        padding-top: 6px;
    }

    .portal-shell .portal-nav-link {
        min-height: 34px;
        grid-template-columns: 26px minmax(0, 1fr) auto;
        gap: var(--space-1);
        padding: 1px var(--space-1);
    }

    .portal-shell .portal-nav-link__icon {
        width: 26px;
        height: 26px;
    }

    .portal-shell .portal-nav-link__icon .mud-icon-root {
        font-size: 1rem;
    }

    .portal-shell .portal-page .mud-table-body .mud-table-cell {
        padding-top: 0.38rem;
        padding-bottom: 0.38rem;
    }
}
