/* badges + progress reports */
.badge-svg{display:inline-block;vertical-align:middle;filter:drop-shadow(0 6px 10px rgba(20,35,58,.18))}
.bdg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(170px,100%),1fr));gap:12px}
.bdg-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:16px 12px;border:1px solid var(--line2);border-radius:14px;background:linear-gradient(180deg,#fff,#fbf8f2);color:var(--text);transition:transform .15s,border-color .15s}
.bdg-card:hover{transform:translateY(-2px);border-color:var(--gold)}.bdg-card b{color:var(--ink);font:600 1rem "Playfair Display",serif;margin-top:6px}.bdg-card small{font-size:12.5px;color:var(--muted)}.bdg-card span{font-size:11.5px}
.bdg-card.k-completed{border-color:#ecd3a3;background:linear-gradient(180deg,#fffaf0,#fdf0dd)}
.bdg-mini{display:flex;flex-wrap:wrap;gap:6px}
.bdg-show{display:flex;flex-direction:column;align-items:center}.bdg-art{padding:8px;border-radius:50%;background:radial-gradient(circle,#fff7e6 0,transparent 70%)}
.bdg-share{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.flash.badge{background:linear-gradient(90deg,#fdf0dd,#fff7ea);color:#7a4b12;border:1px solid #ecd3a3;font-weight:600}.flash.badge .ico{color:#b8732a}
.rp-funnel{display:flex;flex-direction:column;gap:4px}
.rp-sec{font:600 11px "DM Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:12px 0 2px}.rp-sec:first-child{margin-top:0}
.rp-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 44px;gap:10px;align-items:center;font-size:13px}
.rp-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.rp-bar{height:10px;border-radius:6px;background:#f0ebe1;overflow:hidden}.rp-bar i{display:block;height:100%;border-radius:6px;background:var(--navy)}
.rp-bar i.mid{background:#c98a2e}.rp-bar i.lo{background:#d9705b}.rp-n{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}
.rp-stack{display:flex;height:14px;border-radius:8px;overflow:hidden;background:#f0ebe1;margin-bottom:12px}.rp-stack i{display:block;height:100%}
.rp-leg{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;color:var(--text);font-size:13.5px}.rp-leg:hover,.rp-leg.on{background:var(--goldbg)}
.rp-leg i{width:10px;height:10px;border-radius:3px;flex:none}.rp-leg span{flex:1}.rp-leg b{color:var(--ink)}
.rp-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 0;flex-wrap:wrap}.rp-head .ph-card{margin:0}.rp-head select{width:auto}
@media (max-width:700px){.rp-row{grid-template-columns:minmax(0,1fr) 80px 40px}}
/* admin student profile layout */
.sp-hero{margin-bottom:16px}.sp-acts{display:flex;gap:8px;flex-wrap:wrap}
.sp-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:start}
.sp-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-bottom:0}.sp-tabs::-webkit-scrollbar{display:none}
.sp-tabs .tabs{flex-wrap:nowrap;width:max-content;min-width:100%}.sp-tabs .tabs a{white-space:nowrap}
@media (max-width:1100px){.sp-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.sp-hero .sp-acts{width:100%}.sp-hero .sp-acts>*{flex:1 1 auto}.sp-hero .sp-acts .btn{width:100%;justify-content:center}
 .acc-row{flex-wrap:wrap}.acc-row>form,.acc-row>.chip{margin-left:52px}}
/* v2.3 YouTube videos in the student dashboard announcements */
.ann-video{margin-top:8px}.ann-video summary{cursor:pointer;display:inline-flex;gap:6px;align-items:center;font-size:13px;font-weight:600}.ann-video summary svg{width:14px;height:14px}
.ann-video[open] summary{margin-bottom:8px}.ann-video .video{border-radius:10px;overflow:hidden;margin-bottom:6px}.ann-video>a{font-size:12.5px}
.yt-status{display:flex;gap:10px;align-items:center;font-size:13px}.yt-status .dot{width:9px;height:9px;border-radius:50%;background:var(--ok)}.yt-status .dot.off{background:var(--faint)}
