:root{--ink: #1c1915;--muted: #6f675e;--line: #e4ddd0;--paper: #f4f0e7;--panel: #fffdf8;--sidebar: #1c2b24;--sidebar-text: #e7efe9;--accent: #1f7a4d;--warn: #9a3412;--sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.47059;letter-spacing:-.022em;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent-ink, #0f5132)}h1,h2{font-family:var(--sans);font-weight:600;letter-spacing:-.022em}h1{font-size:32px;margin:0}h2{font-size:22px;margin:0}p{margin:0}.skip{position:absolute;left:-999px;background:#fff;padding:8px 12px;z-index:5}.skip:focus{left:12px;top:12px}.app{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:var(--sidebar);color:var(--sidebar-text);padding:22px 14px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:10px;align-items:center;padding:0 8px 18px}.brand strong{display:block;font-family:var(--sans);font-size:22px;font-weight:600}.brand small{display:block;color:#b7c4bc;font-size:13px}.nav a{display:block;color:inherit;text-decoration:none;padding:7px 10px;border-radius:8px;white-space:nowrap}.nav a:hover{background:#ffffff0f}.nav a[aria-current=page]{background:#2e463a}.nav-label{display:block;margin:16px 10px 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8aa194}.content{padding:28px 32px 72px;max-width:1100px}.sidebar{display:flex;flex-direction:column}.who{margin-top:auto;display:grid;gap:4px;padding:16px;border-top:1px solid var(--line)}.who small{text-transform:capitalize;color:var(--muted)}.login h1{font-family:var(--sans)}.boot{max-width:460px;margin:15vh auto;padding:24px}.boot h1{margin-bottom:8px}.page-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:18px}.page-header p,.muted{color:var(--muted)}.banner{display:flex;justify-content:space-between;gap:12px;background:#fde8dc;color:var(--warn);border-radius:10px;padding:10px 12px;margin-bottom:16px}.banner button{background:transparent;border:0;color:inherit;cursor:pointer}.card,.sheet{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.card+.card,.stats+.columns,.checklist{margin-bottom:16px}.card+.card{margin-top:16px}.stack{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px}.inline-fields{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-fields input{width:160px}.card-head,.actions,.toolbar,.sheet-top,.sheet-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.card-head{margin-bottom:8px}.card-head a,a.back{color:var(--muted);text-decoration:none;font-size:14px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat{display:flex;flex-direction:column;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-decoration:none;color:inherit}.stat span,.eyebrow{color:var(--muted);font-size:13px;letter-spacing:.04em;text-transform:uppercase}.stat strong,.balance-line{font-family:var(--sans);font-size:28px;font-weight:600;letter-spacing:-.022em}.stat small{color:var(--muted)}.checklist ol{margin:12px 0 0;padding-left:18px;display:grid;gap:10px}.checklist li span{display:block;color:var(--muted);font-size:14px}.recent{list-style:none;margin:0;padding:0}.recent a{display:flex;justify-content:space-between;gap:12px;text-decoration:none;color:inherit;padding:8px 0;border-top:1px solid var(--line)}.recent small{display:block;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500}th,td{padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:middle}th.num,td.num,.num{text-align:right;font-variant-numeric:tabular-nums}.row-end{text-align:right;white-space:nowrap}.dim{opacity:.55}.linkish{background:none;border:0;padding:0;color:var(--accent);cursor:pointer}.detail-row td{background:#faf7f1}.btn,.filters button{border:1px solid transparent;background:var(--accent);color:#fff;border-radius:8px;padding:8px 12px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;width:fit-content}.btn.secondary,.filters button{background:transparent;color:var(--ink);border-color:#d9d1c3}.btn.danger{background:transparent;color:var(--warn);border-color:#f0c7b4}.btn:disabled{opacity:.55;cursor:not-allowed}.filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.filters button.on{background:#1c2b24;color:#fff;border-color:#1c2b24}.toolbar .btn{justify-self:start}.search,.amount,input,select,textarea{background:#fff;border:1px solid #d9d2c5;border-radius:8px;padding:8px 10px}.search{margin-bottom:12px;min-width:220px}.amount{width:120px;text-align:right}textarea{min-height:72px;resize:vertical;width:100%}.form{display:grid;gap:14px;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px;font-size:14px}.field span{color:var(--muted)}.span-2{grid-column:span 2}.check{display:flex;gap:8px;align-items:center}.hint{color:var(--muted);font-size:14px}.lines{display:grid;gap:10px}.lines{overflow-x:auto}.line{display:grid;grid-template-columns:minmax(120px,.9fr) minmax(140px,1.3fr) minmax(64px,.4fr) minmax(88px,.65fr) minmax(110px,.75fr) minmax(140px,1fr) auto;gap:8px;align-items:end;min-width:860px}.journal-lines .line{grid-template-columns:1.3fr .7fr .7fr 1fr auto}.total-line,.in-balance{color:var(--accent)}.out-balance{color:var(--warn)}.balance-line{margin-top:0}.pill{display:inline-flex;border-radius:999px;padding:2px 8px;font-size:12px;background:#eeeae2;margin-left:6px}.pill.open{background:#e4eef8;color:#1e4d7b}.pill.partial{background:#f8efd4;color:#854f0b}.pill.paid{background:#e5f4eb;color:#0f5132}.pill.overdue,.neg{color:var(--warn)}.pill.overdue{background:#fde8dc;margin-left:0}.pill.void,.pill.draft{background:#eeeae2;color:var(--muted)}.empty{padding:28px 8px}.empty p{color:var(--muted);margin:6px 0 12px}.toolbar{align-items:end;margin-bottom:12px}.toolbar .filters,.toolbar .search{margin-bottom:0}.date-range{display:flex;gap:10px;align-items:center;color:var(--muted)}.date-range input{margin-left:6px}.sheet{padding:28px}.sheet h1{font-size:34px}.sheet-meta{align-items:flex-start;margin:18px 0}.sheet-meta span,.sheet dt{color:var(--muted);font-size:13px}.sheet dl{display:grid;grid-template-columns:auto auto;gap:4px 16px;margin:0}.sheet dd{margin:0;text-align:right}.pre{white-space:pre-wrap}.notes{margin-top:16px}.payment-list ul{list-style:none;padding:0;margin:8px 0 0}.payment-list li{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:6px 0;border-top:1px solid var(--line)}.footer-mark{margin-top:24px}.statement-sheet h1{margin-bottom:4px}.statement .section td{padding-top:18px;font-family:var(--sans);font-size:20px;border-bottom:0}.statement .total td{font-weight:600;border-bottom:2px solid var(--ink)}.grand{display:flex;justify-content:space-between;font-family:var(--sans);font-size:24px;margin-top:16px}.statement a{text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:sticky;height:auto;z-index:2}.nav{display:flex;gap:4px;overflow:auto}.nav-label{display:none}.nav-item{display:contents}.stats,.columns,.form-grid{grid-template-columns:1fr 1fr}.content{padding:18px 14px 48px}.line,.journal-lines .line{grid-template-columns:1fr 1fr;min-width:0}}@media(max-width:640px){.stats,.columns,.form-grid,.page-header,.toolbar{grid-template-columns:1fr;display:grid}.span-2{grid-column:auto}h1{font-size:28px}}@media print{.sidebar,.no-print,.banner,.actions,.btn{display:none!important}.app{display:block}.content{max-width:none;padding:0}.sheet{border:0}}
