.mock-banner[data-v-6b9ec682]{width:calc(100% - 48px);max-width:1280px;color:var(--warn);text-align:center;background:#fbbf241a;border:1px dashed #fbbf2473;border-radius:10px;margin:12px auto 0;padding:8px 16px;font-size:12.5px}.user-area[data-v-6b9ec682]{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.user-name[data-v-6b9ec682]{color:var(--ink);font-size:13px;font-weight:600}.role-tag[data-v-6b9ec682]{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.role-admin[data-v-6b9ec682]{color:#f5b942;background:#f5b94224;border:1px solid #f5b94266}.role-viewer[data-v-6b9ec682]{color:#7dd3fc;background:#38bdf81f;border:1px solid #38bdf859}.user-btn[data-v-6b9ec682]{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:8px;padding:4px 10px;font-size:12px;transition:all .15s}.user-btn[data-v-6b9ec682]:hover{color:var(--ink);border-color:var(--line-strong)}.modal-mask[data-v-6b9ec682]{z-index:200;background:#040810a8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-card[data-v-6b9ec682]{background:var(--card-solid);border:1px solid var(--line);border-radius:14px;width:100%;max-width:380px;padding:24px;box-shadow:0 20px 50px #00000080}.modal-title[data-v-6b9ec682]{color:var(--ink-strong);margin:0 0 18px;font-size:17px}.modal-field[data-v-6b9ec682]{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.modal-field span[data-v-6b9ec682]{color:var(--ink-soft);font-size:12.5px}.modal-field input[data-v-6b9ec682]{background:var(--panel);border:1px solid var(--line);height:40px;color:var(--ink);border-radius:9px;outline:none;padding:0 12px;font-size:14px}.modal-field input[data-v-6b9ec682]:focus{border-color:var(--line-strong)}.modal-actions[data-v-6b9ec682]{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.btn-ghost[data-v-6b9ec682],.btn-primary[data-v-6b9ec682]{cursor:pointer;border-radius:9px;padding:8px 18px;font-size:13px}.btn-ghost[data-v-6b9ec682]{border:1px solid var(--line);color:var(--ink-soft);background:0 0}.btn-primary[data-v-6b9ec682]{color:#1a1206;background:linear-gradient(135deg,#f5b942,#e8963a);border:none;font-weight:700}.btn-ghost[data-v-6b9ec682]:disabled,.btn-primary[data-v-6b9ec682]:disabled{opacity:.6;cursor:not-allowed}.head-actions[data-v-8f506058]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.scope-switch[data-v-8f506058]{cursor:pointer;color:var(--ink-soft);border:1px solid var(--line-strong);background:#090f1c80;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:12px;transition:all .18s;display:inline-flex}.scope-switch[data-v-8f506058]:hover{color:var(--ink-strong);border-color:#f5b94273}.scope-dot[data-v-8f506058]{background:var(--ink-faint);border-radius:50%;width:8px;height:8px;transition:all .18s}.scope-switch.on[data-v-8f506058]{color:var(--gold);background:var(--gold-soft);box-shadow:var(--glow-gold);border-color:#f5b9428c}.scope-switch.on .scope-dot[data-v-8f506058]{background:var(--gold);box-shadow:0 0 8px #f5b94299}.grade-layout[data-v-8f506058]{grid-template-columns:260px 1fr;align-items:center;gap:22px;display:grid}.chart-box[data-v-8f506058]{justify-content:center;align-items:center;display:flex}.chart[data-v-8f506058]{width:100%;min-width:200px;height:240px}.grade-grid[data-v-8f506058]{gap:12px}.grade-card[data-v-8f506058]{border:1px solid var(--line-soft);background:var(--panel);cursor:pointer;border-radius:12px;padding:14px 16px;transition:border-color .18s,box-shadow .18s,transform .18s}.grade-card[data-v-8f506058]:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:0 8px 20px #02061059,0 0 18px #38bdf814}.grade-head[data-v-8f506058]{align-items:center;gap:8px;display:flex}.grade-label[data-v-8f506058]{color:var(--ink-soft);font-size:13px}.grade-count[data-v-8f506058]{font-family:var(--font-serif);font-variant-numeric:tabular-nums;margin:6px 0 8px;font-size:30px;font-weight:700}.grade-count .unit[data-v-8f506058]{color:var(--ink-soft);font-size:13px;font-family:var(--font-sans);margin-left:4px;font-weight:400}.grade-foot[data-v-8f506058]{color:var(--ink-faint);margin-top:6px;font-size:12px}.click-hint[data-v-8f506058]{color:var(--ink-faint);opacity:0;margin-left:4px;transition:opacity .18s}.grade-card:hover .click-hint[data-v-8f506058]{opacity:1;color:var(--gold)}.region-head[data-v-8f506058]{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.seg[data-v-8f506058]{border:1px solid var(--line-strong);background:#090f1c80;border-radius:9px;display:inline-flex;overflow:hidden}.seg-btn[data-v-8f506058]{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;padding:6px 18px;font-size:13px;transition:all .15s}.seg-btn[data-v-8f506058]:hover{color:var(--ink-strong)}.seg-btn.active[data-v-8f506058]{background:var(--gold-soft);color:var(--gold);font-weight:600;box-shadow:inset 0 0 12px #f5b9421f}.big-chart[data-v-8f506058]{width:100%;height:220px;margin-bottom:16px}.big-grid[data-v-8f506058]{gap:12px}.big-card[data-v-8f506058]{text-align:left;border:1px solid var(--line-soft);background:var(--panel);cursor:pointer;font:inherit;color:inherit;border-radius:12px;padding:14px 16px;transition:border-color .18s,transform .18s,box-shadow .18s}.big-card[data-v-8f506058]:hover{box-shadow:0 8px 22px #02061066, var(--glow-gold);border-color:#f5b9428c;transform:translateY(-2px)}.big-name[data-v-8f506058]{color:var(--ink-strong);margin-bottom:8px;font-size:15px;font-weight:700}.big-nums[data-v-8f506058]{align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.big-count[data-v-8f506058]{font-family:var(--font-serif);font-variant-numeric:tabular-nums;color:var(--ink-strong);font-size:26px;font-weight:700}.big-count .unit[data-v-8f506058]{color:var(--ink-soft);font-size:12px;font-family:var(--font-sans);margin-left:3px;font-weight:400}.big-avg[data-v-8f506058]{color:var(--gold);font-variant-numeric:tabular-nums;font-size:13px}.big-grades[data-v-8f506058]{flex-wrap:wrap;gap:10px;display:flex}.big-grade[data-v-8f506058]{color:var(--ink-soft);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:12px;display:inline-flex}.grade-badge-sm[data-v-8f506058]{border:1px solid;border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-style:normal;font-weight:700;display:inline-flex}.grade-badge-sm.grade-A[data-v-8f506058]{color:#1b1405;background:var(--grade-a);border-color:var(--grade-a)}.grade-badge-sm.grade-B[data-v-8f506058]{color:#06263a;background:var(--grade-b);border-color:var(--grade-b)}.grade-badge-sm.grade-C[data-v-8f506058]{color:#331502;background:var(--grade-c);border-color:var(--grade-c)}.grade-badge-sm.grade-D[data-v-8f506058]{color:var(--grade-d);background:#f8717129;border-color:#f8717180}.region-list[data-v-8f506058]{flex-direction:column;gap:10px;display:flex}.region-row[data-v-8f506058]{cursor:pointer;border-radius:9px;grid-template-columns:26px 72px 1fr 44px 84px;align-items:center;gap:10px;margin:-5px -10px;padding:5px 10px;transition:background .15s;display:grid}.region-row[data-v-8f506058]:hover{background:#94a3b814}.region-row:hover .region-name[data-v-8f506058]{color:var(--ink-strong)}.region-rank[data-v-8f506058]{width:22px;height:22px;color:var(--ink-soft);font-variant-numeric:tabular-nums;background:#94a3b81a;border-radius:6px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.region-rank.top[data-v-8f506058]{background:var(--gold-soft);color:var(--gold);box-shadow:0 0 8px #f5b94240}.region-name[data-v-8f506058]{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.region-bar .bar-fill[data-v-8f506058]{animation:.5s both bar-grow-8f506058}@keyframes bar-grow-8f506058{0%{width:0}}.region-count[data-v-8f506058]{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-strong);font-weight:600}.region-avg[data-v-8f506058]{text-align:right;color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:12px}.more-btn[data-v-8f506058]{align-self:flex-start;margin-top:6px}.rank[data-v-8f506058]{width:22px;height:22px;color:var(--ink-soft);background:#94a3b81a;border-radius:6px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.rank.hot[data-v-8f506058]{color:var(--danger);background:#f8717124;box-shadow:0 0 8px #f8717140}.attn-row[data-v-8f506058]{cursor:pointer}.attn-row:hover td[data-v-8f506058]{background:#94a3b812}@media (max-width:1024px){.grade-layout[data-v-8f506058]{grid-template-columns:1fr}.chart[data-v-8f506058]{height:220px}.region-row[data-v-8f506058]{grid-template-columns:26px 64px 1fr 40px 76px}}.dim-radar[data-v-0fadb525]{width:100%}.radar-head[data-v-0fadb525]{margin-bottom:4px}.radar-title[data-v-0fadb525]{letter-spacing:1px;color:var(--ink-strong);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.radar-title[data-v-0fadb525]:before{content:"";background:var(--gold);border-radius:2px;width:8px;height:8px;transform:rotate(45deg);box-shadow:0 0 8px #f5b942b3}.radar-sub[data-v-0fadb525]{color:var(--ink-faint);margin:4px 0 0 16px;font-size:12px}.radar-chart[data-v-0fadb525]{width:100%}.radar-empty[data-v-0fadb525]{color:var(--ink-faint);justify-content:center;align-items:center;font-size:12px;display:flex}.filters[data-v-04f22458]{background:var(--panel);border:1px solid var(--line-soft);border-radius:12px;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding:14px;display:flex}.filter-search[data-v-04f22458]{flex:2 260px}.filter-select[data-v-04f22458]{flex:0 150px;width:auto}.filter-status[data-v-04f22458]{flex:0 200px;min-width:176px}.filter-select[data-v-04f22458]:disabled{opacity:.45;cursor:not-allowed}.strong[data-v-04f22458]{color:var(--ink-strong);font-weight:600}.status-tag[data-v-04f22458]{color:var(--ink-faint);background:#8a94a61a;border:1px solid #8a94a647;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.status-cancelled[data-v-04f22458]{color:#c98a8a;background:#c98a8a14;border-color:#c98a8a4d}.status-deleted[data-v-04f22458]{color:#b088c9;background:#b088c914;border-color:#b088c94d}.status-hidden[data-v-04f22458]{color:#d8a94e;background:#d8a94e14;border-color:#d8a94e52}.status-showing[data-v-04f22458]{color:var(--ok);background:#5eba820f;border-color:#5eba8242}.row-inactive td[data-v-04f22458]{color:var(--ink-faint)}.row-hidden td[data-v-04f22458]{opacity:.55}.row-hidden .status-tag[data-v-04f22458]{opacity:1}.col-check[data-v-04f22458]{text-align:center;width:34px;padding:4px 8px}.col-check input[data-v-04f22458]{cursor:pointer;width:13px;height:13px;accent-color:var(--gold);margin:0}.sel-tip[data-v-04f22458]{color:var(--gold);font-weight:600}.btn-sm[data-v-04f22458]{padding:5px 12px;font-size:12px}.btn-sm-danger[data-v-04f22458]{color:var(--danger);background:#dc787814;border-color:#dc787873}.btn-sm-danger[data-v-04f22458]:hover{border-color:var(--danger);background:#dc787829}.radar-cell[data-v-04f22458]{padding:4px 10px}.tbl[data-v-04f22458]{min-width:560px}.mini-radar[data-v-04f22458]{width:84px;height:64px}.comp-low[data-v-04f22458]{color:var(--danger);font-weight:600}.comp-ok[data-v-04f22458]{color:var(--ok)}.list-meta[data-v-04f22458]{color:var(--ink-faint);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;display:flex}.meta-num[data-v-04f22458]{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-weight:600}.meta-actions[data-v-04f22458]{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.ghost-check[data-v-04f22458]{color:var(--ink-faint);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12px;transition:color .15s;display:inline-flex}.ghost-check[data-v-04f22458]:hover{color:var(--ink-soft)}.ghost-check input[data-v-04f22458]{cursor:pointer;width:13px;height:13px;accent-color:var(--gold);margin:0}.page-head-actions[data-v-04f22458]{align-items:center;gap:10px;display:flex}.btn-link-danger[data-v-04f22458]{color:var(--danger);cursor:pointer;font-size:inherit;background:0 0;border:none;margin-left:10px}.btn-link-danger[data-v-04f22458]:hover{text-decoration:underline}.form-grid[data-v-04f22458]{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.form-row[data-v-04f22458]{flex-direction:column;gap:6px;display:flex}.form-label[data-v-04f22458]{color:var(--ink-soft);font-size:12px}.req[data-v-04f22458]{color:var(--danger)}.form-err[data-v-04f22458]{color:var(--danger);margin-top:10px;font-size:12px}.form-hint[data-v-04f22458]{color:var(--ink-faint);margin-top:10px;font-size:12px}.del-msg[data-v-04f22458]{color:var(--ink-strong);font-size:14px}.del-hint[data-v-04f22458]{color:var(--ink-faint);margin-top:10px;font-size:12px;line-height:1.7}.empty-hint[data-v-04f22458]{color:var(--ink-faint);margin-top:10px;font-size:12px;font-weight:400}@media (max-width:768px){.form-grid[data-v-04f22458]{grid-template-columns:1fr}.col-fullname[data-v-04f22458],.col-radar[data-v-04f22458],.radar-cell[data-v-04f22458]{display:none}.ghost-check[data-v-04f22458]{align-items:center;min-height:40px;display:inline-flex}}body.mobile .form-grid[data-v-04f22458]{grid-template-columns:1fr}body.mobile .col-fullname[data-v-04f22458],body.mobile .col-radar[data-v-04f22458],body.mobile .radar-cell[data-v-04f22458]{display:none}body.mobile .ghost-check[data-v-04f22458]{min-height:40px}.rk-mask[data-v-fb071522]{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0408108c;justify-content:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.rk-panel[data-v-fb071522]{background:linear-gradient(#131d32fa,#0d1424fa);border-left:1px solid #f5b94240;flex-direction:column;width:520px;max-width:100%;height:100%;animation:.32s cubic-bezier(.22,.8,.32,1) rk-slide-in-fb071522;display:flex;box-shadow:-24px 0 60px #0000008c,-2px 0 #f5b94214}@keyframes rk-slide-in-fb071522{0%{opacity:.4;transform:translate(64px)}to{opacity:1;transform:translate(0)}}.rk-fade-enter-active[data-v-fb071522],.rk-fade-leave-active[data-v-fb071522]{transition:opacity .22s}.rk-fade-enter-from[data-v-fb071522],.rk-fade-leave-to[data-v-fb071522]{opacity:0}.rk-head[data-v-fb071522]{border-bottom:1px solid var(--line);padding:18px 20px 12px;position:relative}.rk-head[data-v-fb071522]:before{content:"";background:linear-gradient(90deg,#f5b942,#f5b94226 60%,#0000);height:3px;position:absolute;top:0;left:0;right:0}.rk-head-top[data-v-fb071522]{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.rk-eyebrow[data-v-fb071522]{letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin-bottom:4px;font-size:11px;display:block}.rk-title[data-v-fb071522]{font-size:17px;font-family:var(--font-serif);letter-spacing:.5px;color:var(--ink-strong);margin:0;line-height:1.4}.rk-close[data-v-fb071522]{cursor:pointer;border:1px solid var(--line);width:30px;height:30px;color:var(--ink-soft);background:0 0;border-radius:8px;flex:none;font-size:18px;line-height:1;transition:all .15s}.rk-close[data-v-fb071522]:hover{color:var(--gold);background:#f5b94214;border-color:#f5b94280}.rk-head-meta[data-v-fb071522]{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.rk-chip[data-v-fb071522]{color:var(--ink-soft);border:1px solid var(--line);background:#94a3b80f;border-radius:999px;padding:3px 9px;font-size:12px}.rk-chip b[data-v-fb071522]{color:var(--ink-strong);font-variant-numeric:tabular-nums}.rk-chip-gold[data-v-fb071522]{color:var(--gold);background:#f5b94214;border-color:#f5b94266}.rk-note[data-v-fb071522]{color:var(--ink-faint);letter-spacing:.2px;margin:10px 0 0;font-size:11.5px}.rk-body[data-v-fb071522]{flex:1;padding:6px 12px 20px;overflow-y:auto}.rk-loading[data-v-fb071522]{text-align:center;color:var(--ink-faint);padding:48px 0;font-size:13px}.rk-table[data-v-fb071522]{border-collapse:collapse;width:100%;font-size:13px}.rk-table thead th[data-v-fb071522]{z-index:1;text-align:left;letter-spacing:1px;color:var(--ink-faint);border-bottom:1px solid var(--line-strong);background:#0d1424f7;padding:9px 8px;font-size:11.5px;position:-webkit-sticky;position:sticky;top:0}.rk-table tbody td[data-v-fb071522]{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:8px}.rk-row[data-v-fb071522]{transition:background .12s}.rk-row[data-v-fb071522]:hover{background:#94a3b80f}.c-rank[data-v-fb071522]{text-align:center;width:52px}.c-region[data-v-fb071522]{width:74px;color:var(--ink-soft);white-space:nowrap}.c-perf[data-v-fb071522]{color:#94a3b8;font-size:12.5px;line-height:1.45}.c-perf.perf-muted[data-v-fb071522]{color:var(--ink-faint);font-size:12px}.c-score[data-v-fb071522]{text-align:right;font-variant-numeric:tabular-nums;width:58px}.c-score b[data-v-fb071522]{color:var(--ink-strong);font-size:13.5px}.medal[data-v-fb071522]{font-variant-numeric:tabular-nums;min-width:26px;height:26px;color:var(--ink-soft);border:1px solid var(--line);background:#94a3b814;border-radius:8px;justify-content:center;align-items:center;padding:0 5px;font-size:12.5px;font-weight:700;display:inline-flex}.medal-gold[data-v-fb071522]{color:#3b2a06;background:linear-gradient(135deg,#ffe29a,#f5b942 55%,#d99a1f);border-color:#f5b942a6;box-shadow:0 0 12px #f5b94259}.medal-silver[data-v-fb071522]{color:#1c2430;background:linear-gradient(135deg,#f1f5f9,#cbd5e1 60%,#94a3b8);border-color:#cbd5e199}.medal-bronze[data-v-fb071522]{color:#2b1608;background:linear-gradient(135deg,#f0b98d,#d99058 60%,#b06a3b);border-color:#d9905899}.rk-inst[data-v-fb071522]{flex-direction:column;gap:1px;min-width:0;text-decoration:none;display:inline-flex}.rk-inst-name[data-v-fb071522]{color:var(--ink);font-size:13px;font-weight:600;line-height:1.3;transition:color .12s}.rk-inst:hover .rk-inst-name[data-v-fb071522]{color:var(--accent,#38bdf8)}.rk-inst-code[data-v-fb071522]{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:11px}.c-name[data-v-fb071522]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rk-current-tag[data-v-fb071522]{letter-spacing:1px;color:#3b2a06;background:linear-gradient(135deg,#ffe29a,#f5b942);border-radius:5px;flex:none;padding:3px 6px;font-size:10px;font-weight:700;line-height:1}.rk-row.rk-current[data-v-fb071522]{box-shadow:inset 3px 0 0 var(--gold);background:#f5b9421a}.rk-row.rk-current[data-v-fb071522]:hover{background:#f5b94224}.rk-row.rk-current .rk-inst-name[data-v-fb071522],.rk-row.rk-current .c-score b[data-v-fb071522]{color:var(--gold)}@media (max-width:768px){.rk-panel[data-v-fb071522]{border-left:none;width:100%}.rk-close[data-v-fb071522]{width:40px;height:40px;font-size:22px}.c-region[data-v-fb071522],.rk-table thead th.c-region[data-v-fb071522]{display:none}}body.mobile .rk-panel[data-v-fb071522]{border-left:none;width:100%}body.mobile .rk-close[data-v-fb071522]{width:40px;height:40px;font-size:22px}body.mobile .c-region[data-v-fb071522],body.mobile .rk-table thead th.c-region[data-v-fb071522]{display:none}.top-grid[data-v-24190b7a]{grid-template-columns:1fr 400px;align-items:stretch;gap:16px;margin-bottom:16px;display:grid}@media (max-width:1024px){.top-grid[data-v-24190b7a]{grid-template-columns:1fr}}.inst-head[data-v-24190b7a]{flex-direction:column;justify-content:space-between;gap:14px;padding:18px 20px 16px;display:flex}.inst-top[data-v-24190b7a]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.inst-name[data-v-24190b7a]{font-size:22px;font-family:var(--font-serif);letter-spacing:1px;color:var(--ink-strong);margin:0 0 4px}.inst-meta[data-v-24190b7a]{font-size:12.5px;line-height:1.7}.inst-meta .dot-sep[data-v-24190b7a]{color:var(--ink-faint);margin:0 6px}.inst-score[data-v-24190b7a]{text-align:right;min-width:150px}.total-num[data-v-24190b7a]{font-family:var(--font-serif);font-variant-numeric:tabular-nums;background:linear-gradient(135deg,#ffd98a,#f5b942 55%,#d99a1f);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:42px;font-weight:700;line-height:1.05}.total-row[data-v-24190b7a]{justify-content:flex-end;align-items:center;gap:8px;margin-top:6px;display:flex}.total-label[data-v-24190b7a]{color:var(--ink-soft);font-size:12px}.radar-card[data-v-24190b7a]{flex-direction:column;justify-content:center;display:flex}.dim-bars[data-v-24190b7a]{border-top:1px dashed var(--line-strong);flex-direction:column;gap:9px;padding-top:12px;display:flex}.dim-bars-title[data-v-24190b7a]{letter-spacing:2px;color:var(--ink-faint);align-items:center;gap:8px;margin-bottom:2px;font-size:12px;display:flex}.dim-bars-title[data-v-24190b7a]:after{content:"";background:var(--line-soft);flex:1;height:1px}.dim-bar-row[data-v-24190b7a]{grid-template-columns:minmax(88px,128px) 1fr 86px;align-items:center;gap:12px;display:grid}.dim-bar-name[data-v-24190b7a]{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.dim-bar-track[data-v-24190b7a]{background:#94a3b81f;border-radius:4px;height:7px;overflow:hidden}.dim-bar-fill[data-v-24190b7a]{background:linear-gradient(90deg,#0ea5e9,#38bdf8 55%,#f5b942);border-radius:4px;min-width:0;height:100%;transition:width .5s cubic-bezier(.22,.8,.32,1);box-shadow:0 0 8px #38bdf859}.dim-bar-val[data-v-24190b7a]{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12.5px}.dim-bar-val b[data-v-24190b7a]{color:var(--ink-strong);font-weight:700}.dim-bar-max[data-v-24190b7a]{color:var(--ink-faint)}.dim-card[data-v-24190b7a]{margin-bottom:16px;padding:16px 18px}.dim-head[data-v-24190b7a]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.dim-title[data-v-24190b7a]{letter-spacing:1px;color:var(--ink-strong);margin:0;padding-left:12px;font-size:16px;position:relative}.dim-title[data-v-24190b7a]:before{content:"";background:var(--gold);border-radius:2px;width:3px;position:absolute;top:4px;bottom:4px;left:0;box-shadow:0 0 8px #f5b94299}.dim-meta[data-v-24190b7a]{gap:8px;display:flex}.dim-meta b[data-v-24190b7a]{color:var(--gold);font-variant-numeric:tabular-nums}.ind-name[data-v-24190b7a]{color:var(--ink-strong);font-weight:600}.ind-rule[data-v-24190b7a]{color:var(--ink-faint);white-space:normal;max-width:560px;margin-top:2px;font-size:12px;line-height:1.5}.ind-name-link[data-v-24190b7a]{cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;margin-left:-6px;padding:2px 6px;transition:background .15s;display:inline-flex}.ind-name-link[data-v-24190b7a]:hover{background:#f5b94217}.ind-name-link:hover .ind-name[data-v-24190b7a]{color:var(--gold);text-underline-offset:3px;-webkit-text-decoration:underline #f5b9428c;text-decoration:underline #f5b9428c}.ind-name-link[data-v-24190b7a]:focus-visible{outline-offset:2px;outline:2px solid #f5b942b3}.rank-icon[data-v-24190b7a]{width:13px;height:13px;color:var(--gold);opacity:0;flex:none;transition:opacity .15s}.ind-name-link:hover .rank-icon[data-v-24190b7a]{opacity:.95}.rank-hint[data-v-24190b7a]{color:var(--ink-faint);letter-spacing:.3px;flex-wrap:wrap;gap:8px 20px;margin:0 2px 12px;font-size:12px;display:flex}.rank-hint-item[data-v-24190b7a]{align-items:center;gap:6px;display:inline-flex}.hint-dot[data-v-24190b7a]{border-radius:2px;flex:none;width:7px;height:7px}.hint-dot-gold[data-v-24190b7a]{background:var(--gold);box-shadow:0 0 6px #f5b9428c}.hint-dot-blue[data-v-24190b7a]{background:#38bdf8;box-shadow:0 0 6px #38bdf88c}.tbl th.perf-th[data-v-24190b7a]{text-align:left;min-width:168px}.tbl td.perf-cell[data-v-24190b7a]{text-align:left;white-space:normal;min-width:168px;max-width:250px;line-height:1.5}.perf[data-v-24190b7a]{color:#94a3b8;letter-spacing:.2px;font-size:13px}.perf .perf-num[data-v-24190b7a]{color:var(--ink-strong);font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:700}.perf.perf-neg[data-v-24190b7a],.perf.perf-neg .perf-num[data-v-24190b7a]{color:#f87171}.perf.perf-muted[data-v-24190b7a]{color:#64748b;font-size:12.5px}.score-cell[data-v-24190b7a]{cursor:pointer;font:inherit;color:inherit;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:flex-end;align-items:center;gap:6px;padding:3px 8px;font-size:14px;font-weight:700;transition:border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.score-cell .score-num[data-v-24190b7a]{color:var(--ink-strong)}.score-cell[data-v-24190b7a]:hover{background:#38bdf814;border-color:#38bdf873;box-shadow:0 0 10px #38bdf82e}.score-cell[data-v-24190b7a]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.score-cell.overridden[data-v-24190b7a]{background:#f5b94214;border-color:#f5b94266}.score-cell.overridden .score-num[data-v-24190b7a]{background:linear-gradient(135deg,#ffd98a,#f5b942 55%,#d99a1f);color:#0000;-webkit-background-clip:text;background-clip:text}.score-cell.overridden[data-v-24190b7a]:hover{border-color:#f5b942b3;box-shadow:0 0 12px #f5b94240}.manual-flag[data-v-24190b7a]{letter-spacing:.5px;color:var(--gold);background:#f5b9421f;border:1px solid #f5b94280;border-radius:5px;padding:2.5px 5px;font-size:10.5px;font-weight:600;line-height:1}@media (max-width:768px){.inst-top[data-v-24190b7a]{flex-direction:column}.inst-score[data-v-24190b7a]{text-align:left}.total-row[data-v-24190b7a]{justify-content:flex-start}.dim-bar-row[data-v-24190b7a]{grid-template-columns:minmax(80px,110px) 1fr 78px;gap:8px}}body.mobile .top-grid[data-v-24190b7a]{grid-template-columns:1fr}body.mobile .inst-top[data-v-24190b7a]{flex-direction:column}body.mobile .inst-score[data-v-24190b7a]{text-align:left}body.mobile .total-row[data-v-24190b7a]{justify-content:flex-start}body.mobile .dim-bar-row[data-v-24190b7a]{grid-template-columns:minmax(80px,110px) 1fr 78px;gap:8px}.schema-head[data-v-1e6c4e15]{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.schema-title[data-v-1e6c4e15]{letter-spacing:1px;padding-left:10px;font-size:14px;font-weight:700;position:relative}.schema-title[data-v-1e6c4e15]:before{content:"";background:var(--gold);border-radius:2px;width:3px;position:absolute;top:3px;bottom:3px;left:0}.p-field[data-v-1e6c4e15]{border:1px solid var(--line-soft);background:#090f1c73;border-radius:10px;padding:10px 12px}.p-field label[data-v-1e6c4e15]{align-items:center;gap:6px;display:flex}.p-key[data-v-1e6c4e15]{color:var(--ink-faint);background:#94a3b81f;border-radius:4px;padding:1px 6px;font-family:Consolas,monospace;font-size:11px}.req[data-v-1e6c4e15]{color:var(--danger);font-style:normal;font-weight:700}.unit-wrap[data-v-1e6c4e15]{position:relative}.unit-wrap .input[data-v-1e6c4e15]{padding-right:52px}.unit[data-v-1e6c4e15]{color:var(--ink-soft);pointer-events:none;font-size:12px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.mono-input[data-v-1e6c4e15]{font-variant-numeric:tabular-nums}.switch-row[data-v-1e6c4e15]{align-items:center;display:flex}.switch[data-v-1e6c4e15]{border:1px solid var(--line-strong);cursor:pointer;color:var(--ink-soft);background:#090f1c99;border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 5px;font-size:13px;transition:all .18s;display:inline-flex}.switch .knob[data-v-1e6c4e15]{background:var(--src-miss);border-radius:50%;width:16px;height:16px;transition:background .18s}.switch.on[data-v-1e6c4e15]{color:var(--ok);background:#34d3991a;border-color:#34d39980}.switch.on .knob[data-v-1e6c4e15]{background:var(--ok)}.advanced[data-v-1e6c4e15]{border:1px dashed var(--line-strong);border-radius:10px;margin:4px 0 2px;padding:8px 12px}.advanced summary[data-v-1e6c4e15]{cursor:pointer;color:var(--ink-soft);-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:13px;font-weight:600}.advanced textarea[data-v-1e6c4e15]{margin-top:10px}.status-switch[data-v-1e6c4e15]{border:1px solid var(--line-strong);border-radius:8px;display:inline-flex;overflow:hidden}.ss-opt[data-v-1e6c4e15]{cursor:pointer;color:var(--ink-soft);background:#090f1c99;border:none;padding:7px 16px;font-size:13px;transition:all .15s}.ss-opt+.ss-opt[data-v-1e6c4e15]{border-left:1px solid var(--line-strong)}.ss-opt.on-ok[data-v-1e6c4e15]{color:var(--ok);background:#34d3991f;font-weight:700}.ss-opt.on-warn[data-v-1e6c4e15]{color:var(--warn);background:#fbbf241f;font-weight:700}.preview[data-v-1e6c4e15]{border:1px solid var(--line-soft);background:linear-gradient(135deg,#f5b9420f,#38bdf80d);border-radius:10px;padding:12px 14px}.preview-head[data-v-1e6c4e15]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.rule-box[data-v-1e6c4e15]{border:1px solid var(--line-soft);color:var(--ink);white-space:pre-wrap;background:#090f1c8c;border-radius:8px;margin-bottom:6px;padding:8px 12px;font-size:13px;line-height:1.6}.sample-grid[data-v-1e6c4e15]{flex-wrap:wrap;gap:8px;display:flex}.sample-cell[data-v-1e6c4e15]{border:1px solid var(--line-soft);background:#090f1c8c;border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;display:inline-flex}.s-val[data-v-1e6c4e15]{color:var(--ink-soft);font-variant-numeric:tabular-nums}.s-arrow[data-v-1e6c4e15]{color:var(--gold)}.s-score[data-v-1e6c4e15]{color:var(--gold);font-variant-numeric:tabular-nums;font-weight:700}.drawer-mask[data-v-13635a17]{z-index:110;-webkit-backdrop-filter:blur(4px);background:#040812b3;animation:.15s fade-in;position:fixed;top:0;bottom:0;left:0;right:0}.drawer[data-v-13635a17]{background:linear-gradient(#151f34fa,#0d1526fa);border-left:1px solid #f5b94273;flex-direction:column;width:min(460px,96vw);animation:.22s slide-in-13635a17;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-18px 0 60px #02061099}@keyframes slide-in-13635a17{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}.drawer-head[data-v-13635a17]{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;padding:18px 20px;display:flex}.drawer-title[data-v-13635a17]{font-family:var(--font-serif);letter-spacing:2px;color:var(--ink-strong);margin:0;padding-left:12px;font-size:18px;position:relative}.drawer-title[data-v-13635a17]:before{content:"";background:var(--gold);border-radius:2px;width:3px;position:absolute;top:4px;bottom:4px;left:0}.drawer-sub[data-v-13635a17]{color:var(--ink-soft);margin:4px 0 0 12px;font-size:12.5px}.drawer-body[data-v-13635a17]{flex:1;padding:16px 20px 28px;overflow-y:auto}.v-list[data-v-13635a17]{margin:0;padding:0;list-style:none}.v-item[data-v-13635a17]{gap:12px;display:flex}.v-rail[data-v-13635a17]{flex-direction:column;align-items:center;width:14px;padding-top:14px;display:flex}.v-dot[data-v-13635a17]{background:var(--gold);border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 3px #f5b9422e,0 0 10px #f5b94299}.v-item:not(:last-child) .v-rail[data-v-13635a17]:after{content:"";background:var(--line-strong);flex:1;width:1px;margin:4px 0}.v-card[data-v-13635a17]{border:1px solid var(--line-soft);background:#090f1c80;border-radius:12px;flex:1;margin-bottom:14px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.v-card[data-v-13635a17]:hover{border-color:#f5b94266;box-shadow:0 0 14px #f5b94214}.v-top[data-v-13635a17]{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.v-no[data-v-13635a17]{color:var(--gold);font-variant-numeric:tabular-nums;font-weight:700}.v-time[data-v-13635a17]{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:12px}.v-note[data-v-13635a17]{margin-bottom:6px;font-size:13px}.v-meta[data-v-13635a17]{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.v-meta .chip[data-v-13635a17]{padding:2px 9px;font-size:12px}.v-params[data-v-13635a17]{color:var(--ink-soft);word-break:break-all;margin-bottom:8px;font-size:12px}.v-rollback[data-v-13635a17]{float:right}.sum-chip[data-v-0496aa46]{font-variant-numeric:tabular-nums;border:1px solid;border-radius:999px;padding:6px 14px;font-size:13.5px;font-weight:700}.sum-chip.ok[data-v-0496aa46]{color:var(--ok);background:#1e8e5a14;border-color:#1e8e5a66}.sum-chip.bad[data-v-0496aa46]{color:var(--danger);background:#c2402f14;border-color:#c2402f73;animation:1.6s infinite pulse-0496aa46}@keyframes pulse-0496aa46{50%{opacity:.7}}.dim-card[data-v-0496aa46]{margin-bottom:16px;padding:16px 18px}.structure-card[data-v-0496aa46]{margin-bottom:16px}.structure-grid[data-v-0496aa46]{grid-template-columns:320px 1fr;align-items:center;gap:20px;display:grid}.structure-radar[data-v-0496aa46]{width:100%;min-width:0}.structure-list[data-v-0496aa46]{flex-direction:column;gap:9px;display:flex}.structure-row[data-v-0496aa46]{grid-template-columns:150px 1fr 64px;align-items:center;gap:10px;display:grid}.structure-name[data-v-0496aa46]{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.structure-bar[data-v-0496aa46]{height:7px}.structure-max[data-v-0496aa46]{text-align:right;color:var(--ink-strong);font-variant-numeric:tabular-nums;font-size:12.5px}.structure-total[data-v-0496aa46]{color:var(--gold);font-variant-numeric:tabular-nums;margin-top:2px;font-size:12px}@media (max-width:1024px){.structure-grid[data-v-0496aa46]{grid-template-columns:1fr}}@media (max-width:768px){.structure-grid[data-v-0496aa46]{gap:14px}.structure-radar[data-v-0496aa46]{max-width:440px;margin:0 auto}.structure-row[data-v-0496aa46]{grid-template-columns:minmax(112px,max-content) 1fr 56px}.status-toggle[data-v-0496aa46]{min-height:40px}}body.mobile .structure-grid[data-v-0496aa46]{grid-template-columns:1fr;gap:14px}body.mobile .structure-radar[data-v-0496aa46]{max-width:440px;margin:0 auto}body.mobile .structure-row[data-v-0496aa46]{grid-template-columns:minmax(112px,max-content) 1fr 56px}body.mobile .status-toggle[data-v-0496aa46]{min-height:40px}.dim-head[data-v-0496aa46]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.dim-title-wrap[data-v-0496aa46]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dim-title[data-v-0496aa46]{letter-spacing:1px;color:var(--ink-strong);margin:0;padding-left:12px;font-size:16px;position:relative}.dim-title[data-v-0496aa46]:before{content:"";background:var(--gold);border-radius:2px;width:3px;position:absolute;top:4px;bottom:4px;left:0;box-shadow:0 0 8px #f5b94299}.strong[data-v-0496aa46]{color:var(--ink-strong);font-weight:600}.rule-cell[data-v-0496aa46]{max-width:420px;color:var(--ink-soft);font-size:12.5px;line-height:1.5}.notice-info[data-v-0496aa46]{color:var(--accent);background:#38bdf814;border:1px solid #38bdf852;border-radius:10px;padding:10px 14px;font-size:13px}.status-toggle[data-v-0496aa46]{line-height:1}.status-toggle[data-v-0496aa46]:disabled{opacity:.6;cursor:not-allowed}.manual-desc[data-v-ec6393db]{color:var(--ink-faint);margin:0 0 14px;font-size:12.5px}.check-line[data-v-ec6393db]{color:var(--ink-soft);cursor:pointer;align-items:flex-start;gap:8px;margin-top:12px;font-size:12.5px;line-height:1.5;display:flex}.check-line input[type=checkbox][data-v-ec6393db]{accent-color:var(--accent,#38bdf8);margin-top:2px}.check-line .muted[data-v-ec6393db]{font-size:12px}.roster-warn[data-v-ec6393db]{margin-bottom:12px;font-weight:600}.manual-actions[data-v-ec6393db]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.manual-filename[data-v-ec6393db]{text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-size:12.5px;overflow:hidden}.chip[data-v-ec6393db]{color:var(--danger);background:#f871711a;border:1px solid #f8717152;border-radius:999px;margin:2px 4px 0 0;padding:0 8px;font-family:Consolas,Courier New,monospace;font-size:12px;display:inline-block}.notice-warn[data-v-ec6393db]{color:var(--warn);background:#fbbf2414;border:1px solid #fbbf2452;border-radius:10px;padding:8px 12px;font-size:12.5px}.err-list[data-v-ec6393db]{color:var(--danger);max-height:160px;margin:6px 0 0;padding-left:18px;font-size:12.5px;overflow-y:auto}.kind-tag[data-v-ec6393db]{vertical-align:1px;border-radius:999px;margin-right:6px;padding:0 7px;font-size:11px;font-weight:600;display:inline-block}.kind-manual[data-v-ec6393db]{color:var(--src-manual);background:#34d3991a;border:1px solid #34d39959}.kind-roster[data-v-ec6393db]{color:var(--src-override);background:#a78bfa1a;border:1px solid #a78bfa59}.kind-auto[data-v-ec6393db]{color:var(--src-auto);background:#38bdf81a;border:1px solid #38bdf859}.result-item[data-v-ec6393db]{border:1px solid var(--line-soft);background:var(--panel);border-radius:12px;padding:10px 14px;transition:border-color .18s,box-shadow .18s}.result-item[data-v-ec6393db]:hover{border-color:var(--line-strong);box-shadow:0 0 14px #38bdf812}.result-label[data-v-ec6393db]{color:var(--ink-soft);font-size:12px}.result-value[data-v-ec6393db]{font-family:var(--font-serif);font-variant-numeric:tabular-nums;color:var(--ink-strong);font-size:26px;font-weight:700}.result-value span[data-v-ec6393db]{color:var(--ink-soft);font-size:13px;font-family:var(--font-sans);margin-left:4px;font-weight:400}.run-list[data-v-ec6393db]{flex-direction:column;gap:10px;max-height:480px;display:flex;overflow-y:auto}.run-item[data-v-ec6393db]{border:1px solid var(--line-soft);background:var(--panel);border-radius:12px;padding:10px 14px;transition:border-color .15s}.run-item[data-v-ec6393db]:hover{border-color:var(--line-strong)}.run-top[data-v-ec6393db]{justify-content:space-between;gap:10px;font-size:12.5px;display:flex}.run-period[data-v-ec6393db]{color:var(--ink-strong);font-weight:700}.run-path[data-v-ec6393db]{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;margin:4px 0;font-family:Consolas,Courier New,monospace;font-size:12px;overflow:hidden}.run-stats[data-v-ec6393db]{color:var(--ink-soft);gap:14px;font-size:12.5px;display:flex}.run-stats b[data-v-ec6393db]{color:var(--gold);font-variant-numeric:tabular-nums}.run-msg[data-v-ec6393db]{color:var(--ok);margin-top:4px;font-size:12.5px}.result-item[data-v-c72638a7]{border:1px solid var(--line-soft);background:var(--panel);border-radius:12px;padding:10px 14px;transition:border-color .18s,box-shadow .18s}.result-item[data-v-c72638a7]:hover{border-color:var(--line-strong);box-shadow:0 0 14px #38bdf812}.result-label[data-v-c72638a7]{color:var(--ink-soft);font-size:12px}.result-label em.src[data-v-c72638a7]{color:var(--gold);opacity:.85;margin-left:6px;font-size:11px;font-style:normal}.token-head[data-v-c72638a7]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.result-value[data-v-c72638a7]{font-family:var(--font-serif);font-variant-numeric:tabular-nums;color:var(--ink-strong);font-size:26px;font-weight:700}.result-value span[data-v-c72638a7]{color:var(--ink-soft);font-size:13px;font-family:var(--font-sans);margin-left:4px;font-weight:400}.result-value.small[data-v-c72638a7]{font-size:14px;font-family:var(--font-sans);word-break:break-all;font-weight:600}.mono[data-v-c72638a7]{font-family:Consolas,Courier New,monospace}.ping-row[data-v-c72638a7]{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.ping-field[data-v-c72638a7]{flex-direction:column;gap:6px;min-width:190px;display:flex}.ping-field>span[data-v-c72638a7]{color:var(--ink-soft);font-size:12.5px}.plan-list[data-v-c72638a7]{flex-direction:column;gap:10px;display:flex}.plan-item[data-v-c72638a7]{border:1px solid var(--line-soft);background:var(--panel);border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;padding:10px 14px;display:flex}.plan-check[data-v-c72638a7]{cursor:pointer;align-items:center;gap:9px;min-width:230px;display:flex}.plan-check input[type=checkbox][data-v-c72638a7]{accent-color:#f5b942;width:16px;height:16px}.plan-name[data-v-c72638a7]{color:var(--ink-strong);font-size:13.5px;font-weight:600}.plan-name em[data-v-c72638a7]{color:var(--ink-faint);margin-left:8px;font-family:Consolas,Courier New,monospace;font-size:11.5px;font-style:normal}.plan-sites[data-v-c72638a7]{flex:1;align-items:center;gap:8px;min-width:240px;display:flex}.plan-sites>span[data-v-c72638a7]{color:var(--ink-soft);white-space:nowrap;font-size:12.5px}.plan-sites .input[data-v-c72638a7]{flex:1}.start-row[data-v-c72638a7]{flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px;display:flex}.start-row .hint[data-v-c72638a7]{flex:1;min-width:240px}.bar[data-v-c72638a7]{border:1px solid var(--line-soft);background:#94a3b824;border-radius:999px;height:10px;overflow:hidden}.bar-fill[data-v-c72638a7]{background:linear-gradient(90deg,#f5b942,#ffd98a);border-radius:999px;height:100%;transition:width .4s;box-shadow:0 0 12px #f5b94280}.bar-fail[data-v-c72638a7]{background:linear-gradient(90deg,#f87171,#fca5a5);box-shadow:0 0 12px #f8717180}.prog-meta[data-v-c72638a7]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;font-size:12.5px;display:flex}.prog-meta .current[data-v-c72638a7]{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.status-tag[data-v-c72638a7]{border:1px solid;border-radius:999px;padding:1px 9px;font-size:11.5px;font-weight:600;display:inline-block}.status-running[data-v-c72638a7]{color:#7dd3fc;background:#38bdf81f;border-color:#38bdf866}.status-done[data-v-c72638a7]{color:var(--ok);background:#34d3991f;border-color:#34d39966}.status-failed[data-v-c72638a7]{color:var(--danger);background:#f871711f;border-color:#f8717166}.btn-gold[data-v-c72638a7]{color:#1a1206;background:linear-gradient(135deg,#f5b942,#e8963a);border:none;font-weight:700}.btn-gold[data-v-c72638a7]:disabled{opacity:.6;cursor:not-allowed}.cols[data-v-c72638a7]{margin-top:6px;font-size:12px;line-height:1.9}.chip-plain[data-v-c72638a7]{border:1px solid var(--line-soft);color:var(--ink-soft);background:#94a3b81f;border-radius:6px;margin:0 4px 0 0;padding:0 7px;font-family:Consolas,Courier New,monospace;font-size:11.5px;display:inline-block}.notice-warn[data-v-c72638a7]{color:var(--warn);background:#fbbf2414;border:1px solid #fbbf2452;border-radius:10px;padding:8px 12px;font-size:12.5px}.notice-danger[data-v-c72638a7]{color:var(--danger);word-break:break-all;background:#f8717114;border:1px solid #f8717152;border-radius:10px;padding:8px 12px;font-size:12.5px}.steps-head[data-v-c72638a7]{align-items:baseline;gap:12px;display:flex}.sub-title[data-v-c72638a7]{color:var(--ink-strong);margin:0;font-size:13.5px;font-weight:700}.tbl td.wrap[data-v-c72638a7]{text-overflow:ellipsis;max-width:320px;overflow:hidden}.tree[data-v-c72638a7]{border:1px solid var(--line-soft);color:var(--ink-soft);white-space:pre;background:#090f1c8c;border-radius:12px;margin:0;padding:14px 16px;font-family:Consolas,Courier New,monospace;font-size:12.5px;line-height:1.85;overflow-x:auto}.md-text[data-v-50d94bb2]{white-space:normal;word-break:break-word}.md-text[data-v-50d94bb2] p{margin:0 0 6px}.md-text[data-v-50d94bb2] p:last-child{margin-bottom:0}.md-text[data-v-50d94bb2] b{color:var(--gold);font-weight:600}.md-text[data-v-50d94bb2] h4,.md-text[data-v-50d94bb2] h5,.md-text[data-v-50d94bb2] h6{color:var(--ink-strong);margin:4px 0 6px;font-size:14px;font-weight:700}.md-text[data-v-50d94bb2] ul,.md-text[data-v-50d94bb2] ol{margin:0 0 6px;padding-left:20px}.md-text[data-v-50d94bb2] ul:last-child,.md-text[data-v-50d94bb2] ol:last-child{margin-bottom:0}.md-text[data-v-50d94bb2] li{margin:2px 0}.md-text[data-v-50d94bb2] table{border-collapse:collapse;width:100%;margin:0 0 8px;font-size:13px;line-height:1.5}.md-text[data-v-50d94bb2] table:last-child{margin-bottom:0}.md-text[data-v-50d94bb2] th,.md-text[data-v-50d94bb2] td{border:1px solid var(--line);text-align:left;vertical-align:top;word-break:break-word;padding:4px 8px}.md-text[data-v-50d94bb2] thead th{background:#151f3414;font-weight:700}.md-text[data-v-50d94bb2] tbody tr:nth-child(2n){background:#151f340a}.head-actions[data-v-37e8b3b5]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.session-chip[data-v-37e8b3b5]{color:var(--ink-soft)}.inst-chip[data-v-37e8b3b5]{color:var(--gold);border-color:#f5b94273;align-items:center;gap:6px;display:inline-flex}.chip-x[data-v-37e8b3b5]{cursor:pointer;color:var(--ink-faint);font-size:14px;font-style:normal;line-height:1}.chip-x[data-v-37e8b3b5]:hover{color:var(--danger)}.disclaimer[data-v-37e8b3b5]{color:var(--ink-faint);opacity:.8;padding-left:4px;font-size:11px}.thinking-wrap[data-v-37e8b3b5]{margin-bottom:6px;padding-left:2px}.thinking-toggle[data-v-37e8b3b5]{color:var(--ink-faint);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.85;padding:2px 0;font-size:12px;display:inline-block}.thinking-toggle[data-v-37e8b3b5]:hover{color:var(--gold)}.thinking-box[data-v-37e8b3b5]{border:1px solid var(--line);max-height:220px;color:var(--ink-faint);white-space:pre-wrap;word-break:break-word;background:#151f348c;border-radius:8px;margin-top:4px;padding:8px 10px;font-size:12px;line-height:1.6;overflow:auto}.chat-card[data-v-37e8b3b5]{flex-direction:column;padding:0;display:flex;overflow:hidden}.chat-list[data-v-37e8b3b5]{background:radial-gradient(700px 220px at 90% -80px,#f5b94212,#0000 60%),radial-gradient(600px 240px at -8% -60px,#38bdf812,#0000 55%),#090f1c66;flex-direction:column;gap:16px;min-height:420px;max-height:56vh;padding:22px 22px 10px;display:flex;overflow-y:auto}.chat-empty[data-v-37e8b3b5]{text-align:center;margin:auto;padding:28px 12px}.empty-mark[data-v-37e8b3b5]{width:52px;height:52px;font-family:var(--font-serif);color:#221703;background:linear-gradient(135deg,#ffd98a,#f5b942 55%,#e3a52e);border-radius:14px;justify-content:center;align-items:center;margin:0 auto 12px;font-size:26px;font-weight:700;display:flex;box-shadow:0 6px 22px #f5b94259}.empty-title[data-v-37e8b3b5]{font-family:var(--font-serif);letter-spacing:1px;color:var(--ink-strong);margin:0 0 4px;font-size:18px;font-weight:700}.empty-sub[data-v-37e8b3b5]{color:var(--ink-soft);margin:0 0 16px;font-size:13px}.sug-grid[data-v-37e8b3b5]{flex-wrap:wrap;justify-content:center;gap:8px;max-width:560px;margin:0 auto;display:flex}.sug-chip[data-v-37e8b3b5]{border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;background:#94a3b814;border-radius:999px;padding:7px 14px;font-size:13px;transition:all .18s}.sug-chip[data-v-37e8b3b5]:hover{color:var(--gold);background:var(--gold-soft);box-shadow:var(--glow-gold);border-color:#f5b94299}.msg[data-v-37e8b3b5]{gap:10px;animation:.22s msg-in-37e8b3b5;display:flex}@keyframes msg-in-37e8b3b5{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.msg-user[data-v-37e8b3b5]{justify-content:flex-end}.bubble[data-v-37e8b3b5]{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:76%;padding:10px 14px;font-size:14px;line-height:1.7}.bubble-user[data-v-37e8b3b5]{color:#221703;background:linear-gradient(120deg,#ffd98a,#f5b942);border-bottom-right-radius:4px;box-shadow:0 4px 14px #f5b9424d}.msg-ai[data-v-37e8b3b5]{align-items:flex-start}.ai-avatar[data-v-37e8b3b5]{width:32px;height:32px;font-family:var(--font-serif);color:#221703;background:linear-gradient(135deg,#ffd98a,#f5b942 60%,#e3a52e);border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;box-shadow:0 0 12px #f5b9424d}.ai-body[data-v-37e8b3b5]{flex-direction:column;gap:6px;max-width:76%;display:flex}.bubble-ai[data-v-37e8b3b5]{border:1px solid var(--line);border-left:3px solid var(--gold);color:var(--ink);box-shadow:var(--shadow);background:#151f34d9;border-radius:4px 12px 12px}.bubble-err[data-v-37e8b3b5]{border-left-color:var(--danger);color:var(--danger)}.trunc-mark[data-v-37e8b3b5]{color:var(--ink-faint);font-size:12px}.source-row[data-v-37e8b3b5]{flex-wrap:wrap;align-items:center;gap:6px;padding-left:2px;display:flex}.src-label[data-v-37e8b3b5]{color:var(--ink-faint);letter-spacing:1px;font-size:11.5px}.tag-source[data-v-37e8b3b5]{color:var(--src-auto);background:#38bdf81a;border-color:#38bdf859}.thinking[data-v-37e8b3b5]{color:var(--ink-soft);align-items:center;gap:2px;display:inline-flex}.dots[data-v-37e8b3b5]{gap:3px;margin-left:4px;display:inline-flex}.dots i[data-v-37e8b3b5]{background:var(--gold);border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite dot-blink-37e8b3b5}.dots i[data-v-37e8b3b5]:nth-child(2){animation-delay:.18s}.dots i[data-v-37e8b3b5]:nth-child(3){animation-delay:.36s}@keyframes dot-blink-37e8b3b5{0%,70%,to{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.chat-input[data-v-37e8b3b5]{border-top:1px solid var(--line-soft);background:#090f1c8c;padding:12px 16px 14px}.chat-textarea[data-v-37e8b3b5]{resize:none}.input-foot[data-v-37e8b3b5]{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.hint-over[data-v-37e8b3b5]{color:var(--danger);font-weight:600}@media (max-width:768px){.bubble[data-v-37e8b3b5],.ai-body[data-v-37e8b3b5]{max-width:88%}.chat-list[data-v-37e8b3b5]{min-height:320px;max-height:52vh;padding:16px 12px 8px}.sug-chip[data-v-37e8b3b5]{min-height:40px}.chip-x[data-v-37e8b3b5]{justify-content:center;align-items:center;min-width:40px;min-height:40px;margin:-10px -8px -10px 0;display:inline-flex}}body.mobile .bubble[data-v-37e8b3b5],body.mobile .ai-body[data-v-37e8b3b5]{max-width:88%}body.mobile .chat-list[data-v-37e8b3b5]{min-height:320px;max-height:52vh;padding:16px 12px 8px}body.mobile .sug-chip[data-v-37e8b3b5]{min-height:40px}body.mobile .chip-x[data-v-37e8b3b5]{justify-content:center;align-items:center;min-width:40px;min-height:40px;display:inline-flex}.login-page[data-v-88cebe60]{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card[data-v-88cebe60]{background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:18px;width:100%;max-width:420px;padding:40px 36px 28px;box-shadow:0 24px 60px #00000073}.login-brand[data-v-88cebe60]{flex-direction:column;gap:4px;margin-bottom:26px;display:flex}.brand-mark[data-v-88cebe60]{color:var(--ink-strong);letter-spacing:1px;font-size:22px;font-weight:800}.brand-mark em[data-v-88cebe60]{color:var(--gold,#f5b942);font-style:normal}.brand-sub[data-v-88cebe60]{letter-spacing:3px;color:var(--ink-faint);font-size:11px}.login-title[data-v-88cebe60]{color:var(--ink-strong);margin:0 0 6px;font-size:20px;font-weight:700}.login-hint[data-v-88cebe60]{color:var(--ink-soft);margin:0 0 22px;font-size:12.5px;line-height:1.6}.login-form[data-v-88cebe60]{flex-direction:column;gap:14px;display:flex}.field[data-v-88cebe60]{flex-direction:column;gap:6px;display:flex}.field-label[data-v-88cebe60]{color:var(--ink-soft);font-size:12.5px}.field input[data-v-88cebe60]{background:var(--panel);border:1px solid var(--line);height:42px;color:var(--ink);border-radius:10px;outline:none;padding:0 14px;font-size:14px;transition:border-color .15s}.field input[data-v-88cebe60]:focus{border-color:var(--line-strong)}.field input[data-v-88cebe60]:disabled{opacity:.6}.login-error[data-v-88cebe60]{color:#fca5a5;background:#f871711a;border:1px solid #f8717159;border-radius:8px;margin:0;padding:8px 12px;font-size:12.5px}.login-btn[data-v-88cebe60]{color:#1a1206;letter-spacing:4px;cursor:pointer;background:linear-gradient(135deg,#f5b942,#e8963a);border:none;border-radius:10px;height:44px;margin-top:4px;font-size:15px;font-weight:700;transition:filter .15s}.login-btn[data-v-88cebe60]:hover:not(:disabled){filter:brightness(1.08)}.login-btn[data-v-88cebe60]:disabled{opacity:.6;cursor:not-allowed}.login-footer[data-v-88cebe60]{text-align:center;color:var(--ink-faint);margin:26px 0 0;font-size:11.5px}:root{--bg:#0b1220;--bg-deep:#070d18;--bg-grad:radial-gradient(1200px 600px at 80% -10%, #38bdf814, transparent 55%), radial-gradient(900px 500px at 0% -10%, #f5b94212, transparent 55%), linear-gradient(180deg, #0b1220 0%, #0f172a 100%);--card:#111a2cc7;--card-solid:#111a2c;--card-hover:#172238eb;--panel:#090f1c8c;--line:#94a3b824;--line-strong:#94a3b84d;--line-soft:#94a3b817;--ink:#e2e8f0;--ink-strong:#f8fafc;--ink-soft:#94a3b8;--ink-faint:#64748b;--gold:#f5b942;--gold-deep:#d99a1f;--gold-soft:#f5b94224;--accent:#38bdf8;--accent-soft:#38bdf824;--grade-a:#f5b942;--grade-b:#38bdf8;--grade-c:#fb923c;--grade-d:#f87171;--src-auto:#38bdf8;--src-manual:#34d399;--src-sim:#fbbf24;--src-miss:#8a94a6;--src-override:#a78bfa;--danger:#f87171;--ok:#34d399;--warn:#fbbf24;--radius:14px;--radius-lg:18px;--shadow:0 1px 2px #02061066, 0 8px 24px #02061059;--glow-gold:0 0 22px #f5b94229;--font-serif:"Noto Serif SC", "Source Han Serif SC", "STZhongsong", "SimSun", serif;--font-sans:"PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Helvetica Neue", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scrollbar-color:#94a3b847 transparent}body{font-family:var(--font-sans);background:var(--bg-grad);background-color:var(--bg);color:var(--ink);background-attachment:fixed;min-height:100vh;font-size:14px;line-height:1.6}#app{flex-direction:column;min-height:100vh;display:flex}a{color:inherit;text-decoration:none}button{font-family:inherit}::-moz-selection{color:var(--ink-strong);background:#f5b94247}::selection{color:var(--ink-strong);background:#f5b94247}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#94a3b838 padding-box content-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#94a3b861 padding-box content-box}::-webkit-scrollbar-track{background:0 0}.page-enter-active{animation:.32s both page-in}.page-leave-active{animation:.15s both page-out}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes page-out{0%{opacity:1}to{opacity:0}}.rise{animation:.42s cubic-bezier(.22,.8,.32,1) both page-in}.topbar{z-index:50;-webkit-backdrop-filter:blur(14px);color:#fff;border-bottom:1px solid var(--line);background:linear-gradient(#070d18eb,#0b1220c7);position:-webkit-sticky;position:sticky;top:0;box-shadow:0 1px #f5b94259,0 8px 24px #02061059}.topbar-inner{align-items:center;gap:28px;max-width:1280px;min-height:62px;margin:0 auto;padding:0 24px;display:flex}.brand{white-space:nowrap;align-items:baseline;gap:10px;display:flex}.brand-mark{font-family:var(--font-serif);letter-spacing:2px;color:var(--ink-strong);font-size:20px;font-weight:700}.brand-mark em{background:linear-gradient(100deg,#f5b942,#ffd98a);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.brand-sub{color:#e2e8f073;letter-spacing:4px;font-size:11px}.nav{gap:4px;margin-left:auto;display:flex}.nav a{color:#e2e8f0ad;border:1px solid #0000;border-radius:8px;padding:8px 16px;font-size:14px;transition:background .15s,color .15s,box-shadow .15s}.nav a:hover{color:var(--ink-strong);background:#94a3b81a}.nav a.router-link-active{color:var(--gold);background:var(--gold-soft);box-shadow:var(--glow-gold);border-color:#f5b94259}.page{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:26px 24px 64px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-title{font-family:var(--font-serif);letter-spacing:1px;color:var(--ink-strong);margin:0;padding-left:14px;font-size:24px;font-weight:700;position:relative}.page-title:before{content:"";background:linear-gradient(var(--gold), #f5b9421a);border-radius:2px;width:4px;position:absolute;top:6px;bottom:6px;left:0;box-shadow:0 0 10px #f5b94280}.page-desc{color:var(--ink-soft);margin:4px 0 0 14px;font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);padding:18px 20px;transition:border-color .2s,box-shadow .2s,transform .2s,background .2s}.card:hover{box-shadow:var(--shadow), 0 0 26px #38bdf80d;border-color:#94a3b83d}.card-title{letter-spacing:1px;color:var(--ink-strong);align-items:center;gap:8px;margin:0 0 14px;font-size:15px;font-weight:700;display:flex}.card-title:before{content:"";background:var(--gold);border-radius:2px;width:8px;height:8px;transform:rotate(45deg);box-shadow:0 0 8px #f5b942b3}.grid{gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.kpi{position:relative;overflow:hidden}.kpi:before{content:"";opacity:.8;background:linear-gradient(90deg,#0000,#f5b9428c,#0000);height:2px;position:absolute;top:0;left:0;right:0}.kpi:after{content:"";pointer-events:none;border:10px solid #f5b94214;border-radius:50%;width:92px;height:92px;position:absolute;top:-26px;right:-26px}.kpi:hover{box-shadow:var(--shadow), var(--glow-gold);transform:translateY(-2px)}.kpi-label{color:var(--ink-soft);letter-spacing:1px;font-size:13px}.kpi-value{font-family:var(--font-serif);font-variant-numeric:tabular-nums;color:var(--ink-strong);margin-top:2px;font-size:34px;font-weight:700;line-height:1.25}.kpi-value.gold-num{background:linear-gradient(135deg,#ffd98a,#f5b942 55%,#d99a1f);color:#0000;-webkit-background-clip:text;background-clip:text}.kpi-unit{color:var(--ink-soft);font-size:14px;font-family:var(--font-sans);margin-left:4px;font-weight:400}.kpi-foot{color:var(--ink-faint);margin-top:2px;font-size:12px}.grade-badge{letter-spacing:1px;background:0 0;border:1px solid;border-radius:6px;justify-content:center;align-items:center;min-width:30px;height:24px;padding:0 8px;font-size:13px;font-weight:700;display:inline-flex}.grade-A{color:#1b1405;background:linear-gradient(135deg,#ffd98a,#f5b942);border-color:#ffd98ae6;box-shadow:0 0 12px #f5b94273}.grade-B{color:#06263a;background:linear-gradient(135deg,#7dd3fc,#38bdf8);border-color:#7dd3fce6;box-shadow:0 0 10px #38bdf866}.grade-C{color:#331502;background:linear-gradient(135deg,#fdba74,#fb923c);border-color:#fdba74e6}.grade-D{color:#e2e8f0;background:#f8717129;border-color:#f8717180}.grade-none{color:var(--ink-faint);background:#8a94a61f;border-color:#8a94a659}.tag{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:4px;padding:1px 9px;font-size:12px;line-height:20px;display:inline-flex}.tag:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px}.tag-auto{color:var(--src-auto);background:#38bdf81a;border-color:#38bdf859}.tag-manual{color:var(--src-manual);background:#34d3991a;border-color:#34d39959}.tag-sim{color:var(--src-sim);background:#fbbf241a;border-color:#fbbf2459}.tag-miss{color:var(--src-miss);background:#8a94a61f;border-color:#8a94a666}.tag-override{color:var(--src-override);background:#a78bfa1a;border-color:#a78bfa59}.tag-confirmed{color:var(--ok);background:#34d3991a;border-color:#34d39959}.tag-pending{color:var(--warn);background:#fbbf241a;border-color:#fbbf2466}.table-wrap{border:1px solid var(--line-soft);background:#090f1c59;border-radius:12px;max-height:70vh;overflow:auto}table.tbl{border-collapse:separate;border-spacing:0;width:100%;min-width:640px}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--line-soft);white-space:nowrap;padding:11px 14px}.tbl th{z-index:2;color:var(--ink-soft);letter-spacing:1px;border-bottom:1px solid var(--line-strong);-webkit-backdrop-filter:blur(6px);background:#0d1526fa;font-size:12px;font-weight:600;position:-webkit-sticky;position:sticky;top:0}.tbl tbody tr:nth-child(2n){background:#94a3b80b}.tbl tbody tr{transition:background .15s}.tbl tbody tr:hover{background:#38bdf812}.tbl tbody tr:last-child td{border-bottom:none}.tbl td.num{font-variant-numeric:tabular-nums;text-align:right}.tbl th.num{text-align:right}.tbl td.wrap{white-space:normal;min-width:220px}.score-strong{font-variant-numeric:tabular-nums;color:var(--ink-strong);font-weight:700}.score-muted{color:var(--ink-faint);font-variant-numeric:tabular-nums}.btn{border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;white-space:nowrap;background:#94a3b814;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:7px 16px;font-size:13px;line-height:1.4;transition:all .18s;display:inline-flex}.btn:hover:not(:disabled){color:var(--ink-strong);background:#94a3b829;border-color:#e2e8f073}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{color:#bae6fd;background:linear-gradient(135deg,#38bdf833,#38bdf814);border-color:#38bdf880}.btn-primary:hover:not(:disabled){color:#e0f2fe;background:linear-gradient(135deg,#38bdf84d,#38bdf824);box-shadow:0 0 16px #38bdf840}.btn-gold{color:#221703;background:linear-gradient(135deg,#ffd98a,#f5b942 55%,#e3a52e);border-color:#ffd98ad9;font-weight:700}.btn-gold:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 0 18px #f5b94273}.btn-danger{color:var(--danger);background:0 0;border-color:#f8717166}.btn-danger:hover:not(:disabled){border-color:var(--danger);background:#f871711a}.btn-sm{border-radius:7px;padding:3px 10px;font-size:12px}.btn-link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.btn-link:hover{text-shadow:0 0 10px #38bdf880;text-decoration:underline}.field{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}.field label{color:var(--ink-soft);font-size:13px;font-weight:600}.input,select.input,textarea.input{border:1px solid var(--line-strong);color:var(--ink);background:#090f1c99;border-radius:9px;outline:none;width:100%;padding:8px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--ink-faint)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #38bdf826}select.input option{color:var(--ink);background:#0f172a}textarea.input{resize:vertical;min-height:76px}textarea.mono{font-family:Consolas,Courier New,monospace;font-size:12.5px;line-height:1.5}.input.error{border-color:var(--danger);box-shadow:0 0 0 3px #f871711f}.form-row{gap:12px;display:flex}.form-row .field{flex:1}.hint{color:var(--ink-faint);font-size:12px}.hint.err{color:var(--danger);font-weight:600}.toast-stack{z-index:200;flex-direction:column;gap:8px;width:min(560px,100vw - 32px);display:flex;position:fixed;top:74px;left:50%;transform:translate(-50%)}.toast{-webkit-backdrop-filter:blur(10px);border:1px solid;border-radius:10px;padding:10px 16px;font-size:13.5px;animation:.22s toast-in;box-shadow:0 10px 30px #02061080}.toast-error{color:var(--danger);background:#f871711f;border-color:#f8717173}.toast-success{color:var(--ok);background:#34d3991f;border-color:#34d39973}.toast-info{color:var(--accent);background:#38bdf81f;border-color:#38bdf873}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.modal-mask{z-index:100;-webkit-backdrop-filter:blur(4px);background:#040812b3;justify-content:center;align-items:flex-start;padding:8vh 16px;animation:.15s fade-in;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{border:1px solid var(--line-strong);background:linear-gradient(#151f34fa,#0d1526fa);border-radius:16px;width:min(600px,100%);max-height:82vh;animation:.18s toast-in;overflow-y:auto;box-shadow:0 24px 80px #020610a6,0 0 40px #38bdf80f}.modal-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-head h3{letter-spacing:1px;color:var(--ink-strong);margin:0;font-size:16px}.modal-body{padding:18px 20px}.modal-foot{border-top:1px solid var(--line-soft);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.modal-close{cursor:pointer;color:var(--ink-faint);background:0 0;border:none;font-size:22px;line-height:1;transition:color .15s}.modal-close:hover{color:var(--ink-strong)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.pager{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:14px;display:flex}.pager .info{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-right:auto;font-size:12.5px}.empty{text-align:center;color:var(--ink-faint);padding:42px 0}.loading{text-align:center;color:var(--ink-soft);padding:42px 0}.loading:after{content:"…";animation:1.2s steps(4,end) infinite dots}@keyframes dots{to{opacity:.3}}.muted{color:var(--ink-soft)}.mono{font-variant-numeric:tabular-nums}.bar-track{background:#94a3b81f;border-radius:4px;height:8px;overflow:hidden}.bar-fill{background:linear-gradient(90deg,#0ea5e9,#38bdf8);border-radius:4px;height:100%;box-shadow:0 0 8px #38bdf866}.divider{border:none;border-top:1px dashed var(--line-strong);margin:14px 0}.chip{border:1px solid var(--line-strong);color:var(--ink-soft);background:#94a3b812;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;display:inline-flex}.notice-warn{color:var(--danger);background:#f8717117;border:1px solid #f8717159;border-radius:10px;padding:10px 14px;font-size:13px}.notice-ok{color:var(--ok);background:#34d39917;border:1px solid #34d39959;border-radius:10px;padding:10px 14px;font-size:13px}.footer{text-align:center;color:var(--ink-faint);letter-spacing:1px;padding:18px 0 26px;font-size:12px}@media (max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3,.grid-2{grid-template-columns:1fr}}@media (max-width:768px){.grid-4{grid-template-columns:1fr}.topbar-inner{flex-wrap:wrap;gap:8px;padding:10px 16px}.page{padding:18px 14px 48px}.form-row{flex-direction:column;gap:0}.kpi-value{font-size:28px}}.mobile-tabbar{z-index:90;-webkit-backdrop-filter:blur(14px);padding-bottom:env(safe-area-inset-bottom,0);background:linear-gradient(#0b1220f5,#070d18fa);border-top:1px solid #f5b94266;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #02061080}.mobile-tabbar a{letter-spacing:1px;color:#e2e8f08c;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:9px 2px 8px;font-size:12px;transition:color .15s;display:flex}.mobile-tabbar a:before{content:"";background:#e2e8f04d;border-radius:50%;width:5px;height:5px;transition:all .15s}.mobile-tabbar a.router-link-active{color:var(--gold)}.mobile-tabbar a.router-link-active:before{background:var(--gold);box-shadow:0 0 8px #f5b942e6}@media (max-width:1024px){body{font-size:15px}#app{padding-bottom:calc(62px + env(safe-area-inset-bottom,0px))}.topbar-inner{gap:12px;min-height:52px;padding:10px 16px}.brand-mark{letter-spacing:1px;font-size:17px}.brand-sub,.nav{display:none}.mobile-tabbar{display:flex}.page{padding:16px 12px 28px}.page-head{flex-direction:column;align-items:flex-start;gap:10px}.page-title{font-size:20px}.grid,.grid-4,.grid-3,.grid-2{grid-template-columns:1fr;gap:12px}.card{padding:14px}.form-row{flex-direction:column;gap:0}.table-wrap{-webkit-overflow-scrolling:touch;max-height:none;overflow-x:auto}.tbl th{position:static}.tbl th,.tbl td{padding:12px;font-size:14px}.btn{min-height:42px;padding:11px 18px;font-size:14.5px}.btn-sm{min-height:34px;padding:8px 14px;font-size:13px}.input,select.input,textarea.input{padding:11px 12px;font-size:16px}.tag{font-size:11.5px}.pager{justify-content:center}.modal-mask{align-items:flex-start;padding:4vh 10px}.modal{width:100%;max-height:90vh}.kpi-value{font-size:27px}.toast-stack{top:60px}.footer{padding-bottom:16px}body{background-attachment:scroll}.topbar{-webkit-backdrop-filter:none;background:#090f1cfa}.mobile-tabbar{background:#090f1cfc}.modal-close{min-width:40px;min-height:40px;font-size:24px}.user-btn,.btn-link{align-items:center;min-height:40px;display:inline-flex}@supports not (gap:1px){.topbar-inner>*{margin-right:12px}.mobile-tabbar a{padding-top:12px;padding-bottom:12px}.page-head>*+*{margin-top:10px}}}body.kb-open .mobile-tabbar{display:none!important}@media (max-width:768px){.kpi-value{font-size:26px}.page-title{font-size:19px}.empty,.loading{padding:30px 0}.modal-head,.modal-body{padding:14px 16px}.modal-foot{flex-wrap:wrap;padding:12px 16px}}body.mobile{background-attachment:scroll;font-size:15px}body.mobile #app{padding-bottom:calc(62px + env(safe-area-inset-bottom,0px))}body.mobile .topbar-inner{gap:12px;min-height:52px;padding:10px 16px}body.mobile .brand-mark{letter-spacing:1px;font-size:17px}body.mobile .brand-sub,body.mobile .nav{display:none}body.mobile .mobile-tabbar{display:flex}body.mobile .topbar{-webkit-backdrop-filter:none;background:#090f1cfa}body.mobile .page{padding:16px 12px 28px}body.mobile .page-head{flex-direction:column;align-items:flex-start;gap:10px}body.mobile .page-title{font-size:20px}body.mobile .grid,body.mobile .grid-4,body.mobile .grid-3,body.mobile .grid-2{grid-template-columns:1fr;gap:12px}body.mobile .card{padding:14px}body.mobile .form-row{flex-direction:column;gap:0}body.mobile .table-wrap{-webkit-overflow-scrolling:touch;max-height:none;overflow-x:auto}body.mobile .tbl th{position:static}body.mobile .tbl th,body.mobile .tbl td{padding:12px;font-size:14px}body.mobile .btn{min-height:42px;padding:11px 18px;font-size:14.5px}body.mobile .btn-sm{min-height:34px;padding:8px 14px;font-size:13px}body.mobile .input,body.mobile select.input,body.mobile textarea.input{padding:11px 12px;font-size:16px}body.mobile .tag{font-size:11.5px}body.mobile .pager{justify-content:center}body.mobile .modal-mask{align-items:flex-start;padding:4vh 10px}body.mobile .modal{width:100%;max-height:90vh}body.mobile .modal-close{min-width:40px;min-height:40px;font-size:24px}body.mobile .user-btn,body.mobile .btn-link{align-items:center;min-height:40px;display:inline-flex}body.mobile .kpi-value{font-size:26px}body.mobile .toast-stack{top:60px}body.mobile .footer{padding-bottom:16px}
