
:root{
  --bg:#0b132b;
  --card:#1c2541;
  --accent:#5bc0be;
  --accent2:#f7b801;
  --text:#e8edf3;
  --ok:#2ecc71;
  --warn:#f39c12;
  --danger:#e74c3c;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu; background:var(--bg); color:var(--text);}
a{color:var(--accent)}
.container{max-width:1100px;margin:0 auto;padding:20px}
.header{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.badge{background:var(--accent);color:#04172c;padding:6px 10px;border-radius:999px;font-weight:700}
.title{font-size:clamp(20px,3vw,34px);font-weight:800}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.card{background:var(--card);border-radius:20px;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.card h3{margin:0 0 8px 0}
.controls{position:sticky;top:0;background:rgba(11,19,43,.8);backdrop-filter:blur(6px);z-index:10;display:flex;gap:8px;padding:10px;border-bottom:1px solid #263457}
button.btn{border:none;border-radius:14px;padding:12px 14px;font-weight:800;cursor:pointer;transition:transform .05s ease,opacity .2s}
button.btn:active{transform:translateY(1px)}
.btn-3d{background:linear-gradient(120deg,#00ffd5,#00bcd4);color:#032b2b}
.btn-ar{background:linear-gradient(120deg,#ffd166,#fca311);color:#2a1f00}
.btn-vr{background:linear-gradient(120deg,#a29bfe,#7b2cbf);color:#160628}
.btn-quiz{background:linear-gradient(120deg,#ff6b6b,#fa5252);color:#2b0808}
.btn-ticket{background:linear-gradient(120deg,#6ef3a5,#2ecc71);color:#062313}
.btn-registro{background:linear-gradient(120deg,#66d9ff,#1fa2ff);color:#04172c}
.btn-habito{background:linear-gradient(120deg,#f7b801,#ffd166);color:#3b2501}
.small{font-size:12px;opacity:.85}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px dashed #2f3b66;padding:8px 6px;text-align:left}
footer{opacity:.8;margin-top:30px;text-align:center}
.kpi{display:flex;gap:8px;align-items:center;font-weight:700}
.kpi .dot{width:10px;height:10px;border-radius:99px;background:var(--ok)}
.note{background:#0f1b3a;border-left:4px solid var(--accent2);padding:10px;border-radius:8px}
