.gm-screen-tab { border-color: rgba(224, 178, 74, .65); color: #e7c873; }
body[data-game-screen="gm"] #battleScreen { display: none !important; }
body[data-game-screen="gm"] #sandboxScreen { grid-template-columns: 1fr; }
body[data-game-screen="gm"] #sandboxScreen .screen-only:not(.screen-gm) { display: none; }
.gm-screen-tab .screen-tab-mark { font-size: .72rem; font-weight: 900; letter-spacing: .04em; }
.gm-panel { align-self: start; }
.gm-shell { display: grid; gap: 14px; }
.gm-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.gm-heading h2, .gm-card h3 { margin: 0; }
.gm-heading p, .gm-muted { color: #aeb7af; margin: 5px 0 0; }
.gm-security-note { border: 1px solid rgba(224, 178, 74, .35); background: rgba(224, 178, 74, .07); border-radius: 12px; padding: 12px; }
.gm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.gm-card { border: 1px solid rgba(185, 197, 186, .18); background: rgba(7, 11, 8, .48); border-radius: 13px; padding: 14px; display: grid; gap: 10px; }
.gm-card label { display: grid; gap: 6px; color: #cbd3cc; font-size: .9rem; }
.gm-card input, .gm-card select, .gm-card textarea {
  width: 100%; box-sizing: border-box; border: 1px solid rgba(185, 197, 186, .28);
  border-radius: 9px; background: #111612; color: #eef2ee; padding: 11px; font: inherit;
}
.gm-card textarea { min-height: 68px; resize: vertical; }
.gm-card button { min-height: 44px; }
.gm-primary { border-color: #52b879 !important; }
.gm-danger { border-color: #b16666 !important; }
.gm-target-summary { display: flex; flex-wrap: wrap; gap: 7px; }
.gm-target-summary span { border: 1px solid rgba(185, 197, 186, .18); border-radius: 999px; padding: 5px 9px; color: #cbd3cc; }
.gm-receipts { display: grid; gap: 8px; }
.gm-receipt { border-left: 3px solid rgba(224, 178, 74, .7); background: rgba(255,255,255,.025); padding: 9px 11px; }
.gm-receipt strong { display: block; }
.gm-status { min-height: 22px; color: #74d89a; }
.gm-status.error { color: #f08c8c; }
.gm-lock-row { display: flex; gap: 8px; flex-wrap: wrap; }
@media (max-width: 760px) {
  .gm-grid { grid-template-columns: 1fr; }
  .gm-heading { flex-direction: column; }
  .gm-heading button { width: 100%; }
  .gm-card { padding: 12px; }
}
