.login-card[data-v-859c1b5e]{width:400px;max-width:100%;background:#fff;border-radius:20px;padding:34px 32px 22px;box-shadow:0 24px 60px #02201e4d}.brand[data-v-859c1b5e]{display:flex;align-items:center;gap:12px;margin-bottom:26px}.logo[data-v-859c1b5e]{width:44px;height:44px;border-radius:12px;flex:none;background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;box-shadow:0 6px 16px #0d948859}.brand-text h1[data-v-859c1b5e]{margin:0;font-size:20px;font-weight:700;letter-spacing:.5px}.brand-text p[data-v-859c1b5e]{margin:2px 0 0;font-size:12px;color:var(--muted)}.field[data-v-859c1b5e]{position:relative;display:block;margin-bottom:12px}.field .ic[data-v-859c1b5e]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:#94a3b8;pointer-events:none;transition:color .15s}.field input[data-v-859c1b5e]{width:100%;height:44px;padding:0 12px 0 38px;border-radius:10px;font-size:14px;transition:border-color .15s,box-shadow .15s}.field input[data-v-859c1b5e]::placeholder{color:#a5b0bd}.field input[data-v-859c1b5e]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0d948824}.field:focus-within .ic[data-v-859c1b5e]{color:var(--primary)}.eye[data-v-859c1b5e]{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:transparent;padding:6px;cursor:pointer;color:#94a3b8;display:flex;border-radius:8px}.eye[data-v-859c1b5e]:hover{color:var(--primary);background:#f1f5f9;border-color:transparent}.eye svg[data-v-859c1b5e]{width:17px;height:17px}.err[data-v-859c1b5e]{display:flex;align-items:flex-start;gap:7px;background:var(--bad-bg);color:var(--bad-fg);border-radius:10px;padding:9px 11px;font-size:13px;margin-bottom:12px}.err svg[data-v-859c1b5e]{width:15px;height:15px;flex:none;margin-top:2px}.submit[data-v-859c1b5e]{width:100%;height:44px;border:none;border-radius:10px;background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;margin-top:4px;box-shadow:0 8px 20px #0d948847;transition:transform .15s,box-shadow .15s,opacity .15s}.submit[data-v-859c1b5e]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 26px #0d94885c}.submit[data-v-859c1b5e]:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.spinner[data-v-859c1b5e]{width:15px;height:15px;border-radius:50%;flex:none;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:spin-859c1b5e .7s linear infinite}@keyframes spin-859c1b5e{to{transform:rotate(360deg)}}.help-wrap[data-v-859c1b5e]{margin-top:16px;text-align:center}.link[data-v-859c1b5e]{border:none;background:transparent;color:var(--muted);font-size:12px;padding:4px 6px;cursor:pointer}.link[data-v-859c1b5e]:hover{color:var(--primary);border-color:transparent;background:transparent}.help[data-v-859c1b5e]{margin-top:8px;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid var(--border);font-size:12px;line-height:1.7;color:var(--muted);text-align:left}.help code[data-v-859c1b5e]{background:#eef1f6;border-radius:4px;padding:1px 5px;font-size:11px;color:var(--text)}@media (max-width: 480px){.login-card[data-v-859c1b5e]{padding:28px 20px 18px;border-radius:16px}}.pager[data-v-fd1ab9f3]{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap;justify-content:flex-end}.pager .meta[data-v-fd1ab9f3]{font-size:13px}.pager select[data-v-fd1ab9f3]{width:100px}.new-card[data-v-344fe4a3]{background:#f8fafc}.err[data-v-344fe4a3]{color:var(--danger);font-size:13px;margin-top:8px}.fail-card[data-v-bb7208f9]{background:var(--bad-bg);border-color:transparent}.err[data-v-bb7208f9]{color:var(--danger)}.domain[data-v-9abcdc02]{margin-bottom:12px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}.domain>summary[data-v-9abcdc02]{cursor:pointer;font-size:14px;font-weight:700;color:var(--primary-dark);padding:9px 12px;background:var(--ok-bg);border-left:3px solid var(--primary)}.item[data-v-9abcdc02]{margin:8px 10px 10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.item>summary[data-v-9abcdc02]{cursor:pointer;font-size:13px;font-weight:600;padding:6px 10px;background:var(--draft-bg);border-left:3px solid #94a3b8;border-radius:8px 8px 0 0}.item>div[data-v-9abcdc02]{margin:2px 8px 8px 16px}.kp-item[data-v-9abcdc02]{padding:8px 10px;border-radius:8px;cursor:pointer;margin-bottom:4px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}.kp-item[data-v-9abcdc02]:hover{background:var(--surface-2)}.kp-item.active[data-v-9abcdc02]{background:#ecfdf5;outline:1px solid var(--primary)}.status-dot[data-v-9abcdc02]{width:8px;height:8px;border-radius:50%;flex:none}.dot-approved[data-v-9abcdc02]{background:#0ea371}.dot-rejected[data-v-9abcdc02]{background:#b91c1c}.dot-pending_review[data-v-9abcdc02]{background:#d97706}.dot-draft[data-v-9abcdc02]{background:#94a3b8}.mini[data-v-9abcdc02]{padding:2px 8px;font-size:11px;border-radius:6px}.mini.warn[data-v-9abcdc02]{background:var(--bad-bg);border-color:transparent;color:var(--bad-fg)}.chk[data-v-9abcdc02]{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;max-height:140px;overflow:auto;margin-top:4px}.locked[data-v-9abcdc02]{background:var(--draft-bg);border-color:transparent}.stats-bar[data-v-9abcdc02]{display:flex;gap:28px;align-items:center;position:sticky;bottom:0}.err[data-v-9abcdc02]{color:var(--danger);font-size:13px;margin-top:6px}.msg[data-v-9abcdc02]{color:var(--ok-fg);font-size:13px;margin-top:6px}.dlg[data-v-9abcdc02]{border:1px solid var(--border);border-radius:var(--radius);padding:18px;min-width:420px;max-width:640px}.dlg table[data-v-9abcdc02]{margin-top:8px}.progress-num b[data-v-571f9a27]{font-size:20px}.domain[data-v-571f9a27]{margin-bottom:12px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}.domain>summary[data-v-571f9a27]{cursor:pointer;font-size:14px;font-weight:700;color:var(--primary-dark);padding:9px 12px;background:var(--ok-bg);border-left:3px solid var(--primary)}.item[data-v-571f9a27]{margin:8px 10px 10px 14px;border:1px solid var(--border);border-radius:8px;background:#fafbfc}.item>summary[data-v-571f9a27]{cursor:pointer;font-size:13px;font-weight:600;padding:6px 10px;background:var(--draft-bg);border-left:3px solid #94a3b8;border-radius:8px 8px 0 0}.item>div[data-v-571f9a27]{margin:2px 8px 8px 16px}.err[data-v-571f9a27]{color:var(--danger);font-size:13px;margin-top:6px}.msg[data-v-571f9a27]{color:var(--ok-fg);font-size:13px;margin-top:6px}.explain-block[data-v-571f9a27]{margin-top:12px;padding-top:10px;border-top:1px dashed #d7dee8;font-size:13px}.explain-text[data-v-571f9a27]{white-space:pre-line;margin:6px 0 0;line-height:1.7;color:#334155}.err[data-v-f2c0bfde]{color:var(--danger);font-size:13px;margin-bottom:8px}.filters[data-v-f2c0bfde]{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.filters select[data-v-f2c0bfde],.filters input[data-v-f2c0bfde]{padding:6px 8px}.detail-json[data-v-f2c0bfde]{white-space:pre-wrap;word-break:break-all;margin:4px 0 0;font-size:12px;background:#f8fafc;padding:8px;border-radius:6px;max-height:220px;overflow:auto}.new-card[data-v-b686ed0d]{background:var(--surface-2)}.err[data-v-b686ed0d]{color:var(--danger);font-size:13px;margin-top:8px}.msg[data-v-b686ed0d]{color:var(--ok-fg);font-size:13px;margin-top:8px}.dlg[data-v-b686ed0d]{border:1px solid var(--border);border-radius:var(--radius);padding:20px;min-width:340px}.tabs[data-v-b686ed0d]{display:inline-flex;gap:4px}.tabs button[data-v-b686ed0d]{border:none;background:transparent;padding:6px 12px;border-radius:8px;color:var(--muted)}.tabs button.on[data-v-b686ed0d]{background:var(--ok-bg);color:var(--primary-dark);font-weight:600}.badge.role-super[data-v-b686ed0d]{background:#ede9fe;color:#6d28d9}.badge.role-operator[data-v-b686ed0d]{background:#e0f2fe;color:#0369a1}.badge.role-reviewer[data-v-b686ed0d]{background:var(--warn-bg);color:var(--warn-fg)}.badge.role-ops[data-v-b686ed0d]{background:var(--draft-bg);color:var(--draft-fg)}.badge.perm-count[data-v-b686ed0d]{background:var(--draft-bg);color:var(--draft-fg);margin-right:6px}.badge.extra[data-v-b686ed0d]{background:#fef3c7;color:#92400e}.matrix td[data-v-b686ed0d],.matrix th[data-v-b686ed0d]{padding:8px 12px}.matrix .group-row td[data-v-b686ed0d]{background:var(--draft-bg);font-weight:700;font-size:13px;color:var(--draft-fg)}.matrix .yes[data-v-b686ed0d]{color:var(--ok-fg);font-weight:700}.matrix .no[data-v-b686ed0d]{color:#cbd5e1}.perm-dlg[data-v-b686ed0d]{max-height:80vh;overflow:auto;min-width:460px}.perm-group[data-v-b686ed0d]{margin-bottom:10px}.perm-group-title[data-v-b686ed0d]{font-size:12px;font-weight:700;color:var(--draft-fg);background:var(--draft-bg);border-radius:6px;padding:3px 10px;margin-bottom:4px}.perm-row[data-v-b686ed0d]{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:13px}.perm-row[data-v-b686ed0d]:hover{background:var(--surface-2)}.perm-row.locked[data-v-b686ed0d]{opacity:.72;cursor:not-allowed}.badge.base-tag[data-v-b686ed0d]{background:var(--draft-bg);color:var(--draft-fg);margin-left:6px;font-size:11px}.err[data-v-a6e8ae65]{color:var(--danger);font-size:13px;margin:6px 0}.msg[data-v-a6e8ae65]{color:var(--ok-fg);font-size:13px;margin:6px 0}.err[data-v-4dc7a161]{color:var(--danger);font-size:13px}.fb-item[data-v-4dc7a161]{padding:10px 12px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;cursor:pointer}.fb-item[data-v-4dc7a161]:hover{border-color:var(--primary)}.fb-item.active[data-v-4dc7a161]{background:var(--ok-bg);outline:1px solid var(--primary)}.badge.processing[data-v-4dc7a161]{background:#e0f2fe;color:#0369a1}button.on[data-v-4dc7a161]{background:var(--ok-bg);color:var(--primary-dark)}.err[data-v-8bcf6d4e]{color:var(--danger);font-size:13px}.fb-item[data-v-8bcf6d4e]{padding:10px 12px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;cursor:pointer}.fb-item[data-v-8bcf6d4e]:hover{border-color:var(--primary)}.fb-item.active[data-v-8bcf6d4e]{background:var(--ok-bg);outline:1px solid var(--primary)}.badge.dismissed[data-v-8bcf6d4e]{background:#f1f5f9;color:#64748b}button.on[data-v-8bcf6d4e]{background:var(--ok-bg);color:var(--primary-dark)}.err[data-v-5025c5f8]{color:var(--danger);font-size:13px;margin-bottom:8px}.tiles[data-v-5025c5f8]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.tile[data-v-5025c5f8]{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-sm)}.tile-ic[data-v-5025c5f8]{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none}.tile-ic .ic[data-v-5025c5f8]{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tile-ic.blue[data-v-5025c5f8]{background:#eff6ff;color:#2563eb}.tile-ic.green[data-v-5025c5f8]{background:#ecfdf5;color:#059669}.tile-ic.purple[data-v-5025c5f8]{background:#f5f3ff;color:#7c3aed}.tile-ic.cyan[data-v-5025c5f8]{background:#ecfeff;color:#0891b2}.tile-ic.orange[data-v-5025c5f8]{background:#fff7ed;color:#ea580c}.tile-ic.rose[data-v-5025c5f8]{background:#fff1f2;color:#e11d48}.tile-ic.slate[data-v-5025c5f8]{background:#f1f5f9;color:#475569}.tile-main[data-v-5025c5f8]{display:flex;flex-direction:column;line-height:1.3;min-width:0}.tile .n[data-v-5025c5f8]{font-size:22px;font-weight:700;color:var(--text-strong)}.tile .meta[data-v-5025c5f8]{font-size:12px;color:var(--muted)}.grid3[data-v-5025c5f8]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid4[data-v-5025c5f8]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.sub[data-v-5025c5f8]{margin:0}.span2[data-v-5025c5f8]{grid-column:span 2}.span3[data-v-5025c5f8]{grid-column:span 3}table[data-v-5025c5f8]{width:100%;border-collapse:collapse;font-size:13px}th[data-v-5025c5f8],td[data-v-5025c5f8]{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border, #eee)}th[data-v-5025c5f8]{color:var(--muted, #888);font-weight:500}.sub-head[data-v-5025c5f8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sub-head b[data-v-5025c5f8]{font-size:14px;color:var(--text-strong)}.dist-row[data-v-5025c5f8]{display:flex;align-items:center;gap:10px;margin-top:8px}.dist-row .dl[data-v-5025c5f8]{width:74px;flex:none;font-size:12px;color:var(--muted)}.dbar[data-v-5025c5f8]{flex:1;height:8px;background:var(--surface-3);border-radius:999px;overflow:hidden}.dfill[data-v-5025c5f8]{display:block;height:100%;background:linear-gradient(90deg,#60a5fa,#2563eb);border-radius:999px}.dn[data-v-5025c5f8]{width:40px;text-align:right;font-size:13px;color:var(--text-strong);flex:none}.avatar-sm[data-v-5025c5f8]{width:24px;height:24px;border-radius:50%;flex:none;margin-right:8px;background:linear-gradient(135deg,#60a5fa,#2563eb);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;vertical-align:middle}.tile.link[data-v-5025c5f8],.sub.link[data-v-5025c5f8],tr.rowlink[data-v-5025c5f8]{cursor:pointer}.tile.link[data-v-5025c5f8]:hover{filter:brightness(.95)}.sub.link[data-v-5025c5f8]:hover{outline:1px solid var(--primary)}tr.rowlink:hover td[data-v-5025c5f8]{background:#2563eb0d}.arrow[data-v-5025c5f8]{margin-left:4px;color:var(--primary-dark)}.go[data-v-5025c5f8]{color:var(--muted, #888);font-size:12px;font-weight:400;cursor:pointer}.go[data-v-5025c5f8]:hover{color:var(--primary)}.trend[data-v-5025c5f8]{display:flex;align-items:flex-end;gap:4px;height:150px;margin-top:10px}.bar[data-v-5025c5f8]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.fill[data-v-5025c5f8]{width:72%;background:var(--primary);border-radius:4px 4px 0 0;min-height:2px}.bar:hover .fill[data-v-5025c5f8]{background:var(--primary-dark)}.bd[data-v-5025c5f8]{font-size:10px;color:#888;margin-top:4px;transform:rotate(-40deg);white-space:nowrap}@media (max-width: 800px){.tiles[data-v-5025c5f8],.grid3[data-v-5025c5f8],.grid4[data-v-5025c5f8]{grid-template-columns:1fr 1fr}.span2[data-v-5025c5f8],.span3[data-v-5025c5f8]{grid-column:span 2}}.err[data-v-80cc655c]{color:var(--danger);font-size:13px}.msg[data-v-80cc655c]{color:var(--ok-fg);font-size:13px}.config-block[data-v-80cc655c]{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.err[data-v-e600f7f6]{color:var(--danger);font-size:13px;margin-bottom:8px}.chip-on[data-v-8ded1a71]{border-color:var(--primary);color:var(--primary-dark)}.err[data-v-8ded1a71]{color:var(--danger);font-size:13px;margin-bottom:8px}.legend[data-v-12d63a25]{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-bottom:12px}.lg[data-v-12d63a25]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#475569;padding:5px 10px;border-radius:999px;border:1px solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none}.lg[data-v-12d63a25]:hover{background:#f1f5f9}.lg.on[data-v-12d63a25]{background:#e6f7f4;border-color:#0d9488;color:#115e59;font-weight:600}.lg .dot[data-v-12d63a25]{width:12px;height:12px;border-radius:4px;display:inline-block}.grid[data-v-12d63a25]{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}.graph-wrap[data-v-12d63a25]{border:1px solid #e7edf3;border-radius:12px;background:radial-gradient(1100px 560px at 100% 0%,rgba(45,212,191,.05),transparent 55%),#fff;overflow:hidden}.graph[data-v-12d63a25]{width:100%;height:auto;aspect-ratio:320 / 340;display:block;cursor:grab;touch-action:none}.graph[data-v-12d63a25]:active{cursor:grabbing}.node[data-v-12d63a25]{cursor:pointer}.node-label[data-v-12d63a25]{font-size:6.5px;fill:#ffffffeb;font-weight:700;pointer-events:none}.node-bubble[data-v-12d63a25]{font-size:9px;fill:#15182b;font-weight:600;pointer-events:none}.edge-bridge[data-v-12d63a25]{font-size:7px;fill:#475569;pointer-events:none}.detail[data-v-12d63a25]{border:1px solid #e7edf3;border-radius:12px;background:#fff;padding:16px;min-height:200px;position:sticky;top:12px}.desc[data-v-12d63a25]{font-size:13px;color:#334155;line-height:1.7;margin:8px 0;white-space:pre-wrap}.nb[data-v-12d63a25]{margin-top:12px;border-top:1px dashed #d7dee8;padding-top:10px}.nb-head[data-v-12d63a25]{font-size:12px;color:#94a3b8;margin-bottom:8px}.nb-item[data-v-12d63a25]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 8px;border-radius:8px;margin-bottom:6px;background:#f8fafc;cursor:pointer}.nb-item[data-v-12d63a25]:hover{background:#eef2f7}.rel[data-v-12d63a25]{font-size:11px;color:#0d9488;font-weight:600}.rel.prerequisite[data-v-12d63a25]{color:#2563eb}.rel.contrast[data-v-12d63a25]{color:#dc2626}.nb-title[data-v-12d63a25]{font-size:13px;color:#15182b}.nb-bridge[data-v-12d63a25]{font-size:11px;color:#64748b;width:100%}.err[data-v-12d63a25]{color:var(--danger);font-size:13px}.meta[data-v-12d63a25]{color:#94a3b8;font-size:12px}.badge[data-v-12d63a25]{font-size:12px;padding:3px 10px;border-radius:999px;font-weight:600}@media (max-width: 860px){.grid[data-v-12d63a25]{grid-template-columns:1fr}.detail[data-v-12d63a25]{position:static}}.stats[data-v-36fabfc1]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.stat[data-v-36fabfc1]{background:#fff;border:1px solid #e7edf3;border-radius:12px;padding:14px 16px}.stat b[data-v-36fabfc1]{display:block;font-size:22px;color:#0f172a}.stat span[data-v-36fabfc1]{font-size:12px;color:#94a3b8}.hint[data-v-36fabfc1]{font-size:12px;color:#0f766e;background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px;padding:8px 12px;margin-bottom:12px}.grid[data-v-36fabfc1]{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}.graph-wrap[data-v-36fabfc1]{border:1px solid #e7edf3;border-radius:12px;background:radial-gradient(1200px 600px at 20% 10%,rgba(99,102,241,.04),transparent 55%),#fff;overflow:hidden}.graph[data-v-36fabfc1]{width:100%;height:auto;aspect-ratio:1 / 1;display:block;cursor:grab;touch-action:none}.graph[data-v-36fabfc1]:active{cursor:grabbing}.node[data-v-36fabfc1]{cursor:pointer}.node-label[data-v-36fabfc1]{font-size:6.5px;fill:#ffffffeb;font-weight:700;pointer-events:none}.node-bubble[data-v-36fabfc1]{font-size:9px;fill:#15182b;font-weight:600;pointer-events:none}.detail[data-v-36fabfc1]{border:1px solid #e7edf3;border-radius:12px;background:#fff;padding:14px;position:sticky;top:12px}.ol-list[data-v-36fabfc1]{margin-top:6px;max-height:460px;overflow-y:auto}.ol[data-v-36fabfc1]{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:8px;cursor:pointer}.ol[data-v-36fabfc1]:hover{background:#f1f5f9}.ol.on[data-v-36fabfc1]{background:#eef2f7;outline:1px solid #cbd5e1}.ol .dot[data-v-36fabfc1]{width:12px;height:12px;border-radius:4px;flex:none}.ol .dot.sm[data-v-36fabfc1]{width:9px;height:9px;border-radius:3px;display:inline-block}.ol-title[data-v-36fabfc1]{font-size:13px;color:#15182b;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ol-kind[data-v-36fabfc1]{font-size:11px;color:#94a3b8}.ol-cnt[data-v-36fabfc1]{font-size:12px;color:#475569}.nb-head[data-v-36fabfc1]{font-size:12px;color:#94a3b8}.rel[data-v-36fabfc1]{font-size:11px;color:#0d9488;font-weight:600}.rel.prerequisite[data-v-36fabfc1]{color:#2563eb}.rel.contrast[data-v-36fabfc1]{color:#dc2626}.nb-item[data-v-36fabfc1]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 8px;border-radius:8px;margin-top:6px;background:#f8fafc;cursor:pointer}.nb-item[data-v-36fabfc1]:hover{background:#eef2f7}.nb-title[data-v-36fabfc1]{font-size:13px;color:#15182b}.nb-out[data-v-36fabfc1]{font-size:11px}.nb-bridge[data-v-36fabfc1]{font-size:11px;color:#64748b;width:100%}.sel[data-v-36fabfc1]{margin-top:16px;border:1px solid #e7edf3;border-radius:12px;background:#fff;padding:16px}.desc[data-v-36fabfc1]{font-size:13px;color:#334155;line-height:1.7;margin:8px 0;white-space:pre-wrap}.mini[data-v-36fabfc1]{font-size:12px;padding:3px 10px;background:#fff;color:#475569;border-color:#cbd5e1}.err[data-v-36fabfc1]{color:var(--danger);font-size:13px}.meta[data-v-36fabfc1]{color:#94a3b8;font-size:12px}@media (max-width: 860px){.grid[data-v-36fabfc1]{grid-template-columns:1fr}.detail[data-v-36fabfc1]{position:static}.stats[data-v-36fabfc1]{grid-template-columns:repeat(2,1fr)}}.row[data-v-2cb0af42]{display:flex;gap:8px;align-items:center}.row.spread[data-v-2cb0af42]{justify-content:space-between}.tab[data-v-2cb0af42]{padding:6px 14px;border:1px solid var(--border);background:#fff;border-radius:8px;cursor:pointer}.tab.on[data-v-2cb0af42]{background:var(--primary);color:#fff;border-color:var(--primary)}.clickable[data-v-2cb0af42]{cursor:pointer}.clickable[data-v-2cb0af42]:hover{background:var(--surface-2)}.ref[data-v-2cb0af42]{display:block;padding:4px 0;color:var(--primary)}.dlg[data-v-2cb0af42]{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;background:#0006;display:flex;align-items:center;justify-content:center}.dlg-body[data-v-2cb0af42]{background:#fff;padding:20px;border-radius:10px;width:min(560px,92vw);max-height:80vh;overflow:auto}.badge[data-v-2cb0af42]{display:inline-block;background:#e6f4f1;color:var(--primary-dark);border-radius:6px;padding:2px 8px;margin:2px 4px 2px 0;font-size:12px}.mono[data-v-5892a61e]{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;color:#334155}.prev[data-v-5892a61e]{max-width:360px;color:#64748b;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.5}.err[data-v-5892a61e]{color:var(--danger);font-size:13px;margin:6px 0}.ok[data-v-5892a61e]{color:var(--ok-fg);font-size:13px;margin:6px 0}.row[data-v-5892a61e]{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread[data-v-5892a61e]{justify-content:space-between}.readonly[data-v-5892a61e]{white-space:pre-wrap;background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:10px;max-height:320px;overflow:auto;font-size:12px;line-height:1.6}.banner[data-v-5892a61e]{background:var(--warn-bg);color:var(--warn-fg);border-radius:8px;padding:8px 10px;font-size:12px;margin-top:8px}.dlg[data-v-5892a61e]{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:50}.dlg-body[data-v-5892a61e]{background:#fff;padding:20px;border-radius:10px;width:min(720px,94vw);max-height:88vh;overflow:auto}.btn-ghost[data-v-5892a61e]{background:transparent;color:var(--text);border-color:var(--border)}.warn[data-v-5892a61e]{background:var(--warn-bg);color:var(--warn-fg);border-color:#fde68a}.warn[data-v-5892a61e]:hover{background:#fef3c7;color:#b45309}.row[data-v-b4281233]{display:flex;gap:8px;align-items:center}.row.spread[data-v-b4281233]{justify-content:space-between}.row.end[data-v-b4281233]{justify-content:flex-end;margin-top:12px}.btn[data-v-b4281233]{background:var(--primary);color:#fff;border:1px solid var(--primary);padding:7px 14px;border-radius:8px;cursor:pointer}.btn[data-v-b4281233]:disabled{opacity:.6;cursor:default}.btn[data-v-b4281233]:hover{background:var(--primary-dark);color:#fff}.btn-ghost[data-v-b4281233]:hover{background:var(--surface-2)}.btn-danger[data-v-b4281233]:hover{background:#fee2e2;color:#ef4444}.btn-ghost[data-v-b4281233]{background:#fff;border:1px solid var(--border);padding:7px 14px;border-radius:8px;cursor:pointer}.btn-ghost.sm[data-v-b4281233],.btn-danger.sm[data-v-b4281233]{padding:4px 10px;font-size:12px;margin-left:6px}.btn-danger[data-v-b4281233]{background:#fff;border:1px solid #ef4444;color:#ef4444;padding:4px 10px;border-radius:8px;cursor:pointer;font-size:12px}.clickable[data-v-b4281233]{cursor:pointer}.clickable[data-v-b4281233]:hover{background:var(--surface-2)}.fld[data-v-b4281233]{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:13px;color:#475569}.fld input[data-v-b4281233],.fld select[data-v-b4281233],.fld textarea[data-v-b4281233]{border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:14px;font-family:inherit}.badge[data-v-b4281233]{display:inline-block;padding:2px 8px;border-radius:6px;font-size:12px}.badge.ready[data-v-b4281233]{background:#e6f4f1;color:var(--primary-dark)}.badge.indexing[data-v-b4281233]{background:#fff7e6;color:#b45309}.badge.failed[data-v-b4281233]{background:#fee2e2;color:#b91c1c}.dlg[data-v-b4281233]{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:50}.dlg-body[data-v-b4281233]{background:#fff;padding:20px;border-radius:10px;width:min(640px,92vw);max-height:84vh;overflow:auto}.chunks[data-v-b4281233]{margin-top:10px;display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow:auto}.chunk[data-v-b4281233]{border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.6;white-space:pre-wrap}.err[data-v-1f6e7f70]{color:var(--danger);font-size:13px}.filter-input[data-v-1f6e7f70],.filter-select[data-v-1f6e7f70]{padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--fg);font-size:13px}.filter-input[data-v-1f6e7f70]{width:180px}.btn-primary[data-v-1f6e7f70]{background:var(--accent);color:#fff;border:none;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:13px}.btn-ghost[data-v-1f6e7f70]{background:transparent;border:1px solid var(--border);padding:4px 12px;border-radius:4px;cursor:pointer;font-size:13px;color:var(--fg)}code[data-v-1f6e7f70]{background:var(--bg-alt, #f5f5f5);padding:1px 6px;border-radius:3px;font-size:12px}.kpis[data-v-25d9f025]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.kpi[data-v-25d9f025]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm)}.k-num[data-v-25d9f025]{font-size:26px;font-weight:700;color:var(--text-strong)}.k-lbl[data-v-25d9f025]{font-size:12px;color:var(--muted);margin-top:2px}.stat-row[data-v-25d9f025]{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border);font-size:14px}.stat-row[data-v-25d9f025]:last-child{border-bottom:none}.stat-row.hl[data-v-25d9f025]{font-weight:600;color:var(--primary-dark)}.err[data-v-25d9f025]{color:var(--danger)}@media (max-width: 720px){.kpis[data-v-25d9f025]{grid-template-columns:repeat(2,1fr)}}.mask[data-v-ddc55f53]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:80;padding:24px}.modal[data-v-ddc55f53]{width:100%;max-width:640px;background:#fff;border-radius:var(--radius-lg);padding:22px 24px;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto}.form-grid[data-v-ddc55f53]{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.form-grid label[data-v-ddc55f53]{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted)}.form-grid input[data-v-ddc55f53],.form-grid select[data-v-ddc55f53]{width:100%}.err[data-v-ddc55f53]{color:var(--danger);font-size:13px;margin:6px 0}.msg[data-v-ddc55f53]{color:var(--ok-fg);font-size:13px;margin:6px 0}@media (max-width: 640px){.form-grid[data-v-ddc55f53]{grid-template-columns:1fr}}.kpis[data-v-7ef02968]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.kpi[data-v-7ef02968]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm)}.k-num[data-v-7ef02968]{font-size:24px;font-weight:700;color:var(--text-strong)}.k-lbl[data-v-7ef02968]{font-size:12px;color:var(--muted);margin-top:2px}.mask[data-v-7ef02968]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:80;padding:24px}.modal[data-v-7ef02968]{width:100%;max-width:560px;background:#fff;border-radius:var(--radius-lg);padding:22px 24px;box-shadow:var(--shadow-lg)}.form-grid[data-v-7ef02968]{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:8px}.form-grid label[data-v-7ef02968]{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted)}.form-grid input[data-v-7ef02968],.form-grid select[data-v-7ef02968]{width:100%}.err[data-v-7ef02968]{color:var(--danger);font-size:13px;margin:6px 0}.msg[data-v-7ef02968]{color:var(--ok-fg);font-size:13px;margin:6px 0}@media (max-width: 720px){.kpis[data-v-7ef02968]{grid-template-columns:repeat(2,1fr)}.form-grid[data-v-7ef02968]{grid-template-columns:1fr}}.err[data-v-5aa0610f]{color:var(--danger);font-size:13px;margin:6px 0}.stats[data-v-403ba2a0]{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.stat[data-v-403ba2a0]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-sm)}.stat-num[data-v-403ba2a0]{font-size:24px;font-weight:700;color:var(--text-strong)}.stat-lbl[data-v-403ba2a0]{display:flex;align-items:center;gap:8px;margin-top:4px}.kv[data-v-403ba2a0]{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.kv>div[data-v-403ba2a0]{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}.kv span[data-v-403ba2a0]{color:var(--muted)}.kv b[data-v-403ba2a0]{color:var(--text-strong);text-align:right}.form-grid[data-v-403ba2a0]{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:8px}.form-grid label[data-v-403ba2a0]{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted)}.form-grid input[data-v-403ba2a0]{width:100%}.err[data-v-403ba2a0]{color:var(--danger);font-size:13px;margin:6px 0}.msg[data-v-403ba2a0]{color:var(--ok-fg);font-size:13px;margin:6px 0}.debit[data-v-403ba2a0]{color:var(--bad-fg);font-weight:600}.credit[data-v-403ba2a0]{color:var(--ok-fg);font-weight:600}@media (max-width: 720px){.stats[data-v-403ba2a0]{grid-template-columns:repeat(2,1fr)}.kv[data-v-403ba2a0],.form-grid[data-v-403ba2a0]{grid-template-columns:1fr}}.filters[data-v-f9fe809e]{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}.filters label[data-v-f9fe809e]{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.kpi-row[data-v-f9fe809e]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi[data-v-f9fe809e]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-sm)}.kpi-num[data-v-f9fe809e]{font-size:22px;font-weight:700;color:var(--text-strong)}.kpi-lbl[data-v-f9fe809e]{font-size:12px;color:var(--muted);margin-top:4px}.toolbar[data-v-f9fe809e]{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.debit[data-v-f9fe809e]{color:var(--bad-fg);font-weight:600}.credit[data-v-f9fe809e]{color:var(--ok-fg);font-weight:600}@media (max-width: 720px){.kpi-row[data-v-f9fe809e]{grid-template-columns:repeat(2,1fr)}}h2[data-v-db7b9bb4]{font-size:18px;margin:0 0 10px}.form[data-v-db7b9bb4]{display:flex;gap:10px;flex-wrap:wrap}.form input[data-v-db7b9bb4]{flex:1;min-width:200px;padding:8px 10px;border:1px solid var(--line);border-radius:8px}.err[data-v-db7b9bb4]{color:var(--danger);font-size:13px;margin:6px 0}.msg[data-v-db7b9bb4]{color:var(--ok-fg);font-size:13px;margin:6px 0}.meta[data-v-db7b9bb4]{color:var(--muted);font-size:12px}.danger[data-v-db7b9bb4]{color:var(--danger);font-weight:600}h2[data-v-61e0ddf6]{font-size:18px;margin:0 0 10px}.form[data-v-61e0ddf6]{display:flex;gap:10px;align-items:center;flex-wrap:wrap}select[data-v-61e0ddf6],input[data-v-61e0ddf6]{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}textarea[data-v-61e0ddf6]{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-family:ui-monospace,monospace;font-size:12px}.grid[data-v-61e0ddf6]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.grid label[data-v-61e0ddf6]{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.grid label.wide[data-v-61e0ddf6]{grid-column:span 2}.err[data-v-61e0ddf6]{color:var(--danger);font-size:13px;margin:6px 0}.msg[data-v-61e0ddf6]{color:var(--ok-fg);font-size:13px;margin:6px 0}.meta[data-v-61e0ddf6]{color:var(--muted);font-size:12px}code[data-v-61e0ddf6]{background:var(--bg-soft, #f3f4f6);padding:1px 4px;border-radius:4px}.tabs[data-v-68679248]{display:flex;gap:8px;margin-bottom:14px}.tabs button[data-v-68679248]{background:#fff;border:1px solid var(--border);color:var(--muted);border-radius:var(--radius);padding:8px 18px;font-size:13px;font-weight:600;cursor:pointer}.tabs button.on[data-v-68679248]{background:var(--primary, #0d9488);color:#fff;border-color:var(--primary, #0d9488)}.toolbar[data-v-68679248]{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.toolbar label[data-v-68679248]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.kpi-row[data-v-68679248]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi[data-v-68679248]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.kpi-num[data-v-68679248]{font-size:20px;font-weight:700}.kpi-lbl[data-v-68679248]{font-size:12px;color:var(--muted);margin-top:4px}.tabs[data-v-c820b5c7]{display:flex;gap:8px;margin-bottom:14px}.tabs button[data-v-c820b5c7]{background:#fff;border:1px solid var(--border);color:var(--muted);border-radius:var(--radius);padding:8px 18px;font-size:13px;font-weight:600;cursor:pointer}.tabs button.on[data-v-c820b5c7]{background:var(--primary, #0d9488);color:#fff;border-color:var(--primary, #0d9488)}.toolbar[data-v-c820b5c7]{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.page[data-v-64463093]{padding:16px 20px 60px}h2[data-v-64463093]{font-size:18px;margin:8px 0 14px}.meta[data-v-64463093]{color:#6b7280;font-size:12px}.err[data-v-64463093]{color:#b91c1c;background:#fee2e2;padding:8px 12px;border-radius:6px}.msg[data-v-64463093]{color:#0f766e;background:#ccfbf1;padding:8px 12px;border-radius:6px}.card[data-v-64463093]{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px;margin-bottom:16px}.hint[data-v-64463093]{margin:8px 0 12px 18px;font-size:13px;color:#374151;line-height:1.8}.row[data-v-64463093]{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}.inline[data-v-64463093]{display:inline-flex;align-items:center;gap:6px;font-size:13px}.block[data-v-64463093]{display:block;font-size:13px;margin-top:10px}.block input[data-v-64463093]{width:100%}table[data-v-64463093]{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px}th[data-v-64463093],td[data-v-64463093]{border-bottom:1px solid #eef0f3;padding:7px 8px;text-align:left;vertical-align:top}th[data-v-64463093]{background:#f9fafb;font-weight:600}.tag[data-v-64463093]{padding:1px 8px;border-radius:999px;font-size:12px}.tag.draft[data-v-64463093]{background:#fef3c7;color:#92400e}.tag.published[data-v-64463093]{background:#d1fae5;color:#065f46}.tag.archived[data-v-64463093]{background:#e5e7eb;color:#4b5563}.ops button[data-v-64463093]{margin-right:6px}.opt[data-v-64463093]{display:inline-block;margin-right:10px;font-size:12px;color:#0f766e}.mono[data-v-64463093]{font-family:ui-monospace,Menlo,monospace;font-size:12px}textarea[data-v-64463093]{width:100%;margin-top:8px;font-family:ui-monospace,Menlo,monospace;font-size:13px;line-height:1.7}code[data-v-64463093]{background:#f3f4f6;padding:0 4px;border-radius:4px}.login-wrap[data-v-e6ea0d96]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(900px 520px at 12% 16%,rgba(45,212,191,.14),transparent 60%),radial-gradient(760px 480px at 86% 84%,rgba(56,189,248,.12),transparent 62%),linear-gradient(135deg,#f0fdfa,#ecfeff 48%,#f0f9ff)}.layout[data-v-e6ea0d96]{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg)}.topbar[data-v-e6ea0d96]{height:60px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fff;border-bottom:1px solid var(--border)}.topbar-right[data-v-e6ea0d96]{display:flex;align-items:center;gap:16px}.topbar-right .meta[data-v-e6ea0d96]{color:#94a3b8;font-size:13px}.topbar-right button[data-v-e6ea0d96]{background:transparent;color:#475569;border-color:transparent}.notif[data-v-e6ea0d96]{position:relative;display:flex;align-items:center}.icon-btn[data-v-e6ea0d96]{display:flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid transparent;background:transparent;color:#64748b;cursor:pointer;transition:background .15s ease,color .15s ease}.icon-btn[data-v-e6ea0d96]:hover{background:#f1f5f9;color:#1e293b}.icon-btn .ic[data-v-e6ea0d96]{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notif-backdrop[data-v-e6ea0d96]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.notif-panel[data-v-e6ea0d96]{position:absolute;top:46px;right:0;z-index:41;width:300px;background:#fff;border:1px solid #e7edf3;border-radius:12px;box-shadow:0 18px 44px #0f172a29;overflow:hidden;animation:searchIn-e6ea0d96 .14s ease}.notif-head[data-v-e6ea0d96]{padding:12px 14px;font-weight:600;color:#0f172a;border-bottom:1px solid #eef2f7}.notif-body[data-v-e6ea0d96]{padding:18px 14px;text-align:center}.search-trigger[data-v-e6ea0d96]{display:flex;align-items:center;gap:8px;flex:0 1 300px;margin-left:auto;padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:#f5f7fa;color:#94a3b8;font-size:13px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.search-trigger[data-v-e6ea0d96]:hover{border-color:#cbd5e1;background:#fff}.search-trigger .ic[data-v-e6ea0d96]{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.search-trigger kbd[data-v-e6ea0d96]{margin-left:auto;padding:1px 6px;border-radius:5px;background:#eef2f7;color:#94a3b8;font-size:11px;border:1px solid #e2e8f0}.search-overlay[data-v-e6ea0d96]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;background:#0f172a59}.search-panel[data-v-e6ea0d96]{width:min(560px,92vw);background:#fff;border-radius:14px;box-shadow:0 24px 60px #0f172a40;overflow:hidden;animation:searchIn-e6ea0d96 .16s ease}@keyframes searchIn-e6ea0d96{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.search-box[data-v-e6ea0d96]{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #eef2f7}.search-box .ic[data-v-e6ea0d96]{width:18px;height:18px;flex:none;stroke:#94a3b8;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.search-box input[data-v-e6ea0d96]{flex:1;min-width:0;border:0;outline:none;font-size:15px;color:#0f172a;background:transparent}.search-results[data-v-e6ea0d96]{max-height:50vh;overflow-y:auto;padding:6px}.search-item[data-v-e6ea0d96]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#334155;text-decoration:none;cursor:pointer;font-size:14px}.search-item[data-v-e6ea0d96]:hover{background:#f1f5f9}.search-item .tag[data-v-e6ea0d96]{font-size:11px;color:#0f766e;background:#f0fdfa;border:1px solid #ccfbf1;padding:1px 7px;border-radius:999px}.body[data-v-e6ea0d96]{flex:1;display:flex;min-height:0;overflow:hidden}.side[data-v-e6ea0d96]{width:248px;background:#fff;color:#475569;padding:18px 14px;display:flex;flex-direction:column;flex:none;overflow-y:auto;border-right:1px solid var(--border);transition:width .2s ease}.side.collapsed[data-v-e6ea0d96]{width:72px;padding:18px 10px}.side.collapsed .brand b[data-v-e6ea0d96],.side.collapsed .brand .meta[data-v-e6ea0d96]{display:none}.side.collapsed .brand[data-v-e6ea0d96]{justify-content:center}.side.collapsed nav a span[data-v-e6ea0d96],.side.collapsed .group-title[data-v-e6ea0d96],.side.collapsed .chev[data-v-e6ea0d96]{display:none}.side.collapsed nav a[data-v-e6ea0d96],.side.collapsed .group-head[data-v-e6ea0d96]{justify-content:center;padding-left:0;padding-right:0}.side.collapsed .group-items[data-v-e6ea0d96]{margin-left:0;border-left:0;padding-left:0}.side.collapsed .group-items a[data-v-e6ea0d96]{justify-content:center;padding-left:0}.side.collapsed .who-txt[data-v-e6ea0d96]{display:none}.side.collapsed .side-foot[data-v-e6ea0d96]{justify-content:center}.brand[data-v-e6ea0d96]{display:flex;gap:10px;align-items:center}.brand b[data-v-e6ea0d96]{color:#0f172a;font-size:15px}.brand .meta[data-v-e6ea0d96]{color:#94a3b8;font-size:12px}.logo[data-v-e6ea0d96]{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex:none}.avatar[data-v-e6ea0d96]{width:32px;height:32px;border-radius:50%;flex:none;background:linear-gradient(135deg,#60a5fa,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.who[data-v-e6ea0d96]{position:relative;display:flex;align-items:center}.who-trigger[data-v-e6ea0d96]{display:flex;align-items:center;gap:10px;background:transparent;border:0;cursor:pointer;padding:4px 8px;border-radius:999px;color:inherit}.who-trigger[data-v-e6ea0d96]:hover{background:#f1f5f9}.who-txt[data-v-e6ea0d96]{display:flex;flex-direction:column;line-height:1.3}.who-txt b[data-v-e6ea0d96]{font-size:13px;color:#0f172a;font-weight:600}.who-txt span[data-v-e6ea0d96]{font-size:11px;color:#94a3b8}.who .caret[data-v-e6ea0d96]{width:15px;height:15px;stroke:#94a3b8;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.who .caret.up[data-v-e6ea0d96]{transform:rotate(180deg)}.menu-backdrop[data-v-e6ea0d96]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30}.menu-panel[data-v-e6ea0d96]{position:absolute;top:calc(100% + 8px);right:0;z-index:31;width:180px;background:#fff;border:1px solid #eef2f7;border-radius:12px;box-shadow:0 12px 32px #0f172a1f;padding:6px;overflow:hidden}.menu-user[data-v-e6ea0d96]{display:flex;flex-direction:column;gap:2px;padding:8px 10px 10px;border-bottom:1px solid #f1f5f9}.menu-user b[data-v-e6ea0d96]{font-size:13px;color:#0f172a}.menu-user span[data-v-e6ea0d96]{font-size:11px;color:#94a3b8}.menu-item[data-v-e6ea0d96]{width:100%;text-align:left;background:transparent;border:0;cursor:pointer;padding:9px 10px;border-radius:8px;font-size:13px;color:#e11d48}.menu-item[data-v-e6ea0d96]:hover{background:#fff1f2}.side nav[data-v-e6ea0d96]{display:flex;flex-direction:column;gap:10px;flex:1;overflow-y:auto}.group[data-v-e6ea0d96]{display:flex;flex-direction:column;gap:2px}.group-head[data-v-e6ea0d96]{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:0;cursor:pointer;padding:9px 12px;border-radius:8px;color:#475569;font-size:14px;font-weight:600;text-align:left;transition:background .15s ease,color .15s ease}.group-head[data-v-e6ea0d96]:hover{background:#f1f5f9;color:#1e293b}.group-head.on[data-v-e6ea0d96]{background:var(--primary-soft);color:var(--primary)}.group-head .ic[data-v-e6ea0d96]{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.group-head .group-title[data-v-e6ea0d96]{flex:1}.group-head .chev[data-v-e6ea0d96]{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.group-head.on .chev[data-v-e6ea0d96]{transform:rotate(90deg)}.group-items[data-v-e6ea0d96]{display:flex;flex-direction:column;gap:2px;padding:2px 0 4px;margin-left:14px;border-left:1px solid #e7edf3}.group-items a[data-v-e6ea0d96]{padding-left:22px}.side nav a[data-v-e6ea0d96]{display:flex;align-items:center;gap:10px;color:#475569;text-decoration:none;padding:9px 12px;border-radius:8px;font-size:14px;position:relative;transition:background .15s ease,color .15s ease}.side nav a .ic[data-v-e6ea0d96]{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.side nav a[data-v-e6ea0d96]:hover{background:#f1f5f9;color:#1e293b}.side nav a.on[data-v-e6ea0d96]{background:var(--primary-soft);color:var(--primary);font-weight:600}.side nav a.on[data-v-e6ea0d96]:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:3px;background:var(--primary)}.side-foot[data-v-e6ea0d96]{margin-top:auto;padding-top:12px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px}.collapse-btn[data-v-e6ea0d96]{margin-left:auto;width:28px;height:28px;border-radius:8px;flex:none;display:flex;align-items:center;justify-content:center;cursor:pointer;background:transparent;border:0;color:#94a3b8}.collapse-btn[data-v-e6ea0d96]:hover{background:#f1f5f9;color:#2563eb}.collapse-btn svg[data-v-e6ea0d96]{transition:transform .2s ease}.main[data-v-e6ea0d96]{flex:1;min-width:0;min-height:0;overflow-y:auto;background:radial-gradient(1100px 560px at 100% 0%,rgba(37,99,235,.04),transparent 55%),linear-gradient(180deg,#f8fafc 0%,var(--bg) 100%)}.content[data-v-e6ea0d96]{max-width:none;padding:24px 28px 40px;animation:contentIn-e6ea0d96 .25s ease}.global-back[data-v-e6ea0d96]{margin-bottom:16px;background:#fff;color:#334155;border-color:#cbd5e1}.global-back[data-v-e6ea0d96]:hover{background:#f1f5f9;color:#0f172a}@keyframes contentIn-e6ea0d96{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.content[data-v-e6ea0d96]{animation:none}}@media (max-width: 640px){.content[data-v-e6ea0d96]{padding:18px 16px 32px}}:root{--primary: #2563eb;--primary-dark: #1d4ed8;--primary-soft: #eff6ff;--primary-soft-2: #dbeafe;--primary-ring: rgba(37, 99, 235, .22);--bg: #f5f7fa;--surface: #ffffff;--surface-2: #f8fafc;--surface-3: #f1f5f9;--border: #eef2f7;--border-strong: #e2e8f0;--text: #1f2937;--text-strong: #0f172a;--muted: #64748b;--muted-2: #94a3b8;--danger: #dc2626;--danger-soft: #fef2f2;--warn-bg: #fffbeb;--warn-fg: #b45309;--ok-bg: #ecfdf5;--ok-fg: #059669;--bad-bg: #fef2f2;--bad-fg: #dc2626;--draft-bg: #f1f5f9;--draft-fg: #64748b;--arch-bg: #e2e8f0;--arch-fg: #475569;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .05);--shadow-md: 0 1px 3px rgba(15, 23, 42, .05), 0 6px 16px rgba(15, 23, 42, .06);--shadow-lg: 0 10px 30px rgba(15, 23, 42, .1);--radius: 12px;--radius-sm: 8px;--radius-lg: 16px}*{box-sizing:border-box}dialog{border:none}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 -apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--primary-ring);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}button{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:var(--radius-sm);padding:8px 14px;cursor:pointer;font-size:13px;font-family:inherit;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}button:hover{border-color:var(--primary);color:var(--primary)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button.primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}button.primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}button.ghost{background:transparent;border-color:transparent;color:var(--muted)}button.ghost:hover{background:var(--surface-2);border-color:transparent;color:var(--text)}button.danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}button.danger:hover{background:#fee2e2;color:var(--danger)}button.sm{padding:5px 10px;font-size:12px}button.lg{padding:10px 18px;font-size:14px}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 11px;font-size:13px;font-family:inherit;background:#fff;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}input::placeholder,textarea::placeholder{color:var(--muted-2)}textarea{width:100%;resize:vertical}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.card.flush{padding:0;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-title{font-size:15px;font-weight:600;color:var(--text-strong);margin:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-title{font-size:22px;font-weight:650;color:var(--text-strong);letter-spacing:-.01em;margin:0;line-height:1.25}.page-sub{color:var(--muted);font-size:13px;margin:4px 0 0}.section-title{font-size:15px;font-weight:600;color:var(--text-strong);margin:0 0 12px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;border:1px solid transparent}.badge.pending{background:var(--warn-bg);color:var(--warn-fg);border-color:#fde68a}.badge.published{background:var(--ok-bg);color:var(--ok-fg);border-color:#a7f3d0}.badge.rejected{background:var(--bad-bg);color:var(--bad-fg);border-color:#fecaca}.badge.draft{background:var(--draft-bg);color:var(--draft-fg);border-color:#e2e8f0}.badge.archived{background:var(--arch-bg);color:var(--arch-fg);border-color:#cbd5e1}.badge.approved,.badge.ok{background:var(--ok-bg);color:var(--ok-fg);border-color:#a7f3d0}.badge.warn{background:var(--warn-bg);color:var(--warn-fg);border-color:#fde68a}.badge.bad{background:var(--bad-bg);color:var(--bad-fg);border-color:#fecaca}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle}th{color:var(--muted);font-weight:500;background:transparent}tbody tr{transition:background .12s ease}tr.click{cursor:pointer}tr.click:hover td{background:var(--primary-soft)}tbody tr:hover td{background:var(--surface-2)}tbody tr:last-child td{border-bottom:none}.sticky-head thead th{position:sticky;top:0;z-index:1;box-shadow:0 1px 0 var(--border)}.progress{display:flex;gap:4px;margin:10px 0}.progress .seg{flex:1;height:8px;border-radius:4px;background:var(--arch-bg);position:relative;overflow:hidden}.progress .seg.on{background:var(--primary)}.progress .seg.on.bad{background:var(--danger)}.kp-item{padding:9px 11px;border-radius:var(--radius-sm);cursor:pointer;margin-bottom:4px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;transition:background .12s ease}.kp-item:hover{background:var(--surface-2)}.kp-item.active{background:var(--primary-soft);outline:1px solid var(--primary)}.status-dot{width:8px;height:8px;border-radius:50%;flex:none}.dot-approved{background:#0ea371}.dot-rejected{background:#dc2626}.dot-pending_review{background:#d97706}.dot-draft{background:#94a3b8}.snack{position:fixed;top:16px;left:50%;transform:translate(-50%);padding:10px 18px;border-radius:10px;color:#fff;font-size:13px;z-index:99;box-shadow:var(--shadow-lg)}.snack.ok{background:#059669}.snack.err{background:var(--danger)}.empty,.loading{text-align:center;color:var(--muted);padding:40px 20px;font-size:13px}.grid2{display:grid;grid-template-columns:340px 1fr;gap:16px}@media (max-width: 900px){.grid2{grid-template-columns:1fr}}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:12px}
