@mixin m-table() {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed; // AEL-33

    th {
        padding: 0 $m-space-xs 6px;
        font-weight: $m-font-weight-semi-bold;
        color: $m-color-black;
        border-bottom: 2px solid $m-color-border;
        text-align: left;

        &:first-child {
            padding-left: $m-space;
        }

        &:last-child {
            padding-right: $m-space;
        }
    }

    tbody {
        tr {
            border-bottom: 1px solid $m-color-border;
        }
    }

    td {
        padding: $m-space $m-space-xs;
        margin: 1px 0;
        vertical-align: top;
        text-align: left;

        &:first-child {
            padding-left: $m-space;
        }

        &:last-child {
            padding-right: $m-space;
        }
    }

    &.m-u--has-icon {

        th,
        td {
            &:last-child:not(:only-child) {
                padding: 0;
                width: 44px;
                text-align: center;
                vertical-align: middle;
            }
        }
    }

    // when inside a m-panel component
    .m-panel & {
        tbody {
            tr:last-child {
                border-bottom: 0;
            }
        }
    }
}
