#budget-workspace,#budget-dialog{--bgt-ink:var(--ink,#183f4b);--bgt-paper:var(--paper,#faf7f0);--bgt-white:var(--white,#fffdf8);--bgt-muted:#576962;--bgt-line:#d5ded4;--bgt-green:#e9eee5;--bgt-coral:#a45643;box-sizing:border-box;color:var(--bgt-ink);font:400 16px/1.6 var(--sans,'DM Sans',sans-serif)}
#budget-workspace{container-type:inline-size;container-name:budget;min-width:0;width:100%}
#budget-workspace *,#budget-dialog *{box-sizing:border-box}
#budget-workspace [hidden],#budget-dialog [hidden]{display:none!important}
.bgt-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:12px 0 25px}
.bgt-heading>div{min-width:0}.bgt-heading h1{font:500 clamp(38px,4.3vw,56px)/1.04 var(--serif,'Cormorant Garamond',serif);letter-spacing:-.035em;margin:0 0 12px;overflow-wrap:anywhere}.bgt-heading p:last-child{margin:0;color:var(--bgt-muted);font-size:16px}.bgt-eyebrow{font:600 12px/1.5 var(--sans,'DM Sans',sans-serif);letter-spacing:.13em;margin:0 0 12px;color:var(--bgt-muted)}
.bgt-heading-actions{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}
#budget-workspace .bgt-button,#budget-dialog .bgt-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 16px;border:1px solid #b5c3ba;border-radius:5px;background:transparent;color:var(--bgt-ink);font:500 14px/1.4 var(--sans,'DM Sans',sans-serif);text-decoration:none;cursor:pointer;white-space:normal;text-align:center;max-width:100%}
#budget-workspace .bgt-primary,#budget-dialog .bgt-primary{background:var(--bgt-ink);border-color:var(--bgt-ink);color:#fffdf8}
#budget-workspace .bgt-button:hover,#budget-dialog .bgt-button:hover{box-shadow:0 0 0 1px currentColor inset}
#budget-workspace button:focus-visible,#budget-workspace input:focus-visible,#budget-workspace select:focus-visible,#budget-workspace summary:focus-visible,#budget-workspace [tabindex]:focus-visible,#budget-dialog :is(button,input,select,textarea,summary):focus-visible{outline:3px solid var(--bgt-ink);outline-offset:4px}
#budget-workspace button:disabled,#budget-dialog button:disabled{cursor:wait;opacity:.65}.bgt-demo{margin:0 0 22px;padding:11px 15px;border:1px solid #d3dccb;border-radius:4px;background:#eef1e5;color:#455c43;font-size:14px}.bgt-error{padding:13px 16px;border-left:3px solid #a5513c;background:#f8e9e3;color:#803f2e;line-height:1.65;font-size:16px;margin:0 0 20px;overflow-wrap:anywhere}.bgt-loading{min-height:220px;padding:50px 20px;text-align:center}
.bgt-overview{background:var(--bgt-white);border:1px solid var(--bgt-line);border-radius:8px;margin-bottom:30px;overflow:hidden}
.bgt-target{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 30px 18px}.bgt-target>div{min-width:0}.bgt-target .bgt-eyebrow{margin-bottom:7px}.bgt-target strong{display:block;font:500 clamp(36px,4.2vw,54px)/1.13 var(--serif,'Cormorant Garamond',serif);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.bgt-target>div>span{display:block;color:var(--bgt-muted);font-size:14px;margin-top:6px;overflow-wrap:anywhere}.bgt-target>.bgt-button{flex:none}
.bgt-budget-meter{padding:0 30px 24px}.bgt-meter-label{display:flex;justify-content:space-between;gap:16px;align-items:start;font-size:14px;margin-bottom:12px}.bgt-meter-label>span:first-child{font-weight:500}.bgt-meter-label>span:last-child{color:var(--bgt-muted);flex-shrink:0}.bgt-track{position:relative;height:11px;background:#e6e9df;border-radius:20px;overflow:hidden}.bgt-track>span{position:absolute;inset:0 auto 0 0;border-radius:20px;min-width:0}.bgt-track-forecast{background:#b6c6b4}.bgt-track-forecast.is-over{background:#d5ad8b}.bgt-track-paid{background:var(--bgt-ink)}.bgt-track-empty{background:repeating-linear-gradient(135deg,#e8ebdf 0,#e8ebdf 5px,#f3f4ee 5px,#f3f4ee 10px)}.bgt-meter-key{display:flex;gap:20px;justify-content:flex-end;margin-top:10px;font-size:12px;color:var(--bgt-muted)}.bgt-meter-key>span{display:inline-flex;align-items:center;gap:7px}.bgt-meter-key i{width:9px;height:9px;border-radius:50%;display:inline-block}.bgt-key-paid{background:var(--bgt-ink)}.bgt-key-forecast{background:#b6c6b4}
.bgt-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-top:1px solid var(--bgt-line);background:#f3f4ed}.bgt-totals>div{padding:23px 22px 24px;min-width:0}.bgt-totals>div+div{border-left:1px solid var(--bgt-line)}.bgt-totals dt{font-size:14px;margin-bottom:7px;color:var(--bgt-muted)}.bgt-totals dd{margin:0 0 7px;font:500 clamp(25px,2.5vw,34px)/1.2 var(--serif,'Cormorant Garamond',serif);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.bgt-totals small{display:block;font-size:12px;line-height:1.55;color:var(--bgt-muted)}
.bgt-overdue{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;border-top:1px solid #d6c5b7;margin:0;padding:12px 26px;background:#f5e9de;color:#814c2c;font-size:14px}.bgt-overdue>.bgt-button{margin-left:auto;border:0!important;color:#814c2c!important;text-decoration:underline!important;text-underline-offset:4px}
.bgt-ledger{border-top:1px solid var(--bgt-line);padding-top:7px}.bgt-ledger-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;margin-bottom:23px}.bgt-tabs{display:flex;align-items:stretch;gap:22px;min-width:0;flex:1 1 250px;border-bottom:1px solid var(--bgt-line)}.bgt-tabs>button{min-height:57px;padding:12px 2px;background:none;border:0;border-bottom:3px solid transparent;color:var(--bgt-muted);font:500 16px/1.4 var(--sans,'DM Sans',sans-serif);white-space:nowrap;cursor:pointer}.bgt-tabs>button[aria-selected=true]{border-bottom-color:var(--bgt-ink);color:var(--bgt-ink)}.bgt-tabs>button>span{display:inline-block;min-width:25px;border-radius:20px;margin-left:5px;padding:2px 6px;background:#e9ede4;font-size:12px;text-align:center}.bgt-ledger-top>[data-bgt-action=reload]{border:0!important;padding-inline:8px!important;font-size:13px!important;color:var(--bgt-muted)!important}
.bgt-filters{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(145px,1fr) minmax(145px,1fr);gap:15px;margin:0 0 27px}.bgt-filters label{display:grid;gap:7px;min-width:0;font-size:13px;font-weight:500;color:var(--bgt-muted)}#budget-workspace .bgt-filters input,#budget-workspace .bgt-filters select{width:100%;min-width:0;min-height:47px;padding:10px 12px;border:1px solid #bdcbbf;border-radius:5px;background:var(--bgt-white);color:var(--bgt-ink);font:400 16px/1.5 var(--sans,'DM Sans',sans-serif)}
.bgt-category{margin-bottom:25px}.bgt-category>header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:13px 0;border-bottom:1px solid #bfcbbb}.bgt-category h3{font:500 27px/1.2 var(--serif,'Cormorant Garamond',serif);margin:0;overflow-wrap:anywhere}.bgt-category>header>span{font-size:12px;color:var(--bgt-muted);text-align:right}.bgt-category>header strong{font-weight:500;color:var(--bgt-ink);white-space:nowrap}
.bgt-cost{border-bottom:1px solid var(--bgt-line);padding:20px 0 0;background:transparent}.bgt-cost-line{display:grid;grid-template-columns:minmax(160px,1.6fr) repeat(3,minmax(80px,.7fr));gap:14px;align-items:start}.bgt-cost-name{min-width:0}.bgt-name-button{display:block;max-width:100%;min-height:44px;text-align:left;border:0;background:none;padding:0 0 5px;color:var(--bgt-ink);font:600 16px/1.5 var(--sans,'DM Sans',sans-serif);cursor:pointer;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:#acbcae;text-underline-offset:4px}.bgt-cost-name>span{display:block;color:var(--bgt-muted);font-size:14px;overflow-wrap:anywhere}.bgt-attention{display:block;font-size:13px;line-height:1.6;color:#874a32;margin-top:8px}.bgt-amount{text-align:right;min-width:0;font-variant-numeric:tabular-nums}.bgt-amount>span{display:block;font-size:12px;color:var(--bgt-muted);margin-bottom:5px}.bgt-amount strong{font-weight:500;font-size:16px;overflow-wrap:anywhere}.bgt-amount small{display:block;font-size:11px;color:var(--bgt-muted);margin-top:4px}
.bgt-cost-payments{margin-top:17px}.bgt-cost-payments>summary{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:49px;list-style:none;cursor:pointer;color:var(--bgt-muted);font-size:13px;border-top:1px dashed #dce1d5;padding:9px 2px}.bgt-cost-payments>summary::-webkit-details-marker{display:none}.bgt-cost-payments>summary>span:first-child:before{content:'＋';color:var(--bgt-ink);font-size:17px;margin-right:8px}.bgt-cost-payments[open]>summary>span:first-child:before{content:'−'}.bgt-cost-payments>summary>span:last-child{text-align:right}.bgt-payment-stack{padding:4px 18px 19px;border-left:2px solid #b9c9b4;margin:0 0 19px 3px;background:#f4f5ee}.bgt-payment-stack>.bgt-button{margin-top:12px}.bgt-payment-stack>.bgt-help{padding-top:15px;margin-bottom:6px}
.bgt-payment-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(120px,.55fr) auto;gap:16px;align-items:center;border-bottom:1px solid var(--bgt-line);padding:20px 0}.bgt-payment-copy{min-width:0}.bgt-payment-copy>strong{font-size:16px;display:block;font-weight:600;overflow-wrap:anywhere}.bgt-payment-copy>span{display:block;color:var(--bgt-muted);font-size:14px;line-height:1.55;margin-top:5px;overflow-wrap:anywhere}.bgt-payment-amount{text-align:right;min-width:0}.bgt-payment-amount>strong{display:block;font:500 20px/1.3 var(--serif,'Cormorant Garamond',serif);font-variant-numeric:tabular-nums;margin-bottom:6px;overflow-wrap:anywhere}.bgt-status{display:inline-block;padding:3px 8px;border-radius:3px;background:#eceee5;font-size:12px;line-height:1.4;color:#53634f}.bgt-status-paid{background:#e2ebdf;color:#36573d}.bgt-status-overdue{background:#f3e1d7;color:#884830}.bgt-status-due-today,.bgt-status-due-soon{background:#eee4cf;color:#785c2e}.bgt-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.bgt-row-actions .bgt-button{padding:8px 12px!important;font-size:13px!important}.bgt-payment-compact{grid-template-columns:minmax(130px,1fr) minmax(105px,.6fr) auto;gap:12px}
.bgt-empty{text-align:center;padding:42px 20px 48px;border-block:1px solid var(--bgt-line);background:linear-gradient(135deg,#f3f4ed,#fbf8f0)}.bgt-empty>span{display:block;font:400 37px/1 var(--serif,'Cormorant Garamond',serif);color:#69816a;margin-bottom:16px}.bgt-empty h3{font-size:31px;margin:0 0 12px}.bgt-empty p{font-size:16px;color:var(--bgt-muted);max-width:470px;margin:0 auto 20px;line-height:1.7}.bgt-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:7px 20px;font-size:12px;color:var(--bgt-muted);padding:23px 0 5px;border-top:1px solid var(--bgt-line);margin-top:28px}.bgt-sr{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
#budget-dialog{width:650px;max-width:calc(100vw - 26px);max-height:calc(100dvh - 34px);border:1px solid #ccd5c7;border-radius:9px;padding:31px;background:var(--bgt-paper);box-shadow:0 24px 90px #142f3a44;overflow:auto}#budget-dialog::backdrop{background:#102e38b8;backdrop-filter:blur(3px)}#budget-dialog h2{font:500 38px/1.12 var(--serif,'Cormorant Garamond',serif);letter-spacing:-.02em;padding-right:18px;margin:0 0 13px;overflow-wrap:anywhere}.bgt-dialog-close{position:absolute;right:9px;top:8px;width:44px;height:44px;border:0;background:transparent;color:var(--bgt-ink);font:400 30px/1 var(--sans,'DM Sans',sans-serif);cursor:pointer}.bgt-dialog-intro{font-size:16px;line-height:1.65;color:var(--bgt-muted);margin:0 0 23px;overflow-wrap:anywhere}.bgt-field{display:grid;gap:7px;margin:0 0 20px;min-width:0;font-size:14px;font-weight:500}.bgt-unit{float:right;color:var(--bgt-muted);font-size:12px;font-weight:400}.bgt-field small,.bgt-help{font-size:14px;line-height:1.65;font-weight:400;color:var(--bgt-muted)}#budget-dialog .bgt-field :is(input,select,textarea){width:100%;min-width:0;max-width:100%;min-height:49px;padding:11px 12px;border:1px solid #b7c7b9;border-radius:5px;background:var(--bgt-white);color:var(--bgt-ink);font:400 16px/1.5 var(--sans,'DM Sans',sans-serif)}#budget-dialog .bgt-field textarea{resize:vertical;min-height:100px}#budget-dialog .bgt-field :disabled{opacity:.75;background:#eeefe7;cursor:default}.bgt-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.bgt-extra-fields{border-block:1px solid var(--bgt-line);margin:2px 0 22px}.bgt-extra-fields>summary{cursor:pointer;min-height:50px;padding:12px 0;font-size:14px}.bgt-extra-fields[open]>summary{margin-bottom:12px}.bgt-dialog-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border-top:1px solid var(--bgt-line);padding-top:21px;margin-top:24px}.bgt-dialog-actions>span{flex:1}.bgt-text{min-height:44px;border:0;background:none;padding:8px 0;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}#budget-dialog .bgt-danger{color:#8c4531}.bgt-discard{border:1px solid #d6b69e;padding:16px;background:#f8ecdd;margin:20px 0}.bgt-discard p{font-size:16px;margin-bottom:12px}.bgt-discard>div{display:flex;flex-wrap:wrap;gap:10px}
@container budget (max-width:760px){.bgt-heading{display:block}.bgt-heading-actions{margin-top:21px}.bgt-cost-line{grid-template-columns:minmax(130px,1fr) repeat(3,minmax(70px,.7fr));gap:10px}.bgt-payment-row,.bgt-payment-compact{grid-template-columns:minmax(0,1fr) minmax(120px,.55fr)}.bgt-row-actions{grid-column:1/-1}.bgt-totals>div{padding:19px 16px}.bgt-totals dd{font-size:27px}.bgt-filters{grid-template-columns:1fr 1fr}.bgt-filters>label:first-child{grid-column:1/-1}}
@container budget (max-width:500px){.bgt-heading h1{font-size:41px}.bgt-heading-actions>.bgt-button{flex:1;padding:11px 12px!important}.bgt-target{padding:22px 18px 17px;gap:10px;align-items:flex-start}.bgt-target strong{font-size:38px}.bgt-target>.bgt-button{padding:8px 10px!important;font-size:13px!important;min-height:44px!important}.bgt-budget-meter{padding:0 18px 19px}.bgt-meter-label{flex-wrap:wrap;gap:5px 10px}.bgt-totals{grid-template-columns:1fr 1fr}.bgt-totals>div{padding:18px}.bgt-totals>div:nth-child(3){border-left:0;border-top:1px solid var(--bgt-line)}.bgt-totals>div:nth-child(4){border-top:1px solid var(--bgt-line)}.bgt-totals dd{font-size:29px}.bgt-totals small{font-size:12px}.bgt-overdue{padding:12px 18px}.bgt-cost-line{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.bgt-cost-name{grid-column:1/-1}.bgt-amount{text-align:left}.bgt-amount>strong{font-size:16px}.bgt-cost{padding-top:17px}.bgt-category>header{align-items:center}.bgt-category h3{font-size:25px}.bgt-category>header>span{max-width:120px;line-height:1.7}.bgt-cost-payments>summary{font-size:12px}.bgt-payment-stack{padding-left:12px;padding-right:10px}.bgt-payment-row,.bgt-payment-compact{grid-template-columns:minmax(0,1fr) minmax(90px,.7fr);gap:12px}.bgt-payment-amount>strong{font-size:23px}.bgt-row-actions{justify-content:flex-start}.bgt-row-actions>.bgt-button{flex:1}.bgt-payment-copy>span{font-size:14px}.bgt-status{font-size:11px}.bgt-empty{padding:30px 16px}.bgt-tabs{gap:22px}.bgt-footer{font-size:12px}.bgt-filters{gap:12px}}
@media(max-width:500px){#budget-dialog{padding:29px 19px 22px;border-radius:7px;max-height:calc(100dvh - 20px)}#budget-dialog h2{font-size:35px}.bgt-form-grid{grid-template-columns:1fr;gap:0}.bgt-dialog-actions>.bgt-button{flex:1}.bgt-dialog-actions>.bgt-text{flex-basis:100%;text-align:left}.bgt-dialog-actions>span{display:none}.bgt-dialog-intro{font-size:16px}.bgt-dialog-actions{position:relative}}
@media(prefers-reduced-motion:reduce){#budget-workspace *,#budget-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
