/* Preserved from manager.css: original ranking colors, podium and charge animation. */
.classic-ranking{--card:#12183A;--card-2:#181F48;--line:#232B5C;--ink:#EAF0FF;--ink-dim:#8B96C8;--ink-faint:#5A648F;--cyan:#23C4F8;--blue:#2E6BFF;--green:#2FD180;--gold:#FFC53D;--radius:16px;font-family:Inter,system-ui,sans-serif}
.classic-ranking .prize-ribbon{
  position:absolute;top:-10px;right:-8px;background:linear-gradient(135deg,var(--gold),#FF8A5C);
  color:#3A2400;font-size:11px;font-weight:800;padding:4px 10px;border-radius:99px;
  box-shadow:0 4px 12px rgba(255,197,61,.4);white-space:nowrap;z-index:2;
}
.classic-ranking .row .prize-ribbon{position:static;display:inline-flex;margin-left:8px}
.classic-ranking .prize-locked{opacity:.55;filter:grayscale(.3)}
/* ===== Team goal bar ===== */
.classic-ranking .teambar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 20px;margin-bottom:26px}
.classic-ranking .teambar .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);font-weight:700}
.classic-ranking .teambar .val{font-size:20px;font-weight:800}
.classic-ranking .tstat{min-width:120px}
.classic-ranking .tstat.gestor .val{color:var(--gold)}
.classic-ranking .teambar .battery{flex:1;min-width:220px}

/* ===== Battery bar (assinatura) ===== */
.classic-ranking .battery{position:relative;height:22px;border:1.5px solid var(--line);border-radius:8px;background:#0B1029;overflow:hidden}
.classic-ranking .battery::after{content:'';position:absolute;right:-6px;top:6px;width:4px;height:10px;border-radius:0 3px 3px 0;background:var(--line)}
.classic-ranking .battery .fill{height:100%;width:0%;border-radius:6px 0 0 6px;background:repeating-linear-gradient(90deg,var(--cyan) 0 26px,rgba(255,255,255,.22) 26px 28px);background-color:var(--cyan);transition:width .8s cubic-bezier(.22,1,.36,1), background-color .4s;position:relative}
.classic-ranking .battery .fill.full{background-color:var(--green);background:repeating-linear-gradient(90deg,var(--green) 0 26px,rgba(255,255,255,.22) 26px 28px)}
.classic-ranking .battery .fill::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:translateX(-100%);animation:charge 2.4s linear infinite}
@keyframes charge{to{transform:translateX(100%)}}
.classic-ranking .battery .pct{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:800;color:var(--ink);text-shadow:0 1px 3px rgba(0,0,0,.6)}

/* ===== Pódio ===== */
.classic-ranking .podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:16px;align-items:end;margin-bottom:26px}
.classic-ranking .pcard{background:linear-gradient(180deg,var(--card-2),var(--card));border:1px solid var(--line);border-radius:var(--radius);padding:20px 18px 16px;text-align:center;position:relative;transition:.3s}
.classic-ranking .pcard.p1{border-color:rgba(255,197,61,.55);box-shadow:0 0 40px rgba(255,197,61,.12);padding-top:28px}
.classic-ranking .pcard.p2{border-color:rgba(201,212,232,.35)}
.classic-ranking .pcard.p3{border-color:rgba(224,149,90,.4)}
.classic-ranking .pcard.me{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(35,196,248,.5),0 0 30px rgba(35,196,248,.2)}
.classic-ranking .me-tag{position:absolute;top:10px;left:50%;transform:translateX(-50%);background:var(--cyan);color:#04101F;font-size:10px;font-weight:800;padding:3px 10px;border-radius:99px;letter-spacing:.05em}
.classic-ranking .medal{font-size:30px;line-height:1}
.classic-ranking .pcard.p1 .medal{font-size:40px}
.classic-ranking .pcard .avatar{margin:10px auto 8px}
.classic-ranking .avatar{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-family:'Chakra Petch';font-weight:700;font-size:20px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--cyan));border:2px solid rgba(255,255,255,.15);overflow:hidden}
.classic-ranking .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.classic-ranking .pcard .avatar{width:72px;height:72px;font-size:24px}
.classic-ranking .pcard.p1 .avatar{width:84px;height:84px;border-color:rgba(255,197,61,.6)}
.classic-ranking .pcard .name{font-family:'Chakra Petch';font-size:17px;font-weight:700}
.classic-ranking .pcard .score{font-size:26px;font-weight:800;margin:4px 0 2px}
.classic-ranking .pcard .score small{font-size:12px;color:var(--ink-dim);font-weight:600}
.classic-ranking .pcard .meta-line{font-size:12px;color:var(--ink-dim);margin-bottom:10px}
.classic-ranking .pcard .battery{height:16px;margin-bottom:12px}
.classic-ranking .pcard .battery .pct{font-size:10px}
.classic-ranking .pcard .actions{display:flex;gap:8px;justify-content:center}

/* ===== Lista ===== */
.classic-ranking .list{display:flex;flex-direction:column;gap:10px}
.classic-ranking .row{display:grid;grid-template-columns:44px 52px 1fr 190px 210px;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;transition:transform .5s cubic-bezier(.22,1,.36,1), box-shadow .3s;cursor:default}
.classic-ranking .row:hover{border-color:#31408F}
.classic-ranking .row.me{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(35,196,248,.35)}
.classic-ranking .row .pos{font-family:'Chakra Petch';font-size:20px;font-weight:700;color:var(--ink-faint);text-align:center}
.classic-ranking .row .avatar{width:48px;height:48px;font-size:16px}
.classic-ranking .row .who .name{font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px}
.classic-ranking .row .who .name .you{font-size:10px;background:var(--cyan);color:#04101F;padding:2px 8px;border-radius:99px;font-weight:800}
.classic-ranking .row .who .meta-line{font-size:12px;color:var(--ink-dim)}
.classic-ranking .row .score{text-align:right}
.classic-ranking .row .score .big{font-size:20px;font-weight:800}
.classic-ranking .row .score .big small{font-size:11px;color:var(--ink-dim);font-weight:600}
.classic-ranking .row .score .faltam{font-size:11px;color:var(--ink-faint)}
.classic-ranking .row .actions{display:flex;gap:8px}
.classic-ranking .btn{border:0;border-radius:10px;font:inherit;font-weight:700;cursor:pointer;transition:.15s;padding:9px 14px;font-size:13px}
.classic-ranking .btn:active{transform:scale(.95)}
.classic-ranking .btn-add{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;box-shadow:0 4px 14px rgba(46,107,255,.35)}
.classic-ranking .btn-add:hover{filter:brightness(1.1)}
.classic-ranking .btn-sub{background:rgba(255,93,115,.12);color:var(--red);border:1px solid rgba(255,93,115,.3)}
.classic-ranking .btn-ghost{background:rgba(255,255,255,.04);color:var(--ink-dim);border:1px solid var(--line)}
.classic-ranking .btn-ghost:hover{color:var(--ink)}

.classic-ranking .num{font-variant-numeric:tabular-nums}.classic-ranking .score{font-size:22px}.classic-ranking .big{font-size:18px}.classic-ranking .section-heading h2{font-family:"Chakra Petch",sans-serif;font-size:28px;text-transform:uppercase;letter-spacing:.02em}.classic-ranking .section-heading h2 span{color:var(--cyan)}
@media(max-width:900px){.classic-ranking .row{grid-template-columns:32px 44px 1fr;grid-auto-rows:auto}.classic-ranking .row .battery-wrap{grid-column:1 / -1}.classic-ranking .row .score{grid-column:3;text-align:left}.classic-ranking .podium{grid-template-columns:1fr;align-items:stretch}.classic-ranking .pcard.p1{order:-1}}
@media(prefers-reduced-motion:reduce){.classic-ranking *,.classic-ranking *::after{animation:none!important;transition:none!important}}
