:root{color-scheme:light;--c-paper:#F4EFE4;--c-ink:#211C15;--c-oxblood:#7A2E2E;--c-olive:#4F6B44;--c-brick:#9C3B32;--c-sepia:#7A7060;--paper:#F4EFE4;--surface:#FBF8F1;--surface-sunk:#EAE3D4;--rule:#DED5C2;--rule-strong:#C4B9A2;--ink:#211C15;--ink-2:#4A4235;--ink-3:#746A5A;--ink-brand:#7A2E2E;--on-brand:#F4EFE4;--ink-brand-lift:#96403D;--margin-rule:#9C3B32;--margin-soft:#F6E4E0;--ledger:#4F6B44;--ledger-soft:#E4EBDE;--caution:#8A6520;--caution-soft:#F5EAD3;--font-num:ui-monospace,"SF Mono","JetBrains Mono","Roboto Mono",Menlo,monospace;--font-ui:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--t-micro:0.6875rem;--t-small:0.8125rem;--t-base:0.9375rem;--t-lg:1.125rem;--t-xl:1.5rem;--t-2xl:2rem;--t-hero:2.75rem;--measure:78rem;--gutter:2.75rem;--row-h:2.25rem;--tap:2.75rem;--radius:3px;--radius-lg:6px;--pad:0.75rem;--shadow:0 1px 2px rgb(33 28 21/0.07),0 1px 8px rgb(33 28 21/0.05);--focus:0 0 0 2px var(--paper),0 0 0 4px var(--ink-brand-lift)}:root[data-theme=dark]{color-scheme:dark;--paper:#1A1611;--surface:#221D17;--surface-sunk:#2B241C;--rule:#382F25;--rule-strong:#4E4335;--ink:#EDE6D8;--ink-2:#C9BEAA;--ink-3:#A79B87;--ink-brand:#C96A63;--on-brand:#1A1611;--ink-brand-lift:#DC8079;--margin-rule:#D9756A;--margin-soft:#33201C;--ledger:#8FB07E;--ledger-soft:#1E2A1B;--caution:#C79A46;--caution-soft:#302617;--shadow:0 1px 2px rgb(0 0 0/0.5),0 1px 8px rgb(0 0 0/0.35)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:var(--t-base);line-height:1.45;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}body{overflow-x:hidden}[role=button],a,button,label,summary{touch-action:manipulation}.drawer,.label,.pager,.rail,.section-head,.topbar{-webkit-user-select:none;-moz-user-select:none;user-select:none}a{color:var(--ink-brand);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--radius)}button,input,select,textarea{font:inherit;color:inherit}@media (max-width:860px){input,select,textarea{font-size:1rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums slashed-zero;font-feature-settings:"tnum" 1,"zero" 1,tabular-nums slashed-zero;letter-spacing:-.01em}.money:before{content:"₹";color:var(--ink-3);margin-right:.15em}.money.debit{color:var(--margin-rule)}.money.credit{color:var(--ledger)}.row{display:grid;grid-template-columns:var(--gutter) 1fr;align-items:center;min-height:var(--row-h);border-bottom:1px solid var(--rule);background:var(--surface)}.row:hover{background:var(--surface-sunk)}.row .serial{font-family:var(--font-num);font-size:var(--t-micro);color:var(--ink-3);text-align:right;padding-right:.6rem;border-right:2px solid transparent;align-self:stretch;display:flex;align-items:center;justify-content:flex-end}.row[data-state=owed] .serial{border-right-color:var(--margin-rule)}.row[data-state=suspect] .serial{border-right-color:var(--caution)}.row[data-state=ok] .serial{border-right-color:var(--ledger)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--surface)}table.data{width:100%;border-collapse:collapse;font-size:var(--t-small)}table.data th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface-sunk);color:var(--ink-2);font-size:var(--t-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-align:left;padding:.5rem var(--pad);border-bottom:1px solid var(--rule-strong);white-space:nowrap}table.data td{padding:.4rem var(--pad);border-bottom:1px solid var(--rule);vertical-align:middle}table.data tbody tr:hover{background:var(--surface-sunk)}table.data .r{text-align:right}table.data tbody tr[data-deleted=true]{opacity:.55}table.data tbody tr[data-deleted=true] td:nth-child(2){text-decoration:line-through}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .4rem;border-radius:var(--radius);font-size:var(--t-micro);font-weight:600;letter-spacing:.02em;white-space:nowrap}.chip.ok{background:var(--ledger-soft);color:var(--ledger)}.chip.owed{background:var(--margin-soft);color:var(--margin-rule)}.chip.caution{background:var(--caution-soft);color:var(--caution)}.chip.quiet{background:var(--surface-sunk);color:var(--ink-3)}.chip.brand{background:var(--margin-soft);color:var(--ink-brand)}.rate{display:inline-flex;align-items:baseline;gap:.35rem;font-family:var(--font-num);font-feature-settings:tabular-nums slashed-zero;font-variant-numeric:tabular-nums slashed-zero}.rate .prev{font-size:var(--t-micro);color:var(--ink-3);text-decoration:line-through}.rate .delta{font-size:var(--t-micro);font-weight:700}.rate .delta.up{color:var(--margin-rule)}.rate .delta.down{color:var(--ledger)}.rate .when{font-size:var(--t-micro);color:var(--ink-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:var(--tap);padding:0 .9rem;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:var(--t-small);font-weight:600;cursor:pointer}.btn:hover{background:var(--surface-sunk)}.btn.primary{background:var(--ink-brand);border-color:var(--ink-brand);color:var(--on-brand)}.btn.primary:hover{background:var(--ink-brand-lift);border-color:var(--ink-brand-lift)}.btn.danger{color:var(--margin-rule);border-color:var(--margin-rule)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.sm{min-height:2rem;padding:0 .55rem;font-size:var(--t-micro)}.input{width:100%;scroll-margin-block:5rem;min-height:var(--tap);padding:0 .6rem;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink)}.input::placeholder{color:var(--ink-3)}.label{display:block;font-size:var(--t-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.25rem}.field{margin-bottom:.7rem}.form-grid{display:grid;grid-gap:.6rem;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));align-items:end}.shell{display:grid;grid-template-columns:13rem 1fr;min-height:0;height:100dvh;overflow:hidden}.rail{border-right:1px solid var(--rule);background:var(--surface);padding:var(--pad);display:flex;flex-direction:column;gap:.15rem;overflow-y:auto;overscroll-behavior:contain}.rail .brand{font-weight:700;letter-spacing:-.02em;color:var(--ink-brand);padding:.4rem .5rem .9rem;font-size:var(--t-lg)}.rail a{display:flex;align-items:center;justify-content:space-between;min-height:var(--tap);padding:0 .6rem;border-radius:var(--radius);color:var(--ink-2);font-size:var(--t-small);font-weight:500}.rail a:hover{background:var(--surface-sunk);text-decoration:none}.rail a[aria-current=page]{background:var(--surface-sunk);color:var(--ink-brand);font-weight:700;box-shadow:inset 2px 0 0 var(--ink-brand)}.rail .spacer{flex:1 1}.rail-foot{padding:.3rem .1rem}.main{padding:1.25rem;min-width:0;min-height:0;scroll-padding-bottom:45vh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.main>*{max-width:var(--measure)}.page-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.page-head h1{margin:0;font-size:var(--t-xl);letter-spacing:-.02em}.page-head .sub{color:var(--ink-3);font-size:var(--t-small)}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,11rem));grid-gap:.6rem;gap:.6rem;margin-bottom:1.25rem}.stat.hero{grid-column:span 2}.stat.hero .v{font-size:var(--t-hero);line-height:1.05}.stat .v.zero{color:var(--ink-3);font-weight:400}.stat{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--surface);padding:.7rem .8rem}.stat .k{font-size:var(--t-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}.stat .v{font-family:var(--font-num);font-feature-settings:tabular-nums slashed-zero;font-variant-numeric:tabular-nums slashed-zero;font-size:var(--t-xl);letter-spacing:-.03em}.collapse{border-bottom:1px solid var(--rule)}.collapse-head{display:flex;align-items:center;gap:.5rem;width:100%;min-height:var(--tap);padding:.5rem .2rem;border:none;background:none;color:var(--ink);font-size:var(--t-base);font-weight:700;letter-spacing:-.01em;text-align:left;cursor:pointer}.collapse-head:hover .collapse-title{color:var(--ink-brand)}.collapse-head .chev{color:var(--ink-3);font-size:var(--t-small);transition:transform .14s ease}.collapse-head .chev[data-open=true]{transform:rotate(90deg)}.collapse-head .count{margin-left:auto;font-size:var(--t-micro);color:var(--ink-3);font-weight:400}.collapse-body{padding:.2rem 0 1rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:1.5rem 0 .6rem;padding-bottom:.35rem;border-bottom:1px solid var(--rule)}.section-head h2{margin:0;font-size:var(--t-base);font-weight:700;letter-spacing:-.01em}.section-head .count{font-family:var(--font-num);font-size:var(--t-micro);color:var(--ink-3)}table.data.tight{width:auto;min-width:min(100%,34rem)}table.data td.wrap{white-space:normal}table.data td.num-cell{width:1%;white-space:nowrap}table.data tbody tr[data-quiet=true] td{color:var(--ink-3)}.pair-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(26rem,100%),1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.pair-grid>*{min-width:0}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(9rem,100%),1fr));grid-gap:.6rem;gap:.6rem}.photo{margin:0;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);overflow:hidden}.photo-btn{padding:0;border:none;background:none;cursor:zoom-in}.photo img,.photo-btn{display:block;width:100%}.photo img{aspect-ratio:4/3;object-fit:cover}.photo-missing{padding:1.5rem .5rem;text-align:center}.photo figcaption,.photo-missing{font-size:var(--t-micro);color:var(--ink-3)}.photo figcaption{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding:.35rem .45rem;border-top:1px solid var(--rule)}.photo figcaption .btn{margin-left:auto}.lightbox{position:fixed;inset:0;z-index:40;display:grid;place-items:center;grid-gap:.8rem;gap:.8rem;padding:1rem;background:rgb(33 28 21/.88);cursor:zoom-out}.lightbox img{max-width:100%;max-height:80dvh;object-fit:contain;border-radius:var(--radius)}.log{list-style:none;margin:0;padding:0}.log-row{border:1px solid var(--rule);border-left:3px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);margin-bottom:.35rem}.log-row[data-state=owed]{border-left-color:var(--margin-rule)}.log-main{display:grid;grid-gap:.15rem;gap:.15rem;width:100%;padding:.5rem .7rem;border:none;background:none;color:inherit;text-align:left;cursor:pointer;font:inherit}.log-main:hover{background:var(--surface-sunk)}.log-line1{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.log-actor{font-size:var(--t-small)}.log-when{margin-left:auto;font-size:var(--t-micro);color:var(--ink-3)}.log-line2{font-size:var(--t-small);color:var(--ink-2)}.log-line3{display:flex;gap:.7rem;flex-wrap:wrap;font-size:var(--t-micro);color:var(--ink-3)}.log-detail{display:grid;grid-template-columns:8.5rem 1fr;grid-gap:.2rem .7rem;gap:.2rem .7rem;margin:0;padding:.5rem .7rem .7rem;border-top:1px solid var(--rule);font-size:var(--t-small)}.log-detail dt{color:var(--ink-3);font-size:var(--t-micro);text-transform:uppercase;letter-spacing:.05em}.log-detail dd{margin:0;overflow-wrap:anywhere}.pager{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.6rem .2rem;font-size:var(--t-small);color:var(--ink-3);flex-wrap:wrap}.pager .nums{font-family:var(--font-num)}.notice{display:block;padding:.5rem .7rem;border-radius:var(--radius);border-left:3px solid var(--caution);background:var(--caution-soft);color:var(--caution);font-size:var(--t-small);margin:0 0 .7rem}.choice-row{display:flex;gap:.5rem;flex-wrap:wrap}.choice-row>.btn{flex:1 1 8rem}.empty{padding:1.1rem 1rem;text-align:left;color:var(--ink-3);font-size:var(--t-small);border:1px dashed var(--rule-strong);border-radius:var(--radius);background:var(--surface)}.empty p{margin:0 0 .3rem}.empty p:last-child{margin:0}.rail-search{padding:0 .1rem .6rem}.empty p{margin:0 0 .75rem}.toolbar{max-width:var(--measure);display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.scrim,.topbar{display:none}.rail-head{display:flex;align-items:center;justify-content:space-between}.drawer-close{display:none}.rail-foot .who{font-size:var(--t-micro);color:var(--ink-3)}@media (max-width:860px){.shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.topbar{display:flex;align-items:center;gap:.6rem;padding:calc(.4rem + env(safe-area-inset-top)) .7rem .4rem;background:var(--surface);border-bottom:1px solid var(--rule);grid-row:1}.topbar-title{font-weight:700;font-size:var(--t-base);letter-spacing:-.01em}.topbar-search{margin-left:auto}.hamburger{display:flex;flex-direction:column;justify-content:center;gap:4px;width:var(--tap);height:var(--tap);padding:0 .7rem;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;flex:0 0 auto}.hamburger span{display:block;height:2px;background:var(--ink);border-radius:1px}.scrim{display:block;inset:0;z-index:30;background:rgb(33 28 21/.45)}.rail,.scrim{position:fixed}.rail{inset:0 auto 0 0;z-index:31;width:min(17rem,82vw);grid-row:unset;border-right:1px solid var(--rule-strong);border-top:none;padding:calc(var(--pad) + env(safe-area-inset-top)) var(--pad) calc(var(--pad) + env(safe-area-inset-bottom));transform:translateX(-100%);transition:transform .18s ease;box-shadow:var(--shadow);visibility:hidden}.rail.open{transform:translateX(0);visibility:visible}.rail .brand{padding:.2rem .4rem .6rem}.rail-search{display:none}.rail a{min-height:var(--tap);font-size:var(--t-base)}.drawer-close{display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink-2);cursor:pointer;flex:0 0 auto}.main{grid-row:2;padding:.85rem .85rem calc(.85rem + env(safe-area-inset-bottom))}.page-head h1{display:none}.stats{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr))}.stat.hero{grid-column:1/-1}.stat .v{font-size:var(--t-lg)}.stat.hero .v{font-size:var(--t-2xl)}.toolbar>*{flex:1 1 100%}table.data.stack thead{display:none}table.data.stack tbody tr{display:block;border:1px solid var(--rule);border-left:3px solid var(--rule-strong);border-radius:var(--radius);margin-bottom:.5rem;padding:.35rem .1rem;background:var(--surface)}table.data.stack tbody tr[data-state=owed]{border-left-color:var(--margin-rule)}table.data.stack tbody tr[data-state=suspect]{border-left-color:var(--caution)}table.data.stack tbody tr[data-state=ok]{border-left-color:var(--ledger)}table.data.stack td{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:none;padding:.3rem .7rem;min-height:2rem}table.data.stack td:before{content:attr(data-label);font-size:var(--t-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:600;flex:0 0 auto}table.data.stack td[data-label=""]:before{content:none}table.data.stack td[data-label=""]{display:block}table.data.stack td.r{text-align:right}table.data.stack td.num-cell{width:auto}.table-wrap{border:none;background:transparent;overflow:visible;max-width:100%}table.data.tight{min-width:0;width:100%}table.data.stack,table.data.stack tbody,table.data.stack tr{max-width:100%}.form-grid{grid-template-columns:1fr}.log-main{padding:.45rem .6rem}.log-line3,.log-when{font-size:.625rem}.log-line3{gap:.5rem}.log-detail{grid-template-columns:1fr;gap:.05rem}.log-detail dd{margin-bottom:.35rem}}@media (max-width:380px){.stats{grid-template-columns:1fr 1fr}.stat .v{font-size:var(--t-base)}.topbar-title{display:none}}