:root{--bg:#f7f5f0;--ink:#1d1b16;--muted:#6b665c;--accent:#2f6f4f;--line:#d9d4c8}@media (prefers-color-scheme:dark){:root{--bg:#171612;--ink:#f1ede4;--muted:#a59f92;--accent:#6fbf94;--line:#34312a}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.5 system-ui,sans-serif}main{max-width:40rem;margin:0 auto;padding:1.25rem 1rem 4rem}.muted{color:var(--muted)}.card{border:1px solid var(--line);border-radius:.75rem;margin:1rem 0;padding:1rem}label{margin:.75rem 0 .25rem;font-weight:600;display:block}input,select,button{font:inherit;border:1px solid var(--line);width:100%;color:inherit;background:0 0;border-radius:.5rem;padding:.6rem .7rem}button{background:var(--accent);color:#fff;border:0;margin-top:1rem;font-weight:600}.dev-banner{color:#fff;text-align:center;background:#8a3b12;padding:.4rem 1rem;font-size:.875rem}button.secondary,.secondary-link{color:var(--accent);border:1px solid var(--accent);background:0 0}button.inline{width:auto;margin:0 0 0 .5rem;padding:.2rem .6rem}button:disabled{opacity:.5}.primary-link,.secondary-link{text-align:center;border-radius:.5rem;margin-top:1rem;padding:.7rem;font-weight:600;text-decoration:none;display:block}.primary-link{background:var(--accent);color:#fff}.steps{grid-template-columns:repeat(2,1fr);gap:.4rem;display:grid}.step{color:var(--ink);border:1px solid var(--line);background:0 0;margin:0;font-size:.9rem}.step.on{background:var(--accent);color:#fff}.tipout{border-left:3px solid var(--line);margin-top:.5rem;padding-left:.75rem}.owes{color:#b3261e;font-weight:600}.net{font-weight:600}.review{border-collapse:collapse;width:100%;font-size:.9rem}.review th,.review td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.4rem .25rem}.logs{padding-left:1.1rem}.toolbar{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.toolbar>*{flex:8rem}.toolbar button{margin-top:0}.plain{padding:0;list-style:none}.row{justify-content:space-between;gap:.5rem;display:flex}.small{font-size:.85rem}.voided{text-decoration:line-through}.sheet{color:#000;background:#fff;padding:1rem}.sheet table{border-collapse:collapse;width:100%;font-size:.85rem}.sheet th,.sheet td{text-align:left;vertical-align:top;border:1px solid #555;padding:.35rem}.sheet td.shaded{background:#d9d9d9}.sheet td.signature{min-width:10rem}.sheet tr.blank td{height:1.8rem}@media print{@page{size:letter landscape;margin:.4in}.no-print,.dev-banner{display:none}body{background:#fff}}
