.job-table {
    width: 100%;
    border-collapse: collapse;
    box-shadow: var(--shadow);
    background: var(--surface);
    font-size: 0.88rem;

    tr[data-role="tank"] {
        td:first-child {
            color: var(--tag-tank-text);
        }

        &:hover {
            background-color: #f5f8fb;
        }
    }

    tr[data-role="healer"] {
        td:first-child {
            color: var(--tag-healer-text);
        }

        &:hover {
            background-color: #f5f9f6;
        }
    }

    tr[data-role="dps"] {
        td:first-child {
            color: var(--tag-dps-text);
        }

        &:hover {
            background-color: #fbf6f6;
        }
    }

    tr[data-role="gathering"] {
        td:first-child {
            color: var(--tag-gathering-text);
        }

        &:hover {
            background-color: #fbf8f3;
        }
    }

    tr[data-role="crafting"] {
        td:first-child {
            color: var(--tag-crafting-text);
        }

        &:hover {
            background-color: #f9f6fa;
        }
    }

    th,
    td {
        padding: 0.55rem 0.75rem;
        border-bottom: 1px solid var(--border);
        text-align: left;
        vertical-align: middle;
    }

    th {
        color: var(--text-secondary);
        font-size: 0.75rem;
        font-weight: 700;
        white-space: nowrap;
    }

    td {
        color: var(--accent);
    }

    td a {
        color: var(--accent);
        text-decoration: underline;

        &:hover {
            background-color: var(--accent-hover);
            box-shadow: 0 0 0 3px var(--accent-hover);
            border-radius: 3px;
        }

        tr[data-role="tank"] &:hover {
            background-color: #cfe3f5;
            box-shadow: 0 0 0 3px #cfe3f5;
        }

        tr[data-role="healer"] &:hover {
            background-color: #d2ecd7;
            box-shadow: 0 0 0 3px #d2ecd7;
        }

        tr[data-role="dps"] &:hover {
            background-color: #f7d6d6;
            box-shadow: 0 0 0 3px #f7d6d6;
        }

        tr[data-role="gathering"] &:hover {
            background-color: #f5deC3;
            box-shadow: 0 0 0 3px #f5deC3;
        }

        tr[data-role="crafting"] &:hover {
            background-color: #e8d4ee;
            box-shadow: 0 0 0 3px #e8d4ee;
        }
    }

    /* First column: job name and icon */
    td:first-child {
        font-weight: 700;
        white-space: nowrap;

        img {
            width: 32px;
            height: 32px;
            margin-right: 0.45rem;
            border-radius: 3px;
            object-fit: cover;
            vertical-align: middle;
        }

        span {
            vertical-align: middle;
        }
    }

    /* Remaining columns: links */
    td:not(:first-child) {

        &>div {
            display: flex;
            flex-wrap: wrap;
            gap: 0.25rem 0.75rem;
        }
    }

    @media (max-width: 640px) {

        th,
        td {
            padding: 0.4rem;
        }
    }
}

.job-table-note {
    padding: 1.25rem 0.75rem;
    color: var(--text-secondary);
    font-size: 0.95rem;
    line-height: 1.7;
}