.common-page-container[data-v-2a719f78],.common-right-panel[data-v-2a719f78]{height:100%;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.common-right-panel[data-v-2a719f78]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.custom-query-form[data-v-2a719f78]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.right-btn-group[data-v-2a719f78]{margin-left:auto;margin-right:0!important}.all_page_border[data-v-2a719f78]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:0;overflow:hidden}.all_page_border[data-v-2a719f78] .el-table{overflow:hidden!important}.pagination-container[data-v-2a719f78]{margin-top:14px;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.modern-exam-table[data-v-2a719f78] .el-table__row td{padding:12px 0!important}.modern-exam-table[data-v-2a719f78] .cell{line-height:1.5!important;overflow:visible!important}.exam-room-cell[data-v-2a719f78]{gap:10px}.exam-room-cell[data-v-2a719f78],.room-avatar-badge[data-v-2a719f78]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.room-avatar-badge[data-v-2a719f78]{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#6366f1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:16px;-ms-flex-negative:0;flex-shrink:0;-webkit-box-shadow:0 1px 3px rgba(99,102,241,.12);box-shadow:0 1px 3px rgba(99,102,241,.12)}.room-meta-info[data-v-2a719f78]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px}.room-title-text[data-v-2a719f78]{font-size:13.5px;font-weight:600;color:#0f172a;line-height:1.3}.room-desc-tag[data-v-2a719f78]{font-size:11px;color:#94a3b8;line-height:1.2}.modern-bound-badge[data-v-2a719f78]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;background:#f8fafc;border:1px solid #cbd5e1;padding:4px 10px 4px 8px;border-radius:6px;cursor:pointer;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box}.modern-bound-badge[data-v-2a719f78]:hover{background:#eef2ff;border-color:#818cf8;-webkit-box-shadow:0 1px 4px rgba(99,102,241,.15);box-shadow:0 1px 4px rgba(99,102,241,.15)}.modern-bound-badge .bound-icon[data-v-2a719f78]{color:#6366f1;font-size:14px}.modern-bound-badge .bound-name[data-v-2a719f78]{font-weight:600;font-size:13px;color:#1e293b}.modern-bound-badge .bound-change-pill[data-v-2a719f78]{font-size:10.5px;color:#6366f1;background:#fff;border:1px solid #c7d2fe;padding:1px 6px;border-radius:4px;margin-left:2px;font-weight:500}.modern-unbound-btn[data-v-2a719f78]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:5px;padding:4px 12px;border-radius:6px;font-size:12.5px;font-weight:500;color:#4f46e5;background:#eef2ff;border:1px dashed #a5b4fc;cursor:pointer;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box}.modern-unbound-btn[data-v-2a719f78]:hover{background:#6366f1;color:#fff;border-color:#6366f1;border-style:solid;-webkit-box-shadow:0 2px 6px rgba(99,102,241,.2);box-shadow:0 2px 6px rgba(99,102,241,.2)}.modern-unbound-btn i[data-v-2a719f78]{font-size:12px;font-weight:700}.terminal-status-badge[data-v-2a719f78]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:3px 10px;border-radius:9999px;font-size:12px;font-weight:500}.terminal-status-badge.is-online[data-v-2a719f78]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.terminal-status-badge.is-offline[data-v-2a719f78]{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}.dot-indicator[data-v-2a719f78]{width:7px;height:7px;border-radius:50%;-ms-flex-negative:0;flex-shrink:0}.is-online .dot-indicator[data-v-2a719f78]{background:#10b981;-webkit-box-shadow:0 0 0 2px rgba(16,185,129,.2);box-shadow:0 0 0 2px rgba(16,185,129,.2)}.is-offline .dot-indicator[data-v-2a719f78]{background:#94a3b8}.term-id[data-v-2a719f78]{font-family:JetBrains Mono,Consolas,Monaco,monospace;font-weight:600}.term-state[data-v-2a719f78]{font-size:11px}.terminal-unbound-pill[data-v-2a719f78]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:5px;padding:3px 10px;border-radius:9999px;background:#f8fafc;border:1px solid #e2e8f0;color:#94a3b8;font-size:11.5px}.terminal-unbound-dot[data-v-2a719f78]{width:6px;height:6px;border-radius:50%;background:#cbd5e1}.count-badge.primary-badge[data-v-2a719f78]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe;padding:3px 10px;border-radius:9999px;font-size:12px;font-weight:600}.count-badge.primary-badge.clickable-badge[data-v-2a719f78]{cursor:pointer;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1)}.count-badge.primary-badge.clickable-badge[data-v-2a719f78]:hover{background:#2563eb;color:#fff;border-color:#1d4ed8;-webkit-box-shadow:0 2px 6px rgba(37,99,235,.25);box-shadow:0 2px 6px rgba(37,99,235,.25)}.clickable-room[data-v-2a719f78]{cursor:pointer}.clickable-room:hover .room-title-text[data-v-2a719f78]{color:#6366f1}.clickable-room:hover .room-avatar-badge[data-v-2a719f78]{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;-webkit-transform:scale(1.05);transform:scale(1.05)}.invigilator-bound-pill[data-v-2a719f78]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:5px;padding:3px 10px;border-radius:6px;background:#f8fafc;border:1px solid #e2e8f0;color:#1e293b;font-size:12.5px;font-weight:500;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.invigilator-bound-pill[data-v-2a719f78]:hover{background:#eef2ff;border-color:#c7d2fe;color:#4f46e5}.invigilator-unbound-pill[data-v-2a719f78]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;color:#94a3b8;font-size:12px;cursor:pointer;border:1px dashed transparent;-webkit-transition:all .2s;transition:all .2s}.invigilator-unbound-pill[data-v-2a719f78]:hover{color:#4f46e5;border-color:#c7d2fe;background:#f5f3ff}.table-actions-row[data-v-2a719f78]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important;gap:10px!important;white-space:nowrap!important;width:auto!important}.table-actions-row .el-button[data-v-2a719f78],.table-actions-row[data-v-2a719f78]{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.table-actions-row .el-button[data-v-2a719f78]{margin:0!important;padding:0!important;font-size:13px!important;font-weight:500!important;border-radius:0!important;line-height:1.2!important;-webkit-transition:all .15s ease!important;transition:all .15s ease!important;display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important;gap:3px!important;border:none!important;background:transparent!important}.table-actions-row .el-button--text[data-v-2a719f78]{padding-left:0!important;padding-right:0!important}.table-actions-row .op-btn-primary[data-v-2a719f78],.table-actions-row .op-btn-seats[data-v-2a719f78]{color:#409eff!important}.table-actions-row .op-btn-primary[data-v-2a719f78]:hover,.table-actions-row .op-btn-seats[data-v-2a719f78]:hover{color:#66b1ff!important;background:transparent!important;opacity:.85}.table-actions-row .op-btn-delete[data-v-2a719f78]{color:#f56c6c!important}.table-actions-row .op-btn-delete[data-v-2a719f78]:hover{color:#f78989!important;background:transparent!important;opacity:.85}.table-op-btn[data-v-2a719f78]{font-size:12px!important;font-weight:500!important;border-radius:6px!important;padding:5px 10px!important;-webkit-transition:all .2s ease!important;transition:all .2s ease!important}.op-indigo[data-v-2a719f78]{background:#eef2ff!important;color:#4f46e5!important;border:1px solid #c7d2fe!important}.op-indigo[data-v-2a719f78]:hover{background:#6366f1!important;color:#fff!important;border-color:#6366f1!important}.op-default[data-v-2a719f78]{background:#f8fafc!important;color:#475569!important;border:1px solid #e2e8f0!important}.op-default[data-v-2a719f78]:hover{background:#e2e8f0!important;color:#1e293b!important}.dialog-header-custom[data-v-2a719f78]{gap:12px}.dialog-header-custom[data-v-2a719f78],.header-icon-box[data-v-2a719f78]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.header-icon-box[data-v-2a719f78]{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#6366f1,#818cf8);-webkit-box-shadow:0 4px 10px rgba(99,102,241,.3);box-shadow:0 4px 10px rgba(99,102,241,.3);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff;font-size:18px;-ms-flex-negative:0;flex-shrink:0}.header-title[data-v-2a719f78]{font-size:16px;font-weight:700;color:#0f172a;line-height:1.3}.header-sub[data-v-2a719f78]{font-size:10px;font-weight:600;color:#6366f1;letter-spacing:.5px;margin-top:2px}.modern-dialog-form[data-v-2a719f78]{padding:4px}.modern-dialog-form[data-v-2a719f78] .el-form-item__label{font-size:13px!important;font-weight:600!important;color:#334155!important;padding-bottom:4px!important;line-height:1.4!important}.file-name-pill[data-v-2a719f78]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;margin-left:10px;font-size:12px;color:#10b981;font-weight:600;background:#ecfdf5;padding:4px 8px;border-radius:4px;border:1px solid #a7f3d0}.upload-success-strip[data-v-2a719f78]{margin-top:14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:10px 14px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.strip-left[data-v-2a719f78],.upload-success-strip[data-v-2a719f78]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.strip-left[data-v-2a719f78]{gap:8px;-ms-flex-wrap:wrap;flex-wrap:wrap}.strip-check-icon[data-v-2a719f78]{color:#16a34a;font-size:18px}.strip-title[data-v-2a719f78]{font-size:13.5px;color:#1e293b}.strip-title strong[data-v-2a719f78]{color:#0f172a;font-size:14px}.strip-pill[data-v-2a719f78]{font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:9999px}.pill-purple[data-v-2a719f78]{background:#eef2ff;color:#4f46e5;border:1px solid #c7d2fe}.pill-amber[data-v-2a719f78]{background:#fef3c7;color:#d97706;border:1px solid #fde68a}.strip-right .strip-tip[data-v-2a719f78]{font-size:12px;color:#15803d}.batch-upload-notice[data-v-2a719f78]{background:#eff6ff;border:1px solid #bfdbfe;padding:10px 14px;border-radius:8px;margin-bottom:14px;color:#1e40af;font-size:12.5px;line-height:1.5;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px}.batch-upload-notice .notice-icon[data-v-2a719f78]{color:#2563eb;font-size:15px;margin-top:1px;-ms-flex-negative:0;flex-shrink:0}.modern-drop-zone[data-v-2a719f78]{width:100%}.modern-drop-zone[data-v-2a719f78] .el-upload{width:100%!important;display:block!important}.modern-drop-zone[data-v-2a719f78] .el-upload-dragger{width:100%!important;height:auto!important;min-height:160px!important;padding:26px 16px!important;border:2px dashed #cbd5e1!important;border-radius:10px!important;background-color:#f8fafc!important;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important;-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important;-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important;-webkit-box-sizing:border-box!important;box-sizing:border-box!important;-webkit-transition:all .25s ease!important;transition:all .25s ease!important;cursor:pointer!important}.modern-drop-zone[data-v-2a719f78] .el-upload-dragger:hover{border-color:#6366f1!important;background-color:#f5f3ff!important}.modern-drop-zone[data-v-2a719f78] .el-upload-dragger .el-icon-upload{font-size:44px!important;color:#6366f1!important;margin:0!important;line-height:1!important}.drop-zone-inner[data-v-2a719f78]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:100%}.drop-cloud-icon[data-v-2a719f78]{margin-bottom:12px;line-height:1}.drop-text-primary[data-v-2a719f78]{font-size:14.5px;color:#1e293b;font-weight:600;line-height:1.5;margin-bottom:6px}.drop-text-primary em[data-v-2a719f78]{color:#6366f1;font-style:normal;font-weight:700;text-decoration:underline;text-underline-offset:3px}.drop-text-sub[data-v-2a719f78]{font-size:12.5px;color:#64748b;line-height:1.5}.modern-drop-zone.is-compact[data-v-2a719f78] .el-upload-dragger{min-height:72px!important;padding:14px 16px!important}.modern-drop-zone.is-compact .drop-zone-inner[data-v-2a719f78]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;gap:12px}.modern-drop-zone.is-compact .drop-cloud-icon[data-v-2a719f78]{margin-bottom:0}.modern-drop-zone.is-compact[data-v-2a719f78] .el-upload-dragger .el-icon-upload{font-size:26px!important}.modern-drop-zone.is-compact .drop-text-primary[data-v-2a719f78]{margin-bottom:0;font-size:13.5px}.batch-preview-container[data-v-2a719f78]{margin-top:16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.batch-preview-header[data-v-2a719f78]{padding:10px 14px;background:#f8fafc;border-bottom:1px solid #e2e8f0;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:13px;font-weight:600;color:#1e293b}.batch-preview-header .header-left[data-v-2a719f78],.batch-preview-header[data-v-2a719f78]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.batch-preview-header .header-left[data-v-2a719f78]{gap:6px}.batch-summary-strip[data-v-2a719f78]{padding:8px 14px;background:#f8fafc;border-top:1px solid #e2e8f0;text-align:right;font-size:12px;color:#475569}.batch-summary-strip strong[data-v-2a719f78]{color:#6366f1;font-size:13px}[data-v-2a719f78] .exam-seats-dialog{margin-top:12px!important;margin-bottom:12px!important;max-height:calc(100vh - 24px)!important;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}[data-v-2a719f78] .exam-seats-dialog .el-dialog__header{padding:12px 18px 8px 18px!important}[data-v-2a719f78] .exam-seats-dialog .el-dialog__body{padding:6px 18px!important;overflow:hidden!important;-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}[data-v-2a719f78] .exam-seats-dialog .el-dialog__footer{padding:6px 18px 10px 18px!important}.seats-modal-body[data-v-2a719f78]{padding:0}.seats-top-info[data-v-2a719f78]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:14px;padding:6px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:8px}.seats-top-info .info-item[data-v-2a719f78]{font-size:12.5px;color:#64748b}.seats-top-info .label[data-v-2a719f78]{font-weight:500}.seats-top-info .val[data-v-2a719f78]{color:#1e293b}.seats-top-info .val.bold[data-v-2a719f78]{font-weight:700}.seats-top-info .val.highlight[data-v-2a719f78]{color:#6366f1;font-weight:700}.seats-top-info .info-badge[data-v-2a719f78]{margin-left:auto;font-size:11.5px;color:#6366f1;font-weight:500}.podium-blackboard[data-v-2a719f78]{text-align:center;margin-bottom:8px}.podium-line[data-v-2a719f78]{display:inline-block;background:#0f172a;color:#f8fafc;font-size:11.5px;font-weight:600;padding:3px 24px;border-radius:4px;letter-spacing:2px;-webkit-box-shadow:0 2px 6px rgba(15,23,42,.15);box-shadow:0 2px 6px rgba(15,23,42,.15)}.seats-grid-wrapper[data-v-2a719f78]{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;max-height:calc(100vh - 190px);overflow-y:auto;padding:8px;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.seat-box[data-v-2a719f78]{background:#fff;border:1px dashed #cbd5e1;border-radius:5px;padding:4px 2px;text-align:center;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);min-height:46px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.seat-box[data-v-2a719f78]:hover{-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 4px 6px -1px rgba(0,0,0,.05);box-shadow:0 4px 6px -1px rgba(0,0,0,.05)}.seat-box.occupied[data-v-2a719f78]{border:1px solid #c7d2fe;background:#f5f3ff}.seat-num[data-v-2a719f78]{font-size:10px;color:#64748b;margin-bottom:1px;font-weight:600;line-height:1}.seat-box.occupied .seat-num[data-v-2a719f78]{color:#6366f1}.stu-name[data-v-2a719f78]{font-size:12.5px;font-weight:700;color:#0f172a;line-height:1.2}.stu-class[data-v-2a719f78]{font-size:10px;color:#64748b;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1}.empty-seat[data-v-2a719f78]{color:#cbd5e1;font-size:11px;line-height:1.2}.dialog-footer-custom[data-v-2a719f78]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:10px;padding-top:8px;border-top:1px solid #f1f5f9}