.city-budget{margin:0 0 45px}.city-budget-intro,.city-budget-panel,.city-budget-result,.city-budget-method{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;margin:0 0 20px}.city-budget-intro h2,.city-budget-result h2{margin-top:0}.city-budget-intro{background:#e9f7f6}.city-budget-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.city-budget-panel{min-width:0}.city-budget-panel legend{padding:0 8px;font-weight:900;color:var(--navy)}.city-budget label{display:block;font-size:13px;font-weight:750;color:var(--navy)}.city-budget input,.city-budget select{display:block;width:100%;font:inherit;color:var(--ink);background:#fff;padding:12px;border:1px solid var(--line);border-radius:9px;margin-top:6px;min-width:0}.city-budget [aria-invalid=true]{border:2px solid #a42e26}.city-budget-help,.city-budget details{font-size:13px}.city-cost-field{padding:14px 0;border-top:1px solid var(--line)}.city-cost-field details{margin-top:8px}.city-cost-field details label{margin-top:10px}.city-budget summary{cursor:pointer;color:var(--blue);font-weight:750}.city-budget-result{background:var(--cream);border-left:5px solid var(--sun)}.city-budget-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.city-budget-metrics div{padding:14px;background:#fff;border-radius:10px;font-size:13px;overflow-wrap:anywhere}.city-budget-metrics strong{display:block;font-size:20px;color:var(--navy)}.city-budget-actions{display:flex;gap:10px;flex-wrap:wrap}.city-budget-actions button{font:inherit;font-weight:800;background:var(--navy);color:#fff;border:0;border-radius:10px;padding:12px 16px;cursor:pointer}.city-budget-actions button:last-child{background:#e2ecee;color:var(--navy)}#city-storage-status,#city-evidence-status{font-size:13px;color:var(--muted)}.city-budget a{text-decoration:underline;color:var(--blue)}@media(max-width:720px){.city-budget-panels{grid-template-columns:1fr}.city-budget-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.city-budget-panel{padding:16px}.city-budget label{font-size:14px}}@media print{header,.top,.ad,footer,.city-budget-actions,#city-storage-status{display:none!important}.city-budget details{display:block}.city-budget-panel{break-inside:avoid}.city-budget-metrics{grid-template-columns:repeat(3,1fr)}.city-budget{color:#000}.city-budget input,.city-budget select{border:1px solid #999}}
