    .visitor-table {
        width: 100%;
        border-collapse: collapse;
        background: white;
        border-radius: 14px;
        overflow: hidden;
        box-shadow: 0 8px 24px rgba(0,0,0,0.06);
    }

    .visitor-table th,
    .visitor-table td {
        padding: 18px 20px;
        border-bottom: 1px solid #eee;
        vertical-align: middle;
    }

    .visitor-table th {
        background: #FAF5F5;
        color: var(--primary-color);
        font-weight: 800;
    }

    .visitor-row:hover {
        background: #FCF8F8;
    }

    .visitor-name {
        font-weight: 800;
        color: #222;
        position: relative;
        cursor: help;
    }

    .visitor-affiliation {
        color: #555;
    }

    .visitor-date {
        color: var(--primary-color);
        white-space: nowrap;
    }

    .people-heading {
        border-bottom: 1px solid #dee2e6;
    }

    .people-label {
        display: inline-flex;
        flex-direction: column;
        padding: 12px 28px;
        border-bottom: 4px solid var(--primary-color);
    }

    .tab-main {
        font-size: 1.15rem;
        font-weight: 800;
        color: var(--primary-color);
        line-height: 1.2;
    }

    .tab-sub {
        margin-top: 4px;
        font-size: 0.78rem;
        font-weight: 500;
        color: #777;
        letter-spacing: 0.02em;
    }

    .pagination-wrap {
        display: flex;
        justify-content: center;
        gap: 10px;
        margin-top: 35px;
    }

    .page-number {
        width: 38px;
        height: 38px;
        border-radius: 50%;
        border: 1px solid var(--primary-color);
        color: var(--primary-color);
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        font-weight: 700;
    }

    .page-number.active,
    .page-number:hover {
        background: var(--primary-color);
        color: white;
    }