/* CityBuilder v0.8 — aggregate resident behavior. Existing theme tokens inherited. */
.citizens-panel{margin-top:10px;min-width:0}
.citizens-panel [hidden]{display:none!important}
.citizens-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:11px 0}
.citizens-grid>div{padding:12px;border:1px solid var(--border,#3b5c64);border-radius:10px;background:rgba(100,145,160,.08);min-width:0}
.citizens-grid small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;opacity:.79;line-height:1.4}
.citizens-grid strong{display:block;font-size:19px;font-weight:800;margin-top:4px;overflow-wrap:anywhere}
.citizens-grid strong.negative{color:#f38a93}
.citizens-grid .cit-sub{font-size:11px;opacity:.7;display:block;margin-top:3px;line-height:1.3}
.citizens-table-scroll{overflow-x:auto;max-width:100%;border:1px solid rgba(150,185,200,.22);border-radius:9px}
.citizens-table{width:100%;border-collapse:collapse;text-align:right;font-size:12px;min-width:530px}
.citizens-table th,.citizens-table td{padding:9px 8px;border-bottom:1px solid rgba(150,185,200,.17);white-space:nowrap}
.citizens-table thead{background:rgba(130,160,185,.1);font-size:10px;text-transform:uppercase;letter-spacing:.03em}
.citizens-table th:first-child{text-align:left}
.citizens-table tbody tr:last-child>*{border-bottom:0}
.citizens-table .sat.low{color:#f4a06f}
.citizens-controls{display:flex;gap:9px;align-items:end;flex-wrap:wrap;margin:12px 0 6px}
.citizens-controls label{display:grid;gap:6px;flex:1 1 180px;font-size:12px}
.citizens-controls select{width:100%;padding:9px;background:var(--panel,#102b3b);border:1px solid rgba(150,185,200,.4);border-radius:7px;color:inherit;font-size:14px;min-height:40px}
.citizens-controls button{min-height:40px}
.citizens-note{font-size:11px;line-height:1.55;opacity:.79;margin-top:9px}
.citizens-spend{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;padding:10px 0;border-top:1px solid rgba(140,177,195,.25);font-size:12px}
.citizens-legacy{opacity:.74;padding:15px}
@media(max-width:720px){.citizens-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.citizens-grid strong{font-size:17px}}
@media(max-width:380px){.citizens-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.citizens-grid small{font-size:9px}}
