/**
 * Gamer Style Tables - Professional & Modern
 * Dark theme with subtle accents, no neon effects
 */

/* ============================================
   GAMER TABLE BASE STYLES
============================================ */
.gamer-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: linear-gradient(145deg, #1e1e2e 0%, #252535 100%);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.gamer-table thead {
    background: linear-gradient(180deg, #2a2a3a 0%, #222230 100%);
    border-bottom: 2px solid var(--ColorTemplate);
}

.gamer-table thead tr {
    position: relative;
}

.gamer-table thead tr::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--ColorTemplate), transparent);
    opacity: 0.5;
}

.gamer-table th {
    padding: 16px 12px;
    color: #e0e0e0;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
    border: none;
    position: relative;
}

.gamer-table th:first-child {
    border-radius: 12px 0 0 0;
}

.gamer-table th:last-child {
    border-radius: 0 12px 0 0;
}

.gamer-table tbody tr {
    transition: all 0.3s ease;
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
}

.gamer-table tbody tr:last-child {
    border-bottom: none;
}

.gamer-table tbody tr:hover {
    background: linear-gradient(145deg, rgba(23, 58, 138, 0.15) 0%, rgba(23, 58, 138, 0.05) 100%);
    transform: translateX(4px);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.gamer-table td {
    padding: 14px 12px;
    color: #c0c0c0;
    font-size: 14px;
    text-align: center;
    border: none;
    vertical-align: middle;
}

.gamer-table tbody tr:nth-child(even) {
    background: rgba(0, 0, 0, 0.15);
}

.gamer-table tbody tr:nth-child(even):hover {
    background: linear-gradient(145deg, rgba(23, 58, 138, 0.2) 0%, rgba(23, 58, 138, 0.1) 100%);
}

/* ============================================
   RANKINGS TABLE SPECIFIC
============================================ */
.rankings-table {
    background: linear-gradient(145deg, #1a1a2e 0%, #202030 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.rankings-table thead {
    background: linear-gradient(180deg, #2d2d3d 0%, #252535 100%);
}

.rankings-table th {
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    padding: 18px 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.rankings-table tbody tr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.rankings-table tbody tr:hover {
    background: linear-gradient(145deg, rgba(23, 58, 138, 0.2) 0%, rgba(23, 58, 138, 0.08) 100%);
}

.rankings-table td {
    color: #d0d0d0;
    padding: 16px 12px;
    font-size: 15px;
}

.rankings-table-place {
    font-size: 28px;
    font-weight: 800;
    background: linear-gradient(135deg, #ffd700 0%, #ffaa00 50%, #ffd700 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: 0 0 20px rgba(255, 215, 0, 0.3);
}

/* Top 3 special styling */
.rankings-table tbody tr:nth-child(1) .rankings-table-place {
    background: linear-gradient(135deg, #ffd700 0%, #ffed4e 50%, #ffd700 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.rankings-table tbody tr:nth-child(2) .rankings-table-place {
    background: linear-gradient(135deg, #c0c0c0 0%, #e8e8e8 50%, #c0c0c0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.rankings-table tbody tr:nth-child(3) .rankings-table-place {
    background: linear-gradient(135deg, #cd7f32 0%, #daa06d 50%, #cd7f32 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.rankings-table tbody tr:nth-child(1) {
    background: linear-gradient(145deg, rgba(255, 215, 0, 0.1) 0%, rgba(255, 215, 0, 0.05) 100%);
}

.rankings-table tbody tr:nth-child(2) {
    background: linear-gradient(145deg, rgba(192, 192, 192, 0.08) 0%, rgba(192, 192, 192, 0.03) 100%);
}

.rankings-table tbody tr:nth-child(3) {
    background: linear-gradient(145deg, rgba(205, 127, 50, 0.08) 0%, rgba(205, 127, 50, 0.03) 100%);
}

.rankings-class-image {
    border: 2px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
}

.rankings-class-image:hover {
    border-color: var(--ColorTemplate);
    box-shadow: 0 0 20px rgba(23, 58, 138, 0.4);
    transform: scale(1.05);
}

/* ============================================
   GENERAL TABLE UI
============================================ */
.general-table-ui {
    background: linear-gradient(145deg, #1e1e2e 0%, #252535 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.general-table-ui tr td {
    padding: 12px 15px;
    color: #c0c0c0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.general-table-ui tr:first-child td {
    background: linear-gradient(180deg, #2a2a3a 0%, #222230 100%);
    color: #ffffff;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 1px;
    padding: 16px 15px;
}

.general-table-ui tr:nth-child(2n+2) td {
    background: rgba(0, 0, 0, 0.15);
}

.general-table-ui tr:hover td {
    background: rgba(23, 58, 138, 0.1);
}

.general-table-ui img {
    border: 2px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

/* ============================================
   MY ACCOUNT TABLE
============================================ */
.myaccount-table {
    background: linear-gradient(145deg, #1e1e2e 0%, #252535 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.myaccount-table tr td {
    padding: 16px 20px;
    color: #c0c0c0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: all 0.3s ease;
}

.myaccount-table tr:hover td {
    background: rgba(23, 58, 138, 0.1);
}

.myaccount-table tr td:first-child {
    color: var(--ColorTemplate);
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: linear-gradient(180deg, rgba(23, 58, 138, 0.15) 0%, rgba(23, 58, 138, 0.05) 100%);
}

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

/* ============================================
   DOWNLOADS TABLE
============================================ */
.downloads-table {
    background: linear-gradient(145deg, #1e1e2e 0%, #252535 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.downloads-table tr td {
    padding: 16px 20px;
    color: #c0c0c0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.downloads-table tr:hover td {
    background: rgba(23, 58, 138, 0.1);
}

.download-description {
    font-size: 13px;
    color: #888;
    font-style: italic;
}

/* ============================================
   GUILD TABLE
============================================ */
.table-guild {
    background: linear-gradient(145deg, #1e1e2e 0%, #252535 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.table-guild tr td {
    color: #e0e0e0;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.table-guild tr:hover td {
    background: rgba(23, 58, 138, 0.1);
}

/* ============================================
   DATA TABLES CUSTOMIZATION
============================================ */
.dataTables_wrapper .dataTables_filter input {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    color: #ffffff;
    padding: 10px 15px;
    transition: all 0.3s ease;
}

.dataTables_wrapper .dataTables_filter input:focus {
    background: rgba(255, 255, 255, 0.15);
    border-color: var(--ColorTemplate);
    box-shadow: 0 0 15px rgba(23, 58, 138, 0.3);
    outline: none;
}

.dataTables_wrapper .dataTables_filter input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    color: #ffffff !important;
    margin: 0 3px;
    transition: all 0.3s ease;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: rgba(23, 58, 138, 0.3);
    border-color: var(--ColorTemplate);
    box-shadow: 0 0 15px rgba(23, 58, 138, 0.3);
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--ColorTemplate);
    border-color: var(--ColorTemplate);
    box-shadow: 0 0 20px rgba(23, 58, 138, 0.4);
}

/* ============================================
   STATUS INDICATORS
============================================ */
.default-char-online {
    border: 3px solid #28a745;
    box-shadow: 0 0 15px rgba(40, 167, 69, 0.5);
    border-radius: 8px;
}

.default-char-offline {
    border: 3px solid #6c757d;
    box-shadow: 0 0 10px rgba(108, 117, 125, 0.3);
    border-radius: 8px;
}

.online-status-indicator {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-left: 8px;
}

.online-status-indicator.online {
    background: #28a745;
    box-shadow: 0 0 10px rgba(40, 167, 69, 0.5);
    animation: pulse 2s ease-in-out infinite;
}

.online-status-indicator.offline {
    background: #dc3545;
    box-shadow: 0 0 10px rgba(220, 53, 69, 0.3);
}

@keyframes pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.7; transform: scale(1.1); }
}

/* ============================================
   CLASS RACE CARDS
============================================ */
.RazaSM,
.RazaDK,
.RazaELF,
.RazaMG,
.RazaDL,
.RazaSUM,
.RazaRF {
    background: linear-gradient(145deg, rgba(30, 30, 46, 0.9) 0%, rgba(37, 37, 53, 0.9) 100%);
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
}

.RazaSM { border: 2px solid rgba(47, 125, 204, 0.3); }
.RazaSM:hover { border-color: #2f7dcc; box-shadow: 0 0 25px rgba(47, 125, 204, 0.3); }

.RazaDK { border: 2px solid rgba(204, 47, 47, 0.3); }
.RazaDK:hover { border-color: #cc2f2f; box-shadow: 0 0 25px rgba(204, 47, 47, 0.3); }

.RazaELF { border: 2px solid rgba(51, 204, 47, 0.3); }
.RazaELF:hover { border-color: #33cc2f; box-shadow: 0 0 25px rgba(51, 204, 47, 0.3); }

.RazaMG { border: 2px solid rgba(113, 47, 204, 0.3); }
.RazaMG:hover { border-color: #712fcc; box-shadow: 0 0 25px rgba(113, 47, 204, 0.3); }

.RazaDL { border: 2px solid rgba(204, 158, 47, 0.3); }
.RazaDL:hover { border-color: #cc9e2f; box-shadow: 0 0 25px rgba(204, 158, 47, 0.3); }

.RazaSUM { border: 2px solid rgba(191, 47, 204, 0.3); }
.RazaSUM:hover { border-color: #bf2fcc; box-shadow: 0 0 25px rgba(191, 47, 204, 0.3); }

.RazaRF { border: 2px solid rgba(204, 84, 47, 0.3); }
.RazaRF:hover { border-color: #cc542f; box-shadow: 0 0 25px rgba(204, 84, 47, 0.3); }

/* ============================================
   GAMER BUTTONS IN TABLES
============================================ */
.BtnSM,
.BtnDK,
.BtnELF,
.BtnMG,
.BtnDL,
.BtnSUM,
.BtnRF {
    background: linear-gradient(145deg, rgba(30, 30, 46, 0.9) 0%, rgba(37, 37, 53, 0.9) 100%);
    border: 2px solid;
    border-radius: 8px;
    padding: 10px 20px;
    color: #ffffff;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.BtnSM { border-color: #2f7dcc; }
.BtnSM:hover { background: #2f7dcc; box-shadow: 0 0 20px rgba(47, 125, 204, 0.4); }

.BtnDK { border-color: #cc2f2f; }
.BtnDK:hover { background: #cc2f2f; box-shadow: 0 0 20px rgba(204, 47, 47, 0.4); }

.BtnELF { border-color: #33cc2f; }
.BtnELF:hover { background: #33cc2f; box-shadow: 0 0 20px rgba(51, 204, 47, 0.4); }

.BtnMG { border-color: #712fcc; }
.BtnMG:hover { background: #712fcc; box-shadow: 0 0 20px rgba(113, 47, 204, 0.4); }

.BtnDL { border-color: #cc9e2f; }
.BtnDL:hover { background: #cc9e2f; box-shadow: 0 0 20px rgba(204, 158, 47, 0.4); }

.BtnSUM { border-color: #bf2fcc; }
.BtnSUM:hover { background: #bf2fcc; box-shadow: 0 0 20px rgba(191, 47, 204, 0.4); }

.BtnRF { border-color: #cc542f; }
.BtnRF:hover { background: #cc542f; box-shadow: 0 0 20px rgba(204, 84, 47, 0.4); }

/* ============================================
   RESPONSIVE TABLES
============================================ */
@media (max-width: 768px) {
    .gamer-table,
    .rankings-table,
    .general-table-ui,
    .myaccount-table {
        border-radius: 8px;
    }
    
    .gamer-table th,
    .rankings-table th {
        padding: 12px 8px;
        font-size: 11px;
    }
    
    .gamer-table td,
    .rankings-table td {
        padding: 10px 8px;
        font-size: 13px;
    }
    
    .rankings-table-place {
        font-size: 20px;
    }
    
    .rankings-class-image {
        width: 30px !important;
    }
}

/* ============================================
   TABLE CONTAINER WITH SCROLL
============================================ */
.table-responsive {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.table-responsive::-webkit-scrollbar {
    height: 8px;
}

.table-responsive::-webkit-scrollbar-track {
    background: #1e1e2e;
}

.table-responsive::-webkit-scrollbar-thumb {
    background: var(--ColorTemplate);
    border-radius: 4px;
}

/* ============================================
   EMPTY TABLE STATE
============================================ */
.table-empty {
    text-align: center;
    padding: 40px 20px;
    color: #888;
    font-style: italic;
}

.table-empty i {
    font-size: 48px;
    margin-bottom: 15px;
    opacity: 0.3;
}
