:root{--paper:#faf7f1;--paper-2:#f3eee4;--ink:#1b2340;--pencil:#6b6f7a;--rule:rgba(27,35,64,.12);--paid:#2f7a4a;--due:#b7791f;--late:#a63a3a;--space:4px;color-scheme:light;font:14px/1.5 system-ui,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;scroll-padding-top:24px}body{margin:0;min-height:100dvh}a{color:inherit;text-underline-offset:4px}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-user-select:none;user-select:none}button,input,select,textarea{font:inherit}button,.button{min-height:44px;padding:10px 16px;border:1px solid var(--rule);border-radius:4px;background:var(--paper);color:var(--ink);font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button.primary,.button.primary{border-color:var(--ink);background:var(--ink);color:var(--paper)}button:active,.button:active{transform:scale(.97)}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}input,select,textarea{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--rule);border-radius:4px;background:var(--paper-2);color:var(--ink);font-size:16px}textarea{min-height:96px;resize:vertical}input[type=checkbox]{width:22px;min-height:22px;accent-color:var(--ink);margin:0}input[type=file]{white-space:normal;padding:12px;max-width:100%}label{display:grid;gap:6px;font-weight:500;min-width:0}label.check{display:flex;align-items:center;gap:12px;min-height:44px}h1,h2,h3,.figure{font-family:Georgia,'Iowan Old Style','Palatino Linotype',serif;font-weight:500;line-height:1.2;letter-spacing:-.025em;text-wrap:balance}h1{font-size:34.18px;margin:0}h2{font-size:27.34px;margin:0 0 16px}h3{font-size:21.88px;margin:0 0 12px}p{margin:8px 0 16px;max-width:76ch;text-wrap:pretty}.muted,small{color:var(--pencil)}small{font-size:12px}.money{white-space:nowrap;font-variant-numeric:tabular-nums}.figure{font-size:34.18px;display:block;margin:8px 0}.paid{color:var(--paid)}.late{color:var(--late)}.due-soon,.warning{color:var(--due)}.status{font-size:12px;font-weight:600;white-space:nowrap;display:inline-block}.status.in-bankruptcy{color:var(--pencil)}.masthead{max-width:1120px;margin:auto;padding:28px 32px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:Georgia,serif;font-size:21.88px;text-decoration:none}.brand small{font:12px system-ui;display:block;margin-top:4px}.who{font-size:12px;text-align:right;overflow-wrap:anywhere}.nav{max-width:1056px;margin:24px auto 0;border-block:1px solid var(--rule);display:flex;gap:36px}.nav a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;text-decoration:none;color:var(--pencil);border-bottom:2px solid transparent}.nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}.nav svg{width:18px;height:18px;flex:none}.nav svg *{vector-effect:non-scaling-stroke}main{max-width:1120px;margin:auto;padding:40px 32px 48px;min-width:0}.page-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:28px}.page-heading p{margin:8px 0 0}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sheet{border-block:1px solid var(--rule);padding:24px 0;margin:24px 0}.columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px}.columns>*{min-width:0}.summary{display:flex;gap:56px;flex-wrap:wrap;border-bottom:1px solid var(--rule);padding:28px 0 32px;margin-bottom:32px}.summary p{margin:0}.summary .figure{font-size:34.18px}.month-controls{display:flex;gap:8px;align-items:center}.strip-wrap{overflow-x:auto;overscroll-behavior-x:contain;padding:8px 0 16px;scrollbar-width:thin}.month-strip{display:flex;min-width:100%;gap:4px}.day{flex:1 0 28px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 2px;border-radius:3px;min-height:68px;font-variant-numeric:tabular-nums}.day.today{background:var(--paper-2);outline:1px solid var(--ink);outline-offset:-1px}.day small{font-size:10px}.dots{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;max-width:24px}.dot{width:4px;height:4px;background:currentColor;border-radius:50%}.legend{display:flex;gap:16px;font-size:12px;color:var(--pencil)}.legend span{display:flex;align-items:center;gap:6px}.bill-list{list-style:none;padding:0;margin:0}.bill-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:18px 0;border-top:1px solid var(--rule);align-items:start}.bill-row:first-child{border-top:0}.bill-name{font-weight:600;overflow-wrap:anywhere}.bill-meta{color:var(--pencil);font-size:12px;margin-top:6px;overflow-wrap:anywhere}.bill-right{text-align:right}.bill-right>.money{display:block;font-size:17.5px;margin-bottom:8px}.bill-right a{font-size:12px;min-height:44px;display:inline-flex;align-items:center}.plan-card{background:var(--paper-2);padding:24px;border-radius:4px;margin:0 0 24px}.plan-card .figure{font-size:27.34px}.note{padding:16px 0;border-block:1px solid var(--rule);font-size:14px}.chips{display:flex;gap:8px;overflow-x:auto;white-space:nowrap;padding-bottom:12px;margin-bottom:20px}.chips a{flex:none;min-height:44px;display:flex;align-items:center;padding:8px 16px;border:1px solid var(--rule);border-radius:4px;text-decoration:none}.chips a[aria-current=page]{border-color:var(--ink);background:var(--paper-2)}details{border-top:1px solid var(--rule);padding:16px 0}summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center;gap:8px}summary::before{content:'+';font-size:20px;font-weight:400;width:20px}details[open]>summary::before{content:'−'}form.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;padding:16px 0}.full{grid-column:1/-1}.form-end{display:flex;align-items:center;gap:16px;flex-wrap:wrap;grid-column:1/-1}.error{color:var(--late);overflow-wrap:anywhere}.error:empty{display:none}.notice{background:var(--paper-2);padding:16px;border:1px solid var(--rule);margin:16px 0;overflow-wrap:anywhere}.empty{padding:28px 0;color:var(--pencil)}.table{width:100%;border-collapse:collapse;table-layout:auto}.table th{text-align:left;font-weight:500;color:var(--pencil);font-size:12px;padding:12px;border-bottom:1px solid var(--rule)}.table td{padding:16px 12px;border-bottom:1px solid var(--rule);vertical-align:top;overflow-wrap:anywhere;max-width:320px}.table th:first-child,.table td:first-child{padding-left:0}.table .money{text-align:right}.table th.right{text-align:right}.table a{display:inline-flex;align-items:center;min-height:44px}.table .compact{display:flex;gap:8px;align-items:center}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:24px}.filters label{flex:1;min-width:130px}.filters button{flex:none}.register-balance{font-weight:600}.ask{border:1px solid var(--rule);border-radius:4px;padding:20px 24px;margin-top:40px}.ask form{display:flex;gap:12px;align-items:end}.ask label{flex:1}.ask p{margin:8px 0 0;font-size:12px}.ask-answer{white-space:pre-wrap;overflow-wrap:anywhere;padding-top:16px;line-height:1.65}.footer{padding:0 32px 32px;max-width:1120px;margin:auto;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--pencil)}.auth{max-width:440px;margin:6dvh auto 12dvh}.auth form{display:grid;gap:20px;margin-top:28px}.auth h1{font-size:34.18px}.auth .rule{border-top:1px solid var(--rule);margin-top:32px;padding-top:20px}.upload-zone{padding:40px 24px;border:1px dashed var(--ink);border-radius:4px;text-align:center;margin:24px 0}.upload-zone label{max-width:540px;margin:auto}.upload-zone h2{margin:0 0 12px}.document-image{max-width:100%;height:auto;border:1px solid var(--rule);border-radius:4px}.doc-preview{width:100%;height:520px;border:1px solid var(--rule)}.budget-bar{height:6px;background:var(--rule);border-radius:2px;overflow:hidden;min-width:80px}.budget-fill{height:100%;background:var(--ink);width:var(--used)}.budget-fill.warning{background:var(--due)}.budget-fill.late{background:var(--late)}.history{display:flex;gap:20px;align-items:end;min-height:150px;padding-top:20px}.history-month{flex:1;min-width:0;text-align:center}.history-amount{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.history-bar{height:var(--height);background:var(--ink);max-width:48px;margin:12px auto}.settings-section{margin-bottom:36px}.settings-section h2{margin-top:24px}.qr{max-width:220px;width:100%;height:auto}.secret{overflow-wrap:anywhere;font-family:monospace}.dev-switch{position:fixed;bottom:8px;left:50%;transform:translateX(-50%);z-index:9;display:flex;max-width:95%;overflow:auto;gap:4px;padding:4px;background:var(--paper-2);border:1px solid var(--rule);border-radius:4px}.dev-switch a{font:11px system-ui;min-height:28px;padding:6px 8px;white-space:nowrap;text-decoration:none}.dev-switch a.active{background:var(--paper);font-weight:600}.skip{position:absolute;left:-10000px}.skip:focus{left:16px;top:16px;background:var(--paper);padding:16px;z-index:100}.wrap{overflow-wrap:anywhere;min-width:0}code{overflow-wrap:anywhere}.inline-form{display:inline-flex;gap:8px;align-items:center}.inline-form input:not([type=checkbox]){max-width:140px}.breakdown{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px}.breakdown dt,.breakdown dd{margin:0;padding:8px 0;border-bottom:1px solid var(--rule)}
@media(hover:hover) and (pointer:fine){button:hover,.button:hover,.chips a:hover{background:var(--paper-2)}button.primary:hover,.button.primary:hover{opacity:.85;background:var(--ink)}.nav a:hover,a:hover{color:var(--ink)}}
@media(prefers-color-scheme:dark){:root{--paper:#181b25;--paper-2:#212532;--ink:#e5e9f5;--pencil:#a7aab3;--rule:rgba(229,233,245,.14);--paid:#85bd96;--due:#d4ad70;--late:#db9292;color-scheme:dark}}
@media(max-width:700px){.masthead{padding:20px 20px 0;gap:12px}.brand{font-size:20px}.who{max-width:120px}.nav{position:fixed;bottom:0;left:0;right:0;z-index:10;margin:0;gap:0;background:var(--paper);padding:4px 8px max(4px,env(safe-area-inset-bottom));border-top:1px solid var(--rule);border-bottom:0;justify-content:space-around}.nav a{flex:1;flex-direction:column;font-size:11px;gap:4px;min-height:56px;border-bottom:0;border-top:2px solid transparent}.nav a[aria-current=page]{border-top-color:var(--ink)}main{padding:28px 20px 36px}h1{font-size:27.34px}h2{font-size:21.88px}h3{font-size:17.5px}.page-heading{align-items:start;flex-wrap:wrap;gap:16px;margin-bottom:20px}.page-heading>.actions{width:100%}.month-controls .button{padding:8px 14px}.columns{grid-template-columns:minmax(0,1fr);gap:24px}.summary{gap:20px 28px;margin-bottom:24px;padding:24px 0}.summary p{flex:1 0 130px}.summary .figure{font-size:27.34px}.summary p:last-child{flex-basis:100%}.summary p:last-child .figure{font-size:34.18px}.legend{gap:12px;flex-wrap:wrap}.month-strip{gap:4px}.day{flex-basis:36px}.plan-card{padding:20px}.sheet{padding:20px 0;margin:20px 0}form.grid{grid-template-columns:minmax(0,1fr);gap:16px}.full,.form-end{grid-column:1}.table,.table tbody{display:block}.table thead{display:none}.table tr{display:block;padding:16px 0;border-bottom:1px solid var(--rule)}.table td,.table td:first-child{display:grid;grid-template-columns:minmax(85px,1fr) minmax(0,1.8fr);gap:12px;padding:6px 0;border:0;max-width:none;text-align:left}.table td::before{content:attr(data-label);font-size:12px;color:var(--pencil);font-weight:400;white-space:normal}.table td.money{text-align:right}.table td.name{display:block;font-weight:600;margin-bottom:8px}.table td.name::before{display:none}.table .money{font-size:14px}.ask{padding:16px;margin-top:28px}.ask form{flex-wrap:wrap}.ask label{flex-basis:100%}.ask button{width:100%}.footer{padding:0 20px calc(96px + env(safe-area-inset-bottom));display:block}.footer span{display:block;margin-bottom:8px}.auth{margin:40px auto 60px}.upload-zone{padding:28px 12px}.history{gap:8px}.history-amount{font-size:10px}.dev-switch{bottom:76px}.doc-preview{height:400px}.filters label{min-width:calc(50% - 12px)}.filters button{width:100%}}
@media(prefers-reduced-motion:reduce){button:active,.button:active{transform:none}}
@media print{.nav,.ask,button,.actions,.dev-switch,details,.filters{display:none}body{color:#1b2340;background:#faf7f1}.table,.table tbody{display:table}.table tr{display:table-row}.table td{display:table-cell}.table td::before{display:none}.table thead{display:table-header-group}main{padding:16px}.footer{padding:16px}.masthead{padding:0}}
.auth form.grid{grid-template-columns:minmax(0,1fr)}.page-heading form.grid{display:block;padding:0}.page-heading form.grid .form-end{display:block}.page-heading form.grid .error{max-width:160px}.doc-preview{background:var(--paper-2)}
h1,h2,h3{overflow-wrap:anywhere}
.history-pair{display:flex;align-items:end;justify-content:center;gap:4px;height:112px}.history-pair .history-bar{width:24px;margin:0}.history-approved{width:24px;background:var(--rule);height:var(--height)}.ask-suggestion{margin-top:12px;padding:16px;background:var(--paper-2);border-radius:4px}

@media(min-width:761px){.every-dollar td:nth-child(2){white-space:nowrap}.every-dollar td:last-child{width:220px}.every-dollar form.grid{display:block}.every-dollar .form-end{margin-top:8px}}
progress {width:100%;height:12px;accent-color:var(--ink)}
.book-dot {color:var(--ink);font-size:.7em}
