:root{--bg: #f7f7f5;--surface: #ffffff;--surface-2: #f1f0ec;--text: #1a1a18;--muted: #6b6a64;--border: #e2e1da;--border-strong: #cfcec6;--accent: #2a6fd6;--accent-bg: #e8f0fc;--ok: #1d9e75;--ok-bg: #e1f5ee;--warn: #b9740f;--warn-bg: #faeeda;--untag: #6b6a64;--untag-bg: #eeede8;--err: #c0392b;--radius: 7px}@media(prefers-color-scheme:dark){:root{--bg: #15140f;--surface: #1f1e1a;--surface-2: #262521;--text: #ececdf;--muted: #9a988c;--border: #322f29;--border-strong: #45423a;--accent: #6aa3ee;--accent-bg: #1b2c44;--ok: #4fd0a5;--ok-bg: #123026;--warn: #e0a44a;--warn-bg: #3a2c12;--untag: #9a988c;--untag-bg: #2a2823;--err: #ef7b6f}}*{box-sizing:border-box}html,body{margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px}button,input,select,textarea{font:inherit;color:inherit}.app{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.brand{font-weight:600}.nav a{color:var(--muted);text-decoration:none;margin-left:18px;padding:4px 2px;border-bottom:2px solid transparent}.nav a.active{color:var(--text);border-bottom-color:var(--accent)}.user-chip{margin-left:22px;font-size:12px;color:var(--muted)}.user-chip .signout{margin-left:8px;color:var(--accent);border-bottom:none}.main{padding:16px 18px 64px}.progress{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;flex-wrap:wrap}.progress-main{display:flex;align-items:center;gap:10px;font-size:15px}.progress-bar{display:inline-block;width:160px;height:7px;background:var(--surface-2);border-radius:99px;overflow:hidden}.progress-bar span{display:block;height:100%;background:var(--ok)}.progress-side{display:flex;gap:8px}.chip,.ghost{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:99px;padding:5px 12px;cursor:pointer}.chip.on{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.ghost{border-radius:var(--radius)}.chip:hover,.ghost:hover{border-color:var(--accent)}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.filters select,.filters input{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:6px 8px}.filters input[type=number]{width:130px}.check{display:flex;align-items:center;gap:6px;color:var(--muted)}.vtable{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.vtable thead th{text-align:left;font-weight:500;color:var(--muted);font-size:12px;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.vtable tbody td{padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.vtable tbody tr:hover{background:var(--surface-2)}.vtable tr.untagged td.cell-name{box-shadow:inset 3px 0 0 var(--accent)}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.dim{color:var(--muted)}.pad{padding:16px}.cell-expand{width:28px}.expander{background:none;border:none;cursor:pointer;color:var(--muted);font-size:13px;padding:2px 4px}.cell-name{min-width:220px}.vname{display:block}.vmeta{display:block;font-size:11px;color:var(--muted)}.seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}.seg-btn{background:var(--surface);border:none;padding:4px 9px;cursor:pointer;color:var(--muted);border-right:1px solid var(--border)}.seg-btn:last-child{border-right:none}.seg-btn.on{background:var(--accent);color:#fff;font-weight:500}.seg-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.badge{font-size:11px;padding:2px 8px;border-radius:99px;white-space:nowrap;text-transform:capitalize}.badge-untagged,.badge-ai-open{background:var(--untag-bg);color:var(--untag)}.badge-tagged,.badge-ai-done{background:var(--ok-bg);color:var(--ok)}.badge-needs_followup,.badge-ai-in_progress,.badge-ai-blocked{background:var(--warn-bg);color:var(--warn)}.detail-row td{background:var(--surface-2);padding:0!important}.detail{padding:14px 18px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:880px){.detail-grid{grid-template-columns:1fr}}.prior{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:12px}.prior-head{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px}.prior-model{font-size:16px;font-weight:600;color:var(--accent);margin-bottom:10px}.prior-dl{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:0}.prior-dl dt{color:var(--muted);font-size:12px}.prior-dl dd{margin:0;font-size:13px}.field-label{font-size:12px;color:var(--muted);margin:4px 0;display:flex;align-items:center;justify-content:space-between}.note{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius);padding:8px;background:var(--surface);resize:vertical}.ai-list{list-style:none;margin:4px 0 10px;padding:0;font-size:13px}.ai-list li{padding:3px 0;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}.ai-form input,.ai-form select{border:1px solid var(--border-strong);border-radius:var(--radius);padding:6px 8px;background:var(--surface)}.ai-form>input{width:100%;margin-bottom:6px}.ai-form-row{display:flex;gap:6px}.ai-form-row input[type=number]{width:110px}.ai-form-row button,.ai-form button[type=submit]{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:6px 12px;cursor:pointer}.txns{margin-top:16px}.pager{display:inline-flex;gap:6px}.pager button{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:2px 8px;cursor:pointer}.pager button:disabled{opacity:.4;cursor:default}.txn-table{width:100%;border-collapse:collapse;font-size:13px}.txn-table th{text-align:left;color:var(--muted);font-weight:500;padding:5px 8px;border-bottom:1px solid var(--border)}.txn-table td{padding:4px 8px;border-bottom:1px solid var(--border)}.txn-table .desc{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.err{color:var(--err);font-size:13px;padding:6px 0}
