body { font-family: system-ui, Arial, sans-serif; margin: 0; padding: 0; background: #0b1020; color: #e6e8ef; }
.container { max-width: 95%; margin: 2rem auto; padding: 1rem; }
.card { background: #121a2e; border: 1px solid #1d2747; border-radius: 12px; padding: 1rem; }
input, textarea, button { font: inherit; }
input, textarea { width: 100%; padding: .6rem .7rem; border-radius: 10px; border: 1px solid #243157; background:#0e1630; color:#e6e8ef; }
button { padding: .6rem .9rem; border: 1px solid #243157; background:#16224a; color:#e6e8ef; border-radius:10px; cursor:pointer; }
button.primary { background:#3b82f6; border-color:#3b82f6; }
.row { display:grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.stack { display:grid; gap:.7rem; }
.hr { border-top: 1px solid #243157; margin: 1rem 0; }
.log { background:#0a0f1f; border:1px solid #1d2747; border-radius:10px; padding:.6rem; height:320px; overflow:auto; font-family: ui-monospace, Menlo, monospace; }
.item { border-bottom:1px dashed #1d2747; padding:.35rem .2rem; }
.meta { color:#9aa3b2; font-size:.85rem; }
.badge { font-size:.75rem; border:1px solid #3b82f6; padding:.05rem .35rem; border-radius:999px; }
/* Simulator marker + label */
.map-resource-icon { width:50px; height:50px; transform-origin: 50% 50%; }
.leaflet-tooltip.resource-label {
  background:#121a2e; border:1px solid #243157; color:#e6e8ef;
  padding:2px 6px; border-radius:6px; box-shadow:none;
  font-size:.85rem;
}
