.leaderboard-page { padding: 24px; color: #e8f0f6; width: 100%; max-width: 1024px; margin: 0 auto; }
.leaderboard-header { margin-bottom: 18px; }
.leaderboard-header h2 { margin: 0 0 6px 0; font-size: 22px; }
.leaderboard-header .subtitle { color: #8aa1b1; font-size: 13px; margin: 0; }
.leaderboard-header .period-picker { display: flex; align-items: flex-end; gap: 10px; margin: 10px 0 12px; }
.leaderboard-header .period-field { display: flex; flex-direction: column; gap: 6px; }
.leaderboard-header .period-field .label { font-size: 12px; color: #8aa1b1; }
.leaderboard-header .select { background: rgba(20,27,34,0.95); border: 1px solid rgba(255,255,255,0.08); color: #e8f0f6; border-radius: 8px; padding: 8px 10px; min-width: 110px; }
.leaderboard-header .period-submit { padding: 8px 14px; border-radius: 8px; }

.podium { display: grid; grid-template-columns: 1fr 1.1fr 1fr; gap: 14px; align-items: end; margin: 18px 0 26px; }
.place { background: rgba(20,27,34,0.95); border: 1px solid rgba(255,255,255,0.06); border-radius: 12px; padding: 12px; text-align: center; position: relative; box-shadow: 0 6px 18px rgba(0,0,0,0.35); }
.place .avatar { font-size: 28px; margin-bottom: 6px; }
.place .avatar.crown { font-size: 30px; }
.place .avatar.dim { opacity: 0.35; }
.place .name { font-weight: 600; font-size: 14px; color: #e8f0f6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.place .points { font-size: 12px; color: #a9c1d2; margin-top: 4px; }
.place .step { position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); background: #2a3541; color: #c9d7e1; padding: 2px 8px; border-radius: 10px; font-size: 12px; border: 1px solid rgba(255,255,255,0.07); }

.place-1 { transform: translateY(-10px); border-color: rgba(255,215,0,0.25); }
.place-2 { transform: translateY(0px); border-color: rgba(192,192,192,0.25); }
.place-3 { transform: translateY(5px); border-color: rgba(205,127,50,0.25); }

.leaderboard-list { background: rgba(20,27,34,0.9); border: 1px solid rgba(255,255,255,0.06); border-radius: 10px; overflow: hidden; }
.leaderboard-list .list-header, .leaderboard-list .list-row { display: grid; grid-template-columns: 52px 1fr 110px 120px; gap: 4px; align-items: center; padding: 10px 12px; }
.leaderboard-list .list-header { background: rgba(22,29,36,0.95); color: #8aa1b1; font-size: 12px; text-transform: uppercase; letter-spacing: 0.4px; }
.leaderboard-list .list-row { border-top: 1px solid rgba(255,255,255,0.04); }
.leaderboard-list .list-row.top { background: rgba(255,255,255,0.02); }
.leaderboard-list .col.user .user-name { font-weight: 600; }
.leaderboard-list .col.user .user-name .user-link { color: #e8f0f6; cursor: pointer; border-bottom: 1px dashed rgba(255,255,255,0.2); }
.leaderboard-list .col.user .user-name .user-link:hover { color: #fff; border-bottom-color: rgba(255,255,255,0.35); }
.leaderboard-list .empty-state { text-align: center; color: #8aa1b1; padding: 16px; }

@media (max-width: 920px) {
  .podium { grid-template-columns: 1fr 1fr 1fr; }
  .leaderboard-list .list-header, .leaderboard-list .list-row { grid-template-columns: 36px 1fr 88px 98px; font-size: 13px; }
}


