/* Village Gateway checks page (plan rows GW-58 to GW-60). Layout only; colours and type come from village-tokens.css. */
.vgc-period { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--s-3, 12px); margin: 0 0 var(--s-2, 8px); }
.vgc-field { display: grid; gap: var(--s-1, 4px); font: var(--text-small); font-weight: 600; }
.vgc-field input { font: var(--text-body); min-height: 36px; }
.vgc-lines { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-2, 8px); }
.vgc-lines li { background: var(--raised); border: 1px solid var(--border-strong); border-radius: var(--r-md, 8px); padding: var(--s-2, 8px) var(--s-3, 12px); }
.vgc-lines li.vgc-total { font-weight: 600; }
.vgc-page-sub { margin-top: var(--s-4, 16px); }
.vgc-limits { margin: 0; padding-left: 1.25rem; display: grid; gap: var(--s-2, 8px); }
.vgc-map-wrap { overflow-x: auto; }
.vgc-map { width: 100%; border-collapse: collapse; font: var(--text-small); }
.vgc-map th, .vgc-map td { text-align: left; vertical-align: top; padding: var(--s-2, 8px); border-bottom: 1px solid var(--border-strong); }
.vgc-map td p { margin: 0 0 var(--s-1, 4px); }
.vgc-map .vgc-map-note { color: var(--muted); }
.vgc-map ul { margin: 0; padding: 0; list-style: none; }
.vgc-map td:first-child { white-space: nowrap; }
.vgc-map td:last-child { min-width: 17rem; }
.vgc-map code { font-family: var(--font-mono); font-size: 12px; overflow-wrap: anywhere; }
@media (max-width: 560px) {
  .vgc-map thead { display: none; }
  .vgc-map tr { display: block; border-bottom: 1px solid var(--border-strong); padding: var(--s-2, 8px) 0; }
  .vgc-map td { display: block; border: 0; padding: var(--s-1, 4px) 0; }
  .vgc-map td:last-child { min-width: 0; }
}
