.buyer-ranking-panel { --rb-bg:#f7f7f7; --rb-card:#fff; --rb-text:#273342; --rb-muted:#858b94; --rb-border:#dedede; --rb-meta:#f3efe8; --rb-meta-border:#dfd8ca; --rb-gold:#a67400; --rb-gold-bg:#f7ebcf; --rb-success:#1f7846; --rb-success-bg:#e8f3ec; box-sizing:border-box; width:100%; padding:22px; margin:18px 0; border:1px solid var(--rb-border); border-radius:20px; background:var(--rb-bg); color:var(--rb-text); box-shadow:0 3px 0 #0000000b; text-align:left; }
.buyer-ranking-panel.ranking-dark { --rb-bg:#242424; --rb-card:#2d2d2d; --rb-text:#f1f3f5; --rb-muted:#b0b4bc; --rb-border:#484848; --rb-meta:#302d26; --rb-meta-border:#514a38; --rb-gold:#edc76b; --rb-gold-bg:#554322; --rb-success:#9ee2b7; --rb-success-bg:#243e2e; }
.buyer-ranking-panel * { box-sizing:border-box; }
.buyer-ranking-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
.buyer-ranking-title { display:flex; align-items:center; gap:13px; min-width:0; }
.buyer-ranking-trophy { display:flex; align-items:center; justify-content:center; width:54px; height:54px; flex-shrink:0; border:1px solid #d7ac46; border-radius:15px; color:var(--rb-gold); background:var(--rb-gold-bg); font-size:1.6em; }
.buyer-ranking-kicker { display:block; color:var(--rb-gold); font-size:.67em; letter-spacing:.18em; font-weight:600; }
.buyer-ranking-panel .buyer-ranking-title h4 { margin:3px 0 0; padding:0; color:var(--rb-text); font-size:1.35em; line-height:1.2; font-weight:600; }
.buyer-ranking-badge { font-size:.61em; font-weight:600; letter-spacing:.04em; padding:7px 12px; border-radius:22px; color:var(--rb-success); background:var(--rb-success-bg); border:1px solid #8acda6; white-space:nowrap; }
.buyer-ranking-badge.status-scheduled { color:var(--rb-gold); border-color:#d7ac46; background:var(--rb-gold-bg); }
.buyer-ranking-period { background:var(--rb-meta); border:1px solid var(--rb-meta-border); border-radius:13px; padding:13px 16px; margin-bottom:16px; }
.buyer-ranking-period-line { display:flex; gap:8px 18px; flex-wrap:wrap; font-size:.71em; line-height:1.6; color:var(--rb-muted); }
.buyer-ranking-period-line i { margin-right:5px; }
.buyer-ranking-panel .buyer-ranking-period p { margin:6px 0 0; padding:0; color:var(--rb-text); font-size:.73em; font-weight:500; line-height:1.5; }
.buyer-ranking-panel .buyer-ranking-period .buyer-ranking-phrase { color:var(--rb-text); font-size:.88em; font-weight:600; line-height:1.55; margin-top:10px; }
.buyer-ranking-panel .buyer-ranking-period .buyer-ranking-countdown { display:flex; align-items:center; gap:7px; margin-top:10px; color:var(--rb-gold); font-size:.76em; font-weight:600; letter-spacing:.02em; font-variant-numeric:tabular-nums; }
.buyer-ranking-panel .buyer-ranking-period .buyer-ranking-countdown.is-ended { color:var(--rb-success); }
.buyer-ranking-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.buyer-ranking-row { display:grid; grid-template-columns:36px minmax(80px,1.3fr) minmax(48px,.6fr) minmax(45px,.5fr) minmax(92px,.95fr); align-items:center; gap:12px; padding:14px 13px; border:1px solid var(--rb-border); border-radius:15px; background:var(--rb-card); }
.buyer-ranking-position { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:var(--rb-gold-bg); color:var(--rb-gold); font-size:.8em; font-weight:600; }
.buyer-ranking-name { min-width:0; display:flex; flex-direction:column; gap:4px; }
.buyer-ranking-name > strong { color:var(--rb-text); font-size:.8em; font-weight:600; overflow-wrap:anywhere; }
.buyer-ranking-contact { color:var(--rb-success); font-size:.67em; text-decoration:none; }
.buyer-ranking-metric { text-align:center; min-width:0; font-variant-numeric:tabular-nums; }
.buyer-ranking-metric strong { display:block; color:var(--rb-text); font-size:.83em; font-weight:600; line-height:1.4; white-space:nowrap; }
.buyer-ranking-metric small { display:block; color:var(--rb-muted); font-size:.64em; font-weight:400; line-height:1.5; }
.buyer-ranking-metric.rank-total { text-align:right; }
.buyer-ranking-empty { margin:0; padding:24px 12px; text-align:center; color:var(--rb-muted); font-size:.85em; }
@media(max-width:600px) {
 .buyer-ranking-panel { padding:16px 13px; border-radius:16px; }
 .buyer-ranking-title { gap:11px; }
 .buyer-ranking-panel .buyer-ranking-title h4 { font-size:1.23em; }
 .buyer-ranking-trophy { width:46px; height:46px; border-radius:12px; font-size:1.35em; }
 .buyer-ranking-heading { gap:12px; }
 .buyer-ranking-badge { font-size:.59em; }
 .buyer-ranking-period { padding:12px; }
 .buyer-ranking-row { grid-template-columns:36px minmax(0,1fr) minmax(0,1fr); gap:9px 12px; padding:14px; }
 .buyer-ranking-position { grid-row:1 / 3; }
 .buyer-ranking-name { grid-column:2 / -1; }
 .buyer-ranking-metric { text-align:left; }
 .buyer-ranking-metric.rank-quotas { grid-column:2; }
 .buyer-ranking-metric.rank-orders { grid-column:3; }
 .buyer-ranking-metric.rank-total { grid-column:2 / -1; text-align:left; }
}
