.publish-source-bar{width:100%;min-width:0;box-sizing:border-box}.publish-source-row{display:grid;grid-template-columns:minmax(280px,360px) minmax(420px,1fr);gap:12px;align-items:center;width:100%;min-width:0;margin-bottom:0;box-sizing:border-box}.publish-source-row.scoring-file{grid-template-columns:max-content minmax(160px,200px) minmax(260px,330px) minmax(420px,1fr)}.publish-source-mode-badge{display:inline-flex;align-items:center;justify-content:center;min-height:38px;box-sizing:border-box;border:1px solid #b9c9f1;border-radius:10px;padding:0 14px;background:#edf3ff;color:#315fd9;font-weight:900;white-space:nowrap}.publish-source-file-title{overflow:hidden;color:#172033;text-overflow:ellipsis;white-space:nowrap}.publish-source-course-display{display:flex;align-items:center;gap:5px;min-width:0;color:#334155;white-space:nowrap}.publish-source-course-display>span{flex:0 0 auto;font-weight:900}.publish-source-course-display>strong{overflow:hidden;color:#172033;text-overflow:ellipsis;white-space:nowrap}.publish-source-inline-field{display:flex;align-items:center;gap:7px;min-width:0;margin:0}.publish-source-label{flex:0 0 auto;color:#172033;font-weight:900;white-space:nowrap}.publish-source-course-field select{flex:1 1 auto;width:100%;min-width:0;height:40px;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:11px;padding:0 12px;background:#fff;color:#172033;font:inherit;font-weight:800}.publish-source-class-row{display:flex;align-items:center;gap:10px;min-width:0;min-height:42px;box-sizing:border-box;border:1px solid #dbe3ef;border-radius:12px;padding:7px 13px;background:#fff}.publish-source-class-title{flex:0 0 auto;color:#172033;font-weight:900;white-space:nowrap}.publish-source-class-list{display:flex;flex:1 1 auto;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}.publish-source-class-check{display:inline-flex;align-items:center;gap:5px;margin:0;color:#334155;font-weight:800;white-space:nowrap}.publish-source-class-check input[type=checkbox]{width:16px;min-width:16px;max-width:16px;height:16px;margin:0;padding:0}.publish-source-muted{color:#64748b}.publish-source-mode-row{display:flex;align-items:center;gap:12px;margin-top:10px;margin-bottom:0;color:#64748b}@media(max-width:1280px){.publish-source-row.scoring-file{grid-template-columns:max-content minmax(150px,1fr) minmax(220px,1fr)}.publish-source-row.scoring-file .publish-source-class-row{grid-column:1 / -1}}@media(max-width:900px){.publish-source-row,.publish-source-row.scoring-file{grid-template-columns:1fr}.publish-source-row.scoring-file .publish-source-class-row{grid-column:auto}.publish-source-mode-badge{justify-self:start}.publish-source-class-row{align-items:flex-start;flex-wrap:wrap}}@media(max-width:620px){.publish-source-inline-field,.publish-source-course-display,.publish-source-mode-row{align-items:stretch;flex-direction:column}.publish-source-class-row{align-items:flex-start;flex-direction:column}}.assignment-group-select[data-v-64938a14]{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,320px);align-items:center;gap:10px 18px;padding:12px 14px;border:1px solid #dbe3ef;border-radius:12px;background:#f8fafc}.assignment-group-copy[data-v-64938a14]{display:grid;gap:3px}.assignment-group-copy strong[data-v-64938a14]{color:#0f172a;font-size:14px;font-weight:900}.assignment-group-copy span[data-v-64938a14]{color:#64748b;font-size:12px;line-height:1.5}.assignment-group-select select[data-v-64938a14]{width:100%;height:38px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#0f172a;padding:0 10px;font:inherit;font-weight:800}.assignment-group-error[data-v-64938a14]{grid-column:1 / -1;color:#b91c1c;font-size:12px;font-weight:800}@media(max-width:720px){.assignment-group-select[data-v-64938a14]{grid-template-columns:1fr}}.publish-question-editor{display:grid;gap:10px;min-width:0}.draft-main-line{display:grid;grid-template-columns:minmax(240px,320px) minmax(220px,300px) minmax(280px,1fr);gap:14px;align-items:center;min-width:0;box-sizing:border-box;border:1px solid #e1e8f2;border-radius:12px;padding:9px 14px;background:#f8fafc}.draft-main-line.has-total-score{grid-template-columns:max-content minmax(240px,320px) minmax(220px,300px) minmax(280px,1fr)}.draft-total-score{display:inline-flex;align-items:center;gap:3px;color:#172033;white-space:nowrap}.draft-total-score strong{font-weight:900}.draft-total-score span{font-weight:800}.draft-inline-field{display:flex;align-items:center;gap:7px;min-width:0;margin:0}.draft-inline-field>span:first-child{flex:0 0 auto;color:#172033;font-weight:900;white-space:nowrap}.draft-inline-field input:not(.hidden-file-input){flex:1 1 auto;width:100%;min-width:0;height:40px;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:0 11px;background:#fff;color:#172033;font:inherit}.draft-inline-field input:not(.hidden-file-input):focus{border-color:#5278e8;box-shadow:0 0 0 3px #dfe8ff;outline:none}.hidden-file-input{display:none!important}.draft-detail-file-field{overflow:hidden}.draft-detail-file-field button{flex:0 0 auto;min-height:40px;padding:0 15px;white-space:nowrap}.selected-file-name{overflow:hidden;min-width:0;color:#475569;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.draft-title-line,.draft-title-actions{width:100%;min-width:0}.question-detail-tabs-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:0;align-items:stretch;overflow:hidden;min-width:0;border:1px solid #cbd5e1;border-radius:12px;background:#fff}.question-detail-left-tabs{display:grid;align-content:start;gap:0;box-sizing:border-box;padding:0;border-right:1px solid #d6dfeb;background:#f8fafc}.question-detail-left-tabs button{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:58px;box-sizing:border-box;padding:0 14px;border:0;border-bottom:1px solid #e2e8f0;border-radius:0;background:transparent;color:#475569;font-weight:800;text-align:left;box-shadow:none}.question-detail-left-tabs button:hover:not(.active){background:#f1f5f9;color:#1f2937}.question-detail-left-tabs button.active{background:#eaf1ff;color:#315fd9;font-weight:900;box-shadow:inset 4px 0 #315fd9}.question-detail-current-content{min-width:0}.question-detail-current-content textarea{display:block;width:100%;height:464px;min-height:464px;resize:none;overflow-y:auto;box-sizing:border-box;border:0;border-radius:0;padding:18px 20px;background:#fff;color:#172033;font:inherit;line-height:1.75}.question-detail-current-content textarea::placeholder{color:#7a8494;opacity:1}.question-detail-current-content textarea:focus{box-shadow:inset 0 0 0 2px #5278e8;outline:none}@media(max-width:1180px){.draft-main-line,.draft-main-line.has-total-score{grid-template-columns:repeat(2,minmax(0,1fr))}.draft-detail-file-field{grid-column:1 / -1}}@media(max-width:700px){.draft-main-line,.draft-main-line.has-total-score{grid-template-columns:1fr}.draft-detail-file-field{grid-column:auto}.draft-inline-field,.draft-detail-file-field{align-items:stretch;flex-direction:column}.draft-total-score{min-height:40px}.question-detail-tabs-layout{grid-template-columns:1fr}.question-detail-left-tabs{grid-template-columns:repeat(2,minmax(0,1fr));border-right:0;border-bottom:1px solid #d6dfeb}.question-detail-left-tabs button{justify-content:center;min-height:48px;padding:0 8px;border-right:1px solid #e2e8f0}.question-detail-left-tabs button.active{box-shadow:inset 0 3px #315fd9}}.publish-schedule-block{width:100%;min-width:0}.publish-schedule-actions{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;width:100%;min-width:0;min-height:40px;margin:0;padding:0;box-sizing:border-box;border:0;overflow:visible;font-size:15px;line-height:1}.publish-schedule-notice{width:100%;margin:10px 0 0;box-sizing:border-box}.publish-schedule-error{display:inline-flex;align-items:center;min-width:0;margin:0;padding:0;border:0;background:transparent;color:#dc2626;font-size:15px;font-weight:800;line-height:1.4;white-space:nowrap;flex:0 1 auto}.publish-schedule-box{display:inline-flex;align-items:stretch;height:40px;margin:0;border:1px solid #cbd5e1;border-radius:10px;overflow:hidden;background:#fff;box-sizing:border-box;flex:0 0 auto}.publish-schedule-box>span{display:inline-flex;align-items:center;justify-content:center;height:40px;min-width:76px;padding:0 10px;box-sizing:border-box;background:#f8fafc;border-right:1px solid #cbd5e1;color:#0f172a;font-weight:900;white-space:nowrap}.publish-schedule-box input[type=date]{width:145px;min-width:145px;max-width:145px;height:40px;border:0;border-radius:0;padding:0 10px;box-sizing:border-box;background:#fff;color:#0f172a;font:inherit;font-weight:800;line-height:40px}.publish-schedule-self-grade{display:inline-flex;align-items:center;gap:6px;height:40px;margin:0;padding:0 4px;box-sizing:border-box;color:#0f172a;font-weight:900;white-space:nowrap;flex:0 0 auto}.publish-schedule-self-grade input[type=checkbox]{width:17px;min-width:17px;max-width:17px;height:17px;margin:0;padding:0}.publish-schedule-actions>button{display:inline-flex;align-items:center;justify-content:center;height:40px;min-width:92px;margin:0;padding:0 18px;border-radius:10px;box-sizing:border-box;font-weight:900;line-height:40px;white-space:nowrap;flex:0 0 auto}.publish-schedule-actions>.clear-draft-button{border:1px solid #cbd5e1;background:#fff;color:#475569}.publish-schedule-actions>.clear-draft-button:hover:not(:disabled){border-color:#94a3b8;background:#f1f5f9;color:#334155}@media(max-width:1000px){.publish-schedule-actions{flex-wrap:wrap}}.assignment-publish-page{min-width:0}.assignment-publish-work-card{margin-top:10px;padding:14px 16px 16px;border:1px solid #dbe3ef;border-radius:16px;background:#fff;box-shadow:0 10px 24px #0f172a0d;box-sizing:border-box}.assignment-publish-work-card .publish-source-bar{margin:0 0 10px!important;padding:9px 14px!important;box-sizing:border-box;border:1px solid #e1e8f2!important;border-radius:12px!important;background:#f8fafc!important;box-shadow:none!important}.assignment-publish-work-card .publish-source-summary-row{margin-top:10px!important;margin-bottom:0!important}.assignment-publish-work-card .publish-question-editor{margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.assignment-publish-work-card .draft-title-line{margin:0!important;padding:9px 14px!important;box-sizing:border-box;border:1px solid #e1e8f2!important;border-radius:12px!important;background:#f8fafc!important}.assignment-publish-work-card .question-detail-tabs-layout{margin-top:0!important}.success-box{margin:10px 0;padding:10px 12px;border-radius:10px;background:#ecfdf5;color:#15803d;font-weight:800}@media(max-width:1180px){.assignment-publish-work-card{padding:12px}}.design-workbench{min-width:0}.design-title,.design-pane-title,.design-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.design-title p,.design-note,.design-empty{color:#64748b}.design-note{margin:12px 0;padding:12px 14px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff}.design-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:center;gap:10px;margin:16px 0}.design-check{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.design-check input{width:auto}.design-feedback{margin:10px 0;padding:10px 12px;border-radius:8px}.design-feedback.error{color:#991b1b;background:#fef2f2}.design-feedback.success{color:#166534;background:#f0fdf4}.design-split{display:grid;grid-template-columns:minmax(280px,35%) minmax(0,1fr);gap:16px;min-width:0}.design-pane,.design-stage{min-width:0;padding:14px;border:1px solid #dbe7f5;border-radius:12px;background:#fff}.design-stage+.design-stage{margin-top:14px}.design-list{display:grid;gap:8px}.design-list-item{display:grid;gap:4px;width:100%;text-align:left;background:#f8fafc;color:#334155;border:1px solid #dbe7f5}.design-list-item.active{border-color:#2563eb;background:#eff6ff}.design-list-item small{color:#64748b}.design-meta{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:7px 12px}.design-meta dt{font-weight:700;color:#475569}.design-meta dd{min-width:0;margin:0;overflow-wrap:anywhere}.design-hash{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.design-chip-row{display:flex;flex-wrap:wrap;gap:8px}.design-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.design-form-grid label:not(.design-check){display:grid;gap:6px}.design-form-wide{grid-column:1 / -1}.design-form-grid textarea{min-width:0;resize:vertical}.design-class-fieldset{display:flex;flex-wrap:wrap;gap:10px 18px;margin:14px 0;border:1px solid #dbe7f5;border-radius:10px}.design-confirm{margin-top:12px;padding:14px;border:1px solid #93c5fd;border-radius:10px;background:#eff6ff}.design-admin-box,.design-content-editor{min-width:0;margin:14px 0;padding:14px;border:1px solid #dbe7f5;border-radius:10px;background:#f8fafc}.design-relation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.design-relation-grid fieldset,.design-admin-box fieldset,.design-content-editor fieldset{display:flex;flex-wrap:wrap;gap:8px 16px;min-width:0;margin:10px 0;border:1px solid #cbd5e1;border-radius:8px}.design-json-editor{max-width:100%;overflow-y:auto;overflow-x:hidden;white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.design-danger{background:#b91c1c;color:#fff}.design-danger:disabled,.design-danger:disabled:hover{background:#94a3b8;cursor:not-allowed}.design-primary-action{background:#2563eb;color:#fff}.design-primary-action:disabled{background:#94a3b8;cursor:not-allowed}.design-primary-action:disabled:hover{background:#94a3b8}.design-detail-block details{margin-top:8px}.design-detail-block pre,.design-json{max-height:360px;margin:8px 0;padding:12px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;background:#0f172a;color:#e2e8f0}.design-table-wrap{max-width:100%;overflow-x:auto}.import-view-tabs{margin-bottom:1rem}.scoring-point-context{display:flex;align-items:center;gap:12px 24px;min-width:0;margin-bottom:12px;padding:10px 12px;border:1px solid #dbe7f5;border-radius:10px;background:#f8fafc}.scoring-point-course,.scoring-point-classes,.import-upload-controls{display:flex;align-items:center;min-width:0;gap:8px}.scoring-point-course strong,.scoring-point-classes{overflow-wrap:anywhere}.scoring-point-classes{flex:1 1 auto;flex-wrap:wrap}.import-file-input-hidden{display:none}.import-workbench,.import-workbench pre,.import-workbench td{min-width:0;overflow-wrap:anywhere}.import-workbench pre{max-height:24rem;overflow:auto;white-space:pre-wrap}.import-context-upload-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;min-width:0;padding:10px 12px;border:1px solid #dbe7f5;border-radius:10px;background:#f8fafc}.import-upload-controls{flex:1 1 22rem;flex-wrap:nowrap}.import-upload-controls>span:first-child,.import-upload-controls button{flex:0 0 auto;white-space:nowrap}.import-file-selection{min-width:0;overflow:hidden;color:#64748b;text-overflow:ellipsis;white-space:nowrap}.import-file-button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.import-jobs-stage{margin-top:14px}.import-task-navigation{display:flex;align-items:center;gap:10px;min-width:0}.import-task-scroll{display:flex;flex:1 1 auto;flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;white-space:nowrap}.import-candidate-table tbody tr{cursor:pointer}.import-candidate-table tbody tr.active{background:#eff6ff;outline:1px solid #2563eb;outline-offset:-1px}.import-job-cell{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;max-width:220px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.import-delete-task{flex:0 0 auto;white-space:nowrap}.import-job-cell.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.import-job-detail-summary{margin:14px 0 12px;font-weight:700;overflow-wrap:anywhere}.import-review-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;min-width:0;margin-top:14px}.import-batch-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}.import-batch-results ul{display:grid;gap:6px;max-height:240px;overflow:auto;padding-left:20px}.import-batch-results li{display:flex;align-items:center;justify-content:space-between;gap:8px}.import-select-column{width:34px;min-width:34px;text-align:center}.import-candidate-table .status-draft{color:#64748b}.import-candidate-table .status-confirmed{color:#2563eb}.import-candidate-table .status-pending{color:#b45309}.import-candidate-table .status-reviewed,.import-materialized-badge{color:#15803d}.import-candidate-table .status-needs-changes{color:#c2410c}.import-materialized-badge{font-size:.75rem;white-space:nowrap}.import-candidate-list,.import-candidate-review{min-width:0;overflow:auto}.import-candidate-keys dd{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.import-candidate-info{min-width:0;margin-bottom:12px;border:1px solid #dbe3ef;border-radius:8px}.import-candidate-info-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border:0;background:#f8fafc;color:#1e293b;text-align:left}.import-candidate-info-content{min-width:0;padding:10px}.import-info-subtitle{margin:12px 0 8px}.import-review-heading,.import-inline-form,.import-review-notes,.import-review-actions{display:flex;align-items:center;gap:10px}.action-help-anchor{position:relative;display:inline-flex;flex:0 0 auto}.action-help-anchor:focus{outline:2px solid #2563eb;outline-offset:2px;border-radius:6px}.action-help-bubble{position:absolute;z-index:30;left:0;top:calc(100% + 8px);width:max-content;max-width:min(320px,80vw);padding:8px 10px;color:#1f2937;background:#fff;border:1px solid #cbd5e1;border-radius:6px;box-shadow:0 6px 18px #0f172a29;font-size:13px;line-height:1.5;white-space:normal}.import-review-heading{flex-wrap:wrap;margin-bottom:10px}.import-review-progress{color:#475569;font-size:.88rem;white-space:nowrap}.import-candidate-workflow{display:grid;gap:8px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #dbeafe}.import-workflow-title{display:flex;align-items:center;gap:5px;font-weight:700}.import-candidate-workflow ol{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}.import-candidate-workflow li{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid #cbd5e1;border-radius:999px;color:#64748b;font-size:.82rem}.import-candidate-workflow li>span{font-weight:700}.import-candidate-workflow li.completed{border-color:#86efac;background:#f0fdf4;color:#166534}.import-candidate-workflow li.current{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.import-candidate-workflow p{margin:0;overflow-wrap:anywhere}.import-blocking-groups{display:grid;gap:6px;max-height:320px;overflow-y:auto}.import-blocking-group{min-width:0;padding:5px 7px;border:1px solid #fecaca;border-radius:6px;background:#fff}.import-blocking-group summary{cursor:pointer;overflow-wrap:anywhere}.import-blocking-group ul{display:grid;gap:5px;margin:7px 0 0;padding-left:20px}.import-blocking-group li{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}.import-blocking-group li>span{min-width:0;overflow-wrap:anywhere}.import-first-blocker{margin-bottom:10px}.import-materialization-lock{min-width:0;margin:0;padding:0;border:0}.import-materialization-results{margin-bottom:12px}.import-materialization-results h4{margin:0 0 8px}.import-analysis-reasons{min-width:0;margin-top:12px;padding-top:10px;border-top:1px solid #dbeafe}.import-analysis-reasons h4{margin:0 0 8px}.import-analysis-reasons dd span{display:block;margin-top:3px;overflow-wrap:anywhere;color:#64748b}.import-review-warning,.import-review-warnings{color:#475569}.import-review-warnings{margin:6px 0 0;padding-left:20px}.import-review-heading h3,.import-rule-summary h4,.import-existing-selector h4{margin:0}.import-inline-form{flex-wrap:wrap}.import-inline-form label,.import-review-notes{display:inline-flex;align-items:center;gap:7px;min-width:0}.import-inline-form label>span:first-child,.import-review-notes>span:first-child{flex:0 0 auto;white-space:nowrap}.import-inline-form input,.import-inline-form select,.import-review-notes input{min-width:0;width:min(220px,100%)}.import-full-field-row{display:flex;flex:1 1 100%;width:100%;min-width:0;align-items:center;gap:7px}.import-full-field-row>span:first-child{flex:0 0 auto;white-space:nowrap}.import-full-field-row>input{flex:1 1 auto;width:100%;min-width:0}.import-field-help,.muted-text{color:#64748b}.import-help-icon{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;min-height:1.4rem;padding:0;border:0;background:transparent;color:#2563eb;cursor:pointer;font-size:.9rem}.import-help-icon:focus-visible{border-radius:50%;outline:2px solid #2563eb;outline-offset:2px}.help-popover-anchor{display:inline-flex;flex:0 0 auto}.help-popover-bubble{position:fixed;z-index:1200;display:grid;gap:6px;width:min(320px,calc(100vw - 24px));max-width:calc(100vw - 24px);padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 8px 24px #0f172a2e;color:#334155;font-size:.88rem;line-height:1.55;overflow-wrap:anywhere;white-space:normal}.help-popover-bubble strong{color:#0f172a}.error-text{color:#b91c1c}.import-rule-section,.import-existing-selector,.import-evidence-roles{margin-top:12px}.import-rule-section{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.import-rule-heading{display:flex;width:100%;align-items:center;gap:5px;padding:7px 10px;border:0;background:#f8fafc;color:#1e293b}.import-rule-heading>span[aria-hidden]{margin-left:auto}.import-rule-title-button{padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:left}.import-rule-error{color:#b91c1c;font-size:.82rem}.import-rule-content{min-width:0;padding:10px}.import-rule-content label{display:block;margin-top:10px}.import-unresolved-content{display:grid;gap:10px}.import-unresolved-item{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid #dbeafe;border-radius:8px;background:#f8fafc}.import-unresolved-item label{display:flex;align-items:center;gap:8px;min-width:0}.import-unresolved-item label>span{flex:0 0 auto;white-space:nowrap}.import-unresolved-item input,.import-unresolved-item select{flex:1 1 auto;min-width:0}.import-unresolved-item pre{max-width:100%;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.import-unresolved-item h5,.import-unresolved-item p{margin:0}.import-unresolved-simple-actions{display:flex;flex-wrap:wrap;gap:7px}.import-unresolved-advanced{border-top:1px solid #dbeafe;padding-top:7px}.import-evidence-roles .design-check{display:inline-flex;align-items:center;margin:4px 12px 4px 0}.import-review-notes{margin:12px 0}.import-review-notes input{width:100%}.import-existing-results{display:grid;gap:6px;max-height:180px;margin-top:10px;overflow-y:auto}.import-existing-results label{display:flex;align-items:flex-start;gap:7px;padding:7px;border:1px solid #e2e8f0;border-radius:7px}.import-review-actions{align-items:flex-start;flex-wrap:wrap;margin-top:12px}.copy-value{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.import-candidate-table th,.import-candidate-table td{max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:900px){.import-review-layout{grid-template-columns:minmax(0,1fr)}}.design-table-wrap table{width:100%;border-collapse:collapse}.design-table-wrap th,.design-table-wrap td{padding:8px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}.spec-stage-wide{grid-column:1 / -1}.spec-maintenance,.spec-maintenance *{min-width:0;box-sizing:border-box}.design-filter-row,.spec-evidence-grid,.spec-json-grid{display:grid;gap:12px}.design-filter-row{grid-template-columns:repeat(5,minmax(0,1fr))}.spec-json-grid,.spec-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.design-editor-card,.spec-evidence-card{margin-top:14px;padding:14px;border:1px solid #dbe3ef;border-radius:10px;background:#fff}.design-editor-card textarea,.spec-evidence-card textarea,.design-json-editor{width:100%;min-height:86px;resize:vertical;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.design-json-editor{min-height:150px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.spec-evidence-card label{display:block;margin:7px 0}.spec-maintenance .design-table-wrap tbody tr{cursor:pointer}.spec-maintenance .design-table-wrap tbody tr:hover{background:#f8fafc}.plan-maintenance,.plan-maintenance *{min-width:0;box-sizing:border-box}.point-candidate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.point-candidate,.binding-row{display:grid;gap:7px;padding:10px;border:1px solid #dbe3ef;border-radius:8px;background:#f8fafc;overflow-wrap:anywhere}.binding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.compat-warning{display:block;margin-top:4px;color:#b45309;overflow-wrap:anywhere}.plan-maintenance textarea,.plan-maintenance pre{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:900px){.design-split,.design-form-grid,.design-relation-grid,.design-filter-row,.spec-json-grid,.spec-evidence-grid,.point-candidate-grid,.binding-grid{grid-template-columns:1fr}.design-form-wide{grid-column:auto}.design-title,.design-pane-title,.design-action-row,.scoring-point-context{align-items:flex-start;flex-wrap:wrap}.import-upload-controls{flex-wrap:wrap}.import-inline-form,.import-full-field-row{align-items:stretch;flex-direction:column}.import-review-notes{align-items:center;flex-direction:row}.import-inline-form label,.import-inline-form input,.import-inline-form select,.import-review-notes input{width:100%}}.qa-create{display:grid;gap:14px}.qa-mode-row,.qa-line,.qa-actions,.qa-downloads,.qa-success{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px}.qa-template-entry{display:inline-flex;align-items:center;white-space:nowrap}.qa-create button.qa-template-download{color:#5f6f82;font-size:12px}.qa-mode-row,.qa-card{border:1px solid #d9e2ec;border-radius:8px;background:#fff;padding:14px 16px}.qa-mode-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% + 28px);margin:-14px -14px 0;gap:0;overflow:hidden;padding:0;border:0;border-bottom:1px solid #d9e2ec;border-radius:11px 11px 0 0}.qa-mode-row .qa-creation-mode-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:46px;margin:0;border:0;border-radius:0;padding:4px 14px;background:#fff;color:#334155;font-size:16px;font-family:inherit;font-weight:500;line-height:1.25;text-align:center;white-space:normal;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.qa-mode-row .qa-creation-mode-tab+.qa-creation-mode-tab{border-left:1px solid #d9e2ec}.qa-mode-row .qa-creation-mode-tab:hover{background:#f7faff}.qa-mode-row .qa-creation-mode-tab.is-active{background:#f3f7ff;color:#1677ff;font-weight:600;outline:none;box-shadow:inset 0 -2px #1677ff}.qa-mode-row .qa-creation-mode-tab:focus-visible{outline:none}.qa-mode-row .qa-creation-mode-tab:focus-visible .qa-creation-mode-tab-label{outline:1px dashed #1677ff;outline-offset:3px;border-radius:3px}.qa-card{display:grid;gap:14px}.qa-line label,.qa-mode-row label,.qa-long{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.qa-line-top,.qa-long{align-items:flex-start}.qa-grow{flex:1 1 520px}.qa-create input,.qa-create select,.qa-create textarea,.qa-create button{box-sizing:border-box;border-radius:5px;font:inherit}.qa-create input,.qa-create select,.qa-create textarea{border:1px solid #b9c7d5;background:#fff}.qa-create input,.qa-create select{min-height:32px;padding:4px 8px}.qa-create input[type=number]{width:7ch}.qa-create input[type=radio],.qa-create input[type=checkbox]{min-height:auto}.qa-create textarea{min-height:78px;padding:8px;resize:vertical;white-space:pre-wrap}.qa-long textarea{flex:1 1 auto}.qa-answer{min-height:150px!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important}.qa-create button{min-height:30px;border:1px solid #1677ff;background:#1677ff;color:#fff;padding:4px 12px;white-space:nowrap;cursor:pointer}.qa-create button.secondary,.qa-create button.link{background:#fff;color:#245f9e}.qa-create button.link{border-color:transparent;padding-inline:3px}.qa-create button:disabled{cursor:not-allowed;opacity:.55}.qa-help{display:inline-grid;width:18px;height:18px;margin-left:5px;place-items:center;border-radius:50%;background:#e9f2ff;color:#1565c0;cursor:help}.qa-local-warning,.qa-feedback,.qa-success{border-radius:6px;padding:9px 12px;background:#fff8e6;color:#7a4d00}.qa-feedback{margin:0;background:#eef8f1;color:#23623a}.qa-feedback.error{background:#fff0f0;color:#a61b1b}.qa-success{background:#eef8f1;color:#23623a}.qa-draft-section{display:grid;gap:10px;min-width:0;padding:12px;border:1px solid #e2e8f0;border-radius:7px;background:#fbfdff}.qa-draft-section.qa-draft-compact-info{border:0;background:#f5f8fb}.qa-draft-section h4{margin:0}.qa-draft-summary-line,.qa-draft-file-row{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qa-draft-file-row,.qa-draft-name-line{display:flex;align-items:center;flex-wrap:nowrap;gap:12px}.qa-draft-name-line>span:first-child{flex:0 0 auto;white-space:nowrap}.qa-draft-name-line input{width:auto;min-width:0;flex:1}.qa-draft-question-preview{--qa-draft-question-content-height: 260px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.qa-draft-compact-info+.qa-draft-question-preview,.qa-draft-question-preview+.qa-draft-requirements,.qa-draft-requirements+.qa-draft-files-points{margin-top:12px}.qa-draft-requirements{display:grid;gap:10px}.qa-draft-requirements-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.qa-draft-requirements-head>h4{margin:0}.qa-draft-add-requirement{width:auto;flex:0 0 auto;white-space:nowrap}.qa-draft-requirements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;min-width:0}.qa-draft-requirement-item{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;background:#fbfdff}.qa-draft-requirement-item>strong,.qa-draft-requirement-item>span{flex:0 0 auto;white-space:nowrap}.qa-draft-requirement-modes{display:inline-flex;align-items:center;gap:16px;margin-left:auto;white-space:nowrap}.qa-draft-requirement-modes label{display:inline-flex;align-items:center;gap:5px;color:#334155;font-size:13px;font-weight:700;cursor:pointer}.qa-draft-requirement-modes input[type=radio]{width:15px;height:15px;margin:0;accent-color:#2563eb;cursor:pointer}.qa-draft-requirement-modes input[type=radio]:disabled{cursor:not-allowed}.qa-draft-custom-fields{display:grid;grid-template-columns:minmax(100px,1fr) minmax(90px,.8fr);gap:6px;min-width:0;flex:1 1 auto}.qa-draft-custom-fields input{width:100%;min-width:0;box-sizing:border-box}.qa-danger-text{color:#b91c1c}.qa-draft-question-pane,.qa-draft-preview-pane{display:grid;align-content:start;gap:10px;min-width:0;padding:12px;border:1px solid #e2e8f0;border-radius:7px;background:#fbfdff}.qa-draft-question-pane h4,.qa-draft-preview-pane h4{margin:0}.qa-draft-question-content{box-sizing:border-box;width:100%;min-width:0;height:var(--qa-draft-question-content-height);min-height:var(--qa-draft-question-content-height);max-height:var(--qa-draft-question-content-height);margin:0;overflow-x:hidden;overflow-y:auto;white-space:pre-wrap;overflow-wrap:anywhere}textarea.qa-draft-question-content{resize:none}.qa-assignment-detail-line{min-height:1.5em;text-indent:2em;white-space:pre-wrap;overflow-wrap:anywhere}.qa-assignment-detail-line.numbered{text-indent:0}.qa-assignment-detail-line.blank{min-height:1em}.qa-draft-file-row .active{border-color:#2f80d0;background:#e9f3ff;color:#155fa0}.qa-template-system-preview{margin:2px 0 4px;padding:10px 12px;border:1px solid #cbd8e5;border-radius:5px;background:#f6f9fc}.qa-template-system-preview pre{margin:6px 0 0;white-space:pre-wrap}.qa-draft-files-points{--qa-draft-file-summary-height: 132px;--qa-draft-file-instructions-height: 130px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;min-width:0}.qa-draft-files-pane,.qa-draft-points-pane{min-width:0}.qa-draft-points-pane{display:flex;flex-direction:column}.qa-draft-files-pane{gap:10px}.qa-draft-files-pane h5{margin:2px 0 0}.qa-draft-file-row,.qa-draft-points-pane>h4{min-height:30px}.qa-draft-points-pane>h4{display:flex;align-items:center}.qa-draft-file-instructions{box-sizing:border-box;width:100%;height:var(--qa-draft-file-instructions-height);min-height:var(--qa-draft-file-instructions-height);max-height:var(--qa-draft-file-instructions-height);margin:0;overflow-x:hidden;overflow-y:auto;white-space:pre-wrap;overflow-wrap:anywhere;resize:none}.qa-draft-file-instructions-readonly{border:1px solid #b9c7d5;background:#fff}.qa-draft-file-summary,.qa-draft-points-summary{box-sizing:border-box;margin:0;padding:10px 12px;border:1px solid #cbd8e5;border-radius:5px;background:#f6f9fc;overflow-x:hidden;overflow-y:auto}.qa-draft-file-summary{height:var(--qa-draft-file-summary-height);min-height:var(--qa-draft-file-summary-height);max-height:var(--qa-draft-file-summary-height)}.qa-draft-points-summary{flex:1 1 auto;height:auto;min-height:var(--qa-draft-file-summary-height);max-height:none}.qa-draft-files-pane>.qa-actions{margin-top:2px}.qa-draft-points-pane ol{padding:10px 12px 10px 34px}.qa-draft-actions{margin-top:14px}.qa-draft-conflict{padding:12px;border:1px solid #e7a33e;border-radius:7px;background:#fff8e8}.qa-draft-conflict p{margin-top:0}.qa-draft-section>label,.qa-draft-grid{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.qa-draft-section>label:not(.qa-draft-name-line) input,.qa-draft-section>textarea{width:100%}.qa-draft-section pre{max-width:100%;margin:0;padding:10px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f8fb}.qa-pending{overflow-x:auto}.qa-pending table{width:100%;min-width:1180px;border-collapse:collapse;table-layout:fixed}.qa-pending th,.qa-pending td{border-bottom:1px solid #e5eaf0;padding:8px;text-align:center;vertical-align:middle}.qa-pending td input:not([type=checkbox]),.qa-pending td select{width:100%;max-width:none}.qa-col-select{width:50px}.qa-col-sequence{width:70px}.qa-col-name{width:260px}.qa-col-device{width:180px}.qa-col-business{width:220px}.qa-col-score{width:90px}.qa-col-status,.qa-col-evidence{width:150px}.qa-confirmation-snapshot{overflow-x:hidden}.qa-confirmation-snapshot .qa-confirmation-table{width:100%;min-width:0;table-layout:fixed}.qa-snapshot-adopted{width:5%}.qa-snapshot-source-order{width:8%}.qa-snapshot-name{width:39%}.qa-snapshot-device{width:16%}.qa-snapshot-category{width:20%}.qa-snapshot-score{width:5%}.qa-snapshot-status{width:7%}.qa-confirmation-table .qa-snapshot-text{text-align:left}.qa-confirmation-table .qa-snapshot-name-cell,.qa-confirmation-table .qa-snapshot-ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qa-evidence-heading,.qa-evidence-cell{text-align:center;vertical-align:middle}.qa-evidence-trigger{display:flex;align-items:center;justify-content:center}.qa-evidence-toggle{border:1px solid #1677ff;border-radius:5px;background:#fff;color:#245f9e;padding:4px 9px;white-space:nowrap;cursor:pointer}.qa-point-name-input{width:100%;white-space:normal}.qa-status-tag{display:inline-block;border-radius:4px;background:#eef3f8;color:#40546b;padding:3px 7px;white-space:nowrap}.qa-status-tag.status-ready_to_confirm{background:#eaf7ee;color:#237a3b}.qa-status-tag.status-needs_review{background:#fff4df;color:#9a5b00}.qa-candidate-row td{height:48px;vertical-align:middle}.qa-candidate-evidence-row>td{padding:10px 12px;text-align:left;vertical-align:top}.qa-candidate-evidence-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;border:1px solid #dbe4ee;border-radius:6px;background:#f8fafc;padding:10px 12px;white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-align:left}.qa-candidate-evidence-panel h5,.qa-candidate-evidence-panel dl,.qa-candidate-evidence-panel dd{margin:0}.qa-candidate-evidence-panel h5{margin-bottom:6px}.qa-candidate-evidence-panel dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:5px 8px}.qa-candidate-evidence-panel dt{color:#627286;white-space:nowrap}.qa-candidate-evidence-panel dd{min-width:0;overflow-wrap:anywhere;word-break:break-word}.qa-candidate-evidence-actions{grid-column:1 / -1;display:flex;justify-content:flex-end}.qa-excluded-pending{border:1px solid #e1e6ec;border-radius:6px;padding:9px 12px}.qa-excluded-pending>summary{color:#586a7e;cursor:pointer;font-weight:600}.qa-excluded-list{display:grid;gap:8px;margin-top:10px}.qa-excluded-item{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto auto auto;align-items:center;gap:8px 12px;border-top:1px solid #edf0f4;padding-top:8px}.qa-excluded-item strong{min-width:0;overflow-wrap:anywhere}.qa-excluded-evidence{grid-column:1 / -1}.qa-upload-line{display:flex;align-items:center;flex-wrap:nowrap;gap:10px 12px;min-width:0}.qa-upload-line>label,.qa-file-field{display:inline-flex;align-items:center;flex:0 1 auto;gap:7px;min-width:0;white-space:nowrap}.qa-upload-line select{max-width:210px}.qa-file-input{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;border:0!important;white-space:nowrap!important}.qa-file-count{max-width:170px;min-height:auto!important;border:0!important;background:transparent!important;color:#245f9e!important;padding:2px!important;text-align:left;white-space:nowrap}.qa-file-selected-status{color:#65758b;font-size:13px;white-space:nowrap}.qa-file-name,.qa-attachment-name,.qa-editor-file-name{min-width:0;max-width:none;overflow-wrap:anywhere;word-break:break-word;white-space:normal;line-height:1.5}.qa-file-name{min-height:auto!important;border:0!important;background:transparent!important;color:#245f9e!important;padding:0!important;text-align:left}.qa-selected-files{display:grid;gap:10px;border:1px solid #e0e7ef;border-radius:6px;padding:10px 12px}.qa-selected-files-head,.qa-selected-files-actions,.qa-editor-actions,.qa-editor-meta,.qa-file-row-actions{display:flex;align-items:center;gap:8px}.qa-selected-files-head{justify-content:space-between}.qa-selected-files-actions{flex-wrap:nowrap}.qa-selected-files-list{display:grid;gap:7px;min-width:0}.qa-file-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;border:1px solid #d8e1eb;border-radius:6px;background:#fff;padding:7px 9px}.qa-file-row.active{border-color:#2f80d0;background:#f2f8ff;box-shadow:inset 3px 0 #2f80d0}.qa-file-role,.qa-file-type,.qa-file-dirty{border-radius:4px;background:#eef3f8;color:#4a5b70;padding:2px 6px;font-size:12px;white-space:nowrap}.qa-file-dirty{background:#fff1db;color:#a15c00}.qa-file-row-actions{flex-wrap:nowrap}.qa-file-row-actions button{white-space:nowrap}.qa-small-button,.qa-compact-danger{min-height:28px!important;padding:3px 9px!important}.qa-compact-danger{border-color:#d14343!important;background:#fff!important;color:#b42318!important}.qa-inline-issue{margin:0;border-radius:5px;background:#fff0f0;color:#a61b1b;padding:7px 10px}.qa-duplicate-source{display:grid;gap:10px;padding:12px;border:1px solid #fdba74;border-radius:8px;background:#fff7ed;color:#9a3412}.qa-duplicate-source dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;margin:0}.qa-duplicate-source dd{margin:0;overflow-wrap:anywhere;color:#334155}.qa-duplicate-source-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}@media(max-width:640px){.qa-duplicate-source dl{grid-template-columns:1fr;gap:3px}}.qa-text-editor{display:grid;gap:8px;border:1px solid #cbd8e6;border-radius:7px;padding:10px 12px}.qa-editor-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0}.qa-editor-meta{min-width:0;flex-wrap:wrap}.qa-editor-file-name{flex:1 1 240px}.qa-editor-actions{flex-wrap:nowrap;white-space:nowrap}.qa-editor-help{margin:0;color:#65758b;font-size:13px}.qa-dirty-text{color:#b54708;font-weight:600}.qa-editor-body{display:grid;grid-template-columns:54px minmax(0,1fr);height:360px;overflow:hidden;border:1px solid #aebdcb;border-radius:5px;background:#f7f9fb}.qa-text-editor.expanded .qa-editor-body{height:600px}.qa-line-numbers{height:100%;margin:0;overflow:hidden;border-right:1px solid #d7e0e9;background:#f1f4f7;color:#7a8795;padding:10px 8px;text-align:right;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;-webkit-user-select:none;user-select:none}.qa-editor-body textarea{width:100%;height:100%;min-height:0;resize:none;border:0;border-radius:0;outline:none;padding:10px 12px;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;-moz-tab-size:2;tab-size:2;white-space:pre;overflow:auto}.qa-template-validation ul{margin:0;color:#a61b1b}.qa-validation-ok{margin:0;color:#237a3b}.qa-validation-neutral{margin:0;color:#65758b}.qa-parse-overview{display:grid;gap:8px;border:0;border-radius:7px;background:#f5f8fb;padding:10px 14px}.qa-parse-overview+.qa-pending{margin-top:16px}.qa-overview-section{display:grid;gap:5px}.qa-overview-section h4{margin:0}.qa-stat-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}.qa-stat-tags>span,.qa-data-tag{border-radius:5px;background:#eef3f8;padding:2px 7px}.qa-stat-tags .qa-score-ok{background:#eaf7ee;color:#237a3b}.qa-stat-tags .qa-score-warning{background:#fff4df;color:#9a5b00}.qa-stat-line{flex-wrap:wrap}.qa-stat-tags .qa-ready-stat{background:#eaf7ee;color:#237a3b}.qa-stat-tags .qa-pending-stat{background:#fff4df;color:#9a5b00}.qa-stat-tags .qa-unmatched-stat{background:#fff0f0;color:#b42318}.qa-generated-groups{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);align-items:start;gap:6px 16px;min-width:0}.qa-generated-device,.qa-parameter-candidates,.qa-submission-files{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;min-width:0}.qa-generated-groups strong{white-space:nowrap}.qa-generated-details{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px 16px;min-width:0}.qa-parameter-candidates{flex:1 1 220px}.qa-submission-files{flex:0 1 auto}.qa-candidate-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;box-sizing:border-box;width:100%;padding:16px 0 0}.qa-candidate-footer-left,.qa-candidate-footer-right{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px}.qa-candidate-footer-right{justify-content:flex-end;margin-left:auto}.qa-candidate-pagination{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 12px;box-sizing:border-box;width:100%;padding:16px 0 0;color:#526579}.qa-candidate-pagination button{padding:5px 10px}.qa-candidate-pagination strong{color:#26384a;white-space:nowrap}.qa-parameter-card{display:flex;align-items:center;flex-wrap:wrap;gap:6px 9px;border:1px solid #dbe4ee;border-radius:6px;background:#fff;padding:6px 8px}.qa-parameter-confirmed{color:#237a3b}.qa-parameter-pending{color:#9a5b00}.qa-parameter-confirm-button{border-color:#1677ff;background:#1677ff;color:#fff}.qa-existing-source{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 14px;padding:10px 12px;border:0;border-radius:7px;background:#f5f8fb}.qa-workflow-steps{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;margin:0}.qa-workflow-steps button{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;min-width:150px;padding:8px 10px;border:1px solid #cbd8e6;border-radius:7px;background:#fff;color:#334155}.qa-workflow-steps button.current{border-color:#2563eb;background:#eff6ff}.qa-workflow-steps button.completed{border-color:#86c99a;background:#f0fdf4}.qa-workflow-steps button b{grid-row:1 / 3}.qa-workflow-steps button small{color:#64748b}.qa-workflow-step-card{border:1px solid #dbe4ee;border-radius:8px;padding:16px}.qa-workflow-step-card+.qa-workflow-step-card{margin-top:10px}.qa-workflow-step-card>header{display:flex;justify-content:space-between;align-items:center;gap:12px}.qa-workflow-step-card>header h3{margin:0}.qa-confirmation-summary,.qa-step-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:10px 0;padding:10px 12px;border-radius:7px;background:#f5f8fb}.qa-version-confirm{margin:10px 0;padding:10px 12px;border:1px solid #e8b85c;border-radius:7px;background:#fffaf0}.qa-scoring-plan-step{display:grid;gap:12px}.qa-scoring-plan-step>*{min-width:0}.qa-plan-summary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:9px 10px;border:0;border-radius:7px;background:#f8fbff}.qa-plan-review-grid{display:grid;grid-template-columns:minmax(300px,35fr) minmax(0,65fr);align-items:start;gap:16px;min-width:0}.qa-plan-review-left{display:grid;gap:12px;min-width:0}.qa-plan-section{min-width:0;padding:10px 12px;border:0;border-radius:7px;background:#f8fbff}.qa-plan-section h4{margin:0 0 8px}.qa-plan-mappings{display:grid;gap:7px}.qa-plan-mappings b{margin-right:4px}.qa-plan-validation.passed{background:#f3faf5}.qa-plan-validation-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.qa-plan-validation-list li{display:flex;align-items:center;gap:7px;min-width:0}.qa-plan-validation-list:not(.errors) li>span{color:#15803d;font-weight:800}.qa-plan-validation-list.errors li{justify-content:space-between;align-items:flex-start}.qa-plan-validation-message{display:inline-flex;align-items:flex-start;gap:7px;color:#b42318}.qa-plan-validation-message>span{font-weight:800}.qa-plan-validation-actions{display:inline-flex;flex:0 0 auto;gap:6px}.qa-plan-validation-actions button{min-height:30px;padding:4px 9px}.qa-plan-generate-actions{margin:0}.qa-plan-points{overflow:hidden}.qa-plan-table{width:100%;table-layout:fixed}.qa-plan-table .qa-plan-order{width:8%}.qa-plan-table .qa-plan-name{width:52%}.qa-plan-table .qa-plan-score{width:12%}.qa-plan-table .qa-plan-file{width:28%}.qa-plan-table th:nth-child(2),.qa-plan-table td:nth-child(2),.qa-plan-table th:nth-child(4),.qa-plan-table td:nth-child(4){text-align:left}.qa-plan-table td:nth-child(2),.qa-plan-table td:nth-child(4){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qa-plan-table th:nth-child(1),.qa-plan-table td:nth-child(1),.qa-plan-table th:nth-child(3),.qa-plan-table td:nth-child(3){text-align:center}@media(max-width:900px){.qa-plan-review-grid{grid-template-columns:minmax(0,1fr)}}.qa-scoring-config-section{min-width:0;max-width:100%;overflow:hidden}.qa-scoring-file-summary{display:grid;gap:7px;padding:9px 10px;border-radius:7px;background:#f8fbff}.qa-scoring-file-summary p{margin:0}.qa-file-requirements{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;min-width:0}.qa-file-requirements>span{overflow-wrap:anywhere}.qa-file-requirements b{font-weight:600;color:#334155}.qa-scoring-file-validation.passed{background:#f3faf5}.qa-scoring-file-warnings{display:grid;gap:7px;margin:8px 0 0;padding:0;list-style:none;color:#9a6700}.qa-scoring-file-warnings li{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.qa-scoring-file-artifact-summary p{margin:5px 0 0}.qa-scoring-config-table{box-sizing:border-box;width:100%;max-width:100%;table-layout:fixed}.qa-scoring-config-table .qa-config-order{width:52px}.qa-scoring-config-table .qa-config-name{width:29%}.qa-scoring-config-table .qa-config-score{width:64px}.qa-scoring-config-table .qa-config-file{width:130px}.qa-scoring-config-table .qa-config-detail{width:auto}.qa-scoring-config-table .qa-config-operation{width:76px}.qa-scoring-config-table th,.qa-scoring-config-table td{padding:7px 6px}.qa-scoring-config-table th:nth-child(1),.qa-scoring-config-table td:nth-child(1),.qa-scoring-config-table th:nth-child(3),.qa-scoring-config-table td:nth-child(3),.qa-scoring-config-table th:nth-child(6),.qa-scoring-config-table td:nth-child(6){text-align:center}.qa-scoring-config-table th:nth-child(2),.qa-scoring-config-table td:nth-child(2),.qa-scoring-config-table th:nth-child(4),.qa-scoring-config-table td:nth-child(4),.qa-scoring-config-table th:nth-child(5),.qa-scoring-config-table td:nth-child(5){text-align:left}.qa-scoring-config-table tr:not(.qa-config-editor-row) td:nth-child(2){overflow-wrap:anywhere;white-space:normal}.qa-scoring-config-table tr:not(.qa-config-editor-row) td:nth-child(4),.qa-scoring-config-table tr:not(.qa-config-editor-row) td:nth-child(5){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qa-config-detection{min-width:0}.qa-config-detection>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qa-config-operation-cell{vertical-align:middle}.qa-config-edit-link{min-width:52px;min-height:30px;padding:3px 8px;font-size:12px;white-space:nowrap}.qa-config-editor-row td{padding:9px;background:#f8fbff}.qa-config-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.qa-config-editor label{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:8px}.qa-config-editor input{box-sizing:border-box;width:100%;min-width:0}.qa-discard-area{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.qa-discard-confirm{display:grid;gap:8px;padding:10px;border:1px solid #fecaca;border-radius:7px;background:snow}.qa-discard-confirm p,.qa-discard-confirm ul{margin:0}.qa-publish-info{display:grid;gap:10px;margin:0;padding:12px 14px;border-radius:7px;background:#f5f8fb}.qa-publish-info-row{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:12px;min-width:0}.qa-publish-info-label{font-weight:600;white-space:nowrap}.qa-publish-info-value{min-width:0}.qa-publish-info-row>.qa-publish-info-value:not(div),.qa-publish-scoring-file{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qa-publish-metrics{overflow-wrap:anywhere}.qa-publish-file-requirements{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 18px;min-width:0}.qa-publish-file-requirements>span{min-width:0;overflow-wrap:anywhere}.qa-publish-file-requirements b{color:#334155;font-weight:600}.qa-publish-group-select{width:260px;max-width:100%;min-width:0;box-sizing:border-box}.qa-publish-group-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.qa-publish-group-controls .qa-field-help{flex:1 0 100%}.qa-compact-button{padding:5px 10px;white-space:nowrap}.qa-publish-group-manager{display:grid;gap:8px;margin-left:100px;padding:10px;border:1px solid #dbe3ef;border-radius:7px;background:#fff}.qa-publish-group-create,.qa-publish-group-manager-row,.qa-publish-group-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.qa-publish-group-create input{width:260px;max-width:100%;min-width:0}.qa-publish-group-manager-row{justify-content:space-between;padding-top:8px;border-top:1px solid #e5e7eb}.qa-publish-group-manager-row>input{width:260px;max-width:100%;min-width:0}.qa-publish-modes{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px}.qa-publish-modes label{display:inline-flex;align-items:center;gap:5px}.qa-publish-modes label,.qa-publish-time-row label{white-space:nowrap}.qa-publish-modes input{margin:0}.qa-publish-time-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}.qa-publish-time-row input{width:220px;max-width:220px;min-width:0;box-sizing:border-box}.qa-publish-confirm-row{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;padding:10px 12px;border:1px solid #dbe3ef;border-radius:7px;background:#f8fafc;color:#334155}.qa-publish-confirm-summary,.qa-publish-confirm-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;min-width:0}.qa-publish-confirm-actions{flex:0 0 auto;gap:8px}.qa-field-help{margin:-6px 0 0;color:#6b7280}@media(max-width:700px){.qa-publish-info-row{grid-template-columns:minmax(0,1fr);gap:5px}.qa-publish-file-requirements-row{grid-template-columns:88px minmax(0,1fr);gap:12px}.qa-publish-info-row>.qa-publish-info-value:not(div),.qa-publish-scoring-file{white-space:normal;overflow-wrap:anywhere}.qa-publish-time-row input{width:min(220px,100%)}.qa-publish-group-manager{margin-left:0}}.qa-existing-source>div{min-width:0;overflow-wrap:anywhere}.qa-existing-source .qa-actions{grid-column:1 / -1}.qa-source-raw-text{max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:10px;border:1px solid #dbe4ee;background:#fff}.qa-card.qa-online-entry,.qa-card.qa-upload-workflow{display:grid;min-width:0;padding:8px 16px 14px;border:0;border-radius:0;background:transparent;box-shadow:none}.qa-card.qa-online-entry{gap:12px}.qa-card.qa-upload-workflow{gap:24px}.qa-online-basic,.qa-online-item,.qa-txt-preview{min-width:0;padding:12px;border:1px solid #dbe4ee;border-radius:8px;background:#fff}.qa-online-entry .qa-online-basic{padding:2px 0 4px;border:0;border-radius:0;background:transparent;box-shadow:none}.qa-online-basic h3,.qa-online-items-heading h3,.qa-online-item h4,.qa-txt-preview h3{margin:0}.qa-online-basic>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.qa-field-legend{color:#64748b;font-size:12px}.qa-field-legend b,.qa-required-mark{color:#dc2626;font-style:normal;margin-right:3px}.qa-field-legend i,.qa-kind.auto{color:#526b82;font-style:normal}.qa-kind{font-size:11px;font-weight:500;margin-left:3px}.qa-kind.optional{color:#94a3b8}.qa-kind.conditional{color:#78716c}.qa-online-basic-grid{display:grid;grid-template-columns:auto minmax(260px,1fr) auto minmax(210px,230px) auto 8em auto minmax(48px,64px);align-items:center;gap:10px;margin-top:10px;min-width:0;width:100%}.qa-online-basic-grid input,.qa-online-basic-grid select{min-width:0;width:100%;box-sizing:border-box}.qa-total-input{text-align:center}.qa-online-items-heading,.qa-txt-preview>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.qa-online-items-heading{flex-wrap:wrap}.qa-online-items-heading-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;min-width:0}.qa-online-items-heading>button{flex:0 0 auto}.qa-online-core{display:grid;grid-template-columns:minmax(0,34fr) minmax(0,40fr) minmax(0,26fr);gap:12px;margin-top:10px;min-width:0}.qa-online-core>label{min-width:0}.qa-online-core textarea{width:100%;height:220px;min-height:220px;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;box-sizing:border-box}.qa-item-field-heading,.qa-answer-heading{display:flex;align-items:center;justify-content:space-between;height:26px;margin-bottom:4px}.qa-answer-import{height:24px;min-height:24px;padding:0 8px;font-size:13px;line-height:22px;border-radius:4px}.qa-online-item-summary{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto auto auto;align-items:center;gap:8px;min-width:0}.qa-online-item-summary>strong,.qa-online-item-summary>span:not(.qa-item-summary-text),.qa-item-summary-actions{white-space:nowrap}.qa-item-summary-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qa-item-summary-actions{display:flex;align-items:center;gap:6px}.qa-item-status{color:#64748b}.qa-item-status.completed{color:#15803d}.qa-item-status.needs_confirmation{color:#b45309}.qa-complete-item{min-height:26px;padding:2px 8px}.qa-online-item.collapsed{padding-top:9px;padding-bottom:9px}.qa-import-confirm{display:flex;align-items:center;gap:8px;margin-top:6px;color:#9a3412}.qa-online-settings{margin-top:10px}.qa-online-entry>.qa-actions{margin-top:0}.qa-txt-preview textarea{width:100%;min-height:420px;margin-top:10px;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;overflow:auto}@media(max-width:900px){.qa-online-basic-grid{grid-template-columns:auto minmax(0,1fr)}.qa-online-core{grid-template-columns:minmax(0,1fr)}.qa-online-item-summary{grid-template-columns:auto auto minmax(0,1fr) auto auto auto}.qa-item-summary-actions{grid-column:1 / -1;justify-content:flex-end}.qa-scoring-config-table{font-size:12px}.qa-scoring-config-table th,.qa-scoring-config-table td{padding:6px 4px}.qa-config-editor,.qa-draft-question-preview,.qa-draft-files-points{grid-template-columns:minmax(0,1fr)}.qa-draft-files-points{align-items:start}.qa-draft-points-pane{width:100%}.qa-draft-points-summary{flex:none;height:var(--qa-draft-file-summary-height);min-height:var(--qa-draft-file-summary-height);max-height:var(--qa-draft-file-summary-height)}.qa-existing-source{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.qa-line,.qa-mode-row{align-items:flex-start}.qa-line label,.qa-mode-row label{flex-wrap:nowrap}.qa-long{display:grid;grid-template-columns:auto minmax(0,1fr)}.qa-upload-line{flex-wrap:wrap}.qa-upload-line>label,.qa-file-field{flex-wrap:nowrap}.qa-editor-toolbar{grid-template-columns:minmax(0,1fr)}.qa-editor-actions,.qa-file-row-actions{overflow-x:auto}.qa-file-row{grid-template-columns:auto minmax(0,1fr)}.qa-file-row-actions{grid-column:1 / -1;justify-content:flex-end}}@media(max-width:820px){.qa-draft-requirements-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:699px){.qa-candidate-footer-left,.qa-candidate-footer-right{width:100%}.qa-candidate-footer-right{justify-content:flex-start;margin-left:0}.qa-mode-row .qa-creation-mode-tab{min-height:44px;padding:4px 8px;font-size:15px}.qa-excluded-item,.qa-candidate-evidence-panel{grid-template-columns:minmax(0,1fr)}}.qa-manual-candidate{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0;padding:12px;border:1px solid #d9e2ef;border-radius:8px;background:#f8fafc}.qa-manual-candidate label{display:grid;gap:5px;min-width:0}.qa-manual-candidate .qa-actions{align-self:end}@media(max-width:900px){.qa-generated-groups{grid-template-columns:minmax(0,1fr)}.qa-manual-candidate{grid-template-columns:1fr}}.qa-route-selector{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:12px 16px;border:1px solid #cfe0f7;border-radius:10px;background:#f7faff}.qa-route-selector>div{display:grid;gap:3px}.qa-route-selector small{color:#64748b}.qa-route-selector select{min-width:240px;min-height:36px;border:1px solid #bfd2ee;border-radius:8px;background:#fff}.qa-bigdata-pilot header,.qa-bigdata-pilot header>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.qa-bigdata-pilot header>div{display:block}.qa-bigdata-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.qa-bigdata-columns>section,.qa-bigdata-result{padding:14px;border:1px solid #d8e5f5;border-radius:10px;background:#fff}.qa-bigdata-columns textarea{width:100%;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.qa-bigdata-result{margin-top:14px}.qa-bigdata-result table{width:100%;border-collapse:collapse}.qa-bigdata-result th,.qa-bigdata-result td{padding:8px;border-bottom:1px solid #e2e8f0;text-align:left}.qa-bigdata-problems{display:grid;gap:8px;margin-top:12px}.qa-bigdata-problems article{display:grid;gap:3px;padding:10px;border-left:4px solid #f59e0b;background:#fff8e8}@media(max-width:900px){.qa-route-selector,.qa-bigdata-pilot header,.qa-bigdata-columns{display:grid;grid-template-columns:1fr}.qa-route-selector select{width:100%;min-width:0}}.number-groups-panel{display:grid;gap:18px}.number-groups-editor{display:flex;gap:10px;align-items:center;flex-wrap:nowrap;min-width:0;padding:14px 16px;border:1px solid #dbe5f2;border-radius:10px;background:#fff}.number-groups-editor>label,.number-groups-editor fieldset,.number-groups-editor fieldset label,.number-groups-editor .readonly-type,.number-groups-form-actions{display:inline-flex;gap:6px;align-items:center;flex:0 0 auto;white-space:nowrap}.number-groups-editor fieldset{margin:0;padding:0;border:0}.number-groups-editor fieldset legend{float:left;margin-right:6px;white-space:nowrap}.number-groups-editor input{min-height:32px}.number-groups-editor input[type=text],.number-groups-editor input:not([type]){padding:3px 7px;border:1px solid #cbd5e1;border-radius:5px}.number-groups-editor .code-input{width:5ch}.number-groups-editor .name-input{width:26ch}.number-groups-form-actions{gap:8px}.number-groups-form-actions .delete-action{margin-left:6px}.number-groups-editor button,.number-groups-table-wrap button.flat,.number-groups-pagination button,.number-groups-pagination select{min-height:29px;padding:3px 10px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#334155;line-height:1.2;white-space:nowrap}.number-groups-editor button.danger{border-color:#fecaca;color:#b91c1c;background:#fff7f7}.number-groups-editor button:disabled,.number-groups-pagination button:disabled{cursor:not-allowed;opacity:.55}.number-groups-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1fr) minmax(300px,1.04fr);gap:18px;align-items:start}.number-groups-level{display:grid;min-width:0;gap:14px;padding:15px;border:1px solid #dbe5f2;border-radius:10px;background:#fff}.number-groups-table-wrap{min-width:0;overflow-x:auto}.number-groups-table-wrap table{width:100%;border-collapse:collapse}.number-groups-table-wrap th,.number-groups-table-wrap td{height:44px;padding:6px 7px;border-bottom:1px solid #e5eaf1;text-align:center;vertical-align:middle;white-space:nowrap}.number-groups-table-wrap tbody tr{cursor:pointer;box-shadow:inset 3px 0 transparent}.level-three .number-groups-table-wrap tbody tr{cursor:default}.number-groups-table-wrap tbody tr:hover{background:#f5f9ff}.number-groups-table-wrap tbody tr.selected{background:#eaf4ff;box-shadow:inset 3px 0 #2563eb}.number-groups-table-wrap tbody tr.drag-over{border-top:2px solid #2563eb}.number-groups-table-wrap .name-cell{max-width:18ch;overflow:hidden;text-overflow:ellipsis}.drag-column{width:28px;padding-right:0!important}.drag-handle{display:inline-flex;color:#718096;cursor:grab;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.number-groups-pagination{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;margin-top:2px;color:#475569;font-size:13px;white-space:nowrap}.number-groups-pagination label,.number-groups-pagination .page-status{white-space:nowrap}.number-groups-feedback,.number-groups-empty{margin:0;padding:9px 12px;border-radius:7px;background:#eff6ff;color:#1d4ed8}.number-groups-feedback.error{background:#fef2f2;color:#b91c1c}.number-groups-empty{color:#64748b;background:#f8fafc}@media(max-width:1200px){.number-groups-editor{flex-wrap:wrap}.number-groups-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.level-three{grid-column:1 / -1}}@media(max-width:900px){.number-groups-layout{grid-template-columns:minmax(0,1fr)}.level-three{grid-column:auto}.number-groups-editor .name-input{width:min(26ch,60vw)}}.assignment-sources{display:grid;gap:16px}.assignment-sources>header,.source-detail>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.assignment-sources h2,.assignment-sources h3,.assignment-sources h4,.assignment-sources p{margin:0}.source-join-hint{margin-top:5px!important;color:#64748b;font-size:13px}.source-filters{display:grid;grid-template-columns:minmax(260px,2fr) minmax(130px,.7fr) minmax(180px,1fr) auto;align-items:center;gap:10px}.source-filters>*{min-width:0}.source-filters input,.source-filters select{min-height:36px}.source-filter-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;white-space:nowrap}.assignment-source-archived-filter{display:inline-flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap}.assignment-source-archived-filter input{min-height:auto;margin:0}.source-loading{color:#475569}.source-pagination{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.source-table-wrap{width:100%;min-width:0;overflow:visible}.source-table-wrap table{width:100%;table-layout:fixed;border-collapse:collapse}.source-table-wrap th,.source-table-wrap td{padding:9px;border-bottom:1px solid #e2e8f0;text-align:center;vertical-align:middle}.source-col-name{width:19%}.source-col-device{width:5%}.source-col-status{width:9%}.source-col-count{width:4%}.source-col-score{width:6%}.source-col-future{width:7%}.source-col-publish{width:5%}.source-col-actions{width:27%}.source-status-cell{line-height:1.35}.source-publication-state{font-weight:700;white-space:nowrap}.source-publication-state--unpublished{color:#64748b}.source-publication-state--published{color:#15803d}.source-publication-state--deleted{color:#b45309}.source-assignment-name{display:-webkit-box;width:100%;max-width:100%;padding:0;border:0;color:#1d4ed8;background:transparent;font:inherit;font-weight:600;line-height:1.4;text-align:center;white-space:normal;overflow-wrap:anywhere;word-break:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;cursor:pointer}.source-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.source-actions button{white-space:nowrap}.source-table-actions{justify-content:center;align-items:center;flex-wrap:nowrap;gap:8px;white-space:nowrap}.source-card-actions{justify-content:center;align-items:center;flex-wrap:wrap;gap:8px}.source-table-actions .assignment-source-action{flex:0 0 auto}.assignment-source-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 9px;border:1px solid #1677ff;border-radius:6px;background:#fff;color:#245f9e;font-size:14px;font-weight:400;line-height:1;white-space:nowrap;cursor:pointer}.assignment-source-action:hover:not(:disabled){border-color:#2563eb;background:#eff6ff;color:#1d4ed8;filter:none}.assignment-source-action:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.assignment-source-action:disabled{border-color:#cbd5e1;background:#f1f5f9;color:#64748b;cursor:not-allowed;opacity:1}.assignment-source-action--danger{border-color:#d14343;background:#fff;color:#b42318}.assignment-source-action--danger:hover:not(:disabled){border-color:#dc2626;background:#fff1f2;color:#b91c1c}.assignment-source-action--danger:focus-visible{outline-color:#dc2626}.source-mobile-list{display:none}.source-feedback{padding:9px 12px;border-radius:6px;background:#ecfdf5;color:#166534}.source-feedback.error{background:#fef2f2;color:#b91c1c}.source-empty{text-align:center!important;color:#64748b}.source-detail{display:grid;gap:14px;padding:16px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc}.source-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.source-detail-grid section{padding:12px;border:1px solid #e2e8f0;border-radius:7px;background:#fff}.source-detail dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 12px}.source-detail dd{margin:0}.break-anywhere{overflow-wrap:anywhere}.source-raw-text{max-height:420px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;background:#fff;border:1px solid #e2e8f0}.source-history,.source-cleanup,.source-draft-preview{padding:12px;border:1px solid #e2e8f0;border-radius:7px;background:#fff}.source-history-list{display:grid;gap:7px;margin:10px 0}.source-history-list article{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:8px;border-bottom:1px solid #e2e8f0}.source-cleanup{display:grid;gap:10px;border-color:#fecaca}.source-cleanup label{display:grid;gap:6px;max-width:420px}.source-draft-preview{display:grid;gap:10px}.source-draft-preview h5{margin:0}.source-draft-preview pre{margin:0;padding:10px;border:1px solid #e2e8f0;background:#f8fafc;white-space:pre-wrap;overflow-wrap:anywhere}.source-draft-blockers{margin:0;color:#b91c1c}.source-draft-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.source-seat-preview{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.source-seat-preview input{width:90px}.source-file-template{display:grid;gap:6px}.source-file-template textarea{width:100%;resize:vertical}@media(max-width:1100px){.source-filters{grid-template-columns:minmax(220px,2fr) minmax(130px,1fr) minmax(170px,1fr)}.source-filter-actions{grid-column:1 / -1;justify-content:flex-start;flex-wrap:wrap}.source-desktop-table{display:none}.source-mobile-list{display:grid;gap:10px}.source-mobile-card{display:grid;gap:10px;padding:13px;border:1px solid #dbe3ed;border-radius:8px;background:#fff}.source-mobile-card dl{display:grid;grid-template-columns:minmax(76px,auto) minmax(0,1fr) minmax(76px,auto) minmax(0,1fr);gap:7px 10px;margin:0}.source-mobile-card dt{color:#64748b}.source-mobile-card dd{min-width:0;margin:0;overflow-wrap:anywhere}.source-mobile-future{padding-top:9px;border-top:1px solid #e2e8f0}.source-mobile-empty{padding:18px}}@media(max-width:900px){.source-detail-grid{grid-template-columns:1fr}}@media(max-width:640px){.source-filters{grid-template-columns:1fr}.source-filter-actions{grid-column:auto}.source-mobile-card dl{grid-template-columns:minmax(86px,auto) minmax(0,1fr)}}.course-cover-visual[data-v-9a10973c]{display:grid;place-items:center;flex:0 0 auto;overflow:hidden;background:#315fc7;color:#fff}.course-cover-visual.large[data-v-9a10973c]{width:100%;height:100%}.course-cover-visual.mini[data-v-9a10973c]{width:100%;height:96px;border-radius:7px 7px 0 0}.course-cover-visual.preview[data-v-9a10973c]{width:62px;height:100%;min-height:70px;border-radius:6px}.course-cover-visual.has-image[data-v-9a10973c]{background:transparent}.course-cover-visual img[data-v-9a10973c]{display:block;width:100%;height:100%;object-fit:contain}.course-cover-fallback[data-v-9a10973c]{font-size:23px;font-weight:800}.course-cover-visual.large .course-cover-fallback[data-v-9a10973c]{display:grid;width:88px;height:88px;place-items:center;border:3px solid rgba(255,255,255,.82);border-radius:24px;background:#ffffff21;font-size:42px}.course-cover-visual.tone-1[data-v-9a10973c]{background:#277ecb}.course-cover-visual.tone-2[data-v-9a10973c]{background:#6550bd}.course-cover-visual.tone-3[data-v-9a10973c]{background:#218277}.course-cover-visual.tone-4[data-v-9a10973c]{background:#b85c36}.course-cover-visual.tone-5[data-v-9a10973c]{background:#526175}.course-cover-visual.large[data-v-9a10973c]:not(.has-image){background:transparent}.course-cover-visual.large.image-unavailable .course-cover-fallback[data-v-9a10973c]{border-color:#93b4ef;background:#eff6ff;color:#315fc7}.published-list-card[data-v-e3c3d021]{margin-top:12px;padding:14px 16px;border:1px solid #d7dde6;border-radius:14px;background:#fff}.published-list-header[data-v-e3c3d021],.group-manager-row[data-v-e3c3d021],.assignment-group-header[data-v-e3c3d021]{display:flex;align-items:center}.published-list-header[data-v-e3c3d021]{justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:12px}.published-filters[data-v-e3c3d021]{display:flex;align-items:center;gap:12px;flex:1;margin-left:12px}.published-filters label[data-v-e3c3d021]{display:inline-flex;align-items:center;gap:6px;font-weight:800;white-space:nowrap}.published-filters select[data-v-e3c3d021]{min-width:150px;height:32px;padding:0 8px;border:1px solid #cbd5e1;border-radius:9px;background:#fff}.published-list-header h3[data-v-e3c3d021],.group-create-row h4[data-v-e3c3d021]{margin:0;color:#0f172a;font-weight:900}.published-list-header h3[data-v-e3c3d021]{font-size:18px}.published-list-header p[data-v-e3c3d021]{margin:4px 0 0;color:#64748b;font-size:12px;line-height:1.5}.header-actions[data-v-e3c3d021],.group-row-actions[data-v-e3c3d021]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.published-list-header button[data-v-e3c3d021],.mini[data-v-e3c3d021]{height:32px;padding:0 10px;border:1px solid #d1d5db;border-radius:9px;background:#f8fafc;color:#334155;cursor:pointer;font-weight:800;white-space:nowrap}.published-list-header button[data-v-e3c3d021]:disabled,.mini[data-v-e3c3d021]:disabled{opacity:.55;cursor:not-allowed}.mini.primary[data-v-e3c3d021]{border-color:#2563eb;background:#2563eb;color:#fff}.mini.danger[data-v-e3c3d021]{border-color:#dc2626;background:#dc2626;color:#fff}.mini.danger-text[data-v-e3c3d021]{border-color:#fecaca;background:#fff7f7;color:#dc2626}.published-error[data-v-e3c3d021],.published-message[data-v-e3c3d021]{margin-bottom:10px;padding:9px 12px;border-radius:10px;font-weight:700}.published-error[data-v-e3c3d021]{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c}.published-message[data-v-e3c3d021]{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534}.assignment-reuse-panel[data-v-e3c3d021]{display:grid;gap:12px;margin-bottom:14px;padding:12px 14px;border:1px solid #bfdbfe;border-radius:10px;background:#f8fbff}.assignment-reuse-heading[data-v-e3c3d021]{display:flex;align-items:center;justify-content:space-between;gap:12px}.assignment-reuse-heading h4[data-v-e3c3d021],.assignment-reuse-heading span[data-v-e3c3d021]{margin:0}.assignment-reuse-heading-actions[data-v-e3c3d021]{display:flex;align-items:center;gap:7px}.assignment-reuse-heading span[data-v-e3c3d021]{color:#64748b;font-size:12px;font-weight:700}.assignment-reuse-feedback[data-v-e3c3d021]{color:#166534;font-size:13px;font-weight:700}.assignment-reuse-feedback.error[data-v-e3c3d021]{color:#b91c1c}.assignment-reuse-course-grid[data-v-e3c3d021]{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,165px));gap:10px;max-height:318px;overflow-y:auto}.assignment-reuse-course-card[data-v-e3c3d021]{display:grid;grid-template-rows:96px minmax(0,1fr);gap:0;min-height:190px;padding:0;overflow:hidden;border:1px solid #d6deea;border-radius:8px;background:#fff;color:#172033;font:inherit;text-align:left;cursor:pointer}.assignment-reuse-course-card[data-v-e3c3d021]:hover{border-color:#93b4ef;background:#f8fbff}.assignment-reuse-course-card.selected[data-v-e3c3d021]{border-color:#3970e4;background:#eff6ff}.assignment-reuse-course-content[data-v-e3c3d021]{grid-row:2;display:grid;align-content:start;gap:4px;min-width:0;padding:9px 10px 10px}.assignment-reuse-course-content strong[data-v-e3c3d021]{display:-webkit-box;overflow:hidden;font-size:15px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.assignment-reuse-course-content>span[data-v-e3c3d021]{overflow:hidden;color:#64748b;font-size:12px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.assignment-reuse-course-content .assignment-reuse-course-classes[data-v-e3c3d021]{display:grid;gap:2px;white-space:normal}.assignment-reuse-course-classes span[data-v-e3c3d021]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-reuse-current-badge[data-v-e3c3d021]{justify-self:end;padding:2px 6px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:11px;font-weight:800}.assignment-reuse-empty[data-v-e3c3d021]{padding:18px 8px;color:#64748b;font-size:13px}.assignment-reuse-submit[data-v-e3c3d021]{justify-self:start;min-height:32px}.forward-selection-toolbar[data-v-e3c3d021]{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:10px 0;padding:8px 12px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc}.forward-selection-toolbar strong[data-v-e3c3d021]{color:#475569;font-size:13px}.group-manager[data-v-e3c3d021]{margin-bottom:14px;padding:14px;border:1px solid #bfdbfe;border-radius:12px;background:#f8fbff}.group-create-row[data-v-e3c3d021]{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:8px}.group-create-row input[data-v-e3c3d021],.group-rename-input[data-v-e3c3d021]{box-sizing:border-box;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#0f172a;font:inherit}.group-create-row input[data-v-e3c3d021],.group-rename-input[data-v-e3c3d021]{height:34px;padding:0 9px}.group-manager-list[data-v-e3c3d021]{display:grid;gap:8px;margin-top:12px}.group-manager-row[data-v-e3c3d021]{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:10px;padding:9px 10px;border:1px solid #dbe3ef;border-radius:10px;background:#fff}.group-manager-row strong[data-v-e3c3d021]{color:#0f172a}.group-count[data-v-e3c3d021]{color:#64748b;font-size:12px;font-weight:800}.group-manager-empty[data-v-e3c3d021],.group-section-empty[data-v-e3c3d021],.published-empty[data-v-e3c3d021]{padding:18px;border-radius:10px;background:#f8fafc;color:#64748b;text-align:center}.group-manager-empty[data-v-e3c3d021]{margin-top:12px}.group-sections[data-v-e3c3d021]{display:grid;gap:12px}.assignment-group-section[data-v-e3c3d021]{overflow:hidden;border:1px solid #dbe3ef;border-radius:12px;background:#fff}.teacher-group-title[data-v-e3c3d021]{background:#e8f0fa}.assignment-group-header[data-v-e3c3d021]{width:100%;gap:9px;padding:11px 13px;border:0;background:transparent;color:#0f172a;cursor:pointer;text-align:left}.collapse-arrow[data-v-e3c3d021]{width:16px;color:#475569}.section-count[data-v-e3c3d021]{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 6px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:12px;font-weight:900}.assignment-table[data-v-e3c3d021]{--assignment-columns: 56px minmax(0, 1fr) 145px 145px 86px 210px;min-width:0}.assignment-table-header[data-v-e3c3d021],.assignment-row-summary[data-v-e3c3d021]{display:grid;grid-template-columns:var(--assignment-columns);align-items:center;gap:8px;min-width:0}.assignment-table-header.batch-mode[data-v-e3c3d021],.assignment-row-summary.batch-mode[data-v-e3c3d021]{grid-template-columns:30px var(--assignment-columns)}.assignment-table-header[data-v-e3c3d021]{padding:8px 12px;border-top:1px solid #e2e8f0;border-bottom:1px solid #dbe3ef;background:#f3f6fa;color:#475569;font-size:12px;font-weight:900}.assignment-table-header button[data-v-e3c3d021]{padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left}.assignment-table-header[data-v-e3c3d021]>:nth-last-child(-n+2),.assignment-sequence-head[data-v-e3c3d021]{text-align:center}.assignment-row[data-v-e3c3d021]{min-width:0;border-bottom:1px solid #e5e7eb;background:#fff}.assignment-row[data-v-e3c3d021]:last-child{border-bottom:0}.assignment-row[data-v-e3c3d021]:hover{background:#f8fbff}.assignment-row-summary[data-v-e3c3d021]{padding:9px 12px}.assignment-sequence[data-v-e3c3d021]{color:#64748b;font-size:12px;font-weight:900;text-align:center}.assignment-name[data-v-e3c3d021]{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f172a;font-weight:900;line-height:1.45;overflow-wrap:anywhere}.assignment-time[data-v-e3c3d021]{min-width:0;color:#64748b;font-size:12px;white-space:nowrap}.inline-time-trigger[data-v-e3c3d021]{max-width:100%;padding:4px 5px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;font:inherit;cursor:pointer;white-space:nowrap}.inline-time-trigger[data-v-e3c3d021]:hover,.inline-time-trigger[data-v-e3c3d021]:focus-visible{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.inline-time-editor[data-v-e3c3d021]{display:flex;gap:4px;align-items:center;min-width:0;flex-wrap:wrap}.inline-time-editor input[data-v-e3c3d021]{box-sizing:border-box;flex:1 1 130px;width:100%;min-width:0;height:30px;padding:0 5px;border:1px solid #93c5fd;border-radius:6px;font:inherit}.assignment-status-cell[data-v-e3c3d021]{text-align:center}.assignment-primary-actions[data-v-e3c3d021]{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;flex-wrap:wrap}.status-action-panel[data-v-e3c3d021]{display:flex;align-items:center;gap:10px 16px;min-width:0;margin:4px 12px 9px;padding:9px 11px;border:1px solid #bfdbfe;border-radius:7px;background:#eff6ff;color:#334155;flex-wrap:wrap}.status-action-panel>strong[data-v-e3c3d021]{color:#1d4ed8;white-space:nowrap}.status-action-modes[data-v-e3c3d021],.status-action-buttons[data-v-e3c3d021]{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap}.status-action-modes label[data-v-e3c3d021],.status-action-time[data-v-e3c3d021]{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.status-action-modes input[data-v-e3c3d021]{accent-color:#2563eb}.status-action-time input[data-v-e3c3d021]{box-sizing:border-box;min-width:180px;height:30px;padding:0 6px;border:1px solid #93c5fd;border-radius:6px;background:#fff;font:inherit}.status-action-deadline[data-v-e3c3d021]{display:inline-flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.status-action-deadline-hint[data-v-e3c3d021]{color:#64748b;font-size:12px;white-space:nowrap}.status-action-buttons[data-v-e3c3d021]{margin-left:auto}.withdraw-confirmation[data-v-e3c3d021]{border-color:#fcd34d;background:#fffbeb;color:#92400e}.assignment-card-details[data-v-e3c3d021]{min-width:0;padding:0 14px 14px;border-top:1px solid #dbe3ef;background:#f7faff}.teacher-workspace-tabs[data-v-e3c3d021]{display:flex;gap:4px;min-width:0;margin:0;border-top:0;border-bottom:1px solid #cbd5e1;flex-wrap:wrap}.teacher-workspace-tabs button[data-v-e3c3d021]{min-width:0;padding:7px 10px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;box-shadow:none;color:#64748b;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap}.teacher-workspace-tabs button.active[data-v-e3c3d021]{border-bottom-color:#2563eb;background:transparent;color:#1d4ed8}.teacher-workspace-tabs .file-tab[data-v-e3c3d021]{max-width:210px;overflow:hidden;text-overflow:ellipsis}.teacher-workspace-content[data-v-e3c3d021]{min-width:0;margin:0;padding:14px 16px;border:1px solid #dbe3ef;border-top:0;border-radius:6px;background:#fff}.basic-info-grid[data-v-e3c3d021]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;min-width:0}.basic-field[data-v-e3c3d021]{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:8px;min-width:0}.basic-field>span[data-v-e3c3d021],.basic-field-label[data-v-e3c3d021]{color:#64748b;font-size:12px;font-weight:800;white-space:nowrap}.basic-info-grid .basic-field>input[data-v-e3c3d021]{box-sizing:border-box;width:100%;min-width:0;height:34px;padding:0 8px;border:1px solid #cbd5e1;border-radius:6px;font:inherit}.basic-info-grid input[readonly][data-v-e3c3d021]{background:#f1f5f9;color:#64748b}.basic-inline-field[data-v-e3c3d021]{display:flex;align-items:center;gap:8px;min-width:0}.basic-inline-field>.basic-field-label[data-v-e3c3d021]{flex:0 0 72px}.basic-class-field[data-v-e3c3d021],.basic-self-grade[data-v-e3c3d021]{grid-column:1 / -1}.workspace-detail-editor[data-v-e3c3d021]{box-sizing:border-box;width:100%;min-height:260px;padding:10px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;line-height:1.65;resize:vertical}.workspace-actions[data-v-e3c3d021]{display:flex;align-items:center;justify-content:space-between;gap:8px 18px;margin-top:14px;flex-wrap:wrap}.workspace-actions>div[data-v-e3c3d021]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.workspace-dirty-confirmation[data-v-e3c3d021]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:9px 11px;border:1px solid #fcd34d;border-radius:7px;background:#fffbeb;color:#92400e;flex-wrap:wrap}.workspace-dirty-confirmation>div[data-v-e3c3d021]{display:flex;gap:7px}.submission-requirements-layout[data-v-e3c3d021]{display:grid;grid-template-columns:minmax(280px,.35fr) minmax(0,.65fr);gap:16px;min-width:0;align-items:start}.submission-requirements-panel[data-v-e3c3d021]{min-width:0}.submission-requirements-panel h4[data-v-e3c3d021]{margin:0 0 8px;color:#334155;font-size:14px}.submission-requirements-table[data-v-e3c3d021]{display:grid;gap:0;min-width:0;max-width:100%;border:1px solid #dbe3ee;border-radius:6px;overflow:hidden}.requirement-version-summary[data-v-e3c3d021]{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-bottom:10px;color:#475569;font-size:13px}.requirement-version-summary span[data-v-e3c3d021]:first-child{color:#1d4ed8;font-weight:800}.submission-requirements-head[data-v-e3c3d021],.submission-requirement-row[data-v-e3c3d021]{display:grid;gap:10px;align-items:center;padding:9px 12px;min-width:0}.fixed-requirements-table .submission-requirements-head[data-v-e3c3d021],.fixed-requirements-table .submission-requirement-row[data-v-e3c3d021]{grid-template-columns:minmax(0,1fr) 104px}.ordinary-requirements-table .submission-requirements-head[data-v-e3c3d021],.ordinary-requirements-table .submission-requirement-row[data-v-e3c3d021]{grid-template-columns:minmax(120px,.8fr) minmax(130px,1fr) minmax(210px,1.25fr)}.ordinary-requirements-table.editing .submission-requirements-head[data-v-e3c3d021],.ordinary-requirements-table.editing .submission-requirement-row[data-v-e3c3d021]{grid-template-columns:minmax(110px,.8fr) minmax(120px,1fr) minmax(210px,1.35fr) 56px}.submission-requirements-head[data-v-e3c3d021]{background:#f1f5f9;color:#475569;font-size:12px;font-weight:800}.submission-requirement-row[data-v-e3c3d021]{border-top:1px solid #e2e8f0;background:#fff;color:#334155}.submission-requirement-row.fixed[data-v-e3c3d021]{background:#f8fafc}.submission-requirement-row>input[data-v-e3c3d021]{min-width:0;width:100%;box-sizing:border-box;padding:7px 9px;border:1px solid #cbd5e1;border-radius:6px}.requirement-mode-group[data-v-e3c3d021]{display:inline-flex;align-items:center;gap:14px;min-width:0;flex-wrap:nowrap}.requirement-mode-group label[data-v-e3c3d021]{display:inline-flex;align-items:center;gap:5px;color:#334155;font-size:13px;white-space:nowrap;cursor:pointer}.requirement-mode-group input[type=radio][data-v-e3c3d021]{width:14px;height:14px;margin:0;accent-color:#2563eb;cursor:pointer}.requirements-actions[data-v-e3c3d021]{display:flex;align-items:center;justify-content:space-between;gap:8px 18px;margin-top:12px;flex-wrap:wrap}.requirements-save-actions[data-v-e3c3d021]{display:flex;align-items:center;gap:8px;margin-left:auto}.add-requirement-button[data-v-e3c3d021]{width:auto}.teacher-assignment-detail-text[data-v-e3c3d021]{max-height:320px;overflow-y:auto;color:#334155;line-height:1.65}.teacher-assignment-detail-text p[data-v-e3c3d021]{min-height:1.65em;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.teacher-assignment-detail-text p.numbered[data-v-e3c3d021]{padding-left:0;font-weight:700}.teacher-assignment-detail-text p[data-v-e3c3d021]:not(.numbered):not(.blank){padding-left:1em}.teacher-file-preview[data-v-e3c3d021]{display:grid;gap:8px;min-width:0}.teacher-file-preview>strong[data-v-e3c3d021]{color:#334155}.teacher-file-preview pre[data-v-e3c3d021]{box-sizing:border-box;max-height:360px;margin:0;padding:10px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;color:#0f172a;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.teacher-scoring-preview[data-v-e3c3d021]{min-width:0}.teacher-scoring-preview pre[data-v-e3c3d021]{box-sizing:border-box;max-height:400px;margin:10px 0 0;padding:10px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.scoring-file-toolbar[data-v-e3c3d021]{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;min-width:0;flex-wrap:wrap}.scoring-preview-summary[data-v-e3c3d021],.scoring-file-actions[data-v-e3c3d021]{display:flex;align-items:center;gap:8px 16px;min-width:0;flex-wrap:wrap}.scoring-preview-summary[data-v-e3c3d021]{color:#475569}.scoring-file-actions[data-v-e3c3d021]{margin-left:auto}.scoring-file-input[data-v-e3c3d021]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.selected-scoring-file[data-v-e3c3d021]{max-width:180px;overflow:hidden;color:#334155;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.scoring-replacement-success[data-v-e3c3d021]{margin:8px 0 0;color:#166534}.teacher-template-preview-error[data-v-e3c3d021]{margin:0;color:#b91c1c}.teacher-assignment-empty[data-v-e3c3d021]{margin:0;color:#94a3b8}.soft-delete-confirmation[data-v-e3c3d021]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;padding:10px 12px;border:1px solid #dbe3ef;border-radius:8px;background:#fff}.soft-delete-confirmation>div[data-v-e3c3d021]:first-child{display:grid;gap:4px;min-width:0}.soft-delete-confirmation span[data-v-e3c3d021]{color:#64748b;font-size:12px}.soft-delete-actions[data-v-e3c3d021]{display:flex;gap:8px;flex:0 0 auto}.assignment-card-feedback[data-v-e3c3d021]{margin:4px 12px 9px}.assignment-card-feedback .mini[data-v-e3c3d021]{margin-left:8px}.status-badge[data-v-e3c3d021]{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;font-weight:900;white-space:nowrap}.status-draft[data-v-e3c3d021]{background:#f1f5f9;color:#475569}.status-pending[data-v-e3c3d021]{background:#fff7ed;color:#c2410c}.status-active[data-v-e3c3d021]{background:#ecfdf5;color:#047857}.status-ended[data-v-e3c3d021]{background:#eef2ff;color:#4338ca}.edit-class-row[data-v-e3c3d021]{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;min-width:0;font-weight:900}.checkbox-option[data-v-e3c3d021]{display:inline-flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}.checkbox-option input[data-v-e3c3d021]{flex:0 0 auto;width:16px;height:16px;margin:0}.checkbox-option span[data-v-e3c3d021]{color:#334155;font-size:13px;font-weight:800;white-space:nowrap}@media(max-width:1000px){.group-manager-row[data-v-e3c3d021]{grid-template-columns:1fr}.assignment-name[data-v-e3c3d021]{display:-webkit-box;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.assignment-table[data-v-e3c3d021]{--assignment-columns: 50px minmax(0, 1fr) 132px 132px 78px 190px}}@media(max-width:900px){.submission-requirements-layout[data-v-e3c3d021]{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.assignment-reuse-course-grid[data-v-e3c3d021]{grid-template-columns:minmax(0,1fr)}.assignment-reuse-heading[data-v-e3c3d021]{align-items:flex-start;flex-direction:column}.submission-requirements-head[data-v-e3c3d021]{display:none}.fixed-requirements-table .submission-requirement-row[data-v-e3c3d021],.ordinary-requirements-table .submission-requirement-row[data-v-e3c3d021],.ordinary-requirements-table.editing .submission-requirement-row[data-v-e3c3d021]{grid-template-columns:minmax(0,1fr)}.requirement-operation-empty[data-v-e3c3d021]{display:none}.requirements-actions[data-v-e3c3d021]{align-items:stretch}.requirements-save-actions[data-v-e3c3d021]{justify-content:flex-end;width:100%}}@media(max-width:820px){.published-list-header[data-v-e3c3d021]{align-items:flex-start;flex-direction:column}.published-filters[data-v-e3c3d021]{width:100%;margin-left:0;flex-wrap:wrap}.assignment-table-header[data-v-e3c3d021]{display:none}.assignment-row-summary[data-v-e3c3d021]{grid-template-columns:38px minmax(0,1fr);gap:7px 9px;padding:10px}.assignment-row-summary.batch-mode[data-v-e3c3d021]{grid-template-columns:28px 38px minmax(0,1fr)}.assignment-row-summary.batch-mode .assignment-select-check[data-v-e3c3d021]{grid-column:1;grid-row:1 / span 4}.assignment-row-summary.batch-mode .assignment-sequence[data-v-e3c3d021]{grid-column:2}.assignment-row-summary.batch-mode .assignment-name[data-v-e3c3d021],.assignment-row-summary.batch-mode .assignment-time[data-v-e3c3d021],.assignment-row-summary.batch-mode .assignment-status-cell[data-v-e3c3d021],.assignment-row-summary.batch-mode .assignment-primary-actions[data-v-e3c3d021]{grid-column:3}.assignment-sequence[data-v-e3c3d021]{grid-column:1;grid-row:1}.assignment-name[data-v-e3c3d021]{grid-column:2;grid-row:1}.assignment-time[data-v-e3c3d021]{grid-column:2;white-space:normal}.assignment-time[data-v-e3c3d021]:before{content:attr(data-label) "：";color:#475569;font-weight:800}.assignment-status-cell[data-v-e3c3d021]{grid-column:2;text-align:left}.assignment-primary-actions[data-v-e3c3d021]{grid-column:2;justify-content:flex-start}.basic-info-grid[data-v-e3c3d021]{grid-template-columns:minmax(0,1fr)}.basic-class-field[data-v-e3c3d021],.basic-self-grade[data-v-e3c3d021]{grid-column:auto}}@media(max-width:700px){.published-filters label[data-v-e3c3d021],.published-filters select[data-v-e3c3d021]{width:100%;min-width:0}.header-actions[data-v-e3c3d021],.bulk-group-toolbar[data-v-e3c3d021]{width:100%}.assignment-card-details[data-v-e3c3d021]{padding:0 10px 12px}.teacher-workspace-tabs[data-v-e3c3d021]{align-items:stretch}}.bulk-group-toolbar[data-v-e3c3d021]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0;padding:10px 12px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc}.bulk-group-toolbar>strong[data-v-e3c3d021],.bulk-group-toolbar>button[data-v-e3c3d021]{flex:0 0 auto}.bulk-group-toolbar select[data-v-e3c3d021]{field-sizing:content;flex:0 1 auto;width:auto;min-width:0;max-width:320px}.assignment-group-heading-row[data-v-e3c3d021]{display:flex;align-items:center;gap:10px}.assignment-group-heading-row .assignment-group-header[data-v-e3c3d021]{flex:1}.group-select-all[data-v-e3c3d021]{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;cursor:pointer}.assignment-select-check[data-v-e3c3d021]{display:inline-flex;align-items:center;cursor:pointer}.group-select-all input[data-v-e3c3d021],.assignment-select-check input[data-v-e3c3d021]{width:16px;height:16px;margin:0}.scoring-files-page[data-v-f05858f0]{display:grid;gap:14px;min-width:0}.scoring-files-notice[data-v-f05858f0]{padding:13px 16px;border-radius:14px;font-weight:800}.scoring-files-notice.error[data-v-f05858f0]{background:#fff0f0;color:#b63737}.scoring-files-notice.success[data-v-f05858f0]{background:#eaf8ee;color:#28743d}.scoring-files-workspace[data-v-f05858f0]{display:grid;grid-template-columns:minmax(310px,380px) minmax(0,1fr);gap:18px;align-items:start}.scoring-files-sidebar[data-v-f05858f0]{display:grid;gap:16px;min-width:0}.scoring-file-upload-card[data-v-f05858f0],.scoring-file-list-card[data-v-f05858f0],.scoring-file-detail-card[data-v-f05858f0]{min-width:0;border:1px solid #dce6f4;border-radius:22px;background:#fff;box-shadow:0 12px 30px #2a4a8012}.scoring-file-upload-card[data-v-f05858f0]{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:20px}.scoring-file-card-heading[data-v-f05858f0]{grid-column:1 / -1}.scoring-file-card-heading h3[data-v-f05858f0],.scoring-file-list-heading h3[data-v-f05858f0],.scoring-file-detail-header h3[data-v-f05858f0],.scoring-file-section-heading h4[data-v-f05858f0]{margin:0;color:#172033}.scoring-file-card-heading p[data-v-f05858f0],.scoring-file-detail-header p[data-v-f05858f0],.scoring-file-section-heading p[data-v-f05858f0]{margin:5px 0 0;color:#6b7a90;font-size:13px;line-height:1.55}.scoring-file-template-actions[data-v-f05858f0]{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,190px);gap:8px;justify-content:start}.scoring-file-template-actions button[data-v-f05858f0]{min-height:38px;border:1px solid #bfd0f6;border-radius:11px;background:#f8fbff;color:#315fd9;font-size:13px;font-weight:900;cursor:pointer}.scoring-file-template-actions button[data-v-f05858f0]:hover:not(:disabled){border-color:#7da0ef;background:#edf3ff}.scoring-file-hidden-input[data-v-f05858f0]{display:none}.scoring-file-choose-button[data-v-f05858f0],.scoring-file-primary-button[data-v-f05858f0],.scoring-file-warning-button[data-v-f05858f0],.scoring-file-publish-button[data-v-f05858f0],.scoring-file-editor-tools button[data-v-f05858f0]{min-height:40px;border:1px solid #bfd0f6;border-radius:12px;background:#fff;color:#315fd9;font-weight:900;cursor:pointer}.scoring-file-choose-button[data-v-f05858f0]{width:190px;padding:0 15px}.scoring-file-upload-name[data-v-f05858f0]{align-self:center;min-width:0;overflow:hidden;color:#344155;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.scoring-file-upload-name.empty[data-v-f05858f0]{color:#94a3b8}.scoring-file-primary-button[data-v-f05858f0]{grid-column:1 / -1;border-color:#315fd9;background:#315fd9;color:#fff}.scoring-file-list-card[data-v-f05858f0]{overflow:hidden}.scoring-file-list-heading[data-v-f05858f0]{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e6edf7}.scoring-file-list-heading span[data-v-f05858f0]{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:26px;border-radius:999px;background:#edf3ff;color:#315fd9;font-size:13px;font-weight:900}.scoring-file-list[data-v-f05858f0]{display:grid;max-height:calc(100vh - 390px);overflow-y:auto}.scoring-file-list-empty[data-v-f05858f0],.scoring-file-detail-empty[data-v-f05858f0],.scoring-file-sync-empty[data-v-f05858f0]{padding:36px 22px;color:#8a98ac;text-align:center}.scoring-file-list-item[data-v-f05858f0]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:16px 18px;border-bottom:1px solid #edf1f7;cursor:pointer;outline:none;transition:background .16s ease,box-shadow .16s ease}.scoring-file-list-item[data-v-f05858f0]:hover,.scoring-file-list-item[data-v-f05858f0]:focus{background:#f7faff}.scoring-file-list-item.selected[data-v-f05858f0]{background:#edf3ff;box-shadow:inset 4px 0 #315fd9}.scoring-file-list-main[data-v-f05858f0]{display:grid;gap:5px;min-width:0}.scoring-file-list-main strong[data-v-f05858f0],.scoring-file-list-main>span[data-v-f05858f0]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scoring-file-list-main strong[data-v-f05858f0]{color:#172033}.scoring-file-list-main>span[data-v-f05858f0]{color:#758399;font-size:12px}.scoring-file-list-meta[data-v-f05858f0]{display:flex;gap:8px;flex-wrap:wrap}.scoring-file-list-meta em[data-v-f05858f0]{color:#64748b;font-size:11px;font-style:normal}.scoring-file-publish-button[data-v-f05858f0]{padding:0 12px;white-space:nowrap}.scoring-file-publish-button.large[data-v-f05858f0]{padding:0 18px}.scoring-file-detail-card[data-v-f05858f0]{padding:22px}.scoring-file-detail-empty[data-v-f05858f0]{display:grid;gap:7px;min-height:470px;place-content:center}.scoring-file-detail-empty strong[data-v-f05858f0]{color:#344155;font-size:18px}.scoring-file-detail-header[data-v-f05858f0]{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid #e6edf7}.scoring-file-title-line[data-v-f05858f0]{display:flex;align-items:center;gap:9px}.scoring-file-dirty-badge[data-v-f05858f0],.scoring-file-status[data-v-f05858f0]{padding:4px 8px;border-radius:999px;font-size:11px;font-style:normal;font-weight:900}.scoring-file-dirty-badge[data-v-f05858f0]{background:#fff1cf;color:#9a6500}.scoring-file-summary[data-v-f05858f0]{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));margin:18px 0;overflow:hidden;border:1px solid #e2eaf5;border-radius:15px;background:#f8fbff}.scoring-file-summary>div[data-v-f05858f0]{display:grid;gap:4px;padding:13px 15px;border-right:1px solid #e2eaf5}.scoring-file-summary>div[data-v-f05858f0]:last-child{border-right:0}.scoring-file-summary span[data-v-f05858f0]{color:#76849a;font-size:12px}.scoring-file-summary strong[data-v-f05858f0]{color:#243044}.scoring-file-editor-section[data-v-f05858f0],.scoring-file-sync-section[data-v-f05858f0]{display:grid;gap:13px;padding:18px 0;border-top:1px solid #e6edf7}.scoring-file-section-heading[data-v-f05858f0],.scoring-file-safe-save[data-v-f05858f0],.scoring-file-sync-actions[data-v-f05858f0]{display:flex;align-items:center;justify-content:space-between;gap:16px}.scoring-file-editor-tools[data-v-f05858f0]{display:flex;gap:8px}.scoring-file-editor-tools button[data-v-f05858f0]{padding:0 13px}.scoring-file-editor[data-v-f05858f0]{width:100%;min-height:420px;resize:vertical;box-sizing:border-box;border:1px solid #cfdbea;border-radius:15px;padding:16px;background:#101827;color:#d9e6ff;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.65;-moz-tab-size:2;tab-size:2}.scoring-file-editor[data-v-f05858f0]:focus{border-color:#4f77e8;outline:3px solid rgba(79,119,232,.14)}.scoring-file-safe-save[data-v-f05858f0]{padding:14px 16px;border-radius:14px;background:#eef8f1}.scoring-file-safe-save>div[data-v-f05858f0]{display:grid;gap:3px}.scoring-file-safe-save strong[data-v-f05858f0]{color:#28683a}.scoring-file-safe-save span[data-v-f05858f0],.scoring-file-sync-actions>span[data-v-f05858f0]{color:#637286;font-size:12px}.scoring-file-safe-save .scoring-file-primary-button[data-v-f05858f0]{grid-column:auto;padding:0 18px}.scoring-file-selected-count[data-v-f05858f0]{color:#64748b;font-size:13px;font-weight:800}.scoring-file-assignment-list[data-v-f05858f0]{display:grid;gap:8px;max-height:260px;overflow-y:auto}.scoring-file-assignment-item[data-v-f05858f0]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 14px;border:1px solid #e0e8f4;border-radius:13px;background:#fff}.scoring-file-assignment-item.disabled[data-v-f05858f0]{background:#f8fafc;color:#94a3b8}.scoring-file-assignment-item input[data-v-f05858f0]{width:17px;height:17px;margin:0}.scoring-file-assignment-item>div[data-v-f05858f0]{display:grid;gap:3px}.scoring-file-assignment-item span[data-v-f05858f0],.scoring-file-assignment-item small[data-v-f05858f0]{color:#758399;font-size:12px}.scoring-file-assignment-item small[data-v-f05858f0]{grid-column:2 / -1}.scoring-file-status[data-v-f05858f0]{background:#edf2fa;color:#5f6f86}.scoring-file-status.draft[data-v-f05858f0]{background:#f0f2f6}.scoring-file-status.pending[data-v-f05858f0]{background:#fff2d4;color:#946300}.scoring-file-status.active[data-v-f05858f0]{background:#e7f7ec;color:#26713b}.scoring-file-status.ended[data-v-f05858f0]{background:#edf0f5;color:#718096}.scoring-file-sync-actions[data-v-f05858f0]{padding-top:4px}.scoring-file-warning-button[data-v-f05858f0]{padding:0 18px;border-color:#d99d38;background:#fff9eb;color:#9a6500;white-space:nowrap}.scoring-file-version-toggle[data-v-f05858f0]{display:inline-flex;align-items:center;justify-content:center;justify-self:end;gap:6px;min-height:42px;padding:0 18px;border-color:#cfdbea;background:#fff;color:#44536a;font-size:14px;font-weight:900;white-space:nowrap}.scoring-file-version-toggle[data-v-f05858f0]:hover,.scoring-file-version-toggle.expanded[data-v-f05858f0]{border-color:#9fb4d0;background:#f8fbff;color:#315fd9}.scoring-file-version-history[data-v-f05858f0]{grid-column:1 / -1;overflow:hidden;margin-top:2px;border:1px solid #dbe5f1;border-radius:10px;background:#f8fbff}.scoring-file-version-row[data-v-f05858f0]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;padding:5px 7px;border-bottom:1px solid #edf1f7;color:#52677a;font-size:12px}.scoring-file-version-row[data-v-f05858f0]:hover{background:#f3f7fd}.scoring-file-version-row.current[data-v-f05858f0]{background:#e3edff;color:#315fd9;box-shadow:inset 3px 0 #5278e8}.scoring-file-version-row.selected[data-v-f05858f0]:not(.current){background:#eef4ff;box-shadow:inset 3px 0 #8da8e8}.scoring-file-version-row[data-v-f05858f0]:last-child{border-bottom:0}.scoring-file-version-view[data-v-f05858f0]{display:grid;grid-template-columns:42px minmax(120px,1fr) auto;gap:8px;align-items:center;width:100%;min-width:0;padding:5px 4px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.scoring-file-version-view strong[data-v-f05858f0]{color:inherit;font-size:13px;font-weight:900}.scoring-file-version-view>span[data-v-f05858f0]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scoring-file-version-action[data-v-f05858f0]{color:#315fd9;font-weight:800}.scoring-file-version-delete[data-v-f05858f0]{min-height:30px;padding:0 9px;border:1px solid #efb6b6;border-radius:8px;background:#fff;color:#c23b3b;font-size:12px;font-weight:800;cursor:pointer}.scoring-file-version-delete[data-v-f05858f0]:hover:not(:disabled){background:#fff1f1}.scoring-file-version-error[data-v-f05858f0],.scoring-file-version-message[data-v-f05858f0]{margin:7px;padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.5}.scoring-file-version-error[data-v-f05858f0]{border:1px solid #f0b8b8;background:#fff2f2;color:#b83232}.scoring-file-version-message[data-v-f05858f0]{border:1px solid #b9ddc7;background:#f0fbf4;color:#247343}.scoring-file-history-preview[data-v-f05858f0]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #bfd1f3;border-radius:12px;background:#eef4ff}.scoring-file-history-preview>div[data-v-f05858f0]{display:grid;gap:3px}.scoring-file-history-preview strong[data-v-f05858f0]{color:#315fd9}.scoring-file-history-preview span[data-v-f05858f0]{color:#5c6f89;font-size:12px}.scoring-file-history-preview button[data-v-f05858f0]{min-height:38px;padding:0 14px;border:1px solid #9fb8e9;border-radius:10px;background:#fff;color:#315fd9;font-weight:900;cursor:pointer}.scoring-file-editor[readonly][data-v-f05858f0]{background:#f7f9fc;color:#334155;cursor:text}button[data-v-f05858f0]:disabled{cursor:not-allowed;opacity:.5}@media(max-width:1120px){.scoring-files-workspace[data-v-f05858f0]{grid-template-columns:1fr}.scoring-file-list[data-v-f05858f0]{max-height:360px}}@media(max-width:760px){.scoring-file-upload-card[data-v-f05858f0],.scoring-file-list-item[data-v-f05858f0],.scoring-file-assignment-item[data-v-f05858f0]{grid-template-columns:1fr}.scoring-file-detail-header[data-v-f05858f0],.scoring-file-section-heading[data-v-f05858f0],.scoring-file-history-preview[data-v-f05858f0],.scoring-file-safe-save[data-v-f05858f0],.scoring-file-sync-actions[data-v-f05858f0]{align-items:stretch;flex-direction:column}.scoring-file-summary[data-v-f05858f0]{grid-template-columns:repeat(2,minmax(0,1fr))}.scoring-file-summary>div[data-v-f05858f0]{border-bottom:1px solid #e2eaf5}.scoring-file-publish-button[data-v-f05858f0],.scoring-file-version-toggle[data-v-f05858f0],.scoring-file-primary-button[data-v-f05858f0],.scoring-file-warning-button[data-v-f05858f0]{width:100%}.scoring-file-editor-tools[data-v-f05858f0]{flex-wrap:wrap}.scoring-file-version-row[data-v-f05858f0]{grid-template-columns:minmax(0,1fr) auto;gap:6px}.scoring-file-version-view[data-v-f05858f0]{grid-template-columns:38px minmax(0,1fr) auto;gap:6px}.scoring-file-assignment-item small[data-v-f05858f0]{grid-column:auto}}.scoring-file-template-code[data-v-f05858f0]{display:flex;grid-column:1 / -1;align-items:center;gap:10px;margin:0}.scoring-file-template-code span[data-v-f05858f0]{flex:0 0 auto;color:#475569;font-size:13px;font-weight:900;white-space:nowrap}.scoring-file-template-code input[data-v-f05858f0]{flex:0 1 320px;width:320px;min-width:0;height:40px;box-sizing:border-box;border:1px solid #cbd8ef;border-radius:11px;padding:0 12px;background:#fff;color:#172033;font:inherit;font-weight:800}.scoring-file-template-code input[data-v-f05858f0]:focus{border-color:#5278e8;box-shadow:0 0 0 3px #dfe8ff;outline:none}@media(max-width:760px){.scoring-file-template-code[data-v-f05858f0]{align-items:stretch;flex-direction:column}.scoring-file-template-code input[data-v-f05858f0]{flex:none;width:100%}.scoring-file-template-actions[data-v-f05858f0]{grid-template-columns:repeat(2,minmax(0,1fr))}.scoring-file-template-actions button[data-v-f05858f0],.scoring-file-choose-button[data-v-f05858f0]{width:100%}}.scoring-file-upload-card .scoring-file-template-actions[data-v-f05858f0]{display:grid!important;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px;width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}.scoring-file-upload-card .scoring-file-template-actions button[data-v-f05858f0]{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box;padding-right:8px;padding-left:8px;font-size:12px;white-space:nowrap}.scoring-file-upload-card .scoring-file-choose-button[data-v-f05858f0]{justify-self:stretch;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box}.scoring-file-upload-card .scoring-file-upload-name[data-v-f05858f0]{width:100%;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-output-box[data-v-cf3f6b99]{display:block;width:100%;min-width:0}.student-output-textarea[data-v-cf3f6b99]{display:block;width:100%;height:500px;min-height:500px;max-height:500px;box-sizing:border-box;padding:14px 16px;border:1px solid #cfd8e3;border-radius:2px;background:#fff;color:#111827;overflow:auto;resize:none;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;line-height:1.65}.student-self-grade[data-v-aa8b446c]{display:flex;flex-direction:column;gap:12px;padding:4px 0 20px}.student-query-bar[data-v-aa8b446c]{display:grid;grid-template-columns:minmax(170px,1fr) 90px auto;gap:8px;align-items:center}.student-query-bar input[data-v-aa8b446c]{height:38px;min-width:0;box-sizing:border-box;border:1px solid #cfd8e3;border-radius:11px;padding:0 12px;color:#0f172a;font-weight:700}.student-alert[data-v-aa8b446c]{padding:7px 10px;border-radius:10px;font-weight:800}.student-alert.success[data-v-aa8b446c]{display:none}.student-alert.error[data-v-aa8b446c]{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c}.student-info-bar[data-v-aa8b446c]{display:inline-flex;width:fit-content;max-width:100%;align-items:center;gap:8px;color:#0f172a;font-weight:900}.student-single-panel[data-v-aa8b446c]{display:flex;flex-direction:column;gap:10px}.student-section-title[data-v-aa8b446c]{margin:0;color:#0f172a;font-size:15px;font-weight:900;white-space:nowrap}.student-empty[data-v-aa8b446c]{color:#64748b;padding:10px 0}.student-empty-large[data-v-aa8b446c]{text-align:center;padding:34px 0}.student-status-groups[data-v-aa8b446c]{display:flex;flex-direction:column;gap:14px}.student-assignment-group[data-v-aa8b446c]{overflow:hidden;border:1px solid #dbe3ef;border-radius:12px;background:#fff}.student-group-title[data-v-aa8b446c]{background:#e8f0fa}.student-group-toggle[data-v-aa8b446c]{display:flex;align-items:center;gap:8px;width:100%;min-height:30px;padding:10px 12px;border:0;background:transparent;color:#0f172a;text-align:left;cursor:pointer}.student-group-toggle[data-v-aa8b446c]:hover{color:#2563eb}.student-group-arrow[data-v-aa8b446c]{flex:0 0 auto;width:16px;color:#64748b;font-size:12px;text-align:center}.student-group-toggle strong[data-v-aa8b446c]{min-width:0;overflow:hidden;font-size:17px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.student-group-toggle em[data-v-aa8b446c]{flex:0 0 auto;margin-left:auto;color:#475569;font-size:13px;font-style:normal;font-weight:800;white-space:nowrap}.student-collapse-list[data-v-aa8b446c]{--student-assignment-columns: 54px minmax(160px, 1fr) 118px 70px 118px 96px 96px 68px 64px;display:block}.student-assignment-table-head[data-v-aa8b446c],.student-assignment-summary[data-v-aa8b446c]{display:grid;grid-template-columns:var(--student-assignment-columns);align-items:center;row-gap:8px;column-gap:8px}.student-assignment-table-head[data-v-aa8b446c]{padding:8px 10px;border-top:1px solid #e2e8f0;border-bottom:1px solid #dbe3ef;background:#f3f6fa;color:#475569;font-size:12px;font-weight:900}.student-assignment-table-head[data-v-aa8b446c]>*,.student-assignment-summary[data-v-aa8b446c]>*{min-width:0}.student-assignment-table-head[data-v-aa8b446c]>*{text-align:center}.student-assignment-table-head[data-v-aa8b446c]>:nth-child(2){text-align:left}.student-assignment-table-head[data-v-aa8b446c]>:nth-child(3),.student-assignment-summary>.student-assignment-deadline[data-v-aa8b446c]{padding-right:6px}.student-assignment-table-head[data-v-aa8b446c]>:nth-child(4),.student-assignment-summary>.student-assignment-status[data-v-aa8b446c]{padding-left:6px}.student-assignment-row[data-v-aa8b446c]{border-bottom:1px solid #e5e7eb;background:#fff}.student-assignment-row[data-v-aa8b446c]:last-child{border-bottom:0}.student-assignment-row.active[data-v-aa8b446c]{background:#f8fbff}.student-assignment-row.active .student-assignment-summary[data-v-aa8b446c]{border-bottom:1px solid #d9e2ee}.student-assignment-summary[data-v-aa8b446c]{width:100%;min-height:50px;padding:8px 10px;border:0;border-radius:0;background:transparent;color:#334155;text-align:left;cursor:pointer}.student-assignment-summary[data-v-aa8b446c]:hover:not(:disabled){background:#f8fbff}.student-assignment-sequence[data-v-aa8b446c]{color:#64748b;font-size:13px;font-weight:900;text-align:center}.student-assignment-name[data-v-aa8b446c]{display:-webkit-box;overflow:hidden;color:#111827;font-size:17px;font-weight:900;line-height:1.35;text-align:left;-webkit-box-orient:vertical;-webkit-line-clamp:2}.student-assignment-deadline[data-v-aa8b446c],.student-assignment-score[data-v-aa8b446c],.student-assignment-count[data-v-aa8b446c],.student-submission-summary[data-v-aa8b446c],.student-assignment-toggle[data-v-aa8b446c]{display:inline-flex;align-items:center;font-size:13px;font-weight:800;white-space:nowrap;justify-content:center;text-align:center}.student-assignment-status[data-v-aa8b446c]{display:flex;align-items:center;justify-content:center;text-align:center}.student-assignment-deadline.unset[data-v-aa8b446c],.student-assignment-score[data-v-aa8b446c]{color:#64748b}.student-status-badge[data-v-aa8b446c]{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:13px;font-weight:800;white-space:nowrap}.student-status-badge.active[data-v-aa8b446c]{background:#dbeafe;color:#1d4ed8}.student-status-badge.ended[data-v-aa8b446c]{background:#e5e7eb;color:#374151}.student-submission-summary.complete[data-v-aa8b446c]{color:#166534}.student-submission-summary.incomplete[data-v-aa8b446c]{color:#92400e}.student-assignment-toggle[data-v-aa8b446c]{min-height:30px;padding:0 8px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;justify-content:center;color:#2563eb;font-weight:900}.student-collapse-body[data-v-aa8b446c]{border-top:0;padding:0 14px 14px;border-radius:0 0 4px 4px;background:#f7faff}.student-required-file-links[data-v-aa8b446c]{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 10px;border:1px solid #d7dde6;border-radius:999px;background:#fff;color:#334155;font-size:13px;font-weight:800;white-space:nowrap}.student-required-file-links strong[data-v-aa8b446c]{color:#334155;font-weight:900}.student-required-file-links a[data-v-aa8b446c],.student-required-file-links em[data-v-aa8b446c]{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:999px;font-style:normal;font-weight:900;text-decoration:none}.student-required-file-links a[data-v-aa8b446c]{background:#e8f1ff;color:#1d4ed8}.student-required-file-links a[data-v-aa8b446c]:hover{text-decoration:underline}.student-required-file-links em[data-v-aa8b446c]{background:#f1f5f9;color:#94a3b8}.student-template-panel[data-v-aa8b446c]{grid-column:1 / -1;display:grid;grid-template-columns:minmax(280px,.6fr) minmax(0,1.4fr);gap:14px;min-width:0;padding:0;border:0;border-radius:0;background:transparent}.student-template-left[data-v-aa8b446c],.student-template-preview[data-v-aa8b446c]{min-width:0;padding:12px 0;border:0;border-radius:0;background:transparent}.student-template-left[data-v-aa8b446c]{display:grid;align-content:start;gap:12px}.student-template-heading[data-v-aa8b446c]{display:flex;align-items:center;justify-content:space-between;gap:10px}.student-template-heading strong[data-v-aa8b446c]{color:#1e3a8a;font-size:15px}.student-template-file-list[data-v-aa8b446c]{display:grid;gap:8px;min-width:0}.student-template-file-row[data-v-aa8b446c]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;padding:7px 8px;border:1px solid #dbeafe;border-radius:8px;background:#f8fafc}.student-template-file-row.active[data-v-aa8b446c]{border-color:#60a5fa;background:#eff6ff}.student-template-name-button[data-v-aa8b446c]{overflow:hidden;min-width:0;padding:4px 2px;border:0;background:transparent;color:#1e3a8a;font-size:13px;font-weight:800;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.student-template-name-button[data-v-aa8b446c]:hover{color:#1d4ed8;text-decoration:underline}.student-template-file-actions[data-v-aa8b446c]{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.student-template-view-button[data-v-aa8b446c],.student-template-file-button[data-v-aa8b446c],.student-template-download-all[data-v-aa8b446c]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:32px;padding:0 11px;border:1px solid #93c5fd;border-radius:7px;background:#fff;color:#1d4ed8;font-size:12px;font-weight:800;cursor:pointer}.student-template-download-all-message[data-v-aa8b446c]{flex:1 1 auto;min-width:0;margin-right:auto;color:#15803d;font-size:14px;font-weight:800;line-height:1.4;text-align:left}.student-template-view-button.active[data-v-aa8b446c]{border-color:#60a5fa;background:#dbeafe;color:#1e40af}.student-template-download-all[data-v-aa8b446c]{border-color:#2563eb;background:#2563eb;color:#fff;box-shadow:0 3px 8px #2563eb2e}.student-template-view-button[data-v-aa8b446c]:hover,.student-template-file-button[data-v-aa8b446c]:hover{border-color:#60a5fa;background:#eff6ff}.student-template-download-all[data-v-aa8b446c]:hover:not(:disabled){border-color:#1d4ed8;background:#1d4ed8}.student-template-file-button[data-v-aa8b446c]:disabled,.student-template-download-all[data-v-aa8b446c]:disabled{border-color:#cbd5e1;background:#f1f5f9;color:#94a3b8;box-shadow:none;cursor:not-allowed}.student-template-loading[data-v-aa8b446c]{color:#64748b;font-size:13px;font-weight:700}.student-template-feedback[data-v-aa8b446c]{padding:8px 10px;border-radius:8px;font-size:13px;font-weight:800}.student-template-feedback.error[data-v-aa8b446c]{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c}.student-template-feedback.success[data-v-aa8b446c]{border:1px solid #bbf7d0;background:#f0fdf4;color:#15803d}.student-template-preview[data-v-aa8b446c]{display:flex;flex-direction:column;gap:10px}.student-template-preview-head[data-v-aa8b446c]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.student-template-preview-head strong[data-v-aa8b446c]{color:#1e3a8a;font-size:15px}.student-template-preview-head span[data-v-aa8b446c]{overflow:hidden;color:#64748b;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.student-template-preview-content[data-v-aa8b446c],.student-template-preview-empty[data-v-aa8b446c]{flex:1 1 280px}.student-template-preview-content[data-v-aa8b446c]{width:100%;min-height:280px;box-sizing:border-box;padding:14px;border:1px solid #cbd5e1;border-radius:8px;outline:none;background:#f8fafc;color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.65;resize:none;white-space:pre}.student-template-preview-content[data-v-aa8b446c]:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa26}.student-template-preview-empty[data-v-aa8b446c]{display:grid;place-items:center;min-height:280px;padding:20px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;color:#64748b;font-size:13px;font-weight:700;text-align:center}@media(max-width:980px){.student-template-panel[data-v-aa8b446c]{grid-template-columns:1fr}.student-template-preview-content[data-v-aa8b446c],.student-template-preview-empty[data-v-aa8b446c]{min-height:240px}}@media(max-width:560px){.student-template-file-row[data-v-aa8b446c]{grid-template-columns:1fr}.student-template-file-actions[data-v-aa8b446c]{justify-content:flex-start}}.student-file-input-native[data-v-aa8b446c]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}.student-template-upload-controls[data-v-aa8b446c]{display:grid;gap:8px;min-width:0;padding-top:2px}.student-upload-action-bar[data-v-aa8b446c]{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap;min-width:0}.student-file-picker-button[data-v-aa8b446c]{display:inline-flex;align-items:center;justify-content:center;height:38px;min-height:38px;padding:0 12px;border:1px solid #64748b;border-radius:4px;background:#fff;color:#111827;font-size:14px;font-weight:800;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none}.student-upload-action-control[data-v-aa8b446c]{min-width:104px;height:38px;min-height:38px;box-sizing:border-box;padding:0 14px;border-radius:4px;font-size:14px;line-height:1;white-space:nowrap}.student-file-picker-text[data-v-aa8b446c]{color:#111827;font-size:14px;font-weight:700;white-space:nowrap}.student-replace-check[data-v-aa8b446c]{display:inline-flex;align-items:center;gap:6px;margin:0;color:#334155;font-weight:800;white-space:nowrap}.student-replace-check input[data-v-aa8b446c]{width:16px;height:16px}.student-selected-files[data-v-aa8b446c]{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.student-replace-target[data-v-aa8b446c]{display:inline-flex;align-items:center;min-width:0;gap:3px;white-space:nowrap}.student-selected-files span[data-v-aa8b446c]{display:inline-flex;align-items:center;min-height:26px;border:1px solid #d7dde6;border-radius:999px;background:#fff;color:#334155;padding:0 10px;font-size:12px;font-weight:800;white-space:nowrap}.student-upload-submit[data-v-aa8b446c]{width:auto}.student-upload-submit[data-v-aa8b446c]:disabled{background:#cbd5e1;border-color:#cbd5e1;color:#64748b;cursor:not-allowed;opacity:.75}.student-upload-feedback[data-v-aa8b446c]{display:inline-flex;align-items:center;flex:0 1 auto;margin:0;padding:3px 7px;border-radius:5px;font-size:13px;font-weight:800;line-height:1.5;white-space:nowrap}.student-upload-feedback.error[data-v-aa8b446c]{background:#fef2f2;color:#b91c1c}.student-upload-feedback.success[data-v-aa8b446c]{background:#f0fdf4;color:#166534}.student-uploaded-files[data-v-aa8b446c]{display:grid;gap:12px;margin:0;padding:0 12px 14px}.student-uploaded-file-list[data-v-aa8b446c]{display:grid;grid-template-columns:repeat(3,108px);align-items:flex-start;gap:12px;min-width:0}.student-uploaded-file-card[data-v-aa8b446c]{position:relative;flex:0 0 108px;width:108px;min-width:0}.student-uploaded-file-preview[data-v-aa8b446c]{display:grid;place-items:center;width:108px;height:88px;overflow:hidden;padding:0;border:1px solid #cbd5e1;border-radius:9px;background:#eef2ff;box-shadow:0 2px 7px #0f172a14;cursor:pointer}.student-uploaded-file-preview[data-v-aa8b446c]:hover,.student-uploaded-file-preview[data-v-aa8b446c]:focus-visible,.student-uploaded-file-preview.active[data-v-aa8b446c]{border-color:#60a5fa;background:#dbeafe;box-shadow:0 0 0 2px #2563eb1f;outline:none}.student-uploaded-file-preview img[data-v-aa8b446c]{width:100%;height:100%;object-fit:cover;background:#fff}.student-uploaded-file-type[data-v-aa8b446c]{display:grid;place-items:center;width:100%;height:100%;color:#fff;font-size:46px;font-weight:900;line-height:1;background:linear-gradient(135deg,#6366f1,#4338ca)}.student-uploaded-file-type.file-type-pkt[data-v-aa8b446c]{background:linear-gradient(135deg,#64748b,#334155)}.student-uploaded-file-delete[data-v-aa8b446c],.student-uploaded-file-download[data-v-aa8b446c]{position:absolute;z-index:1;display:inline-grid;place-items:center;width:26px;height:26px;min-height:26px;padding:0;border:0;border-radius:7px;color:#fff;line-height:1;cursor:pointer;box-shadow:0 3px 8px #0f172a2e}.student-uploaded-file-delete[data-v-aa8b446c]{top:5px;right:5px;background:#dc2626e6;font-size:20px;font-weight:800}.student-uploaded-file-delete[data-v-aa8b446c]:hover:not(:disabled){background:#b91c1c}.student-uploaded-file-delete[data-v-aa8b446c]:disabled{cursor:not-allowed;opacity:.55}.student-uploaded-file-download[data-v-aa8b446c]{right:5px;bottom:25px;background:#1e40afe0}.student-uploaded-file-download[data-v-aa8b446c]:hover{background:#1e40af}.student-uploaded-file-download svg[data-v-aa8b446c]{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.student-uploaded-file-name[data-v-aa8b446c]{display:block;width:100%;margin-top:6px;overflow:hidden;color:#334155;font-size:13px;font-weight:800;text-align:center;text-overflow:ellipsis;white-space:nowrap}.student-uploaded-empty[data-v-aa8b446c]{margin:0;color:#94a3b8;font-weight:700}.student-grade-box[data-v-aa8b446c]{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:nowrap;white-space:nowrap}.student-submission-preview-text[data-v-aa8b446c]{display:block;width:100%;height:500px;min-height:500px;max-height:500px;box-sizing:border-box;padding:14px 16px;border:1px solid #cfd8e3;border-radius:2px;background:#fff;color:#111827;overflow:auto;resize:none;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;line-height:1.65}.student-upload-action-bar .student-self-grade-button[data-v-aa8b446c]{width:auto;background:#cbd5e1;border-color:#cbd5e1;color:#64748b;box-shadow:none;cursor:not-allowed;opacity:.75}.student-upload-action-bar .student-self-grade-button.student-self-grade-ready[data-v-aa8b446c]{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 8px 18px #2563eb38;cursor:pointer;opacity:1}.student-tip[data-v-aa8b446c]{color:#b45309;font-size:13px;font-weight:800}.student-submission-workspace[data-v-aa8b446c]{display:grid;grid-template-columns:372px minmax(0,1fr);gap:16px;align-items:start;width:100%;margin-top:0;padding-top:12px}.student-submission-left[data-v-aa8b446c]{width:372px;min-width:0;box-sizing:border-box}.student-record-box[data-v-aa8b446c]{min-width:0;padding:14px 12px 0;border-top:1px solid #e2e8f0}.student-preview-workspace[data-v-aa8b446c]{min-width:0;width:100%;max-width:100%;box-sizing:border-box}.student-preview-workspace .student-output-box[data-v-aa8b446c]{min-width:0;width:100%}.student-inline-preview-card[data-v-aa8b446c]{min-width:0;max-width:100%;min-height:260px;box-sizing:border-box;border:0;border-radius:0;background:transparent;overflow:auto}.student-inline-image-preview[data-v-aa8b446c]{display:grid;place-items:center;width:100%;max-width:100%;max-height:540px;min-width:0;min-height:260px;box-sizing:border-box;padding:14px;overflow:auto}.student-inline-image-preview img[data-v-aa8b446c],.student-inline-preview-image[data-v-aa8b446c]{display:block;width:auto;max-width:100%;height:auto;object-fit:contain;margin-right:auto;margin-left:auto;border-radius:12px;background:#fff}.student-preview-tabs[data-v-aa8b446c]{display:flex;align-items:flex-end;gap:18px;min-width:0;border-bottom:1px solid #dbe3ef}.student-preview-tabs button[data-v-aa8b446c]{min-width:0;min-height:36px;overflow:hidden;padding:0 2px 7px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#475569;box-shadow:none;font-size:14px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.student-preview-tabs button.active[data-v-aa8b446c]{border-bottom-color:#2563eb;color:#2563eb}.student-record-header[data-v-aa8b446c]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.student-record-table[data-v-aa8b446c]{width:100%;table-layout:fixed;border-collapse:collapse;background:#fff}.student-record-col-score[data-v-aa8b446c]{width:36%}.student-record-col-time[data-v-aa8b446c]{width:64%}.student-record-table th[data-v-aa8b446c],.student-record-table td[data-v-aa8b446c]{border-bottom:1px solid #e2e8f0;padding:10px 12px;text-align:left;vertical-align:middle;white-space:nowrap;font-size:14px}.student-record-table th[data-v-aa8b446c]{color:#334155;background:#f1f5f9;font-weight:900}.student-score-main[data-v-aa8b446c]{color:#111827;font-weight:800}.student-record-table tbody tr.student-record-viewable[data-v-aa8b446c]{cursor:pointer}.student-record-table tbody tr.student-record-viewable[data-v-aa8b446c]:hover,.student-record-table tbody tr.student-record-viewable[data-v-aa8b446c]:focus-visible,.student-record-table tbody tr.student-record-report-active[data-v-aa8b446c]{background:#eff6ff;outline:none}.student-output-textarea[data-v-aa8b446c]{display:block;width:100%;height:500px;min-height:500px;max-height:500px;box-sizing:border-box;margin-top:0;padding:14px 16px;border:1px solid #cfd8e3;border-radius:2px;background:#fff;color:#111827;overflow:auto;resize:none;white-space:pre;word-break:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;line-height:1.65}button[data-v-aa8b446c]{min-height:32px;border:1px solid #d1d5db;border-radius:9px;background:#f8fafc;color:#334155;font-weight:800;padding:0 12px;cursor:pointer}button.primary[data-v-aa8b446c]{background:#2563eb;border-color:#2563eb;color:#fff}button[data-v-aa8b446c]:disabled{opacity:.55;cursor:not-allowed}@media(max-width:1300px){.student-query-bar[data-v-aa8b446c]{grid-template-columns:minmax(180px,1fr) 100px auto}.student-grade-box[data-v-aa8b446c]{justify-content:flex-start}}@media(max-width:820px){.student-grade-box[data-v-aa8b446c]{flex-basis:100%}.student-assignment-table-head[data-v-aa8b446c]{display:none}.student-assignment-summary[data-v-aa8b446c]{grid-template-columns:28px minmax(0,1fr) auto;gap:7px 10px;padding:10px 12px}.student-assignment-sequence[data-v-aa8b446c]{grid-column:1;grid-row:1}.student-assignment-name[data-v-aa8b446c]{grid-column:2;grid-row:1}.student-assignment-status[data-v-aa8b446c]{grid-column:3;grid-row:1}.student-assignment-deadline[data-v-aa8b446c],.student-submission-summary[data-v-aa8b446c],.student-assignment-score[data-v-aa8b446c],.student-assignment-count[data-v-aa8b446c],.student-assignment-toggle[data-v-aa8b446c]{grid-column:2 / 4}.student-assignment-summary [data-label][data-v-aa8b446c]:before{content:attr(data-label) "：";margin-right:6px;color:#64748b;font-weight:700}}@media(max-width:700px){.student-uploaded-file-list[data-v-aa8b446c]{grid-template-columns:repeat(2,108px)}.student-query-bar[data-v-aa8b446c]{grid-template-columns:1fr}.student-assignment-summary[data-v-aa8b446c]{grid-template-columns:24px minmax(0,1fr)}.student-assignment-name[data-v-aa8b446c]{grid-column:2}.student-assignment-sequence[data-v-aa8b446c]{grid-column:1}.student-assignment-status[data-v-aa8b446c],.student-assignment-deadline[data-v-aa8b446c],.student-submission-summary[data-v-aa8b446c],.student-assignment-score[data-v-aa8b446c],.student-assignment-count[data-v-aa8b446c],.student-assignment-toggle[data-v-aa8b446c]{grid-column:2}}.student-upload-action-bar button.student-self-grade-button[data-v-aa8b446c]{background:#cbd5e1!important;border-color:#cbd5e1!important;color:#64748b!important;box-shadow:none!important;cursor:not-allowed!important;opacity:.75!important}.student-upload-action-bar button.student-self-grade-button.student-self-grade-ready[data-v-aa8b446c]{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important;box-shadow:0 8px 18px #2563eb38!important;cursor:pointer!important;opacity:1!important}.student-upload-action-bar button.student-self-grade-button[data-v-aa8b446c]:disabled{background:#cbd5e1!important;border-color:#cbd5e1!important;color:#64748b!important;box-shadow:none!important;cursor:not-allowed!important;opacity:.75!important}.student-upload-action-bar button.primary.student-self-grade-button[data-v-aa8b446c]:not(.student-self-grade-ready){background:#cbd5e1!important;border-color:#cbd5e1!important;color:#64748b!important;box-shadow:none!important;cursor:not-allowed!important;opacity:.75!important}.student-upload-action-bar button.primary.student-self-grade-button.student-self-grade-ready[data-v-aa8b446c]:not(:disabled){background:#2563eb!important;border-color:#2563eb!important;color:#fff!important;box-shadow:0 8px 18px #2563eb38!important;cursor:pointer!important;opacity:1!important}@media(max-width:900px){.student-submission-workspace[data-v-aa8b446c]{grid-template-columns:1fr}.student-submission-left[data-v-aa8b446c]{width:100%}}.student-replace-note[data-v-aa8b446c]{display:inline-flex;align-items:center;height:32px;color:#475569;font-size:13px;font-weight:800;white-space:nowrap}.student-file-pill[data-v-aa8b446c]{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 4px 0 7px;border-radius:999px;background:#e8f1ff}.student-file-pill a[data-v-aa8b446c]{color:#1d4ed8;font-weight:900;text-decoration:none}.student-file-delete[data-v-aa8b446c]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;min-height:18px;padding:0;border:0;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:14px;font-weight:900;line-height:1;cursor:pointer}.student-file-delete[data-v-aa8b446c]:hover:not(:disabled){background:#bfdbfe;color:#1e40af}.student-file-delete[data-v-aa8b446c]:disabled{cursor:not-allowed;opacity:.45}.score-summary-page{display:grid;gap:16px}.score-summary-head{display:flex;align-items:flex-start;justify-content:flex-start;gap:16px}.score-summary-head h2{margin:0 0 6px;color:#0f172a;font-size:22px}.score-summary-head p{margin:0;color:#64748b;font-size:14px}.score-summary-toolbar{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(160px,.8fr) minmax(220px,1fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid #dbeafe;border-radius:16px;background:#f8fbff}.score-summary-toolbar label{display:grid;gap:6px;color:#475569;font-size:13px;font-weight:900}.score-summary-toolbar button{height:42px}.score-summary-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.score-summary-stat-grid>div{display:grid;gap:6px;min-height:74px;padding:12px;border:1px solid #dbeafe;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbff)}.score-summary-stat-grid span{color:#64748b;font-size:13px;font-weight:800}.score-summary-stat-grid strong{color:#0f172a;font-size:17px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-summary-table{max-height:540px;overflow:auto}.score-summary-table table{min-width:860px}.score-summary-table th{position:sticky;top:0;z-index:1}.score-summary-table th.is-fixed-main{color:#1d4ed8}.score-summary-table td.is-fixed-main{font-weight:800;color:#1e293b}.score-summary-table th.is-score-column,.score-summary-table td.is-score-column{text-align:center}.score-summary-table td.is-score-column{font-size:15px;font-weight:900}.score-summary-table td.is-missing-score{color:#94a3b8!important;font-size:13px;font-weight:800}.score-summary-download-panel{display:grid;gap:10px;padding:14px;border:1px solid #e5eaf2;border-radius:16px;background:#fff}.score-summary-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.score-summary-section-title h3{margin:0;color:#0f172a;font-size:18px}.score-summary-section-title span{color:#64748b;font-size:13px;font-weight:800}.score-summary-file-list{display:grid;gap:8px}.score-summary-file{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:48px;padding:10px 12px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff;color:#334155}.score-summary-file:hover{border-color:#93c5fd;background:#eff6ff}.score-summary-file strong{display:block;color:#1d4ed8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-summary-file span{display:block;margin-top:3px;color:#64748b;font-size:13px}.score-download-button{display:inline-flex;align-items:center;justify-content:center;min-width:72px;height:34px;padding:0 14px;border-radius:999px;background:#2563eb;color:#fff;font-size:14px;font-weight:900;text-decoration:none;box-shadow:0 5px 14px #2563eb2e}.score-download-button:hover{background:#1d4ed8;color:#fff}@media(max-width:1100px){.score-summary-toolbar{grid-template-columns:1fr 1fr}.score-summary-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.score-summary-head{flex-direction:column}}@media(max-width:640px){.score-summary-toolbar,.score-summary-stat-grid,.score-summary-file{grid-template-columns:1fr}.score-download-button{width:100%}.score-summary-section-title{align-items:flex-start;flex-direction:column}}.course-select-page[data-v-08c93f27]{display:grid;gap:18px;padding:20px;border:1px solid #dbe7f8;border-radius:12px;background:#fff}.course-select-error[data-v-08c93f27]{padding:13px 16px;border-radius:12px;background:#fff0f0;color:#b42318;font-weight:700}.course-card-grid[data-v-08c93f27]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.course-select-section[data-v-08c93f27]{display:grid;gap:12px}.course-select-section-title[data-v-08c93f27]{margin:0;color:#43536b;font-size:15px}.course-card[data-v-08c93f27]{position:relative;isolation:isolate;min-width:0;aspect-ratio:3 / 4;overflow:hidden;border:1px solid #d6deea;border-radius:8px;background:#263244;cursor:pointer;transition:border-color .18s ease,background .18s ease}.course-card[data-v-08c93f27]:not(.inactive):hover{border-color:#93b4ef}.course-card.selected[data-v-08c93f27]{border-color:#2f61df}.course-card.has-course-cover[data-v-08c93f27]{background:transparent}.course-card[data-v-08c93f27]:focus-visible{outline:2px solid #2f61df;outline-offset:2px}.course-card.inactive[data-v-08c93f27]{border-color:#d7dce5;cursor:default}.course-card.inactive .course-card-cover[data-v-08c93f27]{filter:grayscale(.75);cursor:default}.course-card.inactive .course-card-info[data-v-08c93f27]{opacity:.68}.course-card-cover[data-v-08c93f27]{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;width:100%;height:100%;place-items:center;overflow:hidden;padding:0;background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.32),transparent 30%),linear-gradient(145deg,#4f7ee8,#2449b5)}.course-card-cover[data-v-08c93f27]:before,.course-card-cover[data-v-08c93f27]:after{content:"";position:absolute;border:2px solid rgba(255,255,255,.17);border-radius:50%}.course-card-cover.has-course-cover[data-v-08c93f27],.course-card-cover[data-v-08c93f27] .course-cover-visual.has-image{background:transparent}.course-card-cover.has-course-cover[data-v-08c93f27]:before,.course-card-cover.has-course-cover[data-v-08c93f27]:after{display:none}.course-card-cover[data-v-08c93f27]:before{width:180px;height:180px;right:-50px;bottom:-70px}.course-card-cover[data-v-08c93f27]:after{width:110px;height:110px;top:-40px;left:-30px}.course-card-cover.tone-1[data-v-08c93f27]{background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.3),transparent 30%),linear-gradient(145deg,#32a9d6,#2464c7)}.course-card-cover.tone-2[data-v-08c93f27]{background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.3),transparent 30%),linear-gradient(145deg,#8a70df,#5640ba)}.course-card-cover.tone-3[data-v-08c93f27]{background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.28),transparent 30%),linear-gradient(145deg,#28a891,#18736b)}.course-card-cover.tone-4[data-v-08c93f27]{background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.28),transparent 30%),linear-gradient(145deg,#e18a45,#af4c30)}.course-card-cover.tone-5[data-v-08c93f27]{background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.28),transparent 30%),linear-gradient(145deg,#628cf0,#4b55c8)}.course-card.uses-course-fallback[data-v-08c93f27] .course-cover-fallback{position:absolute;top:33.333%;transform:translateY(-50%)}.current-course-badge[data-v-08c93f27]{position:absolute;z-index:4;top:12px;right:12px;padding:5px 10px;border-radius:999px;background:#2f61df;color:#fff;font-size:13px;font-weight:700}.course-card-info[data-v-08c93f27]{position:absolute;z-index:2;right:16px;bottom:16px;left:16px;display:grid;justify-items:center;gap:10px;padding:12px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.42)}.course-card.has-course-cover .course-card-info[data-v-08c93f27]{border:1px solid rgba(214,222,234,.86);border-radius:8px;background:#ffffffdb;color:#172033;text-shadow:none}.course-card h3[data-v-08c93f27]{margin:0;overflow:hidden;color:#fff;display:-webkit-box;min-height:42px;max-width:100%;font-size:18px;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.course-card.has-course-cover h3[data-v-08c93f27]{color:#172033}.course-card-classes[data-v-08c93f27]{display:flex;min-height:28px;justify-content:center;flex-wrap:wrap;gap:6px}.course-card-classes span[data-v-08c93f27]{padding:5px 9px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:#0a12206b;color:#fff;font-size:13px;font-weight:600}.course-card.has-course-cover .course-card-classes span[data-v-08c93f27]{border-color:#b9cff5;background:#dfeaff;color:#264f9b}.course-card-teacher[data-v-08c93f27]{color:#ffffffe6;font-size:13px;font-weight:700}.course-card.has-course-cover .course-card-teacher[data-v-08c93f27]{color:#52657d}.course-semester[data-v-08c93f27]{color:#ffffffe6;font-size:14px;text-align:center}.course-card.has-course-cover .course-semester[data-v-08c93f27]{color:#66758a}.course-select-empty[data-v-08c93f27]{display:grid;min-height:240px;place-items:center;align-content:center;gap:10px;border:1px dashed #c8d6e8;border-radius:16px;background:#f8fafc;color:#64748b;text-align:center}@media(max-width:1280px){.course-card-grid[data-v-08c93f27]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.course-card-grid[data-v-08c93f27]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.course-select-page[data-v-08c93f27]{padding:20px}.course-card-grid[data-v-08c93f27]{grid-template-columns:1fr}}.settings-page[data-v-d5b9b3aa]{display:grid;gap:12px}.settings-card[data-v-d5b9b3aa]{border:1px solid #d7e4f8;border-radius:8px;background:#fff;box-shadow:none;overflow:hidden}.form-actions[data-v-d5b9b3aa],.row-actions[data-v-d5b9b3aa]{display:flex;align-items:center;gap:7px}.management-form[data-v-d5b9b3aa]{display:grid;gap:10px;margin-top:0;padding:10px 12px;border:0;border-bottom:1px solid #dbe7f8;border-radius:0;background:#f8fbff}.form-grid[data-v-d5b9b3aa]{display:grid;gap:16px}.settings-columns[data-v-d5b9b3aa]{display:grid;grid-template-columns:minmax(280px,3fr) minmax(600px,7fr);align-items:start;gap:12px}.class-settings-card[data-v-d5b9b3aa],.course-settings-card[data-v-d5b9b3aa]{min-width:0;padding:0}.class-management-layout[data-v-d5b9b3aa],.course-management-layout[data-v-d5b9b3aa]{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:0}.class-create-panel[data-v-d5b9b3aa],.class-list-panel[data-v-d5b9b3aa],.course-create-panel[data-v-d5b9b3aa],.course-list-panel[data-v-d5b9b3aa]{min-width:0}.course-management-form[data-v-d5b9b3aa]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;margin-top:0;padding:10px 12px}.course-form-fields[data-v-d5b9b3aa]{display:grid;gap:8px;min-width:0}.class-management-form[data-v-d5b9b3aa]{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:0}.inline-class-field[data-v-d5b9b3aa]{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.inline-class-field span[data-v-d5b9b3aa]{white-space:nowrap}.course-form-row[data-v-d5b9b3aa]{display:flex;min-width:0;align-items:center;gap:10px;flex-wrap:wrap}.course-field-label[data-v-d5b9b3aa]{flex:0 0 auto;color:#344054;font-weight:700;white-space:nowrap}.form-field.inline-course-field[data-v-d5b9b3aa]{display:grid;grid-template-columns:auto auto;align-items:center;gap:10px}.inline-course-field span[data-v-d5b9b3aa]{white-space:nowrap}.course-name-combobox[data-v-d5b9b3aa]{position:relative;width:210px}.form-field.course-name-field .course-name-combobox input[data-v-d5b9b3aa]{width:100%;padding-right:40px}.course-name-toggle[data-v-d5b9b3aa]{position:absolute;top:50%;right:5px;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;cursor:pointer;transform:translateY(-50%)}.course-name-toggle[data-v-d5b9b3aa]:before{content:"";position:absolute;top:10px;left:11px;width:8px;height:8px;border-right:2px solid #52627a;border-bottom:2px solid #52627a;transform:rotate(45deg);transition:transform .18s ease}.course-name-toggle.open[data-v-d5b9b3aa]:before{top:14px;transform:rotate(225deg)}.course-name-toggle[data-v-d5b9b3aa]:hover{background:#eef4ff}.course-name-options[data-v-d5b9b3aa]{position:absolute;z-index:30;top:calc(100% + 8px);left:0;width:100%;max-height:220px;overflow-y:auto;padding:6px;border:1px solid #d8e3f3;border-radius:12px;background:#fff;box-shadow:0 14px 34px #263f6e2e;box-sizing:border-box}.course-name-option[data-v-d5b9b3aa]{display:block;width:100%;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:#25324a;font:inherit;font-weight:700;text-align:left;cursor:pointer}.course-name-option[data-v-d5b9b3aa]:hover,.course-name-option.selected[data-v-d5b9b3aa]{background:#edf3ff;color:#2f61df}.course-name-empty[data-v-d5b9b3aa]{padding:10px 12px;color:#718096;font-size:13px;font-weight:500}.form-field.semester-field select[data-v-d5b9b3aa]{width:150px}.form-field[data-v-d5b9b3aa]{display:grid;gap:8px;color:#344054;font-weight:700}.form-field input[data-v-d5b9b3aa],.form-field select[data-v-d5b9b3aa]{width:100%;min-width:0;height:32px;padding:5px 9px;border:1px solid #cddbf0;border-radius:7px;background:#fff;color:#172033;font:inherit;box-sizing:border-box}.class-checkbox input[data-v-d5b9b3aa]{width:18px;height:18px;accent-color:#2f61df}.primary-button[data-v-d5b9b3aa],.outline-button[data-v-d5b9b3aa],.small-button[data-v-d5b9b3aa]{min-height:30px;border-radius:7px;font-size:13px;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}.primary-button[data-v-d5b9b3aa]{padding:5px 11px;border:1px solid #2f61df;background:#2f61df;color:#fff}.outline-button[data-v-d5b9b3aa],.small-button[data-v-d5b9b3aa]{border:1px solid #bcd0ee;background:#fff;color:#2c5fd4}.outline-button[data-v-d5b9b3aa]{padding:5px 10px}.small-button[data-v-d5b9b3aa]{padding:4px 8px}.small-button.warning[data-v-d5b9b3aa]{border-color:#efc16d;color:#a86600}.small-button.danger[data-v-d5b9b3aa]{border-color:#f2b4b4;color:#c93b3b}button[data-v-d5b9b3aa]:disabled{cursor:not-allowed;opacity:.5}.notice[data-v-d5b9b3aa]{margin:8px 12px 0;padding:8px 10px;border-radius:7px;font-size:13px;font-weight:700}.notice.success[data-v-d5b9b3aa]{background:#e8f8ec;color:#24723b}.notice.error[data-v-d5b9b3aa]{background:#fff0f0;color:#b82d2d}.table-wrap[data-v-d5b9b3aa]{overflow-x:auto;border:0;border-radius:0}table[data-v-d5b9b3aa]{width:100%;border-collapse:collapse;min-width:900px}.class-table[data-v-d5b9b3aa]{min-width:0;table-layout:auto}.class-table th[data-v-d5b9b3aa]:first-child,.class-table td[data-v-d5b9b3aa]:first-child{width:42%}.class-table th[data-v-d5b9b3aa]:nth-child(2),.class-table td[data-v-d5b9b3aa]:nth-child(2){width:18%}.class-table th[data-v-d5b9b3aa]:last-child,.class-table td[data-v-d5b9b3aa]:last-child{width:40%}.course-table[data-v-d5b9b3aa]{min-width:680px}th[data-v-d5b9b3aa],td[data-v-d5b9b3aa]{padding:10px 12px;border-bottom:1px solid #e4ebf5;color:#344054;text-align:center;vertical-align:middle}th[data-v-d5b9b3aa]{background:#f5f8fd;color:#536176;font-size:13px}td strong[data-v-d5b9b3aa],td small[data-v-d5b9b3aa]{display:block}td small[data-v-d5b9b3aa]{margin-top:4px;color:#8290a5}tbody tr:last-child td[data-v-d5b9b3aa]{border-bottom:0}.row-actions[data-v-d5b9b3aa]{justify-content:center}.status-pill[data-v-d5b9b3aa]{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:13px;font-weight:700}.status-pill.active[data-v-d5b9b3aa]{background:#e4f7e9;color:#25753c}.status-pill.inactive[data-v-d5b9b3aa],.status-pill.neutral[data-v-d5b9b3aa]{background:#edf1f6;color:#64748b}.course-class-row[data-v-d5b9b3aa]{display:flex;flex:1 1 auto;align-items:center;gap:8px;min-width:0}.course-cover-field[data-v-d5b9b3aa]{display:flex;flex:0 0 auto;align-items:center;gap:6px}.course-cover-input[data-v-d5b9b3aa]{display:none}.class-checkbox-grid[data-v-d5b9b3aa]{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:7px 14px;min-width:0;padding:2px 4px 2px 0}.class-checkbox[data-v-d5b9b3aa]{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;min-width:0;padding:2px 0;cursor:pointer}.class-checkbox[data-v-d5b9b3aa]:hover{color:#2f61df}.course-form-cover-preview[data-v-d5b9b3aa]{align-self:stretch}.course-edit-row td[data-v-d5b9b3aa]{padding:0;background:#f7faff;text-align:left}.course-inline-editor[data-v-d5b9b3aa]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(3,auto);gap:10px 14px;padding:12px 14px;border-top:1px solid #d7e4f8;border-bottom:1px solid #d7e4f8}.course-inline-editor.has-cover[data-v-d5b9b3aa]{grid-template-columns:minmax(0,1fr) 92px}.course-edit-primary-row[data-v-d5b9b3aa],.course-edit-class-field[data-v-d5b9b3aa],.course-edit-footer[data-v-d5b9b3aa],.course-edit-actions[data-v-d5b9b3aa]{display:flex;align-items:center}.scope-lock-note[data-v-d5b9b3aa]{color:#64748b;font-size:12px;font-weight:600;white-space:nowrap}.course-edit-primary-row[data-v-d5b9b3aa]{grid-column:1;grid-row:1;gap:10px;min-width:0;color:#344054;font-size:13px;font-weight:700}.course-edit-primary-row>span[data-v-d5b9b3aa]{flex:0 0 auto;white-space:nowrap}.course-edit-primary-row input[data-v-d5b9b3aa],.course-edit-primary-row select[data-v-d5b9b3aa]{height:32px;min-width:0;padding:5px 9px;border:1px solid #cddbf0;border-radius:7px;background:#fff;color:#172033;font:inherit;box-sizing:border-box}.course-edit-primary-row input[data-v-d5b9b3aa]{flex:1 1 260px;max-width:420px}.course-edit-primary-row select[data-v-d5b9b3aa],.course-edit-semester-readonly[data-v-d5b9b3aa]{flex:0 1 165px}.course-edit-semester-readonly[data-v-d5b9b3aa]{min-height:32px;padding:7px 9px;border-radius:7px;background:#edf2f8;box-sizing:border-box}.course-edit-cover-preview[data-v-d5b9b3aa]{grid-column:2;grid-row:1 / 4;align-self:stretch;min-height:0}.course-edit-class-field[data-v-d5b9b3aa]{grid-column:1;grid-row:2;align-items:flex-start;gap:12px;color:#344054;font-size:13px;font-weight:700}.course-edit-class-field>span[data-v-d5b9b3aa]{flex:0 0 auto;padding-top:4px}.course-edit-class-field .class-checkbox-grid[data-v-d5b9b3aa]{padding:0}.inline-edit-class-tags[data-v-d5b9b3aa]{justify-content:flex-start}.course-edit-footer[data-v-d5b9b3aa]{grid-column:1;grid-row:3;justify-content:space-between;gap:12px}.course-edit-route-field[data-v-d5b9b3aa]{display:inline-flex;align-items:center;gap:6px;color:#475569;font-size:12px;font-weight:700}.course-edit-route-field select[data-v-d5b9b3aa]{min-height:30px;border:1px solid #cddbf0;border-radius:7px;background:#fff}.course-edit-actions[data-v-d5b9b3aa]{justify-content:flex-end;gap:8px}[data-v-d5b9b3aa] .course-edit-cover-preview.course-cover-visual{width:92px;height:100%;min-height:100px;object-fit:contain}.course-inline-actions[data-v-d5b9b3aa]{display:flex;flex:0 0 auto;align-items:center;gap:10px}.class-tags[data-v-d5b9b3aa]{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.class-tags.many[data-v-d5b9b3aa]{flex-wrap:wrap}.table-sort-button[data-v-d5b9b3aa]{padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;cursor:pointer}.table-sort-button span[data-v-d5b9b3aa]{color:#8290a5;font-size:11px}.settings-pagination[data-v-d5b9b3aa]{display:grid;grid-template-columns:auto auto minmax(92px,1fr);align-items:center;gap:8px;min-height:40px;padding:6px 8px;border-top:1px solid #dbe7f5;background:#fff;color:#64748b;font-size:12px}.settings-page-size[data-v-d5b9b3aa],.settings-page-navigation[data-v-d5b9b3aa]{display:flex;align-items:center;gap:5px}.settings-page-size select[data-v-d5b9b3aa]{width:72px;height:28px;padding:3px 8px;border:1px solid #cbd8ea;border-radius:7px;background:#fff;color:#334155;font-size:12px}.settings-page-navigation[data-v-d5b9b3aa]{justify-content:flex-end}.settings-page-navigation>span[data-v-d5b9b3aa]{min-width:38px;color:#475569;text-align:center;white-space:nowrap}.settings-page-navigation button[data-v-d5b9b3aa]{display:grid;width:30px;height:28px;place-items:center;padding:0;border:1px solid #cbd8ea;border-radius:7px;background:#fff;color:#315fc4;cursor:pointer}.settings-page-navigation button[data-v-d5b9b3aa]:disabled{color:#a8b2c1;cursor:not-allowed}.course-name-cell[data-v-d5b9b3aa]{text-align:left}.course-route-label[data-v-d5b9b3aa]{display:block;margin-top:3px;color:#64748b;font-size:12px;font-weight:500}.class-tags span[data-v-d5b9b3aa]{padding:4px 8px;border-radius:999px;background:#edf3ff;color:#315fc4;font-size:12px;white-space:nowrap}.scope-empty[data-v-d5b9b3aa]{color:#718096;white-space:nowrap}.empty-state[data-v-d5b9b3aa]{padding:24px 12px;border:0;border-radius:0;color:#718096;text-align:center}.readonly-text[data-v-d5b9b3aa]{color:#8a96a8;font-size:13px}.class-import-button[data-v-d5b9b3aa]{padding:0;border:0;background:transparent;color:#344054;font:inherit;font-weight:700;cursor:pointer}.class-import-button[data-v-d5b9b3aa]:hover{color:#2f61df}.class-import-button[data-v-d5b9b3aa]:disabled{color:#8a96a8;cursor:not-allowed;opacity:1}.student-import-overlay[data-v-d5b9b3aa]{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#141f3475;box-sizing:border-box}.student-import-dialog[data-v-d5b9b3aa]{display:grid;width:min(680px,100%);max-height:calc(100vh - 48px);overflow-y:auto;gap:18px;padding:24px;border:1px solid #d5e2f5;border-radius:20px;background:#fff;box-shadow:0 24px 70px #1324463d;box-sizing:border-box}.student-import-header[data-v-d5b9b3aa],.student-import-target[data-v-d5b9b3aa],.student-import-actions[data-v-d5b9b3aa]{display:flex;align-items:center}.student-import-header[data-v-d5b9b3aa]{justify-content:space-between;gap:16px}.student-import-header h3[data-v-d5b9b3aa]{margin:0;color:#172033;font-size:22px}.student-import-close[data-v-d5b9b3aa]{width:36px;height:36px;padding:0;border:0;border-radius:10px;background:#f0f4fa;color:#526178;font-size:25px;line-height:1;cursor:pointer}.student-import-target[data-v-d5b9b3aa]{gap:14px;padding:14px 16px;border:1px solid #dce6f3;border-radius:12px;background:#f8fbff}.student-import-target span[data-v-d5b9b3aa],.student-import-file>span[data-v-d5b9b3aa]{color:#64748b;font-weight:700}.student-template-actions[data-v-d5b9b3aa]{display:flex;flex-wrap:wrap;gap:10px}.student-import-file[data-v-d5b9b3aa]{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px}.student-import-file input[data-v-d5b9b3aa]{min-width:0;padding:10px;border:1px solid #cddbf0;border-radius:11px;background:#fff;color:#344054;font:inherit}.student-import-notice[data-v-d5b9b3aa]{padding:12px 14px;border-radius:11px;font-weight:700;line-height:1.55;white-space:pre-wrap}.student-import-notice.error[data-v-d5b9b3aa]{background:#fff0f0;color:#b82d2d}.student-import-notice.success[data-v-d5b9b3aa]{background:#e8f8ec;color:#24723b}.student-import-result[data-v-d5b9b3aa]{display:grid;gap:12px}.student-import-result-table[data-v-d5b9b3aa]{max-height:260px;overflow:auto;border:1px solid #dce6f3;border-radius:12px}.student-import-result-table table[data-v-d5b9b3aa]{min-width:0}.student-import-result-table th[data-v-d5b9b3aa],.student-import-result-table td[data-v-d5b9b3aa]{padding:10px 12px}.student-import-actions[data-v-d5b9b3aa]{justify-content:flex-end;gap:10px}@media(max-width:1200px){.settings-columns[data-v-d5b9b3aa]{grid-template-columns:1fr}}@media(max-width:900px){.class-management-form[data-v-d5b9b3aa]{grid-template-columns:1fr}.course-management-form[data-v-d5b9b3aa],.course-form-row[data-v-d5b9b3aa],.course-class-row[data-v-d5b9b3aa],.course-edit-primary-row[data-v-d5b9b3aa]{flex-wrap:wrap}.course-edit-primary-row input[data-v-d5b9b3aa]{max-width:none}.course-management-form[data-v-d5b9b3aa]{grid-template-columns:minmax(0,1fr) auto}.inline-class-field[data-v-d5b9b3aa]{grid-template-columns:1fr}.form-actions[data-v-d5b9b3aa]{flex-wrap:wrap}}@media(max-width:620px){.student-import-overlay[data-v-d5b9b3aa]{padding:12px}.student-import-dialog[data-v-d5b9b3aa]{padding:18px}.student-import-file[data-v-d5b9b3aa]{grid-template-columns:1fr}.settings-card[data-v-d5b9b3aa]{padding:0}.management-form[data-v-d5b9b3aa]{padding:10px}.course-management-form[data-v-d5b9b3aa]{grid-template-columns:minmax(0,1fr)}.settings-pagination[data-v-d5b9b3aa]{grid-template-columns:1fr auto}.settings-page-navigation[data-v-d5b9b3aa]{grid-column:1 / -1;justify-content:space-between}}.teacher-members-panel{display:flex;flex-direction:column;gap:0;min-width:0;background:transparent}.teacher-members-navigation,.teacher-members-workbench{display:grid;grid-template-columns:minmax(350px,31%) minmax(0,1fr);align-items:start;gap:12px;min-width:0}.teacher-members-class-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(120px,1fr);min-width:0;overflow-x:auto;overflow-y:hidden;border:1px solid #dbe7f5;border-bottom-color:#dbe5f2;border-radius:10px 10px 0 0;background:#fff;align-self:stretch;scrollbar-width:thin}.teacher-members-class-button{position:relative;min-width:120px;min-height:36px;margin:0;border:0;border-radius:0;padding:7px 8px 9px;background:transparent;box-shadow:none;color:#475569;font-size:13px;font-weight:700;text-align:center;white-space:nowrap}.teacher-members-class-button:hover{background:#f1f6fd;color:#1d4ed8;transform:none}.teacher-members-class-button.active{background:#fff;color:#2563eb}.teacher-members-class-button.active:after{content:"";position:absolute;right:8px;bottom:0;left:8px;height:3px;border-radius:3px 3px 0 0;background:#2563eb}.teacher-members-toolbar{display:flex;align-items:center;gap:8px 12px;min-width:0;min-height:46px;margin-bottom:12px;padding:8px 12px;border:1px solid #dbe7f5;border-radius:8px;background:#fff;flex-wrap:wrap}.teacher-members-toolbar-actions,.teacher-members-heading-stats{display:inline-flex;align-items:center}.teacher-members-toolbar-actions{gap:6px}.teacher-members-heading-stats{gap:5px;margin-left:auto;color:#64748b;font-size:13px;font-weight:700;white-space:nowrap}.teacher-members-heading-stats strong{color:#2563eb}.teacher-members-refresh{flex:0 0 auto;min-height:30px;padding:5px 11px;border-radius:7px;font-size:13px}.teacher-members-list-card,.teacher-member-profile-card,.teacher-member-assignment-card{border:1px solid #dbe7f5;border-radius:10px;background:#fff}.teacher-members-list-card{display:flex;flex-direction:column;overflow:hidden;position:sticky;top:18px;border-top:0;border-radius:0 0 10px 10px}.teacher-members-table-wrap{overflow-x:auto;overflow-y:visible}.teacher-members-pagination{display:grid;grid-template-columns:auto auto minmax(92px,1fr);align-items:center;gap:8px;min-height:40px;padding:6px 8px;border-top:1px solid #dbe7f5;background:#fff;color:#64748b;font-size:12px}.teacher-members-page-size,.teacher-members-page-navigation{display:flex;align-items:center;gap:5px}.teacher-members-page-size select{width:72px;height:28px;padding:3px 28px 3px 9px;border:1px solid #cbd8ea;border-radius:7px;background:#fff;color:#334155;font-size:12px}.teacher-members-page-navigation{justify-content:flex-end}.teacher-members-page-navigation>span{min-width:38px;color:#475569;text-align:center;white-space:nowrap}.teacher-members-page-navigation button{display:grid;place-items:center;width:30px;min-width:30px;height:28px;min-height:28px;margin:0;padding:0;border:1px solid #cbd8ea;border-radius:7px;background:#fff;box-shadow:none;color:#315fc4;font-size:18px;line-height:1}.teacher-members-page-navigation button:hover:not(:disabled){border-color:#8ba9dc;background:#f4f8ff;transform:none}.teacher-members-page-navigation button:disabled{border-color:#e2e8f0;background:#f8fafc;color:#b5bfcc}.teacher-members-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.teacher-member-seat-column{width:50px}.teacher-member-name-column{width:78px}.teacher-member-group-column{width:70px}.teacher-member-group-score-column{width:82px}.teacher-member-percentage-column{width:70px}.teacher-members-table thead th{position:sticky;top:0;z-index:2;height:40px;padding:0 8px;border-bottom:1px solid #dbe7f5;background:#f4f8ff;color:#334155;font-size:13px;font-weight:900;text-align:center;white-space:nowrap}.teacher-member-sort-button{display:inline-flex;justify-content:center;align-items:center;gap:5px;width:auto;min-height:0;margin:0;padding:6px 4px;border:0;border-radius:7px;background:transparent;box-shadow:none;color:inherit;font:inherit;white-space:nowrap}.teacher-member-sort-button:hover{background:#e8f0ff;color:#2563eb;transform:none}.teacher-member-sort-button.active{color:#2563eb}.teacher-member-sort-button span{width:12px;color:#94a3b8;font-size:11px}.teacher-member-sort-button.active span{color:#2563eb}.teacher-members-table tbody tr{cursor:pointer;outline:none}.teacher-members-table tbody td{height:44px;padding:0 8px;border-bottom:1px solid #edf2f8;background:#fff;color:#334155;font-size:14px;text-align:center;transition:background-color .15s ease,color .15s ease}.teacher-members-table tbody tr:last-child td{border-bottom:0}.teacher-members-table tbody tr:hover td,.teacher-members-table tbody tr:focus td{background:#f4f8fe}.teacher-members-table tbody tr.selected td{background:#f4f8fe}.teacher-members-table tbody tr.selected .teacher-member-table-name{color:#1d4ed8!important}.teacher-member-table-seat{color:#2563eb!important;font-weight:900}.teacher-member-table-name{overflow:hidden;color:#0f172a!important;font-weight:800;text-align:center!important;text-overflow:ellipsis;white-space:nowrap}.teacher-member-table-total{color:#0f172a!important;font-weight:900}.teacher-member-table-group-score{color:#7c3aed!important;font-weight:900}.teacher-member-table-percentage{color:#2563eb!important;font-weight:900}.teacher-member-table-group{overflow:hidden;color:#64748b!important;font-size:12px!important;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.teacher-member-account-state{display:inline-flex;justify-content:center;min-width:42px;padding:4px 7px;border-radius:999px;background:#f1f3f6;color:#8a96a8;font-size:11px;font-weight:900}.teacher-member-account-state.active{background:#e4f7e9;color:#25753c}.teacher-members-table tbody tr.inactive td{color:#94a3b8}.teacher-member-detail{display:flex;flex-direction:column;gap:12px;min-width:0}.teacher-member-profile-card{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(320px,1.25fr) auto;align-items:center;gap:0;padding:14px;background:#fff}.teacher-member-profile-card.student-mode{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.teacher-member-profile-identity{display:grid;align-content:center;gap:11px;min-width:0;padding-right:8px}.teacher-member-profile-main{display:flex;align-items:center;gap:12px;min-width:0;white-space:nowrap}.teacher-member-avatar{display:grid;place-items:center;flex:0 0 auto;width:44px;height:32px;border-radius:8px;background:#edf4ff;color:#2563eb;font-size:15px;font-weight:900;box-shadow:none}.teacher-member-profile-label{color:#3b82f6;font-size:12px;font-weight:900;letter-spacing:.08em}.teacher-member-profile-main h3{margin:0;color:#0f172a;font-size:21px}.teacher-member-profile-class{flex:0 0 auto;color:#64748b;font-size:13px;white-space:nowrap}.teacher-member-learning-overview{display:flex;flex-direction:column;justify-content:center;gap:14px;align-self:stretch;min-width:0;padding:0 18px 0 10px;border-right:1px solid #e4ebf5;border-left:1px solid #e4ebf5}.teacher-member-learning-content{display:grid;gap:14px;width:100%;min-width:0}.teacher-member-profile-card.student-mode .teacher-member-learning-overview{align-items:center;padding:0 18px;border-left:0}.teacher-member-profile-card.student-mode .teacher-member-learning-content{width:fit-content;max-width:100%}.teacher-member-profile-card.student-mode .teacher-member-score-hero{justify-content:center;padding:0 18px}.teacher-member-profile-summary{display:flex;align-items:center;gap:4px;margin:0;color:#64748b;font-size:13px;line-height:1.6;white-space:nowrap}.teacher-member-profile-summary strong{color:#2563eb;font-size:15px;font-weight:900}.teacher-member-completion-progress{display:flex;align-items:center;gap:8px;min-width:0;color:#64748b;font-size:12px;font-weight:700}.teacher-member-completion-track{overflow:hidden;flex:1 1 auto;min-width:96px;height:6px;border-radius:999px;background:#e6edf8}.teacher-member-completion-value{display:block;height:100%;border-radius:inherit;background:#315be8}.teacher-member-completion-progress>strong{min-width:36px;color:#2563eb;font-size:13px;text-align:right}.teacher-member-account-card{display:grid;gap:11px;min-width:0}.teacher-member-account-meta,.teacher-member-account-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.teacher-member-account-actions{justify-content:center}.teacher-member-account-meta>span:not(.teacher-member-account-badge){color:#64748b;font-size:12px;font-weight:800}.teacher-member-account-meta strong{margin-left:4px;color:#172033}.teacher-member-account-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f1f3f6;color:#8a96a8;font-size:11px;font-weight:900}.teacher-member-account-badge.active{background:#e4f7e9;color:#25753c}.teacher-member-account-button{min-height:28px;margin:0;padding:4px 8px;border:1px solid #b9cef0;border-radius:7px;background:#fff;box-shadow:none;color:#315fc4;font-size:12px;font-weight:900}.teacher-member-account-button:hover:not(:disabled){border-color:#6e96e4;background:#f4f8ff;transform:none}.teacher-member-account-button.success{border-color:#9fd8ad;background:#fff;color:#25753c}.teacher-member-account-button.warning{border-color:#ebb451;background:#fff;color:#a36a08}.teacher-member-account-button.danger{border-color:#efb7b7;background:#fff;box-shadow:none;color:#c53d3d}.teacher-member-account-button.danger:hover:not(:disabled){border-color:#df8585;background:#fff7f7;color:#b82d2d}.teacher-member-action-message{color:#25753c;font-size:12px;font-weight:800}.teacher-member-action-message.error{color:#bd3535}.teacher-member-score-hero{--teacher-member-ring-size: 140px;--teacher-member-ring-inner-size: 112px;display:flex;align-items:center;gap:28px;padding-left:24px}.teacher-member-score-hero>div:first-child{display:flex;flex-direction:column;align-items:flex-end}.teacher-member-score-hero span{color:#64748b;font-size:13px;font-weight:800}.teacher-member-score-hero strong{margin-top:2px;color:#2563eb;font-size:24px;line-height:1}.teacher-member-score-hero strong small{color:#64748b;font-size:15px}.teacher-member-percentage-ring{display:grid;place-items:center;flex:0 0 var(--teacher-member-ring-size);width:var(--teacher-member-ring-size);height:var(--teacher-member-ring-size);border-radius:50%;background:conic-gradient(#315be8 var(--teacher-member-percentage),#e6edf8 0)}.teacher-member-percentage-ring:before{content:"";grid-area:1 / 1;width:var(--teacher-member-ring-inner-size);height:var(--teacher-member-ring-inner-size);border-radius:50%;background:#fff}.teacher-member-percentage-ring>div{z-index:1;grid-area:1 / 1;display:flex;flex-direction:column;align-items:center;justify-content:center}.teacher-member-percentage-ring strong{margin:0;color:#0f172a;font-size:27px;font-weight:700;white-space:nowrap}.teacher-member-percentage-ring span{margin-top:6px;font-size:13px;font-weight:600}.teacher-member-assignment-card{overflow:hidden}.teacher-member-assignment-table-wrap{overflow-x:hidden}.teacher-member-assignment-table{width:100%;min-width:0;margin:0;table-layout:fixed}.teacher-member-assignment-name-column{width:40%}.teacher-member-assignment-status-column{width:9%}.teacher-member-assignment-submission-column{width:10%}.teacher-member-assignment-score-column{width:11%}.teacher-member-assignment-self-column{width:9%}.teacher-member-assignment-program-column,.teacher-member-assignment-manual-column{width:10.5%}.teacher-member-assignment-table th,.teacher-member-assignment-table td{padding-right:7px;padding-left:7px}.teacher-member-assignment-table th{border-bottom:1px solid #d9e5f5;background:#eef4ff;color:#334155;font-weight:900;white-space:nowrap}.teacher-member-assignment-table td{vertical-align:middle}.teacher-member-assignment-table td>strong,.teacher-member-assignment-table td>small{display:block}.student-member-assignment-link{padding:0;border:0;background:transparent;color:#2563eb;font:inherit;font-weight:900;text-align:left;text-decoration:underline;text-decoration-color:#93c5fd;text-underline-offset:3px;cursor:pointer}.student-member-assignment-link:hover,.student-member-assignment-link:focus-visible{color:#1d4ed8;text-decoration-color:currentColor}.teacher-member-assignment-table td>small{margin-top:4px;color:#94a3b8}.teacher-member-state{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.teacher-member-state.active,.teacher-member-state.success{background:#e7f8ee;color:#16844d}.teacher-member-state.ended{background:#eef2ff;color:#4f46e5}.teacher-member-state.warning{background:#fff5dd;color:#b66a05}.teacher-member-state.muted{background:#f0f3f7;color:#8491a3}.teacher-member-final-score{color:#2563eb;font-size:17px}.teacher-member-final-score small{color:#64748b;font-size:11px}.teacher-members-empty,.teacher-member-detail-empty{display:grid;place-items:center;min-height:180px;padding:24px;color:#94a3b8;text-align:center}.teacher-members-empty-page{min-height:420px;border:1px dashed #cbd8ea;border-radius:18px;background:#f8fbff}.teacher-member-detail-empty{min-height:520px;border:1px dashed #cbd8ea;border-radius:18px;background:#f8fbff}.teacher-member-assignment-table th,.teacher-member-assignment-table td{text-align:center;vertical-align:middle}.teacher-member-assignment-table th:first-child{text-align:center}.teacher-member-assignment-table td.teacher-member-assignment-name-cell{text-align:left}.teacher-member-assignment-name-cell strong,.teacher-member-assignment-name-cell small{display:block;width:100%;text-align:left}.teacher-members-import-button{flex:0 0 auto;min-height:30px;padding:5px 11px;border:1px solid #2f63df;border-radius:7px;background:#2f63df;color:#fff;font-size:13px;font-weight:800;cursor:pointer}.teacher-members-import-button:disabled{opacity:.55;cursor:not-allowed}.teacher-members-group-button{flex:0 0 auto;min-height:30px;padding:5px 11px;border:1px solid #bfd1ef;border-radius:7px;background:#fff;color:#315fc4;font-size:13px;font-weight:800;cursor:pointer}.teacher-members-group-button:disabled{opacity:.55;cursor:not-allowed}.teacher-member-group-editor{display:flex;align-items:center;justify-content:center;gap:8px}.teacher-member-group-editor>span{flex:0 0 auto;color:#64748b;font-size:13px;font-weight:800;white-space:nowrap}.teacher-member-group-editor select{width:140px;min-width:140px;max-width:140px;padding:7px 26px 7px 9px;border:1px solid #cbd8ea;border-radius:9px;background:#fff;color:#172033;font:inherit;font-weight:700}.teacher-member-group-notice{padding:7px 9px;border-radius:8px;background:#eaf8ed;color:#26743c;font-size:12px;font-weight:800}.teacher-member-group-notice.error{background:#fff0f0;color:#b82d2d}.teacher-member-group-mask{position:fixed;z-index:2010;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:#0f172a7a}.teacher-member-group-dialog{display:grid;width:min(900px,calc(100vw - 32px));max-height:88vh;overflow:hidden;border:1px solid #d7e4f8;border-radius:20px;background:#fff;box-shadow:0 24px 70px #0f172a3d}.teacher-member-group-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #e4ebf5}.teacher-member-group-header h3{margin:0;color:#172033}.teacher-member-group-header button{width:36px;height:36px;padding:0;border:0;background:transparent;color:#64748b;font-size:28px;line-height:1;cursor:pointer}.teacher-member-group-auto,.teacher-member-group-bulk{display:flex;align-items:center;gap:10px;padding:11px 18px;border-bottom:1px solid #e4ebf5;flex-wrap:nowrap}.teacher-member-group-auto label{display:flex;flex:0 0 auto;align-items:center;gap:7px;color:#475569;font-weight:800;white-space:nowrap}.teacher-member-group-auto input{width:64px}.teacher-member-group-auto select{width:150px}.teacher-member-group-bulk select{flex:0 0 180px;width:180px}.teacher-member-group-bulk>span{flex:0 0 auto;white-space:nowrap}.teacher-member-group-auto input,.teacher-member-group-auto select,.teacher-member-group-bulk select{padding:9px 11px;border:1px solid #cbd8ea;border-radius:9px;background:#fff;color:#172033;font:inherit}.teacher-member-group-auto button,.teacher-member-group-bulk button{padding:9px 14px;border:1px solid #bfd1ef;border-radius:9px;background:#fff;color:#315fc4;font:inherit;font-weight:800;cursor:pointer}.teacher-member-group-auto button.primary,.teacher-member-group-bulk button.primary{border-color:#2f63df;background:#2f63df;color:#fff}.teacher-member-group-auto button:disabled,.teacher-member-group-bulk button:disabled{opacity:.55;cursor:not-allowed}.teacher-member-group-dialog-notice{margin:12px 22px 0;padding:10px 13px;border-radius:9px;font-weight:800}.teacher-member-group-dialog-notice.success{background:#eaf8ed;color:#26743c}.teacher-member-group-dialog-notice.error{background:#fff0f0;color:#b82d2d}.teacher-member-group-summary{display:flex;gap:8px;padding:10px 18px;overflow-x:auto;border-bottom:1px solid #e4ebf5;scrollbar-width:thin}.teacher-member-group-summary>button{display:grid;flex:0 0 auto;gap:3px;min-width:84px;padding:8px 11px;border:1px solid #dce6f3;border-radius:10px;background:#f8fbff;color:inherit;font:inherit;text-align:center;cursor:pointer}.teacher-member-group-summary>button:hover:not(:disabled){border-color:#9db9ec;background:#f1f6ff}.teacher-member-group-summary>button.active{border-color:#2f63df;background:#edf4ff;box-shadow:0 0 0 2px #2f63df1a}.teacher-member-group-summary>button.active strong,.teacher-member-group-summary>button.active span{color:#2459ca}.teacher-member-group-summary>button.unassigned:not(.active){opacity:.72}.teacher-member-group-summary>button:disabled{cursor:not-allowed}.teacher-member-group-summary strong{color:#172033}.teacher-member-group-summary span{color:#64748b;font-size:12px}.teacher-member-group-bulk>span{color:#64748b;font-weight:700}.teacher-member-group-member-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-height:0;padding:12px 18px 18px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.teacher-member-group-member{display:grid;grid-template-columns:auto 36px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;border:1px solid #dce6f3;border-radius:10px;background:#fff;cursor:pointer}.teacher-member-group-member:hover{border-color:#9db9ec;background:#f6f9ff}.teacher-member-group-member.selected{border-color:#6f98ee;background:#edf4ff;box-shadow:0 0 0 2px #2f63df14}.teacher-member-group-member input{width:17px;height:17px;accent-color:#2f63df}.teacher-member-group-member strong{color:#2563eb}.teacher-member-group-member span{overflow:hidden;color:#172033;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.teacher-member-group-member em{color:#64748b;font-size:12px;font-style:normal;white-space:nowrap}@media(max-width:1100px){.teacher-member-group-member-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.teacher-member-group-auto,.teacher-member-group-bulk{flex-wrap:wrap}.teacher-member-group-bulk select{flex:1 1 160px;width:auto}.teacher-member-group-member-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.teacher-member-group-member-list{grid-template-columns:1fr}}.teacher-student-import-mask{position:fixed;z-index:2000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:#0f172a7a}.teacher-student-import-dialog{display:grid;width:min(1040px,calc(100vw - 32px));max-height:90vh;overflow:hidden;border:1px solid #d7e4f8;border-radius:20px;background:#fff;box-shadow:0 24px 70px #0f172a3d}.teacher-student-import-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #e4ebf5}.teacher-student-import-header h3,.teacher-student-import-history h4{margin:0;color:#172033}.teacher-student-import-close{width:36px;height:36px;padding:0;border:0;background:transparent;color:#64748b;font-size:28px;line-height:1;cursor:pointer}.teacher-student-import-tools{display:flex;align-items:center;gap:10px;padding:16px 22px;border-bottom:1px solid #e4ebf5;flex-wrap:wrap}.teacher-student-import-tools button,.teacher-student-import-history-actions button,.teacher-student-import-confirm button{padding:9px 14px;border:1px solid #bfd1ef;border-radius:9px;background:#fff;color:#315fc4;font:inherit;font-weight:800;cursor:pointer}.teacher-student-import-tools button.primary,.teacher-student-import-confirm button.primary{border-color:#2f63df;background:#2f63df;color:#fff}.teacher-student-import-tools button:disabled,.teacher-student-import-history-actions button:disabled,.teacher-student-import-confirm button:disabled{opacity:.55;cursor:not-allowed}.teacher-student-import-update{display:inline-flex;align-items:center;gap:7px;color:#475569;font-weight:700}.teacher-student-import-update input{width:17px;height:17px;accent-color:#2f63df}.teacher-student-import-notice{margin:14px 22px 0;padding:11px 14px;border-radius:10px;font-weight:800}.teacher-student-import-notice.success{background:#eaf8ed;color:#26743c}.teacher-student-import-notice.error{background:#fff0f0;color:#b82d2d}.teacher-student-import-preview,.teacher-student-import-history{min-height:0;padding:16px 22px}.teacher-student-import-preview{display:grid;gap:12px;overflow:hidden}.teacher-student-import-summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:#64748b}.teacher-student-import-summary strong{color:#245ad2}.teacher-student-import-summary .danger,.teacher-student-import-summary .danger strong{color:#c53535}.teacher-student-import-warning{padding:9px 12px;border-radius:9px;background:#fff8e8;color:#9a6500;font-weight:700}.teacher-student-import-warning.blocking{background:#fff0f0;color:#b82d2d}.teacher-student-import-table-wrap{max-height:280px;overflow:auto;border:1px solid #dce6f3;border-radius:12px}.teacher-student-import-table{width:100%;min-width:680px;border-collapse:collapse}.teacher-student-import-table th,.teacher-student-import-table td{padding:10px 12px;border-bottom:1px solid #e4ebf5;text-align:center}.teacher-student-import-table th{position:sticky;z-index:1;top:0;background:#f5f8fd;color:#536176}.teacher-student-import-table tr.conflict td{background:#fff4f4;color:#b82d2d}.teacher-student-import-confirm{display:flex;justify-content:flex-end}.teacher-student-import-history{overflow:auto;border-top:1px solid #e4ebf5}.teacher-student-import-history h4{margin-bottom:12px}.teacher-student-import-history-empty{padding:20px;color:#8290a5;text-align:center}.teacher-student-import-history-row{display:grid;grid-template-columns:minmax(220px,1fr) 90px 70px auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #edf1f6}.teacher-student-import-history-row>div:first-child{display:grid;gap:3px}.teacher-student-import-history-row span{color:#64748b;font-size:13px}.teacher-student-import-history-actions{display:flex;justify-content:flex-end;gap:8px}.teacher-student-import-history-actions button.danger{border-color:#efb3b3;color:#c53535}.teacher-members-table tbody tr.readonly{cursor:default}.teacher-members-table tbody tr.readonly:not(.selected):hover td,.teacher-members-table tbody tr.readonly:not(.selected):focus td{background:#fff}.teacher-member-student-group{display:flex;align-items:center;justify-content:center;gap:8px;color:#64748b;font-size:13px;font-weight:800}.teacher-member-student-group strong{padding:5px 9px;border:1px solid #cbd8ea;border-radius:7px;background:#fff;color:#315fc4;font-size:13px}@media(max-width:1180px){.teacher-members-navigation,.teacher-members-workbench{grid-template-columns:350px minmax(0,1fr)}.teacher-member-profile-card{grid-template-columns:minmax(245px,.9fr) minmax(230px,1.1fr) auto}.teacher-member-profile-identity{padding-right:10px}.teacher-member-learning-overview{padding:0 10px}.teacher-member-profile-main{gap:9px}.teacher-member-profile-summary{gap:2px;font-size:12px}.teacher-member-profile-summary strong{font-size:14px}.teacher-member-account-actions{gap:5px}.teacher-member-score-hero{--teacher-member-ring-size: 120px;--teacher-member-ring-inner-size: 96px;gap:24px;padding-left:18px}.teacher-member-percentage-ring strong{font-size:24px}.teacher-member-percentage-ring span{font-size:12px}}@media(max-width:900px){.teacher-member-profile-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}.teacher-member-profile-card.student-mode{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.teacher-member-profile-identity{padding-right:16px}.teacher-member-learning-overview{padding:0 0 0 16px;border-right:0}.teacher-member-profile-summary{flex-wrap:wrap;white-space:normal}.teacher-members-navigation,.teacher-members-workbench{grid-template-columns:1fr}.teacher-members-navigation{gap:8px}.teacher-members-list-card{position:static}.teacher-member-score-hero{grid-column:1 / -1;width:100%;padding-left:0;padding-top:14px;border-top:1px solid #e4ebf5;justify-content:space-between}.teacher-member-profile-card.student-mode .teacher-member-score-hero{grid-column:auto;width:auto;padding-top:0;padding-right:14px;padding-left:14px;border-top:0;justify-content:center}.teacher-member-score-hero>div:first-child{align-items:flex-start}}@media(max-width:640px){.teacher-members-pagination{grid-template-columns:auto minmax(0,1fr)}.teacher-members-page-navigation{grid-column:1 / -1}.teacher-members-toolbar{gap:10px;padding-bottom:7px}.teacher-members-heading-stats{order:3;width:100%;margin-left:0}.teacher-members-refresh{margin-left:auto}.teacher-member-profile-main{align-items:center;flex-wrap:wrap;white-space:normal}.teacher-member-profile-card,.teacher-member-profile-card.student-mode{grid-template-columns:1fr}.teacher-member-profile-card.student-mode .teacher-member-learning-overview{padding:14px 0;border-right:0}.teacher-member-profile-identity{padding-right:0}.teacher-member-learning-overview{padding:14px 0;border-top:1px solid #e4ebf5;border-bottom:1px solid #e4ebf5;border-left:0}.teacher-member-score-hero{grid-column:auto;padding-top:0;border-top:0}.teacher-member-profile-card.student-mode .teacher-member-score-hero{padding-right:0;padding-left:0}.teacher-member-score-hero{--teacher-member-ring-size: 112px;--teacher-member-ring-inner-size: 88px;align-items:flex-end;gap:16px}.teacher-member-percentage-ring strong{font-size:22px}}.teacher-submission-card-panel[data-v-41360a2b]{display:grid;gap:12px}.teacher-submission-head[data-v-41360a2b]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.teacher-submission-head h3[data-v-41360a2b]{margin:0}.teacher-submission-preview-layout[data-v-41360a2b]{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}.teacher-attachment-section[data-v-41360a2b]{display:grid;gap:8px;min-width:0}.teacher-attachment-grid[data-v-41360a2b]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:start}.teacher-attachment-card[data-v-41360a2b]{position:relative;min-width:0}.teacher-attachment-preview[data-v-41360a2b]{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1.2 / 1;min-height:66px;overflow:hidden;border:0;border-radius:8px;background:#6047ee;box-shadow:none;cursor:pointer;padding:0}.teacher-attachment-preview img[data-v-41360a2b]{width:100%;height:100%;object-fit:cover;background:#fff}.teacher-attachment-file-icon[data-v-41360a2b]{display:grid;place-items:center;width:100%;height:100%;color:#fff;font-size:38px;font-weight:900;line-height:1;background:linear-gradient(135deg,#6d5df6,#5338d8)}.teacher-attachment-file-icon.file-type-pkt[data-v-41360a2b]{background:linear-gradient(135deg,#64748b,#334155)}.teacher-attachment-name[data-v-41360a2b]{margin-top:4px;min-height:26px;color:#111827;font-size:12px;font-weight:800;line-height:1.15;text-align:center;word-break:break-word;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.teacher-attachment-download[data-v-41360a2b]{position:absolute;right:5px;bottom:30px;display:inline-grid;place-items:center;width:21px;height:21px;min-height:21px;border:0;border-radius:7px;padding:0;background:#312e81e0;color:#fff;font-size:12px;font-weight:900;line-height:1;box-shadow:0 4px 10px #0f172a33}.teacher-file-preview-side[data-v-41360a2b]{min-width:0;width:100%}.teacher-file-preview-section[data-v-41360a2b]{width:100%;max-width:100%;min-width:0;margin:0;border:0;border-radius:0;background:transparent}.teacher-file-preview-head[data-v-41360a2b]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;background:transparent}.teacher-file-preview-divider[data-v-41360a2b]{width:100%;border-top:1px solid #dbe5f2}.teacher-file-preview-title[data-v-41360a2b]{display:inline-flex;align-items:baseline;min-width:0;gap:8px}.teacher-file-preview-title span[data-v-41360a2b]{overflow:hidden;color:#64748b;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.teacher-file-preview-head strong[data-v-41360a2b]{min-width:0;overflow:hidden;color:#0f172a;font-size:14px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.teacher-file-preview-head button[data-v-41360a2b]{flex:0 0 auto;min-height:30px;padding:0 10px;border-radius:10px;font-size:13px}.teacher-file-cleaning-actions[data-v-41360a2b]{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;min-width:0;gap:8px;color:#64748b;font-size:13px}.teacher-cleaning-version[data-v-41360a2b]{white-space:nowrap}.teacher-cleaning-version-picker[data-v-41360a2b]{display:inline-flex;align-items:center;gap:6px}.teacher-file-preview-head .teacher-cleaning-version-button[data-v-41360a2b]{min-height:0;padding:2px 3px;border:0;border-radius:3px;background:transparent;color:#64748b;font-weight:600}.teacher-file-preview-head .teacher-cleaning-version-button[data-v-41360a2b]:hover{color:#2563eb;background:#eff6ff}.teacher-file-preview-head .teacher-cleaning-version-button.current[data-v-41360a2b]{color:#2563eb;font-weight:800}.teacher-file-preview-head .teacher-cleaning-version-button.viewing[data-v-41360a2b]{color:#1d4ed8;background:#eff6ff;text-decoration:underline;text-underline-offset:3px}.teacher-cleaning-compare[data-v-41360a2b]{display:grid;width:100%;max-width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin:12px 0 0;padding:0;min-width:0}.teacher-cleaning-pane[data-v-41360a2b]{min-width:0;border:1px solid #e2e8f0;background:#fff}.teacher-cleaning-pane h4[data-v-41360a2b]{margin:0;padding:9px 11px;border-bottom:1px solid #e2e8f0;font-size:13px}.teacher-cleaning-pane pre[data-v-41360a2b]{height:560px;margin:0;padding:12px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.teacher-cleaning-placeholder[data-v-41360a2b]{display:grid;place-items:center;height:560px;padding:16px}.teacher-file-preview-textarea[data-v-41360a2b]{width:100%;min-height:620px;margin-top:0;border:0;border-radius:0}.teacher-file-image-preview[data-v-41360a2b]{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%;max-width:100%;margin:12px 0 0;padding:0;border-radius:0;overflow-x:hidden}.teacher-file-image-preview img[data-v-41360a2b]{display:block;width:auto;max-width:100%;height:auto;max-height:720px;margin:0 auto;border-radius:0;background:#fff;object-fit:contain}.teacher-file-preview-actions[data-v-41360a2b]{display:flex;justify-content:flex-end;width:100%}.teacher-file-preview-empty[data-v-41360a2b]{display:grid;place-items:center;min-height:220px;padding:20px;color:#94a3b8;font-size:14px;font-weight:800;text-align:center}@media(max-width:1100px){.teacher-submission-preview-layout[data-v-41360a2b]{grid-template-columns:1fr}}@media(max-width:900px){.teacher-cleaning-compare[data-v-41360a2b]{grid-template-columns:1fr}.teacher-file-preview-head[data-v-41360a2b]{flex-wrap:wrap}}.teacher-detail-one-line-panel[data-v-59aa494f]{margin:0;padding:0;border:0;background:transparent}.teacher-detail-table[data-v-59aa494f]{overflow:hidden;border:1px solid #dbe5f2;border-radius:16px;background:#fff}.teacher-detail-label-row[data-v-59aa494f],.teacher-detail-value-row[data-v-59aa494f]{display:grid;grid-template-columns:64px 96px 96px minmax(0,1fr);align-items:center}.teacher-detail-label-row[data-v-59aa494f]{min-height:38px;background:#f1f5fb;border-bottom:1px solid #dbe5f2;color:#1e293b;font-size:14px;font-weight:900;text-align:center}.teacher-detail-label-row span[data-v-59aa494f]{padding:0 6px}.teacher-detail-value-row[data-v-59aa494f]{min-height:52px;align-items:center;padding:6px 0;background:#fff}.teacher-detail-seat[data-v-59aa494f],.teacher-detail-name[data-v-59aa494f]{display:block;padding:0 6px;color:#0f172a;font-size:18px;font-weight:900;text-align:center;white-space:nowrap}.teacher-detail-final-score[data-v-59aa494f]{display:block;padding:0 8px;color:#2563eb;font-size:20px;font-weight:900;text-align:center;white-space:nowrap}.teacher-detail-actions[data-v-59aa494f]{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:0 8px;flex-wrap:nowrap}.teacher-detail-actions button[data-v-59aa494f]{width:auto;min-height:28px;padding:4px 8px;border-radius:7px;font-size:12px;line-height:1.1;white-space:nowrap}@media(max-width:800px){.teacher-detail-actions[data-v-59aa494f]{flex-wrap:wrap;padding:5px 8px}}@media(max-width:640px){.teacher-detail-label-row[data-v-59aa494f]{display:none}.teacher-detail-value-row[data-v-59aa494f]{grid-template-columns:1fr;padding:12px;gap:10px}.teacher-detail-seat[data-v-59aa494f],.teacher-detail-name[data-v-59aa494f]{justify-content:flex-start;text-align:left}.teacher-detail-actions[data-v-59aa494f]{padding:0}}.teacher-progress-pagination[data-v-ea2d5822]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 8px 2px;color:#475569;font-size:13px;font-weight:800;flex-wrap:wrap}.teacher-progress-page-controls[data-v-ea2d5822]{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;row-gap:8px}.teacher-progress-page-size[data-v-ea2d5822]{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex:0 0 auto}.teacher-progress-page-size span[data-v-ea2d5822]{white-space:nowrap}.teacher-progress-page-size select[data-v-ea2d5822]{height:32px;border:1px solid #dbe5f2;border-radius:10px;padding:0 8px;color:#1e293b;font-weight:800;background:#fff}.teacher-progress-page-button[data-v-ea2d5822]{min-height:32px;border:1px solid #dbe5f2;border-radius:10px;padding:6px 12px;color:#1e3a8a;background:#fff;font-weight:900;cursor:pointer}.teacher-progress-page-button[data-v-ea2d5822]:disabled{color:#94a3b8;background:#f1f5f9;cursor:not-allowed}.teacher-progress-page-current[data-v-ea2d5822]{min-width:82px;text-align:center;color:#334155}@media(max-width:720px){.teacher-progress-pagination[data-v-ea2d5822]{align-items:stretch}.teacher-progress-page-controls[data-v-ea2d5822]{justify-content:flex-start}}.teacher-manual-grade-mask[data-v-4da89c59]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;justify-content:center;align-items:center;padding:24px;background:#0f172a73}.teacher-manual-grade-dialog[data-v-4da89c59]{width:min(520px,100%);padding:24px;border:1px solid #dbe5f2;border-radius:18px;background:#fff;box-shadow:0 24px 70px #0f172a3d}.teacher-manual-grade-header[data-v-4da89c59]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.teacher-manual-grade-header h3[data-v-4da89c59]{margin:0;color:#0f172a;font-size:22px}.teacher-manual-grade-header p[data-v-4da89c59]{margin:8px 0 0;color:#64748b;font-weight:700}.teacher-manual-grade-close[data-v-4da89c59]{min-width:38px;min-height:38px;padding:0;border-radius:10px;font-size:24px;line-height:1}.teacher-manual-grade-current[data-v-4da89c59]{display:flex;align-items:center;gap:12px;margin:20px 0;padding:14px 16px;border-radius:12px;background:#eff6ff;color:#475569}.teacher-manual-grade-current strong[data-v-4da89c59]{color:#2563eb;font-size:20px}.teacher-manual-grade-field[data-v-4da89c59]{display:grid;gap:8px;margin-top:16px;color:#334155;font-weight:800}.teacher-manual-grade-field input[data-v-4da89c59],.teacher-manual-grade-field textarea[data-v-4da89c59]{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;font:inherit}.teacher-manual-grade-field input[data-v-4da89c59]{min-height:44px;padding:0 12px}.teacher-manual-grade-field textarea[data-v-4da89c59]{padding:10px 12px;resize:vertical}.teacher-manual-grade-range-value[data-v-4da89c59]{display:flex;justify-content:center;align-items:baseline;gap:6px;min-height:52px;color:#2563eb}.teacher-manual-grade-range-value strong[data-v-4da89c59]{font-size:34px;line-height:1}.teacher-manual-grade-range-value span[data-v-4da89c59]{font-size:16px}.teacher-manual-grade-range[data-v-4da89c59]{min-height:28px!important;padding:0!important;border:0!important;background:transparent!important;accent-color:#2563eb;cursor:pointer}.teacher-manual-grade-range[data-v-4da89c59]:disabled{cursor:not-allowed}.teacher-manual-grade-range-scale[data-v-4da89c59]{display:flex;justify-content:space-between;color:#64748b;font-size:13px;font-weight:700}.teacher-manual-grade-error[data-v-4da89c59]{margin-top:14px;color:#b91c1c;font-weight:800}.teacher-manual-grade-actions[data-v-4da89c59]{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.teacher-manual-grade-actions button[data-v-4da89c59]{min-height:40px;padding:0 18px;border-radius:10px}.teacher-manual-grade-submit[data-v-4da89c59]{background:#2563eb;color:#fff}@media(max-width:640px){.teacher-manual-grade-mask[data-v-4da89c59]{padding:12px}.teacher-manual-grade-dialog[data-v-4da89c59]{padding:18px}.teacher-manual-grade-current[data-v-4da89c59]{flex-wrap:wrap}}.teacher-monitor-head{display:grid;gap:14px;margin:18px 0}.student-detail-panel{margin-top:12px!important;border:1px solid #e5e7eb;border-radius:16px;padding:14px!important;background:#f8fafc}.student-report-panel{margin-top:22px;border:1px solid #e5e7eb;border-radius:16px;padding:18px;background:#fff}.student-report-panel h3{margin:0 0 14px;font-size:20px}.back-top-floating{position:fixed;right:28px;bottom:28px;width:48px;height:48px;border-radius:999px;background:#2563eb;color:#fff;font-size:24px;font-weight:900;line-height:1;box-shadow:0 12px 28px #2563eb47;z-index:999}.back-top-floating:hover{filter:brightness(.95)}@media(max-width:640px){.back-top-floating{right:16px;bottom:16px;width:44px;height:44px;font-size:22px}}.download-item.active{background:#2563eb;color:#fff;border-color:#2563eb}.submission-preview-textarea{width:100%;min-height:360px;resize:vertical;border:1px solid #cbd5e1;border-radius:14px;padding:14px;background:#fff;color:#172033;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:14px;line-height:1.6;white-space:pre}.submission-preview-textarea:focus{border-color:#cbd5e1;box-shadow:none}.student-report-textarea{min-height:420px;margin-top:8px}.submission-preview-textarea,.student-report-textarea{overflow-x:hidden!important;overflow-y:auto!important;white-space:pre-wrap!important;word-break:break-word!important;overflow-wrap:anywhere!important;line-break:anywhere}.assignment-workbench{display:grid;grid-template-columns:minmax(360px,35%) minmax(0,1fr)!important;gap:12px!important;align-items:start}.assignment-navigator{position:sticky;top:16px;display:grid;grid-auto-rows:max-content;align-self:start;align-content:start;gap:14px;width:100%!important;min-width:0;height:fit-content}.assignment-nav-block{align-self:start;min-height:0;height:auto;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:12px!important}.assignment-nav-block h3{margin:0 0 8px;color:#334155;font-size:15px!important}.assignment-class-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(120px,1fr);width:100%;min-width:0;margin-bottom:8px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #dbe5f2;scrollbar-width:thin}.assignment-class-tab{position:relative;min-width:120px;min-height:36px;border:0;border-radius:0;padding:7px 8px 9px;background:transparent;color:#475569;font-size:13px;font-weight:700;text-align:center;white-space:nowrap;box-shadow:none}.assignment-class-tab:hover{background:#f1f6fd;color:#1d4ed8}.assignment-class-tab.active{background:transparent;color:#2563eb;font-weight:900}.assignment-class-tab.active:after{content:"";position:absolute;right:8px;bottom:0;left:8px;height:3px;border-radius:3px 3px 0 0;background:#2563eb}.assignment-nav-button{width:100%;display:block;min-height:36px;margin:0;border:none;border-radius:0;padding:8px 10px;background:transparent;color:#172033;font-size:13px!important;font-weight:800;text-align:left;cursor:pointer}.assignment-nav-button:hover,.assignment-nav-button.active{background:var(--assignment-item-highlight);color:#1d4ed8}.assignment-group{margin-bottom:8px}.assignment-group:last-child{margin-bottom:0}.assignment-group-title{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:36px;border:0;border-radius:7px;padding:7px 11px;background:#eaf1fb;color:#334155;font-size:14px!important;font-weight:700;box-shadow:none}.assignment-group-label{display:inline-flex;align-items:center;gap:7px}.assignment-group-count{min-width:20px;border-radius:999px;padding:1px 6px;background:#ffffffb8;color:#64748b;font-size:11px;font-weight:800;text-align:center}.assignment-group-arrow{color:#64748b;font-size:13px}.assignment-status-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:0;min-width:0;margin-bottom:9px;border-bottom:1px solid #dbe5f2}.assignment-status-filter{position:relative;white-space:nowrap;min-height:30px;border:0;border-radius:0;padding:5px 6px 7px;background:transparent;color:#64748b;font-size:12px;font-weight:800;box-shadow:none}.assignment-status-filter.active{background:transparent;color:#1d4ed8}.assignment-status-filter.active:after{content:"";position:absolute;right:10px;bottom:0;left:10px;height:2px;border-radius:2px 2px 0 0;background:#2563eb}.assignment-group-items{margin-top:4px;padding-left:12px}.assignment-item{border-bottom:1px solid #dbe5f2}.assignment-item.active{background:var(--assignment-item-highlight)}.assignment-item:last-child{border-bottom:0}.assignment-item-button{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;font-weight:700}.assignment-item-button.active{border-radius:0;background:var(--assignment-item-highlight);color:#1d4ed8;box-shadow:none}.assignment-item-name{min-width:0;text-align:left}.assignment-item-status{flex:0 0 auto;border-radius:999px;padding:2px 6px;font-size:11px;font-weight:800;line-height:1.3}.assignment-item-status.status-active{background:#dcfce7;color:#166534}.assignment-item-status.status-pending{background:#fef3c7;color:#92400e}.assignment-item-status.status-ended{background:#e2e8f0;color:#475569}.assignment-item-arrow{flex:0 0 auto;color:#2563eb;font-size:12px}.assignment-item-management{margin:0;padding:8px 10px;border:0;border-radius:0;background:var(--assignment-item-highlight)}.assignment-item-management-main{display:flex;align-items:center;gap:8px 12px;min-width:0;flex-wrap:wrap}.assignment-inline-summary{display:inline-flex;align-items:center;gap:4px;min-width:0;color:#475569;font-size:12px;line-height:1.35;white-space:nowrap}.assignment-inline-summary strong{color:#1e293b;font-weight:900}.assignment-summary-separator{color:#94a3b8}.assignment-inline-actions{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.assignment-inline-actions button{width:auto;min-height:28px;border-radius:7px;padding:5px 10px;font-size:13px;line-height:1.2;white-space:nowrap}.assignment-filter-empty{padding:12px 4px 4px;text-align:center}.assignment-list-block{--assignment-item-highlight: #f4f8fe;align-self:start;min-height:0;height:fit-content}.assignment-empty{color:#94a3b8;padding:8px 4px;font-size:13px}.assignment-sidebar-batch-feedback{margin:7px 0 0;color:#166534;font-size:12px;font-weight:800;line-height:1.4}.assignment-sidebar-batch-feedback.error{color:#b91c1c}.assignment-item-management .assignment-header-hint{color:#64748b;font-size:13px;font-weight:700;line-height:1.5}.assignment-detail-area{max-width:none!important;min-width:0!important}.assignment-detail-area>.section-title:first-child{margin-top:0}.assignment-detail-area .teacher-monitor-head{display:none!important}#panel-teacher-progress .section-title{margin-bottom:14px}.assignment-detail-area>.section-title:first-child{display:none!important}.assignment-detail-area>.teacher-progress-summary{display:none!important}.assignment-summary-top{margin-top:8px;margin-bottom:0;line-height:1.8}.teacher-detail-file-card{margin-top:0;border:0;border-radius:0;padding:0;background:transparent}.teacher-detail-file-card .teacher-detail-one-line-panel{margin:0!important;padding:0!important;border:0!important;background:transparent!important}.teacher-detail-file-card .teacher-submission-card-panel{margin-top:14px!important;border:1px solid #dbe5f2!important;border-radius:16px!important;padding:16px!important;background:#fff!important}.teacher-detail-file-card .teacher-submission-head{margin:-16px -16px 16px!important;padding:12px 16px!important;border-bottom:1px solid #dbe5f2;border-radius:16px 16px 0 0;background:#f1f5fb}.teacher-detail-file-card .teacher-submission-head h3{margin:0!important;color:#1e293b;font-size:17px!important;font-weight:900;line-height:1.2!important}.assignment-detail-area .table-actions{display:flex;gap:6px!important;justify-content:center!important;flex-wrap:nowrap!important}.assignment-detail-area .table-actions button,.assignment-detail-area .table-actions button.primary{min-height:30px!important;padding:5px 10px!important;border-radius:9px!important;font-size:13px!important;line-height:1.1!important}.assignment-detail-area .table-actions button:disabled{background:#f3f4f6!important;border:1px solid #eef2f7!important;color:#b6beca!important;opacity:1!important;box-shadow:none!important;filter:none!important}.teacher-score-panel{margin-top:18px;border:1px solid #dbeafe;border-radius:16px;padding:18px;background:#f8fafc}.teacher-score-panel h3{margin:0 0 14px;font-size:18px}.teacher-score-form{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px}.teacher-score-form label{display:block;margin-bottom:6px;color:#475569;font-weight:800}.teacher-score-comment{width:100%;min-height:96px;resize:vertical;border:1px solid #d1d5db;border-radius:12px;padding:11px 12px;font-size:14px;font-family:inherit}@media(max-width:1100px){.teacher-score-form{grid-template-columns:1fr}}.assignment-item-button,.assignment-nav-button{white-space:normal!important;line-height:1.45!important}.assignment-detail-area table{border-color:#edf2f7!important;font-size:13px!important;table-layout:auto}.assignment-detail-area .table-wrap{border-radius:10px}.assignment-detail-area th,.assignment-detail-area td{padding:7px 9px!important;line-height:1.15!important}.assignment-detail-area table th,.assignment-detail-area table td{text-align:center!important;vertical-align:middle!important}.assignment-detail-area th{background:#f8fafc!important;color:#334155!important;font-size:13px!important}.assignment-detail-area td{border-bottom-color:#edf2f7!important}.teacher-score-overview{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;flex-wrap:nowrap!important;gap:12px!important;color:#475569!important;font-size:12px!important;font-weight:800!important;line-height:1.1!important;white-space:nowrap!important}.teacher-score-overview span{display:inline-flex!important;align-items:center!important;gap:4px!important}.teacher-score-overview strong{color:#2563eb!important;font-size:13px!important;line-height:1.1!important}.student-report-panel{margin-top:12px!important;padding:14px!important}.student-report-panel h3{margin:0 0 10px!important;font-size:18px!important;line-height:1.2!important}.assignment-detail-area tbody tr:nth-child(2n) td{background:#fafcff!important}.assignment-detail-area tbody tr:hover td{background:#f1f6ff!important}@media(max-width:1100px){.assignment-workbench{grid-template-columns:1fr!important}.assignment-navigator{position:static;width:100%!important}.assignment-detail-area{width:100%!important;max-width:none!important}}.upload-panel[data-v-ce7a6e04]{padding:28px 32px}.upload-toolbar[data-v-ce7a6e04]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.upload-assignment-field[data-v-ce7a6e04]{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;white-space:nowrap;font-weight:800;color:#334155}.upload-assignment-field select[data-v-ce7a6e04]{min-width:320px;flex-shrink:0;height:46px;border:1px solid #dbeafe;border-radius:12px;padding:0 16px;background:#fff;color:#0f172a;font-weight:700;font-size:16px}.upload-toolbar button[data-v-ce7a6e04]{min-width:96px;height:46px;border-radius:12px}.upload-path-bar[data-v-ce7a6e04]{display:flex;align-items:center;gap:12px;margin-top:18px;padding:14px 16px;border-radius:16px;background:#f1f5fd;color:#334155;font-weight:800}.path-label[data-v-ce7a6e04]{color:#334155}.path-chip[data-v-ce7a6e04]{display:inline-flex;align-items:center;gap:6px;border:1px solid #dbeafe;border-radius:999px;background:#fff;padding:6px 14px;color:#2563eb;font-weight:900}.path-chip.active[data-v-ce7a6e04]{border-color:transparent;background:#2563eb;color:#fff}.path-separator[data-v-ce7a6e04]{color:#94a3b8;font-weight:900}.upload-card[data-v-ce7a6e04]{margin-top:18px;border:1px solid #dbeafe;border-radius:18px;background:#fff;padding:18px}.upload-file-row[data-v-ce7a6e04]{display:flex;align-items:center;gap:12px}.upload-file-row input[type=file][data-v-ce7a6e04]{flex:1;min-height:46px;border:1px solid #dbeafe;border-radius:12px;padding:8px 12px;background:#f8fafc;color:#334155;font-weight:700}.upload-file-row input[type=file][data-v-ce7a6e04]::file-selector-button{margin-right:12px;border:1px solid #bfdbfe;border-radius:10px;background:#fff;padding:8px 14px;color:#0f172a;font-weight:800;cursor:pointer}.upload-summary[data-v-ce7a6e04]{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:14px;color:#64748b;font-weight:800}.selected-file-list[data-v-ce7a6e04]{margin-top:16px;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden}.selected-file-item[data-v-ce7a6e04]{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:16px;padding:12px 14px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.selected-file-item[data-v-ce7a6e04]:last-child{border-bottom:0}.selected-file-item strong[data-v-ce7a6e04]{overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap}.selected-file-item span[data-v-ce7a6e04]{color:#64748b;font-weight:800;text-align:right}.upload-result[data-v-ce7a6e04]{margin-top:16px;border-radius:14px;background:#dcfce7;padding:12px 14px;color:#166534;font-weight:900}.secondary.small[data-v-ce7a6e04]{min-width:96px;height:42px}@media(max-width:900px){.upload-toolbar[data-v-ce7a6e04],.upload-assignment-field[data-v-ce7a6e04]{align-items:stretch;flex-direction:column}.upload-assignment-field select[data-v-ce7a6e04],.upload-toolbar button[data-v-ce7a6e04]{width:100%}.upload-file-row[data-v-ce7a6e04]{align-items:stretch;flex-direction:column}}.grading-run-panel,.grading-jobs-panel,.run-logs-panel{display:grid;gap:14px}.grading-run-current{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;align-items:center;padding:12px 14px;border:1px solid #dbeafe;border-radius:14px;background:#f8fbff}.grading-run-current span{color:#64748b;font-weight:800}.grading-run-current strong{color:#0f172a;font-weight:900}.grading-jobs-panel .job-status{display:inline-flex;align-items:center;justify-content:center;min-width:68px}.run-logs-panel .run-log-detail{margin-top:0}@media(max-width:760px){.grading-run-current{grid-template-columns:1fr}}.grading-run-panel{padding:28px 32px}.grading-run-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.grading-assignment-field{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;white-space:nowrap;font-weight:800;color:#334155}.grading-assignment-field select{min-width:320px;flex-shrink:0;height:46px;border:1px solid #dbeafe;border-radius:12px;padding:0 16px;background:#fff;color:#0f172a;font-weight:700;font-size:16px}.grading-run-toolbar button{min-width:96px;height:46px;border-radius:12px}.grading-path-bar{display:flex;align-items:center;gap:12px;margin-top:18px;padding:14px 16px;border-radius:16px;background:#f1f5fd;color:#334155;font-weight:800}.grading-path-bar .path-label{color:#334155}.grading-path-bar .path-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #dbeafe;border-radius:999px;background:#fff;padding:6px 14px;color:#2563eb;font-weight:900}.grading-path-bar .path-chip.active{border-color:transparent;background:#2563eb;color:#fff}@media(max-width:900px){.grading-run-toolbar,.grading-assignment-field{align-items:stretch;flex-direction:column}.grading-assignment-field select,.grading-run-toolbar button{width:100%}}.grading-path-bar .path-separator{color:#94a3b8;font-weight:900}.grading-workspace-panel{gap:8px}.grading-workspace-panel .forum-panel{padding:14px 20px}.grading-workspace-panel .section-title{margin-bottom:6px;min-height:0;align-items:center}.grading-workspace-panel .section-title h2{margin:0;line-height:1.2;font-size:22px}.grading-workspace-panel .section-title p{display:none}.grading-workspace-panel .button-group{gap:8px;margin:0}.grading-workspace-panel .button-group button,.grading-workspace-panel .secondary,.grading-workspace-panel .primary{min-height:34px;height:34px;padding:6px 14px;border-radius:10px;line-height:1}.grading-workspace-panel .table-wrap,.grading-workspace-panel table{margin-top:6px}.grading-workspace-panel table th,.grading-workspace-panel table td{padding-top:7px;padding-bottom:7px;line-height:1.25}.grading-workspace-panel table th{height:36px}.grading-workspace-panel table td{height:40px}.grading-workspace-panel .job-status{min-height:28px;padding:4px 14px;line-height:1.2}.grading-workspace-panel .empty,.grading-workspace-panel .notice{margin:6px 0 0;padding:8px 12px}.grading-workspace-panel[data-v-558c5a87]{display:flex;flex-direction:column;gap:22px}.storage-files-panel[data-v-9b2c72b6]{overflow:hidden}.finder-toolbar[data-v-9b2c72b6]{display:grid;grid-template-columns:300px 78px 96px 96px 70px 112px;gap:10px;align-items:end;margin-bottom:14px;overflow-x:auto;padding-bottom:4px}.finder-toolbar label[data-v-9b2c72b6]{display:flex;align-items:center;gap:8px;font-weight:700;color:#334155;white-space:nowrap;min-width:0}.finder-toolbar select[data-v-9b2c72b6],.finder-toolbar input[data-v-9b2c72b6]{width:100%;min-width:0;min-height:42px;border:1px solid #d6e1f2;border-radius:12px;padding:0 12px;background:#fff}.finder-toolbar button[data-v-9b2c72b6]{min-height:42px;white-space:nowrap;padding-left:12px;padding-right:12px}.finder-breadcrumb[data-v-9b2c72b6]{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 14px;padding:10px 12px;border-radius:14px;background:#f3f7ff;color:#475569}.breadcrumb-label[data-v-9b2c72b6]{font-weight:800;color:#475569;margin-right:4px}.breadcrumb-item[data-v-9b2c72b6]{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:0 10px;border:1px solid #dbeafe;border-radius:999px;background:#fff;color:#2563eb;font-weight:800;cursor:pointer}.breadcrumb-item.current[data-v-9b2c72b6]{background:#2563eb;color:#fff;border-color:#2563eb}.breadcrumb-separator[data-v-9b2c72b6]{color:#94a3b8;font-weight:800}.breadcrumb-flat[data-v-9b2c72b6]{padding:4px 10px;border-radius:999px;background:#dcfce7;color:#166534;font-weight:800}.finder-shell[data-v-9b2c72b6]{min-height:420px;border:1px solid #dbe7f5;border-radius:18px;overflow:hidden;background:#fff}.finder-main[data-v-9b2c72b6]{min-width:0;background:#fff}.finder-header[data-v-9b2c72b6],.finder-row[data-v-9b2c72b6]{display:grid;grid-template-columns:minmax(300px,1fr) 260px 100px 190px 90px;gap:12px;align-items:center}.finder-header[data-v-9b2c72b6]{padding:12px 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc;color:#64748b;font-weight:800}.finder-list[data-v-9b2c72b6]{max-height:560px;overflow:auto}.finder-row[data-v-9b2c72b6]{padding:12px 16px;border-bottom:1px solid #eef2f7}.finder-row[data-v-9b2c72b6]:hover{background:#eff6ff}.finder-row.clickable[data-v-9b2c72b6]{cursor:pointer}.finder-row.clickable:hover .finder-name strong[data-v-9b2c72b6]{color:#2563eb}.finder-name[data-v-9b2c72b6]{display:flex;gap:10px;align-items:center;min-width:0}.finder-name strong[data-v-9b2c72b6],.finder-name em[data-v-9b2c72b6]{display:block}.finder-name strong[data-v-9b2c72b6]{color:#0f172a}.finder-name em[data-v-9b2c72b6]{margin-top:3px;color:#64748b;font-size:12px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finder-assignment-name[data-v-9b2c72b6]{color:#334155;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finder-file-icon[data-v-9b2c72b6]{font-size:22px;line-height:1}.finder-actions[data-v-9b2c72b6]{min-height:34px}.download-link[data-v-9b2c72b6]{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:34px;border-radius:999px;border:1px solid #bfdbfe;background:#fff;color:#2563eb;text-decoration:none;font-weight:800;cursor:pointer}.download-link[data-v-9b2c72b6]:hover{background:#2563eb;color:#fff}@media(max-width:1100px){.finder-toolbar[data-v-9b2c72b6]{grid-template-columns:1fr}.finder-toolbar label[data-v-9b2c72b6],.finder-toolbar button[data-v-9b2c72b6]{width:100%}.finder-header[data-v-9b2c72b6],.finder-row[data-v-9b2c72b6]{grid-template-columns:1fr}}.finder-header[data-v-9b2c72b6],.finder-row[data-v-9b2c72b6]{grid-template-columns:minmax(240px,360px) minmax(420px,1fr) 100px 190px 90px}.finder-header span[data-v-9b2c72b6]{text-align:center}.finder-row>div[data-v-9b2c72b6]:not(.finder-name){text-align:center}.finder-assignment-name[data-v-9b2c72b6]{text-align:center}.finder-actions[data-v-9b2c72b6]{display:flex;justify-content:center}.system-maintain-panel[data-v-80d69d79]{padding:28px 32px}.maintain-card[data-v-80d69d79]{border:1px solid #dbeafe;border-radius:12px;background:#fff;padding:20px}.maintain-card+.maintain-card[data-v-80d69d79]{margin-top:16px}.maintain-card-head[data-v-80d69d79]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.maintain-card-head h3[data-v-80d69d79]{margin:0;color:#0f172a}.maintain-card-head p[data-v-80d69d79]{margin:6px 0 0;color:#64748b;line-height:1.6}.admin-only-badge[data-v-80d69d79]{white-space:nowrap;border-radius:6px;background:#eff6ff;color:#2563eb;padding:7px 10px}.status-card-grid[data-v-80d69d79],.count-grid[data-v-80d69d79]{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin-top:14px}.status-card-grid div[data-v-80d69d79],.count-grid div[data-v-80d69d79]{display:grid;gap:6px;border:1px solid #e2e8f0;border-radius:8px;padding:14px;text-align:center}.initialization-preview[data-v-80d69d79]{margin-top:16px;border:1px solid #bfdbfe;border-radius:10px;background:#f8fbff;padding:16px}.confirmation-row[data-v-80d69d79]{display:flex;align-items:end;justify-content:flex-end;gap:12px;margin-top:16px}.confirmation-row label[data-v-80d69d79]{display:flex;align-items:center;gap:8px;white-space:nowrap}.confirmation-row input[data-v-80d69d79]{min-height:32px;border:1px solid #cbd5e1;border-radius:5px;padding:5px 8px}.danger-button[data-v-80d69d79]{border-color:#b42318;background:#b42318;color:#fff}.local-feedback[data-v-80d69d79]{margin:14px 0 0;border-radius:6px;padding:10px 12px}.local-feedback.error[data-v-80d69d79]{background:#fff0f0;color:#a61b1b}.local-feedback.success[data-v-80d69d79]{background:#eefbf2;color:#237a3b}.docs-frame[data-v-80d69d79]{display:block;width:100%;height:720px;border:1px solid #dbeafe;border-radius:8px}@media(max-width:900px){.system-maintain-panel[data-v-80d69d79]{padding:18px}.maintain-card-head[data-v-80d69d79],.confirmation-row[data-v-80d69d79]{align-items:stretch;flex-direction:column}.status-card-grid[data-v-80d69d79],.count-grid[data-v-80d69d79]{grid-template-columns:repeat(2,minmax(0,1fr))}}.deleted-assignments-maintenance[data-v-d26397d7]{padding:22px}header[data-v-d26397d7]{display:flex;align-items:center;justify-content:space-between;gap:14px}h3[data-v-d26397d7],p[data-v-d26397d7]{margin:0}header p[data-v-d26397d7]{margin-top:5px;color:#64748b}.maintenance-feedback[data-v-d26397d7],.maintenance-empty[data-v-d26397d7]{margin-top:14px;padding:10px 12px;border-radius:8px;background:#eff6ff;color:#1d4ed8}.maintenance-feedback.error[data-v-d26397d7]{background:#fef2f2;color:#b91c1c}.deleted-assignment-table[data-v-d26397d7]{--columns: minmax(180px, 1.4fr) minmax(130px, 1fr) 80px 145px 145px 170px;margin-top:16px;border:1px solid #dbe3ef;border-radius:10px;overflow:hidden}.deleted-assignment-head[data-v-d26397d7],.deleted-assignment-row[data-v-d26397d7]{display:grid;grid-template-columns:var(--columns);align-items:center;gap:8px;padding:10px 12px;min-width:0}.deleted-assignment-head[data-v-d26397d7]{background:#eef3f8;color:#475569;font-size:12px;font-weight:900}.deleted-assignment-row[data-v-d26397d7]{border-top:1px solid #e5e7eb;background:#fff}.deleted-assignment-row[data-v-d26397d7]>*{min-width:0;overflow-wrap:anywhere}.deleted-assignment-actions[data-v-d26397d7]{display:flex;gap:7px;flex-wrap:wrap}.danger[data-v-d26397d7]{color:#b91c1c}@media(max-width:820px){.deleted-assignment-head[data-v-d26397d7]{display:none}.deleted-assignment-row[data-v-d26397d7]{grid-template-columns:minmax(0,1fr)}header[data-v-d26397d7]{align-items:flex-start;flex-direction:column}}.user-account-panel[data-v-df9d29e9]{display:flex;flex-direction:column;gap:12px}.user-account-panel[data-v-df9d29e9] .section-title{margin-bottom:6px}.user-account-panel[data-v-df9d29e9] .section-title h2{margin-bottom:0}.user-account-title-row[data-v-df9d29e9]{display:flex;align-items:center;gap:18px}.user-account-title-row h2[data-v-df9d29e9]{flex:0 0 auto;margin:0}.user-account-title-row .user-account-stats[data-v-df9d29e9]{flex:1 1 auto;margin:0}.user-account-stats[data-v-df9d29e9],.user-account-filters[data-v-df9d29e9],.reset-password-box[data-v-df9d29e9],.teacher-create-box[data-v-df9d29e9]{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding:8px 12px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}.teacher-create-box[data-v-df9d29e9]{align-items:end}.teacher-create-heading[data-v-df9d29e9]{display:grid;align-self:center;gap:3px;min-width:180px}.teacher-create-heading span[data-v-df9d29e9]{color:#64748b;font-size:12px}.teacher-create-box label[data-v-df9d29e9]{display:grid;gap:5px;color:#475569;font-size:13px;font-weight:700}.teacher-create-actions[data-v-df9d29e9]{display:flex;gap:8px}.user-account-stats span[data-v-df9d29e9]{padding:6px 10px;border-radius:999px;background:#fff;color:#334155;font-size:13px;font-weight:700}.user-account-filters[data-v-df9d29e9]{display:flex;flex-direction:column;gap:10px;align-items:stretch}.filter-line[data-v-df9d29e9]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.filter-main-line[data-v-df9d29e9]{flex-wrap:nowrap}.filter-label[data-v-df9d29e9]{flex:0 0 auto;color:#475569;font-size:13px;font-weight:800;white-space:nowrap}.status-filter-label[data-v-df9d29e9]{margin-left:14px}.filter-chip[data-v-df9d29e9]{height:30px;padding:0 12px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-size:13px;font-weight:700;white-space:nowrap}.filter-chip.active[data-v-df9d29e9]{border-color:#2563eb;background:#dbeafe;color:#1e40af}.keyword-filter[data-v-df9d29e9]{display:flex;flex:0 0 auto;flex-direction:row;align-items:center;gap:8px;margin-left:14px;color:#475569;font-size:13px;font-weight:800;white-space:nowrap}.keyword-filter input[data-v-df9d29e9]{width:150px;height:34px;border:1px solid #cbd5e1;border-radius:10px;padding:0 10px;background:#fff}.user-account-filters button[data-v-df9d29e9]:not(.filter-chip){flex:0 0 auto;height:34px;min-width:72px}.page-size-filter-line[data-v-df9d29e9]{padding-left:0}.page-size-filter-line select[data-v-df9d29e9]{width:112px;height:34px;border:1px solid #cbd5e1;border-radius:10px;padding:0 10px;background:#fff}@media(max-width:1180px){.filter-main-line[data-v-df9d29e9]{flex-wrap:wrap}.status-filter-label[data-v-df9d29e9],.keyword-filter[data-v-df9d29e9]{margin-left:0}}.reset-password-box[data-v-df9d29e9]{align-items:center;background:#fff7ed;border-color:#fed7aa}.reset-password-box p[data-v-df9d29e9]{margin:4px 0 0;color:#9a3412;font-size:13px}.checkbox-line[data-v-df9d29e9]{min-width:180px;flex-direction:row!important;align-items:center}.checkbox-line input[data-v-df9d29e9]{height:auto}.reset-actions[data-v-df9d29e9],.user-actions[data-v-df9d29e9]{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.user-actions button[data-v-df9d29e9]{min-height:32px;padding:0 12px;border-radius:10px;font-size:13px;line-height:1}.user-account-table-wrap[data-v-df9d29e9]{overflow-x:auto;border:1px solid #e2e8f0;border-radius:14px}.user-account-table[data-v-df9d29e9]{width:100%;min-width:980px;border-collapse:collapse;background:#fff}.user-account-table th[data-v-df9d29e9],.user-account-table td[data-v-df9d29e9]{padding:7px 10px;border-bottom:1px solid #e2e8f0;text-align:center;vertical-align:middle;font-size:13px;line-height:1.25}.user-account-table th[data-v-df9d29e9]{background:#f8fafc;color:#334155;font-weight:800}.user-account-table tr:nth-child(2n) td[data-v-df9d29e9]{background:#fbfdff}.user-account-table tr.disabled td[data-v-df9d29e9]{color:#94a3b8;background:#f8fafc}.user-account-table td strong[data-v-df9d29e9],.user-account-table td span[data-v-df9d29e9]{display:inline-flex;align-items:center;justify-content:center}.user-account-table td span[data-v-df9d29e9]{margin-top:0;color:#64748b;font-size:12px}.role-badge[data-v-df9d29e9],.status-badge[data-v-df9d29e9]{display:inline-flex!important;width:fit-content;margin:0!important;padding:3px 8px;border-radius:999px;font-size:12px!important;font-weight:800;line-height:1.2}.role-badge.admin[data-v-df9d29e9]{background:#fee2e2;color:#991b1b}.role-badge.teacher[data-v-df9d29e9]{background:#dbeafe;color:#1e40af}.role-badge.student[data-v-df9d29e9],.status-badge.active[data-v-df9d29e9],.status-badge.normal[data-v-df9d29e9]{background:#dcfce7;color:#166534}.status-badge.inactive[data-v-df9d29e9]{background:#e2e8f0;color:#475569}.status-badge.warn[data-v-df9d29e9]{background:#fef3c7;color:#92400e}.empty-cell[data-v-df9d29e9]{padding:30px!important;color:#94a3b8;text-align:center!important}button.danger[data-v-df9d29e9]{background:#ef4444;border-color:#ef4444}.user-pagination[data-v-df9d29e9]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;color:#475569;font-size:13px;font-weight:700}.page-size-control[data-v-df9d29e9],.page-actions[data-v-df9d29e9]{display:flex;align-items:center;gap:8px}.page-size-control span[data-v-df9d29e9]{white-space:nowrap}.page-size-control select[data-v-df9d29e9]{height:34px;border:1px solid #cbd5e1;border-radius:10px;padding:0 10px;background:#fff}.page-info[data-v-df9d29e9]{color:#64748b}.page-actions button[data-v-df9d29e9]{min-height:30px;padding:0 12px;border-radius:10px;font-size:13px}@media(max-width:720px){.user-pagination[data-v-df9d29e9]{align-items:stretch;flex-direction:column}.page-actions[data-v-df9d29e9]{flex-wrap:wrap}}.pagination-filter-line[data-v-df9d29e9]{display:flex;width:100%;box-sizing:border-box;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 0;border-top:1px solid #e2e8f0}.pagination-filter-line .page-size-control[data-v-df9d29e9]{display:flex;flex:0 0 auto;align-items:center;gap:8px}.pagination-filter-line .page-size-control span[data-v-df9d29e9]{color:#475569;font-size:13px;font-weight:800;white-space:nowrap}.pagination-filter-line .page-size-control select[data-v-df9d29e9]{width:112px;height:34px;border:1px solid #cbd5e1;border-radius:10px;padding:0 10px;background:#fff}.pagination-filter-line .page-info[data-v-df9d29e9]{flex:1 1 auto;color:#64748b;font-size:13px;font-weight:700;text-align:center;white-space:nowrap}.pagination-filter-line .page-actions[data-v-df9d29e9]{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:8px}.pagination-filter-line .page-actions button[data-v-df9d29e9]{min-height:30px;padding:0 12px;border-radius:10px;font-size:13px}@media(max-width:1180px){.filter-main-line[data-v-df9d29e9],.pagination-filter-line[data-v-df9d29e9]{flex-wrap:wrap}.status-filter-label[data-v-df9d29e9],.keyword-filter[data-v-df9d29e9]{margin-left:0}.pagination-filter-line[data-v-df9d29e9]{align-items:flex-start}.pagination-filter-line .page-info[data-v-df9d29e9]{flex:1 1 100%;text-align:left}.pagination-filter-line .page-actions[data-v-df9d29e9]{justify-content:flex-start}}.reset-password-box[data-v-df9d29e9]{flex-wrap:nowrap;align-items:center;gap:16px;overflow-x:auto}.reset-password-title[data-v-df9d29e9]{flex:0 0 auto;min-width:178px;margin-right:4px;color:#0f172a;font-size:15px;font-weight:900;white-space:nowrap}.reset-password-box>label[data-v-df9d29e9]:not(.checkbox-line){display:flex;flex:0 0 auto;flex-direction:row;align-items:center;gap:8px;margin:0;color:#1e293b;font-size:13px;font-weight:800;white-space:nowrap}.reset-password-box>label:not(.checkbox-line) input[data-v-df9d29e9]{width:170px;height:34px;padding:0 12px}.reset-password-box .checkbox-line[data-v-df9d29e9]{display:flex;flex:0 0 auto;flex-direction:row;align-items:center;gap:6px;margin:0 12px 0 0;color:#1e293b;font-size:13px;font-weight:800;white-space:nowrap}.reset-password-box .checkbox-line input[data-v-df9d29e9]{width:15px;height:15px;margin:0}.reset-password-box button[data-v-df9d29e9]{flex:0 0 auto;height:34px;min-width:82px;padding:0 14px;border-radius:10px}@media(max-width:900px){.reset-password-box[data-v-df9d29e9]{flex-wrap:wrap}.reset-password-title[data-v-df9d29e9]{min-width:0}}.profile-panel[data-v-2ed19f82]{display:flex;flex-direction:column;gap:16px}.profile-grid[data-v-2ed19f82]{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:16px}.profile-info-card[data-v-2ed19f82],.profile-password-card[data-v-2ed19f82]{border:1px solid #e2e8f0;border-radius:18px;padding:18px;background:#f8fafc}.profile-info-card h3[data-v-2ed19f82],.profile-password-card h3[data-v-2ed19f82]{margin:0 0 14px;color:#0f172a;font-size:18px}.profile-info-list[data-v-2ed19f82]{display:grid;gap:10px}.profile-info-list div[data-v-2ed19f82]{display:flex;justify-content:space-between;gap:16px;border-bottom:1px dashed #cbd5e1;padding:8px 0}.profile-info-list span[data-v-2ed19f82]{color:#64748b;font-size:13px;font-weight:700}.profile-info-list strong[data-v-2ed19f82]{color:#0f172a;font-size:14px;text-align:right}.password-form[data-v-2ed19f82]{display:grid;gap:12px}.password-form label[data-v-2ed19f82]{display:grid;gap:6px;color:#334155;font-size:13px;font-weight:800}.password-form input[data-v-2ed19f82]{height:40px;border:1px solid #cbd5e1;border-radius:12px;padding:0 12px;background:#fff;font-size:14px}.password-actions[data-v-2ed19f82]{display:flex;gap:10px;margin-top:4px}.password-actions button[data-v-2ed19f82]{min-height:38px;padding:0 16px;border-radius:12px}.profile-message[data-v-2ed19f82]{margin-bottom:12px;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:700}.profile-message.success[data-v-2ed19f82]{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534}.profile-message.error[data-v-2ed19f82]{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c}@media(max-width:900px){.profile-grid[data-v-2ed19f82]{grid-template-columns:1fr}.profile-info-list div[data-v-2ed19f82]{align-items:flex-start;flex-direction:column;gap:4px}.profile-info-list strong[data-v-2ed19f82]{text-align:left}}.profile-title-row[data-v-2ed19f82]{align-items:center}.profile-back-button[data-v-2ed19f82]{min-height:36px;padding:0 14px;border-radius:12px;white-space:nowrap}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Arial,sans-serif;background:#eef2f7;color:#172033}.page{max-width:1280px;margin:0 auto;padding:24px}.hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px;border-radius:22px;background:linear-gradient(135deg,#193cb8,#0f766e);color:#fff;box-shadow:0 18px 42px #1118272e;margin-bottom:20px}.hero h1{margin:0 0 8px;font-size:34px;letter-spacing:1px}.hero p{margin:0;opacity:.9}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.notice{padding:13px 16px;border-radius:14px;margin-bottom:16px;font-weight:600}.success{background:#dcfce7;color:#166534}.error{background:#fee2e2;color:#991b1b}.loading{background:#dbeafe;color:#1d4ed8}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.status-card{background:#fff;border-radius:16px;padding:18px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 8px 22px #0f172a12}.status-card span{color:#64748b}.status-card strong{color:#94a3b8}.status-card strong.ok{color:#16a34a}.workflow{display:grid;grid-template-columns:1.1fr 1fr 1.2fr;gap:18px}.card{background:#fff;border-radius:18px;padding:22px;margin-bottom:18px;box-shadow:0 8px 22px #0f172a12}.main-card{border:1px solid #bfdbfe}.section-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.section-title h2{margin:0 0 6px;font-size:20px}.section-title p{margin:0;color:#64748b;line-height:1.6;font-size:14px}.badge{padding:6px 10px;border-radius:999px;font-size:13px;white-space:nowrap}.ok-badge{background:#dcfce7;color:#166534}.warn-badge{background:#fef3c7;color:#92400e}input,select{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:11px 12px;font-size:14px;outline:none;background:#fff}input:focus,select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}button,.outline,.download-item{border:none;border-radius:12px;padding:10px 14px;background:#e5e7eb;color:#111827;text-decoration:none;cursor:pointer;font-size:14px;display:inline-block}button:hover,.outline:hover,.download-item:hover{filter:brightness(.98)}button:disabled{opacity:.55;cursor:not-allowed}.primary{background:#2563eb;color:#fff}.danger{background:#dc2626;color:#fff}.outline{background:#fff;color:#2563eb;border:1px solid #bfdbfe}.block{width:100%;margin-top:12px}.quick-actions,.button-group{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.upload-info{margin-top:12px;color:#64748b;display:grid;gap:6px;font-size:14px}.result-box{background:#f8fafc;border-radius:12px;padding:12px;margin-top:14px;color:#334155}.result-box p{margin:4px 0}.step-list{margin-top:14px;display:grid;gap:8px}.step-item{display:flex;justify-content:space-between;background:#f8fafc;border-radius:12px;padding:10px 12px}.ok-text strong{color:#16a34a}.bad-text strong{color:#dc2626}.muted strong{color:#64748b}.toolbar,.browser-form{display:grid;grid-template-columns:1fr auto;gap:12px;margin-bottom:14px}.browser-form{grid-template-columns:180px 1fr auto}.summary-meta{display:flex;gap:16px;flex-wrap:wrap;color:#475569;margin-bottom:12px}.table-wrap{overflow-x:auto;border:1px solid #e5e7eb;border-radius:14px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{border-bottom:1px solid #e5e7eb;padding:11px 12px;text-align:left;white-space:nowrap}th{background:#f8fafc;color:#334155;font-weight:700}tr:hover td{background:#f9fafb}.score{font-weight:800;color:#2563eb}.empty{color:#94a3b8;background:#f8fafc;padding:14px;border-radius:12px}.download-list{display:flex;flex-wrap:wrap;gap:10px}.download-item{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}@media(max-width:1100px){.workflow{grid-template-columns:1fr}.status-grid{grid-template-columns:repeat(2,1fr)}.hero{flex-direction:column;align-items:flex-start}.browser-form,.toolbar{grid-template-columns:1fr}}@media(max-width:640px){.status-grid{grid-template-columns:1fr}.page{padding:14px}}.log-success{color:#16a34a;font-weight:700}.log-fail{color:#dc2626;font-weight:700}.run-log-detail{margin-top:18px;background:#f8fafc;border-radius:14px;padding:16px}.run-log-detail h3{margin-top:0}.job-box{background:#f8fafc;border-radius:14px;padding:14px;margin-top:14px;border:1px solid #e5e7eb}.job-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.job-header p{color:#64748b;margin:6px 0 0;line-height:1.6}.job-status{padding:6px 10px;border-radius:999px;font-size:13px;white-space:nowrap;background:#e5e7eb;color:#334155}.job-status.queued{background:#fef3c7;color:#92400e}.job-status.running{background:#dbeafe;color:#1d4ed8}.job-status.success{background:#dcfce7;color:#166534}.job-status.failed{background:#fee2e2;color:#991b1b}.progress-wrap{width:100%;height:12px;background:#e5e7eb;border-radius:999px;margin-top:14px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#2563eb,#0f766e);border-radius:999px;transition:width .3s ease}.progress-meta{display:flex;flex-wrap:wrap;gap:12px;color:#64748b;margin-top:10px;font-size:14px}.grading-options{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin:14px 0 18px}.grading-options label{display:inline-flex;align-items:center;gap:8px;width:auto;white-space:nowrap;font-size:16px;font-weight:600;line-height:1.4;cursor:pointer}.grading-options input[type=checkbox]{width:18px;height:18px;margin:0}.job-options-meta{margin-top:8px}.job-log-panel{margin-top:22px;border-top:1px solid #e5e7eb;padding-top:18px}.job-log-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.job-log-header h3{margin:0;font-size:18px}.job-log{min-height:220px;max-height:420px;overflow:auto;padding:14px;background:#111827;color:#e5e7eb;border-radius:10px;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.table-actions{display:flex;gap:8px;flex-wrap:wrap}body{background:radial-gradient(circle at 12% 8%,rgba(37,99,235,.08),transparent 28%),linear-gradient(180deg,#eef4fb,#f6f8fb 45%,#fff)!important}.page{max-width:1360px!important;padding:16px 20px 22px!important}.status-grid{display:none!important}.hero{height:54px!important;min-height:54px!important;padding:0 18px!important;margin-bottom:0!important;border-radius:12px 12px 0 0!important;background:linear-gradient(90deg,#eff6fff2,#fffffffa)!important;color:#0f172a!important;border:1px solid #dbeafe!important;border-bottom:0!important;box-shadow:0 8px 22px #0f172a12!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important}.hero h1{width:auto!important;margin:0!important;padding:0!important;color:#0f172a!important;font-size:23px!important;line-height:1!important;letter-spacing:0!important;font-weight:900!important}.hero h1:before{content:"";display:inline-block;width:34px;height:34px;margin-right:10px;border-radius:8px;vertical-align:middle;background:linear-gradient(135deg,#22d3ee,#2563eb)!important;box-shadow:0 8px 18px #2563eb38!important}.hero p,.hero-actions{display:none!important}.teacher-top-layout,.forum-admin-layout{display:block!important}.teacher-top-menu{margin:0 0 12px!important;border-radius:0 0 12px 12px!important;background:#fffffff5!important;border:1px solid #dbeafe!important;border-top:0!important;box-shadow:0 8px 24px #0f172a14!important;overflow:hidden!important}.teacher-main-menu-bar{display:flex!important;align-items:stretch!important;height:42px!important;min-height:42px!important;background:linear-gradient(180deg,#fff,#f4f8ff)!important;border-bottom:1px solid #dbeafe!important}.teacher-main-menu-item{flex:1 1 0!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 16px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#334155!important;font-size:16px!important;font-weight:900!important;line-height:1!important;letter-spacing:0!important;text-align:center!important;box-shadow:none!important;position:relative!important}.teacher-main-menu-item:hover,.teacher-main-menu-item.active{background:#eef6ff!important;color:#1d4ed8!important;filter:none!important}.teacher-main-menu-item.active:after{content:"";position:absolute;left:22px;right:22px;bottom:0;height:3px;border-radius:999px 999px 0 0;background:#2563eb}.teacher-sub-menu-panel{min-height:46px!important;padding:8px 14px!important;background:#f8fbff!important;border-top:1px solid #e5eefb!important;display:flex!important;align-items:center!important;gap:8px!important;overflow-x:auto!important}.teacher-sub-menu-item{flex:0 0 auto!important;height:32px!important;min-height:32px!important;margin:0!important;padding:0 14px!important;background:#fff!important;border:1px solid #cfe0f7!important;color:#334155!important;border-radius:999px!important;box-shadow:0 2px 6px #0f172a09!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:0!important}.teacher-sub-menu-icon{display:none!important}.teacher-sub-menu-title{color:#334155!important;font-size:14px!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important}.teacher-sub-menu-item:hover{background:#eff6ff!important;border-color:#93c5fd!important;filter:none!important}.teacher-sub-menu-item.active{background:#2563eb!important;border-color:#2563eb!important;box-shadow:0 6px 14px #2563eb38!important}.teacher-sub-menu-item.active .teacher-sub-menu-title{color:#fff!important}.forum-content{width:100%!important;min-width:0!important}.forum-workflow,.forum-content .workflow{display:block!important}.card,.assignment-workbench-header,.assignment-nav-block,.student-detail-panel,.student-report-panel{background:#fff!important;border-color:#dbe7f5!important;box-shadow:0 8px 24px #0f172a0e!important}.teacher-progress-card{width:100%;min-width:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.assignment-workbench{grid-template-columns:minmax(360px,35%) minmax(0,1fr)!important;gap:12px!important}.assignment-navigator{width:100%!important}.assignment-workbench-header{position:relative!important;overflow:hidden!important}.assignment-workbench-header:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#2563eb,#22d3ee)}.assignment-header-main h2{color:#0f172a!important}.assignment-nav-block{background:linear-gradient(180deg,#fff,#f8fbff)!important}.assignment-detail-area .table-wrap{border-color:#dbe7f5!important;box-shadow:0 6px 18px #0f172a09!important}.assignment-detail-area th{background:#f1f6fd!important;color:#1e293b!important}.assignment-detail-area tbody tr:nth-child(2n) td{background:#fbfdff!important}.assignment-detail-area tbody tr:nth-child(odd) td{background:#fff!important}.assignment-detail-area tbody tr:hover td{background:#eef6ff!important}.score,.teacher-score-overview strong{color:#2563eb!important}.assignment-batch-inline,.primary{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;color:#fff!important;box-shadow:0 5px 14px #2563eb33!important}.primary:hover,.assignment-batch-inline:hover,.assignment-detail-area .table-actions button.primary:hover{background:#1d4ed8!important}.assignment-detail-area .table-actions button:disabled{background:#f1f5f9!important;color:#b6beca!important;border-color:#eef2f7!important;opacity:1!important;box-shadow:none!important;filter:none!important}@media(max-width:900px){.page{padding:10px!important}.hero{height:48px!important;min-height:48px!important}.hero h1{font-size:19px!important}.hero h1:before{width:30px;height:30px}.teacher-main-menu-bar{height:auto!important;min-height:40px!important;flex-wrap:wrap!important}.teacher-main-menu-item{flex:1 1 50%!important;height:40px!important;min-height:40px!important;font-size:14px!important}.teacher-sub-menu-panel{padding:8px 10px!important}.assignment-workbench{grid-template-columns:1fr!important}.assignment-navigator{width:100%!important}}.teacher-context-field.teacher-assignment-field{display:inline-flex;align-items:center;gap:8px;width:fit-content;max-width:100%}.teacher-context-field.teacher-assignment-field label{margin:0;white-space:nowrap}.teacher-context-field.teacher-assignment-field .assignment-inline-select{width:auto;min-width:18em;max-width:34em}.auth-checking{min-height:100vh;display:grid;place-items:center;color:#475569;font-size:16px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);background:#fffffff5;border:1px solid #dbeafe;border-radius:22px;padding:30px;box-shadow:0 18px 42px #0f172a1f}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:24px}.login-logo{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:900;background:linear-gradient(135deg,#22d3ee,#2563eb);box-shadow:0 8px 18px #2563eb38}.login-brand h1{margin:0 0 4px;font-size:24px;color:#0f172a}.login-brand p{margin:0;color:#64748b;font-size:14px}.login-form{display:grid;gap:16px}.login-form label{display:grid;gap:8px;color:#334155;font-weight:800}.login-error{padding:11px 12px;border-radius:12px;background:#fee2e2;color:#991b1b;font-weight:700}.login-button{width:100%;margin-top:4px}.auth-shell{min-height:100vh}.auth-user-bar{max-width:1360px;margin:12px auto -8px;padding:8px 20px;display:flex;justify-content:flex-end;align-items:center;gap:12px}.auth-user-info{display:inline-flex;align-items:center;gap:8px;color:#334155;font-size:14px}.auth-user-info strong{color:#0f172a}.auth-user-info span{padding:4px 8px;border-radius:999px;background:#eaf1fb;color:#2563eb;font-weight:800}.auth-user-info .auth-username{background:transparent;color:#64748b;font-weight:600}.auth-logout{padding:7px 12px;border-radius:999px}@media(max-width:640px){.auth-user-bar{padding:8px 14px;justify-content:space-between}.auth-user-info{flex-wrap:wrap}}.login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px;margin-bottom:16px;background:#eef4fb;border:1px solid #dbeafe;border-radius:14px}.login-tab{border-radius:10px;background:transparent;color:#475569;font-weight:900;box-shadow:none}.login-tab:hover{filter:none;background:#fff}.login-tab.active{background:#2563eb;color:#fff;box-shadow:0 6px 14px #2563eb33}.login-hint{padding:11px 12px;border-radius:12px;background:#fef3c7;color:#92400e;font-weight:700;line-height:1.5}.login-success{padding:11px 12px;border-radius:12px;background:#dcfce7;color:#166534;font-weight:700}.force-password-card{width:min(480px,100%)}.hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-actions{margin-left:auto;display:flex;align-items:center;justify-content:flex-end}.hero .auth-user-bar{margin:0;padding:0;border:0;background:transparent;box-shadow:none;display:flex;align-items:center;gap:18px}.hero .auth-user-info{display:flex;align-items:center;gap:12px;white-space:nowrap}.hero .auth-user-info strong{color:#0f172a;font-weight:900}.hero .auth-user-info span{color:#64748b;font-weight:800}.hero .auth-user-info span:nth-child(2){color:#2563eb;background:#eff6ff;padding:6px 10px;border-radius:999px}.hero .auth-logout{white-space:nowrap}.hero{display:flex;align-items:center;justify-content:space-between;gap:24px}.title-user-actions{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:18px}.title-user-info{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:15px}.title-user-info strong{color:#0f172a;font-weight:900}.title-role-badge{color:#2563eb;background:#eff6ff;padding:6px 10px;border-radius:999px;font-weight:900}.title-student-group-badge{flex:0 0 auto;padding:5px 9px;border:1px solid #bfcef0;border-radius:7px;background:#eff6ff;color:#2563eb;font-size:12px;font-weight:900;white-space:nowrap}.title-username,.title-student-info{color:#64748b;font-weight:800}.title-logout{white-space:nowrap;min-height:36px;height:36px;padding:0 14px}.title-password{white-space:nowrap}.page>.hero{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important}.page>.hero>div:first-child{flex:1 1 auto!important;min-width:0!important}.page>.hero>.hero-actions.title-user-actions{display:flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:flex-end!important;gap:18px!important;margin-left:auto!important;visibility:visible!important;opacity:1!important;height:auto!important;min-height:36px!important;overflow:visible!important;position:static!important}.page>.hero .title-user-info{display:flex!important;align-items:center!important;gap:12px!important;white-space:nowrap!important;font-size:15px!important}.page>.hero .title-user-info strong{color:#0f172a!important;font-weight:900!important}.page>.hero .title-role-badge{color:#2563eb!important;background:#eff6ff!important;padding:6px 10px!important;border-radius:999px!important;font-weight:900!important}.page>.hero .title-username,.page>.hero .title-student-info{color:#64748b!important;font-weight:800!important}.page>.hero .title-logout{display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;min-height:36px!important;height:36px!important;padding:0 14px!important}.page>.hero button.title-user-info.title-user-info-button{display:flex!important;align-items:center!important;gap:12px!important;width:auto!important;min-width:0!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:inherit!important;cursor:pointer!important;filter:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important}.page>.hero button.title-user-info.title-user-info-button:hover,.page>.hero button.title-user-info.title-user-info-button:active{background:transparent!important;box-shadow:none!important;filter:none!important}.page>.hero button.title-user-info.title-user-info-button:hover strong{text-decoration:underline}.page>.hero button.title-user-info.title-user-info-button:focus-visible{outline:2px solid #2563eb!important;outline-offset:4px!important}.student-attachment-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(126px,150px))!important;gap:16px!important;align-items:start!important}.student-attachment-card{position:relative!important;min-width:0!important}.student-attachment-preview{position:relative!important;display:grid!important;place-items:center!important;width:100%!important;aspect-ratio:1.05 / 1!important;min-height:118px!important;overflow:hidden!important;border:0!important;border-radius:10px!important;background:#6047ee!important;box-shadow:none!important;cursor:pointer!important;padding:0!important}.student-attachment-preview img{width:100%!important;height:100%!important;object-fit:cover!important;background:#fff!important}.student-attachment-file-icon{display:grid!important;place-items:center!important;width:100%!important;height:100%!important;color:#fff!important;font-size:72px!important;font-weight:900!important;line-height:1!important;background:linear-gradient(135deg,#6d5df6,#5338d8)!important}.student-attachment-file-icon.file-type-pkt{background:linear-gradient(135deg,#64748b,#334155)!important}.student-attachment-name{margin-top:8px!important;min-height:44px!important;color:#111827!important;font-size:15px!important;font-weight:700!important;line-height:1.35!important;text-align:center!important;word-break:break-word!important;overflow:hidden!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}.student-attachment-download,.student-attachment-delete{position:absolute!important;display:inline-grid!important;place-items:center!important;width:26px!important;height:26px!important;min-height:26px!important;border:0!important;border-radius:7px!important;padding:0!important;color:#fff!important;font-size:15px!important;font-weight:900!important;line-height:1!important;box-shadow:0 4px 10px #0f172a33!important}.student-attachment-download{right:6px!important;bottom:52px!important;background:#312e81e0!important}.student-attachment-delete{right:6px!important;top:6px!important;background:#dc2626e6!important}
