:root {
  --r506-gold: #f3d273;
  --r506-cyan: #6ddfff;
  --r506-green: #79e8a4;
  --r506-panel: rgba(2, 10, 15, .96);
}

.r506-colony-body { padding: .8rem; }
.r506-colony-controls {
  display: grid;
  grid-template-columns: minmax(220px, 1.1fr) minmax(180px, .7fr) auto;
  gap: .5rem;
  align-items: end;
  margin-bottom: .65rem;
}
.r506-colony-controls label { display: grid; gap: .2rem; color: #9db5be; font-size: .68rem; }
.r506-colony-controls select,
.r506-colony-controls input {
  min-height: 2.35rem;
  border: 1px solid rgba(109, 223, 255, .3);
  border-radius: .25rem;
  color: #edf8fa;
  background: #020a0f;
}
.r506-carrier-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .4rem;
  margin: .6rem 0;
}
.r506-carrier-grid span {
  display: grid;
  gap: .15rem;
  padding: .5rem;
  border: 1px solid rgba(109, 223, 255, .24);
  background: var(--r506-panel);
}
.r506-carrier-grid b { color: var(--r506-gold); }
.r506-carrier-grid small { color: #91a9b3; }
.r506-site-evidence {
  margin: .55rem 0;
  padding: .65rem;
  border-left: 3px solid var(--r506-cyan);
  background: rgba(109, 223, 255, .07);
  color: #c6d9df;
}

.r506-stage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
}
.r506-stage-card {
  min-width: 0;
  padding: .65rem;
  border: 1px solid rgba(109, 223, 255, .25);
  background: linear-gradient(150deg, rgba(5, 19, 26, .98), rgba(1, 7, 10, .98));
}
.r506-stage-card header { display: grid; grid-template-columns: auto 1fr; gap: .5rem; align-items: start; }
.r506-stage-number {
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border: 1px solid var(--r506-gold);
  border-radius: 50%;
  color: var(--r506-gold);
  font-weight: 800;
}
.r506-stage-card h3 { margin: 0; color: var(--r506-gold); font-size: .86rem; }
.r506-stage-card p { margin: .25rem 0; color: #b7cbd3; font-size: .68rem; }
.r506-share {
  display: grid;
  grid-template-columns: var(--r506-import, 100%) 1fr;
  height: .55rem;
  margin: .45rem 0;
  overflow: hidden;
  background: rgba(255,255,255,.05);
}
.r506-share i:first-child { background: var(--r506-gold); }
.r506-share i:last-child { background: var(--r506-green); }
.r506-share-legend { display: flex; justify-content: space-between; gap: .5rem; color: #98afb8; font-size: .62rem; }
.r506-stage-card dl { display: grid; grid-template-columns: 5rem 1fr; gap: .28rem .45rem; margin: .5rem 0 0; font-size: .65rem; }
.r506-stage-card dt { color: #7fa2af; }
.r506-stage-card dd { margin: 0; color: #d2e0e5; }
.r506-stage-card .r506-gate { margin-top: .5rem; padding-top: .45rem; border-top: 1px solid rgba(109,223,255,.16); color: var(--r506-cyan); }

.r506-material-ledger { margin-top: .7rem; overflow: auto; }
.r506-material-ledger table { min-width: 1100px; width: 100%; border-collapse: collapse; font-size: .67rem; }
.r506-material-ledger th,
.r506-material-ledger td { padding: .43rem; border: 1px solid rgba(109,223,255,.18); text-align: left; vertical-align: top; }
.r506-material-ledger th { color: var(--r506-gold); background: rgba(243,210,115,.07); }
.r506-source-links { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .65rem; }
.r506-source-links a { color: var(--r506-cyan); border: 1px solid rgba(109,223,255,.22); padding: .35rem .45rem; text-decoration: none; font-size: .65rem; }

@media (max-width: 1100px) {
  .r506-carrier-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .r506-stage-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .r506-colony-controls,
  .r506-carrier-grid { grid-template-columns: 1fr; }
}
