.rangliste-section{background-color:var(--color-bg-dark,#0a0d14);min-height:80vh;padding:24px 16px 80px;position:relative}.rangliste-container{max-width:960px;margin:0 auto}.search-filter-card{-webkit-backdrop-filter:blur(12px);background:#0e121ce6;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;gap:14px;margin-bottom:20px;padding:16px 20px;display:flex;box-shadow:0 8px 28px #0006}.search-box-wrap{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:12px;padding:9px 14px;transition:border-color .2s,box-shadow .2s;display:flex}.search-box-wrap:focus-within{border-color:var(--color-gold,#d4af37);background:#ffffff0f;box-shadow:0 0 14px #d4af3726}.search-icon-svg{color:#94a3b8;flex-shrink:0}.search-box-wrap input{color:#fff;font-family:var(--font-primary,"Montserrat", sans-serif);background:0 0;border:none;outline:none;flex:1;font-size:14px;font-weight:600}.search-box-wrap input::placeholder{color:#64748b;font-weight:500}.btn-clear-search{color:#cbd5e1;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;transition:background .15s;display:flex}.btn-clear-search:hover{color:#fff;background:#ffffff40}.count-badge{font-family:var(--font-primary,"Montserrat", sans-serif);color:#94a3b8;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff14;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:700}.filter-pills-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-pill{color:#94a3b8;font-family:var(--font-primary,"Montserrat", sans-serif);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;padding:6px 14px;font-size:12.5px;font-weight:600;transition:all .2s}.filter-pill:hover{color:#fff;background:#ffffff14;border-color:#fff3}.filter-pill.active{color:#f3d375;background:#d4af3724;border-color:#d4af3773;font-weight:700}.personal-player-box{background:#0e121cf2;border:1px solid #d4af3766;border-radius:14px;margin-bottom:20px;padding:16px 20px;animation:.2s slideInDown;box-shadow:0 8px 24px #0006}@keyframes slideInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.personal-player-inner{align-items:center;gap:16px;display:flex}.personal-rank-badge{width:48px;height:48px;font-family:var(--font-primary,"Montserrat", sans-serif);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:900;display:flex}.personal-rank-badge.rank-gold{color:#f3d375;background:#d4af372e;border:1px solid #d4af3773}.personal-rank-badge.rank-sub{color:#94a3b8;background:#ffffff0f;border:1px solid #ffffff1a}.personal-details{flex:1}.personal-name-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.personal-name{font-family:var(--font-primary,"Montserrat", sans-serif);color:#fff;font-size:17px;font-weight:800}.personal-ticket-tag{font-family:var(--font-primary,"Montserrat", sans-serif);color:var(--color-gold,#d4af37);background:#d4af371a;border:1px solid #d4af374d;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.personal-points{font-family:var(--font-primary,"Montserrat", sans-serif);color:#fff;margin-top:2px;font-size:13.5px;font-weight:700}.personal-status-text{color:#94a3b8;margin-top:4px;font-size:13px;line-height:1.4}.toco-leaderboard-wrapper{border:1px solid #ffffff14;border-top:2px solid var(--color-gold,#d4af37);-webkit-backdrop-filter:blur(16px);background:#0c101af2;border-radius:14px;overflow:hidden;box-shadow:0 16px 40px #00000080}.toco-table-container{scrollbar-width:thin;scrollbar-color:#d4af374d #0003;max-height:650px;overflow-y:auto}.toco-table-container::-webkit-scrollbar{width:6px}.toco-table-container::-webkit-scrollbar-track{background:#0003}.toco-table-container::-webkit-scrollbar-thumb{background:#d4af374d;border-radius:3px}.toco-table-container::-webkit-scrollbar-thumb:hover{background:var(--color-gold,#d4af37)}.toco-table{border-collapse:collapse;width:100%;font-size:14.5px}.toco-table th{color:#94a3b8;font-family:var(--font-primary,"Montserrat", sans-serif);text-transform:uppercase;letter-spacing:1px;z-index:5;background:#0d121c;border-bottom:1px solid #ffffff1a;padding:13px 18px;font-size:11.5px;font-weight:700;position:sticky;top:0}.th-rank{text-align:center;width:68px}.th-player{text-align:left}.th-points{text-align:right;width:130px}.th-status{text-align:right;width:140px}.toco-table td{color:#e2e8f0;vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:11px 18px}.toco-table tbody tr{transition:background-color .15s}.toco-table tbody tr:hover{background-color:#ffffff09}.td-rank{text-align:center}.rank-num{font-family:var(--font-primary,"Montserrat", sans-serif);text-align:center;min-width:24px;font-size:13.5px;font-weight:700;display:inline-block}.rank-num.rank-1{color:#f3d375;text-shadow:0 0 10px #d4af374d;font-size:15px;font-weight:900}.rank-num.rank-2{color:#e2e8f0;font-size:14.5px;font-weight:800}.rank-num.rank-3{color:#cd7f32;font-size:14.5px;font-weight:800}.rank-num.rank-top20,.rank-num.rank-top30{color:#f3d375;font-weight:700}.rank-num.rank-sub{color:#64748b;font-weight:500}.td-player{font-family:var(--font-primary,"Montserrat", sans-serif)}.player-name-text{color:#fff;font-size:14px;font-weight:600}.is-top20 .player-name-text,.row-top20 .player-name-text,.is-top30 .player-name-text,.row-top30 .player-name-text{color:#f3d375;text-shadow:0 0 10px #d4af3740;font-weight:700}.highlight-match{color:#f3d375;background:#d4af374d;border-radius:3px;padding:1px 3px}.td-points{text-align:right;font-family:var(--font-primary,"Montserrat", sans-serif);font-variant-numeric:tabular-nums;white-space:nowrap}.points-val{color:#f8fafc;font-size:14.5px;font-weight:700}.row-top20 .points-val{color:#fff}.pts-unit{color:#94a3b8;margin-left:2px;font-size:11px;font-weight:500}.td-status{text-align:right;white-space:nowrap}.status-ticket{font-family:var(--font-primary,"Montserrat", sans-serif);color:var(--color-gold,#d4af37);background:#d4af3714;border:1px solid #d4af3740;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.status-dash{color:#475569;padding-right:6px;font-size:13px}.toco-cutoff-row td{background:0 0!important;border:none!important;padding:0!important}.cutoff-line-wrap{background:#d4af370d;align-items:center;gap:12px;padding:8px 18px;display:flex}.cutoff-line{background:#d4af3740;flex:1;height:1px}.cutoff-label{font-family:var(--font-primary,"Montserrat", sans-serif);letter-spacing:1px;text-transform:uppercase;color:var(--color-gold,#d4af37);white-space:nowrap;font-size:11px;font-weight:700}.toco-empty-state{text-align:center;color:#94a3b8;padding:48px 20px}.empty-title{color:#fff;margin-bottom:4px;font-size:15px;font-weight:700}.empty-sub{color:#94a3b8;margin:0;font-size:13px}.toco-loading{text-align:center;color:#94a3b8;padding:40px;font-size:14px}.toco-spinner{border:2px solid #d4af3733;border-top-color:var(--color-gold,#d4af37);vertical-align:middle;border-radius:50%;width:22px;height:22px;margin-right:10px;animation:.7s linear infinite tocoSpin;display:inline-block}@keyframes tocoSpin{to{transform:rotate(360deg)}}.toco-leaderboard-footer{background:#0d121c;border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 20px;display:flex}.footer-status-left{color:#94a3b8;font-size:12.5px;font-family:var(--font-primary,"Montserrat", sans-serif)}.sync-status-text{color:#94a3b8;align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.sync-status-dot{background:#22c55e;border-radius:50%;width:8px;height:8px;transition:all .3s;display:inline-block;box-shadow:0 0 8px #22c55e66}.sync-status-dot.pulse{animation:1.2s ease-out dotPulse}@keyframes dotPulse{0%{transform:scale(1);box-shadow:0 0 #22c55ecc}50%{transform:scale(1.4);box-shadow:0 0 0 6px #22c55e00}to{transform:scale(1);box-shadow:0 0 #22c55e00}}.footer-status-actions{align-items:center;gap:10px;display:flex}.btn-refresh,.btn-admin-edit{color:#cbd5e1;cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-primary,"Montserrat", sans-serif);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:6px;padding:6px 12px;transition:all .2s}.btn-refresh.refreshing{opacity:.6;cursor:wait}.btn-refresh:hover{color:#fff;background:#ffffff1a;border-color:#ffffff40}.btn-admin-edit{color:var(--color-gold,#d4af37);background:#d4af370f;border-color:#d4af3759}.btn-admin-edit:hover{border-color:var(--color-gold,#d4af37);color:#fff;background:#d4af3729}.admin-modal-overlay{-webkit-backdrop-filter:blur(10px);z-index:10000;background:#000000d1;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}.admin-modal-overlay.active{animation:.2s ease-out adminModalFadeIn;display:flex}@keyframes adminModalFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.admin-modal-card{background:#101524;border:1px solid #d4af3766;border-radius:14px;flex-direction:column;width:100%;max-width:640px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #000c}.admin-modal-header{background:#ffffff05;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.admin-modal-title-wrap{flex-direction:column;gap:3px;display:flex}.admin-modal-badge{letter-spacing:1.5px;color:var(--color-gold,#d4af37);font-size:10px;font-weight:800;font-family:var(--font-primary,"Montserrat", sans-serif)}.admin-modal-header h3{color:#fff;font-size:17px;font-weight:800;font-family:var(--font-primary,"Montserrat", sans-serif);margin:0}.admin-modal-close{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:all .2s;display:flex}.admin-modal-close:hover{color:#fff;background:#ffffff26}.admin-modal-body{flex-direction:column;flex:1;gap:14px;padding:20px 22px;display:flex;overflow-y:auto}.admin-modal-desc{color:#94a3b8;margin:0;font-size:13px;line-height:1.5}.admin-format-hint{color:#cbd5e1;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;padding:10px 14px;font-size:12px}.admin-format-hint code{color:#f3d375;background:#0006;border-radius:4px;padding:2px 6px;font-family:monospace}.admin-label{color:#f1f5f9;margin-bottom:4px;font-size:12px;font-weight:700;display:block}.admin-textarea{color:#fff;resize:vertical;box-sizing:border-box;background:#080b12;border:1px solid #ffffff1f;border-radius:8px;outline:none;width:100%;padding:12px;font-family:monospace;font-size:13px}.admin-textarea:focus{border-color:var(--color-gold,#d4af37)}.admin-source-config{background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;padding:12px}.admin-input{color:#fff;box-sizing:border-box;background:#080b12;border:1px solid #ffffff1f;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-family:monospace;font-size:12.5px}.admin-input:focus{border-color:var(--color-gold,#d4af37)}.admin-help-text{color:#94a3b8;margin-top:6px;font-size:11px;display:block}.admin-hostinger-info{color:#cbd5e1;background:#d4af370d;border:1px solid #d4af3733;border-radius:8px;padding:12px 14px;font-size:12px;line-height:1.45}.admin-hostinger-info strong{color:#f3d375;margin-bottom:4px;display:block}.admin-hostinger-info p{margin:0}.admin-modal-footer{background:#ffffff05;border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 22px;display:flex}.admin-modal-actions-right{gap:8px;display:flex}.btn-modal-primary{background:var(--color-gold,#d4af37);color:#0b0f19;cursor:pointer;font-size:13px;font-weight:700;font-family:var(--font-primary,"Montserrat", sans-serif);border:none;border-radius:6px;padding:8px 16px;transition:all .2s}.btn-modal-primary:hover{background:var(--color-gold-hover,#f3d375)}.btn-modal-secondary{color:#e2e8f0;cursor:pointer;font-size:12.5px;font-weight:600;font-family:var(--font-primary,"Montserrat", sans-serif);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;padding:8px 14px;transition:all .2s}.btn-modal-secondary:hover{color:#fff;background:#ffffff1f}@media (width<=640px){.toco-table th,.toco-table td{padding:10px 12px}.th-rank{width:50px}.th-points{width:90px}.th-status{width:100px}.toco-leaderboard-footer{flex-direction:column;align-items:stretch}.footer-status-actions{justify-content:flex-end}}
