@import"https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700&family=Space+Grotesk:wght@400;500;600&display=swap";.operator-chip[data-v-b1b1d620]{padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:#ffffffd9;font-size:13px;color:var(--text-muted)}.logout-button[data-v-b1b1d620]{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:8px 12px;cursor:pointer;font-weight:600}.logout-button[data-v-b1b1d620]:hover{background:#f7efe6}.topbar-title .title[data-v-b1b1d620]{font-size:14px;font-weight:650;display:inline-flex;align-items:center;flex-wrap:wrap;gap:12px}.env-inline[data-v-b1b1d620]{display:inline-flex;align-items:center;height:18px;padding:0;font-weight:800;font-family:var(--font-display);color:var(--brand-strong)}.crumb-wrap[data-v-b1b1d620]{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:0}.crumb-primary[data-v-b1b1d620]{font-size:13px;font-weight:750;color:#000000b8}.crumb-secondary[data-v-b1b1d620]{font-size:13px;font-weight:650;color:#0000008f}.crumb-sep[data-v-b1b1d620]{margin:0 6px;font-size:12px;font-weight:600;color:#00000059}.env-badge[data-v-b1b1d620]{display:inline-flex;align-items:center;justify-content:center;height:22px;padding:0 10px;border-radius:999px;background:#ffffff8c;font-weight:800;font-family:var(--font-display);color:var(--brand-strong);font-size:12px}.login-page[data-v-cb5664fb]{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card[data-v-cb5664fb]{width:min(440px,100%);background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:28px;display:grid;gap:18px}.login-brand[data-v-cb5664fb]{display:flex;gap:14px;align-items:center}.login-mark[data-v-cb5664fb]{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#f0b37a,#d66b3f);display:grid;place-items:center;color:#fff;font-weight:800;font-family:var(--font-display)}.login-title[data-v-cb5664fb]{font-weight:800;font-size:18px;font-family:var(--font-display)}.login-subtitle[data-v-cb5664fb]{font-size:13px;color:var(--text-muted)}.login-form[data-v-cb5664fb]{display:grid;gap:10px}.login-label[data-v-cb5664fb]{font-size:13px;font-weight:600;color:var(--text-muted)}.login-input[data-v-cb5664fb]{border:1px solid var(--border);background:#fff;border-radius:14px;padding:12px 14px;font-size:14px;outline:none}.login-input[data-v-cb5664fb]:focus{border-color:#f0dbc8;box-shadow:0 0 0 4px #d66b3f24}.login-error[data-v-cb5664fb]{font-size:13px;color:#b42318;background:#fef3f2;border:1px solid #fee4e2;padding:10px 12px;border-radius:14px}.login-button[data-v-cb5664fb]{border:0;background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff;font-weight:700;padding:12px 14px;border-radius:14px;cursor:pointer;margin-top:6px}.login-button[data-v-cb5664fb]:hover{filter:brightness(1.02)}.login-tip[data-v-cb5664fb]{font-size:12px;color:var(--text-muted);line-height:1.5}.pager[data-v-fcf40a29]{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.pager-meta[data-v-fcf40a29]{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px}.pager-dot[data-v-fcf40a29]{opacity:.6}.pager select[data-v-fcf40a29]{border:1px solid var(--border);border-radius:10px;padding:6px 10px;background:var(--surface)}.detail-grid[data-v-5767eded]{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:16px}.profile-card[data-v-5767eded],.stats-card[data-v-5767eded]{border:1px solid var(--border);border-radius:18px;padding:16px;background:#fff}.profile-head[data-v-5767eded]{display:flex;gap:14px;align-items:center}.avatar.large[data-v-5767eded]{width:56px;height:56px;border-radius:18px}.profile-name[data-v-5767eded]{font-weight:800;font-size:18px}.profile-sub[data-v-5767eded]{margin-top:6px;color:var(--text-muted);font-size:13px}.dot[data-v-5767eded]{margin:0 8px}.kv-grid[data-v-5767eded]{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kv-wide[data-v-5767eded]{margin-top:12px;display:grid;gap:10px}.kv[data-v-5767eded]{border:1px solid var(--border);background:#faf6f0;border-radius:14px;padding:12px}.kv-label[data-v-5767eded]{color:var(--text-muted);font-size:12px;font-weight:700}.kv-value[data-v-5767eded]{margin-top:8px;font-size:13px;font-weight:700;color:var(--text)}.intro[data-v-5767eded]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-multi[data-v-5767eded]{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:normal;word-break:break-word}.stats-title[data-v-5767eded]{font-weight:800;font-size:15px}.stats-grid[data-v-5767eded]{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat[data-v-5767eded]{border:1px solid var(--border);background:#faf6f0;border-radius:14px;padding:12px}.stat-label[data-v-5767eded]{color:var(--text-muted);font-size:12px;font-weight:600}.stat-value[data-v-5767eded]{margin-top:8px;font-weight:800;font-size:18px}.stat-value.big[data-v-5767eded]{font-size:22px}.mini-breakdown[data-v-5767eded]{margin-top:12px}.mini-title[data-v-5767eded]{color:var(--text-muted);font-size:12px;font-weight:700}.mini-list[data-v-5767eded]{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}.chip[data-v-5767eded]{padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:12px;font-weight:700;color:var(--text-muted)}.muted[data-v-5767eded]{color:var(--text-muted);font-size:12px}.recent-panel[data-v-5767eded]{grid-column:1 / -1}.table.compact .table-row[data-v-5767eded]{grid-template-columns:90px 80px 1fr 110px 70px 70px 70px 150px}@media (max-width: 1100px){.detail-grid[data-v-5767eded],.kv-grid[data-v-5767eded]{grid-template-columns:1fr}}.pager[data-v-2fc1f751]{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.pager-meta[data-v-2fc1f751]{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px}.pager-dot[data-v-2fc1f751]{opacity:.6}.pager select[data-v-2fc1f751]{border:1px solid var(--border);border-radius:10px;padding:6px 10px;background:var(--surface)}.pager[data-v-d813e0b6]{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.pager-meta[data-v-d813e0b6]{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px}.pager-dot[data-v-d813e0b6]{opacity:.6}.pager select[data-v-d813e0b6]{border:1px solid var(--border);border-radius:10px;padding:6px 10px;background:var(--surface)}.recommend-config[data-v-09a44f69]{display:flex;flex-direction:column;gap:16px}.header-panel[data-v-09a44f69]{background:linear-gradient(120deg,#fff5e8,#fff)}.engine-tabs[data-v-09a44f69]{display:flex;flex-wrap:wrap;gap:12px}.tab[data-v-09a44f69]{padding:10px 12px;border-radius:16px;border:1px solid rgba(226,222,214,.75);background:#ffffffb3;cursor:pointer;font-weight:700;color:#1c1b19b8;min-width:180px;text-align:left;display:grid;gap:6px;position:relative;transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease,background .16s ease}.tab.state-on[data-v-09a44f69]{background:#dff1e4f2;border-color:#2f6b4a47;--tab-accent-1: rgba(47, 107, 74, .95);--tab-accent-2: rgba(63, 155, 110, .95)}.tab.state-off[data-v-09a44f69]{background:#f5cfcfa6;border-color:#be3c3c42;--tab-accent-1: rgba(190, 60, 60, .95);--tab-accent-2: rgba(220, 90, 90, .95)}.tab.state-empty[data-v-09a44f69]{background:#fff5e8d9;border-color:#d66b3f2e;--tab-accent-1: rgba(214, 107, 63, .9);--tab-accent-2: rgba(240, 179, 122, .9)}.tab.active[data-v-09a44f69]{border-width:2px;border-color:var(--tab-accent-1, rgba(214, 107, 63, .55));transform:translateY(-1px)}.tab.active[data-v-09a44f69]:before{content:"";position:absolute;left:10px;right:10px;bottom:-3px;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--tab-accent-1, rgba(214, 107, 63, .9)),var(--tab-accent-2, rgba(240, 179, 122, .9)))}.tab-title[data-v-09a44f69]{font-weight:800}.top-actions[data-v-09a44f69]{display:flex;gap:12px;flex-wrap:wrap}.tab-meta[data-v-09a44f69]{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted)}.status-dot[data-v-09a44f69]{position:absolute;top:8px;right:12px;width:8px;height:8px;border-radius:999px;background:#ffbc44;animation:status-pulse-09a44f69 1.6s ease-in-out infinite}.tab.state-on .status-dot[data-v-09a44f69]{background:#00e177}.tab.state-off .status-dot[data-v-09a44f69]{background:#ff4f4f}.tab.state-empty .status-dot[data-v-09a44f69]{background:#ffb642}@keyframes status-pulse-09a44f69{0%{transform:scale(.9);opacity:.85}50%{transform:scale(1.15);opacity:1}to{transform:scale(.9);opacity:.85}}.tag[data-v-09a44f69]{display:inline-flex;align-items:center;justify-content:center;height:18px;padding:0 8px;border-radius:8px;background:var(--surface-2);color:#1c1b19ad;font-weight:800;font-family:var(--font-display)}.badge[data-v-09a44f69]{display:inline-flex;align-items:center;justify-content:center;height:18px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:800}.badge.ok[data-v-09a44f69]{background:#3f7ea624;color:#3f7ea6f2}.badge.warn[data-v-09a44f69]{background:#d66b3f24;color:#d66b3ff2}.badge.danger[data-v-09a44f69]{background:#be3c3c24;color:#be3c3cf2}.notice[data-v-09a44f69]{margin-top:12px;padding:10px 12px;border-radius:14px;border:1px solid rgba(214,107,63,.18);background:#ffffffbf;color:#1c1b19cc;font-size:13px;font-weight:650}.notice.error[data-v-09a44f69]{border-color:#be3c3c47;background:#be3c3c14;color:#be3c3cf2}.switch-row[data-v-09a44f69]{display:inline-flex;align-items:center;gap:10px;height:40px}.switch[data-v-09a44f69]{width:46px;height:26px;border-radius:999px;border:1px solid rgba(226,222,214,.9);background:#ffffffb3;position:relative;cursor:pointer;padding:0}.switch .knob[data-v-09a44f69]{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:999px;background:#fff;box-shadow:0 8px 18px #1c1b1929;transition:transform .18s ease,background .18s ease}.switch.on[data-v-09a44f69]{background:linear-gradient(135deg,#d66b3fe6,#f0b37ae6);border-color:#d66b3fa6}.switch.on .knob[data-v-09a44f69]{transform:translate(20px)}.switch-text[data-v-09a44f69]{font-weight:800;color:#1c1b19bf}.inline-field[data-v-09a44f69]{display:flex;align-items:center;gap:10px}.short-input[data-v-09a44f69]{width:110px}.field-help[data-v-09a44f69]{font-size:12px;color:var(--text-muted);font-weight:650;white-space:nowrap}.form-stack[data-v-09a44f69]{display:grid;gap:16px}.subpanel[data-v-09a44f69]{border:1px solid rgba(226,222,214,.9);border-radius:18px;padding:14px;background:#ffffffd9}.subpanel-title[data-v-09a44f69]{font-weight:800;font-size:14px}.kv-form[data-v-09a44f69]{margin-top:12px;display:grid;gap:10px}.kv-row[data-v-09a44f69]{display:grid;grid-template-columns:220px 170px minmax(0,1fr);gap:12px;align-items:center}.kv-key[data-v-09a44f69]{color:var(--text-muted);font-weight:700;font-size:13px}.kv-title[data-v-09a44f69]{color:#1c1b19c7;font-weight:800}.kv-sub[data-v-09a44f69]{margin-top:3px;font-size:12px;color:#64615ad9;font-weight:650}.kv-control[data-v-09a44f69]{display:inline-flex;align-items:center;gap:10px}.kv-input[data-v-09a44f69]{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#ffffffd9;font-weight:700;width:120px}.unit[data-v-09a44f69]{font-size:12px;color:#64615ae6;font-weight:700;white-space:nowrap}.kv-help[data-v-09a44f69]{font-size:12px;color:#64615ae6;font-weight:650;line-height:1.45}.compact-sub[data-v-09a44f69]{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.pill[data-v-09a44f69]{padding:6px 10px;border-radius:999px;background:var(--surface-2);font-size:12px;font-weight:800;color:#1c1b19bf}.pill-button[data-v-09a44f69]{border:0;cursor:pointer}.pill-button[data-v-09a44f69]:disabled{opacity:.6;cursor:not-allowed}.ghost-button.small[data-v-09a44f69]{padding:6px 10px;border-radius:10px}.row-actions[data-v-09a44f69]{display:flex;justify-content:flex-end;gap:10px}.recommend-history .table-row[data-v-09a44f69],.recommend-history .table-row.table-head[data-v-09a44f69]{width:100%;justify-content:stretch;grid-template-columns:repeat(8,minmax(0,1fr))}.recommend-history .table-row>div[data-v-09a44f69]{min-width:0}.recommend-history .table-row:not(.table-head)>div[data-v-09a44f69]:not(.row-actions){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recommend-history .table-row:not(.table-head)>div.meta-cell[data-v-09a44f69]{white-space:normal;overflow:hidden}.meta-main[data-v-09a44f69]{font-weight:800;color:#1c1b19c2}.meta-sub[data-v-09a44f69]{margin-top:4px;font-size:12px;color:var(--text-muted);font-weight:650}.recommend-history .intro[data-v-09a44f69]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.edit-hint[data-v-09a44f69]{padding:10px 12px;border-radius:14px;border:1px solid rgba(226,222,214,.85);background:#faf6f0d9;color:#1c1b19c7;font-size:13px;font-weight:700}.hint-strong[data-v-09a44f69]{color:#1c1b19b8;font-weight:900}.hint-em[data-v-09a44f69]{color:#d66b3ff2;font-weight:950}.hint-dot[data-v-09a44f69]{margin:0 8px;color:#0000004d}.hint-sub[data-v-09a44f69]{margin-left:10px;font-size:12px;color:#64615ae6;font-weight:650}.action-btn[data-v-09a44f69]{height:30px;padding:0 12px;border-radius:12px;border:1px solid rgba(226,222,214,.9);background:#ffffffbf;font-weight:800;font-size:12px;cursor:pointer;color:#1c1b19c7}.action-btn[data-v-09a44f69]:hover:not(:disabled){border-color:#d66b3f66;box-shadow:0 10px 20px #d66b3f1f}.action-btn[data-v-09a44f69]:disabled{opacity:.55;cursor:not-allowed}.action-btn.danger[data-v-09a44f69]{border-color:#be3c3c59;background:#be3c3c14;color:#be3c3cf2}.action-btn.danger[data-v-09a44f69]:hover:not(:disabled){border-color:#be3c3c8c;box-shadow:0 10px 20px #be3c3c2e}.tips[data-v-09a44f69]{line-height:1.6}@media (max-width: 900px){.kv-row[data-v-09a44f69]{grid-template-columns:1fr}.field-help[data-v-09a44f69]{white-space:normal}}.modal-overlay[data-v-09a44f69]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:grid;place-items:center;padding:20px;z-index:50}.modal[data-v-09a44f69]{width:min(1120px,98vw);max-height:min(86vh,900px);overflow:hidden;border-radius:22px;background:#fffffff5;border:1px solid rgba(226,222,214,.9);box-shadow:0 30px 80px #00000040;display:flex;flex-direction:column}.modal-head[data-v-09a44f69]{padding:18px 18px 10px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid rgba(226,222,214,.8);background:linear-gradient(120deg,#fff5e8cc,#fffffff5)}.modal-title[data-v-09a44f69]{font-weight:900;font-size:16px}.modal-sub[data-v-09a44f69]{margin-top:8px;display:grid;gap:10px}.modal-meta[data-v-09a44f69]{display:inline-flex;flex-wrap:wrap;gap:8px}.modal-tags[data-v-09a44f69]{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}.meta-chip[data-v-09a44f69]{display:inline-flex;align-items:center;height:20px;padding:0 10px;border-radius:999px;border:1px solid rgba(226,222,214,.75);background:#ffffffb3;font-size:12px;font-weight:750;color:#1c1b19b3}.modal-actions[data-v-09a44f69]{display:flex;gap:10px;flex-wrap:wrap}.modal-body[data-v-09a44f69]{padding:16px 18px 18px;display:grid;gap:14px;overflow:auto}.modal-kpis[data-v-09a44f69]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.kpi[data-v-09a44f69]{border:1px solid rgba(226,222,214,.9);border-radius:16px;padding:12px;background:#faf6f0e6}.kpi-label[data-v-09a44f69]{color:var(--text-muted);font-size:12px;font-weight:700}.kpi-value[data-v-09a44f69]{margin-top:8px;font-size:18px;font-weight:900}.modal-section[data-v-09a44f69]{border:1px solid rgba(226,222,214,.9);border-radius:18px;padding:14px;background:#ffffffd9}.warn-section[data-v-09a44f69]{border-color:#be3c3c38;background:#be3c3c0f}.warn-list[data-v-09a44f69]{margin-top:10px;display:grid;gap:8px}.warn-item[data-v-09a44f69]{padding:10px 12px;border-radius:14px;border:1px solid rgba(190,60,60,.22);background:#ffffffb3;color:#be3c3cf2;font-weight:750;font-size:13px}.modal-columns[data-v-09a44f69]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.modal-section-title[data-v-09a44f69]{font-weight:900;font-size:14px}.modal-section-body[data-v-09a44f69]{margin-top:10px;color:#1c1b19c7;font-weight:650}.modal-list[data-v-09a44f69]{margin-top:10px;display:grid;gap:10px}.modal-row[data-v-09a44f69]{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;border-radius:14px;border:1px solid rgba(226,222,214,.85);background:#faf6f0d9}.modal-row-left[data-v-09a44f69]{display:grid;gap:4px}.modal-row-title[data-v-09a44f69]{font-weight:900;font-size:13px;color:#1c1b19c7}.modal-row-sub[data-v-09a44f69]{font-size:12px;color:#64615ad9;font-weight:650}.modal-row-right[data-v-09a44f69]{font-weight:900;font-size:13px;color:#1c1b19db;white-space:nowrap}@media (max-width: 900px){.modal-kpis[data-v-09a44f69],.modal-columns[data-v-09a44f69]{grid-template-columns:1fr}.modal-row[data-v-09a44f69]{flex-direction:column;align-items:flex-start}.modal-row-right[data-v-09a44f69]{white-space:normal}}.primary-button.danger[data-v-09a44f69]{background:#be3c3c;box-shadow:0 10px 20px #be3c3c38}.confirm-modal[data-v-09a44f69]{width:min(520px,94vw);border-radius:18px;background:#fffffff5;border:1px solid rgba(226,222,214,.9);box-shadow:0 30px 80px #00000040;padding:16px}.confirm-head[data-v-09a44f69]{display:grid;gap:8px}.confirm-title[data-v-09a44f69]{font-weight:900;font-size:16px}.confirm-sub[data-v-09a44f69]{font-size:13px;color:#1c1b19bf;line-height:1.6}.confirm-em[data-v-09a44f69]{color:#d66b3ffa;font-weight:900}.badge.muted[data-v-09a44f69]{background:#64615a1f;color:#64615aeb}.ghost-button.danger[data-v-09a44f69]{border-color:#be3c3c3d;background:#be3c3c0f;color:#be3c3cf2}.ghost-button.danger[data-v-09a44f69]:hover:not(:disabled){border-color:#be3c3c66;box-shadow:0 10px 20px #be3c3c24}.confirm-actions[data-v-09a44f69]{margin-top:14px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.oplog-view[data-v-7fc31d61]{display:flex;flex-direction:column;gap:24px}.oplog-table .table-row[data-v-7fc31d61],.oplog-table .table-row.table-head[data-v-7fc31d61]{grid-template-columns:repeat(8,minmax(0,1fr))}.centered-table .table-row>div[data-v-7fc31d61]{text-align:center;position:relative;padding:0 6px;border-right:1px solid rgba(226,222,214,.6)}.centered-table .table-row>div[data-v-7fc31d61]:first-child,.centered-table .table-row.table-head>div[data-v-7fc31d61]:first-child{text-align:center}.centered-table .table-row>div[data-v-7fc31d61]:last-child,.centered-table .table-row.table-head>div[data-v-7fc31d61]:last-child{border-right:none}.centered-table .intro[data-v-7fc31d61],.centered-table .muted[data-v-7fc31d61]{text-align:center}.row-actions[data-v-7fc31d61]{display:flex;justify-content:flex-end}.action-btn[data-v-7fc31d61]{height:30px;padding:0 12px;border-radius:12px;border:1px solid rgba(226,222,214,.9);background:#ffffffbf;font-weight:800;font-size:12px;cursor:pointer;color:#1c1b19c7}.action-btn[data-v-7fc31d61]:hover:not(:disabled){border-color:#d66b3f66;box-shadow:0 10px 20px #d66b3f1f}.action-btn[data-v-7fc31d61]:disabled{opacity:.55;cursor:not-allowed}.meta-main[data-v-7fc31d61]{font-weight:800;color:#1c1b19c2}.meta-sub[data-v-7fc31d61]{margin-top:4px;font-size:12px;color:var(--text-muted);font-weight:650}.pager[data-v-7fc31d61]{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.pager-meta[data-v-7fc31d61]{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px}.pager-dot[data-v-7fc31d61]{opacity:.6}.pager select[data-v-7fc31d61]{border:1px solid var(--border);border-radius:10px;padding:6px 10px;background:var(--surface)}.modal-overlay[data-v-7fc31d61]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:grid;place-items:center;padding:20px;z-index:50}.modal[data-v-7fc31d61]{width:min(1120px,98vw);max-height:min(86vh,900px);overflow:hidden;border-radius:22px;background:#fffffff5;border:1px solid rgba(226,222,214,.9);box-shadow:0 30px 80px #00000040;display:flex;flex-direction:column}.modal-head[data-v-7fc31d61]{padding:18px 18px 10px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid rgba(226,222,214,.8);background:linear-gradient(120deg,#fff5e8cc,#fffffff5)}.modal-title[data-v-7fc31d61]{font-weight:900;font-size:16px}.modal-sub[data-v-7fc31d61]{margin-top:8px;display:grid;gap:10px}.modal-meta[data-v-7fc31d61]{display:inline-flex;flex-wrap:wrap;gap:8px}.modal-tags[data-v-7fc31d61]{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}.meta-chip[data-v-7fc31d61]{display:inline-flex;align-items:center;height:20px;padding:0 10px;border-radius:999px;border:1px solid rgba(226,222,214,.75);background:#ffffffb3;font-size:12px;font-weight:750;color:#1c1b19b3}.modal-actions[data-v-7fc31d61]{display:flex;gap:10px;flex-wrap:wrap}.modal-body[data-v-7fc31d61]{padding:16px 18px 18px;display:grid;gap:14px;overflow:auto}.modal-section[data-v-7fc31d61]{border:1px solid rgba(226,222,214,.9);border-radius:18px;padding:14px;background:#ffffffd9}.modal-section-title[data-v-7fc31d61]{font-weight:900;font-size:14px}.modal-section-body[data-v-7fc31d61]{margin-top:10px;color:#1c1b19c7;font-weight:650}.detail-row[data-v-7fc31d61]{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:8px 0}.detail-k[data-v-7fc31d61]{font-size:12px;color:var(--text-muted);font-weight:800}.detail-v[data-v-7fc31d61]{font-weight:700;color:#1c1b19c7;min-width:0}.pre[data-v-7fc31d61]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;white-space:pre-wrap;word-break:break-word;line-height:1.55}:root{color-scheme:light;--font-sans: "Manrope", "PingFang SC", "Microsoft YaHei", sans-serif;--font-display: "Space Grotesk", "Manrope", sans-serif;--bg: #f6f5f2;--bg-soft: #fefbf7;--surface: #ffffff;--surface-2: #f2efe9;--text: #1c1b19;--text-muted: #64615a;--brand: #d66b3f;--brand-strong: #b6542f;--accent: #3f7ea6;--border: #e2ded6;--shadow: 0 14px 40px rgba(28, 27, 25, .08)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:radial-gradient(circle at top left,#fef5ea,var(--bg) 55%,#f1efe9 100%);color:var(--text)}a{color:inherit;text-decoration:none}button{font-family:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr;position:relative}.sidebar{background:linear-gradient(165deg,#fffaf2,#fff);border-right:1px solid var(--border);padding:24px 20px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.logo{display:flex;align-items:center;gap:12px}.logo-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#f0b37a,#d66b3f);display:grid;place-items:center;color:#fff;font-weight:700;font-family:var(--font-display)}.logo-title{font-weight:700;font-size:16px}.logo-sub{font-size:12px;color:var(--text-muted)}.icon-button{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:8px 10px;cursor:pointer;display:inline-flex;flex-direction:column;gap:4px}.icon-line{width:16px;height:2px;background:var(--text);border-radius:999px}.menu{display:flex;flex-direction:column;gap:18px}.menu-group{display:flex;flex-direction:column;gap:8px}.menu-title{font-size:12px;letter-spacing:.12em;color:var(--text-muted);font-weight:600}.menu-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;color:var(--text-muted);transition:all .2s ease;background:transparent}.menu-item:hover,.menu-item.active{color:var(--text);background:#f7efe6;box-shadow:inset 0 0 0 1px #f0dbc8}.menu-icon{width:22px;height:22px;display:grid;place-items:center;font-size:14px;font-weight:700;color:var(--brand-strong)}.menu-label{font-weight:500}.sidebar-footer{margin-top:auto}.status-card{background:var(--surface-2);border-radius:16px;padding:16px;display:grid;gap:6px;border:1px solid var(--border)}.status-title{font-weight:600;color:var(--text-muted)}.status-value{font-size:20px;font-weight:700}.status-note{font-size:12px;color:var(--text-muted)}.main{display:flex;flex-direction:column;min-height:100vh}.topbar{padding:24px 32px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar-title .title{font-size:22px;font-weight:700;font-family:var(--font-display)}.topbar-title .subtitle{font-size:13px;color:var(--text-muted)}.topbar-actions{display:flex;gap:12px}.ghost-button,.primary-button{padding:10px 16px;border-radius:12px;border:1px solid transparent;cursor:pointer;font-weight:600}.ghost-button{border-color:var(--border);background:var(--surface);color:var(--text)}.primary-button{background:var(--brand);color:#fff;box-shadow:0 10px 20px #d66b3f40}.content{padding:0 32px 32px;display:flex;flex-direction:column;gap:24px}.dashboard{display:flex;flex-direction:column;gap:24px}.user-info,.report-view,.user-detail{display:flex;flex-direction:column;gap:16px}.hero{background:linear-gradient(120deg,#fff5e8,#fdf8f1);border-radius:20px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;border:1px solid #f4e4d1}.hero-title{font-size:20px;font-weight:700}.hero-subtitle{color:var(--text-muted);margin-top:6px}.hero-chip{padding:10px 16px;border-radius:999px;background:#fff;border:1px solid #f0dbc8;font-weight:600;color:var(--brand-strong)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-card{background:var(--surface);border-radius:16px;padding:18px;border:1px solid var(--border);box-shadow:var(--shadow)}.stat-label{color:var(--text-muted);font-size:13px}.stat-value{font-size:24px;font-weight:700;margin-top:10px}.stat-trend{margin-top:8px;font-size:12px;font-weight:600}.stat-trend.up{color:#2f7d4d}.stat-trend.down{color:#bf4a3f}.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.panel{background:var(--surface);border-radius:20px;border:1px solid var(--border);padding:20px 22px;box-shadow:var(--shadow)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-title{font-weight:700;font-size:16px}.panel-sub{color:var(--text-muted);font-size:12px;margin-top:4px}.panel-body{margin-top:16px}.filter-panel .panel-body{margin-top:0}.chart-placeholder{height:180px;border-radius:16px;background:repeating-linear-gradient(135deg,#f6efe6,#f6efe6 12px,#fdf9f4 12px,#fdf9f4 24px);display:grid;place-items:center;color:var(--text-muted);font-weight:600}.task-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.task-list li{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#faf6f0;border-radius:12px}.tag{padding:4px 10px;border-radius:999px;background:#e9e4dc;font-size:12px;font-weight:600}.tag.warn{background:#f6d6c6;color:#8a3a1f}.strategy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.strategy{background:#fef8f2;border-radius:14px;padding:16px;border:1px solid #f2dfcf}.strategy-title{font-weight:700}.strategy-desc{margin-top:8px;font-size:13px;color:var(--text-muted)}.placeholder{display:flex;justify-content:center}.placeholder-card{width:min(720px,100%);background:var(--surface);border-radius:20px;border:1px solid var(--border);padding:32px;box-shadow:var(--shadow)}.placeholder-title{font-size:20px;font-weight:700}.placeholder-subtitle{margin-top:8px;color:var(--text-muted)}.placeholder-grid{margin-top:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.placeholder-item{background:#f5efe7;border-radius:12px;padding:14px;text-align:center;color:var(--text-muted);font-weight:600}.user-info{display:grid;gap:24px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;align-items:end}.form-field{display:grid;gap:8px;font-size:13px;color:var(--text-muted)}.form-field input{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#fff;font-size:14px;color:var(--text)}.select-wrap{position:relative}.select-wrap:after{content:"";position:absolute;right:14px;top:50%;width:8px;height:8px;border-right:2px solid #8b7d6b;border-bottom:2px solid #8b7d6b;transform:translateY(-60%) rotate(45deg);pointer-events:none}.form-field select{width:100%;border:1px solid var(--border);border-radius:12px;padding:10px 34px 10px 12px;background:#fff;font-size:14px;color:var(--text);-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .2s ease,box-shadow .2s ease}.form-field select:focus{outline:none;border-color:#e5b48e;box-shadow:0 0 0 3px #e5b48e40}.form-actions{display:flex;gap:10px;justify-content:flex-end}.table{display:grid;gap:10px}.table-row{display:grid;grid-template-columns:1.3fr 1fr 1fr .6fr 1fr 1.3fr 1fr;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:#faf6f0}.report-table .table-row{grid-template-columns:1.1fr 1.1fr .9fr .7fr 1.4fr 1fr .9fr}.table.centered .table-row,.table.centered .table-row.table-head{text-align:center}.table.centered .table-row>div{text-align:center;border-right:1px solid rgba(226,222,214,.6);padding:0 6px}.table.centered .table-row>div:last-child,.table.centered .table-row.table-head>div:last-child{border-right:none}.table.centered .intro,.table.centered .muted{text-align:center}.table.centered .row-actions{justify-content:center}.chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#ece6dd;color:#6f5b46}.chip.tone-0{background:#f6dfcf;color:#8a4b2b}.chip.tone-1{background:#dbe8f6;color:#2e5c8a}.chip.tone-2{background:#dff1e4;color:#2f6b4a}.chip.tone-3{background:#efe3f7;color:#6b3b8d}.chip.tone-4{background:#f7ecd5;color:#7a5a1f}.status-pill.ok{background:#e6efe1;color:#2f7d4d}.status-pill.danger{background:#f5cfcf;color:#9c2f2f}.media-thumb{position:relative;width:54px;height:54px;border-radius:12px;overflow:hidden;border:1px solid #eadfce;cursor:pointer;box-shadow:0 4px 10px #00000014}.media-thumb img{width:100%;height:100%;object-fit:cover}.media-count{position:absolute;right:6px;bottom:6px;background:#181410b3;color:#fff;font-size:10px;padding:2px 6px;border-radius:999px}.media-preview{position:fixed;top:0;right:0;bottom:0;left:0;background:#14121073;display:grid;place-items:center;z-index:50;padding:24px}.media-preview-body{background:#fff;border-radius:18px;padding:18px;max-width:min(1650px,96vw);max-height:96vh;display:grid;gap:12px;box-shadow:0 24px 60px #00000040}.media-preview-header{display:flex;justify-content:space-between;align-items:center}.media-preview-count{font-size:14px;font-weight:700;color:#3f2d1d;background:#f6e6d5;padding:6px 12px;border-radius:999px}.media-preview-stage img{max-width:100%;max-height:70vh;object-fit:contain;border-radius:12px}.media-preview-close{justify-self:end;border:none;background:#f5efe7;color:#6f5b46;padding:8px 14px;border-radius:999px;cursor:pointer;font-weight:600}.media-preview-stage{position:relative;display:grid;place-items:center}.media-preview-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(1080px,92vw);margin:0 auto}.media-preview-strip img{width:100%;height:360px;object-fit:contain;border-radius:12px;border:1px solid #eadfce;background:#f6f1ea;cursor:zoom-in}.media-preview-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:none;background:#18141099;color:#fff;font-size:24px;cursor:pointer;display:grid;place-items:center}.media-preview-nav:disabled{opacity:.35;cursor:not-allowed}.media-preview-nav.left{left:-12px}.media-preview-nav.right{right:-12px}.media-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0acc;display:grid;place-items:center;z-index:60}.link-button{border:none;background:transparent;color:var(--accent);cursor:pointer;padding:0;font-weight:600}.content-preview{position:fixed;top:0;right:0;bottom:0;left:0;background:#14121073;display:grid;place-items:center;z-index:55;padding:24px}.content-preview-body{background:#fff;border-radius:20px;padding:20px;width:min(980px,92vw);max-height:92vh;overflow:auto;display:grid;gap:16px;box-shadow:0 24px 60px #0003}.content-preview-header{display:flex;align-items:center;justify-content:space-between}.content-preview-title{font-size:18px;font-weight:700}.content-preview-sub{font-size:12px;color:var(--text-muted)}.content-meta{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}.content-author{display:flex;align-items:center;gap:12px}.content-meta-info{display:grid;gap:10px;font-size:13px;color:var(--text-muted)}.content-meta-info strong{color:var(--text);font-weight:600}.content-meta-row{display:flex;align-items:center;gap:8px}.content-type-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#f2e6d9;color:#7a4f2b;font-weight:600;font-size:12px}.content-body{display:grid;gap:16px;margin-top:12px}.content-text{background:#faf4ee;border-radius:12px;padding:16px;line-height:1.6}.content-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;max-width:900px;margin:0 auto}.content-media-item{position:relative;border-radius:12px;overflow:hidden;border:1px solid #eadfce;background:#f6f1ea}.content-media-item img{width:100%;height:320px;object-fit:contain;display:block}.media-type{position:absolute;left:8px;bottom:8px;background:#181410b3;color:#fff;font-size:10px;padding:2px 6px;border-radius:999px}.media-fullscreen img{max-width:95vw;max-height:95vh;object-fit:contain}.table-head{background:#efe7dd;font-weight:700;font-size:13px}.user-cell{display:flex;align-items:center;gap:12px}.avatar{width:42px;height:42px;border-radius:12px;background:#f2d2bb;display:grid;place-items:center;font-weight:700;color:#7a3a1f;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.user-name{font-weight:600}.user-sub{font-size:12px;color:var(--text-muted)}.status-pill{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#e6efe1;color:#2f7d4d}.status-pill.warn{background:#f6d6c6;color:#8a3a1f}.gender{display:inline-flex;align-items:center;gap:8px;font-size:13px}.gender-icon{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:#e7edf5;color:#355a86}.gender-icon.male{background:#d7e9fb;color:#215a9c}.gender-icon.female{background:#fbe1ea;color:#b03b6f}.intro{color:var(--text-muted);font-size:12px;line-height:1.4}.muted{color:var(--text-muted);font-size:12px}.badge{display:inline-flex;align-items:center;justify-content:center;height:18px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700}.badge.ok{background:#3f7ea624;color:#3f7ea6f2}.badge.warn{background:#d66b3f24;color:#d66b3ff2}.badge.danger{background:#be3c3c24;color:#be3c3cf2}.empty{margin-top:18px;text-align:center;color:var(--text-muted)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000001f;z-index:10}.icon-button.mobile{display:none}@media (max-width: 1024px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .2s ease;z-index:20}.sidebar.open{transform:translate(0)}.icon-button.mobile{display:inline-flex}.topbar-actions{display:none}.content{padding:0 20px 24px}}
