:root{--paper: #f6f8f5;--surface: #ffffff;--ink: #1d2f6f;--ink-soft: #e8ecf7;--ink-hover: #2a3f8c;--rule: #d5e3d6;--rule-strong: #aac4ad;--text: #22262e;--muted: #565d6b;--faint: #7e8593;--in: #17714a;--in-soft: #e3f2ea;--out: #22262e;--red: #b42318;--red-soft: #fdecea;--amber: #8a5a00;--amber-soft: #fdf3dc;--chart-in: #1f8a5b;--chart-out: #2f4ba8;--focus: #2f4ba8;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--hover: #fafcf9;--subtle: #f1f4f1;--field-bg: #ffffff;--field-border: #c9d3cb;--btn-border: #c4cde6;--on-ink: #ffffff;--nav-bg: #1d2f6f;--nav-fg: #ffffff;--nav-link: #e4e9f7;--nav-muted: #aab5da;--nav-hover: rgba(255,255,255,.08);--nav-line: rgba(255,255,255,.16);--nav-active-bg: #ffffff;--nav-active-fg: #1d2f6f;--hero-bg: #1d2f6f;--hero-fg: #ffffff;--hero-muted: #c8d0ec;--hero-neg: #ffb4ab;--font: "Schibsted Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--nav-w: 236px;--bottom-h: 64px;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.in{color:var(--in)}.neg{color:var(--red)}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:13px}.tiny{font-size:12px}.strong{font-weight:600}.right{text-align:right}.row{display:flex;align-items:center;gap:8px}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:12px}.stack-lg{display:flex;flex-direction:column;gap:24px}.grow{flex:1 1 auto;min-width:0}.only-sm{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell{background:linear-gradient(to right,var(--nav-bg) var(--nav-w),var(--paper) 0);display:grid;grid-template-columns:var(--nav-w) 1fr;min-height:100vh}.sidenav{background:var(--nav-bg);color:var(--nav-fg);padding:20px 14px;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 18px;font-weight:800;font-size:19px;letter-spacing:-.01em}.brand svg{width:28px;height:28px}.navgroup{margin:14px 10px 4px;font-size:12px;color:var(--nav-muted)}.navlink{display:flex;align-items:center;gap:10px;color:var(--nav-link);text-decoration:none;padding:8px 10px;border-radius:var(--r-sm);font-weight:500}.navlink:hover{background:var(--nav-hover);color:var(--nav-fg)}.navlink[aria-current=page]{background:var(--nav-active-bg);color:var(--nav-active-fg)}.navlink svg{width:18px;height:18px;flex:none}.navfoot{margin-top:auto;padding:14px 10px 0;border-top:1px solid var(--nav-line);font-size:13px;color:var(--nav-muted)}.navfoot button{background:none;border:0;color:var(--nav-fg);padding:6px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.main{min-width:0;padding:28px 36px 64px}.page{max-width:1120px;margin:0 auto}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.pagehead h1{margin:0;font-size:28px;line-height:1.15;letter-spacing:-.02em;font-weight:700}.pagehead p{margin:4px 0 0;color:var(--muted)}.bottomnav{display:none}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md)}.panel-pad{padding:18px 20px}.panel h2,.section-title{margin:0 0 12px;font-size:17px;font-weight:650;letter-spacing:-.01em}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 0}.panel-head h2{margin:0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;align-items:start}.monthbar{display:inline-flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--rule);border-radius:999px;padding:4px}.monthbar button{border:0;background:none;width:34px;height:34px;border-radius:999px;cursor:pointer;display:grid;place-items:center;color:var(--ink)}.monthbar button:hover{background:var(--ink-soft)}.monthbar .label{min-width:150px;text-align:center;font-weight:650}.monthbar select{border:0;background:none;font-weight:650;padding:0 4px;cursor:pointer}.pillars{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md)}.pillars.cols3{grid-template-columns:repeat(3,1fr)}.pillar{padding:18px 20px 16px;border-left:1px solid var(--rule);min-width:0;text-decoration:none;color:inherit;display:block}.pillar:first-child{border-left:0}a.pillar:hover{background:var(--hover)}.pillar .k{font-size:13px;color:var(--muted);font-weight:500}.pillar .v{font-size:26px;font-weight:700;letter-spacing:-.02em;margin-top:2px}.pillar .s{font-size:12.5px;color:var(--faint);margin-top:2px}.pillar.net{background:var(--hero-bg);color:var(--hero-fg);border-radius:0 var(--r-md) var(--r-md) 0}.pillar.net .k,.pillar.net .s{color:var(--hero-muted)}.pillar.net .v.neg{color:var(--hero-neg)}.minis{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:10px}.mini{padding:10px 20px;border-left:1px solid var(--rule)}.mini:first-child{border-left:0}.mini .k{font-size:12.5px;color:var(--muted)}.mini .v{font-weight:650}.ledger{position:relative}.ledger-head,.lline{display:grid;grid-template-columns:minmax(120px,1.3fr) minmax(140px,2fr) 110px 110px 110px 44px;gap:14px;align-items:center;padding:0 20px}.ledger-head{font-size:12.5px;color:var(--muted);padding-top:10px;padding-bottom:8px;border-bottom:1px solid var(--rule-strong)}.lline{min-height:52px;border-bottom:1px solid var(--rule)}.lline:last-child{border-bottom:0}.lline .title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lline .meta{font-size:12.5px;color:var(--faint)}.ruler{position:relative;height:14px}.ruler .track{position:absolute;left:0;right:0;top:6px;height:2px;background:var(--rule)}.ruler .fill{position:absolute;left:0;top:3px;height:8px;background:var(--ink);border-radius:0 4px 4px 0}.ruler .fill.done{background:var(--in)}.ruler .over{position:absolute;top:3px;height:8px;background:var(--red);border-radius:0 4px 4px 0}.ruler .margin{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--red);opacity:.9}.ruler .pend{position:absolute;top:3px;height:8px;background:repeating-linear-gradient(135deg,var(--ink) 0 2px,transparent 2px 5px);opacity:.55}.ledger-total{display:grid;grid-template-columns:minmax(120px,1.3fr) minmax(140px,2fr) 110px 110px 110px 44px;gap:14px;padding:12px 20px;border-top:2px solid var(--ink);font-weight:700;align-items:center}.ledger-total.sub{border-top:1px solid var(--rule-strong);font-weight:600}.list{list-style:none;margin:0;padding:0}.item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:11px 20px;border-bottom:1px solid var(--rule);cursor:pointer;background:none;width:100%;text-align:left;border-left:0;border-right:0;border-top:0}.item:hover{background:var(--hover)}.item:last-child{border-bottom:0}.item .t{font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item .m{font-size:12.5px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item .a{font-weight:650;text-align:right}.item.void .t,.item.void .a{text-decoration:line-through;color:var(--faint)}.daygroup{border-bottom:1px solid var(--rule-strong)}.dayhead{display:flex;justify-content:space-between;align-items:baseline;padding:12px 20px 6px;background:var(--subtle);border-bottom:1px solid var(--rule)}.dayhead .d{font-weight:650}.tag{display:inline-block;font-size:12px;padding:1px 8px;border-radius:999px;background:var(--ink-soft);color:var(--ink);font-weight:500;white-space:nowrap}.tag.pending{background:var(--amber-soft);color:var(--amber)}.tag.void{background:var(--subtle);color:var(--muted)}.tag.in{background:var(--in-soft);color:var(--in)}.tag.red{background:var(--red-soft);color:var(--red)}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:12px 16px 16px}.cal .dow{font-size:12px;color:var(--faint);text-align:center;padding-bottom:2px}.cal button{border:1px solid var(--rule);background:var(--surface);border-radius:var(--r-sm);min-height:58px;padding:5px 6px;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;position:relative}.cal button:hover{border-color:var(--rule-strong)}.cal button.today .dn{color:var(--on-ink);background:var(--ink);border-radius:999px;padding:0 6px}.cal button[aria-pressed=true]{border:2px solid var(--ink);padding:4px 5px}.cal button.empty{visibility:hidden}.cal .dn{font-size:12.5px;font-weight:600;align-self:flex-start}.cal .amt{font-size:12px;font-weight:650}.cal .heat{position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:0 0 var(--r-sm) var(--r-sm);background:var(--ink)}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field>label{font-size:13px;font-weight:550;color:var(--muted)}.field .hint{font-size:12.5px;color:var(--faint)}.field .err{font-size:12.5px;color:var(--red)}.input,.select,.textarea{width:100%;border:1px solid var(--field-border);border-radius:var(--r-sm);background:var(--field-bg);padding:9px 11px;min-height:42px}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--focus);outline-offset:0;border-color:transparent}.input[aria-invalid=true]{border-color:var(--red)}.textarea{min-height:72px;resize:vertical}.amount-input{font-size:28px;font-weight:700;letter-spacing:-.02em;padding:8px 12px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.formgrid .full{grid-column:1 / -1}.seg{display:inline-flex;border:1px solid var(--rule-strong);border-radius:var(--r-sm);overflow:hidden;background:var(--field-bg);flex-wrap:wrap}.seg button{border:0;background:none;padding:8px 12px;cursor:pointer;font-weight:550;color:var(--muted);border-left:1px solid var(--rule)}.seg button:first-child{border-left:0}.seg button[aria-pressed=true]{background:var(--ink);color:var(--on-ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--r-sm);padding:9px 16px;min-height:40px;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;background:var(--ink);color:var(--on-ink)}.btn:hover{background:var(--ink-hover)}.btn:disabled{opacity:.55;cursor:default}.btn.secondary{background:var(--field-bg);color:var(--ink);border-color:var(--btn-border)}.btn.secondary:hover{background:var(--ink-soft)}.btn.ghost{background:none;color:var(--ink);padding:6px 10px;min-height:34px}.btn.ghost:hover{background:var(--ink-soft)}.btn.danger{background:var(--red)}.btn.danger:hover{background:#932015}.btn.small{padding:5px 10px;min-height:32px;font-size:13.5px}.btn.in{background:var(--in)}.btn svg{width:17px;height:17px}.iconbtn{border:0;background:none;width:34px;height:34px;border-radius:var(--r-sm);display:grid;place-items:center;cursor:pointer;color:var(--muted)}.iconbtn:hover{background:var(--ink-soft);color:var(--ink)}.iconbtn svg{width:18px;height:18px}.quick{display:flex;gap:8px;flex-wrap:wrap}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--rule-strong);overflow-x:auto;scrollbar-width:none}.tabs button{border:0;background:none;padding:10px 14px;cursor:pointer;font-weight:550;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;padding:14px 20px;border-bottom:1px solid var(--rule)}.toolbar .field{min-width:130px}.toolbar .field.search{flex:1 1 220px}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12.5px;color:var(--muted);font-weight:550;padding:10px 14px;border-bottom:1px solid var(--rule-strong);white-space:nowrap}.table td{padding:10px 14px;border-bottom:1px solid var(--rule);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table .num,.table th.num{text-align:right}.table tfoot td{border-top:2px solid var(--ink);font-weight:700;border-bottom:0}.table tbody tr.click{cursor:pointer}.table tbody tr.click:hover{background:var(--hover)}.tablewrap{overflow-x:auto}.backdrop{position:fixed;inset:0;background:#141c366b;z-index:50;display:flex;justify-content:flex-end}.sheet{background:var(--paper);width:min(560px,100%);height:100%;overflow-y:auto;display:flex;flex-direction:column;animation:slidein .16s ease-out;box-shadow:-12px 0 40px #141c362e}@keyframes slidein{0%{transform:translate(24px);opacity:.6}to{transform:none;opacity:1}}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:var(--surface);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:1}.sheet-head h2{margin:0;font-size:19px}.sheet-body{padding:20px 22px;flex:1}.sheet-foot{padding:14px 22px;background:var(--surface);border-top:1px solid var(--rule);display:flex;gap:10px;justify-content:flex-end;position:sticky;bottom:0}.dialog-wrap{position:fixed;inset:0;background:#141c366b;z-index:60;display:grid;place-items:center;padding:16px}.dialog{background:var(--surface);border-radius:var(--r-lg);padding:22px;width:min(440px,100%);box-shadow:0 20px 50px #141c3640}.dialog h2{margin:0 0 8px;font-size:19px}.toasts{position:fixed;z-index:80;left:50%;transform:translate(-50%);bottom:22px;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:var(--text);color:var(--surface);padding:10px 16px;border-radius:var(--r-sm);font-weight:550;box-shadow:0 8px 24px #0003;pointer-events:auto;max-width:92vw}.toast.error{background:var(--red)}.notice{padding:12px 14px;border-radius:var(--r-sm);background:var(--ink-soft);color:var(--ink);font-size:14px}.notice.error{background:var(--red-soft);color:var(--red)}.notice.warn{background:var(--amber-soft);color:var(--amber)}.notice.ok{background:var(--in-soft);color:var(--in)}.empty{padding:34px 20px;text-align:center;color:var(--muted)}.empty h3{margin:0 0 6px;color:var(--text);font-size:16px}.empty p{margin:0 auto 14px;max-width:44ch}.skeleton{background:linear-gradient(90deg,var(--subtle),var(--hover),var(--subtle));background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:var(--r-sm);min-height:18px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-page{padding:60px;text-align:center;color:var(--muted)}.chart{width:100%;display:block}.chart text{font-family:var(--font);fill:var(--muted);font-size:11.5px}.chart .grid{stroke:var(--rule);stroke-width:1}.chart .axis{stroke:var(--rule-strong);stroke-width:1}.legend{display:flex;gap:16px;font-size:13px;color:var(--muted);flex-wrap:wrap}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.legend i.dash{background:none;border:2px dashed var(--muted);width:12px;height:10px;border-radius:2px}.tip{position:absolute;pointer-events:none;background:var(--text);color:var(--surface);padding:8px 10px;border-radius:var(--r-sm);font-size:12.5px;z-index:5;white-space:nowrap;transform:translate(-50%,calc(-100% - 10px))}.tip b{font-weight:650}.hbar{display:grid;grid-template-columns:minmax(90px,160px) 1fr auto;gap:10px;align-items:center;padding:6px 0}.hbar .bar{height:10px;background:var(--chart-out);border-radius:0 4px 4px 0;min-width:2px}.hbar .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.hbar.in .bar{background:var(--chart-in)}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-art{background:var(--hero-bg);color:var(--hero-fg);padding:48px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-art .lines{position:absolute;inset:0;background-image:repeating-linear-gradient(to bottom,transparent 0 43px,rgba(213,227,214,.18) 43px 44px)}.auth-art .lines:after{content:"";position:absolute;top:0;bottom:0;left:96px;width:2px;background:#e5484da6}.auth-art>*{position:relative}.auth-art h1{font-size:44px;line-height:1.05;letter-spacing:-.03em;margin:0;max-width:12ch;font-weight:800}.auth-art p{color:var(--hero-muted);max-width:40ch;font-size:16px}.auth-form{display:grid;place-items:center;padding:32px 20px}.auth-card{width:min(400px,100%)}.auth-card h2{font-size:26px;margin:0 0 4px;letter-spacing:-.02em}.auth-card .sub{color:var(--muted);margin:0 0 22px}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:grid;grid-template-columns:14px 1fr;gap:12px;padding:0 0 16px;position:relative}.timeline li:before{content:"";position:absolute;left:6px;top:16px;bottom:0;width:2px;background:var(--rule)}.timeline li:last-child:before{display:none}.timeline .dot{width:14px;height:14px;border-radius:999px;border:3px solid var(--ink);background:var(--surface);margin-top:4px}.timeline .dot.void{border-color:var(--red)}.timeline .dot.create{border-color:var(--in)}.change{font-size:14px}.change del{color:var(--red);text-decoration:line-through}.change ins{color:var(--in);text-decoration:none;font-weight:600}.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 14px;font-size:14.5px}.kv dt{color:var(--muted)}.kv dd{margin:0}.bigamount{font-size:34px;font-weight:750;letter-spacing:-.02em}.progress{height:8px;background:var(--rule);border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--in);border-radius:999px}@media(max-width:1100px){.ledger-head,.lline,.ledger-total{grid-template-columns:minmax(110px,1.2fr) minmax(90px,1.2fr) 96px 96px 96px 40px;gap:10px}}@media(max-width:900px){.shell{grid-template-columns:1fr;background:var(--paper)}.pillars.cols3{grid-template-columns:1fr}.pillars.cols3 .pillar{border-left:0;border-top:1px solid var(--rule)}.pillars.cols3 .pillar:first-child{border-top:0}.sidenav{display:none}.main{padding:16px 16px calc(var(--bottom-h) + 28px)}.bottomnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--surface);border-top:1px solid var(--rule-strong);height:calc(var(--bottom-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.bottomnav a,.bottomnav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11.5px;color:var(--muted);text-decoration:none;background:none;border:0;cursor:pointer;font-weight:550}.bottomnav a[aria-current=page]{color:var(--ink)}.bottomnav svg{width:22px;height:22px}.bottomnav .add span.plus{width:46px;height:46px;border-radius:999px;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;margin-top:-18px;box-shadow:0 4px 14px #1d2f6f59}.pagehead h1{font-size:23px}.grid2,.grid3,.grid-main{grid-template-columns:1fr}.pillars{grid-template-columns:1fr 1fr}.pillar:nth-child(3){border-left:0}.pillar:nth-child(n+3){border-top:1px solid var(--rule)}.pillar.net{border-radius:0 0 var(--r-md) 0}.pillar .v{font-size:21px}.minis{grid-template-columns:1fr 1fr}.mini:nth-child(3){border-left:0}.hide-sm{display:none!important}.only-sm{display:initial}.ledger-head{display:none}.lline{grid-template-columns:1fr auto 36px;grid-template-areas:"title amt act" "ruler ruler ruler" "meta meta meta";gap:4px 10px;padding:10px 16px}.lline>.c-title{grid-area:title}.lline>.c-ruler{grid-area:ruler}.lline>.c-est{display:none}.lline>.c-act{grid-area:amt}.lline>.c-diff{grid-area:meta;text-align:left!important;font-size:12.5px}.lline>.c-menu{grid-area:act}.ledger-total{grid-template-columns:1fr auto;padding:12px 16px}.ledger-total>.c-ruler,.ledger-total>.c-menu,.ledger-total>.c-est,.ledger-total>.c-diff{display:none}.formgrid{grid-template-columns:1fr}.item{padding:11px 16px}.dayhead{padding:12px 16px 6px}.toolbar{padding:12px 16px}.auth{grid-template-columns:1fr}.auth-art{padding:28px 22px;min-height:200px}.auth-art h1{font-size:30px}.auth-art .foot{display:none}.cal{padding:10px;gap:3px}.cal button{min-height:50px;padding:4px}.cal .amt{font-size:10.5px}.kv{grid-template-columns:110px 1fr}.sheet{width:100%}.toasts{bottom:calc(var(--bottom-h) + 18px)}}.monthlist{display:flex;flex-direction:column;gap:1px;margin-bottom:4px}.monthlist-year{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 6px 10px;font-weight:700}.monthlist-year button{border:0;background:none;color:inherit;width:28px;height:28px;border-radius:var(--r-sm);display:grid;place-items:center;cursor:pointer}.monthlist-year button:disabled{opacity:.3;cursor:default}.monthlist-year svg{width:16px;height:16px}.monthlink{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 10px;border-radius:var(--r-sm);text-decoration:none;color:var(--text);font-weight:500}.monthlink:hover{background:var(--ink-soft)}.monthlink .mamt{font-size:12.5px;color:var(--faint);font-weight:500}.monthlink .mnow{font-size:11px;margin-left:6px;padding:0 6px;border-radius:999px;background:var(--ink-soft);color:var(--ink);font-weight:600;vertical-align:1px}.monthlink.future{font-style:italic}.monthlink[aria-current=page]{background:var(--ink);color:var(--on-ink)}.monthlink[aria-current=page] .mamt{color:var(--hero-muted)}.monthlist-empty{padding:6px 10px;font-size:13px;opacity:.7}.monthlist.dark .monthlink{color:var(--nav-link);padding:5px 10px}.monthlist.dark .monthlink:hover{background:var(--nav-hover);color:var(--nav-fg)}.monthlist.dark .monthlink .mamt{color:var(--nav-muted)}.monthlist.dark .monthlink .mnow{background:var(--nav-line);color:var(--nav-fg)}.monthlist.dark .monthlink[aria-current=page]{background:var(--nav-active-bg);color:var(--nav-active-fg)}.monthlist.dark .monthlink[aria-current=page] .mamt{color:var(--muted)}.monthlist.dark .monthlink[aria-current=page] .mnow{background:var(--ink-soft);color:var(--ink)}.monthlist.dark .monthlist-year{color:var(--nav-fg)}.sidenav .navlink{padding:7px 10px}.month-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.month-aside{position:sticky;top:16px}.overview{display:flex;gap:28px;align-items:center;padding:22px 24px}.ov-rows{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.ov-rows>div{display:flex;flex-direction:column;border-left:3px solid var(--rule);padding-left:12px}.ov-rows .k{font-size:13px;color:var(--muted)}.ov-rows .v{font-size:22px;font-weight:700;letter-spacing:-.01em}.breakdown{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start;padding:12px 20px 16px}.donut-wrap{display:grid;place-items:center;padding-top:8px;position:sticky;top:16px}.bd-table td,.bd-table th{padding:8px 10px}.bd-table tr.hl>td{background:var(--ink-soft)}.bd-table .detail-row>td{background:var(--hover);border-bottom:1px solid var(--rule-strong)}.swatch{display:inline-block;width:12px;height:12px;border-radius:3px;flex:none;margin-top:4px}.cal.compact{gap:3px;padding:8px 12px 14px}.cal.compact button{min-height:44px;padding:3px 4px}.cal.compact .amt{font-size:10.5px}.cal .income-dot{position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:999px;background:var(--chart-in)}.monthlist-year{gap:8px}.monthlist-year label{font-size:13px;opacity:.8;font-weight:500}.monthlist-year select{border:1px solid var(--nav-line);background:var(--nav-hover);color:inherit;border-radius:var(--r-sm);padding:4px 8px;font-weight:700;cursor:pointer}.monthlist:not(.dark) .monthlist-year select{border-color:var(--rule-strong);background:var(--field-bg)}.monthlist-year select option{color:var(--text)}@media(max-width:1100px){.month-grid{grid-template-columns:1fr}.month-aside{position:static}}@media(max-width:900px){.overview{flex-direction:column;align-items:stretch;text-align:left}.overview>svg{align-self:center}.breakdown{grid-template-columns:1fr;padding:12px 8px 16px}.donut-wrap{position:static}.ov-rows .v{font-size:18px}}.step-label{display:flex;align-items:center;gap:8px;font-weight:650;font-size:15px}.stepnum{width:22px;height:22px;border-radius:999px;background:var(--ink);color:var(--on-ink);font-size:12px;display:grid;place-items:center;flex:none}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--field-border);background:var(--field-bg);border-radius:999px;padding:7px 13px;cursor:pointer;font-weight:550;font-size:14px;color:var(--text);position:relative;min-height:36px}.chip:hover{border-color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.chip.extra{border-style:dashed;color:var(--ink)}.chip.extra[aria-pressed=true]{color:var(--on-ink);border-style:solid}.chip-dot{display:inline-block;width:6px;height:6px;border-radius:999px;background:var(--chart-in);margin-left:6px;vertical-align:2px}.date-line{padding:10px 12px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-sm)}.err{color:var(--red)}.remind{border:1px solid var(--rule-strong);border-radius:var(--r-md);padding:12px 14px 14px;margin:0;display:flex;flex-direction:column;gap:10px;background:var(--surface)}.remind legend{font-weight:650;font-size:14px;padding:0 6px}.remind:disabled{opacity:.6}.month-grid .pillar .v{font-size:21px;overflow-wrap:anywhere}.month-grid .pillar{padding:16px 16px 14px}.acc-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--r-md);text-align:left}.acc-chip-text{display:flex;flex-direction:column;line-height:1.2}.acc-chip-bal{font-size:12px;font-weight:500;opacity:.75}.acc-row{padding:14px 20px;border-bottom:1px solid var(--rule)}.acc-row:last-child{border-bottom:0}.acc-row.closed{opacity:.6}.acc-main{display:flex;justify-content:space-between;align-items:center;gap:16px}.acc-bal{display:flex;flex-direction:column;align-items:flex-end}.acc-bal .big{font-size:22px;font-weight:700;letter-spacing:-.01em}.acc-actions{margin-top:10px;gap:6px}.acc-entries{margin:10px -20px -14px;border-top:1px solid var(--rule);background:var(--hover)}.money-strip .ms-row{display:grid;grid-template-columns:repeat(4,1fr);padding:6px 0 4px}.money-strip.compact .ms-row{grid-template-columns:1fr;padding:4px 0 8px}.ms-cell{display:flex;flex-direction:column;gap:2px;padding:8px 20px 12px;text-decoration:none;color:inherit;border-left:1px solid var(--rule)}.ms-cell:first-child{border-left:0}a.ms-cell:hover{background:var(--hover)}.ms-cell .k{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px}.ms-cell .v{font-size:20px;font-weight:700}.money-strip.compact .ms-cell{flex-direction:row;justify-content:space-between;align-items:center;border-left:0;padding:7px 20px}.money-strip.compact .ms-cell .v{font-size:16px}.ms-cell.total{background:var(--ink-soft);border-radius:0 0 var(--r-md) 0}@media(max-width:900px){.money-strip .ms-row{grid-template-columns:1fr 1fr}.ms-cell:nth-child(3){border-left:0}.acc-main{align-items:flex-start}}.sidenav{border-right:var(--nav-border, 0)}:root[data-theme=green]{--paper: #f2f6f3;--surface: #ffffff;--ink: #0e4d3a;--ink-soft: #e0eee7;--ink-hover: #146149;--rule: #d9e5dd;--rule-strong: #afc6b8;--text: #1b2420;--muted: #52605a;--faint: #7a8781;--in: #0f7a4a;--in-soft: #dff3e8;--focus: #0e4d3a;--chart-in: #12885a;--chart-out: #2f4ba8;--hover: #f6faf7;--subtle: #edf3ef;--field-border: #bfd0c5;--btn-border: #b9cfc3;--nav-bg: #0b3b2d;--nav-link: #d4e8dd;--nav-muted: #8fb4a2;--nav-active-bg: #ffffff;--nav-active-fg: #0b3b2d;--hero-bg: #0e4d3a;--hero-muted: #b9d6c8;--logo-bg: #ffffff;--logo-ink: #0b3b2d}:root[data-theme=midnight]{color-scheme:dark;--paper: #0f131a;--surface: #171c26;--ink: #7aa2ff;--ink-soft: #212b40;--ink-hover: #95b6ff;--rule: #262e3d;--rule-strong: #384356;--text: #e6eaf2;--muted: #a3acbd;--faint: #7c8699;--in: #4ade9b;--in-soft: #13321f;--red: #ff7b72;--red-soft: #3a1d1f;--amber: #f2c14e;--amber-soft: #3a2f12;--focus: #95b6ff;--chart-in: #199e70;--chart-out: #3987e5;--hover: #1c2230;--subtle: #1a202c;--field-bg: #11151d;--field-border: #384356;--btn-border: #384356;--on-ink: #0b0e14;--nav-bg: #0b0e14;--nav-link: #c9d1e0;--nav-muted: #7c8699;--nav-hover: rgba(255,255,255,.06);--nav-line: rgba(255,255,255,.12);--nav-active-bg: #7aa2ff;--nav-active-fg: #0b0e14;--hero-bg: #1e2a47;--hero-muted: #a9b8da;--hero-neg: #ff9b94;--logo-bg: #7aa2ff;--logo-ink: #0b0e14}:root[data-theme=midnight] .btn.secondary{color:var(--text)}:root[data-theme=midnight] .tag{color:var(--text)}:root[data-theme=clean]{--paper: #f6f6fa;--surface: #ffffff;--ink: #4338ca;--ink-soft: #eef0ff;--ink-hover: #3730a3;--rule: #e7e7f0;--rule-strong: #d2d3e0;--text: #1a1b2e;--muted: #555770;--faint: #8a8ca3;--focus: #4338ca;--chart-out: #4f46e5;--r-md: 14px;--r-lg: 20px;--r-sm: 9px;--hover: #f8f8fc;--subtle: #f1f1f7;--field-border: #d6d7e3;--btn-border: #d6d7e3;--nav-bg: #ffffff;--nav-fg: #1a1b2e;--nav-link: #4a4c63;--nav-muted: #8a8ca3;--nav-hover: #f2f2f8;--nav-line: #e7e7f0;--nav-active-bg: #eef0ff;--nav-active-fg: #4338ca;--nav-border: 1px solid #e7e7f0;--hero-bg: #4338ca;--hero-muted: #d4d1ff;--logo-bg: #4338ca;--logo-ink: #ffffff}:root[data-theme=clean] .panel,:root[data-theme=clean] .pillars{box-shadow:0 1px 2px #1a1b2e0a}.btn.nav-add{margin:0 4px 10px;background:var(--nav-active-bg);color:var(--nav-active-fg);border:1px solid transparent}.btn.nav-add:hover{filter:brightness(.97);background:var(--nav-active-bg)}:root[data-theme=clean] .btn.nav-add{background:var(--ink);color:#fff}.theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.theme-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;border:1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);cursor:pointer;text-align:left}.theme-card[aria-checked=true]{border:2px solid var(--ink);padding:11px}.theme-swatches{display:flex;width:100%;height:34px;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--rule)}.theme-swatches i{flex:1}@media(max-width:900px){.theme-grid{grid-template-columns:1fr 1fr}}.signup-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;margin-top:4px;border-top:1px solid var(--rule)}.fx-line{display:grid;gap:6px;margin-top:-6px}.card-bill{margin-top:10px;border:1px solid var(--rule);border-left:3px solid var(--rule-strong);border-radius:10px;padding:10px 12px;background:var(--subtle)}.card-bill.overdue{border-left-color:var(--red);background:var(--red-soft)}.card-bill.soon{border-left-color:var(--amber);background:var(--amber-soft)}.card-bill.paid{border-left-color:var(--in)}.bill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px 14px;margin:8px 0 0}.bill-grid dt{font-size:12px;color:var(--muted)}.bill-grid dd{margin:0;font-size:15px}.fieldset{border:1px solid var(--rule);border-radius:12px;padding:12px 14px 14px;margin:0;min-width:0}.fieldset legend{font-weight:600;padding:0 6px;font-size:14px}.rate-list{margin:4px 0 14px}.rate-list li{padding:8px 0;border-bottom:1px solid var(--rule)}.rate-form .field{flex:1 1 180px}.offline-bar{margin:0 0 14px;padding:10px 14px;border-radius:12px;background:var(--amber-soft);color:var(--text);border:1px solid var(--rule);font-size:14px}.offline-bar.off{background:var(--ink-soft)}.outbox{margin-top:8px}.outbox li{padding:8px 0;border-top:1px solid var(--rule);gap:8px}.lock{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--paper);padding:24px 16px}.lock-card{width:100%;max-width:320px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.lock-logo{width:44px;height:44px;display:inline-block;margin-bottom:6px}.lock h1{margin:0;font-size:22px}.pin-dots{display:flex;gap:14px;margin:14px 0 4px}.pin-dots span{width:14px;height:14px;border-radius:50%;border:2px solid var(--ink)}.pin-dots span.on{background:var(--ink)}.pin-dots.shake{animation:shake .35s}@keyframes shake{25%{transform:translate(-8px)}75%{transform:translate(8px)}}.lock-msg{min-height:20px;color:var(--red)}.keypad{display:grid;grid-template-columns:repeat(3,72px);gap:12px 22px;margin:8px 0 14px}.keypad button{width:72px;height:72px;border-radius:50%;border:1px solid var(--rule);background:var(--surface);color:var(--text);font-size:26px;font-weight:500;cursor:pointer;display:grid;place-items:center}.keypad button:active{background:var(--ink-soft)}.keypad .kp-fn{border-color:transparent;background:transparent;font-size:22px}.pin-input{letter-spacing:.4em;font-size:20px}@media(prefers-reduced-motion:reduce){.pin-dots.shake{animation:none}}.book-switch{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--nav-hover);margin:0 4px 14px}.book-opt{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;color:var(--nav-link);padding:7px 6px;border-radius:9px;font-weight:600;font-size:13px;cursor:pointer;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-opt[aria-checked=true]{background:var(--nav-active-bg);color:var(--nav-active-fg)}.book-dot{width:8px;height:8px;border-radius:999px;flex:none;background:var(--chart-out)}.book-opt.business .book-dot{background:var(--amber)}.book-opt.household .book-dot{background:var(--in)}.mobile-books{display:none}.mobile-books .book-switch{background:var(--ink-soft);margin:0 0 12px}.mobile-books .book-opt{color:var(--muted)}.mobile-books .book-opt[aria-checked=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000001f}@media(max-width:900px){.mobile-books{display:block}}.book-banner{margin:0 0 14px;padding:9px 14px;border-radius:12px;border:1px solid var(--rule);border-left:4px solid var(--amber);background:var(--amber-soft);color:var(--text);font-size:14px}.book-banner.household{border-left-color:var(--in);background:var(--in-soft)}html[data-book=business] .main{box-shadow:inset 0 4px 0 var(--amber)}html[data-book=household] .main{box-shadow:inset 0 4px 0 var(--in)}.book-row{display:grid;grid-template-columns:1fr auto;gap:14px 24px;align-items:start;padding:16px 0;border-top:1px solid var(--rule)}.book-row:first-of-type{border-top:0}@media(max-width:900px){.book-row{grid-template-columns:1fr}}.members{margin:8px 0 0}.members li{padding:6px 0;gap:8px}.h1-sub{font-size:15px;font-weight:500;color:var(--muted);letter-spacing:0}.dmon{font-size:9px;color:var(--muted);font-weight:600}.sub-toggle{border:0;background:none;color:var(--muted);cursor:pointer;padding:0 4px 0 0;font-size:12px}.hbar.sub{padding:3px 0 3px 18px}.hbar.sub .lbl{font-size:13px;color:var(--muted)}.list .item.subcat{padding-left:34px}.sub-chips{align-items:center;padding:8px 10px;border-radius:12px;background:var(--subtle)}.chip.small{min-height:30px;padding:4px 11px;font-size:13px}.fav-chips .chip.fav{display:inline-flex;align-items:center;gap:6px}.fav-chips .chip.fav svg{width:14px;height:14px;color:var(--amber)}.people-list .person-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;padding:10px 20px;border-top:1px solid var(--rule)}.people-list .person-row:first-child{border-top:0}.person-row.closed{opacity:.6}.person-main{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;color:inherit;text-decoration:none;min-width:0}.avatar{width:40px;height:40px;border-radius:999px;display:grid;place-items:center;background:var(--ink-soft);color:var(--ink);font-weight:700}.person-bal{text-align:right}.person-bal.they_owe,.person-hero.they_owe .v{color:var(--in)}.person-bal.you_owe,.person-hero.you_owe .v{color:var(--red)}.person-actions{gap:6px}@media(max-width:600px){.people-list .person-row{grid-template-columns:1fr}.person-actions{justify-content:flex-end}}.btn.gave{background:var(--red);border-color:var(--red)}.btn.got{color:var(--in)}.btn.wa{background:#128c7e;border-color:#128c7e;color:#fff}.person-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.person-hero .k{font-size:14px;color:var(--muted);font-weight:550}.person-hero .v{font-size:34px;font-weight:800;letter-spacing:-.02em}.statement tr.pending td{color:var(--muted)}.print-only{display:none}@media print{.sidenav,.bottomnav,.no-print,.offline-bar,.book-banner,.mobile-books,.toasts{display:none!important}.shell{display:block;background:#fff}.main{padding:0;box-shadow:none!important}.panel{border:0}.print-only{display:inline}.person-hero{border:1px solid #ccc}}.rec-row{display:grid;grid-template-columns:1fr auto auto;gap:10px 14px;align-items:center;padding:10px 20px;border-top:1px solid var(--rule)}.list>.rec-row:first-child{border-top:0}.rec-row.closed{opacity:.6}.rec-row .tag svg{width:12px;height:12px;vertical-align:-1px;margin-right:3px}@media(max-width:600px){.rec-row{grid-template-columns:1fr auto}.rec-row>:last-child{grid-column:1 / -1;justify-self:end}}.loan-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}@media(max-width:600px){.loan-cards{grid-template-columns:1fr}}.loan-card{display:flex;flex-direction:column;gap:12px}.loan-card.done{opacity:.75}.loan-bar{height:12px;border-radius:999px;background:var(--subtle);overflow:hidden;border:1px solid var(--rule)}.loan-bar span{display:block;height:100%;background:var(--chart-in);border-radius:999px}.loan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 14px;margin:0}.loan-grid dt{font-size:12px;color:var(--muted)}.loan-grid dd{margin:0;font-size:15px}.nw-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.nw-hero .k{font-size:14px;color:var(--muted);font-weight:550}.nw-hero .v{font-size:38px;font-weight:800;letter-spacing:-.02em}.nw-list{margin:8px 0 0}.nw-row,.nw-group,.nw-sub{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--rule);align-items:baseline}.nw-row:first-child{border-top:0}.nw-row dt a{color:inherit}.nw-row dd,.nw-group dd,.nw-sub dd{margin:0}.nw-group dt{font-weight:600}.nw-sub{padding-left:16px;border-top:0;font-size:14px;color:var(--muted)}.nw-chart .grid{stroke:var(--rule);stroke-width:1}.nw-chart .zero{stroke:var(--red);stroke-dasharray:4 4}.nw-chart .axis{fill:var(--muted);font-size:11px}.nw-chart .line{fill:none;stroke:var(--chart-in);stroke-width:2.5}.nw-chart .area{fill:var(--chart-in);opacity:.1}.nw-chart .dot{fill:var(--surface);stroke:var(--chart-in);stroke-width:2}.nw-tip{margin-top:6px;color:var(--muted)}.sidenav .book-switch{flex-direction:column;gap:2px}.sidenav .book-opt{justify-content:flex-start;padding:7px 10px;font-size:13.5px}.when-grid{align-items:start}.lline .title{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.title-btn{all:unset;cursor:pointer;font-weight:600;display:inline;border-radius:4px}.title-btn svg{width:13px;height:13px;margin-left:6px;vertical-align:-1px;color:var(--muted);opacity:.7}.title-btn:hover{text-decoration:underline;text-underline-offset:3px}.title-btn:hover svg{opacity:1;color:var(--ink)}.title-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
