*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family: Arial, Helvetica, sans-serif;
}

body{
  background:#0b1220;
  color:#fff;
}

/* APP LAYOUT */
.app{
  display:flex;
}

/* SIDEBAR placeholder */
#sidebar{
  width:220px;
}

/* MAIN */
.main{
  flex:1;
  padding:20px;
}

/* HEADER */
.header{
  margin-bottom:20px;
}

.header h2{
  font-size:22px;
}

.header p{
  font-size:13px;
  opacity:0.7;
}

/* MAP */
.map-container{
  background:#111a2e;
  border-radius:12px;
  padding:15px;
  height:500px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.05);
}

#map{
  width:100%;
  height:100%;
  position:relative;
  background: radial-gradient(circle at center, #1b2a4a, #0b1220);
  border-radius:10px;
}

/* overlay */
.map-overlay{
  position:absolute;
  top:20px;
  left:20px;
  background:rgba(0,0,0,0.5);
  padding:10px 15px;
  border-radius:8px;
}

.map-overlay h3{
  font-size:14px;
}

.map-overlay p{
  font-size:12px;
  opacity:0.7;
}

/* PINS */
.pin{
  position:absolute;
  width:30px;
  height:30px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:bold;
  background:#00d4ff;
  color:#000;
  box-shadow:0 0 10px rgba(0,212,255,0.6);
  cursor:pointer;
}

.pin-1{
  top:30%;
  left:40%;
}

.pin-2{
  top:60%;
  left:65%;
  background:#ffcc00;
}

.pin-3{
  top:45%;
  left:20%;
  background:#ff4d4d;
}

/* INFO PANEL */
.info-panel{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:15px;
  margin-top:20px;
}

.card{
  background:#111a2e;
  padding:15px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,0.05);
}

.card h4{
  font-size:13px;
  opacity:0.7;
}

.card span{
  display:block;
  margin-top:8px;
  font-size:22px;
  font-weight:bold;
  color:#00d4ff;
}

/* responsive */
@media (max-width: 768px){
  .info-panel{
    grid-template-columns:1fr;
  }

  #sidebar{
    display:none;
  }
}