/**
 * Player Statistics Archive Frontend CSS + MATCH RATING (12 columns)
 * Updated with new dark theme (#15161f color scheme)
 * Now includes Club Legacy Stats styling + Player Journey styling
 * UPDATED: New color scheme matching site design
 */

/* Main container */
.psa-container {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    background-color: #15161f;
    color: #e4e7eb;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
    overflow-x: auto;
    position: relative;
}

/* Header with title and filters */
.psa-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background-color: #1e1f2a;
    border-bottom: 2px solid rgba(249, 37, 82, 0.3);
}

.psa-title {
    font-size: 24px;
    font-weight: 600;
    color: #f7fafc;
    margin: 0;
    padding: 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Club Legacy Header Styling */
.psa-club-info {
    display: flex;
    align-items: center;
    gap: 20px;
}

.psa-club-logo {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #f92552;
    transition: transform 0.2s ease;
}

.psa-club-logo:hover {
    transform: scale(1.05);
}

.psa-club-details {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.psa-club-subtitle {
    font-size: 14px;
    color: #a0aec0;
    margin: 0;
    font-style: italic;
    letter-spacing: 0.5px;
}

/* Player Journey Header Styling */
.psa-player-info {
    display: flex;
    align-items: center;
    gap: 20px;
}

.psa-player-avatar {
    flex-shrink: 0;
}

.psa-player-img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #f92552;
    transition: transform 0.2s ease;
}

.psa-player-img:hover {
    transform: scale(1.05);
}

.psa-player-details {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.psa-player-number {
    color: #f92552;
    font-weight: normal;
    margin-left: 10px;
}

.psa-player-subtitle {
    font-size: 14px;
    color: #a0aec0;
    margin: 0;
    font-style: italic;
    letter-spacing: 0.5px;
}

.psa-journey-summary {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.psa-summary-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.psa-summary-number {
    font-size: 24px;
    font-weight: bold;
    color: #f92552;
    line-height: 1;
}

.psa-summary-label {
    font-size: 12px;
    color: #a0aec0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 2px;
}

/* Filter container */
.psa-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
}

/* Filter dropdowns */
.psa-filter-group {
    position: relative;
}

.psa-filter-group label {
    display: block;
    margin-bottom: 5px;
    color: #a0aec0;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.psa-filter-group select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #0e0f16;
    color: #e4e7eb;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 4px;
    padding: 8px 32px 8px 12px;
    min-width: 140px;
    cursor: pointer;
    font-size: 14px;
}

.psa-filter-group select:focus {
   outline: none;
   border-color: #f92552;
   box-shadow: 0 0 0 2px rgba(249, 37, 82, 0.2);
}

.psa-filter-group::after {
   content: '';
   position: absolute;
   top: 50%;
   right: 12px;
   transform: translateY(-50%);
   width: 0;
   height: 0;
   border-left: 5px solid transparent;
   border-right: 5px solid transparent;
   border-top: 5px solid #e4e7eb;
   pointer-events: none;
}

/* Apply filters button */
.psa-apply-btn {
   background-color: #f92552;
   color: #fff;
   border: none;
   border-radius: 4px;
   padding: 8px 16px;
   cursor: pointer;
   font-size: 14px;
   font-weight: 600;
   transition: background-color 0.2s ease;
}

.psa-apply-btn:hover {
   background-color: #d91f45;
}

/* No seasons/no selection messages */
.psa-no-seasons,
.psa-select-season {
   text-align: center;
   padding: 40px;
   color: #a0aec0;
   background-color: #1e1f2a;
   border-radius: 6px;
   margin: 20px;
}

.psa-no-seasons h3,
.psa-select-season h3 {
   color: #f7fafc;
   margin-bottom: 15px;
   font-size: 20px;
}

.psa-no-seasons p,
.psa-select-season p {
   margin: 0;
   line-height: 1.6;
}

/* Content wrapper */
.psa-content {
   position: relative;
   overflow-x: auto;
}

/* Player Journey Timeline Styling */
.psa-journey-timeline {
    padding: 20px;
}

.psa-journey-season {
    margin-bottom: 30px;
    background-color: #1e1f2a;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    overflow: hidden;
    transition: all 0.3s ease;
}

.psa-journey-season:hover {
    border-color: #f92552;
    box-shadow: 0 4px 15px rgba(249, 37, 82, 0.1);
}

.psa-season-header {
    padding: 20px;
    background-color: #1e1f2a;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.psa-season-title {
    font-size: 20px;
    font-weight: 600;
    color: #f7fafc;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.psa-season-summary {
    font-size: 14px;
    color: #a0aec0;
    font-weight: normal;
    margin-left: 15px;
    text-transform: none;
    letter-spacing: normal;
}

.psa-season-totals {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.psa-total-stat {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.psa-total-stat.psa-goals {
    background-color: rgba(249, 37, 82, 0.2);
    color: #f92552;
}

.psa-total-stat.psa-assists {
    background-color: rgba(249, 37, 82, 0.2);
    color: #f92552;
}

.psa-total-stat.psa-saves {
    background-color: rgba(52, 152, 219, 0.2);
    color: #3498db;
}

.psa-total-stat.psa-rating {
    background-color: rgba(138, 43, 226, 0.2);
    color: #8a2be2;
}

.psa-teams-container {
    padding: 20px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 15px;
}

.psa-team-card {
    background-color: #15161f;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    padding: 15px;
    transition: all 0.2s ease;
}

.psa-team-card:hover {
    border-color: #f92552;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(249, 37, 82, 0.1);
}

.psa-team-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.psa-team-name {
    font-size: 16px;
    font-weight: 600;
    color: #f7fafc;
    margin: 0;
}

.psa-team-games {
    font-size: 12px;
    color: #a0aec0;
    background-color: rgba(255, 255, 255, 0.05);
    padding: 2px 6px;
    border-radius: 8px;
}

.psa-team-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
    gap: 10px;
}

.psa-stat-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.psa-stat-label {
    font-size: 11px;
    color: #a0aec0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 3px;
}

.psa-stat-value {
    font-size: 16px;
    font-weight: 600;
    padding: 4px 6px;
    border-radius: 4px;
    min-width: 30px;
}

/* Statistics table - UNIFIED for both views + MATCH RATING (12 columns) */
.psa-table {
   width: 100%;
   border-collapse: separate;
   border-spacing: 0;
   font-size: 14px;
   min-width: 1000px;
}

.psa-table th {
   background-color: #0e0f16;
   color: #f7fafc;
   text-align: left;
   padding: 12px 16px;
   font-weight: 600;
   border-bottom: 2px solid rgba(249, 37, 82, 0.3);
   text-transform: uppercase;
   position: relative;
   cursor: pointer;
   font-size: 12px;
   letter-spacing: 0.5px;
   white-space: nowrap;
}

.psa-table th:hover {
   background-color: #282a38;
}

/* Sort indicators */
.psa-sort-indicator {
   margin-left: 5px;
   display: inline-block;
   opacity: 0.5;
}

.psa-sort-asc .psa-sort-indicator::after {
   content: '↑';
   opacity: 1;
   color: #f92552;
}

.psa-sort-desc .psa-sort-indicator::after {
   content: '↓';
   opacity: 1;
   color: #f92552;
}

/* Table rows */
.psa-table tr {
   background-color: #1e1f2a;
   transition: background-color 0.2s ease;
}

.psa-table tr:hover {
   background-color: #282a38;
}

.psa-table td {
   padding: 12px 16px;
   border-bottom: 1px solid rgba(255, 255, 255, 0.05);
   vertical-align: middle;
   white-space: nowrap;
}

.psa-table tr:last-child td {
   border-bottom: none;
}

/* Player column styling */
.psa-player-cell {
   display: flex;
   align-items: center;
   gap: 12px;
   min-width: 180px;
}

.psa-player-img {
   width: 36px;
   height: 36px;
   border-radius: 50%;
   object-fit: cover;
   border: 2px solid #f92552;
   flex-shrink: 0;
}

.psa-player-info {
   display: flex;
   flex-direction: column;
   min-width: 0;
}

.psa-player-name {
   font-weight: 500;
   color: #e4e7eb;
   font-size: 14px;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

.psa-player-team {
   font-size: 12px;
   color: #a0aec0;
   margin-top: 2px;
}

/* Clickable link styles */
.psa-player-link {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.psa-player-link:hover {
    color: #f92552;
    text-decoration: none;
}

.psa-player-link:hover .psa-player-name {
    color: #f92552;
}

.psa-event-link {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.psa-event-link:hover {
    color: #f92552;
    text-decoration: underline;
}

/* Statistic cells */
.psa-stat-cell {
   text-align: center;
   font-weight: 500;
   min-width: 60px;
}

.psa-stat-value {
   display: inline-block;
   min-width: 24px;
   padding: 4px 8px;
   border-radius: 4px;
   font-weight: 600;
   color: #e4e7eb;
}

/* Statistic-specific colors - Neutral white/off-white scheme */
.psa-stat-goals {
   color: #ffffff;
}

.psa-stat-assists {
   color: #f7fafc;
}

.psa-stat-saves {
   color: #e4e7eb;
}

.psa-stat-cs {
   color: #ffffff;
}

.psa-stat-tackles {
   color: #f7fafc;
}

.psa-stat-motm {
   color: #e4e7eb;
}

.psa-stat-interceptions {
   color: #ffffff;
}

.psa-stat-keypasses {
   color: #f7fafc;
}

.psa-stat-shots {
   color: #e4e7eb;
}

.psa-stat-possession {
   color: #ffffff;
}

.psa-stat-yellows {
   color: #f7fafc;
}

.psa-stat-reds {
   color: #e4e7eb;
}

.psa-stat-matchrating {
   color: #ffffff;
   font-weight: bold;
   min-width: 40px;
}

/* No results message */
.psa-no-results {
   text-align: center;
   padding: 30px;
   color: #a0aec0;
   font-style: italic;
   background-color: #1e1f2a;
}

/* Error message styling */
.psa-error {
   background-color: rgba(249, 37, 82, 0.1);
   color: #f92552;
   border: 1px solid rgba(249, 37, 82, 0.3);
}

/* Pagination - UNIFIED for both views */
.psa-pagination {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 15px 20px;
   background-color: #1e1f2a;
   border-top: 1px solid rgba(255, 255, 255, 0.1);
   flex-wrap: wrap;
   gap: 15px;
}

.psa-pagination-info {
   color: #a0aec0;
   font-size: 14px;
}

.psa-pagination-controls {
   display: flex;
   gap: 10px;
}

.psa-pagination-numbers {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 5px;
   flex-wrap: wrap;
}

.psa-page-btn {
   background-color: #15161f;
   color: #e4e7eb;
   border: 1px solid rgba(255, 255, 255, 0.15);
   border-radius: 4px;
   padding: 8px 12px;
   cursor: pointer;
   font-size: 14px;
   transition: all 0.2s ease;
   min-width: 40px;
   text-align: center;
}

.psa-page-btn:hover:not(:disabled) {
   background-color: #282a38;
   border-color: #f92552;
   color: #f92552;
}

.psa-page-btn.psa-active {
   background-color: #f92552;
   color: #fff;
   border-color: #f92552;
   font-weight: bold;
}

.psa-page-btn:disabled {
   opacity: 0.5;
   cursor: not-allowed;
   background-color: #15161f;
   color: #666;
   border-color: rgba(255, 255, 255, 0.1);
}

.psa-page-dots {
   color: #a0aec0;
   padding: 8px 4px;
}

.psa-prev-btn,
.psa-next-btn {
   font-weight: bold;
}

/* Loading overlays - UNIFIED */
.psa-loading,
#psa-club-loading,
#psa-player-journey-loading {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: rgba(21, 22, 31, 0.9);
   display: flex;
   justify-content: center;
   align-items: center;
   z-index: 100;
   font-size: 16px;
   color: #e4e7eb;
}

.psa-loading::after,
#psa-club-loading::after,
#psa-player-journey-loading::after {
   content: '';
   width: 24px;
   height: 24px;
   border: 3px solid rgba(255, 255, 255, 0.2);
   border-top: 3px solid #f92552;
   border-radius: 50%;
   margin-left: 10px;
   animation: psa-spin 1s linear infinite;
}

@keyframes psa-spin {
   0% { transform: rotate(0deg); }
   100% { transform: rotate(360deg); }
}

/* Column-specific widths for 12-column layout */
.psa-player-column {
   width: 16%;
   min-width: 180px;
}

.psa-stat-column {
   width: 7%;
   min-width: 65px;
   text-align: center;
}

/* Hover effects */
.psa-table tr:hover .psa-player-name {
   color: #f92552;
}

.psa-table tr:hover .psa-stat-value {
   transform: scale(1.05);
   transition: transform 0.2s ease;
}

/* Club Legacy Specific Styling */
.psa-club-legacy .psa-header {
   background: linear-gradient(135deg, #1e1f2a 0%, #282a38 100%);
   border-bottom: 3px solid #f92552;
}

.psa-club-legacy .psa-title {
   background: linear-gradient(45deg, #f92552, #ff6b8a);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
   text-shadow: none;
}

.psa-club-legacy .psa-table {
   width: 100%;
   min-width: 1000px;
}

.psa-club-legacy .psa-pagination {
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.psa-club-legacy .psa-pagination-controls {
   display: flex;
   gap: 10px;
}

/* Player Journey Specific Styling */
.psa-player-journey .psa-header {
   background: linear-gradient(135deg, #1e1f2a 0%, #15161f 100%);
   border-bottom: 3px solid #f92552;
}

.psa-player-journey .psa-title {
   background: linear-gradient(45deg, #f92552, #ff6b8a);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
   text-shadow: none;
}

/* Game Log Specific Styling */
.psa-game-log .psa-header {
    background: linear-gradient(135deg, #1e1f2a 0%, #15161f 100%);
    border-bottom: 3px solid #f92552;
}

.psa-game-log .psa-title {
    background: linear-gradient(45deg, #f92552, #ff6b8a);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.psa-game-log-summary {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.psa-season-group {
    margin-bottom: 30px;
    background-color: #1e1f2a;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    overflow: hidden;
}

.psa-games-table-wrapper {
    overflow-x: auto;
}

.psa-games-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 14px;
    min-width: 600px;
}

.psa-games-table th {
    background-color: #0e0f16;
    color: #f7fafc;
    text-align: left;
    padding: 12px 8px;
    font-weight: 600;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.psa-games-table td {
    padding: 10px 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    vertical-align: middle;
    font-size: 13px;
}

.psa-games-table tr:hover {
    background-color: #282a38;
}

/* Team Header Row Styling */
.psa-team-header-row {
    background-color: #282a38 !important;
}

.psa-team-header-row:hover {
    background-color: #282a38 !important;
}

.psa-team-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px !important;
    font-weight: 600;
    color: #f92552;
    border-bottom: 2px solid rgba(249, 37, 82, 0.3) !important;
}

.psa-team-logo-small {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #f92552;
}

.psa-team-name-header {
    font-size: 16px;
    font-weight: 600;
    color: #f7fafc;
}

.psa-date-column {
    width: 15%;
    min-width: 80px;
}

.psa-event-column {
    width: 35%;
    min-width: 120px;
}

.psa-result-column {
    width: 15%;
    min-width: 80px;
    text-align: center;
}

/* Venue styling */
.psa-home {
    color: #f92552;
    font-weight: 500;
}

.psa-away {
    color: #dc3545;
    font-weight: 500;
}

/* Result styling */
.psa-result {
    padding: 4px 8px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 12px;
}

.psa-result-w {
    color: #f92552;
}

.psa-result-l {
    color: #ff3b5c;
}

.psa-result-d {
    color: #ffc107;
}

.psa-result-unknown {
    color: #666;
    font-style: italic;
}

/* Legend Container */
.psa-legend-container {
    background: #1e1f2a;
    border-radius: 12px;
    padding: 20px 24px;
    margin-top: 20px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}

.psa-legend-title {
    color: #f92552;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.psa-legend-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
}

.psa-legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.psa-legend-abbr {
    background: rgba(249, 37, 82, 0.2);
    color: #f92552;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 8px;
    border-radius: 4px;
    min-width: 40px;
    text-align: center;
}

.psa-legend-full {
    color: rgba(255, 255, 255, 0.8);
    font-size: 12px;
    font-weight: 500;
}

/* Mobile responsiveness */
@media screen and (max-width: 768px) {
   .psa-header {
       flex-direction: column;
       align-items: flex-start;
       gap: 15px;
   }

   .psa-title {
       font-size: 20px;
   }

   .psa-club-info,
   .psa-player-info {
       flex-direction: column;
       align-items: center;
       text-align: center;
       gap: 15px;
       width: 100%;
   }

   .psa-club-logo,
   .psa-player-img {
       width: 50px;
       height: 50px;
   }

   .psa-journey-summary {
       justify-content: center;
       width: 100%;
   }

   .psa-filters {
       flex-direction: column;
       align-items: flex-start;
       width: 100%;
       gap: 10px;
   }

   .psa-filter-group {
       width: 100%;
   }

   .psa-filter-group select,
   .psa-apply-btn {
       width: 100%;
   }

   .psa-season-header {
       flex-direction: column;
       align-items: flex-start;
       gap: 10px;
   }

   .psa-season-totals {
       gap: 8px;
   }

   .psa-teams-container {
       grid-template-columns: 1fr;
       gap: 10px;
   }

   .psa-team-stats {
       grid-template-columns: repeat(2, 1fr);
   }

   .psa-container {
       border-radius: 0;
       margin: 0;
       overflow-x: auto;
   }

   .psa-content {
       overflow-x: auto;
   }

   .psa-table {
       font-size: 12px;
       min-width: 1000px;
   }

   .psa-table th,
   .psa-table td {
       padding: 8px 6px;
   }

   .psa-player-img {
       width: 28px;
       height: 28px;
   }

   .psa-player-name {
       font-size: 13px;
   }

   .psa-player-team {
       font-size: 11px;
   }

   .psa-player-column {
       min-width: 160px;
   }

   .psa-stat-column {
       min-width: 60px;
   }

   .psa-pagination {
       flex-direction: column;
       gap: 10px;
       text-align: center;
   }

   .psa-pagination-numbers {
       font-size: 12px;
   }

   .psa-page-btn {
       padding: 6px 8px;
       min-width: 32px;
       font-size: 12px;
   }

   .psa-no-seasons,
   .psa-select-season {
       padding: 20px;
       margin: 10px;
   }

   /* Game log mobile styles */
   .psa-games-table {
       font-size: 12px;
       min-width: 500px;
   }

   .psa-games-table th,
   .psa-games-table td {
       padding: 8px 4px;
   }

   .psa-team-header {
       padding: 8px 12px !important;
   }

   .psa-legend-container {
       padding: 16px;
   }

   .psa-legend-grid {
       grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
       gap: 8px;
   }
}

/* Ultra-mobile - MAINTAIN TABLE STRUCTURE */
@media screen and (max-width: 480px) {
   .psa-container {
       border-radius: 0;
       margin: 0;
   }

   .psa-club-info,
   .psa-player-info {
       gap: 10px;
   }

   .psa-club-logo,
   .psa-player-img {
       width: 40px;
       height: 40px;
   }

   .psa-summary-stat {
       min-width: 60px;
   }

   .psa-summary-number {
       font-size: 18px;
   }

   .psa-teams-container {
       padding: 10px;
   }

   .psa-team-card {
       padding: 10px;
   }

   .psa-table {
       min-width: 900px;
       font-size: 11px;
   }

   .psa-table th,
   .psa-table td {
       padding: 6px 4px;
   }

   .psa-player-img {
       width: 24px;
       height: 24px;
   }

   .psa-player-column {
       min-width: 140px;
   }

   .psa-stat-column {
       min-width: 50px;
   }

   .psa-games-table {
       min-width: 450px;
   }

   .psa-season-title {
       font-size: 16px;
   }

   .psa-season-subtitle {
       display: block;
       margin-left: 0;
       margin-top: 5px;
   }
}

/* Animation for row loading */
@keyframes psa-fade-in {
   from {
       opacity: 0;
       transform: translateY(10px);
   }
   to {
       opacity: 1;
       transform: translateY(0);
   }
}

.psa-table tr,
.psa-journey-season {
   animation: psa-fade-in 0.3s ease-out;
}

/* Focus styles for accessibility */
.psa-filter-group select:focus,
.psa-page-btn:focus,
.psa-apply-btn:focus {
   outline: 2px solid #f92552;
   outline-offset: 2px;
}

.psa-table th:focus {
   outline: 2px solid #f92552;
   outline-offset: -2px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .psa-container {
      border: 2px solid #fff;
  }

  .psa-table th,
  .psa-table td {
      border: 1px solid #fff;
  }

  .psa-stat-value {
      border: 1px solid currentColor;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .psa-table tr,
  .psa-stat-value,
  .psa-page-btn,
  .psa-apply-btn,
  .psa-club-logo,
  .psa-player-img,
  .psa-journey-season,
  .psa-team-card {
      transition: none;
      animation: none;
  }
}

/* Print styles */
@media print {
  .psa-container {
      background-color: white;
      color: black;
      box-shadow: none;
  }

  .psa-header,
  .psa-pagination,
  .psa-filters {
      display: none;
  }

  .psa-table th,
  .psa-table td {
      border: 1px solid #333;
      background-color: white;
      color: black;
  }

  .psa-stat-value {
      background-color: transparent;
      color: black;
      border: 1px solid #333;
  }

  .psa-club-logo,
  .psa-player-img {
      width: 30px;
      height: 30px;
  }

  .psa-journey-season {
      break-inside: avoid;
      page-break-inside: avoid;
  }

  .psa-team-card {
      background-color: white;
      border: 1px solid #333;
  }
}

/* Active season indicators */
.psa-active-indicator {
  background: linear-gradient(45deg, #f92552, #ff6b8a);
  color: #fff;
  padding: 3px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: bold;
  margin-left: 10px;
  animation: pulse-red 2s ease-in-out infinite alternate;
}

@keyframes pulse-red {
  from { box-shadow: 0 0 5px rgba(249, 37, 82, 0.5); }
  to { box-shadow: 0 0 15px rgba(249, 37, 82, 0.8); }
}

.psa-warning {
  color: #ff6b00 !important;
}

/* All-Time Specific Styling */
.psa-all-time .psa-header {
   background: linear-gradient(135deg, #1e1f2a 0%, #15161f 100%);
   border-bottom: 3px solid #ffd700;
   position: relative;
   overflow: hidden;
}

.psa-all-time-header {
   display: flex;
   align-items: center;
   gap: 20px;
   position: relative;
   z-index: 1;
}

.psa-all-time .psa-title {
  background: linear-gradient(45deg, #ffd700, #ffed4e);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 0 0 30px rgba(255, 215, 0, 0.5);
  margin: 0;
}

.psa-all-time-subtitle {
  color: #a0aec0;
  margin: 5px 0 0 0;
  font-size: 14px;
  font-style: italic;
}
