/* Ranking mensal: componentes novos, sem substituir o CSS original. */
.ranking-section,.ranking-news-section{margin-top:2rem;padding:1.5rem;border:1px solid var(--line,#dce4de);border-radius:20px;background:var(--surface,#fff)}
.ranking-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.6rem}
.ranking-heading h2{margin:0;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.045em;color:var(--brand,#123e46)}
.ranking-heading .eyebrow{margin-bottom:.25rem}.ranking-month{margin:.35rem 0 0;font-weight:750;color:var(--brand,#123e46)}
.ranking-prize{padding:.55rem .8rem;border:1px solid #e7d492;border-radius:999px;background:#fff8dc;color:#765500;font-weight:800;font-size:.8rem;white-space:nowrap}
.ranking-description{margin:.5rem 0;color:var(--muted,#657772);font-size:.9rem}.ranking-close{margin:.6rem 0 1.2rem;color:var(--muted,#657772);font-size:.8rem}
.ranking-table-wrap{width:100%;overflow-x:auto}.ranking-table{width:100%;border-collapse:collapse;text-align:left}.ranking-table th{padding:.7rem .65rem;border-bottom:2px solid var(--line,#dce4de);color:var(--muted,#657772);font-size:.75rem;font-weight:750}.ranking-table td{padding:.8rem .65rem;border-bottom:1px solid var(--line,#dce4de)}
.ranking-table th:first-child{width:105px}.ranking-table th:last-child,.ranking-table td:last-child{text-align:right;white-space:nowrap}.ranking-row-current{background:#f1f7e4}
.ranking-position{display:inline-flex;align-items:center;gap:.35rem;min-width:58px}.ranking-place-number{font-weight:800;color:var(--brand,#123e46);font-size:.95rem}.ranking-medal{flex-shrink:0;overflow:visible}.ranking-ribbon{fill:#236b75}.ranking-medal-gold .ranking-medal-edge{fill:#ba8b20}.ranking-medal-gold .ranking-medal-face{fill:#f9d96d}.ranking-medal-gold .ranking-medal-star{fill:#987006}.ranking-medal-silver .ranking-medal-edge{fill:#8896a4}.ranking-medal-silver .ranking-medal-face{fill:#e1e7ed}.ranking-medal-silver .ranking-medal-star{fill:#6e7f8e}.ranking-medal-bronze .ranking-medal-edge{fill:#956037}.ranking-medal-bronze .ranking-medal-face{fill:#d49b6d}.ranking-medal-bronze .ranking-medal-star{fill:#744325}
.ranking-person{display:flex;align-items:center;gap:.65rem;min-width:150px}.ranking-person img,.ranking-person-placeholder{display:grid;width:36px;height:36px;flex-shrink:0;place-items:center;object-fit:cover;border-radius:50%;background:#eaf2d6;color:var(--brand,#123e46);font-weight:800}.ranking-person strong{font-size:.9rem;overflow-wrap:anywhere}.ranking-person small{display:block;color:#58772d;font-size:.73rem;font-weight:700}.ranking-score{color:var(--brand,#123e46);font-size:1rem;font-variant-numeric:tabular-nums}
.ranking-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.ranking-footer>span{color:var(--muted,#657772);font-size:.8rem}.ranking-empty{padding:1.8rem 1rem;border:1px dashed var(--line,#dce4de);border-radius:12px;background:#fafcf7;color:var(--brand,#123e46)}.ranking-empty p{margin:.5rem 0 0;color:var(--muted,#657772);font-size:.85rem}
.ranking-news-list{display:grid;gap:1rem;margin-top:1rem}.ranking-news-card{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border:1px solid #e9deb2;border-radius:13px;background:#fffcf0}.ranking-news-icon{display:flex;align-items:center;justify-content:center;min-width:38px;padding-top:.3rem}.ranking-news-icon .ranking-place-number{display:none}.ranking-news-card h3{margin:.2rem 0 .4rem;font-size:1.1rem;color:var(--brand,#123e46)}.ranking-news-card p{margin:.3rem 0;color:var(--muted,#657772);line-height:1.6}.ranking-news-card .ranking-news-month{font-size:.75rem;font-weight:800;color:#8b680c}.ranking-news-card time{font-size:.75rem;color:var(--muted,#657772)}.ranking-news-empty{color:var(--muted,#657772);font-size:.9rem}
.ranking-rules{margin:1rem 0 1.5rem;padding:1rem;border-left:4px solid var(--accent,#c8e56b);background:#f4f8ea;border-radius:0 10px 10px 0;font-size:.86rem;color:var(--muted,#657772)}.ranking-rules p{margin:.35rem 0}.ranking-full-page h1{margin:.4rem 0;letter-spacing:-.04em;color:var(--brand,#123e46)}
.ranking-reward-overlay{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1.2rem;background:rgba(8,29,33,.7);backdrop-filter:blur(3px)}.ranking-reward-modal{position:relative;width:min(100%,470px);max-height:calc(100vh - 2.4rem);overflow-y:auto;padding:2.2rem;border-radius:24px;border:1px solid #efe1a7;background:#fffef8;box-shadow:0 24px 70px rgba(0,0,0,.24);text-align:center}.ranking-reward-close{position:absolute;top:.7rem;right:.8rem;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line,#dce4de);border-radius:50%;background:#fff;color:var(--brand,#123e46);font-size:1.5rem;cursor:pointer}.ranking-reward-medal .ranking-place-number{display:none}.ranking-reward-medal .ranking-medal{width:70px;height:84px;margin-bottom:.8rem}.ranking-reward-modal h2{margin:.6rem 0;color:var(--brand,#123e46);font-size:1.85rem}.ranking-reward-modal p{color:var(--muted,#657772);line-height:1.55}.ranking-reward-value{display:block;margin:1rem 0;color:#8b6508;font-size:1.8rem}.ranking-reward-note{font-size:.8rem}.ranking-reward-month{font-size:.85rem;font-weight:750}.ranking-reward-modal .button{width:100%;margin-top:.5rem}
@media(max-width:640px){.ranking-section,.ranking-news-section{padding:1rem;margin-top:1.4rem;border-radius:15px}.ranking-heading{flex-direction:column}.ranking-table th,.ranking-table td{padding:.65rem .35rem}.ranking-table th:first-child{width:76px}.ranking-position{gap:.15rem;min-width:55px}.ranking-medal{width:24px;height:29px}.ranking-person{gap:.4rem;min-width:130px}.ranking-person strong{font-size:.83rem}.ranking-table th:last-child{max-width:84px;white-space:normal}.ranking-person img,.ranking-person-placeholder{width:30px;height:30px}.ranking-footer{align-items:flex-start;flex-direction:column}.ranking-footer .button-secondary{width:100%;justify-content:center}.ranking-reward-modal{padding:1.6rem 1.1rem}.ranking-news-card{gap:.7rem;padding:.9rem}}
