/* Higher Up Team Meters — clean progress bars + store chart modal */
.hup-tm{max-width:1100px;margin:0 auto;padding:10px 0;font-family:inherit;}
.hup-tm-header{display:flex;justify-content:center;margin:10px 0 14px;}
.hup-tm-header-inner{background:rgba(255,255,255,.96);border:1px solid rgba(0,0,0,.06);border-radius:18px;padding:14px 18px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.12);}
.hup-tm-title{margin:0;font-size:30px;line-height:1.1;color:#0b0f0c !important;font-weight:900;letter-spacing:.2px;text-shadow:none !important;}
.hup-tm-sub{color:#335c2c;font-size:13px;margin-top:6px;font-weight:800;}
.hup-tm-muted{color:#6b7280;font-size:12px;margin-top:8px;}

.hup-tm-leaderboard{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:12px 14px;box-shadow:0 10px 30px rgba(0,0,0,.08);margin:12px 0 14px;}
.hup-tm-lb-title{font-weight:900;color:#0b0f0c;margin-bottom:8px;}
.hup-tm-lb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.hup-tm-lb-row{display:grid;grid-template-columns:28px 1fr 1.4fr auto;gap:10px;align-items:center;}
.hup-tm-lb-rank{font-weight:900;color:#335c2c;}
.hup-tm-lb-name{font-weight:900;color:#0b0f0c;}
.hup-tm-lb-bar{height:12px;border-radius:999px;background:#e5e7eb;overflow:hidden;}
.hup-tm-lb-fill{height:100%;background:linear-gradient(90deg,#6bc400,#c8ff6b);}
.hup-tm-lb-val{font-weight:900;color:#0b0f0c;font-size:12px;}

.hup-tm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;}
.hup-tm-card{background:#0b0f0c;border:1px solid rgba(107,196,0,.35);border-radius:20px;padding:14px;box-shadow:0 12px 34px rgba(0,0,0,.22);position:relative;overflow:hidden;}
.hup-tm-card:before{content:"";position:absolute;inset:-2px;border-radius:22px;background:radial-gradient(circle at 20% 10%, rgba(200,255,107,.10), transparent 45%);pointer-events:none;}
.hup-tm-team{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:0;color:#e5e7eb;text-align:left;padding:0;cursor:pointer;}
.hup-tm-team-name{font-size:18px;font-weight:900;color:#c8ff6b;text-shadow:0 2px 0 rgba(0,0,0,.35);}
.hup-tm-team-meta{font-size:13px;color:#cbd5e1;margin-top:4px;}
.hup-tm-chevron{color:#c8ff6b;font-size:18px;transition:transform .15s ease;}
.hup-tm-card.is-open .hup-tm-chevron{transform:rotate(180deg);}

.hup-tm-barwrap{margin-top:12px;}
.hup-tm-bar{height:18px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);overflow:hidden;box-shadow:inset 0 0 0 2px rgba(0,0,0,.25);}
.hup-tm-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#6bc400,#c8ff6b);box-shadow:0 0 18px rgba(107,196,0,.45);}
.hup-tm-bar-label{margin-top:8px;color:#eaffc9;font-weight:900;letter-spacing:.2px;}
.hup-tm-milestone{margin-top:10px;padding:10px 12px;border-radius:14px;background:rgba(200,255,107,.12);border:1px solid rgba(200,255,107,.22);color:#eaffc9;font-weight:800;}

.hup-tm-members{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.10);}
.hup-tm-members-title{color:#e5e7eb;font-weight:900;font-size:12px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.10em;}
.hup-tm-members-list{margin:0;padding-left:18px;color:#d1d5db;font-size:14px;line-height:1.55;}
.hup-tm-footnote{color:#94a3b8;font-size:12px;margin-top:10px;text-align:center;}

/* Modal */
.hup-tm-modal{position:fixed;inset:0;z-index:99999;}
.hup-tm-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);}
.hup-tm-modal-card{position:relative;max-width:860px;margin:6vh auto;background:#fff;border-radius:18px;padding:14px 14px 16px;box-shadow:0 30px 80px rgba(0,0,0,.35);}
.hup-tm-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.hup-tm-modal-title{font-weight:900;font-size:18px;color:#0b0f0c;}
.hup-tm-modal-sub{font-size:12px;color:#6b7280;margin-top:2px;}
.hup-tm-close{border:0;background:#f3f4f6;border-radius:12px;padding:6px 10px;cursor:pointer;font-weight:900;}
.hup-tm-modal-controls{display:flex;gap:10px;align-items:end;margin-top:10px;flex-wrap:wrap;}
.hup-tm-modal-controls label{font-size:12px;font-weight:800;color:#0b0f0c;display:flex;flex-direction:column;gap:6px;}
.hup-tm-modal-controls input{border:1px solid #d1d5db;border-radius:10px;padding:8px 10px;}
.hup-tm-btn{background:#6bc400;border:1px solid #6bc400;color:#0b0f0c;font-weight:900;border-radius:10px;padding:9px 12px;cursor:pointer;}
.hup-tm-chart{margin-top:12px;border:1px solid #e5e7eb;border-radius:14px;padding:12px;}
.hup-tm-vbars{display:flex;gap:12px;align-items:flex-end;min-height:220px;padding:12px 6px;border-radius:12px;background:linear-gradient(180deg,#ffffff,#f8fafc);}
.hup-tm-vbar{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;}
.hup-tm-vbar-col{width:100%;max-width:54px;border-radius:12px;background:linear-gradient(180deg,#c8ff6b,#6bc400);box-shadow:0 10px 20px rgba(107,196,0,.25);}
.hup-tm-vbar-val{font-weight:900;color:#0b0f0c;font-size:12px;}
.hup-tm-vbar-name{font-size:11px;color:#334155;text-align:center;font-weight:800;max-width:70px;}


/* Chart section */
.hup-tm-chartwrap{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:12px 14px;box-shadow:0 10px 30px rgba(0,0,0,.08);margin:14px 0;}
.hup-tm-charthead{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;flex-wrap:wrap;}
.hup-tm-charttitle{font-weight:900;color:#0b0f0c;font-size:16px;}
.hup-tm-chartcontrols{display:flex;gap:10px;align-items:end;flex-wrap:wrap;}
.hup-tm-chartcontrols label{font-size:12px;font-weight:900;color:#0b0f0c;display:flex;flex-direction:column;gap:6px;}
.hup-tm-chartcontrols input{border:1px solid #d1d5db;border-radius:10px;padding:8px 10px;}
.hup-tm-btn{background:#6bc400;border:1px solid #6bc400;color:#0b0f0c;font-weight:900;border-radius:10px;padding:9px 12px;cursor:pointer;}
.hup-tm-legend{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:10px 0 8px;}
.hup-tm-legend-item{display:flex;gap:8px;align-items:center;font-weight:900;color:#0b0f0c;font-size:12px;}
.hup-tm-swatch{width:18px;height:10px;border-radius:999px;display:inline-block;border:1px solid rgba(0,0,0,.12);}

.hup-tm-storechart{border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:linear-gradient(180deg,#ffffff,#f8fafc);overflow:auto;}
.hup-tm-storegrid{display:flex;gap:16px;align-items:flex-end;min-height:260px;}
.hup-tm-store{min-width:86px;display:flex;flex-direction:column;align-items:center;gap:8px;}
.hup-tm-store-bars{display:flex;gap:6px;align-items:flex-end;}
.hup-tm-gbar{display:flex;flex-direction:column;align-items:center;gap:6px;}
.hup-tm-gbar-col{width:18px;border-radius:10px;box-shadow:0 10px 18px rgba(0,0,0,.12);}
.hup-tm-gbar-val{font-weight:900;color:#0b0f0c;font-size:11px;}
.hup-tm-store-name{font-size:11px;color:#334155;text-align:center;font-weight:900;max-width:90px;}
