/* งบประมาณ กทม. 2570 — พอร์ตจาก /budget70/public/assets/style.css ; จำกัดขอบเขตใน #b70-root และคลาสขึ้นต้น b70- (ไม่ชนกับธีม public-v2) */
#b70-root{--g:#0b6b3a;--g2:#e8f3ec;--gold:#c8a23a;--ink:#1d2a22;--mut:#6b7a70;--line:#dde5df;--bg:#f6f8f6;color:var(--ink);font-size:15px}
#b70-root *{box-sizing:border-box}
#b70-root .b70-head{background:linear-gradient(120deg,var(--g),#0f8a4c);color:#fff;padding:16px;border-bottom:4px solid var(--gold);border-radius:12px 12px 0 0;margin-bottom:12px}
#b70-root .b70-head h2{margin:0;font-size:19px;color:#fff}
#b70-root .b70-head p{margin:4px 0 0;font-size:12.5px;opacity:.9}
#b70-root .b70-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
#b70-root .b70-seg{display:inline-flex;border:1px solid var(--g);border-radius:8px;overflow:hidden;flex-wrap:wrap}
#b70-root .b70-seg button{border:0;background:#fff;color:var(--g);padding:6px 11px;font:inherit;font-size:13px;cursor:pointer}
#b70-root .b70-seg button.b70-on{background:var(--g);color:#fff}
#b70-root input,#b70-root select{font:inherit;font-size:13px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;max-width:100%;color:var(--ink)}
#b70-root .b70-fl{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px;margin-bottom:8px}
#b70-root .b70-fl select{width:100%}
#b70-root .b70-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:10px}
#b70-root .b70-k{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;padding:8px 11px}
#b70-root .b70-k small{color:var(--mut);font-size:12px}
#b70-root .b70-k b{display:block;font-size:18px;color:var(--g);margin-top:2px}
#b70-root .b70-k i{font-style:normal;font-size:11.5px;color:var(--mut)}
#b70-root .b70-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:12px}
#b70-root .b70-card h2,#b70-root .b70-card h3{font-size:15px;margin:0 0 8px;color:var(--g)}
#b70-root .b70-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
#b70-root .b70-chip{border:1px solid var(--line);background:#fff;border-radius:99px;padding:3px 10px;font-size:12.5px;display:flex;align-items:center;gap:5px}
#b70-root .b70-chip.b70-f{background:var(--g2);border-color:var(--g);cursor:pointer}
#b70-root .b70-dot{width:10px;height:10px;border-radius:3px;display:inline-block}
#b70-root .b70-row{display:grid;grid-template-columns:minmax(110px,220px) 1fr 90px;gap:8px;align-items:center;padding:5px 4px;border-bottom:1px solid #eef2ef;cursor:pointer;font-size:13px;margin:0}
#b70-root .b70-row:hover,#b70-root tr.b70-cl:hover{background:var(--g2)}
#b70-root .b70-row .b70-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#b70-root .b70-row .b70-v{text-align:right;font-variant-numeric:tabular-nums}
#b70-root .b70-stk{display:flex;height:16px;border-radius:4px;overflow:hidden;background:#eef2ef}
#b70-root .b70-stk span{display:block;height:100%}
.b70-tip{position:fixed;background:#1d2a22;color:#fff;padding:5px 8px;border-radius:6px;font-size:12px;pointer-events:none;display:none;z-index:9999;max-width:260px}
#b70-root table{width:100%;border-collapse:collapse;font-size:13px;margin:0}
#b70-root th,#b70-root td{padding:5px 6px;border-bottom:1px solid #eef2ef;text-align:left;vertical-align:top}
#b70-root th{color:var(--mut);font-weight:600;position:sticky;top:0;background:#fff;z-index:1}
#b70-root td.b70-r,#b70-root th.b70-r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#b70-root tr.b70-cl{cursor:pointer}
#b70-root tr.b70-t1 td{font-weight:700;background:#f2f7f4}
#b70-root tr.b70-t2 td:first-child{padding-left:22px}
#b70-root .b70-scroll{overflow:auto;max-height:560px}
#b70-root .b70-code{font-family:monospace;font-size:12px;color:var(--mut);white-space:nowrap}
#b70-root .b70-sub{font-size:11.5px;color:var(--mut)}
#b70-root .b70-note{font-size:12px;color:var(--mut);margin-top:6px}
#b70-root .b70-more{display:block;margin:8px auto 0;border:1px solid var(--g);background:#fff;color:var(--g);border-radius:8px;padding:6px 16px;font:inherit;cursor:pointer}
#b70-root mark{background:#fbe8a6;padding:0}
#b70-root .b70-btn{border:1px solid var(--g);background:#fff;color:var(--g);border-radius:8px;padding:5px 10px;font:inherit;font-size:13px;cursor:pointer}
#b70-root .b70-err{color:#b3261e;padding:8px}
#b70-root .b70-loading{opacity:.5}
@media (max-width:600px){#b70-root .b70-row{grid-template-columns:minmax(90px,140px) 1fr 70px}}
