:root{
  --bg:#071224;
  --card:#081424;
  --muted:#9fb0c7;
  --accent:#7c3aed;
  --glass: rgba(255,255,255,0.03);
  --radius:14px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial;
  background: radial-gradient(1200px 600px at 10% 10%, rgba(124,58,237,0.06), transparent),
              linear-gradient(180deg,#041122 0%, #071224 100%);
  color:#e6eef8;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

/* START OVERLAY */
.overlay{
  position:fixed; inset:0; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg, rgba(2,6,23,0.85), rgba(2,6,23,0.6));
  z-index:40;
}
.overlay-card{
  width:min(720px,92%);
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border-radius:18px; padding:36px; text-align:center;
  box-shadow:0 18px 60px rgba(2,6,23,0.7);
}
.overlay .accent{color:var(--accent)}
.overlay .lead{color:var(--muted); margin-top:6px; margin-bottom:18px}
.btn{
  padding:12px 22px; border-radius:12px; border:0; cursor:pointer;
  background:linear-gradient(90deg,var(--accent), #5b21b6); color:#fff; font-weight:700;
  box-shadow:0 8px 28px rgba(124,58,237,0.18);
}
.overlay-sub{color:var(--muted); margin-top:12px; font-size:13px}

/* Topbar */
.topbar{
  display:flex; align-items:center; gap:20px; padding:18px 28px; position:relative; z-index:5;
}
.brand{font-weight:800; font-size:20px; color:var(--accent)}
.tabs{display:flex; gap:10px}
.tab{
  background:transparent; border:0; color:var(--muted);
  padding:8px 12px; border-radius:10px; cursor:pointer; font-weight:700;
  transition:all .18s ease;
}
.tab.active{ color:#fff; background:rgba(124,58,237,0.12) }

/* animated background shapes */
#bg-anim{ pointer-events:none; position:fixed; inset:0; z-index:0 }
.blob{ position:absolute; filter: blur(36px); opacity:0.28; transform: translate3d(0,0,0) }
.b1{ width:420px; height:420px; background:linear-gradient(45deg,#7c3aed,#5b21b6); left:-60px; top:-80px; border-radius:50%;}
.b2{ width:300px; height:300px; background:linear-gradient(45deg,#0ea5e9,#7c3aed); right:-80px; top:30%; border-radius:48%;}
.b3{ width:260px; height:260px; background:linear-gradient(45deg,#10b981,#06b6d4); left:12%; bottom:-80px; border-radius:50%;}
@keyframes floaty { 0% { transform: translateY(0) } 50%{ transform: translateY(-18px)} 100%{transform:translateY(0)}}
.b1{ animation: floaty 9s ease-in-out infinite }
.b2{ animation: floaty 12s ease-in-out infinite; animation-delay: .6s}
.b3{ animation: floaty 14s ease-in-out infinite; animation-delay: 1s}

/* layout */
.container{ position:relative; max-width:1200px; margin:20px auto; padding:18px; display:flex; gap:20px; z-index:2}
.info-col{ width:280px; display:flex; flex-direction:column; gap:12px; align-items:stretch }
.panels{ flex:1; position:relative; height:460px; } /* fixed height for charts */

/* info cards */
.info-card{
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  padding:14px; border-radius:12px; border:1px solid rgba(255,255,255,0.03);
  min-height:80px; display:flex; flex-direction:column; justify-content:center;
  box-shadow: 0 8px 28px rgba(2,6,23,0.45);
}
.info-card h4{ margin:0; font-size:13px; color:var(--muted) }
.info-card .value{ margin-top:6px; font-weight:800; font-size:18px; color:#fff }

/* panels and contents */
.panel{
  position:absolute; inset:0; /* stack panels */
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.006));
  border-radius:12px; padding:16px; border:1px solid rgba(255,255,255,0.03);
  box-shadow: 0 12px 36px rgba(2,6,23,0.5);
  opacity:0;
  pointer-events:none;
  transition: opacity .45s ease;
}

.panel.active{
  opacity:1;
  pointer-events:auto;
}

/* header inside panel */
.panel-header{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:8px }
.big-counter{ font-size:34px; font-weight:800; padding:8px 12px; border-radius:10px; background:var(--glass); min-width:220px; text-align:center}
.panel-title{ color:var(--muted); font-weight:700; font-size:14px }

/* chart canvas */
canvas{ width:100% !important; height:360px !important; border-radius:10px; background:linear-gradient(180deg, rgba(255,255,255,0.008), transparent); padding:10px; }

/* footer */
.footer{text-align:center; color:var(--muted); padding:14px 0; font-size:13px; margin-top:18px }

/* small screens */
@media (max-width:920px){
  .container{ flex-direction:column; padding:12px}
  .info-col{ width:100%; flex-direction:row; overflow:auto; }
  .info-card{ min-width:220px; flex:0 0 auto}
}
