/* DPL Players premium presentation — visual-only layer. */
.players-page .players-shell {
    box-sizing: border-box;
    width: min(1600px, 92%);
    margin: 28px auto 44px;
    padding: 24px 26px 28px;
    border: 1px solid rgba(214, 62, 104, .62);
    border-radius: 10px;
    background:
        linear-gradient(120deg, rgba(6, 18, 31, .72), rgba(10, 13, 25, .82) 52%, rgba(31, 13, 39, .62));
    box-shadow:
        0 0 0 1px rgba(46, 135, 197, .11) inset,
        -18px 0 44px rgba(16, 104, 170, .08),
        18px 0 48px rgba(166, 37, 131, .08),
        0 14px 42px rgba(0, 0, 0, .22);
}

.players-page .players-heading {
    margin-bottom: 22px;
}

.players-page .players-toolbar {
    margin-bottom: 16px;
    padding: 14px 16px;
    background:
        linear-gradient(100deg, rgba(8, 17, 27, .92), rgba(15, 18, 29, .92));
    border: 1px solid rgba(197, 65, 119, .62);
    border-radius: 8px;
    box-shadow:
        0 0 0 1px rgba(35, 125, 187, .08) inset,
        0 0 24px rgba(185, 40, 125, .055);
}

.players-page .players-search-control {
    position: relative;
    display: block;
}

.players-page .players-search-control input {
    width: 100%;
    padding-left: 38px;
}

.players-page .players-search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    width: 16px;
    height: 16px;
    color: #c8d2df;
    transform: translateY(-50%);
    pointer-events: none;
}

.players-page .players-filter-form input,
.players-page .players-filter-form select {
    background: rgba(6, 12, 20, .86);
    border-color: #334251;
    box-shadow: 0 1px 0 rgba(255,255,255,.02) inset;
}

.players-page .players-filter-form input:hover,
.players-page .players-filter-form select:hover {
    border-color: #48596b;
}

.players-page .players-filter-form input:focus,
.players-page .players-filter-form select:focus {
    border-color: #b8446f;
    box-shadow:
        0 0 0 2px rgba(184, 68, 111, .13),
        0 0 18px rgba(141, 47, 136, .08);
}

.players-page .players-reset-button {
    gap: 7px;
    background: rgba(10, 17, 26, .7);
}

.players-page .players-reset-icon {
    width: 14px;
    height: 14px;
    color: #b9c5d1;
}

.players-page .players-list-section {
    background: rgba(9, 16, 25, .92);
    border: 1px solid rgba(198, 67, 105, .58);
    border-radius: 8px;
    box-shadow:
        0 0 0 1px rgba(50, 116, 169, .08) inset,
        0 0 28px rgba(171, 39, 111, .045);
}

.players-page .players-table-head {
    background:
        linear-gradient(90deg, rgba(9, 14, 22, .99), rgba(14, 17, 29, .98));
    border-bottom-color: rgba(146, 54, 80, .48);
}

.players-page .player-row {
    background: linear-gradient(90deg, rgba(13, 23, 35, .52), rgba(11, 18, 28, .44));
    border-bottom-color: rgba(60, 76, 91, .42);
}

.players-page .player-row:nth-child(even) {
    background: linear-gradient(90deg, rgba(12, 20, 31, .42), rgba(10, 16, 26, .34));
}

.players-page .player-row:hover {
    background: linear-gradient(90deg, rgba(18, 32, 47, .82), rgba(21, 24, 40, .72));
    box-shadow:
        inset 3px 0 0 #e04449,
        0 0 22px rgba(56, 122, 178, .05);
}

.players-page .player-role-badge {
    min-height: 31px;
    gap: 8px;
    padding: 5px 10px 5px 8px;
    border-radius: 5px;
    background: rgba(12, 18, 27, .78);
    line-height: 1.15;
    white-space: normal;
}

.players-page .player-role-icon {
    display: inline-block;
    width: 19px;
    height: 19px;
    flex: 0 0 19px;
    overflow: visible;
    filter: drop-shadow(0 0 5px currentColor);
}

/* Role palette and exact icon mapping requested by the user. */
.players-page .player-role-badge.role-1 { color: #ff4b50; border-color: rgba(227, 55, 61, .65); }
.players-page .player-role-badge.role-2 { color: #36a9ff; border-color: rgba(42, 139, 217, .62); }
.players-page .player-role-badge.role-3 { color: #ff982e; border-color: rgba(214, 116, 31, .62); }
.players-page .player-role-badge.role-4 { color: #79d85a; border-color: rgba(93, 174, 70, .68); } /* Support = green staff */
.players-page .player-role-badge.role-5 { color: #79d85a; border-color: rgba(93, 174, 70, .68); } /* Full support = green cross */
.players-page .player-role-badge.role-6 { color: #31d5e7; border-color: rgba(33, 164, 181, .62); }

.players-page .player-role-badge.role-1,
.players-page .player-role-badge.role-2,
.players-page .player-role-badge.role-3,
.players-page .player-role-badge.role-4,
.players-page .player-role-badge.role-5,
.players-page .player-role-badge.role-6 {
    font-weight: 900;
}

.players-page .player-rating-track {
    background: #202b36;
}

.players-page .player-rating-track span {
    background: linear-gradient(90deg, #a32630, #f0444f);
    box-shadow: 0 0 8px rgba(224, 55, 68, .22);
}

/* Achievement places: same trophy silhouette, deliberately separated by metal color. */
.players-page .player-medal {
    min-height: 27px;
    gap: 5px;
    padding: 0 9px;
    background: rgba(11, 17, 25, .86);
}

.players-page .player-medal-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    filter: drop-shadow(0 0 4px currentColor);
}

.players-page .player-medal-gold {
    color: #ffc128;
    border-color: rgba(184, 126, 17, .7);
    background: linear-gradient(180deg, rgba(61, 43, 8, .28), rgba(12, 17, 24, .88));
}

.players-page .player-medal-silver {
    color: #dbe7f2;
    border-color: rgba(119, 140, 158, .72);
    background: linear-gradient(180deg, rgba(67, 82, 95, .23), rgba(12, 17, 24, .88));
}

.players-page .player-medal-bronze {
    color: #f18642;
    border-color: rgba(167, 83, 38, .72);
    background: linear-gradient(180deg, rgba(79, 38, 17, .25), rgba(12, 17, 24, .88));
}

.players-page .player-achievement {
    min-height: 27px;
    border-color: rgba(77, 103, 135, .72);
    color: #b9d8ff;
    background: linear-gradient(180deg, rgba(25, 48, 75, .28), rgba(12, 17, 24, .88));
}

.players-page .players-total {
    background: rgba(10, 17, 26, .82);
    border-color: #34414f;
}

@media (max-width: 760px) {
    .players-page .players-shell {
        width: 94%;
        margin-top: 18px;
        padding: 18px 14px 22px;
    }

    .players-page .player-role-badge {
        max-width: 210px;
    }
}


/* Unified MVP badge: same visual language as the player profile. */
.players-page .player-achievement-mvp {
    max-width: 180px;
    min-height: 27px;
    padding: 0 8px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #f4f6f8;
    border-color: rgba(185, 68, 131, .66);
    background: linear-gradient(180deg, rgba(40, 18, 42, .64), rgba(12, 17, 24, .90));
    box-shadow: inset 0 0 12px rgba(129, 41, 111, .06);
}
.players-page .player-achievement-mvp-star {
    color: #ffc928;
    font-size: 11px;
    line-height: 1;
}
.players-page .player-achievement-mvp-title {
    overflow: hidden;
    color: #f1f4f7;
    font-size: 9px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-transform: uppercase;
}
.players-page .player-achievement-mvp-count {
    color: #ff4b55;
    font-size: 9px;
    font-weight: 950;
    white-space: nowrap;
}
