 body {  padding: 40px; background-color: #f5f5f5; }
  /* Container */
        .table-wrap {
            max-width: 1000px; margin: 0 auto; background: white; border-radius: 4px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1); overflow: hidden; position: relative; min-height: 600px;
        }

        table { width: 100%; border-collapse: collapse; table-layout: fixed; }
        thead { background-color: #24759b; color: white; }
        th { padding: 14px 20px; text-align: left; }
        td { padding: 15px 20px; border-bottom: 1px solid #eee; color: #333; word-wrap: break-word; line-height: 1.5; }

        /* Vertical Alignment: Center for names, Top for affiliation */
        td:nth-child(1), td:nth-child(2) { vertical-align: middle; }
        td:nth-child(3) { vertical-align: top; }

        /* Row Styles */
        tbody tr:nth-child(odd) { background-color: #ffffff; }
        tbody tr:nth-child(even) { background-color: #f8fbfe; }
        tbody tr { transition: background-color 0.3s; position: relative; }
        tbody tr:hover { background-color: #d8e9f2; }

        /* Pagination Controls */
        .pagination { display: flex; justify-content: center; align-items: center; margin-top: 20px; gap: 10px; }
        .page-btn { padding: 8px 15px; border: 1px solid #24759b; background: white; color: #24759b; cursor: pointer; border-radius: 4px; }
        .page-btn.active { background: #24759b; color: white; }
        .page-btn:disabled { border-color: #ccc; color: #ccc; cursor: not-allowed; }

        /* Loading Animation Styles */
        #loader-overlay {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(255, 255, 255, 0.9); z-index: 10;
            display: flex; flex-direction: column; justify-content: center; align-items: center;
        }
        .spinner {
            width: 40px; height: 40px; border: 4px solid #f3f3f3;
            border-top: 4px solid #24759b; border-radius: 50%;
            animation: spin 1s linear infinite;
        }
        @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
        .loading-text { margin-top: 10px; color: #24759b; font-weight: bold; }