/* Phase 2 screens use the town's existing paper cards and soft green palette. */
.economy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:stretch; }
.economy-grid .item-card { min-height:225px; }
.economy-grid .item-art { height:75px; font-size:42px; margin-bottom:11px; }
.item-status { display:block; color:#5f806b; font-size:12px; font-weight:800; margin-bottom:11px; }
.job-card, .bank-card { background:#fffdf4; border:1px solid #e8e1cd; border-radius:20px; padding:20px; }
.job-card { display:flex; flex-direction:column; gap:9px; }
.job-card h3 { color:#315b44; margin:0; font-size:19px; }
.job-card p { margin:0; }
.job-card .job-reward { color:#9b6929; font-weight:900; font-size:13px; line-height:1.5; }
.job-card .job-requirement { color:#617d76; font-size:12px; font-weight:800; margin-top:auto; }
.job-card .buy-button { align-self:flex-start; min-width:110px; font-size:13px; }
.economy-note { background:#eaf1df; color:#476b52; border-radius:13px; padding:11px 15px; font-size:14px; }
.district-card.district-open { border-style:solid; background:#ecf4e6; }
.district-card.district-open small { color:#407957; font-weight:800; }
.town-services { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:17px; }
.town-services .district-card { min-height:90px; }
.inventory-tabs { display:flex; gap:6px; overflow-x:auto; padding-bottom:9px; margin-bottom:8px; scrollbar-width:thin; }
.inventory-tabs button { flex:none; padding:7px 11px; border:1px solid #d5e4d5; border-radius:999px; background:#f3f7ec; color:#537164; font-size:12px; font-weight:800; }
.inventory-tabs button.active { background:#416f52; border-color:#416f52; color:white; }
.inventory-copy { display:flex; flex:1; min-width:0; flex-direction:column; }
.inventory-copy strong { flex:none; }
.inventory-copy small { color:#6d8277; font-size:11px; }
.inventory-item button:disabled { opacity:.7; cursor:default; }
.home-layout { grid-template-columns:370px minmax(0,1fr); }
.home-layout > * { min-width:0; box-sizing:border-box; }
.bank-balances { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.bank-balances > div { display:flex; flex-direction:column; gap:5px; padding:17px; background:#edf3e6; border-radius:14px; }
.bank-balances span { font-size:13px; color:#5d7768; }
.bank-balances strong { font:900 22px Nunito,system-ui,sans-serif; color:#315b44; }
.bank-form { display:flex; flex-direction:column; gap:9px; margin-top:22px; }
.bank-form label { color:#365f48; font-weight:800; }
.bank-form input { max-width:330px; width:100%; padding:12px; border:2px solid #ccddcf; border-radius:11px; background:#fffdf8; font:inherit; }
.bank-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:5px; }
.bank-actions button { min-width:120px; }
.bank-note { color:#72877b; font-size:12px; margin:20px 0 0; }
@media(max-width:900px) { .home-layout { grid-template-columns:310px minmax(0,1fr); } }
@media(max-width:700px) {
 .home-layout { grid-template-columns:minmax(0,1fr); }
 .portrait-card { max-width:370px; }
 .town-services { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .economy-grid { grid-template-columns:1fr; gap:11px; }
 .economy-grid .item-card { min-height:0; }
 .economy-grid .item-art { height:63px; font-size:37px; }
 .job-card { padding:17px; }
 .bank-card { padding:14px; }
 .bank-balances { gap:6px; }
 .bank-balances > div { padding:10px; }
 .bank-balances strong { font-size:16px; }
}
@media(max-width:360px) { .bank-balances strong { font-size:14px; } .bank-balances span { font-size:11px; } }
