
/* v041 rewards polish */
.reward-badge-panel .admin-panel-head{align-items:center}
.reward-badge-panel-meta{display:grid;justify-items:end;gap:2px;text-align:right}
.reward-badge-count{display:inline-grid;place-items:center;min-width:58px;height:58px;padding:0 16px;border-radius:18px;border:1px solid rgba(107,223,246,.22);background:radial-gradient(circle at top,rgba(113,229,248,.24),rgba(29,33,39,.96));color:#effcff;font-size:1.45rem;font-weight:800;box-shadow:0 18px 30px rgba(0,0,0,.18)}
.reward-badge-panel-meta small{color:#8b95a0;text-transform:uppercase;letter-spacing:.14em;font-size:.66rem}
.reward-badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.reward-badge-card{position:relative;display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;padding:15px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.085);background:linear-gradient(160deg,rgba(30,33,39,.95),rgba(18,20,24,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 16px 32px rgba(0,0,0,.18);overflow:hidden}
.reward-badge-card:before{content:"";position:absolute;inset:auto -18% -45% auto;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(94,220,247,.16),transparent 62%);pointer-events:none}
.reward-badge-card.is-earned{border-color:rgba(107,223,246,.22);background:linear-gradient(160deg,rgba(34,42,49,.97),rgba(18,20,24,.98))}
.reward-badge-card.is-locked{opacity:.66;filter:saturate(.75)}
.reward-badge-medal{position:relative;display:grid;place-items:center;width:64px;height:64px;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(160deg,rgba(77,95,110,.28),rgba(22,25,30,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.reward-badge-medal:before{content:"";position:absolute;inset:8px;border-radius:16px;border:1px solid rgba(255,255,255,.06)}
.reward-badge-glyph{position:relative;z-index:1;font-size:1.4rem;font-weight:800;color:#e9fbff;text-shadow:0 0 18px rgba(102,222,246,.18)}
.reward-badge-copy{display:grid;gap:6px;min-width:0}
.reward-badge-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.reward-badge-title-row b{font-size:1rem;line-height:1.2;color:#f3f6f8}
.reward-badge-state{padding:5px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:#aab3bc;font-size:.68rem;font-weight:700;letter-spacing:.02em}
.reward-badge-card.is-earned .reward-badge-state{border-color:rgba(92,220,245,.16);background:rgba(92,220,245,.09);color:#7ee7ff}
.reward-badge-copy small{line-height:1.55;color:#8b95a0}
.reward-badge-card[data-badge="early_builder"] .reward-badge-medal,.reward-badge-chip[data-badge="early_builder"]{background:linear-gradient(135deg,rgba(87,109,255,.18),rgba(138,81,255,.18))}
.reward-badge-card[data-badge="first_build"] .reward-badge-medal,.reward-badge-chip[data-badge="first_build"]{background:linear-gradient(135deg,rgba(73,197,255,.18),rgba(33,118,255,.18))}
.reward-badge-card[data-badge="remixer"] .reward-badge-medal,.reward-badge-chip[data-badge="remixer"]{background:linear-gradient(135deg,rgba(81,234,198,.18),rgba(32,142,129,.18))}
.reward-badge-card[data-badge="teacher"] .reward-badge-medal,.reward-badge-chip[data-badge="teacher"]{background:linear-gradient(135deg,rgba(255,202,74,.19),rgba(214,129,0,.19))}
.reward-badge-card[data-badge="problem_solver"] .reward-badge-medal,.reward-badge-chip[data-badge="problem_solver"]{background:linear-gradient(135deg,rgba(255,116,144,.18),rgba(173,56,95,.18))}
.reward-badge-card[data-badge="contributor"] .reward-badge-medal,.reward-badge-chip[data-badge="contributor"]{background:linear-gradient(135deg,rgba(164,136,255,.18),rgba(104,68,225,.18))}
.reward-badge-card[data-badge="popular_maker"] .reward-badge-medal,.reward-badge-chip[data-badge="popular_maker"]{background:linear-gradient(135deg,rgba(255,117,135,.18),rgba(255,77,108,.18))}
.reward-badge-card[data-badge="remix_magnet"] .reward-badge-medal,.reward-badge-chip[data-badge="remix_magnet"]{background:linear-gradient(135deg,rgba(113,247,255,.18),rgba(47,167,255,.18))}
.reward-badge-card[data-badge="community_star"] .reward-badge-medal,.reward-badge-chip[data-badge="community_star"]{background:linear-gradient(135deg,rgba(253,223,86,.22),rgba(255,138,61,.18))}
.reward-badge-card[data-badge="expert_maker"] .reward-badge-medal,.reward-badge-chip[data-badge="expert_maker"]{background:linear-gradient(135deg,rgba(104,246,255,.22),rgba(94,102,255,.22))}
.reward-badge-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.reward-badge-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(92,220,245,.16);border-radius:999px;background:rgba(92,220,245,.06);color:#dce3e8;font-size:.78rem;line-height:1;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.reward-badge-chip i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(14,17,22,.4);color:#effcff;font-style:normal;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.reward-badge-chip span{font-weight:700}
.reward-badge-chip:hover{transform:translateY(-1px);border-color:rgba(107,223,246,.3)}
.reward-rule-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.reward-rule-list span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:14px 15px;border-radius:16px;border:1px solid rgba(255,255,255,.065);background:linear-gradient(160deg,rgba(29,31,37,.95),rgba(19,21,25,.97))}
.reward-rule-list b{display:inline-grid;place-items:center;min-width:54px;height:36px;padding:0 10px;border-radius:12px;background:rgba(95,224,246,.08);border:1px solid rgba(95,224,246,.14);color:#81e6fb;font-size:.82rem}
.reward-rule-list small{line-height:1.45;color:#a8b0b9}
.reward-ledger-list>div{padding:12px 6px;border-bottom:1px solid rgba(255,255,255,.055)}
.reward-community-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.reward-community-card{padding:14px 14px;border-radius:15px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(160deg,rgba(28,31,37,.95),rgba(18,20,24,.98));box-shadow:0 16px 28px rgba(0,0,0,.14)}
.reward-community-card i{font-size:.75rem;color:#89939d}
.reward-community-card span{font-weight:700;color:#edf2f6}
.reward-community-card b{font-size:.82rem}
.reward-admin-layout{align-items:start}
.reward-settings-form{display:grid;gap:16px}
.reward-settings-block{display:grid;gap:14px}
.reward-settings-copy h4{margin:0 0 6px;font-size:1rem}
.reward-settings-copy p{margin:0;color:#8f98a3;line-height:1.55}
.reward-points-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.reward-points-grid label{padding:12px 13px;border-radius:14px;background:linear-gradient(160deg,rgba(28,31,36,.94),rgba(19,21,25,.98));border:1px solid rgba(255,255,255,.07)}
.reward-points-grid label span{display:block;font-weight:700;color:#d8dee4;margin-bottom:3px}
.reward-points-grid input{margin-top:6px}
.reward-settings-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.reward-settings-meta-grid label{padding:14px 15px;border-radius:16px;border:1px solid rgba(255,255,255,.075);background:rgba(0,0,0,.08)}
.reward-admin-leaders{grid-template-columns:1fr;gap:12px}
.reward-admin-leader-card{display:grid;gap:7px;padding:14px 15px;border-radius:16px;border:1px solid rgba(255,255,255,.075);background:linear-gradient(160deg,rgba(29,31,37,.95),rgba(18,20,24,.98))}
.reward-admin-leader-card>b{margin-bottom:2px;color:#7fe5fb}
.reward-admin-leader-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.055)}
.reward-admin-leader-row:last-child{border-bottom:0;padding-bottom:0}
.reward-admin-leader-row i{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:10px;background:rgba(91,224,246,.08);border:1px solid rgba(91,224,246,.14);color:#81e8fb;font-style:normal}
.reward-admin-leader-row a{font-weight:700;text-decoration:none}
.reward-admin-leader-row strong{color:#7fe5fb}
.reward-user-admin .reward-admin-badges{gap:8px}
.reward-user-admin .reward-admin-badges button{padding:7px 10px;border-radius:999px}
.reward-user-admin .reward-admin-history span{padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.reward-user-admin .reward-admin-history span:last-child{border-bottom:0}
@media(max-width:1100px){.reward-badge-grid,.reward-community-grid{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.reward-badge-grid,.reward-rule-list,.reward-community-grid,.reward-settings-meta-grid,.reward-points-grid{grid-template-columns:1fr}.reward-badge-panel-meta{justify-items:start;text-align:left}.reward-badge-title-row{align-items:flex-start}.reward-admin-leader-row{grid-template-columns:30px 1fr auto}}
.reward-badge-card[data-badge="challenge_maker"] .reward-badge-medal,.reward-badge-chip[data-badge="challenge_maker"]{background:linear-gradient(135deg,rgba(72,219,247,.2),rgba(53,102,231,.18))}
.reward-badge-card[data-badge="challenge_winner"] .reward-badge-medal,.reward-badge-chip[data-badge="challenge_winner"]{background:linear-gradient(135deg,rgba(255,211,86,.25),rgba(255,115,63,.2));border-color:rgba(255,211,86,.22)}
.reward-badge-card[data-badge="challenge_winner"].is-earned{border-color:rgba(255,211,86,.28);box-shadow:0 18px 38px rgba(0,0,0,.2),0 0 28px rgba(255,190,73,.06)}


/* v044 badge layout fix — overrides legacy reward selectors with stronger specificity */
.rewards-page .reward-badge-showcase{margin-bottom:14px}
.rewards-page .reward-badge-panel{padding:26px}
.rewards-page .reward-badge-panel .admin-panel-head{align-items:center;margin-bottom:22px}
.rewards-page .reward-badge-panel .admin-panel-head h2{margin-bottom:6px}
.rewards-page .reward-badge-library.reward-badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rewards-page .reward-badge-library .reward-badge-card{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:center;min-width:0;min-height:126px;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:linear-gradient(155deg,rgba(30,33,39,.97),rgba(20,22,26,.99));box-shadow:inset 0 1px 0 rgba(255,255,255,.025);overflow:hidden;opacity:1;filter:none}
.rewards-page .reward-badge-library .reward-badge-card:before{content:"";position:absolute;right:-42px;bottom:-58px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(83,217,245,.12),transparent 68%);pointer-events:none}
.rewards-page .reward-badge-library .reward-badge-card.is-earned{border-color:rgba(89,221,247,.2);background:linear-gradient(155deg,rgba(34,40,47,.98),rgba(20,22,26,.99));box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 14px 28px rgba(0,0,0,.14)}
.rewards-page .reward-badge-library .reward-badge-card.is-locked{opacity:.58;filter:saturate(.55)}
.rewards-page .reward-badge-library .reward-badge-card.is-locked:hover{opacity:.72}
.rewards-page .reward-badge-library .reward-badge-card>.reward-badge-medal{position:relative;display:grid;place-items:center;width:56px;height:56px;margin:0;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:linear-gradient(145deg,rgba(72,88,102,.25),rgba(23,26,31,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.045);overflow:hidden}
.rewards-page .reward-badge-library .reward-badge-card>.reward-badge-medal:before{content:"";position:absolute;inset:7px;border:1px solid rgba(255,255,255,.055);border-radius:13px}
.rewards-page .reward-badge-library .reward-badge-card .reward-badge-glyph{position:relative;z-index:1;display:block;font-size:1.28rem;line-height:1;color:#eefcff;text-shadow:0 0 14px rgba(100,222,246,.16)}
.rewards-page .reward-badge-library .reward-badge-card>.reward-badge-copy{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;justify-items:start;gap:6px;min-width:0}
.rewards-page .reward-badge-library .reward-badge-card .reward-badge-name{display:block;margin:0;color:#f1f4f7;font-size:.94rem;line-height:1.22;font-weight:800;white-space:normal;overflow-wrap:anywhere}
.rewards-page .reward-badge-library .reward-badge-card .reward-badge-copy>small{display:block;margin:0;color:#89929c;font-size:.75rem;line-height:1.43;white-space:normal;overflow-wrap:anywhere}
.rewards-page .reward-badge-library .reward-badge-card .reward-badge-state{display:inline-flex;align-items:center;gap:6px;margin-top:2px;padding:4px 8px;border:1px solid rgba(255,255,255,.075);border-radius:999px;background:rgba(255,255,255,.025);color:#929ba5;font-size:.64rem;font-weight:750;line-height:1;letter-spacing:.015em}
.rewards-page .reward-badge-library .reward-badge-card .reward-badge-state>i{display:block;color:#7a848e;font-style:normal;font-size:.66rem}
.rewards-page .reward-badge-library .reward-badge-card.is-earned .reward-badge-state{border-color:rgba(86,220,246,.16);background:rgba(86,220,246,.07);color:#85e9fb}
.rewards-page .reward-badge-library .reward-badge-card.is-earned .reward-badge-state>i{color:#85e9fb}
.rewards-page .reward-badge-panel-meta{display:flex;align-items:center;gap:10px;text-align:left}
.rewards-page .reward-badge-panel-meta .reward-badge-count{min-width:52px;height:52px;border-radius:15px;font-size:1.25rem}
.rewards-page .reward-badge-panel-meta small{max-width:90px;line-height:1.25}
.rewards-page .reward-detail-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}
.rewards-page .reward-detail-grid>.admin-panel{height:100%}
.rewards-page .reward-detail-grid .reward-history-list{max-height:410px;overflow:auto;padding-right:6px}
.rewards-page .reward-detail-grid .reward-history-list::-webkit-scrollbar{width:6px}
.rewards-page .reward-detail-grid .reward-history-list::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(113,223,245,.16)}
/* public/account chips need stronger specificity than legacy .reward-badge-row > span */
.creator-page .reward-badge-row .reward-badge-chip,.account-shell .reward-badge-row .reward-badge-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(94,220,245,.14);border-radius:999px;background:rgba(94,220,245,.055);color:#d9e1e6;font-size:.72rem;line-height:1;box-shadow:none}
.creator-page .reward-badge-row .reward-badge-chip>i,.account-shell .reward-badge-row .reward-badge-chip>i{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:rgba(13,16,20,.38);color:#effcff;font-style:normal}
.creator-page .reward-badge-row .reward-badge-chip>span,.account-shell .reward-badge-row .reward-badge-chip>span{font-weight:750}
@media(max-width:1180px){.rewards-page .reward-badge-library.reward-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.rewards-page .reward-badge-library.reward-badge-grid,.rewards-page .reward-detail-grid{grid-template-columns:1fr}.rewards-page .reward-badge-panel .admin-panel-head{align-items:flex-start;flex-direction:column}.rewards-page .reward-badge-panel-meta{align-self:flex-start}.rewards-page .reward-detail-grid .reward-history-list{max-height:none}}
@media(max-width:520px){.rewards-page .reward-badge-panel{padding:18px}.rewards-page .reward-badge-library .reward-badge-card{grid-template-columns:50px minmax(0,1fr);min-height:112px;padding:13px;gap:11px}.rewards-page .reward-badge-library .reward-badge-card>.reward-badge-medal{width:48px;height:48px;border-radius:15px}.rewards-page .reward-badge-library .reward-badge-card .reward-badge-name{font-size:.9rem}}
/* Per-badge accents kept subtle and consistent with the portal palette. */
.rewards-page .reward-badge-library .reward-badge-card[data-badge="early_builder"]>.reward-badge-medal{background:linear-gradient(145deg,rgba(105,99,255,.25),rgba(47,38,93,.38))}
.rewards-page .reward-badge-library .reward-badge-card[data-badge="first_build"]>.reward-badge-medal{background:linear-gradient(145deg,rgba(72,199,255,.23),rgba(35,84,123,.38))}
.rewards-page .reward-badge-library .reward-badge-card[data-badge="remixer"]>.reward-badge-medal{background:linear-gradient(145deg,rgba(84,225,191,.22),rgba(30,96,83,.38))}
.rewards-page .reward-badge-library .reward-badge-card[data-badge="teacher"]>.reward-badge-medal{background:linear-gradient(145deg,rgba(255,199,72,.23),rgba(116,77,24,.38))}
.rewards-page .reward-badge-library .reward-badge-card[data-badge="problem_solver"]>.reward-badge-medal{background:linear-gradient(145deg,rgba(255,119,145,.22),rgba(110,43,66,.38))}
.rewards-page .reward-badge-library .reward-badge-card[data-badge="contributor"]>.reward-badge-medal{background:linear-gradient(145deg,rgba(161,131,255,.22),rgba(71,49,123,.38))}
.rewards-page .reward-badge-library .reward-badge-card[data-badge="popular_maker"]>.reward-badge-medal{background:linear-gradient(145deg,rgba(255,108,132,.23),rgba(116,38,59,.38))}
.rewards-page .reward-badge-library .reward-badge-card[data-badge="remix_magnet"]>.reward-badge-medal{background:linear-gradient(145deg,rgba(95,230,239,.22),rgba(28,92,102,.38))}
.rewards-page .reward-badge-library .reward-badge-card[data-badge="challenge_maker"]>.reward-badge-medal{background:linear-gradient(145deg,rgba(80,210,255,.22),rgba(36,74,129,.38))}
.rewards-page .reward-badge-library .reward-badge-card[data-badge="challenge_winner"]>.reward-badge-medal{background:linear-gradient(145deg,rgba(255,210,83,.28),rgba(119,72,22,.4))}
.rewards-page .reward-badge-library .reward-badge-card[data-badge="community_star"]>.reward-badge-medal{background:linear-gradient(145deg,rgba(255,220,90,.25),rgba(111,74,29,.39))}
.rewards-page .reward-badge-library .reward-badge-card[data-badge="expert_maker"]>.reward-badge-medal{background:linear-gradient(145deg,rgba(104,236,255,.25),rgba(61,68,150,.4))}
