.progress[data-v-89ee9508]{display:flex;align-items:center;position:relative}.progress .onehundred-icon[data-v-89ee9508]{position:absolute;width:24px;height:24px;border-radius:50%;background:#ffbf00;display:flex;align-items:center;justify-content:center}.progress .onehundred-icon svg[data-v-89ee9508]{font-size:16px;color:#43266d}.progress .outside[data-v-89ee9508]{flex:1;padding:3px;border-radius:15px;height:30px}.progress .bar[data-v-89ee9508]{flex:1;width:100%;height:100%;display:flex;align-items:center;margin-right:10px;border-radius:15px;overflow:hidden}.progress .bar>div[data-v-89ee9508]{height:100%}.progress .bar .left[data-v-89ee9508]{border-radius:15px 0 0 15px}.progress .bar .right[data-v-89ee9508]{background-color:#fff;border-radius:0 15px 15px 0}.progress .text[data-v-89ee9508]{width:100px}.tooltip[data-v-89ee9508]{display:flex;gap:5px;min-width:320px}.tooltip>div[data-v-89ee9508]{flex:1;white-space:nowrap}.page-view-badge[data-v-89ee9508]{position:fixed;bottom:16px;right:16px;background:hsla(0,0%,100%,.95);padding:8px 14px;border-radius:20px;box-shadow:0 2px 6px rgba(0,0,0,.15);font-size:13px;color:#444;border:1px solid #ddd;z-index:1000;display:flex;align-items:center;gap:6px}.page-view-badge .icon[data-v-89ee9508]{font-size:14px}.progress[data-v-976182f0]{display:flex;align-items:center;position:relative}.progress .onehundred-icon[data-v-976182f0]{position:absolute;width:24px;height:24px;border-radius:50%;background:#ffbf00;display:flex;align-items:center;justify-content:center}.progress .onehundred-icon svg[data-v-976182f0]{font-size:16px;color:#43266d}.progress .outside[data-v-976182f0]{flex:1;padding:3px;border-radius:15px;height:30px}.progress .bar[data-v-976182f0]{flex:1;width:100%;height:100%;display:flex;align-items:center;margin-right:10px;border-radius:15px;overflow:hidden}.progress .bar>div[data-v-976182f0]{height:100%}.progress .bar .left[data-v-976182f0]{border-radius:15px 0 0 15px}.progress .bar .right[data-v-976182f0]{background-color:#fff;border-radius:0 15px 15px 0}.progress .text[data-v-976182f0]{width:100px}.tooltip[data-v-976182f0]{display:flex;gap:5px;min-width:320px}.tooltip>div[data-v-976182f0]{flex:1;white-space:nowrap}.tf[data-v-976182f0]{max-width:1200px;margin:0 auto;padding:16px 16px 40px;color:#1f2937}.tf[data-v-976182f0],.tf [data-v-976182f0],.tf [data-v-976182f0]:after,.tf [data-v-976182f0]:before{box-sizing:border-box}.tf-head[data-v-976182f0]{margin-bottom:14px}.tf-head h2[data-v-976182f0]{margin:0 0 6px;font-size:22px;font-weight:900}.tf-sub[data-v-976182f0]{margin:0 0 3px;font-size:13px;color:#64748b;line-height:1.6}.tf-sub b[data-v-976182f0]{color:#475569}.t-coding[data-v-976182f0]{color:#1d4ed8!important}.tf-toolbar[data-v-976182f0]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px 8px;margin-bottom:14px}.tb-row[data-v-976182f0]{display:flex;flex-wrap:wrap;align-items:flex-end;margin:0 -4px}.tb-row>[data-v-976182f0]{margin:0 4px 8px}.tf-field[data-v-976182f0]{display:flex;flex-direction:column;font-size:12px;font-weight:800;color:#64748b}.tf-field span[data-v-976182f0]{margin-bottom:3px}.tf-field input[data-v-976182f0],.tf-field select[data-v-976182f0]{width:auto;margin:0;padding:5px 8px;height:34px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1f2937;background:#fff}.tf-class[data-v-976182f0]{flex:1 1 260px;min-width:0}.tf-class select[data-v-976182f0]{width:100%;max-width:420px}.tf-time input[data-v-976182f0]{width:116px}.tb-btn[data-v-976182f0]{padding:6px 12px;border-radius:8px;border:1.5px solid #cbd5e1;background:#fff;font-size:13px;font-weight:800;color:#475569;cursor:pointer;line-height:1.4}.tb-btn[data-v-976182f0]:hover{background:#f1f5f9}.tb-btn[data-v-976182f0]:disabled{opacity:.45;cursor:not-allowed}.tb-btn.on[data-v-976182f0]{background:#ecfdf5;border-color:#22c55e;color:#15803d}.tb-btn.primary[data-v-976182f0]{background:#5b6abf;border-color:#5b6abf;color:#fff}.tb-btn.primary[data-v-976182f0]:hover{background:#4a58a8}.tb-btn.sm[data-v-976182f0]{padding:3px 8px;font-size:12px}.tf-classinfo[data-v-976182f0]{font-size:12.5px;color:#64748b;padding:0 0 2px}.tf-stats[data-v-976182f0]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:10px;margin-bottom:12px}.stat[data-v-976182f0]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px;min-width:0}.stat-k[data-v-976182f0]{font-size:12px;font-weight:800;color:#64748b}.stat-k[data-v-976182f0],.stat-v[data-v-976182f0]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-v[data-v-976182f0]{font-size:22px;font-weight:900;color:#1f2937;line-height:1.3;font-variant-numeric:tabular-nums}.stat-v small[data-v-976182f0]{font-size:13px;font-weight:700;color:#64748b}.stat-n[data-v-976182f0]{font-size:11.5px;color:#94a3b8;font-weight:700}.tf-legend[data-v-976182f0]{display:flex;flex-wrap:wrap;align-items:center;font-size:12.5px;color:#475569;font-weight:700;margin:0 0 8px}.tf-legend span[data-v-976182f0]{display:inline-flex;align-items:center;margin:0 14px 4px 0;white-space:nowrap}.tf-legend i[data-v-976182f0]{display:inline-block;width:14px;height:10px;border-radius:3px;margin-right:5px}.tf-legend .lg-title[data-v-976182f0]{color:#94a3b8;font-weight:800}.k-active[data-v-976182f0]{background:#22c55e}.k-hidden[data-v-976182f0]{background:#dc2626}.k-blur[data-v-976182f0]{background:#f87171}.k-idle[data-v-976182f0]{background:#f59e0b}.k-video_unattended[data-v-976182f0]{background:#8b5cf6}.k-coding[data-v-976182f0]{background:#3b82f6}.k-brief[data-v-976182f0]{background:#b6c0cf}.k-active-video[data-v-976182f0]{background:#0d9488}.mk-ac[data-v-976182f0]{background:#16a34a}.mk-ng[data-v-976182f0]{background:#dc2626}.mk-hint[data-v-976182f0]{background:#a855f7}.tf-listhead[data-v-976182f0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.tf-hint[data-v-976182f0]{font-size:12px;color:#94a3b8}.m-sort[data-v-976182f0]{display:none;font-size:12px;font-weight:800;color:#64748b;align-items:center}.m-sort select[data-v-976182f0]{width:auto;margin:0 6px;padding:3px 6px;height:28px;border:2px solid #e2e8f0;border-radius:8px;font-size:13px;background:#fff}.tf-empty[data-v-976182f0]{padding:30px;text-align:center;color:#94a3b8;font-weight:700}.tf-empty.small[data-v-976182f0]{padding:12px}.tf-error[data-v-976182f0]{color:#b91c1c}.muted[data-v-976182f0]{color:#94a3b8}.r-high[data-v-976182f0]{color:#dc2626!important}.r-mid[data-v-976182f0]{color:#d97706!important}.r-low[data-v-976182f0]{color:#16a34a!important}.tf-table-wrap[data-v-976182f0]{overflow-x:auto;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.tf-table[data-v-976182f0]{width:100%;border-collapse:collapse;font-size:13px}.tf-table td[data-v-976182f0],.tf-table th[data-v-976182f0]{padding:8px 6px;border-bottom:1px solid #f1f5f9;text-align:left;white-space:nowrap}.tf-table th[data-v-976182f0]{background:#f8fafc;font-size:11.5px;color:#475569;font-weight:800;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;line-height:1.25;vertical-align:bottom}.tf-table th.sortable[data-v-976182f0]{cursor:pointer}.tf-table th.sortable.on[data-v-976182f0],.tf-table th.sortable[data-v-976182f0]:hover{color:#5b6abf}.tf-table .arrow[data-v-976182f0]{font-size:10px;margin-left:2px}.tf-table .num[data-v-976182f0]{text-align:right;font-variant-numeric:tabular-nums}.tf-table tr.grp th[data-v-976182f0]{text-align:center;font-size:11.5px;padding:5px 8px;border-bottom:1px solid #e5e7eb;letter-spacing:.05em}.tf-table .g-focus[data-v-976182f0]{color:#475569}.tf-table .g-learn[data-v-976182f0]{background:#f0fdf4;color:#15803d}.tf-table .g-learn[data-v-976182f0],.tf-table .l-first[data-v-976182f0]{border-left:2px solid #e2e8f0}.tf-table tr.row[data-v-976182f0]{cursor:pointer}.tf-table tr.row:hover td[data-v-976182f0]{background:#f8fafc}.tf-table tr.row.open td[data-v-976182f0]{background:#eef0fb}.tf-table tr.row.nodata td[data-v-976182f0]{color:#94a3b8}.tf-table .c-name small[data-v-976182f0]{color:#94a3b8;margin-left:4px}.tf-table .c-name .caret[data-v-976182f0]{display:inline-block;width:14px;color:#94a3b8}.tf-table .c-ratio[data-v-976182f0]{min-width:190px}.tf-table .c-coding[data-v-976182f0]{color:#1d4ed8}.tf-table .muted-num[data-v-976182f0]{color:#94a3b8}.tf-table .sub[data-v-976182f0]{display:block;font-size:10.5px;color:#94a3b8}.ratio-bar[data-v-976182f0]{display:inline-flex;width:108px;height:10px;border-radius:5px;overflow:hidden;background:#e2e8f0;vertical-align:middle;margin-right:8px}.ratio-bar .seg[data-v-976182f0]{display:block;height:100%}.ratio-text[data-v-976182f0]{font-size:12px;color:#475569}.tl-row td[data-v-976182f0]{background:#fbfcff;padding:14px 16px 16px;white-space:normal}.tl[data-v-976182f0]{font-size:12.5px}.tl-sec+.tl-sec[data-v-976182f0]{margin-top:14px;padding-top:12px;border-top:1px dashed #e2e8f0}.tl-head[data-v-976182f0]{font-size:13px;font-weight:900;color:#334155;margin-bottom:8px}.tl-head small[data-v-976182f0]{font-size:12px;font-weight:700;color:#94a3b8;margin-left:8px}.tl-marks[data-v-976182f0]{position:relative;height:12px;margin-bottom:2px}.tl-marks .mk[data-v-976182f0]{position:absolute;top:1px;width:4px;height:10px;border-radius:2px;transform:translateX(-50%);cursor:default}.tl-bar[data-v-976182f0]{position:relative;height:26px;background:#e5e7eb;border-radius:6px;overflow:hidden}.tl-seg[data-v-976182f0]{position:absolute;top:0;bottom:0;display:block;cursor:default}.tl-seg.hl[data-v-976182f0]{outline:2px solid #1f2937;outline-offset:-2px;z-index:1}.tl-axis[data-v-976182f0]{position:relative;height:18px;font-size:11px;color:#94a3b8;font-weight:700}.tl-axis span[data-v-976182f0]{position:absolute;top:2px;transform:translateX(-50%);white-space:nowrap}.tl-info[data-v-976182f0]{min-height:20px;margin-top:4px;color:#334155;font-weight:700}.tl-info .dot[data-v-976182f0]{margin-left:4px}.dot[data-v-976182f0]{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}.tl-none[data-v-976182f0]{padding:2px 0}.tl-list[data-v-976182f0]{max-height:240px;overflow-y:auto}.tl-item[data-v-976182f0]{display:flex;align-items:center;padding:4px 6px;border-radius:6px;line-height:1.5}.tl-item[data-v-976182f0]:hover{background:#f1f5f9}.tl-item>span[data-v-976182f0]{margin-right:10px;flex:none}.tl-item .t[data-v-976182f0]{font-variant-numeric:tabular-nums;color:#334155}.tl-item .st[data-v-976182f0]{font-weight:800;font-size:11.5px;color:#fff;text-align:center;border-radius:4px;padding:0 6px;min-width:56px}.tl-item .st.k-brief[data-v-976182f0],.tl-item .st.k-idle[data-v-976182f0]{color:#1f2937}.tl-item .pid[data-v-976182f0]{font-weight:800;font-variant-numeric:tabular-nums;color:#334155;min-width:44px}.tl-item .d[data-v-976182f0]{font-variant-numeric:tabular-nums;min-width:68px;text-align:right}.tl-item .p[data-v-976182f0]{flex:1 1 auto;min-width:0;margin-right:0;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tod-on[data-v-976182f0]{color:#b45309;background:#fef3c7;padding:0 4px;border-radius:4px}.tl-axis span[data-v-976182f0]:first-child{transform:none}.tl-axis span[data-v-976182f0]:last-child{transform:translateX(-100%)}.tl-days[data-v-976182f0]{max-height:320px;overflow-y:auto}.tl-day[data-v-976182f0]{display:flex;align-items:center;padding:3px 6px;border-radius:6px;line-height:1.5}.tl-day[data-v-976182f0]:hover{background:#f1f5f9}.tl-day>span[data-v-976182f0]{flex:none;margin-right:10px}.tl-day .dd[data-v-976182f0]{width:120px;font-variant-numeric:tabular-nums;color:#334155;font-weight:700;white-space:nowrap}.tl-day .db[data-v-976182f0]{flex:1 1 auto;min-width:60px;height:12px;background:#f1f5f9;border-radius:6px;overflow:hidden}.tl-day .db-fill[data-v-976182f0]{display:flex;height:100%;border-radius:6px;overflow:hidden}.tl-day .db-fill .seg[data-v-976182f0]{display:block;height:100%}.tl-day .dr[data-v-976182f0]{width:44px;text-align:right;font-variant-numeric:tabular-nums}.tl-day .dt[data-v-976182f0]{width:86px;text-align:right;color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap}.tl-day .ds[data-v-976182f0]{width:120px;margin-right:0;color:#475569;white-space:nowrap}@media (max-width:1000px){.tf-stats[data-v-976182f0]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.tf[data-v-976182f0]{padding:12px 12px 32px}.tf-stats[data-v-976182f0]{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px}.stat-v[data-v-976182f0]{font-size:19px}.tf-class[data-v-976182f0]{flex-basis:100%}.tf-class select[data-v-976182f0]{max-width:100%}.tf-time input[data-v-976182f0]{width:104px}.tf-hint[data-v-976182f0]{display:none}.m-sort[data-v-976182f0]{display:inline-flex}.tf-listhead[data-v-976182f0]{justify-content:flex-end}.tf-table-wrap[data-v-976182f0]{overflow:visible;border:0;background:transparent}.tf-table[data-v-976182f0],.tf-table tbody[data-v-976182f0]{display:block;width:100%}.tf-table thead[data-v-976182f0]{display:none}.tf-table tr.row[data-v-976182f0]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:8px 10px;margin-top:10px}.tf-table tr.row.open[data-v-976182f0]{border-color:#5b6abf;border-radius:12px 12px 0 0}.tf-table tr.row td[data-v-976182f0]{display:block;border:0;padding:4px 2px;background:transparent!important;min-width:0;white-space:normal}.tf-table tr.row .c-name[data-v-976182f0]{grid-column:1/-1;font-size:14px;padding-bottom:2px}.tf-table tr.row .c-ratio[data-v-976182f0]{grid-column:1/-1;min-width:0;display:flex;align-items:center}.tf-table tr.row .ratio-bar[data-v-976182f0]{flex:1 1 auto;width:auto}.tf-table tr.row .ratio-text[data-v-976182f0]{flex:none}.tf-table tr.row td.num[data-v-976182f0]{text-align:left;font-size:13.5px;font-weight:800}.tf-table tr.row td.num[data-v-976182f0]:before{content:attr(data-label);display:block;font-size:11px;font-weight:700;color:#94a3b8;white-space:nowrap}.tf-table tr.row td.num[data-v-976182f0]{white-space:nowrap}.tf-table tr.row td.l-first[data-v-976182f0]{border-left:0}.tf-table tr.row td.m-hide[data-v-976182f0]{display:none}.tf-table tr.tl-row[data-v-976182f0]{display:block}.tf-table tr.tl-row td[data-v-976182f0]{display:block;border:1px solid #5b6abf;border-top:0;border-radius:0 0 12px 12px;padding:10px}.tl-item[data-v-976182f0]{flex-wrap:wrap}.tl-item .p[data-v-976182f0]{flex-basis:100%;padding-left:2px}.tl-day[data-v-976182f0]{flex-wrap:wrap}.tl-day .dd[data-v-976182f0]{width:auto}.tl-day .db[data-v-976182f0]{order:5;flex-basis:100%;margin:2px 0 4px}.tl-day .ds[data-v-976182f0],.tl-day .dt[data-v-976182f0]{width:auto}}