/* Demo-wide shared styles */
.demo-topbar{background:#2f3349;border-bottom:1px solid rgba(255,255,255,.08);padding:8px 20px;display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:9999;height:40px}
.demo-topbar-text{font-size:.78rem;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:8px}
.demo-topbar-badge{background:rgba(255,213,79,.2);color:#ffd54f;border:1px solid rgba(255,213,79,.35);padding:2px 10px;border-radius:999px;font-size:.72rem;font-weight:700}
.demo-topbar-cta{background:#696cff;color:#fff;padding:5px 14px;border-radius:6px;font-size:.78rem;font-weight:700;text-decoration:none}
.demo-topbar-cta:hover{background:#5558e3;color:#fff}
body{padding-top:40px!important}
.layout-menu{top:40px!important;overflow-y:auto!important;height:calc(100vh - 40px)!important}
.layout-navbar{top:40px!important}
.menu-inner{overflow-y:visible!important}
.demo-watermark{background:rgba(255,213,79,.08);border:1px solid rgba(255,213,79,.2);border-radius:8px;padding:6px 14px;font-size:.78rem;color:#b8860b;margin-bottom:1.25rem;display:flex;align-items:center;gap:8px}
.nimbus-thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:#6c757d;background:rgba(67,89,113,.04);border-bottom:2px solid rgba(67,89,113,.1)}
.heatmap-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.heatmap-cell{aspect-ratio:1;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#fff}
.stat-icon-card{display:flex;align-items:center;gap:.75rem}
.phase-header{cursor:pointer}
.toc-item{padding:6px 12px;border-radius:6px;margin-bottom:2px;cursor:pointer;font-size:.85rem;transition:background .15s}
.toc-item:hover{background:rgba(105,108,255,.08)}
.toc-item.active{background:rgba(105,108,255,.12);color:#696cff;font-weight:600}
.toc-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:8px;flex-shrink:0}
