.loading{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#fff;z-index:99;display:grid;place-items:center}.loading__ring{width:60px;height:60px}.score-summary-container[data-v-2d8d2636]{height:100%;display:flex;flex-direction:column;background-color:#f8f9fa}.loading-container[data-v-2d8d2636]{height:100%;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa}.loading-content[data-v-2d8d2636]{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.loading-spinner[data-v-2d8d2636]{width:48px;height:48px;border:4px solid #f3f3f3;border-top:4px solid var(--color-primary);border-radius:50%;animation:spin-2d8d2636 1s linear infinite}@keyframes spin-2d8d2636{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text[data-v-2d8d2636]{font-size:16px;color:#666;margin:0}.error-container[data-v-2d8d2636]{height:100%;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa}.error-content[data-v-2d8d2636]{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:40px;background:#fff;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.1);max-width:400px}.error-icon[data-v-2d8d2636]{font-size:48px;color:#f56565}.error-text[data-v-2d8d2636]{font-size:16px;color:#666;margin:0;line-height:1.5}.retry-btn[data-v-2d8d2636]{margin-top:8px}.content-container[data-v-2d8d2636]{height:100%;display:flex;flex-direction:column}.summary-header[data-v-2d8d2636]{background:#fff;padding:20px 24px;border-bottom:1px solid #e0e0e0;flex-shrink:0}.header-top[data-v-2d8d2636]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.summary-title[data-v-2d8d2636]{font-size:20px;font-weight:600;color:#333;margin:0}.title-with-info[data-v-2d8d2636]{display:flex;align-items:center;gap:12px}.calculation-info-btn[data-v-2d8d2636]{background:none;border:1px solid #ddd;padding:4px 8px;border-radius:4px;font-size:12px;color:#666;cursor:pointer;transition:all .2s}.calculation-info-btn[data-v-2d8d2636]:hover{color:var(--color-primary);border-color:var(--color-primary);background-color:#f0f8ff}.summary-description p[data-v-2d8d2636]{margin:4px 0;font-size:14px;color:#666}.summary-description p .underline[data-v-2d8d2636]{text-decoration:underline}.table-container[data-v-2d8d2636]{flex:1;overflow:auto;background:#fff;margin:16px 24px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.score-table-wrapper[data-v-2d8d2636]{overflow:auto;max-height:100%}.score-table[data-v-2d8d2636]{width:100%;border-collapse:collapse;font-size:14px}.score-table td[data-v-2d8d2636],.score-table th[data-v-2d8d2636]{padding:12px;text-align:center;border:1px solid #e0e0e0}.score-table .table-header-main[data-v-2d8d2636]{background-color:#f8f9fa;font-weight:600;color:#333}.score-table .table-header-main th[data-v-2d8d2636]{position:sticky;top:0;z-index:2;background-color:#f8f9fa;border-bottom:2px solid #dcdee2;padding:12px 8px;font-size:13px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-table .table-header-sub[data-v-2d8d2636]{display:none}.score-table .fixed-column[data-v-2d8d2636]{position:sticky;left:0;background-color:#fff;z-index:1}.score-table .fixed-column.seat-column[data-v-2d8d2636]{left:0;width:80px;min-width:80px;white-space:nowrap}.score-table .fixed-column.name-column[data-v-2d8d2636]{left:80px;width:120px;min-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-table .table-header-main .fixed-column[data-v-2d8d2636],.score-table .table-header-sub .fixed-column[data-v-2d8d2636]{background-color:#f8f9fa;z-index:3}.score-table .lesson-group-column[data-v-2d8d2636]{background-color:#e8f4f8;border:1px solid #dcdee2}.score-table .lesson-sub-column[data-v-2d8d2636]{width:110px;min-width:110px;background-color:#f8fcff;white-space:nowrap}.score-table .score-column[data-v-2d8d2636]{width:110px;min-width:110px;white-space:nowrap}.score-table .total-column[data-v-2d8d2636]{width:100px;min-width:100px;background-color:#f0f8ff;white-space:nowrap}.score-table .rank-column[data-v-2d8d2636]{width:80px;min-width:80px;white-space:nowrap}.column-header-compact[data-v-2d8d2636]{display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.2}.column-title[data-v-2d8d2636]{font-weight:600;color:#333;font-size:13px}.column-subtitle[data-v-2d8d2636]{font-size:11px;color:#666;font-weight:400}.column-header[data-v-2d8d2636]{display:flex;flex-direction:column;align-items:center;gap:4px}.column-percent[data-v-2d8d2636]{display:inline;font-size:12px;color:#666}.score-cell[data-v-2d8d2636]{display:flex;flex-direction:column;align-items:center;gap:2px}.score-value[data-v-2d8d2636]{font-size:16px;font-weight:600;color:#333}.score-percent[data-v-2d8d2636]{font-size:12px;color:#999}.total-score[data-v-2d8d2636]{font-size:18px;font-weight:700;color:var(--color-primary)}.rank[data-v-2d8d2636]{font-size:16px;font-weight:600;color:#666}.table-row[data-v-2d8d2636]{background-color:#fff}.table-row[data-v-2d8d2636]:nth-child(2n){background-color:#fafafa}.table-row[data-v-2d8d2636]:hover{background-color:#f0f8ff}.table-row td[data-v-2d8d2636]{border-top:1px solid #e0e0e0}.summary-footer[data-v-2d8d2636]{background:#fff;padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.footer-stats[data-v-2d8d2636]{display:flex;gap:24px;align-items:center}.stat-item[data-v-2d8d2636]{display:flex;align-items:center;gap:4px}.stat-label[data-v-2d8d2636]{font-size:14px;color:#666}.stat-value[data-v-2d8d2636]{font-size:14px;font-weight:600;color:var(--color-primary)}.action-buttons[data-v-2d8d2636]{display:flex;gap:12px}.btn[data-v-2d8d2636]{padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid}.btn.btn-outline[data-v-2d8d2636]{background:#fff;color:#666;border-color:#d0d0d0}.btn.btn-outline[data-v-2d8d2636]:hover{color:var(--color-primary);border-color:var(--color-primary)}.btn.btn-primary[data-v-2d8d2636]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn.btn-primary[data-v-2d8d2636]:hover{opacity:.9}.btn.btn-secondary[data-v-2d8d2636]{background:#f8f9fa;color:#666;border-color:#e0e0e0}.btn.btn-secondary[data-v-2d8d2636]:hover{background:#e9ecef;color:#333;border-color:#adb5bd}.scroll-bar[data-v-2d8d2636]::-webkit-scrollbar{width:6px;height:6px}.scroll-bar[data-v-2d8d2636]::-webkit-scrollbar-track{background:#f1f1f1}.scroll-bar[data-v-2d8d2636]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.scroll-bar[data-v-2d8d2636]::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.calculation-info-modal .calculation-info-content[data-v-2d8d2636]{max-height:70vh;overflow-y:auto}.calculation-info-modal .calculation-section[data-v-2d8d2636]{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.calculation-info-modal .calculation-section[data-v-2d8d2636]:last-child{border-bottom:none;margin-bottom:0}.calculation-info-modal .calculation-title[data-v-2d8d2636]{font-size:16px;font-weight:600;color:#333;margin:0 0 12px 0;display:flex;align-items:center;gap:8px}.calculation-info-modal .calculation-list[data-v-2d8d2636]{margin:0;padding-left:20px}.calculation-info-modal .calculation-list li[data-v-2d8d2636]{margin-bottom:8px;line-height:1.6;color:#555}.calculation-info-modal .calculation-list li[data-v-2d8d2636]:last-child{margin-bottom:0}.calculation-info-modal .calculation-list li strong[data-v-2d8d2636]{color:#333;font-weight:600}.calculation-info-modal .calculation-example[data-v-2d8d2636]{background-color:#f8f9fa;padding:16px;border-radius:8px;border-left:4px solid var(--color-primary)}.calculation-info-modal .calculation-example p[data-v-2d8d2636]{margin:0 0 8px 0;font-weight:600;color:#333}.calculation-info-modal .calculation-example p[data-v-2d8d2636]:last-child{margin-top:12px}.calculation-info-modal .calculation-example .calculation-list[data-v-2d8d2636]{margin:8px 0}.detail-view[data-v-b1d6e3ea]{flex:1;display:flex;flex-direction:column;background-color:#f8f9fa}.grade-content-area[data-v-b1d6e3ea]{display:grid;grid-template-columns:280px 1fr;height:100%;gap:0;flex:1}.grade-left-panel[data-v-b1d6e3ea]{display:flex;flex-direction:column;background-color:#fff;border-right:1px solid #e0e0e0;height:100%}.grade-filter-sidebar[data-v-b1d6e3ea]{padding:12px 16px;border-bottom:1px solid #e0e0e0;background-color:#fafafa;flex-shrink:0}.grade-items-sidebar[data-v-b1d6e3ea]{flex:1;overflow-y:auto;max-height:75vh}.grade-items-list[data-v-b1d6e3ea]{height:100%}.grade-items-content[data-v-b1d6e3ea]{padding:8px 0;max-height:calc(75vh - 16px);overflow-y:auto}.grade-item[data-v-b1d6e3ea]{display:block;width:100%;padding:12px 16px;border:none;background:none;text-align:left;cursor:pointer;transition:all .2s;border-bottom:1px solid #f0f0f0}.grade-item[data-v-b1d6e3ea]:hover{background-color:var(--color-primary-light-hover,#f0f8ff)}.grade-item--active[data-v-b1d6e3ea]{background-color:var(--color-primary-light-active,#e6f3ff);color:var(--color-primary,#2d8cf0);border-left:3px solid var(--color-primary,#2d8cf0)}.grade-item__name[data-v-b1d6e3ea]{font-weight:500;margin-bottom:4px;color:#333}.grade-item__date[data-v-b1d6e3ea]{font-size:12px;color:#666}.grade-tabs[data-v-b1d6e3ea]{display:flex;gap:8px}.grade-tab[data-v-b1d6e3ea]{padding:8px 16px;border:1px solid #d0d0d0;background:#fff;cursor:pointer;font-size:14px;font-weight:500;color:#666;border-radius:4px;transition:all .2s}.grade-tab[data-v-b1d6e3ea]:hover{color:var(--color-primary,#2d8cf0);border-color:var(--color-primary,#2d8cf0)}.grade-tab--active[data-v-b1d6e3ea]{color:#fff;background-color:var(--color-primary,#2d8cf0);border-color:var(--color-primary,#2d8cf0)}.grade-list[data-v-b1d6e3ea]{overflow-y:auto;padding:16px;height:100%}.grade-list__content[data-v-b1d6e3ea]{height:100%}.grade-list__empty[data-v-b1d6e3ea]{display:flex;justify-content:center;align-items:center;height:300px;color:#999;font-size:16px}.grade-statistics[data-v-b1d6e3ea]{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:16px}.statistics-row[data-v-b1d6e3ea]{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.stat-item[data-v-b1d6e3ea]{display:flex;align-items:center;gap:4px;flex:1;min-width:120px}.stat-item .stat-label[data-v-b1d6e3ea]{font-weight:500;color:#555;font-size:14px;white-space:nowrap}.stat-item .stat-value[data-v-b1d6e3ea]{font-weight:600;color:var(--color-primary,#2d8cf0);font-size:14px}.stat-item .stat-value--success[data-v-b1d6e3ea]{color:#52c41a}.stat-item .stat-value--warning[data-v-b1d6e3ea]{color:#faad14}.stat-item .stat-value--error[data-v-b1d6e3ea]{color:#f5222d}.stat-item .stat-value--info[data-v-b1d6e3ea]{color:#1890ff}.grade-table[data-v-b1d6e3ea]{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden;max-height:60vh;overflow-y:auto}.grade-table table[data-v-b1d6e3ea]{width:100%;border-collapse:collapse;table-layout:fixed}.grade-table table th[data-v-b1d6e3ea]{background-color:#fff;padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:1px solid #e0e0e0;width:auto}.grade-table table td[data-v-b1d6e3ea]{padding:12px 16px;border-bottom:1px solid #f0f0f0;color:#555;width:auto;word-wrap:break-word}.grade-table table tr:last-child td[data-v-b1d6e3ea]{border-bottom:none}.grade-table table tr[data-v-b1d6e3ea]:hover{background-color:#f8f9fa}.demo-spin-icon-load[data-v-b1d6e3ea]{animation:ani-demo-spin-b1d6e3ea 1s linear infinite}@keyframes ani-demo-spin-b1d6e3ea{0%{transform:rotate(0deg)}50%{transform:rotate(180deg)}to{transform:rotate(1turn)}}.grade-items-empty[data-v-b1d6e3ea],.grade-items-loading[data-v-b1d6e3ea]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#999;font-size:14px}.grade-items-empty .ivu-icon[data-v-b1d6e3ea],.grade-items-loading .ivu-icon[data-v-b1d6e3ea]{margin-bottom:8px}.grade-items-loading[data-v-b1d6e3ea]{color:#2d8cf0;position:relative}.grade-items-empty[data-v-b1d6e3ea]{color:#ccc}.table-loading-content[data-v-b1d6e3ea]{position:relative;display:inline-block}.grade-items-sidebar[data-v-b1d6e3ea]::-webkit-scrollbar,.grade-table[data-v-b1d6e3ea]::-webkit-scrollbar{width:6px}.grade-items-sidebar[data-v-b1d6e3ea]::-webkit-scrollbar-track,.grade-table[data-v-b1d6e3ea]::-webkit-scrollbar-track{background:#f1f1f1}.grade-items-sidebar[data-v-b1d6e3ea]::-webkit-scrollbar-thumb,.grade-table[data-v-b1d6e3ea]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.grade-items-sidebar[data-v-b1d6e3ea]::-webkit-scrollbar-thumb:hover,.grade-table[data-v-b1d6e3ea]::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.grade-record-page[data-v-e7d2de7c]{height:100%}.grade-record-page__body[data-v-e7d2de7c]{display:grid;grid-template-columns:270px auto;height:calc(100vh - 83px)}.grade-record-page__aisle[data-v-e7d2de7c]{height:calc(100vh - 83px);overflow-y:auto;box-shadow:var(--material-shadow-2);padding:1rem 0;z-index:1;background-color:#fff;width:270px;min-width:270px}.grade-record-page__toolbar[data-v-e7d2de7c]{display:flex;justify-content:flex-start;align-items:center;margin-bottom:1rem;padding:0 10px;gap:10px}.grade-record-page__main[data-v-e7d2de7c]{height:calc(100vh - 83px);overflow-y:auto;padding:1px 0 20px 1px;position:relative;background-color:#f5f5f5;flex:1}.grade-record-page__loading-placeholder[data-v-e7d2de7c]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;text-align:center;color:var(--neutral-foreground)}.grade-record-page__loading-ring[data-v-e7d2de7c]{width:48px;height:48px;margin-bottom:16px}.course-select[data-v-e7d2de7c]{flex:1;min-width:200px;max-width:300px}.course-list__list[data-v-e7d2de7c]{display:flex;flex-direction:column}.course-list__item-title[data-v-e7d2de7c]{padding:10px 0;padding-left:12px;margin:0 10px;position:relative;font-size:14px;font-weight:600;color:#333}.course-list__item-title[data-v-e7d2de7c]:before{content:"";position:absolute;left:0;top:0;bottom:0;margin:auto;width:4px;height:40%;border-radius:999px;background-color:var(--color-primary)}.course-list__item[data-v-e7d2de7c]{display:flex;align-items:center;padding-top:10px;padding-bottom:10px;padding-left:30px;transition:.2s ease;border:none;background:none;text-align:left;cursor:pointer}.course-list__item[data-v-e7d2de7c]:hover{background-color:var(--color-primary-light-hover)}.course-list__item--active[data-v-e7d2de7c]{background-color:var(--color-primary-light-active)!important;color:var(--color-primary);font-weight:700}.course-list__empty[data-v-e7d2de7c]{text-align:center;margin:6px 0;padding:32px 16px;color:#999;font-size:14px}.grade-content[data-v-e7d2de7c]{height:100%;display:flex;flex-direction:column}.view-mode-bar[data-v-e7d2de7c]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e0e0e0;background-color:#fff;min-height:56px;flex-shrink:0;position:relative;z-index:3;box-shadow:0 1px 3px rgba(0,0,0,.05);width:100%}.view-mode-tabs[data-v-e7d2de7c]{display:flex;gap:2px;background-color:#f0f0f0;border-radius:6px;padding:2px}.view-mode-actions[data-v-e7d2de7c]{display:flex;align-items:center;gap:8px}.refresh-btn[data-v-e7d2de7c]{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #d0d0d0;background:#fff;border-radius:4px;cursor:pointer;font-size:13px;color:#666;transition:all .2s}.refresh-btn[data-v-e7d2de7c]:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.refresh-btn[data-v-e7d2de7c]:disabled{opacity:.6;cursor:not-allowed}.refresh-btn .iconfont[data-v-e7d2de7c]{font-size:14px}.view-mode-tab[data-v-e7d2de7c]{padding:8px 20px;border:none;background:transparent;cursor:pointer;font-size:14px;font-weight:500;color:#666;border-radius:4px;transition:all .2s}.view-mode-tab[data-v-e7d2de7c]:hover{color:var(--color-primary)}.view-mode-tab--active[data-v-e7d2de7c]{color:var(--color-primary);background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.detail-view[data-v-e7d2de7c]{flex:1;display:flex;flex-direction:column;background-color:#f8f9fa}.summary-view[data-v-e7d2de7c]{flex:1;overflow-y:auto;background-color:#f8f9fa}.summary-loading[data-v-e7d2de7c]{display:flex;justify-content:center;align-items:center;height:100%;min-height:400px}.summary-empty[data-v-e7d2de7c]{text-align:center;color:#666}.summary-empty h3[data-v-e7d2de7c]{margin-bottom:12px;font-size:18px;font-weight:500}.summary-empty p[data-v-e7d2de7c]{font-size:14px;color:#999}.grade-content-area[data-v-e7d2de7c]{display:grid;grid-template-columns:280px 1fr;height:100%;gap:0;flex:1}.grade-left-panel[data-v-e7d2de7c]{display:flex;flex-direction:column;background-color:#fff;border-right:1px solid #e0e0e0;height:100%}.grade-filter-sidebar[data-v-e7d2de7c]{padding:12px 16px;border-bottom:1px solid #e0e0e0;background-color:#fafafa;flex-shrink:0}.grade-items-sidebar[data-v-e7d2de7c]{flex:1;overflow-y:auto;max-height:75vh}.grade-items-list[data-v-e7d2de7c]{height:100%}.grade-items-content[data-v-e7d2de7c]{padding:8px 0;max-height:calc(75vh - 16px);overflow-y:auto}.grade-item[data-v-e7d2de7c]{display:block;width:100%;padding:12px 16px;border:none;background:none;text-align:left;cursor:pointer;transition:all .2s;border-bottom:1px solid #f0f0f0}.grade-item[data-v-e7d2de7c]:hover{background-color:var(--color-primary-light-hover)}.grade-item--active[data-v-e7d2de7c]{background-color:var(--color-primary-light-active);color:var(--color-primary);border-left:3px solid var(--color-primary)}.grade-item__name[data-v-e7d2de7c]{font-weight:500;margin-bottom:4px;color:#333}.grade-item__date[data-v-e7d2de7c]{font-size:12px;color:#666}.grade-tabs[data-v-e7d2de7c]{display:flex;gap:8px}.grade-tab[data-v-e7d2de7c]{padding:8px 16px;border:1px solid #d0d0d0;background:#fff;cursor:pointer;font-size:14px;font-weight:500;color:#666;border-radius:4px;transition:all .2s}.grade-tab[data-v-e7d2de7c]:hover{color:var(--color-primary);border-color:var(--color-primary)}.grade-tab--active[data-v-e7d2de7c]{color:#fff;background-color:var(--color-primary);border-color:var(--color-primary)}.grade-list[data-v-e7d2de7c]{overflow-y:auto;padding:16px;height:100%}.grade-list__content[data-v-e7d2de7c]{height:100%}.grade-list__empty[data-v-e7d2de7c]{display:flex;justify-content:center;align-items:center;height:300px;color:#999;font-size:16px}.grade-statistics[data-v-e7d2de7c]{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:16px}.statistics-row[data-v-e7d2de7c]{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.stat-item[data-v-e7d2de7c]{display:flex;align-items:center;gap:4px;flex:1;min-width:120px}.stat-item .stat-label[data-v-e7d2de7c]{font-weight:500;color:#555;font-size:14px;white-space:nowrap}.stat-item .stat-value[data-v-e7d2de7c]{font-weight:600;color:var(--color-primary);font-size:14px}.stat-item .stat-value--success[data-v-e7d2de7c]{color:#52c41a}.stat-item .stat-value--warning[data-v-e7d2de7c]{color:#faad14}.stat-item .stat-value--error[data-v-e7d2de7c]{color:#f5222d}.stat-item .stat-value--info[data-v-e7d2de7c]{color:#1890ff}.grade-table[data-v-e7d2de7c]{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden;max-height:60vh;overflow-y:auto}.grade-table table[data-v-e7d2de7c]{width:100%;border-collapse:collapse;table-layout:fixed}.grade-table table th[data-v-e7d2de7c]{background-color:#fff;padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:1px solid #e0e0e0;width:auto}.grade-table table td[data-v-e7d2de7c]{padding:12px 16px;border-bottom:1px solid #f0f0f0;color:#555;width:auto;word-wrap:break-word}.grade-table table tr:last-child td[data-v-e7d2de7c]{border-bottom:none}.grade-table table tr[data-v-e7d2de7c]:hover{background-color:#f8f9fa}.scroll-bar[data-v-e7d2de7c]::-webkit-scrollbar{width:6px}.scroll-bar[data-v-e7d2de7c]::-webkit-scrollbar-track{background:#f1f1f1}.scroll-bar[data-v-e7d2de7c]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.scroll-bar[data-v-e7d2de7c]::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.demo-spin-icon-load[data-v-e7d2de7c]{animation:ani-demo-spin-e7d2de7c 1s linear infinite}@keyframes ani-demo-spin-e7d2de7c{0%{transform:rotate(0deg)}50%{transform:rotate(180deg)}to{transform:rotate(1turn)}}.grade-items-empty[data-v-e7d2de7c],.grade-items-loading[data-v-e7d2de7c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#999;font-size:14px}.grade-items-empty .ivu-icon[data-v-e7d2de7c],.grade-items-loading .ivu-icon[data-v-e7d2de7c]{margin-bottom:8px}.grade-items-loading[data-v-e7d2de7c]{color:#2d8cf0;position:relative}.grade-items-empty[data-v-e7d2de7c]{color:#ccc}.cancel-loading-btn[data-v-e7d2de7c]{position:absolute;top:10px;right:10px;background:transparent;border:1px solid #dcdee2;border-radius:4px;padding:4px;cursor:pointer;color:#666;transition:all .2s ease}.cancel-loading-btn[data-v-e7d2de7c]:hover{background-color:#f5f7fa;border-color:#c5c8ce;color:#515a6e}.cancel-loading-btn[data-v-e7d2de7c]:active{background-color:#eef1f6}.table-loading-content[data-v-e7d2de7c]{position:relative;display:inline-block}.table-cancel-btn[data-v-e7d2de7c]{position:absolute;top:-10px;right:-30px}.summary-actions[data-v-e7d2de7c]{display:flex;gap:12px;align-items:center}.proportion-display[data-v-e7d2de7c]{display:flex;gap:16px;align-items:center;padding:6px 12px;background-color:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.proportion-item[data-v-e7d2de7c]{font-size:13px;color:#495057;font-weight:500;white-space:nowrap}.proportion-item[data-v-e7d2de7c]:not(:last-child):after{content:"•";margin-left:12px;color:#dee2e6}.calculation-info-btn[data-v-e7d2de7c]{background:none;border:1px solid #ddd;padding:6px 12px;border-radius:4px;font-size:12px;color:#666;cursor:pointer;transition:all .2s}.calculation-info-btn[data-v-e7d2de7c]:hover{color:var(--color-primary);border-color:var(--color-primary);background-color:#f0f8ff}.settings-btn[data-v-e7d2de7c]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f8f9fa;color:#666;border:1px solid #e0e0e0;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.settings-btn .iconfont[data-v-e7d2de7c]{font-size:14px}.settings-btn[data-v-e7d2de7c]:hover{background:#e9ecef;color:#333;border-color:#adb5bd}.settings-modal[data-v-e7d2de7c]{max-height:90vh;top:5vh;margin-bottom:0}.settings-content[data-v-e7d2de7c]{padding:16px}.settings-content p[data-v-e7d2de7c]{margin:0;color:#666;line-height:1.6}.calculation-info-modal .calculation-info-content[data-v-e7d2de7c]{max-height:70vh;overflow-y:auto}.calculation-info-modal .calculation-section[data-v-e7d2de7c]{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.calculation-info-modal .calculation-section[data-v-e7d2de7c]:last-child{border-bottom:none;margin-bottom:0}.calculation-info-modal .calculation-title[data-v-e7d2de7c]{font-size:16px;font-weight:600;color:#333;margin:0 0 12px 0;display:flex;align-items:center;gap:8px}.calculation-info-modal .calculation-list[data-v-e7d2de7c]{margin:0;padding-left:20px}.calculation-info-modal .calculation-list li[data-v-e7d2de7c]{margin-bottom:8px;line-height:1.6;color:#555}.calculation-info-modal .calculation-list li[data-v-e7d2de7c]:last-child{margin-bottom:0}.calculation-info-modal .calculation-list li strong[data-v-e7d2de7c]{color:#333;font-weight:600}