:root{--bg: #f5f1ea;--ink: #201d19;--body: #4a453d;--muted: #8a8378;--muted-2: #7a7264;--muted-3: #5c554a;--faint: #a89f90;--faint-2: #b3ab9c;--line: #e4ddd0;--line-2: #dcd3c3;--row-line: #f0eae0;--accent: #b4552d;--accent-dark: #94431f;--accent-ink: #fff7f0;--peach: #f3e0d6;--peach-ink: #8f3e1b;--sand: #e9e4d6;--sand-ink: #6b6040;--danger: #a03b2e;--danger-bg: #f7e9e5;--danger-line: #e0c4bc;--ok-bg: #e4ead9;--ok-ink: #4c6237;--cream: #fbf8f2;--serif: Marcellus, serif;--sans: "Public Sans", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--accent)}a:hover{color:#8f401f}::placeholder{color:var(--faint);opacity:1}input,select,textarea,button{font-family:var(--sans)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.serif{font-family:var(--serif);font-weight:400}.label{font-size:10.5px;font-weight:700;letter-spacing:1.2px;color:var(--muted);margin-bottom:5px}.btn{border:none;background:transparent;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;padding:9px 16px;color:var(--ink)}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.primary:hover{background:var(--accent-dark)}.btn.outline{border:1px solid var(--line-2);color:var(--muted-3)}.btn.outline:hover{background:#fff}.btn.outline-c{border:1px solid var(--line-2);color:var(--muted-3)}.btn.outline-c:hover{background:var(--bg)}.btn.danger{border:1px solid var(--danger-line);color:var(--danger)}.btn.danger:hover{background:var(--danger-bg)}.btn.dark{background:var(--ink);color:var(--bg)}.btn.dark:hover{background:#3a362f}.btn.ghost{color:var(--muted)}.btn.ghost:hover{color:var(--ink)}.btn.deduct{border:1px solid var(--accent);color:var(--accent);padding:5px 11px;font-size:11.5px}.btn.deduct:hover{background:var(--peach)}.btn.undo{background:var(--ok-bg);color:var(--ok-ink);padding:5px 11px;font-size:11.5px}.btn.undo:hover{background:#d6e0c6}.btn.unpaid{background:var(--danger-bg);color:var(--danger);padding:5px 11px;font-size:11.5px}.btn.unpaid:hover{background:#f0d9d3}.btn.x{width:28px;height:28px;padding:0;color:var(--faint-2);font-size:13px;flex:none}.btn.x:hover{background:var(--danger-bg);color:var(--danger)}.rm{background:transparent;border:none;color:var(--faint-2);cursor:pointer;font-size:11.5px;font-weight:600;padding:4px 6px;border-radius:8px;flex:none}.rm:hover{background:var(--danger-bg);color:var(--danger)}.seg{flex:1;border:1px solid var(--line-2);border-radius:999px;padding:8px 10px;font-size:12.5px;font-weight:600;cursor:pointer}.input{width:100%;background:#fff;border:1px solid var(--line-2);border-radius:10px;padding:10px 12px;font-size:14px;color:var(--ink);outline:none}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b4552d1f}textarea.input{resize:vertical}.card{background:#fff;border:1px solid var(--line);border-radius:14px}.chip{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.3px}.hcard{background:#fff;border:1px solid var(--line);cursor:pointer}.hcard:hover{border-color:#c9a088;box-shadow:0 6px 18px -12px #402c1e59}.plus{border:1px dashed #d8cfbc;border-radius:12px;background:transparent;color:var(--faint-2);font-size:18px;cursor:pointer;width:100%;min-height:68px;height:100%}.plus:hover{background:var(--cream);color:var(--accent);border-color:#c9a088}.trow{cursor:pointer}.trow:hover{background:var(--cream)}.opt{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--cream);border:1px solid var(--line);border-radius:12px;cursor:pointer}.opt:hover{border-color:var(--accent);background:var(--peach)}
