.badge-viewer-modal[hidden]{display:none !important}
/* V16.4 Engagement Layer */
.engagement-summary{margin-top:12px;padding:12px 14px;border-radius:16px;background:rgba(232,246,255,.95);border:1px solid rgba(37,95,137,.12);color:#255f89;font-weight:700}
.badge-launch-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.badge-viewer-modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(8,22,38,.62)}
.badge-viewer-shell{width:min(1120px,100%);max-height:92vh;overflow:auto;background:linear-gradient(180deg,#f7fcff 0%,#fff 100%);border-radius:28px;border:1px solid rgba(37,95,137,.16);box-shadow:0 24px 48px rgba(20,52,74,.24);padding:26px}
.badge-viewer-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}
.badge-viewer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.badge-viewer-card{background:#fff;border:1px solid rgba(37,95,137,.12);border-radius:22px;padding:20px;box-shadow:0 10px 22px rgba(25,74,120,.06)}
.badge-viewer-card.is-locked{opacity:.68}
.badge-viewer-icon{font-size:2.6rem;margin-bottom:8px}
.badge-viewer-card h3{margin:0 0 8px;color:#123c60}
.badge-viewer-card p{color:#426b8a;min-height:52px}
.badge-viewer-status{display:inline-flex;margin:8px 0 14px;padding:8px 12px;border-radius:999px;font-weight:800;background:rgba(37,95,137,.08);color:#255f89}
.badge-viewer-card.is-unlocked .badge-viewer-status{background:rgba(50,170,91,.12);color:#1f7a4b}
.badge-viewer-actions{display:flex;flex-wrap:wrap;gap:10px}
.badge-modal-open{overflow:hidden}
.completion-banner{display:none;margin-top:14px;padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,rgba(223,250,230,.98),rgba(255,255,255,.98));border:1px solid rgba(39,145,85,.28);color:#1f7a4b;font-weight:800}
.completion-banner.is-visible{display:block}
@media (max-width: 900px){.badge-viewer-grid{grid-template-columns:1fr}.badge-viewer-header{flex-direction:column}}