.budget-page{--olive:#506b62}.budget-main{max-width:1080px;margin:auto}.budget-heading{display:flex;align-items:end;justify-content:space-between;padding:52px 0 18px}.budget-heading h1{margin:0;font:clamp(46px,7vw,72px)/.9 'DM Serif Display',serif;letter-spacing:-.05em}.budget-heading h1 i{color:var(--olive)}.budget-add{display:grid;width:54px;height:54px;border:0;border-radius:50%;place-items:center;background:var(--olive);color:#fffdf8;font:34px/1 'DM Serif Display',serif;box-shadow:var(--shadow)}.budget-month{display:flex;justify-content:center;align-items:end;gap:8px;margin:10px 0 18px}.budget-month button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink)}.budget-month label{display:grid;gap:4px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.budget-month select{min-width:185px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:14px 'DM Sans',sans-serif}.budget-tabs{display:flex;gap:6px;overflow:auto;padding:4px 0 14px;border-bottom:1px solid var(--line)}.budget-tabs button{white-space:nowrap;padding:9px 12px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:11px;font-weight:700}.budget-tabs button.active{background:var(--olive-pale);color:var(--ink)}.budget-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}.budget-summary article,.account-card,.insight-summary article{padding:17px;border:1px solid var(--line);border-radius:17px;background:rgba(255,253,248,.9);box-shadow:var(--shadow)}.budget-summary small,.account-card span,.insight-summary small{display:block;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.budget-summary strong{display:block;margin:12px 0 5px;font:27px 'DM Serif Display',serif}.budget-summary article:nth-child(2) strong{color:#47775d}.budget-summary article:nth-child(3) strong{color:#9c5149}.budget-summary article:nth-child(4) strong{color:#506b62}.budget-summary span{color:var(--muted);font-size:10px}.budget-section-head{display:flex;justify-content:space-between;align-items:baseline;margin-top:38px;padding-bottom:9px;border-bottom:1px solid var(--line)}.budget-section-head h2{margin:0;font:28px 'DM Serif Display',serif}.budget-section-head button,.budget-utility button{border:0;background:transparent;color:var(--olive);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.total-budget,.budget-cards{display:grid;gap:10px;margin-top:13px}.budget-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-card,.budget-limit{padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.budget-card>div:first-child{display:flex;justify-content:space-between;gap:8px}.budget-card strong{font:17px 'DM Serif Display',serif}.budget-card span,.budget-card small,.budget-limit small{color:var(--muted);font-size:10px}.budget-card small{display:block;margin-top:8px}.budget-bar{height:7px;margin-top:12px;border-radius:10px;background:#e8e5dc;overflow:hidden}.budget-bar i{display:block;height:100%;border-radius:inherit;background:#607e69}.budget-card.near .budget-bar i{background:#bf8643}.budget-card.over .budget-bar i{background:#b85a50}.budget-card.over small{color:#a4473d;font-weight:700}.transaction-list{margin-top:9px}.budget-transaction{display:grid;grid-template-columns:57px minmax(0,1fr) auto 30px;gap:10px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line)}.budget-transaction time,.budget-transaction small{color:var(--muted);font-size:10px}.budget-transaction strong{display:block;font-size:14px}.budget-transaction b{font-size:13px}.budget-transaction.expense b{color:#9c5149}.budget-transaction.income b{color:#47775d}.budget-transaction.transfer b{color:#3f718a}.budget-transaction.deleted{opacity:.65}.budget-transaction button{border:0;background:transparent;color:var(--olive);font-size:10px}.upcoming-recurring{margin-top:20px;padding:14px;border-radius:14px;background:var(--blue)}.upcoming-title{margin-bottom:6px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.upcoming-recurring button{display:flex;width:100%;justify-content:space-between;padding:8px 0;border:0;border-bottom:1px solid rgba(41,49,38,.12);background:transparent;color:var(--ink);text-align:left}.upcoming-recurring span{font-size:11px}.transaction-tools,.budget-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:9px;margin-top:20px}.transaction-tools input,.transaction-tools select,.budget-form input,.budget-form select{min-width:0;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.transaction-tools button,.budget-form button,.budget-primary{padding:11px 14px;border:0;border-radius:10px;background:var(--olive);color:#fffdf8;font-weight:700}.filter-result,.budget-advice{color:var(--muted);font-size:12px}.budget-form{grid-template-columns:1fr 170px auto;align-items:end;padding:16px;border-radius:16px;background:var(--paper);box-shadow:var(--shadow)}.budget-form label,.budget-limit label{display:grid;gap:6px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.account-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:15px}.account-card{display:grid;gap:7px}.account-card strong{font:24px 'DM Serif Display',serif}.account-card b{font-size:16px}.account-card small{font-size:10px;letter-spacing:0;text-transform:none}.account-card button{justify-self:start;border:0;background:transparent;color:var(--olive);font-size:10px;font-weight:700;text-transform:uppercase}.account-card.archived{opacity:.6}.insight-summary{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin-top:20px}.category-chart{display:grid;gap:10px;margin-top:14px}.category-chart div{display:grid;grid-template-columns:100px 1fr auto;gap:8px;align-items:center;font-size:11px}.category-chart i{height:9px;border-radius:8px;background:#78918a}.insight-list{display:grid;gap:0;margin-top:16px}.insight-list div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.budget-utility{display:flex;flex-wrap:wrap;justify-content:end;gap:10px;margin:42px 0 12px}.budget-intro{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;align-items:center;margin:18px 0;padding:15px;border:1px solid var(--line);border-radius:17px;background:var(--sun)}.budget-intro div{padding-left:30px;position:relative}.budget-intro span{position:absolute;left:0;top:0;display:grid;width:22px;height:22px;border-radius:50%;place-items:center;background:var(--ink);color:#fff;font-size:10px}.budget-intro strong{font:16px 'DM Serif Display',serif}.budget-intro p{margin:4px 0 0;color:#656050;font-size:11px;line-height:1.4}.budget-intro button{border:0;background:transparent;color:var(--ink);font-size:10px;text-decoration:underline}.budget-empty{padding:19px;border:1px dashed var(--line);border-radius:13px;color:var(--muted);font-size:12px}.budget-empty button{display:block;margin-top:8px;border:0;background:transparent;color:var(--olive);font-size:10px;font-weight:700;text-transform:uppercase}.budget-dialog{width:min(100% - 26px,520px);padding:0;border:0;border-radius:20px;background:var(--paper);color:var(--ink);box-shadow:0 28px 75px rgba(30,35,28,.25)}.budget-dialog::backdrop{background:rgba(39,49,38,.42)}.budget-form-modal{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:25px}.budget-form-modal h2,.budget-form-modal .eyebrow,.budget-form-modal .entry-types,.budget-form-modal .amount-field,.budget-form-modal .modal-actions,.budget-form-modal .form-note{grid-column:1/-1}.budget-form-modal h2{margin:0;font:34px 'DM Serif Display',serif}.budget-form-modal label{display:grid;gap:6px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.budget-form-modal input,.budget-form-modal select,.budget-form-modal textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:9px;background:#f7f4ec;color:var(--ink);font:15px 'DM Sans',sans-serif;letter-spacing:normal;text-transform:none}.budget-form-modal .amount-field{position:relative}.amount-field span{position:absolute;right:12px;bottom:12px;font-size:16px;color:var(--olive)}.amount-field input{padding-right:34px;font-size:25px;font-weight:700}.entry-types{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;border-radius:11px;background:#eeebe3}.entry-types button{padding:9px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:11px}.entry-types button.active{background:var(--paper);color:var(--ink);box-shadow:0 2px 6px rgba(0,0,0,.08)}.modal-actions{display:flex;justify-content:space-between;gap:9px;margin-top:7px}.modal-actions button{padding:11px 14px;border:0;border-radius:9px}.modal-actions .danger{background:#f2e4df;color:#994a40}.dialog-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:22px}.form-note{margin:0;color:var(--muted);font-size:11px}.recurring-list article{padding:10px 0;border-bottom:1px solid var(--line)}.recurring-list strong,.recurring-list small{display:block}.recurring-list small{margin-top:3px;color:var(--muted);font-size:11px}@media(max-width:720px){.budget-heading{padding-top:44px}.budget-summary{grid-template-columns:1fr 1fr}.budget-summary article{padding:14px}.budget-summary strong{font-size:23px}.budget-cards,.account-cards,.insight-summary{grid-template-columns:1fr}.transaction-tools,.budget-form{grid-template-columns:1fr 1fr}.transaction-tools input,.budget-form label:first-child{grid-column:1/-1}.transaction-tools button,.budget-form button{grid-column:1/-1}.budget-intro{grid-template-columns:1fr}.budget-intro button{justify-self:start}.budget-transaction{grid-template-columns:47px minmax(0,1fr) auto}.budget-transaction .item-action{display:none}.budget-transaction time{font-size:9px}.budget-form-modal{grid-template-columns:1fr}.budget-form-modal .amount-field{grid-column:auto}.budget-tabs{margin-right:-16px}.budget-page .utility-nav{position:sticky;top:0;z-index:12;background:var(--canvas)}}
