table.default {
    border-collapse: collapse;
    box-sizing: border-box;

    & caption {
        background: lightgray;
        border: 1px solid gray;
        padding-block: 4px;
    }

    & thead.header-only th {
        background: gray;
    }

    & th {
        color: white;
        padding-block: 6px;
        background: var(--main-bg-light);
        border: 1px solid var(--main-bg-light);
    }

    & th.accent {
        color: palegoldenrod;
    }

    & th, td {
        padding-inline: 10px;
    }  

    & td.text-left, th.text-left {
        text-align: left;
    }

    & th.center, td.center {
        padding-inline: 24px;
        text-align: center;
    }

    & th.no-border, td.no-border {
        border: none;
    }

    & td.border-bottom {
        border-bottom: 1px solid gray;
    }    

    & td.border-right {
        border-right: 1px solid gray;
    }        

    & td {
        padding-block: 4px;
        border: 1px solid gray;
    }

    & td input {
        border-radius: 4px;
        outline: none;
        border: 2px solid gray;
        height: 24px;
        width: 100px;
        text-align: right;
        padding-right: 12px;
    }

    & td.trash {
        cursor: pointer;
    }

    & td.trash v-icon {
        width: 16px;
        color: var(--meco-red);            
    }  
}