    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    :root {
      --primary: #ff8800;
      --primary-dark: #e07600;
      --primary-light: #ff9900;
      --dark-bg: #1a1a1a;
      --darker-bg: #0f0f0f;
      --card-bg: #ffffff;
      --border-radius: 8px;
      --shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
      --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.15);
      --transition: all 0.2s ease;
      --success: #28a745;
      --warning: #ffc107;
      --danger: #dc3545;
      --info: #17a2b8;
    }

    body {
      font-family: system-ui, -apple-system, sans-serif;
      background: linear-gradient(135deg, var(--darker-bg) 0%, var(--dark-bg) 50%, #2d2d2d 100%);
      min-height: 100vh;
      color: #333;
      line-height: 1.6;
    }

    /* Header */
    .header {
      background: linear-gradient(135deg, var(--darker-bg) 0%, var(--dark-bg) 100%);
      color: var(--primary);
      padding: 1.5rem 0;
      text-align: center;
      border-bottom: 3px solid var(--primary);
      position: sticky;
      top: 0;
      z-index: 100;
    }

    .header h1 {
      font-size: clamp(1.8rem, 4vw, 2.5rem);
      font-weight: 800;
      text-shadow: 0 4px 20px rgba(255, 136, 0, 0.3);
      letter-spacing: 2px;
    }

    .header-subtitle {
      margin-top: 0.5rem;
      color: rgba(255, 136, 0, 0.8);
      font-weight: 500;
    }

    /* Season Info */
    .season-info {
      background: rgba(255, 255, 255, 0.1);
      padding: 0.75rem 1rem;
      border-radius: var(--border-radius);
      margin-top: 1rem;
      display: inline-block;
      color: rgba(255, 136, 0, 0.9);
      font-weight: 600;
    }

    /* Debug Info */
    .debug-info {
      background: rgba(255, 255, 255, 0.05);
      padding: 0.5rem 1rem;
      margin: 1rem auto;
      max-width: 1600px;
      border-radius: var(--border-radius);
      color: rgba(255, 136, 0, 0.7);
      font-size: 0.85rem;
      font-family: monospace;
      display: none;
    }

    .debug-info.show {
      display: block;
    }

    /* Tabs */
    .tabs-section {
      background: rgba(255, 255, 255, 0.05);
      backdrop-filter: blur(10px);
      padding: 1rem 2rem;
      border-bottom: 1px solid rgba(255, 136, 0, 0.2);
    }

    .tabs-container {
      display: flex;
      gap: 1rem;
      justify-content: center;
      flex-wrap: wrap;
      max-width: 1400px;
      margin: 0 auto;
    }

    .tab-btn {
      padding: 1rem 2rem;
      background: white;
      border: 2px solid var(--primary);
      border-radius: var(--border-radius);
      color: var(--primary);
      font-weight: 600;
      cursor: pointer;
      transition: var(--transition);
      text-transform: uppercase;
      letter-spacing: 0.5px;
      font-size: 0.9rem;
    }

    .tab-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 25px rgba(255, 136, 0, 0.2);
    }

    .tab-btn.active {
      background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
      color: white;
      box-shadow: 0 8px 25px rgba(255, 136, 0, 0.4);
    }

    .tab-btn-coaches {
      background: linear-gradient(135deg, #00bcd4 0%, #00acc1 100%);
      color: white;
      border: 2px solid #00bcd4;
    }

    /* Main Container */
    .main-container {
      max-width: 1600px;
      margin: 0 auto;
      padding: 2rem;
    }

    .card {
      background: var(--card-bg);
      border-radius: var(--border-radius);
      box-shadow: var(--shadow);
      margin-bottom: 1.5rem;
      overflow: hidden;
      border: 1px solid rgba(255, 136, 0, 0.1);
    }

    /* Stats Dashboard */
    .stats-section {
      background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
      padding: .9rem;
    }

    .stats-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
      gap: .75rem;
    }

    .stat-card {
      background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
      color: white;
      padding: .75rem;
      border-radius: var(--border-radius);
      text-align: center;
      box-shadow: 0 4px 15px rgba(255, 136, 0, 0.3);
      transition: var(--transition);
      cursor: pointer;
    }

    .stat-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(255, 136, 0, 0.4);
    }

    .stat-number {
      font-size: 1.2rem;
      font-weight: 800;
      margin-bottom: 0.25rem;
    }

    .stat-label {
      font-size: 0.65rem;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      opacity: 0.9;
    }

    /* Filters */
    .filters-section {
      background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
      padding: 1.5rem;
    }

    .filters-title {
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--dark-bg);
      margin-bottom: 1rem;
      padding-bottom: 0.5rem;
      border-bottom: 2px solid var(--primary);
      display: inline-block;
    }

    .filters-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 1rem;
      margin-bottom: 1rem;
    }

    .filter-group {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }

    .filter-label {
      font-weight: 600;
      font-size: 0.875rem;
      color: var(--dark-bg);
      text-transform: uppercase;
      letter-spacing: 0.3px;
    }

    .filter-input {
      padding: 0.75rem;
      border: 2px solid #e5e7eb;
      border-radius: var(--border-radius);
      font-size: 0.875rem;
      transition: var(--transition);
      background: white;
      color: #333;
    }

    .filter-input:focus {
      outline: none;
      border-color: var(--primary);
      box-shadow: 0 0 0 3px rgba(255, 136, 0, 0.1);
    }

    .filter-input option {
      color: #333;
      background: white;
    }

    .filter-buttons {
      display: flex;
      gap: 0.75rem;
      justify-content: center;
      flex-wrap: wrap;
      margin-top: 1rem;
    }

    .advanced-filters {
  background: linear-gradient(135deg, #fff3e0 0%, #ffe0b3 100%);
  border: 2px solid var(--primary);
  border-radius: var(--border-radius);
  padding: 1rem;
  margin-top: 1rem;
  display: none;
}

.advanced-filters.show {
  display: block;
  animation: slideDown 0.3s ease-out;
}

.filter-section {
  margin-bottom: 1.5rem;
}

.filter-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.filter-label {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--dark-bg);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

@keyframes slideDown {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

.toggle-advanced {
  background: linear-gradient(135deg, var(--info) 0%, #20c997 100%);
  color: white;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: var(--border-radius);
  cursor: pointer;
  font-weight: 600;
  margin-bottom: 1rem;
  transition: var(--transition);
}

.toggle-advanced:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(23, 162, 184, 0.3);
}

    /* Buttons */
    .btn {
      padding: 0.75rem 1.5rem;
      border: none;
      border-radius: var(--border-radius);
      font-weight: 600;
      cursor: pointer;
      transition: var(--transition);
      text-transform: uppercase;
      letter-spacing: 0.3px;
      font-size: 0.875rem;
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
    }

    .btn-primary {
      background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
      color: white;
    }

    .btn-secondary {
      background: linear-gradient(135deg, #6c757d 0%, #868e96 100%);
      color: white;
    }

    .btn-info {
      background: linear-gradient(135deg, var(--info) 0%, #20c997 100%);
      color: white;
    }

    .btn-success {
      background: linear-gradient(135deg, var(--success) 0%, #34ce57 100%);
      color: white;
    }

    .btn:hover:not(:disabled) {
      transform: translateY(-2px);
      box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    }

    .btn.active {
      background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
      box-shadow: inset 0 2px 5px rgba(0,0,0,0.3);
    }

    .btn:disabled {
      opacity: 0.6;
      cursor: not-allowed;
      transform: none !important;
    }

    /* Actions Bar */
    .actions-bar {
      background: linear-gradient(135deg, var(--dark-bg) 0%, #2d2d2d 100%);
      padding: 1rem 1.5rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 1rem;
      border-bottom: 1px solid rgba(255, 136, 0, 0.2);
    }

    .action-group {
      display: flex;
      gap: 0.75rem;
      align-items: center;
      flex-wrap: wrap;
    }

    .actions-info {
      color: var(--primary);
      font-weight: 600;
      font-size: 0.9rem;
    }

    /* Virtual Table Styles */
    .virtual-table-container {
      position: relative;
      height: 70vh;
      border: 1px solid #e5e7eb;
      border-radius: var(--border-radius);
      overflow: hidden;
    }

    .virtual-table-header {
      position: sticky;
      top: 0;
      z-index: 10;
      background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
      display: grid;
      grid-template-columns: 40px 250px 120px 45px 65px 65px 155px 65px 75px 110px;
      gap: 1px;
      font-weight: 600;
      color: white;
      text-align: center;
      font-size: 0.8rem;
      text-transform: uppercase;
      letter-spacing: 0.3px;
    }

    .virtual-table-header > div {
      padding: 1rem 0.5rem;
      background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
      cursor: pointer;
      transition: var(--transition);
    }

    .virtual-table-header > div:hover {
      background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
    }

    .virtual-table-viewport {
      height: calc(100% - 60px);
      overflow-y: auto;
      position: relative;
    }

    .virtual-table-spacer {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      pointer-events: none;
    }

    .virtual-table-content {
      position: relative;
    }

    .virtual-row {
      display: grid;
      grid-template-columns: 40px 250px 120px 45px 65px 65px 155px 65px 75px 110px;
      gap: 1px;
      background: white;
      border-bottom: 1px solid #e5e7eb;
      transition: var(--transition);
      align-items: center;
      min-height: 60px;
      cursor: pointer;
    }

    .virtual-row:nth-child(even) {
      background: #f8f9fa;
    }

    .virtual-row:hover {
      background: linear-gradient(135deg, #fff3e0 0%, #ffe0b3 100%);
      transform: scale(1.002);
      box-shadow: 0 4px 15px rgba(255, 136, 0, 0.1);
    }

    .virtual-cell {
      padding: 0.75rem 0.5rem;
      text-align: center;
      font-size: 0.875rem;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .player-name {
      cursor: pointer;
      color: var(--primary);
      font-weight: 600;
      transition: var(--transition);
    }

    .player-name:hover {
      text-decoration: underline;
    }

    .favorite-btn {
      background: none;
      border: none;
      font-size: 1.25rem;
      cursor: pointer;
      padding: 0.25rem;
      transition: var(--transition);
      color: #ccc;
    }

    .favorite-btn:hover {
      transform: scale(1.2);
    }

    .favorite-btn.active {
      color: var(--warning);
    }

    /* Express Interest Button */
    .express-interest-btn {
      background: linear-gradient(135deg, var(--info) 0%, #20c997 100%);
      color: white;
      border: none;
      border-radius: 4px;
      padding: 0.4rem 0.8rem;
      font-size: 0.75rem;
      font-weight: 600;
      cursor: pointer;
      transition: var(--transition);
      white-space: nowrap;
    }

    .express-interest-btn:hover {
      transform: translateY(-1px);
      box-shadow: 0 4px 12px rgba(23, 162, 184, 0.3);
    }

    .express-interest-btn:active {
      transform: translateY(0);
    }

    /* Interest Count Badges */
    .interest-badge {
      background: linear-gradient(135deg, #28a745 0%, #34ce57 100%);
      color: white;
      font-size: 0.7rem;
      font-weight: 600;
      padding: 0.2rem 0.5rem;
      border-radius: 12px;
      margin-left: 0.5rem;
      white-space: nowrap;
      display: inline-flex;
      align-items: center;
      gap: 0.25rem;
    }

    .interest-badge.high-interest {
      background: linear-gradient(135deg, #dc3545 0%, #e85d75 100%);
    }

    .interest-badge.medium-interest {
      background: linear-gradient(135deg, #ffc107 0%, #ffcd39 100%);
      color: #333;
    }

    .interest-badge.has-interest {
      background-color: #28a745;
      color: white;
      font-weight: bold;
      animation: pulse 2s ease-in-out;
    }

    @keyframes pulse {
      0% { transform: scale(1); }
      50% { transform: scale(1.05); }
      100% { transform: scale(1); }
    }

    /* Modal System from V1 */
    .modal-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.8);
      backdrop-filter: blur(5px);
      display: none;
      justify-content: center;
      align-items: center;
      z-index: 1000;
      padding: 2rem 1rem;
      overflow-y: auto;
    }

    .modal-content {
      background: white;
      border-radius: 15px;
      max-width: 800px;
      width: 100%;
      max-height: calc(100vh - 4rem);
      overflow: hidden;
      position: relative;
      animation: modalSlideIn 0.3s ease-out;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
      margin: auto 0;
    }

    @keyframes modalSlideIn {
      from {
        opacity: 0;
        transform: scale(0.9) translateY(-20px);
      }
      to {
        opacity: 1;
        transform: scale(1) translateY(0);
      }
    }

    .modal-header {
      background: linear-gradient(135deg, var(--info) 0%, #20c997 100%);
      color: white;
      padding: 2rem;
      position: relative;
    }

    .modal-close {
      position: absolute;
      top: 1rem;
      right: 1.5rem;
      background: none;
      border: none;
      color: white;
      font-size: 2rem;
      cursor: pointer;
      width: 3rem;
      height: 3rem;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      transition: var(--transition);
    }

    .modal-close:hover {
      background: rgba(255, 255, 255, 0.2);
    }

    .modal-player-name {
      font-size: 2.2rem;
      font-weight: 800;
      margin-bottom: 0.5rem;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    }

    .modal-player-info {
      font-size: 1.2rem;
      opacity: 0.95;
      margin-bottom: 1rem;
    }

    .modal-badges {
      display: flex;
      gap: 0.75rem;
      flex-wrap: wrap;
    }

    .modal-badge {
      padding: 0.5rem 1rem;
      border-radius: 1.5rem;
      font-size: 0.9rem;
      font-weight: 600;
      background: #ff8800;
      color: white;
    }

    .modal-body {
      padding: 2rem;
      max-height: calc(80vh - 180px);
      overflow-y: auto;
    }

    .info-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 1.5rem;
      margin-bottom: 2rem;
    }

    .info-item {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }

    .info-label {
      font-size: 0.85rem;
      color: #666;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }

    .info-value {
      font-size: 1.1rem;
      color: #333;
      font-weight: 700;
    }

    /* Enhanced Table Layout for Modal */
    .player-info-table {
      display: flex;
      flex-direction: column;
      gap: 1rem;
      margin-bottom: 2rem;
      background: #f8f9fa;
      padding: 1.5rem;
      border-radius: 8px;
      border: 1px solid #e9ecef;
    }

    .player-info-table .info-row {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 2rem;
      align-items: start;
    }

    .player-info-table .info-item {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
      min-height: 50px;
    }

    .player-info-table .info-spacer {
      visibility: hidden;
    }

    .player-info-table .info-label {
      font-size: 0.8rem;
      color: #666;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      margin-bottom: 0.25rem;
    }

    .player-info-table .info-value {
      font-size: 1rem;
      color: #333;
      font-weight: 700;
      background: white;
      padding: 0.5rem 0.75rem;
      border-radius: 6px;
      border: 1px solid #ddd;
      min-height: 20px;
    }

    /* Mobile responsiveness for table */
    @media (max-width: 768px) {
      .player-info-table .info-row {
        grid-template-columns: 1fr;
        gap: 1rem;
      }
      
      .player-info-table .info-spacer {
        display: none;
      }
    }

    .section-title {
      font-size: 1.3rem;
      font-weight: 700;
      color: var(--dark-bg);
      margin: 2rem 0 1rem 0;
      padding-bottom: 0.5rem;
      border-bottom: 2px solid var(--primary);
    }

    .section-content {
      background: #f8f9fa;
      padding: 1.5rem;
      border-radius: var(--border-radius);
      border-left: 4px solid var(--primary);
      line-height: 1.6;
      white-space: pre-wrap;
    }

    .video-links {
      display: flex;
      gap: 1rem;
      flex-wrap: wrap;
      margin-top: 1rem;
    }

    .video-link {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.75rem 1.5rem;
      background: linear-gradient(135deg, var(--success) 0%, #34ce57 100%);
      color: white;
      text-decoration: none;
      border-radius: var(--border-radius);
      font-weight: 600;
      transition: var(--transition);
    }

    .video-link:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
    }

    .stats-link {
      background: linear-gradient(135deg, var(--info) 0%, #20c997 100%);
    }

    /* Coach Contact Styles */
    .coach-info-grid {
      display: grid;
      gap: 1rem;
    }

    .coach-info-item {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0.75rem;
      background: #f8f9fa;
      border-radius: var(--border-radius);
      border-left: 4px solid var(--primary);
    }

    .coach-info-label {
      font-weight: 600;
      color: var(--dark-bg);
      min-width: 120px;
    }

    .coach-info-value {
      flex: 1;
      text-align: right;
    }

    .contact-link {
      color: var(--info);
      text-decoration: none;
      font-weight: 500;
      transition: var(--transition);
    }

    .contact-link:hover {
      color: var(--primary);
      text-decoration: underline;
    }

    .contact-actions {
      display: flex;
      gap: 1rem;
      justify-content: center;
      margin-top: 1.5rem;
      flex-wrap: wrap;
    }

    .contact-action-btn {
      padding: 0.75rem 1.5rem;
      border: none;
      border-radius: var(--border-radius);
      font-weight: 600;
      text-decoration: none;
      cursor: pointer;
      transition: var(--transition);
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      font-size: 0.9rem;
    }

    .email-btn {
      background: linear-gradient(135deg, var(--success) 0%, #34ce57 100%);
      color: white;
    }

    .phone-btn {
      background: linear-gradient(135deg, var(--info) 0%, #20c997 100%);
      color: white;
    }

    .portal-btn {
      background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
      color: white;
    }

    .contact-action-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
    }

    .state-badge {
      display: inline-block;
      padding: 2px 6px;
      background: linear-gradient(135deg, #17a2b8 0%, #20c997 100%);
      color: white;
      border-radius: 4px;
      font-size: 0.7rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }

    .filters-title {
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--dark-bg);
      margin-bottom: 1rem;
      padding-bottom: 0.5rem;
      border-bottom: 2px solid var(--primary);
      display: inline-block;
    }

    /* Notes Styles */
    .notes-textarea {
      width: 100%;
      min-height: 120px;
      padding: 1rem;
      border: 2px solid var(--primary);
      border-radius: var(--border-radius);
      font-family: inherit;
      font-size: 0.9rem;
      resize: vertical;
      line-height: 1.5;
    }

    .notes-textarea:focus {
      outline: none;
      border-color: var(--primary-light);
      box-shadow: 0 0 0 3px rgba(255, 136, 0, 0.1);
    }

    .notes-meta {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 1rem;
      padding: 0.75rem;
      background: #f8f9fa;
      border-radius: var(--border-radius);
      font-size: 0.85rem;
      color: #6c757d;
    }

    .notes-actions {
      display: flex;
      gap: 1rem;
      justify-content: flex-end;
      margin-top: 1rem;
      flex-wrap: wrap;
    }

    /* Loading States */
    .loading {
      text-align: center;
      padding: 3rem;
      color: #6b7280;
    }

    .spinner {
      width: 3rem;
      height: 3rem;
      border: 4px solid #e5e7eb;
      border-top-color: var(--primary);
      border-radius: 50%;
      animation: spin 1s linear infinite;
      margin: 0 auto 1rem;
    }

    @keyframes spin {
      to { transform: rotate(360deg); }
    }

    .error-message {
      background: linear-gradient(135deg, var(--danger) 0%, #c82333 100%);
      color: white;
      padding: 1.5rem;
      border-radius: var(--border-radius);
      margin: 1rem 0;
      text-align: center;
      font-weight: 500;
    }

    /* Toast Notifications */
    .toast {
      position: fixed;
      top: 2rem;
      right: 2rem;
      background: var(--success);
      color: white;
      padding: 1rem 1.5rem;
      border-radius: var(--border-radius);
      box-shadow: var(--shadow-lg);
      z-index: 1001;
      transform: translateX(100%);
      transition: var(--transition);
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-weight: 500;
      min-width: 250px;
    }

    .toast.show {
      transform: translateX(0);
    }

    .toast.error {
      background: var(--danger);
    }

    .toast.warning {
      background: var(--warning);
      color: #212529;
    }

    .toast.info {
      background: var(--info);
    }

    /* Debug Toggle */
    .debug-toggle {
      position: fixed;
      top: 1rem;
      left: 1rem;
      background: rgba(255, 136, 0, 0.8);
      color: white;
      border: none;
      padding: 0.5rem;
      border-radius: 50%;
      cursor: pointer;
      z-index: 1000;
      font-size: 0.8rem;
      width: 40px;
      height: 40px;
    }

    /* Responsive Design */
    @media (max-width: 768px) {
      .main-container {
        padding: 1rem;
      }

      .tabs-container {
        flex-direction: column;
        align-items: center;
      }

      .tab-btn {
        padding: 0.75rem 1.5rem;
        width: 100%;
        margin-bottom: 0.5rem;
      }

      .filters-grid {
        grid-template-columns: 1fr;
      }

      .actions-bar {
        flex-direction: column;
        align-items: stretch;
      }

      .action-group {
        justify-content: center;
      }

      .virtual-table-header,
      .virtual-row {
        grid-template-columns: 110px 100px 50px 60px 60px 120px 60px 80px 100px;
        font-size: 0.75rem;
      }

      .virtual-cell {
        padding: 0.5rem 0.25rem;
      }

      .debug-toggle {
        top: 0.5rem;
        left: 0.5rem;
        width: 35px;
        height: 35px;
      }

      .modal-player-name {
        font-size: 1.8rem;
      }

      .modal-player-info {
        font-size: 1rem;
      }

      .info-grid {
        grid-template-columns: 1fr;
      }

      .video-links {
        flex-direction: column;
      }
    }

    /* Utility Classes */
    .hidden { display: none !important; }
    .text-center { text-align: center; }
    .mb-1 { margin-bottom: 1rem; }
    .mt-1 { margin-top: 1rem; }

    /* Modal Base Styles */
    .modal {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.6);
      backdrop-filter: blur(5px);
      display: none;
      justify-content: center;
      align-items: flex-start;
      z-index: 1000;
      padding: 2rem 1rem;
      box-sizing: border-box;
    }

    .modal.show,
    .modal[style*="flex"] {
      display: flex;
    }

    .modal-content {
      background: white;
      border-radius: var(--border-radius);
      box-shadow: var(--shadow-lg);
      max-width: 600px;
      max-height: 80vh;
      width: 90%;
      overflow: hidden;
      animation: modalSlideIn 0.3s ease-out;
    }

    @keyframes modalSlideIn {
      from {
        opacity: 0;
        transform: scale(0.7) translateY(-50px);
      }
      to {
        opacity: 1;
        transform: scale(1) translateY(0);
      }
    }

    .modal-header {
      background: linear-gradient(135deg, var(--info) 0%, #20c997 100%);
      color: white;
      padding: 1rem 1.5rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .modal-title {
      margin: 0;
      font-size: 1.2rem;
      font-weight: 600;
    }

    .modal-close {
      background: none;
      border: none;
      color: white;
      font-size: 1.5rem;
      cursor: pointer;
      padding: 0.25rem;
      border-radius: 50%;
      transition: var(--transition);
    }

    .modal-close:hover {
      background: rgba(255, 255, 255, 0.2);
    }

    .modal-body {
      padding: 1.5rem;
      overflow-y: auto;
      max-height: calc(80vh - 100px);
    }

    /* Interest Form Styles */
    .form-group {
      margin-bottom: 1.5rem;
    }

    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
    }

    .form-label {
      display: block;
      margin-bottom: 0.5rem;
      font-weight: 600;
      color: var(--dark-bg);
    }

    .form-control {
      width: 100%;
      padding: 0.75rem;
      border: 2px solid #e9ecef;
      border-radius: var(--border-radius);
      font-size: 1rem;
      transition: var(--transition);
    }

    .form-control:focus {
      outline: none;
      border-color: var(--primary);
      box-shadow: 0 0 0 3px rgba(255, 136, 0, 0.1);
    }

    .form-actions {
      display: flex;
      gap: 1rem;
      justify-content: flex-end;
      margin-top: 2rem;
      padding-top: 1.5rem;
      border-top: 1px solid #e9ecef;
    }

    .btn {
      padding: 0.75rem 1.5rem;
      border: none;
      border-radius: var(--border-radius);
      font-size: 1rem;
      font-weight: 600;
      cursor: pointer;
      transition: var(--transition);
    }

    .btn-primary {
      background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
      color: white;
    }

    .btn-primary:hover {
      transform: translateY(-1px);
      box-shadow: 0 4px 12px rgba(255, 136, 0, 0.3);
    }

    .btn-secondary {
      background: #6c757d;
      color: white;
    }

    .btn-secondary:hover {
      background: #5a6268;
    }

    @media (max-width: 768px) {
      .form-row {
        grid-template-columns: 1fr;
      }
      
      .form-actions {
        flex-direction: column;
      }
    }

    /* Comparison Modal */
    .comparison-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 2rem;
      margin-top: 1rem;
    }

    .comparison-player {
      background: #f8f9fa;
      border-radius: var(--border-radius);
      padding: 1.5rem;
      border: 2px solid #e9ecef;
    }

    .comparison-player h3 {
      color: var(--primary);
      margin-bottom: 1rem;
      font-size: 1.2rem;
      text-align: center;
    }

    .comparison-stats {
      display: grid;
      gap: 0.5rem;
    }

    .comparison-stat {
      display: flex;
      justify-content: space-between;
      padding: 0.5rem;
      background: white;
      border-radius: 4px;
      font-size: 0.9rem;
    }

    .comparison-stat-label {
      font-weight: 600;
      color: #666;
    }

    .comparison-stat-value {
      font-weight: 500;
    }

    /* Video Thumbnail Styles */
    .video-thumbnail-container {
      position: relative;
      display: inline-block;
      width: 80px;
      height: 45px;
      border-radius: 4px;
      overflow: hidden;
      box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }

    .video-thumbnail-link {
      display: block;
      position: relative;
      width: 100%;
      height: 100%;
      text-decoration: none;
    }

    .video-thumbnail {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: var(--transition);
    }

    .video-play-overlay {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background: rgba(0,0,0,0.7);
      color: white;
      font-size: 16px;
      padding: 4px 6px;
      border-radius: 50%;
      transition: var(--transition);
    }

    .video-thumbnail-link:hover .video-thumbnail {
      transform: scale(1.05);
    }

    .video-thumbnail-link:hover .video-play-overlay {
      background: rgba(255,136,0,0.9);
      transform: translate(-50%, -50%) scale(1.1);
    }

    .no-video {
      color: #999;
      font-size: 0.8em;
      font-style: italic;
    }

    /* =============================================================================
       OFFER BADGES - Enhanced Player Prioritization
       ============================================================================= */

    .offer-badges {
      display: flex;
      flex-wrap: wrap;
      gap: 2px;
      margin-left: 4px;
    }

    .offer-badge {
      display: inline-flex;
      align-items: center;
      font-size: 10px;
      font-weight: 600;
      padding: 2px 4px;
      border-radius: 10px;
      white-space: nowrap;
      text-transform: uppercase;
      letter-spacing: 0.3px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.2);
      transition: var(--transition);
    }

    .offer-badge:hover {
      transform: translateY(-1px);
      box-shadow: 0 2px 5px rgba(0,0,0,0.3);
    }

    /* D1 Offers - Highest Priority (Gold) */
    .d1-offer {
      background: linear-gradient(45deg, #ffd700, #ffb347);
      color: #8b4513;
      border: 1px solid #daa520;
    }

    /* JUCO Offers - High Priority (Silver/Blue) */
    .juco-offer {
      background: linear-gradient(45deg, #c0c0c0, #87ceeb);
      color: #2f4f4f;
      border: 1px solid #708090;
    }

    /* D2 Offers - Medium Priority (Orange) */
    .d2-offer {
      background: linear-gradient(45deg, #ff8c00, #ffa500);
      color: #ffffff;
      border: 1px solid #ff7f00;
    }

    /* NAIA Offers - Medium Priority (Purple) */
    .naia-offer {
      background: linear-gradient(45deg, #9370db, #ba55d3);
      color: #ffffff;
      border: 1px solid #8a2be2;
    }

    /* D3 Offers - Lower Priority (Green) */
    .d3-offer {
      background: linear-gradient(45deg, #32cd32, #90ee90);
      color: #006400;
      border: 1px solid #228b22;
    }

    /* Generic Offers - Any offers without specific level */
    .generic-offer {
      background: linear-gradient(45deg, #20b2aa, #48d1cc);
      color: #ffffff;
      border: 1px solid #008b8b;
    }

    /* Mobile responsiveness for offer badges */
    @media (max-width: 768px) {
      .offer-badges {
        gap: 1px;
      }
      
      .offer-badge {
        font-size: 9px;
        padding: 1px 3px;
      }
    }

    /* Ensure offer badges don't break table layout */
    .virtual-cell .offer-badges {
      flex-wrap: nowrap;
      overflow: hidden;
    }

    /* Priority indicator for players with offers */
    .virtual-row:has(.offer-badges) {
      background: linear-gradient(90deg, rgba(255, 215, 0, 0.05) 0%, transparent 100%);
      border-left: 3px solid #ffd700;
    }

    .virtual-row:has(.d1-offer) {
      border-left-color: #ffd700;
      background: linear-gradient(90deg, rgba(255, 215, 0, 0.08) 0%, transparent 100%);
    }

    .virtual-row:has(.juco-offer) {
      border-left-color: #87ceeb;
      background: linear-gradient(90deg, rgba(135, 206, 235, 0.06) 0%, transparent 100%);
    }
