.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-55dc9512]{height:100%;display:flex;flex-direction:column;background-color:#f8f9fa}.loading-container[data-v-55dc9512]{height:100%;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa}.loading-content[data-v-55dc9512]{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.loading-spinner[data-v-55dc9512]{width:48px;height:48px;border:4px solid #f3f3f3;border-top:4px solid var(--color-primary);border-radius:50%;animation:spin-55dc9512 1s linear infinite}@keyframes spin-55dc9512{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text[data-v-55dc9512]{font-size:16px;color:#666;margin:0}.error-container[data-v-55dc9512]{height:100%;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa}.error-content[data-v-55dc9512]{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-55dc9512]{font-size:48px;color:#f56565}.error-text[data-v-55dc9512]{font-size:16px;color:#666;margin:0;line-height:1.5}.retry-btn[data-v-55dc9512]{margin-top:8px}.content-container[data-v-55dc9512]{height:100%;display:flex;flex-direction:column}.summary-header[data-v-55dc9512]{background:#fff;padding:20px 24px;border-bottom:1px solid #e0e0e0;flex-shrink:0}.header-top[data-v-55dc9512]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.summary-title[data-v-55dc9512]{font-size:20px;font-weight:600;color:#333;margin:0}.settings-btn[data-v-55dc9512]{display:flex;align-items:center;gap:6px}.settings-btn .iconfont[data-v-55dc9512]{font-size:16px}.title-with-info[data-v-55dc9512]{display:flex;align-items:center;gap:12px}.calculation-info-btn[data-v-55dc9512]{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-55dc9512]:hover{color:var(--color-primary);border-color:var(--color-primary);background-color:#f0f8ff}.summary-description p[data-v-55dc9512]{margin:4px 0;font-size:14px;color:#666}.summary-description p .underline[data-v-55dc9512]{text-decoration:underline}.table-container[data-v-55dc9512]{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-55dc9512]{overflow:auto;max-height:100%}.score-table[data-v-55dc9512]{width:100%;border-collapse:collapse;font-size:14px}.score-table td[data-v-55dc9512],.score-table th[data-v-55dc9512]{padding:12px;text-align:center;border:1px solid #e0e0e0}.score-table .table-header-main[data-v-55dc9512]{background-color:#f8f9fa;font-weight:600;color:#333}.score-table .table-header-main th[data-v-55dc9512]{position:sticky;top:0;z-index:2;background-color:#f8f9fa;border-bottom:1px solid #dcdee2}.score-table .table-header-sub[data-v-55dc9512]{background-color:#f8f9fa;font-weight:600;color:#333}.score-table .table-header-sub th[data-v-55dc9512]{position:sticky;top:50px;z-index:2;background-color:#f8f9fa;border-top:none}.score-table .fixed-column[data-v-55dc9512]{position:sticky;left:0;background-color:#fff;z-index:1}.score-table .fixed-column.seat-column[data-v-55dc9512]{left:0;width:80px;min-width:80px}.score-table .fixed-column.name-column[data-v-55dc9512]{left:80px;width:120px;min-width:120px}.score-table .table-header-main .fixed-column[data-v-55dc9512],.score-table .table-header-sub .fixed-column[data-v-55dc9512]{background-color:#f8f9fa;z-index:3}.score-table .lesson-group-column[data-v-55dc9512]{background-color:#e8f4f8;border:1px solid #dcdee2}.score-table .lesson-sub-column[data-v-55dc9512]{width:90px;min-width:90px;background-color:#f8fcff}.score-table .score-column[data-v-55dc9512]{width:100px;min-width:100px}.score-table .total-column[data-v-55dc9512]{width:100px;min-width:100px;background-color:#f0f8ff}.score-table .rank-column[data-v-55dc9512]{width:80px;min-width:80px}.column-header[data-v-55dc9512]{display:flex;flex-direction:column;align-items:center;gap:4px}.column-title[data-v-55dc9512]{font-weight:600;color:#333}.column-percent[data-v-55dc9512]{display:flex;align-items:center;font-size:12px;color:#666}.score-cell[data-v-55dc9512]{display:flex;flex-direction:column;align-items:center;gap:2px}.score-value[data-v-55dc9512]{font-size:16px;font-weight:600;color:#333}.score-percent[data-v-55dc9512]{font-size:12px;color:#999}.total-score[data-v-55dc9512]{font-size:18px;font-weight:700;color:var(--color-primary)}.rank[data-v-55dc9512]{font-size:16px;font-weight:600;color:#666}.table-row[data-v-55dc9512]:nth-child(2n){background-color:#fafafa}.table-row[data-v-55dc9512]:hover{background-color:#f0f8ff}.summary-footer[data-v-55dc9512]{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-55dc9512]{display:flex;gap:24px;align-items:center}.stat-item[data-v-55dc9512]{display:flex;align-items:center;gap:4px}.stat-label[data-v-55dc9512]{font-size:14px;color:#666}.stat-value[data-v-55dc9512]{font-size:14px;font-weight:600;color:var(--color-primary)}.action-buttons[data-v-55dc9512]{display:flex;gap:12px}.btn[data-v-55dc9512]{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-55dc9512]{background:#fff;color:#666;border-color:#d0d0d0}.btn.btn-outline[data-v-55dc9512]:hover{color:var(--color-primary);border-color:var(--color-primary)}.btn.btn-primary[data-v-55dc9512]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn.btn-primary[data-v-55dc9512]:hover{opacity:.9}.btn.btn-secondary[data-v-55dc9512]{background:#f8f9fa;color:#666;border-color:#e0e0e0}.btn.btn-secondary[data-v-55dc9512]:hover{background:#e9ecef;color:#333;border-color:#adb5bd}.scroll-bar[data-v-55dc9512]::-webkit-scrollbar{width:6px;height:6px}.scroll-bar[data-v-55dc9512]::-webkit-scrollbar-track{background:#f1f1f1}.scroll-bar[data-v-55dc9512]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.scroll-bar[data-v-55dc9512]::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.settings-modal[data-v-55dc9512]{max-height:90vh;top:5vh;margin-bottom:0}@media (max-width:1100px){.settings-modal[data-v-55dc9512]{width:90%!important;max-width:1000px}}@media (max-width:768px){.settings-modal[data-v-55dc9512]{width:95%!important;max-width:1000px;top:2vh;max-height:96vh}}.settings-content .setting-section[data-v-55dc9512]{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.settings-content .setting-section[data-v-55dc9512]:last-child{border-bottom:none;margin-bottom:0}.settings-content .section-title[data-v-55dc9512]{font-size:16px;font-weight:600;color:#333;margin:0 0 12px 0;padding-left:8px;border-left:3px solid var(--color-primary)}.settings-content .setting-label[data-v-55dc9512]{display:inline-block;min-width:80px;font-size:14px;color:#666;margin-right:12px}.settings-content .date-setting[data-v-55dc9512]{display:flex;align-items:center;margin-bottom:8px}.settings-content .setting-description[data-v-55dc9512]{font-size:13px;color:#999;margin-top:8px;padding-left:92px}.settings-content .proportion-grid[data-v-55dc9512]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:12px}.settings-content .proportion-formula[data-v-55dc9512]{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:8px;padding:12px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}@media (max-width:768px){.settings-content .proportion-formula[data-v-55dc9512]{flex-direction:column;align-items:stretch;gap:12px}.settings-content .proportion-formula .proportion-item[data-v-55dc9512]{justify-content:space-between}.settings-content .proportion-formula .operator-symbol[data-v-55dc9512]{align-self:center;margin:6px 0}.settings-content .proportion-formula .total-result[data-v-55dc9512]{align-self:center;margin-top:6px}}.settings-content .proportion-item[data-v-55dc9512]{display:flex;align-items:center}.settings-content .proportion-item .percent-symbol[data-v-55dc9512]{margin-left:8px;font-size:14px;color:#666}.settings-content .operator-symbol[data-v-55dc9512]{font-size:18px;font-weight:600;color:#495057;margin:0 8px;min-width:20px;text-align:center}.settings-content .total-result[data-v-55dc9512]{font-size:16px;font-weight:600;color:#28a745;background-color:#fff;padding:8px 12px;border-radius:6px;border:2px solid #28a745;min-width:60px;text-align:center}.settings-content .total-result.error[data-v-55dc9512]{color:#dc3545;border-color:#dc3545;background-color:#fff5f5}.settings-content .formula-grid[data-v-55dc9512]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-bottom:12px}.settings-content .formula-item[data-v-55dc9512]{display:flex;align-items:center}.settings-content .formula-description[data-v-55dc9512]{background-color:#f8f9fa;padding:12px;border-radius:6px;border:1px solid #e9ecef;margin-top:8px}.settings-content .formula-description p[data-v-55dc9512]{margin:4px 0;font-size:12px;line-height:1.4}.settings-content .formula-description p[data-v-55dc9512]:first-child{margin-top:0}.settings-content .formula-description p[data-v-55dc9512]:last-child{margin-bottom:0}.settings-content .formula-description p strong[data-v-55dc9512]{color:#495057;font-weight:600}.settings-content .total-check[data-v-55dc9512]{font-size:13px;color:#666;text-align:center;margin-top:6px;padding:6px;background-color:#fff3cd;border-radius:4px;border:1px solid #ffeaa7}.settings-content .total-check .error-text[data-v-55dc9512]{color:#dc3545;font-weight:500}.calculation-info-modal .calculation-info-content[data-v-55dc9512]{max-height:70vh;overflow-y:auto}.calculation-info-modal .calculation-section[data-v-55dc9512]{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.calculation-info-modal .calculation-section[data-v-55dc9512]:last-child{border-bottom:none;margin-bottom:0}.calculation-info-modal .calculation-title[data-v-55dc9512]{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-55dc9512]{margin:0;padding-left:20px}.calculation-info-modal .calculation-list li[data-v-55dc9512]{margin-bottom:8px;line-height:1.6;color:#555}.calculation-info-modal .calculation-list li[data-v-55dc9512]:last-child{margin-bottom:0}.calculation-info-modal .calculation-list li strong[data-v-55dc9512]{color:#333;font-weight:600}.calculation-info-modal .calculation-example[data-v-55dc9512]{background-color:#f8f9fa;padding:16px;border-radius:8px;border-left:4px solid var(--color-primary)}.calculation-info-modal .calculation-example p[data-v-55dc9512]{margin:0 0 8px 0;font-weight:600;color:#333}.calculation-info-modal .calculation-example p[data-v-55dc9512]:last-child{margin-top:12px}.calculation-info-modal .calculation-example .calculation-list[data-v-55dc9512]{margin:8px 0}.grade-record-page[data-v-7aa9829b]{height:100%}.grade-record-page__body[data-v-7aa9829b]{display:grid;grid-template-columns:270px auto;height:calc(100vh - 83px)}.grade-record-page__aisle[data-v-7aa9829b]{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-7aa9829b]{display:flex;justify-content:flex-start;align-items:center;margin-bottom:1rem;padding:0 10px;gap:10px}.grade-record-page__main[data-v-7aa9829b]{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-7aa9829b]{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-7aa9829b]{width:48px;height:48px;margin-bottom:16px}.course-select[data-v-7aa9829b]{flex:1;min-width:200px;max-width:300px}.course-list__list[data-v-7aa9829b]{display:flex;flex-direction:column}.course-list__item-title[data-v-7aa9829b]{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-7aa9829b]: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-7aa9829b]{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-7aa9829b]:hover{background-color:var(--color-primary-light-hover)}.course-list__item--active[data-v-7aa9829b]{background-color:var(--color-primary-light-active)!important;color:var(--color-primary);font-weight:700}.course-list__empty[data-v-7aa9829b]{text-align:center;margin:6px 0;padding:32px 16px;color:#999;font-size:14px}.grade-content[data-v-7aa9829b]{height:100%;display:flex;flex-direction:column}.view-mode-bar[data-v-7aa9829b]{display:flex;justify-content:flex-start;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-7aa9829b]{display:flex;gap:2px;background-color:#f0f0f0;border-radius:6px;padding:2px}.view-mode-tab[data-v-7aa9829b]{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-7aa9829b]:hover{color:var(--color-primary)}.view-mode-tab--active[data-v-7aa9829b]{color:var(--color-primary);background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.detail-view[data-v-7aa9829b]{flex:1;display:flex;flex-direction:column;background-color:#f8f9fa}.summary-view[data-v-7aa9829b]{flex:1;overflow-y:auto;background-color:#f8f9fa}.summary-loading[data-v-7aa9829b]{display:flex;justify-content:center;align-items:center;height:100%;min-height:400px}.summary-empty[data-v-7aa9829b]{text-align:center;color:#666}.summary-empty h3[data-v-7aa9829b]{margin-bottom:12px;font-size:18px;font-weight:500}.summary-empty p[data-v-7aa9829b]{font-size:14px;color:#999}.grade-content-area[data-v-7aa9829b]{display:grid;grid-template-columns:280px 1fr;height:100%;gap:0;flex:1}.grade-left-panel[data-v-7aa9829b]{display:flex;flex-direction:column;background-color:#fff;border-right:1px solid #e0e0e0;height:100%}.grade-filter-sidebar[data-v-7aa9829b]{padding:12px 16px;border-bottom:1px solid #e0e0e0;background-color:#fafafa;flex-shrink:0}.grade-items-sidebar[data-v-7aa9829b]{flex:1;overflow-y:auto}.grade-items-list[data-v-7aa9829b]{height:100%}.grade-items-content[data-v-7aa9829b]{padding:8px 0}.grade-item[data-v-7aa9829b]{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-7aa9829b]:hover{background-color:var(--color-primary-light-hover)}.grade-item--active[data-v-7aa9829b]{background-color:var(--color-primary-light-active);color:var(--color-primary);border-left:3px solid var(--color-primary)}.grade-item__name[data-v-7aa9829b]{font-weight:500;margin-bottom:4px;color:#333}.grade-item__date[data-v-7aa9829b]{font-size:12px;color:#666}.grade-tabs[data-v-7aa9829b]{display:flex;gap:8px}.grade-tab[data-v-7aa9829b]{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-7aa9829b]:hover{color:var(--color-primary);border-color:var(--color-primary)}.grade-tab--active[data-v-7aa9829b]{color:#fff;background-color:var(--color-primary);border-color:var(--color-primary)}.grade-list[data-v-7aa9829b]{overflow-y:auto;padding:16px;height:100%}.grade-list__content[data-v-7aa9829b]{height:100%}.grade-list__empty[data-v-7aa9829b]{display:flex;justify-content:center;align-items:center;height:300px;color:#999;font-size:16px}.grade-statistics[data-v-7aa9829b]{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:16px}.statistics-row[data-v-7aa9829b]{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.stat-item[data-v-7aa9829b]{display:flex;align-items:center;gap:4px;flex:1;min-width:120px}.stat-item .stat-label[data-v-7aa9829b]{font-weight:500;color:#555;font-size:14px;white-space:nowrap}.stat-item .stat-value[data-v-7aa9829b]{font-weight:600;color:var(--color-primary);font-size:14px}.stat-item .stat-value--success[data-v-7aa9829b]{color:#52c41a}.stat-item .stat-value--warning[data-v-7aa9829b]{color:#faad14}.stat-item .stat-value--error[data-v-7aa9829b]{color:#f5222d}.stat-item .stat-value--info[data-v-7aa9829b]{color:#1890ff}.grade-table[data-v-7aa9829b]{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden}.grade-table table[data-v-7aa9829b]{width:100%;border-collapse:collapse}.grade-table table th[data-v-7aa9829b]{background-color:#fff;padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:1px solid #e0e0e0}.grade-table table td[data-v-7aa9829b]{padding:12px 16px;border-bottom:1px solid #f0f0f0;color:#555}.grade-table table tr:last-child td[data-v-7aa9829b]{border-bottom:none}.grade-table table tr[data-v-7aa9829b]:hover{background-color:#f8f9fa}.scroll-bar[data-v-7aa9829b]::-webkit-scrollbar{width:6px}.scroll-bar[data-v-7aa9829b]::-webkit-scrollbar-track{background:#f1f1f1}.scroll-bar[data-v-7aa9829b]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.scroll-bar[data-v-7aa9829b]::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.demo-spin-icon-load[data-v-7aa9829b]{animation:ani-demo-spin-7aa9829b 1s linear infinite}@keyframes ani-demo-spin-7aa9829b{0%{transform:rotate(0deg)}50%{transform:rotate(180deg)}to{transform:rotate(1turn)}}.grade-items-empty[data-v-7aa9829b],.grade-items-loading[data-v-7aa9829b]{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-7aa9829b],.grade-items-loading .ivu-icon[data-v-7aa9829b]{margin-bottom:8px}.grade-items-loading[data-v-7aa9829b]{color:#2d8cf0}.grade-items-empty[data-v-7aa9829b]{color:#ccc}