:root {
  --bg: #f7f7f5; --panel: #fff; --ink: #1b1b1a; --muted: #6b6a66; --line: #e4e3df;
  --accent: #2f5bea; --ok: #1f7a4d; --warn: #b26b00; --bad: #b3261e;
  --radius: 10px; color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #121211; --panel: #1b1b1a; --ink: #ecebe7; --muted: #9a9993; --line: #2c2c2a;
    --accent: #7c9cff; --ok: #5cc28d; --warn: #e3a447; --bad: #ef7a72; color-scheme: dark; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink);
  font: 15px/1.5 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
a { color: inherit; }
header { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; padding: 12px 20px;
  border-bottom: 1px solid var(--line); background: var(--panel); position: sticky; top: 0; }
header nav { display: flex; flex-wrap: wrap; gap: 4px; flex: 1; }
header nav a, .tabs a { text-decoration: none; padding: 4px 10px; border-radius: 999px; color: var(--muted); }
header nav a[aria-current], .tabs a[aria-current] { background: var(--ink); color: var(--bg); }
.brand { font-weight: 700; font-size: 18px; text-decoration: none; letter-spacing: -.02em; }
.brand span { color: var(--accent); }
main { max-width: 1040px; margin: 0 auto; padding: 24px 20px 64px; }
h1 { font-size: 24px; margin: 0 0 12px; letter-spacing: -.01em; }
h2 { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin: 28px 0 10px; }
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.stat { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px; text-decoration: none; }
.stat b { display: block; font-size: 28px; font-variant-numeric: tabular-nums; }
.stat span { color: var(--muted); font-size: 13px; }
.split { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 0 24px; }
.items { list-style: none; margin: 0; padding: 0; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); }
.items li { padding: 10px 14px; border-top: 1px solid var(--line); }
.items li:first-child { border-top: 0; }
.items li > a { text-decoration: none; display: flex; gap: 8px; align-items: baseline; }
.kind { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); min-width: 64px; }
.meta { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 13px; color: var(--muted); margin-top: 4px; padding-left: 72px; }
.meta.big { padding-left: 0; font-size: 14px; margin-bottom: 16px; }
.pill { border: 1px solid var(--line); border-radius: 999px; padding: 0 8px; font-size: 12px; }
.pill.hi, .late { color: var(--bad); border-color: currentColor; }
.s-pending, .s-open { color: var(--warn); border-color: currentColor; }
.s-approved, .s-done, .s-paid, .s-answered { color: var(--ok); border-color: currentColor; }
.s-rejected, .s-failed { color: var(--bad); border-color: currentColor; }
.muted { color: var(--muted); }
.empty { color: var(--muted); background: var(--panel); border: 1px dashed var(--line); border-radius: var(--radius); padding: 16px; }
.tabs { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 14px; }
.body, .response { white-space: pre-wrap; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px; margin-bottom: 16px; }
.response h3 { margin: 0 0 6px; font-size: 13px; color: var(--muted); }
form.quick, .act .row { display: flex; flex-wrap: wrap; gap: 8px; }
form.quick input[name=title] { flex: 1 1 240px; }
input, select, textarea, button { font: inherit; color: inherit; background: var(--panel); border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; }
textarea { width: 100%; min-height: 80px; margin-bottom: 8px; }
button { background: var(--ink); color: var(--bg); border-color: var(--ink); cursor: pointer; }
button.ghost { background: transparent; color: var(--ink); border-color: var(--line); }
button.danger { background: transparent; color: var(--bad); border-color: var(--bad); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.events { list-style: none; padding: 0; margin: 0; border-left: 2px solid var(--line); }
.events li { padding: 4px 0 10px 14px; font-size: 14px; }
.events time { color: var(--muted); font-size: 12px; }
.events p { margin: 4px 0 0; white-space: pre-wrap; }
.crumb { margin: 0 0 6px; font-size: 13px; color: var(--muted); }
.login { display: grid; place-items: center; min-height: 100vh; }
.login form { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; width: min(360px, 100%); display: grid; gap: 14px; }
.login label { display: grid; gap: 6px; font-size: 13px; color: var(--muted); }
.error { color: var(--bad); margin: 0; }
@media (max-width: 560px) { .meta { padding-left: 0; } .kind { min-width: 0; } }
