:root{--bg:#f5f6f7;--card:#fff;--ink:#252a2f;--muted:#7f868c;--line:#e8eaec;--orange:#e8782b;--orange-dark:#cb5d17;--orange-soft:#fff1e7;--red:#d65752;--green:#239475;--shadow:0 8px 28px rgba(53,52,48,.07)}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:'Noto Sans SC',system-ui,sans-serif;color:var(--ink);font-size:14px}.app-shell{min-height:100vh}.topbar{height:68px;background:#fff;border-bottom:1px solid #e9ebec;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100% - 1280px)/2));position:sticky;top:0;z-index:4}.brand{color:var(--orange);font-size:21px;font-weight:800;display:flex;align-items:center;gap:10px;text-decoration:none}.brand-mark{font-size:33px;line-height:1;font-family:serif;transform:translateY(-2px)}.topbar-actions{display:flex;gap:10px;align-items:center}.offline-pill{color:#8d7659;background:#fff6e5;border:1px solid #fae9c8;border-radius:22px;padding:9px 14px;font-size:13px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#d59b47;margin-right:7px}.ghost-btn,.secondary-btn{border:1px solid #e4e5e7;background:#fff;border-radius:12px;padding:10px 15px;color:#4f555a;font:inherit;cursor:pointer}.ghost-btn:hover,.secondary-btn:hover{border-color:#f0b589;color:var(--orange)}.page-wrap{max-width:1280px;margin:0 auto;padding:34px 28px 70px}.welcome-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:30px}.eyebrow{color:var(--orange);letter-spacing:.12em;font-size:11px;font-weight:800;margin:0 0 7px}.welcome-row h1{font-size:31px;margin:0 0 6px;letter-spacing:-.03em}.muted{color:var(--muted);margin:0;line-height:1.6}.primary-btn{background:var(--orange);color:#fff;border:none;border-radius:12px;padding:12px 19px;font:600 14px inherit;cursor:pointer;box-shadow:0 5px 12px rgba(232,120,43,.18)}.primary-btn:hover{background:var(--orange-dark);transform:translateY(-1px)}.section-block{margin-top:26px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-heading>div:first-child{display:flex;align-items:center;gap:9px}.section-heading h2{font-size:18px;margin:0;font-weight:800}.section-icon{color:var(--orange);font-size:21px;font-weight:700}.link-btn{border:0;background:none;color:var(--orange-dark);font:600 13px inherit;cursor:pointer}.link-btn span{font-size:17px}.task-list{display:grid;gap:10px}.task{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;border:1px solid #eceeef;border-left:5px solid var(--orange);border-radius:14px;box-shadow:var(--shadow)}.task.overdue{background:#fff0f0;border-left-color:var(--red)}.task.upcoming{border-left-color:#d69b31}.task-icon{width:39px;height:39px;border-radius:12px;background:var(--orange-soft);display:grid;place-items:center;color:var(--orange);font-size:18px}.task.overdue .task-icon{background:#ffe1e1;color:var(--red)}.task-copy{flex:1}.task-copy strong{display:block;font-size:15px;margin-bottom:4px}.task-copy small{color:var(--muted)}.task-copy small b{color:var(--red);font-weight:700}.task-status{padding:6px 10px;border-radius:15px;font-size:12px;font-weight:700;background:#fff1d8;color:#b97a16}.task.overdue .task-status{background:#f5d6d6;color:#c74d48}.task-done{border:0;background:var(--orange);color:#fff;border-radius:9px;padding:9px 15px;font:600 13px inherit;cursor:pointer}.task-done:hover{background:var(--orange-dark)}.task.is-done{opacity:.56}.task.is-done .task-done{background:#e7ecea;color:#5d746c}.module-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:35px 0 45px}.module-tabs button{background:#fff;border:1px solid #e8eaec;border-radius:15px;min-height:92px;color:#71777c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.025);font:inherit}.module-tabs button>span{font-size:23px}.module-tabs button strong{font-size:15px}.module-tabs button small{font-size:11px;color:#a2a7aa}.module-tabs button.active{background:var(--orange);color:#fff;border-color:var(--orange);box-shadow:0 7px 18px rgba(232,120,43,.25)}.module-tabs button.active small{color:#ffe7d5}.card{background:var(--card);border:1px solid #ebecee;border-radius:17px;box-shadow:var(--shadow)}.budget-hero{padding:25px 28px;display:flex;align-items:center;gap:24px}.donut{width:127px;height:127px;border-radius:50%;background:conic-gradient(var(--orange) 0 38%,#eef0f1 38% 100%);display:grid;place-items:center;flex:none}.donut-inner{background:#fff;width:94px;height:94px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-inner strong{font-size:25px}.donut-inner span{font-size:11px;color:var(--muted);margin-top:3px}.budget-copy{flex:1}.mini-label{color:var(--muted);font-size:13px;margin:0 0 3px}.budget-copy h3{font-size:24px;margin:0 0 8px}.budget-copy h3 span{font-size:28px}.budget-copy p:last-child{margin:0;color:var(--muted)}.danger{color:var(--red)}.success{color:var(--green)}.budget-copy i{font-style:normal;color:#c9cacc;margin:0 7px}.budget-meta{width:235px;border-left:1px solid var(--line);padding-left:27px;display:flex;flex-direction:column;gap:5px}.budget-meta span,.budget-meta small{color:var(--muted);font-size:12px}.budget-meta strong{color:var(--green);font-size:17px}.health-bar{height:6px;border-radius:8px;background:#edf2ef;margin:5px 0 3px;overflow:hidden}.health-bar i{display:block;width:79%;height:100%;background:var(--green);border-radius:8px}.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:13px}.category-card{padding:17px 16px}.category-card h3{font-size:14px;margin:0 0 10px}.category-card .amount{display:block;font-size:19px;font-weight:800;border:1px solid #e8eaeb;border-radius:10px;padding:6px 9px;margin-bottom:9px}.category-card p{margin:0;color:var(--muted);font-size:12px}.category-card p b{color:var(--red)}.category-card .mini-progress{height:4px;background:#f1f2f3;border-radius:5px;margin-top:10px}.category-card .mini-progress i{display:block;height:100%;border-radius:5px;background:var(--orange);width:0}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:24px;margin-top:36px}.filters{display:flex;gap:4px;background:#eceeef;padding:3px;border-radius:9px}.filter{background:transparent;border:0;color:#858b90;border-radius:7px;padding:6px 11px;font:12px inherit;cursor:pointer}.filter.active{color:var(--orange-dark);background:#fff}.flow-form{padding:16px;display:grid;grid-template-columns:1.1fr 1.25fr 1.5fr 1fr;gap:12px;margin-bottom:13px}.flow-form label{display:flex;flex-direction:column;gap:5px}.flow-form label.wide{grid-column:span 2}.flow-form label span,.modal-field span{font-size:11px;color:var(--muted)}.flow-form input,.flow-form select,.modal-field input{height:38px;border:1px solid #e3e5e6;border-radius:9px;padding:0 10px;font:inherit;color:var(--ink);background:#fff;outline:none}.flow-form input:focus,.flow-form select:focus,.modal-field input:focus{border-color:#edab7b;box-shadow:0 0 0 3px #fff0e6}.add-flow-btn{align-self:end;height:38px;padding:0 14px}.table-wrap{overflow:hidden}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{text-align:left;padding:14px 16px;border-bottom:1px solid #f0f1f2;white-space:nowrap}.table-wrap th{font-size:11px;color:#9a9fa3;background:#fbfbfb;font-weight:600}.table-wrap td{font-size:13px}.table-wrap td.amount-cell{font-weight:700}.table-wrap td .category-tag{color:#ad6a20;background:#fff5e7;border-radius:6px;padding:4px 7px;font-size:11px}.row-delete{color:#b1b5b8;border:0;background:transparent;font-size:18px;cursor:pointer}.row-delete:hover{color:var(--red)}.empty-state{padding:30px;text-align:center;color:var(--muted)}.side-column{display:flex;flex-direction:column;gap:16px}.side-card{padding:20px}.compact{margin-bottom:16px}.compact h2{font-size:16px}.icon-btn{border:0;background:transparent;color:#a5aaad;font-size:20px;cursor:pointer}.progress-ring{width:150px;height:150px;border-radius:50%;margin:9px auto 20px;background:conic-gradient(var(--orange) 0 42%,#f0f1f1 42%);display:grid;place-items:center}.progress-ring>div{width:112px;height:112px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-ring strong{font-size:29px}.progress-ring span{font-size:11px;color:var(--muted)}.stage-list{display:flex;flex-direction:column;gap:14px}.stage{display:flex;align-items:flex-start;gap:10px}.stage>span{width:24px;height:24px;border-radius:50%;border:1px solid #dfe3e4;color:#9ca3a5;display:grid;place-items:center;font-size:11px;flex:none}.stage.done>span{background:#e1f5ed;color:var(--green);border-color:#c8ecdf}.stage.current>span{background:var(--orange);color:#fff;border-color:var(--orange)}.stage div{flex:1}.stage b{display:block;font-size:13px}.stage small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.stage em{font-style:normal;font-size:10px;color:#afb4b7;padding-top:3px}.stage.done em{color:var(--green)}.stage.current em{color:var(--orange)}.full-btn{width:100%;margin-top:19px}.tips-card{background:#fff9f3;border-color:#ffe7d4}.tips-card p{color:#6f6862;line-height:1.7;margin:0 0 11px}.tip-link{color:var(--orange-dark);font-weight:600;text-decoration:none;font-size:12px}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,30px);background:#2e3639;color:#fff;padding:11px 17px;border-radius:10px;opacity:0;pointer-events:none;transition:.25s;z-index:8}.toast.show{opacity:1;transform:translate(-50%,0)}.modal-backdrop{position:fixed;inset:0;background:rgba(34,38,40,.32);display:grid;place-items:center;z-index:10}.modal-backdrop[hidden]{display:none}.modal{width:min(420px,calc(100% - 32px));padding:26px;position:relative}.modal h2{margin:0 0 7px;font-size:20px}.modal-close{position:absolute;right:17px;top:13px;border:0;background:none;font-size:27px;color:#a2a7aa;cursor:pointer}.modal-field{display:flex;flex-direction:column;gap:7px;margin:23px 0}.modal-field input{height:44px;font-size:18px}.modal-actions{display:flex;justify-content:flex-end;gap:9px}@media (max-width:900px){.topbar{padding:0 18px}.topbar-actions .ghost-btn{font-size:0;padding:10px}.topbar-actions .ghost-btn span{font-size:17px}.page-wrap{padding:28px 18px}.content-grid{grid-template-columns:1fr}.side-column{display:grid;grid-template-columns:1fr 1fr}.budget-meta{display:none}.category-grid{grid-template-columns:repeat(3,1fr)}.flow-form{grid-template-columns:1fr 1fr}.flow-form label.wide{grid-column:span 2}.add-flow-btn{grid-column:span 2}}@media (max-width:600px){.brand{font-size:16px}.offline-pill{display:none}.welcome-row{align-items:flex-start;gap:15px;flex-direction:column}.welcome-row h1{font-size:25px}.module-tabs{gap:6px;margin:25px 0 35px}.module-tabs button{min-height:78px}.module-tabs button small{display:none}.module-tabs button strong{font-size:12px}.module-tabs button>span{font-size:19px}.budget-hero{padding:20px;gap:15px}.donut{width:95px;height:95px}.donut-inner{width:70px;height:70px}.donut-inner strong{font-size:18px}.budget-copy h3,.budget-copy h3 span{font-size:18px}.category-grid{grid-template-columns:1fr 1fr}.content-grid{margin-top:28px}.side-column{display:flex}.flow-form{grid-template-columns:1fr 1fr}.flow-form label.wide{grid-column:span 2}.table-wrap{overflow-x:auto}.table-wrap table{min-width:650px}.task{padding:12px}.task-status{display:none}}
.workspace-view{padding:22px;margin:26px 0 8px}.workspace-view[hidden]{display:none}.workspace-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.workspace-toolbar p{margin:4px 0 0;color:var(--muted)}.workspace-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.workspace-item{border:1px solid var(--line);border-radius:12px;padding:15px;background:#fff}.workspace-item h3{margin:0 0 6px;font-size:15px}.workspace-item p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.workspace-item-actions{display:flex;gap:6px;margin-top:12px}.small-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 9px;cursor:pointer;font:12px inherit;color:#656c70}.small-btn.primary{background:var(--orange);border-color:var(--orange);color:#fff}.compare-table{width:100%;border-collapse:collapse}.compare-table th,.compare-table td{padding:11px;border-bottom:1px solid var(--line);text-align:left}.compare-table th{font-size:12px;color:var(--muted)}.compare-table td{font-size:13px}.score{color:var(--orange-dark);font-weight:700}.category-edit-list{display:grid;gap:10px}.category-edit-row{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:8px;align-items:center}.category-edit-row input{height:36px;border:1px solid var(--line);border-radius:8px;padding:0 9px;font:inherit}.stage-edit-list{display:grid;gap:10px}.stage-edit-row{display:grid;grid-template-columns:28px 1fr 120px 100px;align-items:center;gap:10px;border:1px solid var(--line);padding:10px;border-radius:10px}.stage-edit-row input,.stage-edit-row select{height:34px;border:1px solid var(--line);border-radius:7px;padding:0 8px;font:inherit}.pill-done{color:var(--green);font-size:12px}.pill-current{color:var(--orange-dark);font-size:12px}@media(max-width:900px){.workspace-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.workspace-grid{grid-template-columns:1fr}.category-edit-row{grid-template-columns:1fr 1fr}.stage-edit-row{grid-template-columns:28px 1fr}.stage-edit-row input,.stage-edit-row select{grid-column:span 2}}
.task-delete{border:1px solid #f0d5d5;background:#fff7f7;color:var(--red);border-radius:9px;padding:8px 11px;font:12px inherit;cursor:pointer}.task-delete:hover{background:#ffe9e9}
.category-modal{width:min(700px,calc(100% - 32px));max-height:85vh;overflow:auto}.category-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.category-modal-header h2{margin:0 0 6px}.category-editor{display:grid;gap:10px}.category-row{display:grid;grid-template-columns:minmax(130px,1.5fr) 140px 130px 95px 34px;gap:9px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fcfcfc}.category-row input{height:36px;border:1px solid #dfe3e5;border-radius:8px;padding:0 9px;font:inherit;min-width:0}.category-row input:focus{outline:0;border-color:#edab7b;box-shadow:0 0 0 3px #fff0e6}.category-row .spent-info{font-size:12px;color:var(--muted)}.category-row .spent-info b{display:block;color:var(--ink);font-size:13px;margin-top:2px}.category-remove{width:30px;height:30px;border:0;border-radius:8px;background:#fff0f0;color:var(--red);cursor:pointer;font-size:18px}.category-remove:hover{background:#ffe0e0}.category-summary{display:flex;justify-content:space-between;align-items:center;margin:16px 0;color:var(--muted);font-size:13px;padding:12px 14px;background:#fff8ef;border-radius:10px}.category-summary strong{color:var(--orange-dark);font-size:16px}.category-summary.over{background:#fff0f0;color:var(--red)}.category-summary.over strong{color:var(--red)}@media(max-width:600px){.category-modal-header{flex-direction:column}.category-row{grid-template-columns:1fr 1fr}.category-row .spent-info{grid-column:span 2}.category-remove{justify-self:end}.category-summary{align-items:flex-start;gap:8px;flex-direction:column}}
.payment-plan-panel{margin-top:16px;padding:20px}.payment-plan-form{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr 1fr;gap:10px;align-items:end}.payment-plan-form label{display:flex;flex-direction:column;gap:5px}.payment-plan-form label.wide{grid-column:span 2}.payment-plan-form label span{font-size:11px;color:var(--muted)}.payment-plan-form input,.payment-plan-form select{height:37px;border:1px solid #e3e5e6;border-radius:9px;padding:0 9px;font:inherit;min-width:0}.payment-plan-form button{height:37px;padding:0 13px}.payment-plan-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.plan-summary-item{background:#fafafa;border-radius:10px;padding:11px 13px}.plan-summary-item span{display:block;color:var(--muted);font-size:11px}.plan-summary-item strong{display:block;margin-top:3px;font-size:18px}.plan-summary-item.pending strong{color:var(--orange-dark)}.payment-plan-list{display:grid;gap:10px}.payment-plan-item{border:1px solid var(--line);border-radius:12px;padding:14px}.payment-plan-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.payment-plan-top h3{margin:0;font-size:15px}.payment-plan-top p{margin:4px 0 0;color:var(--muted);font-size:12px}.plan-delete{border:0;background:transparent;color:#b7bbbd;cursor:pointer;font-size:18px}.plan-delete:hover{color:var(--red)}.plan-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.plan-numbers div{background:#fff8ef;border-radius:8px;padding:8px}.plan-numbers span{display:block;color:var(--muted);font-size:11px}.plan-numbers b{font-size:14px}.plan-numbers .pending{color:var(--orange-dark)}.plan-progress{height:6px;background:#edf0f0;border-radius:5px;overflow:hidden;margin-top:12px}.plan-progress i{height:100%;display:block;background:var(--green);border-radius:5px}.plan-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:10px}.plan-pay-btn{border:1px solid #efbc95;background:#fff7f0;color:var(--orange-dark);border-radius:8px;padding:7px 10px;font:12px inherit;cursor:pointer}.plan-pay-btn:hover{background:#ffeadb}@media(max-width:900px){.payment-plan-form{grid-template-columns:1fr 1fr}.payment-plan-form label.wide{grid-column:span 2}.payment-plan-form button{grid-column:span 2}}@media(max-width:600px){.payment-plan-summary,.plan-numbers{grid-template-columns:1fr}.payment-plan-form{grid-template-columns:1fr}.payment-plan-form label.wide{grid-column:auto}.payment-plan-form button{grid-column:auto}}
.budget-breakdown{display:flex;gap:22px;margin-top:12px}.budget-breakdown>div{display:flex;flex-direction:column;gap:3px;min-width:78px}.budget-breakdown span{font-size:12px;color:var(--muted)}.budget-breakdown b{font-size:17px}.warning{color:#c27a17}@media(max-width:600px){.budget-breakdown{gap:10px;flex-wrap:wrap}.budget-breakdown>div{min-width:70px}}
.payment-plan-panel{background:linear-gradient(180deg,#fff 0%,#fffdfa 100%);border-color:#f1e7dc}.payment-plan-panel>.section-heading{padding-bottom:13px;border-bottom:1px solid #f2ece6}.payment-plan-panel>.section-heading .muted{font-size:12px}.payment-plan-form{padding:15px 0 2px}.payment-plan-form input,.payment-plan-form select{background:#fff}.payment-plan-summary{margin:18px 0 14px}.payment-plan-item{background:#fff;border-color:#eee6de;padding:17px 18px;transition:.18s}.payment-plan-item:hover{border-color:#efc8a7;box-shadow:0 5px 18px rgba(211,130,68,.08)}.payment-plan-top{align-items:center}.payment-plan-top h3{font-size:16px;letter-spacing:-.01em}.payment-plan-top p{display:flex;align-items:center;gap:6px;flex-wrap:wrap;line-height:1.6}.payment-plan-top p::first-letter{color:var(--orange)}.plan-delete{width:31px;height:31px;border:1px solid #f0e1dd;border-radius:9px;background:#fff;color:#b9a8a5;font-size:17px;line-height:1}.plan-delete:hover{background:#fff1ef;border-color:#eebbb3;color:var(--red)}.plan-numbers{margin-top:14px}.plan-numbers div{background:#faf8f5;border:1px solid #f1ece7}.plan-numbers div:nth-child(2){background:#f4fbf8;border-color:#dfefe9}.plan-numbers div:nth-child(3){background:#fff5ea;border-color:#f9e2c9}.plan-progress{height:7px;margin-top:14px}.plan-actions{align-items:center;margin-top:12px}.plan-pay-btn{border:0;background:var(--orange);color:#fff;font-weight:600;padding:8px 13px;box-shadow:0 4px 10px rgba(232,120,43,.18)}.plan-pay-btn:hover{background:var(--orange-dark)}.payment-modal{width:min(460px,calc(100% - 32px))}.modal-kicker{font-size:11px;color:var(--orange-dark);font-weight:700;letter-spacing:.08em;margin-bottom:5px}.payment-modal .modal-field{margin:17px 0}.payment-modal .modal-field input{height:42px}.danger-modal{width:min(430px,calc(100% - 32px));text-align:center}.danger-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:#fff0ee;color:var(--red);font-weight:800;font-size:22px}.danger-modal .modal-actions{justify-content:center;margin-top:22px}.danger-btn{border:0;background:var(--red);color:#fff;border-radius:10px;padding:10px 16px;font:600 14px inherit;cursor:pointer}.danger-btn:hover{background:#b84540}@media(max-width:600px){.payment-plan-top{align-items:flex-start}.payment-plan-top p{display:block}.payment-plan-top p::before{content:'下次付款：';color:var(--muted);font-weight:600}.payment-plan-top p{font-size:12px}.payment-plan-top p{max-width:calc(100% - 40px)}.plan-actions{align-items:stretch;flex-direction:column}.plan-actions .muted{margin-right:0!important}.plan-pay-btn{width:100%}}
.payment-plan-item,.payment-plan-main{min-width:0}.payment-plan-main{flex:1}.plan-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:6px;max-width:100%;font-size:12px;color:var(--muted)}.plan-meta span{min-width:0}.plan-category{color:#a86d2f;background:#fff5e8;border-radius:6px;padding:3px 7px;white-space:nowrap}.plan-date{color:#a06426;background:#fff8ef;border:1px solid #f8e6d0;border-radius:6px;padding:3px 7px;white-space:normal;overflow-wrap:anywhere}.plan-note{overflow-wrap:anywhere}.payment-plan-top{min-width:0}.payment-plan-top h3{overflow-wrap:anywhere}.payment-plan-top p{display:none}.plan-delete{flex:none}.plan-numbers{min-width:0}@media(max-width:600px){.plan-meta{display:grid;grid-template-columns:1fr;align-items:start;gap:5px}.plan-date,.plan-category{width:max-content;max-width:100%}.payment-plan-item{padding:14px}.payment-plan-top{gap:8px}}
.plan-edit-btn{border:1px solid #e9e4de;background:#fff;color:#73797c;border-radius:8px;padding:7px 10px;font:12px inherit;cursor:pointer}.plan-edit-btn:hover{border-color:#efb286;color:var(--orange-dark);background:#fff9f3}.plan-actions .muted{font-size:12px}.payment-modal select{height:42px;border:1px solid #e3e5e6;border-radius:9px;padding:0 10px;font:inherit;background:#fff}
.category-money-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.category-money-grid>div{min-width:0}.category-money-grid span{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.category-money-grid b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-card .amount{font-size:18px}.category-card .mini-progress{margin-top:12px}.category-card .mini-progress i{background:linear-gradient(90deg,var(--orange),#f2ad4c)}@media(max-width:600px){.category-money-grid{gap:4px}.category-money-grid span{font-size:9px}.category-money-grid b{font-size:11px}}
.category-money-grid em{display:block;font-style:normal;font-size:10px;color:#9a9fa3;margin-top:2px}.category-money-grid>div:nth-child(1) em{color:var(--red)}.category-money-grid>div:nth-child(2) em{color:#bd791b}.category-money-grid>div:nth-child(3) em{color:var(--green)}
.budget-breakdown em{display:block;font-style:normal;font-size:10px;margin-top:2px;color:#9a9fa3}.budget-breakdown>div:nth-child(1) em{color:var(--red)}.budget-breakdown>div:nth-child(2) em{color:#bd791b}.budget-breakdown>div:nth-child(3) em{color:var(--green)}.donut-inner strong{font-size:23px}
.over-budget-value{color:var(--red)!important}.budget-breakdown>div:has(.over-budget-value) span{color:var(--red)}
.health-danger{color:var(--red)!important}.health-warning{color:#bd791b!important}.health-bar i.health-danger-bg{background:var(--red)}.health-bar i.health-warning-bg{background:#d79a34}
.task-modal{width:min(600px,calc(100% - 32px))}.task-form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}.task-form-grid .modal-field{margin:15px 0}.task-form-grid .modal-field.full{grid-column:span 2}.task-form-grid textarea{border:1px solid #e3e5e6;border-radius:9px;padding:9px 10px;font:inherit;resize:vertical;min-height:78px}.task-form-grid textarea:focus{outline:0;border-color:#edab7b;box-shadow:0 0 0 3px #fff0e6}.task-priority-high{color:#b97817}.task-priority-urgent{color:var(--red)}@media(max-width:600px){.task-form-grid{grid-template-columns:1fr}.task-form-grid .modal-field.full{grid-column:auto}}
/* Mobile layout refinement */
@media (max-width:640px){
  body{font-size:13px;overflow-x:hidden}.topbar{height:58px;padding:0 14px}.brand{font-size:15px;gap:6px;white-space:nowrap}.brand-mark{font-size:25px}.topbar-actions{gap:5px}.topbar-actions .ghost-btn{width:34px;height:34px;padding:0;display:grid;place-items:center;border-radius:9px}.topbar-actions .ghost-btn span{font-size:18px}.page-wrap{padding:22px 14px 48px}.welcome-row{margin-bottom:23px;gap:13px}.welcome-row h1{font-size:24px}.welcome-row .muted{font-size:12px}.welcome-row .primary-btn{width:100%;height:42px}.section-heading{gap:10px;align-items:center}.section-heading h2{font-size:16px}.section-heading .link-btn{font-size:12px;padding:0 2px}.module-tabs{grid-template-columns:repeat(2,1fr);gap:8px;margin:25px 0 30px}.module-tabs button{min-height:76px;border-radius:12px}.module-tabs button strong{font-size:13px}.budget-hero{display:grid;grid-template-columns:92px minmax(0,1fr);gap:15px;padding:17px}.donut{width:92px;height:92px}.donut-inner{width:68px;height:68px}.donut-inner strong{font-size:18px}.donut-inner span{font-size:10px}.budget-copy h3{font-size:17px;margin-bottom:8px}.budget-copy h3 span{font-size:20px}.budget-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}.budget-breakdown>div{min-width:0}.budget-breakdown span{font-size:10px;white-space:nowrap}.budget-breakdown b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-breakdown em{font-size:9px}.budget-meta{display:block;grid-column:1 / -1;width:auto;border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.budget-meta small{font-size:11px}.category-grid{grid-template-columns:1fr 1fr;gap:8px}.category-card{padding:13px 11px;border-radius:13px}.category-card h3{font-size:13px;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-card .amount{font-size:16px;padding:6px 7px}.category-money-grid{gap:3px}.category-money-grid span{font-size:9px}.category-money-grid b{font-size:11px}.category-money-grid em{font-size:9px}.content-grid{display:flex;flex-direction:column;gap:20px;margin-top:27px}.flow-section{margin-top:0}.filters{flex-shrink:0}.filter{padding:5px 8px;font-size:11px}.flow-form{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:13px;border-radius:13px}.flow-form label,.flow-form label.wide{grid-column:auto}.flow-form label:nth-child(3),.flow-form label:nth-child(5){grid-column:1 / -1}.flow-form input,.flow-form select{height:40px;font-size:13px}.add-flow-btn{grid-column:1 / -1;height:41px}.table-wrap{border-radius:13px}.table-wrap table{min-width:720px}.table-wrap th,.table-wrap td{padding:11px 12px}.payment-plan-panel{padding:14px;border-radius:13px}.payment-plan-form{grid-template-columns:1fr 1fr;gap:9px}.payment-plan-form label.wide{grid-column:1 / -1}.payment-plan-form button{grid-column:1 / -1;height:41px}.payment-plan-summary{grid-template-columns:1fr 1fr 1fr;gap:5px}.plan-summary-item{padding:9px 7px}.plan-summary-item span{font-size:9px}.plan-summary-item strong{font-size:13px}.payment-plan-item{padding:13px;border-radius:11px}.payment-plan-top h3{font-size:14px}.plan-meta{font-size:10px}.plan-numbers{gap:5px}.plan-numbers div{padding:7px 6px}.plan-numbers span{font-size:9px}.plan-numbers b{font-size:12px}.plan-actions{gap:6px;flex-wrap:wrap}.plan-actions .muted{width:100%;margin-right:0!important}.plan-edit-btn,.plan-pay-btn{flex:1;min-width:0;padding:8px 6px}.side-column{display:flex;flex-direction:column}.side-card{padding:15px;border-radius:13px}.progress-ring{width:126px;height:126px}.progress-ring>div{width:94px;height:94px}.stage-list{gap:12px}.modal{padding:21px;width:calc(100% - 28px);max-height:90vh;overflow-y:auto}.modal h2{font-size:18px}.modal-field{margin:15px 0}.modal-field input,.payment-modal select{height:42px;font-size:14px}.modal-actions{position:sticky;bottom:-21px;background:#fff;padding-top:10px}.task-modal{width:calc(100% - 28px)}.category-modal-header{gap:10px}.category-modal-header .secondary-btn{width:100%}.category-row{grid-template-columns:1fr 1fr}.category-row .spent-info{grid-column:span 2}.category-summary{font-size:11px}.flow-actions{gap:4px}.row-edit{padding:5px 7px}.toast{width:calc(100% - 28px);text-align:center;bottom:16px}.workspace-view{padding:15px;margin-top:20px}.workspace-toolbar{align-items:flex-start;flex-direction:column}.workspace-toolbar .primary-btn{width:100%}.workspace-grid{grid-template-columns:1fr}.stage-edit-row{grid-template-columns:24px 1fr}.stage-edit-row input,.stage-edit-row select{grid-column:2}.stage-edit-row select{width:100%}
}

/* Keep the dense dashboard usable on very narrow phones. */
@media (max-width:380px){
  .page-wrap{padding-left:10px;padding-right:10px}
  .topbar{padding-left:10px;padding-right:10px}
  .brand{font-size:14px}
  .topbar-actions .ghost-btn{width:32px;height:32px}
  .section-heading{align-items:flex-start;flex-wrap:wrap}
  .section-heading>div:last-child{display:flex;gap:6px;flex-wrap:wrap}
  .budget-hero{grid-template-columns:84px minmax(0,1fr);gap:10px;padding:14px}
  .donut{width:84px;height:84px}
  .donut-inner{width:62px;height:62px}
  .budget-copy h3{font-size:16px}
  .budget-copy h3 span{font-size:18px}
  .budget-breakdown{grid-template-columns:1fr 1fr;gap:8px 6px}
  .budget-breakdown>div:last-child{grid-column:1 / -1}
  .payment-plan-summary{grid-template-columns:1fr}
  .plan-numbers{grid-template-columns:1fr 1fr}
  .plan-numbers div:last-child{grid-column:1 / -1}
  .plan-actions{display:grid;grid-template-columns:1fr 1fr}
  .plan-actions .muted{grid-column:1 / -1}
  .plan-edit-btn,.plan-pay-btn{width:100%}
  .task{align-items:flex-start;flex-wrap:wrap;gap:9px}
  .task-copy{min-width:0}
  .task-done,.task-delete{padding:8px 10px}
  .modal-actions{gap:7px}
  .modal-actions button{flex:1;min-width:0;padding-left:10px;padding-right:10px}
}

/* Prevent native date/select controls from widening the mobile column. */
@media (max-width:640px){
  .content-grid,
  .flow-section,
  .payment-plan-panel,
  .payment-plan-form,
  .payment-plan-form label{min-width:0;width:100%}
  .payment-plan-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .payment-plan-form input,
  .payment-plan-form select{display:block;width:100%;max-width:100%;min-width:0}
}

@media (max-width:380px){
  .payment-plan-form{grid-template-columns:minmax(0,1fr)}
  .payment-plan-form label.wide,
  .payment-plan-form button{grid-column:auto}
}

.payment-plan-filter-row{display:flex;justify-content:flex-end;margin:1px 0 12px}
.plan-filter{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}
.plan-filter select{height:34px;min-width:145px;border:1px solid #e3e5e6;border-radius:8px;padding:0 9px;background:#fff;color:var(--ink);font:inherit}
.plan-filter select:focus{outline:0;border-color:#edab7b;box-shadow:0 0 0 3px #fff0e6}
@media (max-width:640px){
  .payment-plan-filter-row{justify-content:stretch;margin-top:2px}
  .plan-filter{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:8px}
  .plan-filter select{width:100%;min-width:0}
}
@media (max-width:380px){
  .plan-filter{grid-template-columns:1fr}
}
