@import url('/fonts.css');
:root{--ink:#253d36;--green:#325e50;--paper:#f6f7f2;--muted:#66756e;--line:#dce3da;--soft:#e9efdf;--white:#fff;--warm:#f0dfbe;--on-accent:#fff;--field-border:#879b91;--focus:#325e50;--danger:#9b342c;--on-danger:#fff;--error-surface:#f9e9df;--error-text:#784022;--warning:#784022;--overlay:#14282280;--radius:18px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,.button{background:var(--green);color:var(--on-accent);border:1px solid var(--green);padding:13px 20px;border-radius:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:24px;text-decoration:none;min-height:44px}.quiet{background:transparent;color:var(--green);border-color:var(--line);padding:9px 14px}.button:hover,button:hover{filter:brightness(.94);text-decoration:none}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 5%;border-bottom:1px solid var(--line);background:var(--white)}.brand{display:inline-flex;align-items:center;gap:15px;flex-shrink:0;min-height:44px;text-decoration:none}.brand:hover,.brand:focus,.brand:active{text-decoration:none}.brand-logo{display:block;width:156px;height:auto}.by{font-size:9px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);border-left:1px solid var(--line);padding-left:15px;line-height:1.5}nav{display:flex;align-items:center;gap:24px;font-size:14px}nav form{margin:0}main{max-width:1320px;margin:auto;padding:46px 40px 80px;min-height:80vh}h1{font-size:clamp(32px,4vw,52px);font-weight:500;letter-spacing:-1.8px;line-height:1.1;margin:14px 0 18px}h2{font-size:23px;letter-spacing:-.6px;font-weight:550;margin:10px 0 16px}h3{font-size:18px;font-weight:600;margin:8px 0 16px}p:where(:not(.nc-suite p)){line-height:1.6;margin:10px 0 16px}small{color:var(--muted);font-size:12px;line-height:1.6}strong{font-weight:600}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:600;color:var(--muted);margin-top:0}.intro{font-size:18px;color:var(--muted)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}.back{font-size:13px;display:inline-block;margin-bottom:22px}.grid{display:grid;gap:18px;margin-bottom:24px}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:25px;min-width:0;margin-bottom:22px}.grid>.card{margin-bottom:0}.card p{color:var(--muted);font-size:14px}.featured{background:var(--green);border-color:var(--green);color:var(--on-accent)}.featured p,.featured small{color:var(--on-accent)}.amount{display:block;font-size:clamp(25px,2.5vw,35px);font-weight:500;letter-spacing:-1px;margin:20px 0 4px;font-variant-numeric:tabular-nums}.card>span{font-size:13px}.tag{display:inline-block;border-radius:30px;padding:6px 10px;background:var(--soft);color:var(--green);font-size:11px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.budget-link h2{margin-top:24px}.tabs,.subnav{display:flex;gap:8px;margin-bottom:28px;flex-wrap:wrap}.tabs button{color:var(--green);background:transparent;border:0;padding:10px 22px}.tabs button[aria-pressed=true]{background:var(--green);color:var(--on-accent)}.subnav{border-bottom:1px solid var(--line);padding-bottom:18px;gap:25px;font-size:13px}.summary{display:flex;align-items:flex-start;gap:20px;padding:23px;background:var(--soft);border:1px solid var(--line);border-radius:16px;margin:24px 0 38px}.summary p{margin:6px 0 0;font-size:14px}.summary>details{margin-left:auto;max-width:440px;font-size:13px}.spark{font-size:28px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:32px 0 18px}.section-heading span{font-size:13px;color:var(--muted)}progress{appearance:none;width:100%;height:7px;border:0;border-radius:10px;background:var(--soft);margin:10px 0 16px}progress::-webkit-progress-bar{background:var(--soft);border-radius:10px}progress::-webkit-progress-value{background:var(--green);border-radius:10px}progress::-moz-progress-bar{background:var(--green);border-radius:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end}.wide{grid-column:1/-1}label{display:block;font-size:13px;line-height:1.5;margin:8px 0 12px}input,select{display:block;width:100%;padding:12px;border:1px solid var(--field-border);border-radius:9px;background:var(--white);color:var(--ink);margin-top:6px;min-height:44px;min-width:0}input:focus,select:focus{outline:3px solid var(--focus);outline-offset:2px}.check{display:flex;align-items:center;gap:8px}.check input{width:18px;height:18px;min-height:18px;margin:0}form:where(:not(.nc-suite form))>button{margin-top:10px}.hint,.muted{font-size:13px;color:var(--muted)}details{margin-top:14px}summary{cursor:pointer;color:var(--green);font-size:14px;font-weight:550;padding:8px 0;min-height:40px}dl{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:13px}dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}dt{color:var(--muted)}.search{display:flex;align-items:end;gap:12px}.search label:first-child{flex:1}.search button{margin-bottom:12px}.movement{display:flex;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;font-size:14px}.movement>div{flex:1}.movement small{display:block;margin-top:4px}.movement-icon{width:38px;height:38px;border-radius:12px;background:var(--soft);display:grid;place-items:center;font-size:22px}.movement details{margin:0;max-width:100%}.movement details[open]{flex-basis:100%;padding:15px;background:var(--paper);border-radius:12px}.timeline{list-style:none;padding:0}.timeline li{position:relative;display:flex;justify-content:space-between;align-items:center;margin-left:8px;padding:16px 10px 16px 30px;border-left:1px solid var(--line);font-size:14px;gap:15px}.timeline li:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--green);position:absolute;left:-5px;top:24px}.timeline small{display:block}.simulation{background:var(--warm)}.hero{padding:50px 0 70px;max-width:900px}.hero h1{font-size:clamp(52px,7vw,92px);letter-spacing:-4px;line-height:1.03}.hero em{font-family:Georgia,serif;font-weight:400;color:var(--green)}.hero .button{margin:18px 0}.number{font-family:Georgia,serif;font-size:32px!important;color:var(--muted)}.empty{padding:36px 24px;color:var(--muted)}.notice{padding:18px 24px;background:var(--soft);border:1px solid var(--line);border-radius:14px;margin-bottom:24px}.error{background:var(--error-surface);color:var(--error-text)}.narrow{max-width:600px;margin:50px auto}footer{display:flex;justify-content:space-between;padding:25px 5%;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.skip{position:absolute;left:-10000px}.skip:focus{left:10px;top:10px;padding:15px;background:var(--white);z-index:10}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}[hidden]{display:none!important}@media(max-width:1000px){.four{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(2,minmax(0,1fr))}.by{display:none}nav{gap:14px}.summary{flex-wrap:wrap}.summary>details{margin-left:0;max-width:100%}}@media(max-width:640px){header{padding:18px 20px;flex-wrap:wrap}header nav{width:100%;font-size:12px;justify-content:space-between;gap:8px}header nav button{font-size:11px;padding:8px}main{padding:28px 18px 50px}.grid.two,.grid.three,.form-grid{grid-template-columns:1fr}.four{gap:10px}.four .card{padding:17px 14px}.amount{font-size:25px}.page-heading{align-items:flex-start;flex-direction:column;gap:12px}.card{padding:20px}.hero{padding:30px 0}.hero h1{letter-spacing:-2.5px}.subnav{gap:18px}.section-heading{align-items:flex-start}.section-heading>span{display:none}.search{flex-wrap:wrap}.search label{flex:1 1 45%}.summary{gap:12px;padding:18px}footer{gap:20px}.movement>strong{font-size:13px}.timeline li{font-size:13px}.tabs button{padding:10px 18px}}

.quick-add{position:fixed;bottom:20px;right:22px;z-index:10;margin:0}.quick-add>summary{display:grid;place-items:center;list-style:none;background:var(--green);color:var(--on-accent);width:50px;height:50px;border-radius:50%;font-size:28px;box-shadow:0 5px 20px #203b3326}.quick-add>summary::-webkit-details-marker{display:none}.quick-add nav{position:absolute;bottom:60px;right:0;display:flex;flex-direction:column;align-items:stretch;width:220px;gap:0;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 20px #203b3315;overflow:hidden}.quick-add nav a{padding:14px 18px}.quick-add nav a:hover{background:var(--soft)}

/* Each budget section has its own panel and a visible selected tab. */
.entry-actions{display:flex;gap:10px;flex-wrap:wrap}.subnav{gap:5px;border-bottom:1px solid var(--line);padding-bottom:10px}.subnav button{background:transparent;color:var(--muted);border:0;border-radius:9px;padding:10px 13px;min-height:44px;font-size:13px;font-weight:500;gap:0}.subnav button[aria-selected=true]{background:var(--green);color:var(--on-accent);font-weight:650}.subnav button:hover{background:var(--soft);color:var(--green);filter:none}.subnav button[aria-selected=true]:hover{background:var(--green);color:var(--on-accent)}[data-budget-panel]>.section-heading:first-child{margin-top:0}[data-budget-panel]:focus{outline:none}[data-budget-panel]:focus-visible{outline:3px solid var(--focus);outline-offset:5px}.entry-card{border-top:3px solid var(--green)}.entry-expense{border-top-color:var(--warning)}.entry-card h3{font-size:21px;margin-bottom:20px}.entry-options,.inline-category{margin-top:0}.entry-options{border-top:1px solid var(--line);padding-top:8px}.category-create-row{display:flex;align-items:end;gap:12px;max-width:620px}.category-create-row label{flex:1}.category-create-row button{margin-bottom:12px}.entry-card .hint{align-self:center}.entry-card button:disabled{opacity:.6;cursor:wait}@media(max-width:640px){.entry-actions{width:100%}.entry-actions button{flex:1;padding:12px;font-size:13px}.subnav{gap:4px}.subnav button{font-size:12px;padding:9px 10px}.category-create-row{display:block}.entry-card .hint{margin-top:0}}

.csv-example,.csv-table{overflow-x:auto}.csv-table table{width:100%;border-collapse:collapse;font-size:13px}.csv-table th,.csv-table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:pre-wrap;min-width:120px}.csv-source{overflow-wrap:anywhere}.csv-warnings{color:var(--error-text);font-size:13px;line-height:1.6;padding-left:20px}.csv-row>.check{font-weight:600}.csv-row.is-excluded{background:var(--paper)}.csv-row.is-excluded>.check{color:var(--muted)}

button.danger{background:var(--danger);border-color:var(--danger);color:var(--on-danger)}

.account-card{display:flex;flex-direction:column;align-items:flex-start}
.account-card-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:28px}
.account-card>.button{margin-top:auto}
.account-card>.search{margin-bottom:0;flex-wrap:wrap}

.forecast-dialog{width:min(760px,calc(100% - 32px));max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:20px;padding:24px;color:inherit;background:var(--white)}.forecast-dialog::backdrop{background:var(--overlay)}
[data-account-tabs] [role=tablist]{flex-wrap:wrap;gap:8px;margin-bottom:16px}
[data-account-tabs] [role=tab][aria-selected=true]{background:var(--green);color:var(--on-accent);border-color:var(--green)}
.transaction-month{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.transaction-month>summary{padding:12px 0;font-weight:600}

.bank-list{padding:8px 20px;margin-bottom:14px}.bank-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;cursor:pointer}.bank-list-heading small{font-weight:400;color:var(--muted);margin-left:8px}.bank-list-heading strong{white-space:nowrap}.account-list-row{display:grid;grid-template-columns:minmax(150px,1fr) auto auto auto;align-items:center;gap:16px;padding:12px 0;border-top:1px solid var(--line)}.account-list-row small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.account-name{font-weight:650}.account-list-balance{white-space:nowrap;font-variant-numeric:tabular-nums}.account-order-menu{margin:0}.account-order-menu .search{margin:8px 0 0}.account-settings>.card{box-shadow:none;margin:12px 0;padding:16px}.bank-list:not([open]){padding-bottom:8px}@media(max-width:640px){.account-list-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.bank-list-heading{align-items:flex-start}.bank-list-heading small{display:block;margin-left:0}.account-list-row>.button{justify-self:start}.account-order-menu{justify-self:end}.bank-list{padding:8px 14px}}

.account-drag-handle{cursor:grab;touch-action:none;font-size:24px;min-width:44px}.account-drag-handle:active{cursor:grabbing}.account-list-row.is-dragging{background:var(--soft);outline:2px solid var(--green);opacity:.8}.sort-status:empty{display:none}
.forecast-editable li{align-items:flex-start}.forecast-editable li>div{flex:1;min-width:0}.forecast-editable li>strong{white-space:nowrap}.forecast-editable details{margin-top:12px}.forecast-editable .form-grid{margin-top:14px}.forecast-editable .hint{grid-column:1/-1}.forecast-actions{display:flex;flex-wrap:wrap;gap:10px}.forecast-adjustments{margin-top:24px}.forecast-adjustment{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}[data-forecast-feedback]:empty{display:none}@media(max-width:640px){.forecast-editable li{flex-wrap:wrap}.forecast-editable li>div{flex-basis:100%}}
.switch{display:inline-flex;align-items:center;gap:10px;margin:0;cursor:pointer;font-weight:500}.switch input[role=switch]{appearance:none;-webkit-appearance:none;flex:none;width:44px;height:26px;min-height:26px;margin:0;padding:0;border-radius:999px;border:1px solid var(--field-border);background:radial-gradient(circle at 12px 50%,var(--muted) 0 8px,transparent 9px),var(--line);cursor:pointer}.switch input[role=switch]:checked{border-color:var(--green);background:radial-gradient(circle at 30px 50%,var(--on-accent) 0 8px,transparent 9px),var(--green)}[data-payment-when][hidden]{display:none}
.archived-budgets-dialog{width:min(560px,calc(100% - 32px));max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:20px;padding:24px;color:inherit;background:var(--white)}.archived-budgets-dialog::backdrop{background:var(--overlay)}.archived-budgets-dialog h2{margin:0}.archived-budgets-dialog .section-heading{gap:12px;margin-bottom:12px}.archived-budgets-dialog .movement form{margin:0}.budget-manage details+details{margin-top:12px}
.archived-budgets-dialog .movement{flex-wrap:wrap}.archived-budget-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;justify-content:flex-end}.archived-budget-delete>summary{list-style:none;cursor:pointer;background:var(--danger);border-color:var(--danger);color:var(--on-danger)}.archived-budget-delete>summary::-webkit-details-marker{display:none}.archived-budget-delete[open]{flex-basis:100%}.archived-budget-delete[open]>summary{display:inline-flex}
.archived-budget-actions:has(details[open]){flex-basis:100%}
