.budget-page{max-width:none!important;padding:34px 40px 54px!important}
.budget-page>.page-title,.budget-page>.budget-summary,.budget-page>.budget-filters,.budget-page>.budget-list-panel{max-width:1540px;margin-left:auto;margin-right:auto}
.budget-page .page-title .actions{flex:none}
.budget-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.budget-summary article{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;min-height:116px;padding:19px 22px;background:#fff;border:1px solid var(--line);border-radius:14px}
.budget-summary b{font-size:clamp(25px,2.15vw,36px);line-height:1.15;color:var(--green);overflow-wrap:anywhere}.budget-summary span{color:var(--muted);font-weight:700;line-height:1.35}
.budget-filters{grid-template-columns:.7fr 1fr 1fr .7fr 1.7fr}
.budget-list-panel{overflow:hidden}
.budget-table-wrap{overflow-x:auto}
.budget-table-head,.budget-table-row{min-width:1360px;display:grid;grid-template-columns:1.05fr 1.7fr .42fr .72fr .82fr .9fr .68fr .72fr .72fr;gap:14px;align-items:center}
.budget-table-head{padding:14px 20px;background:#f4f8f7;color:#61736f;font-weight:800;position:sticky;top:0}
.budget-table-head::after{content:"操作"}
.budget-table-row>span:last-child{display:grid;gap:7px;justify-items:start}
.budget-table-row>span:last-child button{padding:7px 10px;background:var(--pale);color:var(--green)}
.budget-completion{font-style:normal;border-radius:999px;padding:5px 8px;font-weight:800}
.budget-completion.done{background:#e7f5ef;color:#14765f}
.budget-completion.pending{background:#fff4da;color:#966414}
.budget-form-rule{padding:12px 14px;background:#f1f7f5;border-radius:9px;color:var(--muted);line-height:1.6}
.budget-table-row{padding:17px 20px;border-top:1px solid #e5edeb}
.budget-table-row:hover{background:#fbfdfc}
.budget-table-row small{display:block;margin-top:5px;color:var(--muted)}
.budget-method{display:inline-block;border-radius:999px;padding:6px 10px;font-style:normal;font-weight:800;white-space:nowrap}
.budget-method.group{background:#e7f5ef;color:#126550}.budget-method.self{background:#f3f4f4;color:#64716e}
.budget-preview{display:grid;gap:8px;max-height:420px;overflow:auto;margin:18px 0}
.budget-preview-row{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.5fr);gap:18px;align-items:start;padding:15px 16px;border:1px solid var(--line);border-radius:11px;background:#f8fbfa}
.budget-preview-row.is-invalid{border-color:#efb5ae;background:#fff7f6}
.budget-preview-main{display:grid;gap:4px}.budget-preview-main>span,.budget-preview-main>small{color:var(--muted)}
.budget-error-list{display:grid;gap:7px}
.budget-error-list>div{display:grid;grid-template-columns:minmax(125px,.45fr) minmax(0,1fr);gap:9px;padding:8px 10px;border-left:3px solid #c43d32;background:#fff;border-radius:5px}
.budget-error-list strong{color:#a52d25}.budget-error-list span{color:#572925;line-height:1.5}
.budget-preview .budget-check-ok{color:#14765f;font-weight:800}
@media(max-width:1050px){.budget-page{padding:28px 26px 46px!important}.budget-summary{grid-template-columns:1fr 1fr}.budget-filters{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.budget-page{padding:20px 16px 40px!important}.budget-summary,.budget-filters{grid-template-columns:1fr}.budget-page .page-title .actions{width:100%}.budget-page .page-title .actions button{flex:1}.budget-preview-row{grid-template-columns:1fr}.budget-error-list>div{grid-template-columns:1fr;gap:3px}}
