:root{--font-primary:"Open Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", "Menlo", monospace;--fs-xs:11px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-full:999px;--border-w-sm:1px;--shadow-xs:0 1px 2px #0f1e370f;--shadow-sm:0 1px 3px #0f1e3714, 0 1px 2px #0f1e370d;--shadow-lg:0 10px 22px #0f1e3724, 0 3px 8px #0f1e3714;--shadow-xl:0 22px 48px #0f1e3733, 0 8px 16px #0f1e371a;--bg-primary:#f6f8fb;--bg-secondary:#fff;--bg-subtle:#f1f4f8;--bg-soft:#e8eef4;--bg-inverse:#17233a;--text-primary:#16233b;--text-secondary:#3d4a5c;--text-tertiary:#697586;--text-soft:#98a2b3;--text-inverse:#fff;--border-primary:#e2e8f0;--border-subtle:#eef2f7;--brand-primary:#1659cb;--brand-secondary:#1e64d8;--brand-strong:#0b4a8f;--brand-subtle:#eff5ff;--brand-muted:#dbeafe;--brand-light:#c6dbfb;--accent-green-strong:#16a34a;--accent-green-soft:#e3f6ec;--accent-red-primary:#dc2626;--accent-red-subtle:#fdeded;--accent-orange-primary:#f97316;--accent-orange-strong:#d9770a;--accent-orange-soft:#fdecd6;--accent-blue-subtle:#eff5ff;--accent-cyan-subtle:#ecfbfd;--accent-cyan-soft:#d9f2f7;--accent-cyan-strong:#0e7490;--accent-pink-soft:#fce7f0;--accent-pink-strong:#be185d;--accent-purple-soft:#ede9fe;--accent-purple-strong:#6d28d9;--accent-tan-subtle:#fdf6e9;--accent-tan-soft:#f7ecd6;--accent-tan-strong:#b45309;--danger-primary:#dc2626;--border-strong:#cbd5e1}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-primary);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}button{font-family:inherit}a{color:inherit}svg{display:block}.app{background:var(--bg-primary);height:100vh;color:var(--text-primary);font-family:var(--font-primary);font-size:var(--fs-sm);grid-template-rows:48px 1fr;grid-template-columns:216px 1fr;display:grid;position:relative;overflow:hidden}.topbar{align-items:center;gap:var(--space-4);height:48px;padding:0 var(--space-4);background:var(--bg-secondary);border-bottom:var(--border-w-sm) solid var(--border-primary);z-index:20;grid-column:1/-1;display:flex;position:relative}.brand{align-items:center;gap:var(--space-2);font-weight:var(--fw-bold);letter-spacing:-.02em;font-size:15px;display:flex}.brand-mark{background:var(--brand-primary);color:#fff;width:24px;height:24px;font-weight:var(--fw-bold);border-radius:6px;place-items:center;font-size:14px;display:grid}.crumbs{align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-tertiary);display:flex}.crumbs .sep{color:var(--text-soft)}.crumbs .cur{color:var(--text-primary);font-weight:var(--fw-semibold)}.topbar .right{align-items:center;gap:10px;margin-left:auto;display:flex}.search{border:var(--border-w-sm) solid var(--border-primary);background:var(--bg-subtle);width:280px;height:32px;font-size:var(--fs-sm);font-family:var(--font-primary);color:var(--text-primary);border-radius:6px;padding:0 12px}.search::placeholder{color:var(--text-soft)}.search:focus{border-color:var(--brand-primary);background:var(--bg-secondary);outline:none}.icon-btn{width:32px;height:32px;color:var(--text-tertiary);cursor:pointer;border-radius:6px;place-items:center;display:grid;position:relative}.icon-btn:hover{background:var(--bg-soft);color:var(--text-primary)}.icon-btn .dot{background:var(--accent-red-primary);border:1.5px solid var(--bg-secondary);border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:7px}.avatar{align-items:center;gap:var(--space-2);padding-left:4px;display:flex}.avatar .circle{background:var(--brand-muted);width:30px;height:30px;color:var(--brand-strong);font-weight:var(--fw-bold);border-radius:50%;place-items:center;font-size:11px;display:grid}.avatar .who{flex-direction:column;line-height:1.25;display:flex}.avatar .who .nm{font-size:12px;font-weight:var(--fw-semibold);color:var(--text-primary)}.avatar .who .role{color:var(--text-tertiary);font-size:10px}.sidebar{background:var(--bg-secondary);border-right:var(--border-w-sm) solid var(--border-primary);padding:var(--space-4) 10px;grid-area:2/1;overflow-y:auto}.nav-section{margin-bottom:18px}.nav-section .title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);font-size:10px;font-weight:var(--fw-bold);margin-bottom:6px;padding:0 10px}.nav-item{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:var(--fw-medium);cursor:pointer;border-radius:6px;align-items:center;gap:10px;margin-bottom:1px;padding:8px 10px;text-decoration:none;display:flex}.nav-item svg{width:16px;height:16px;color:var(--text-tertiary);flex-shrink:0}.nav-item:hover{background:var(--bg-subtle);color:var(--text-primary)}.nav-item.active{background:var(--brand-subtle);color:var(--brand-primary);font-weight:var(--fw-semibold)}.nav-item.active svg{color:var(--brand-primary)}.nav-item .count{color:var(--text-soft);font-size:11px;font-family:var(--font-mono);margin-left:auto}.nav-item .badge{background:var(--accent-red-primary);color:#fff;font-size:10px;font-weight:var(--fw-bold);border-radius:10px;margin-left:auto;padding:1px 6px}.page{grid-area:2/2;overflow:hidden auto}.page-hd{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.page-hd h1{font-size:22px;font-weight:var(--fw-bold);letter-spacing:-.01em;margin:2px 0 0}.page-hd .actions{gap:var(--space-2);flex-shrink:0;align-items:center;display:flex}.btn{border:var(--border-w-sm) solid var(--border-primary);background:var(--bg-secondary);height:34px;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-semibold);font-family:var(--font-primary);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:7px;padding:0 14px;display:inline-flex}.btn svg{width:15px;height:15px}.btn:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.btn-primary{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.btn-primary:hover{background:var(--brand-secondary);border-color:var(--brand-secondary);color:#fff}.btn-ghost{background:0 0}.tbl{background:var(--bg-secondary);border:var(--border-w-sm) solid var(--border-primary);box-shadow:var(--shadow-xs);border-radius:8px;overflow:hidden}.tbl table{border-collapse:collapse;width:100%}.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);font-size:10px;font-weight:var(--fw-bold);border-bottom:var(--border-w-sm) solid var(--border-primary);background:var(--bg-subtle);white-space:nowrap;padding:10px 14px}.tbl td{font-size:var(--fs-sm);border-bottom:var(--border-w-sm) solid var(--border-subtle);vertical-align:middle;color:var(--text-secondary);padding:11px 14px}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr:hover td{background:var(--bg-subtle)}.mono{font-family:var(--font-mono);font-size:12px}.muted{color:var(--text-tertiary)}.pg{margin-top:var(--space-3);color:var(--text-tertiary);justify-content:space-between;align-items:center;font-size:12px;display:flex}.pg .pages{gap:4px;display:flex}.pg .p{border:var(--border-w-sm) solid var(--border-primary);background:var(--bg-secondary);cursor:pointer;min-width:26px;height:26px;font-size:12px;font-family:var(--font-mono);border-radius:5px;place-items:center;padding:0 6px;display:grid}.pg .p.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.ctag{background:var(--bg-subtle);color:var(--text-secondary);border:var(--border-w-sm) solid var(--border-primary);font-size:10px;font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;border-radius:4px;align-items:center;padding:2px 7px;display:inline-flex}.info-i{border:var(--border-w-sm) solid var(--border-primary);width:13px;height:13px;color:var(--text-soft);font-size:8px;font-weight:var(--fw-bold);cursor:help;vertical-align:middle;font-style:normal;font-family:var(--font-primary);border-radius:50%;place-items:center;margin-left:5px;display:inline-grid;position:relative}.info-i:hover{border-color:var(--brand-primary);color:var(--brand-primary)}
