:root{
  --bg:#0f0f10; --card:#1b1c1e; --muted:#2a2c2f; --text:#f7f7f7; --sub:#b8bec6;
  --accent:#e26b2e; --green:#3cd281; --red:#ff6b6b;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}
.app{max-width:1100px;margin:0 auto;padding:16px}
.tabs{display:flex;gap:8px;overflow:auto;padding:6px;background:var(--card);border-radius:12px}
.tab{border:none;padding:8px 12px;border-radius:10px;background:transparent;color:var(--text);cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:2px;white-space:nowrap}
.tab.active{background:color-mix(in oklab,var(--accent) 22%,black 78%)}
.tab small{color:var(--sub);font-size:11px}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0}
.segment{display:inline-flex;border-radius:12px;overflow:hidden;border:1px solid var(--muted)}
.segment input{display:none}
.segment label{padding:6px 10px;cursor:pointer;background:var(--card);color:var(--text)}
.segment input:checked+label{background:var(--accent);color:#fff}
.btn{border:1px solid var(--muted);background:#151619;color:var(--text);padding:6px 10px;border-radius:8px;cursor:pointer}
.btn.primary{background:var(--accent);color:#fff;border:none}
.btn.danger{background:color-mix(in oklab,var(--red) 30%,black 70%);color:#fff;border:none}
.card{background:var(--card);border:1px solid var(--muted);padding:14px;border-radius:16px}
table{width:100%;border-collapse:separate;border-spacing:0 8px}
thead th{color:var(--sub);text-align:left;padding:4px 8px}
tbody td{background:#1f2023;padding:8px;vertical-align:middle}
tbody tr.paid{filter:saturate(.65)}
tbody td:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}
tbody td:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}
input.num,input.desc{width:100%;padding:6px;background:#101113;color:var(--text);border:1px solid var(--muted);border-radius:6px}
.badge{font-size:12px;padding:4px 8px;border-radius:999px}
.badge.green{color:var(--green);background:rgba(60,210,129,.15)}
.wide{min-width:220px}
.totals{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:8px}
.totals .pill{background:#1f2023;border:1px solid var(--muted);padding:8px 12px;border-radius:999px}
