@media screen {
    .table-wrapper {
        width: 100%;
        max-width: 100%;
    }

    .table-wrapper table {
        table-layout: auto;
        width: 100%;
        border-collapse: collapse;
        border: 1px solid var(--border);
    }

    /* Header cells — stick below app-header (height + padding + border) */
    .table-wrapper thead th {
        white-space: nowrap;
        position: sticky;
        top: calc(2.1rem + 0.6rem + 1px);
        z-index: 1000;
        background-color: var(--bg-secondary);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        border-left: 1px solid var(--border);
        border-right: 1px solid var(--border);
        border-bottom: 1px solid var(--border);
        border-top: none;
    }
    .table-wrapper thead th:first-child { border-left: none; }
    .table-wrapper thead th:last-child  { border-right: none; }

    /* Body cells: all gray borders */
    .table-wrapper tbody td {
        white-space: nowrap;
        border-left: 1px solid var(--border);
        border-right: 1px solid var(--border);
        border-top: 1px solid var(--border);
        border-bottom: 1px solid var(--border);
    }
    .table-wrapper tbody td:first-child { border-left: none; }
    .table-wrapper tbody td:last-child  { border-right: none; }
    .table-wrapper tbody tr:first-child td { border-top: none; }
    .table-wrapper tbody tr:last-child td  { border-bottom: none; }

    /* Self-entry row */
    .table-wrapper tbody tr.self-entry td {
        background-color: var(--bg-hover);
    }

    /* 3: Title — only column that wraps */
    .table-wrapper thead th:nth-child(3) {
        white-space: normal;
    }

    .table-wrapper tbody td:nth-child(3) {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    /* 7: Size — right aligned */
    .table-wrapper thead th:nth-child(7),
    .table-wrapper tbody td:nth-child(7) {
        text-align: right;
    }

    /* Row delete button */
    .row-delete-btn {
        display: none;
        border: none;
        background: none;
        color: #dc2626;
        font-size: 0.85rem;
        line-height: 1;
        padding: 0 0.2rem;
        margin-right: 0.15rem;
        cursor: pointer;
        vertical-align: middle;
        opacity: 0.5;
    }
    .row-delete-btn:hover {
        opacity: 1;
    }
    .table-wrapper tbody tr:hover .row-delete-btn {
        display: inline;
    }

    /* Path diff indicator (verify mismatch) */
    .path-diff {
        font-size: 0.65rem;
        line-height: 1.3;
        margin-top: 2px;
    }

    .path-diff del {
        color: #991b1b;
        background: #fef2f2;
    }

    .path-diff ins {
        color: #166534;
        background: #f0fdf4;
        text-decoration: none;
        border-bottom: 1px solid #166534;
    }
}
