.auth[data-v-440713d3]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8f1ff,#f5f0ff)}.box[data-v-440713d3]{width:380px;padding:34px}.brand[data-v-440713d3]{display:flex;align-items:center;gap:8px;color:#4a90e2;font-weight:700;margin-bottom:10px}.brand-icon[data-v-440713d3]{width:22px;height:22px}h1[data-v-440713d3]{font-size:18px;margin-bottom:4px}form[data-v-440713d3]{display:flex;flex-direction:column;gap:12px;margin-top:18px}.btn[data-v-440713d3]{margin-top:6px}.row[data-v-440713d3]{font-size:12px;color:#8a97a6;text-align:center}.row code[data-v-440713d3]{color:#4a90e2}.link[data-v-440713d3]{margin-top:14px;text-align:center}.link a[data-v-440713d3]{color:#4a90e2;font-size:13px}.admin[data-v-02e0fa43]{display:flex;min-height:100vh}.sidebar[data-v-02e0fa43]{width:210px;background:#22303f;color:#cbd6e4;padding:18px 0;display:flex;flex-direction:column}.brand[data-v-02e0fa43]{font-size:15px;font-weight:700;color:#fff;padding:0 20px 20px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:6px}.brand-icon[data-v-02e0fa43]{width:18px;height:18px;color:#4a90e2}.sidebar nav[data-v-02e0fa43]{display:flex;flex-direction:column;overflow-y:auto;flex:1}.sidebar nav a[data-v-02e0fa43]{padding:12px 20px;font-size:14px;color:#cbd6e4}.sidebar nav a[data-v-02e0fa43]:hover{background:#2c3d4f}.sidebar nav a.router-link-active[data-v-02e0fa43]{background:#4a90e2;color:#fff}.bottom[data-v-02e0fa43]{margin-top:auto;padding:12px 20px;display:flex;flex-direction:column;gap:8px}.who[data-v-02e0fa43]{font-size:12px;color:#8fa2b5}.back[data-v-02e0fa43]{font-size:13px;color:#8fa2b5;cursor:pointer}.main[data-v-02e0fa43]{flex:1;padding:22px;overflow:auto}.cards[data-v-32db39be]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.kpi .num[data-v-32db39be]{font-size:26px;font-weight:700;color:#2b3a4a}.kpi .num.warn[data-v-32db39be]{color:#d5423a}.kpi .label[data-v-32db39be]{font-size:13px;color:#8a97a6;margin-top:4px}.charts[data-v-32db39be]{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-top:16px}.chart[data-v-32db39be]{height:260px}.sat-bar[data-v-32db39be]{display:flex;flex-direction:column;gap:6px;max-width:520px}.sat-item[data-v-32db39be]{display:flex;align-items:center;gap:10px;font-size:13px}.s-label[data-v-32db39be]{width:40px;color:#4a5a6b}.s-bar[data-v-32db39be]{flex:1;height:8px;background:#eef1f5;border-radius:4px;overflow:hidden}.s-in[data-v-32db39be]{height:100%;background:#f0b429;border-radius:4px}.sat-comments[data-v-32db39be]{display:flex;flex-direction:column;gap:8px}.s-quote[data-v-32db39be]{font-size:13px;color:#4a5a6b;background:#f8fafd;border-radius:8px;padding:8px 12px}.s-stars[data-v-32db39be]{color:#f0b429}.filters .input[data-v-d7a2d328]{max-width:none}.filters .btn svg[data-v-d7a2d328]{width:15px;height:15px}.risk-row[data-v-d7a2d328]{background:#fff8f7}.pending-num[data-v-d7a2d328]{font-size:11px;color:#d5423a;margin-left:4px}.tag-row[data-v-d7a2d328]{display:flex;flex-wrap:wrap;gap:6px}.hint[data-v-d7a2d328]{font-size:12px;color:#8a97a6;margin-top:6px}.mini-kpis[data-v-d7a2d328]{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:16px 0 4px}.mini-kpis>div[data-v-d7a2d328]{background:#f8fafd;border-radius:8px;padding:9px 6px;text-align:center}.mini-kpis b[data-v-d7a2d328]{font-size:18px;color:#2b3a4a;display:block}.mini-kpis span[data-v-d7a2d328]{font-size:11px;color:#8a97a6}.mini-kpis .warn[data-v-d7a2d328]{background:#fff3f2}.mini-kpis .warn b[data-v-d7a2d328]{color:#d5423a}.alert-item[data-v-d7a2d328]{border:1px solid #f2e3e1;background:#fffaf9;border-radius:8px;padding:9px 12px;margin-bottom:8px}.a-content[data-v-d7a2d328]{font-size:13px;color:#4a5a6b;margin:6px 0 2px;line-height:1.7}.small-table[data-v-d7a2d328]{font-size:13px}@media (max-width: 900px){.mini-kpis[data-v-d7a2d328]{grid-template-columns:repeat(3,1fr)}}.filters .input[data-v-b77947c8]{max-width:none}.filters .btn svg[data-v-b77947c8]{width:15px;height:15px}.tag-row[data-v-b77947c8]{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.small-table[data-v-b77947c8]{font-size:13px}.req[data-v-b77947c8]{color:#d5423a}.hint[data-v-b77947c8]{font-size:12px;color:#8a97a6;margin-top:6px}.account-tip[data-v-b77947c8]{display:flex;align-items:center;gap:8px;font-size:13px;border-radius:9px;padding:9px 12px}.account-tip svg[data-v-b77947c8]{width:16px;height:16px;flex:0 0 auto}.account-tip.bound[data-v-b77947c8]{background:#edf7f0;color:#1c7a4b}.account-tip.unbound[data-v-b77947c8]{background:#fff4e2;color:#a9700f}.account-tip.new[data-v-b77947c8]{background:#f2f6fc;color:#3a5a7a}.filters .input[data-v-0980c1a5]{max-width:none}.filters .btn svg[data-v-0980c1a5]{width:15px;height:15px}.tag-row[data-v-0980c1a5]{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.foot-hint[data-v-0980c1a5]{margin-right:auto;font-size:12px;color:#8a97a6}.ml4[data-v-0980c1a5]{margin-left:4px}.mt4[data-v-0980c1a5]{margin-top:4px}.content-preview[data-v-0980c1a5]{max-height:40vh;overflow:auto}.lessons-head[data-v-0980c1a5]{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:22px}.form-sec.no-line[data-v-0980c1a5]{border-bottom:none;margin-bottom:2px;padding-bottom:0}.lesson-empty[data-v-0980c1a5]{padding:16px;border:1px dashed #d7e0ea;border-radius:10px;color:#8a97a6;font-size:13px;text-align:center;background:#fbfcfe}.lesson-card[data-v-0980c1a5]{border:1px solid #e6ecf4;border-radius:10px;margin-bottom:10px;background:#fff;overflow:hidden}.lesson-bar[data-v-0980c1a5]{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f8fafd}.lesson-toggle[data-v-0980c1a5]{border:none;background:transparent;color:#6b7a8c;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;flex:0 0 auto}.lesson-toggle[data-v-0980c1a5]:hover{background:#e8eef7;color:#2b3a4a}.lesson-toggle svg[data-v-0980c1a5]{width:15px;height:15px}.lesson-no[data-v-0980c1a5]{flex:0 0 auto;font-size:12px;font-weight:600;color:#2b6bd0;background:#e8f1fd;border-radius:6px;padding:3px 8px}.lesson-title[data-v-0980c1a5]{flex:1;min-width:0;padding:6px 10px;font-size:13px}.preview-check[data-v-0980c1a5]{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#6b7a8c;white-space:nowrap;cursor:pointer}.lesson-tools[data-v-0980c1a5]{flex:0 0 auto;display:flex;gap:4px}.icon-btn[data-v-0980c1a5]{border:none;background:#eef2f8;color:#5b6b7d;width:26px;height:26px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center}.icon-btn[data-v-0980c1a5]:hover:not(:disabled){background:#dfe7f1;color:#2b3a4a}.icon-btn[data-v-0980c1a5]:disabled{opacity:.4;cursor:not-allowed}.icon-btn.danger[data-v-0980c1a5]{background:#fdeeee;color:#d5423a}.icon-btn.danger[data-v-0980c1a5]:hover{background:#fbdedd}.icon-btn svg[data-v-0980c1a5]{width:14px;height:14px}.lesson-body[data-v-0980c1a5]{padding:12px 12px 4px;border-top:1px dashed #eef1f5}.course-stat[data-v-0980c1a5]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.course-stat>div[data-v-0980c1a5]{background:#f8fafd;border-radius:10px;padding:10px;text-align:center}.course-stat b[data-v-0980c1a5]{display:block;font-size:19px;color:#2b3a4a}.course-stat span[data-v-0980c1a5]{font-size:11px;color:#8a97a6}.url-line[data-v-0980c1a5]{font-size:12px;color:#4a90e2;word-break:break-all}.outline-item[data-v-0980c1a5]{border-left:3px solid #e4ecf7;padding:7px 12px;margin-bottom:6px}.outline-item b[data-v-0980c1a5]{font-size:13px;font-weight:600;color:#2b3a4a}.mini-icon[data-v-0980c1a5]{width:12px;height:12px;vertical-align:-2px;margin-right:3px;color:#4a90e2}.ml4-tag[data-v-0980c1a5]{margin-left:4px}@media (max-width: 720px){.course-stat[data-v-0980c1a5]{grid-template-columns:repeat(2,1fr)}}.filters .input[data-v-3cfd1d2b]{max-width:none}.filters .btn svg[data-v-3cfd1d2b]{width:15px;height:15px}.content-cell[data-v-3cfd1d2b]{max-width:300px}.tag-row[data-v-3cfd1d2b]{display:flex;flex-wrap:wrap;gap:6px}.reply[data-v-3cfd1d2b]{border-top:1px dashed #e8edf4;padding:10px 0 6px;font-size:13px}.reply[data-v-3cfd1d2b]:first-of-type{border-top:none}.reply b[data-v-3cfd1d2b]{color:#4a90e2;font-size:13px}.reply p[data-v-3cfd1d2b]{margin:5px 0 0;color:#4a5a6b;line-height:1.7}.filters .input[data-v-9347dc65]{max-width:none}.filters .btn svg[data-v-9347dc65]{width:15px;height:15px}.content-cell[data-v-9347dc65]{max-width:260px}.alert-main[data-v-9347dc65]{border-radius:10px;padding:12px 14px}.alert-main.red[data-v-9347dc65]{background:#fff3f2;border:1px solid #f2c5c1}.alert-main.yellow[data-v-9347dc65]{background:#fff8ea;border:1px solid #f0dcb0}.alert-main.green[data-v-9347dc65]{background:#f2faf5;border:1px solid #c9e8d5}.alert-main p[data-v-9347dc65]{font-size:14px;line-height:1.75;color:#2b3a4a;margin-bottom:6px}.alert-main .small-text[data-v-9347dc65]{color:#8a97a6}.hist-item[data-v-9347dc65]{border-left:3px solid #e8edf4;padding:6px 10px;margin-bottom:8px}.hist-item p[data-v-9347dc65]{margin:5px 0 0;color:#4a5a6b;line-height:1.7}.alert-quote[data-v-9347dc65]{background:#f8fafd;border-radius:10px;padding:12px 14px}.alert-quote p[data-v-9347dc65]{margin-top:8px;font-size:13px;line-height:1.7;color:#4a5a6b}.ml8[data-v-9347dc65]{margin-left:8px}.mt8[data-v-9347dc65]{margin-top:8px}.cards[data-v-9bf4c03d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.kpi .num[data-v-9bf4c03d]{font-size:24px;font-weight:700}.kpi .label[data-v-9bf4c03d]{font-size:12px;color:#8a97a6}.filters .input[data-v-9bf4c03d]{max-width:none}.filters .btn svg[data-v-9bf4c03d]{width:15px;height:15px}.content-cell[data-v-9bf4c03d]{max-width:220px}.mono[data-v-9bf4c03d]{font-variant-numeric:tabular-nums}.tag-row[data-v-9bf4c03d]{display:flex;flex-wrap:wrap;gap:6px}.title-icon[data-v-aa31019b]{width:20px;height:20px}.cards[data-v-aa31019b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.kpi .num[data-v-aa31019b]{font-size:24px;font-weight:700}.kpi .num.warn[data-v-aa31019b]{color:#d5423a}.kpi .label[data-v-aa31019b]{font-size:12px;color:#8a97a6}.filters .input[data-v-aa31019b]{max-width:none}.filters .btn svg[data-v-aa31019b]{width:15px;height:15px}.ok-text[data-v-aa31019b]{color:#1c9e5a}.tag-row[data-v-aa31019b]{display:flex;flex-wrap:wrap;gap:6px}.eval[data-v-aa31019b]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.eval div[data-v-aa31019b]{background:#fff;border-radius:8px;padding:9px 10px}.eval span[data-v-aa31019b]{display:block;font-size:11px;color:#8a97a6;margin-bottom:3px}.eval b[data-v-aa31019b]{font-size:14px;color:#2b3a4a}@media (max-width: 720px){.eval[data-v-aa31019b]{grid-template-columns:1fr}}.filters .input[data-v-8746654b]{max-width:none}.filters .btn svg[data-v-8746654b]{width:15px;height:15px}.content-cell[data-v-8746654b]{max-width:260px}.tag-row[data-v-8746654b]{display:flex;flex-wrap:wrap;gap:6px}.small-table[data-v-8746654b]{font-size:13px}.title-icon[data-v-49e9109f]{width:20px;height:20px}.mono[data-v-49e9109f]{font-variant-numeric:tabular-nums}.req[data-v-49e9109f]{color:#d5423a}.tag-row[data-v-49e9109f]{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.small-table[data-v-49e9109f]{font-size:13px}.foot-hint[data-v-49e9109f]{margin-right:auto;font-size:12px;color:#8a97a6}.hint[data-v-49e9109f]{font-size:12px;color:#8a97a6;margin-top:8px}.grade-table td[data-v-49e9109f]{padding:6px}.grade-table .input[data-v-49e9109f]{padding:6px 9px;font-size:13px}.q-card[data-v-49e9109f]{border:1px solid #e6ecf4;border-radius:10px;padding:10px;margin-bottom:10px;background:#fff}.q-head[data-v-49e9109f]{display:flex;align-items:center;gap:8px}.q-no[data-v-49e9109f]{flex:0 0 auto;font-size:12px;font-weight:600;color:#2b6bd0;background:#e8f1fd;border-radius:6px;padding:3px 8px}.q-head .input[data-v-49e9109f]{flex:1;padding:6px 10px;font-size:13px}.opts[data-v-49e9109f]{margin-top:8px;padding-left:52px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.opt-row[data-v-49e9109f]{display:flex;gap:6px;width:100%}.opt-row .input[data-v-49e9109f]{padding:5px 9px;font-size:13px}.opt-score[data-v-49e9109f]{max-width:84px;flex:0 0 auto}.icon-btn[data-v-49e9109f]{flex:0 0 auto;border:none;background:#eef2f8;color:#5b6b7d;width:30px;height:30px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center}.icon-btn[data-v-49e9109f]:hover{background:#dfe7f1;color:#2b3a4a}.icon-btn.danger[data-v-49e9109f]{background:#fdeeee;color:#d5423a}.icon-btn.danger[data-v-49e9109f]:hover{background:#fbdedd}.icon-btn svg[data-v-49e9109f]{width:14px;height:14px}.q-preview[data-v-49e9109f]{border-left:3px solid #e4ecf7;padding:6px 12px;margin-bottom:6px}.q-preview b[data-v-49e9109f]{font-size:13px;font-weight:600;color:#2b3a4a}@media (max-width: 720px){.opts[data-v-49e9109f]{padding-left:0}}.title-icon[data-v-9941d0e6]{width:20px;height:20px}.filters .input[data-v-9941d0e6]{max-width:none}.filters .btn svg[data-v-9941d0e6]{width:15px;height:15px}.answer-cell[data-v-9941d0e6]{max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.req[data-v-9941d0e6]{color:#d5423a}.field label[data-v-94d016a6]{display:block;font-size:13px;color:#6b7a8c;margin-bottom:6px}.err[data-v-94d016a6]{color:#d5423a}.title-icon[data-v-9cb85d9b]{width:20px;height:20px}.status[data-v-9cb85d9b]{display:flex;align-items:center}.ml[data-v-9cb85d9b]{margin-left:8px}.field label[data-v-9cb85d9b]{display:block;font-size:13px;color:#6b7a8c;margin-bottom:6px}.req[data-v-9cb85d9b]{color:#d5423a}.grid2[data-v-9cb85d9b]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check[data-v-9cb85d9b]{font-size:14px;color:#4a5a6b;display:flex;gap:6px;align-items:center}.ok[data-v-9cb85d9b]{color:#1c9e5a}.err[data-v-9cb85d9b]{color:#d5423a}.help ol[data-v-9cb85d9b]{padding-left:20px;line-height:2;font-size:14px;color:#4a5a6b}.help code[data-v-9cb85d9b]{background:#eef1f5;padding:1px 6px;border-radius:4px;color:#d5423a}.h-icon[data-v-9cb85d9b]{width:16px;height:16px;vertical-align:-3px;margin-right:4px}.title-icon[data-v-e0cf7dcc]{width:20px;height:20px}.status[data-v-e0cf7dcc]{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.ml[data-v-e0cf7dcc]{margin-left:8px}.cards[data-v-e0cf7dcc]{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.kpi .num[data-v-e0cf7dcc]{font-size:26px;font-weight:700;color:#1c9e5a}.kpi .num.warn[data-v-e0cf7dcc]{color:#d5423a}.kpi .label[data-v-e0cf7dcc]{font-size:12px;color:#8a97a6;margin:4px 0 8px}.bar[data-v-e0cf7dcc]{position:relative;height:6px;background:#eef1f5;border-radius:3px;overflow:visible}.bar .in[data-v-e0cf7dcc]{height:100%;border-radius:3px;background:#4a90e2}.bar .in.red[data-v-e0cf7dcc]{background:#d5423a}.bar .in.green[data-v-e0cf7dcc]{background:#1c9e5a}.bar .mark[data-v-e0cf7dcc]{position:absolute;top:-3px;width:2px;height:12px;background:#2b3a4a}tr.cur[data-v-e0cf7dcc]{background:#f0f7ff}.t-text[data-v-e0cf7dcc]{max-width:260px}.ok[data-v-e0cf7dcc]{color:#1c9e5a}.bad[data-v-e0cf7dcc]{color:#d5423a;font-weight:600}.tag-row[data-v-e0cf7dcc]{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.small-table[data-v-e0cf7dcc]{font-size:13px}.title-icon[data-v-5166bf55]{width:20px;height:20px}.filters[data-v-5166bf55]{display:flex;gap:10px;flex-wrap:wrap}.filters .input[data-v-5166bf55]{width:auto;min-width:110px}.detail[data-v-5166bf55]{max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pager[data-v-5166bf55]{display:flex;align-items:center;gap:12px}.small[data-v-5166bf55]{padding:4px 12px;font-size:12px}.title-icon[data-v-16663434]{width:20px;height:20px}.cards[data-v-16663434]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.kpi .num[data-v-16663434]{font-size:26px;font-weight:700;color:#2b3a4a}.kpi .num.warn[data-v-16663434]{color:#d5423a}.kpi .label[data-v-16663434]{font-size:13px;color:#8a97a6;margin-top:4px}.chart[data-v-16663434]{height:260px}.title-icon[data-v-b9d7f757]{width:20px;height:20px}.cards[data-v-b9d7f757]{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.comp-head[data-v-b9d7f757]{display:flex;align-items:center;gap:8px;font-size:14px;color:#2b3a4a}.comp p[data-v-b9d7f757]{font-size:12px;margin-top:6px}.dot[data-v-b9d7f757]{width:10px;height:10px;border-radius:50%;background:#1c9e5a}.dot.bad[data-v-b9d7f757]{background:#d5423a}.ml-auto[data-v-b9d7f757]{margin-left:auto}.two-col[data-v-b9d7f757]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.perf-row[data-v-b9d7f757]{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px dashed #eef1f5;font-size:14px;color:#4a5a6b}.perf-row b[data-v-b9d7f757]{color:#2b3a4a;font-variant-numeric:tabular-nums}.perf-row b.warn[data-v-b9d7f757]{color:#d5423a}.warn-num[data-v-b9d7f757]{color:#e08a2b}.title-icon[data-v-e89321ab]{width:20px;height:20px}.cards[data-v-e89321ab]{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}.kpi .num[data-v-e89321ab]{font-size:24px;font-weight:700;color:#2b3a4a;font-variant-numeric:tabular-nums}.kpi .num.warn[data-v-e89321ab]{color:#d5423a}.kpi .label[data-v-e89321ab]{font-size:13px;color:#8a97a6;margin-top:4px}.two-col[data-v-e89321ab]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.chart[data-v-e89321ab]{height:280px}.title-icon[data-v-226273d0]{width:20px;height:20px;color:#f0b429}.cards[data-v-226273d0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.kpi .num[data-v-226273d0]{font-size:26px;font-weight:700;color:#2b3a4a}.kpi .num.warn[data-v-226273d0]{color:#d5423a}.kpi .label[data-v-226273d0]{font-size:13px;color:#8a97a6;margin-top:4px}.filters[data-v-226273d0]{display:flex;gap:10px;flex-wrap:wrap}.filters .input[data-v-226273d0]{width:auto;min-width:130px}.stars[data-v-226273d0]{color:#f0b429;letter-spacing:1px}.stars.big[data-v-226273d0]{font-size:18px}.mr4[data-v-226273d0]{margin-right:4px}.comment[data-v-226273d0]{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag-row[data-v-226273d0]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cards[data-v-55cb035a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.kpi .num[data-v-55cb035a]{font-size:26px;font-weight:700;color:#2b3a4a}.kpi .label[data-v-55cb035a]{font-size:13px;color:#8a97a6;margin-top:4px}.warn-bg[data-v-55cb035a]{background:#fff8f0}.me[data-v-55cb035a]{display:flex}.me-info[data-v-55cb035a]{display:flex;align-items:center;gap:14px}.avatar[data-v-55cb035a]{width:48px;height:48px;border-radius:50%;background:#4a90e2;color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center}.avatar.img[data-v-55cb035a]{object-fit:cover;background:#eef3fb}.name[data-v-55cb035a]{font-size:16px;font-weight:700;color:#2b3a4a;display:flex;align-items:center;gap:8px}.tabs[data-v-d69c0c66]{display:flex;gap:8px;flex-wrap:wrap}.tab[data-v-d69c0c66]{border:1px solid #e3e9f1;background:#fff;border-radius:16px;padding:5px 16px;font-size:13px;color:#4a5a6b;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.tab[data-v-d69c0c66]:hover{border-color:#c3d8f2;color:#2b6bd0}.tab.on[data-v-d69c0c66]{background:#4a90e2;border-color:#4a90e2;color:#fff}.note[data-v-d69c0c66]{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.req[data-v-d69c0c66]{color:#d5423a}.ok[data-v-d69c0c66]{color:#1c9e5a}.tag-row[data-v-d69c0c66]{display:flex;flex-wrap:wrap;gap:6px}.eval[data-v-d69c0c66]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}.eval div[data-v-d69c0c66]{background:#f8fafd;border-radius:8px;padding:9px 10px}.eval span[data-v-d69c0c66]{display:block;font-size:11px;color:#8a97a6;margin-bottom:3px}.eval b[data-v-d69c0c66]{font-size:14px;color:#2b3a4a}@media (max-width: 720px){.eval[data-v-d69c0c66]{grid-template-columns:1fr}}.grid2[data-v-377cef1f]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.avatar-row[data-v-377cef1f]{display:flex;align-items:flex-start;gap:14px}.avatar-fields[data-v-377cef1f]{flex:1;min-width:0}.avatar-preview[data-v-377cef1f]{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:#eef3fb}.avatar-preview.fallback[data-v-377cef1f]{display:flex;align-items:center;justify-content:center;background:#4a90e2;color:#fff;font-size:24px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;background:#f4f7fb;color:#2b3a4a}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}.card{background:#fff;border-radius:12px;padding:18px;box-shadow:0 2px 10px #0000000d}.card svg{vertical-align:-3px}.page-title{font-size:20px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:6px}.page-title svg{width:20px;height:20px;color:#4a90e2}.muted{color:#8a97a6;font-size:13px}.flex{display:flex}.between{justify-content:space-between}.gap{gap:12px}.wrap{flex-wrap:wrap}.center{align-items:center}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.mt{margin-top:12px}.mb{margin-bottom:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border:none;border-radius:8px;background:#4a90e2;color:#fff;font-size:14px;line-height:1.2;white-space:nowrap;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,border-color .15s ease}.btn:hover{background:#3d80cf}.btn:active{box-shadow:inset 0 2px 4px #00000024}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed}.btn:disabled:hover,.btn[disabled]:hover{background:#4a90e2}.btn svg{width:15px;height:15px;flex:0 0 auto}.btn.ghost{background:#eef3fb;color:#38506b}.btn.ghost:hover{background:#e0eaf8}.btn.ghost:disabled:hover{background:#eef3fb}.btn.danger{background:#e0574f}.btn.danger:hover{background:#cf4941}.btn.danger:disabled:hover{background:#e0574f}.btn.sm{padding:6px 13px;font-size:13px}.btn.lg{padding:11px 22px;font-size:15px}.btn.block{width:100%}.ops{display:flex;align-items:center;gap:10px;white-space:nowrap}.ops .btn{padding:6px 13px;font-size:13px;border-radius:8px;min-height:32px;background:#f2f5fa;color:#4a5a6b;font-weight:500}.ops .btn:hover{background:#e6ecf5}.ops .btn.act{background:#f1f5fb;color:#2b6bd0}.ops .btn.act:hover{background:#e2ecfa}.ops .btn.primary{background:#4a90e2;color:#fff}.ops .btn.primary:hover{background:#3d80cf}.ops .btn.act.danger{background:#fdeeee;color:#d5423a}.ops .btn.act.danger:hover{background:#fbdedd}.ops .btn.warn-act{background:#fff4e2;color:#bd7a10}.ops .btn.warn-act:hover{background:#ffe9c9}.ops-sep{flex:0 0 auto;width:1px;height:18px;background:#e3e9f1}.link{color:#4a90e2;cursor:pointer}.link:hover{text-decoration:underline}.link.danger{color:#d5423a}.input{padding:9px 12px;border:1px solid #d7e0ea;border-radius:8px;width:100%;font-size:14px;outline:none;background:#fff;color:#2b3a4a;transition:border-color .15s ease,box-shadow .15s ease}.input:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e221}.input:disabled{background:#f5f7fa;color:#8a97a6;cursor:not-allowed}textarea.input{line-height:1.7;resize:vertical}.field{display:block}.field>label{display:block;font-size:13px;color:#6b7a8c;margin-bottom:6px}.field .req{color:#d5423a}.field .hint{font-size:12px;color:#8a97a6;margin-top:6px}.field .err{font-size:12px;color:#d5423a;margin-top:6px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:11px 10px;border-bottom:1px solid #edf1f6;text-align:left}.table th{background:#f7fafc;color:#6b7a8c;font-weight:500;white-space:nowrap}.table tbody tr{transition:background-color .12s ease}.table tbody tr:hover{background:#fafcff}.table tbody tr:last-child td{border-bottom:none}.table td.ops-cell{padding-top:8px;padding-bottom:8px}.table .table{font-size:13px}.tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;line-height:1.6}.tag.green{background:#e4f6ec;color:#1c9e5a}.tag.yellow{background:#fff3dd;color:#b98113}.tag.red{background:#ffe6e4;color:#d5423a}.tag.blue{background:#e6f0ff;color:#2b6bd0}.tag.gray{background:#eef1f5;color:#6b7a8c}.kv-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.kv{display:flex;gap:10px;padding:8px 0;border-bottom:1px dashed #eef1f5;font-size:13px;line-height:1.65}.kv>span{flex:0 0 auto;width:88px;color:#8a97a6}.kv>b{flex:1;min-width:0;font-weight:600;color:#2b3a4a;word-break:break-word}.note-box{background:#f8fafd;border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.8;color:#4a5a6b;margin-top:6px;white-space:pre-wrap;word-break:break-word}.sec{display:flex;align-items:center;gap:6px;margin:18px 0 8px;font-size:14px;font-weight:600;color:#2b3a4a}.sec-icon{width:16px;height:16px;flex:0 0 auto}.sec-icon.red{color:#d5423a}.sec-icon.blue{color:#4a90e2}.sec-icon.green{color:#1c9e5a}.small-text{font-size:12px}.pager{display:flex;align-items:center;gap:12px}.pager .btn{padding:6px 13px;font-size:13px}.empty{padding:26px 0;text-align:center;color:#8a97a6;font-size:13px}.ov-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#111b2a75;display:flex;animation:ovFade .2s ease}.ov-mask.z-modal{z-index:70;align-items:center;justify-content:center;padding:24px}.ov-mask.z-drawer{z-index:80;justify-content:flex-end}.ov-mask.z-confirm{z-index:90;align-items:center;justify-content:center;padding:24px}@keyframes ovFade{0%{opacity:0}to{opacity:1}}.ov-panel{background:#fff;display:flex;flex-direction:column;overflow:hidden}.ov-panel.center-panel{width:640px;max-width:100%;max-height:100%;border-radius:14px;box-shadow:0 24px 60px #0f19283d}.ov-panel.drawer-panel{height:100%;max-width:94vw;box-shadow:-10px 0 34px #0f192829}.ov-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:1px solid #eef1f5;flex:0 0 auto;background:#fff}.ov-title{font-size:16px;font-weight:600;color:#2b3a4a;line-height:1.5}.ov-sub{margin-top:3px;font-size:12px;color:#8a97a6;line-height:1.5}.ov-close{flex:0 0 auto;width:32px;height:32px;border:none;border-radius:9px;background:#f1f4f8;color:#6b7a8c;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.ov-close:hover{background:#e3e9f1;color:#2b3a4a}.ov-close svg{width:16px;height:16px}.ov-body{flex:1 1 auto;overflow:auto;padding:18px 20px}.ov-foot{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:13px 20px;border-top:1px solid #eef1f5;background:#fbfcfe}.ov-foot .btn{padding:8px 18px;font-size:14px}.drawer-r-enter-active,.drawer-r-leave-active{transition:opacity .22s ease}.drawer-r-enter-active .drawer-panel,.drawer-r-leave-active .drawer-panel{transition:transform .28s cubic-bezier(.32,.72,.36,1)}.drawer-r-enter-from,.drawer-r-leave-to{opacity:0}.drawer-r-enter-from .drawer-panel,.drawer-r-leave-to .drawer-panel{transform:translate(100%)}.modal-c-enter-active,.modal-c-leave-active{transition:opacity .2s ease}.modal-c-enter-active .center-panel,.modal-c-leave-active .center-panel{transition:transform .22s cubic-bezier(.32,.72,.36,1),opacity .2s ease}.modal-c-enter-from,.modal-c-leave-to{opacity:0}.modal-c-enter-from .center-panel,.modal-c-leave-to .center-panel{transform:translateY(12px) scale(.97);opacity:0}.ov-mask.ov-out{opacity:0;pointer-events:none;transition:opacity .16s ease}.ov-mask.ov-out .center-panel{transform:translateY(8px) scale(.98);transition:transform .16s ease}.confirm-panel{width:420px;border-radius:14px;box-shadow:0 24px 60px #0f19283d}.confirm-body{display:flex;gap:14px;padding:22px 22px 18px}.confirm-icon{flex:0 0 auto;width:40px;height:40px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center}.confirm-icon svg{width:21px;height:21px}.confirm-icon.danger{background:#fdeeee;color:#d5423a}.confirm-icon.warn{background:#fff4e2;color:#c98211}.confirm-icon.info{background:#eaf2fd;color:#2b6bd0}.confirm-text h3{font-size:16px;font-weight:600;color:#2b3a4a;line-height:1.5}.confirm-text p{margin-top:7px;font-size:13px;line-height:1.7;color:#6b7a8c;white-space:pre-wrap}.confirm-panel .ov-foot{border-radius:0 0 14px 14px}.toast-host{position:fixed;top:22px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{max-width:70vw;padding:10px 18px;border-radius:10px;font-size:14px;line-height:1.5;background:#22303f;color:#fff;box-shadow:0 10px 26px #0f192833;opacity:0;transform:translateY(-10px);transition:opacity .22s ease,transform .22s ease}.toast.on{opacity:1;transform:translateY(0)}.toast.ok{background:#1c8f52}.toast.err{background:#c8433b}.toast.warn{background:#b8801a}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form-sec{margin:20px 0 12px;padding-bottom:8px;border-bottom:1px solid #eef1f5;font-size:13px;font-weight:600;color:#6b7a8c}.form-sec:first-child{margin-top:0}@media (max-width: 720px){.kv-grid,.grid2,.grid3{grid-template-columns:1fr}}
