:root{--paper:#f5f1e6;--paper-deep:#ece6d4;--card:#fbf9f2;--ink:#26231c;--ink-soft:#6f6a5c;--rule:#ddd5bf;--rule-soft:#e9e3d2;--green:#1e6b4f;--green-soft:#e2ede6;--red:#a83a28;--red-soft:#f4e3de;--blue:#2b5d8a;--gold:#b98a2e;--display:"Fraunces", Georgia, serif;--body:"Instrument Sans", -apple-system, sans-serif;--mono:"Spline Sans Mono", ui-monospace, monospace}*{box-sizing:border-box}html{height:100%}body{min-height:100%;font-family:var(--body);color:var(--ink);background-color:var(--paper);background-image:radial-gradient(90% 60% at 50% -10%,#b98a2e17,#0000 60%),repeating-linear-gradient(0deg,#0000 0 27px,#26231c07 27px 28px);margin:0;font-size:15px;line-height:1.55}#root{max-width:1060px;margin:0 auto;padding:0 20px 80px}.masthead{border-bottom:3px double var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:26px;padding:34px 4px 16px;display:flex}.masthead h1{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:clamp(28px,4.5vw,42px);font-weight:700;line-height:1.05}.masthead h1 a{color:inherit;text-decoration:none}.masthead h1 em{color:var(--green);font-style:italic;font-weight:400}.masthead .tagline{color:var(--ink-soft);letter-spacing:.14em;text-transform:uppercase;margin:2px 0 0;font-size:13px}.card{background:var(--card);border:1px solid var(--rule);border-radius:3px;margin-bottom:22px;padding:22px 24px;box-shadow:0 1px #26231c0d,0 10px 24px -18px #26231c59}.card>h2{font-family:var(--display);flex-wrap:wrap;align-items:baseline;gap:12px;margin:0 0 14px;font-size:20px;font-weight:600;display:flex}.card>h2 .sub{font-family:var(--body);color:var(--ink-soft);font-size:13px;font-weight:400}table{border-collapse:collapse;width:100%}th{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);text-align:left;border-bottom:1.5px solid var(--ink);padding:6px 10px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--rule-soft);vertical-align:middle;padding:9px 10px}tr:last-child td{border-bottom:none}tbody tr{transition:background .12s}tbody tr:hover{background:#b98a2e0d}th.num,td.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}tr.total-row td{border-top:1.5px solid var(--ink);font-weight:600}.owes{color:var(--red);font-weight:600}.settled{color:var(--green);font-weight:600}.credit{color:var(--blue);font-weight:600}a.tenant-link{color:var(--ink);border-bottom:1px solid #0000;font-weight:600;text-decoration:none}a.tenant-link:hover{color:var(--green);border-bottom-color:var(--green)}.pill{letter-spacing:.08em;text-transform:uppercase;border-radius:99px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.pill.owes{background:var(--red-soft);color:var(--red)}.pill.settled{background:var(--green-soft);color:var(--green)}.pill.ended{background:var(--paper-deep);color:var(--ink-soft)}.stamp{font-family:var(--display);letter-spacing:.22em;text-transform:uppercase;border:2px solid;border-radius:3px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block;transform:rotate(-3deg)}.stamp.settled{color:var(--green)}.stamp.owes{color:var(--red)}.summary-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:22px;display:grid}.summary-strip .stat{background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:14px 18px}.summary-strip .stat .label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px;font-size:11px}.summary-strip .stat .value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;line-height:1.2}form.grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end;gap:12px;display:grid}.field label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px;font-size:11px;font-weight:600;display:block}input,select{width:100%;font:inherit;color:var(--ink);border:1px solid var(--rule);background:#fff;border-radius:3px;padding:8px 10px;transition:border-color .12s,box-shadow .12s}input[type=number]{font-family:var(--mono)}input:focus,select:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #1e6b4f24}button{font:inherit;border:1px solid var(--green);background:var(--green);color:#fdfcf8;cursor:pointer;letter-spacing:.02em;border-radius:3px;padding:9px 18px;font-weight:600;transition:transform 80ms,filter .12s}button:hover{filter:brightness(1.08)}button:active{transform:translateY(1px)}button.ghost{color:var(--ink);border-color:var(--rule);background:0 0}button.ghost:hover{border-color:var(--ink-soft);filter:none}button.danger{color:var(--red);border-color:var(--red-soft);background:0 0;padding:3px 10px;font-size:12px}button.danger:hover{background:var(--red-soft);filter:none}button.primary-lg{padding:11px 26px;font-size:16px}.two-col{grid-template-columns:1fr 1fr;gap:22px;display:grid}@media (width<=760px){.two-col{grid-template-columns:1fr}}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.toolbar a.btn-link{background:var(--green);color:#fdfcf8;border:1px solid var(--green);border-radius:3px;padding:9px 18px;font-weight:600;text-decoration:none;display:inline-block}.toolbar a.btn-link:hover{filter:brightness(1.08)}.crumb{color:var(--ink-soft);font-size:13px}.crumb a{color:var(--green);font-weight:600;text-decoration:none}.crumb a:hover{text-decoration:underline}.muted{color:var(--ink-soft)}.empty{color:var(--ink-soft);padding:12px 0;font-style:italic}.error-banner{background:var(--red-soft);border:1px solid var(--red);color:var(--red);border-radius:3px;margin-bottom:16px;padding:10px 14px;font-weight:500}.fade-in{animation:.35s both fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.footnote{color:var(--ink-soft);margin-top:10px;font-size:12.5px}.list-controls{gap:10px;margin-bottom:14px;display:flex}.list-controls input[type=search]{max-width:320px}.sort-mobile{gap:8px;display:none}.sort-mobile select{width:auto}.dir-toggle{font-family:var(--mono);padding:8px 14px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover{color:var(--ink)}@media (width<=640px){body{font-size:16px}#root{padding:0 12px 60px}.masthead{margin-bottom:18px;padding:20px 2px 12px}.masthead .tagline{letter-spacing:.1em;font-size:11px}.card{margin-bottom:16px;padding:16px 14px}.summary-strip{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.summary-strip .stat{padding:10px 12px}.summary-strip .stat .value{font-size:20px}button,.toolbar a.btn-link{padding:12px 18px}button.danger{padding:8px 14px;font-size:13px}input,select{padding:11px 12px;font-size:16px}form.grid{grid-template-columns:1fr 1fr}:is(form.grid .field:has(button),form.grid .field:has(input[name=note])){grid-column:1/-1}.list-controls{flex-wrap:wrap}.list-controls input[type=search]{flex:100%;max-width:none}.sort-mobile{flex:1;display:flex}.sort-mobile select{flex:1}.stack-sm thead{display:none}.stack-sm,.stack-sm tbody,.stack-sm tr,.stack-sm td{width:100%;display:block}.stack-sm tr{border:1px solid var(--rule);background:#fffdf7;border-radius:3px;margin-bottom:10px;padding:10px 12px}.stack-sm tr:hover{background:#fffdf7}.stack-sm tr.total-row{border:1.5px solid var(--ink)}.stack-sm tr.total-row td{border-top:none}.stack-sm td{text-align:right;border:none;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;display:flex}.stack-sm td[style]{text-align:right!important}.stack-sm td:before{content:attr(data-label);font-family:var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);text-align:left;flex-shrink:0;font-size:11px;font-weight:600}.stack-sm td:empty{display:none}.stack-sm td.actions-cell{justify-content:flex-end;padding-top:8px}.stack-sm td.actions-cell:before{content:none}.card>h2{font-size:18px}.stamp{padding:2px 8px;font-size:11px}}
