*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5}.layout{display:flex;min-height:100vh}.sidebar{width:200px;background:#1a1a2e;color:#fff;padding:20px;flex-shrink:0;display:flex;flex-direction:column}.logo{font-size:18px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #333}nav{flex:1}.nav-link{display:block;padding:12px 16px;color:#b8c5d6;text-decoration:none;border-radius:6px;margin-bottom:4px;transition:all .2s}.nav-link:hover,.nav-link.active{background:#16213e;color:#fff}.sidebar-footer{padding-top:16px;border-top:1px solid #333}.logout-btn{width:100%;padding:10px;background:transparent;border:1px solid #c0392b;color:#c0392b;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.logout-btn:hover{background:#c0392b;color:#fff}.main{flex:1;padding:24px;overflow:auto}.login-page[data-v-8ddc57a0]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#1a1a2e}.login-box[data-v-8ddc57a0]{width:360px;padding:40px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d}h1[data-v-8ddc57a0]{text-align:center;margin-bottom:28px;color:#1a1a2e;font-size:22px}.form-group[data-v-8ddc57a0]{margin-bottom:20px}label[data-v-8ddc57a0]{display:block;margin-bottom:8px;font-size:14px;color:#555}.input[data-v-8ddc57a0]{width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.input[data-v-8ddc57a0]:focus{outline:none;border-color:#3498db}.btn[data-v-8ddc57a0]{width:100%;padding:12px;border:none;border-radius:6px;background:#3498db;color:#fff;font-size:15px;cursor:pointer}.btn[data-v-8ddc57a0]:disabled{opacity:.6;cursor:not-allowed}.error-msg[data-v-8ddc57a0]{color:#dc2626;font-size:13px;margin-bottom:16px;text-align:center}.page-title[data-v-4290a2d8]{font-size:20px;margin-bottom:20px;color:#1a1a2e}.loading[data-v-4290a2d8],.error[data-v-4290a2d8]{padding:40px;text-align:center;color:#666}.error[data-v-4290a2d8]{color:#dc2626}.data-table[data-v-4290a2d8]{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.data-table th[data-v-4290a2d8],.data-table td[data-v-4290a2d8]{padding:12px 16px;text-align:left;border-bottom:1px solid #eee}.data-table th[data-v-4290a2d8]{background:#f8f9fa;font-weight:600;color:#333;font-size:13px}.data-table tbody tr[data-v-4290a2d8]:hover{background:#f8f9fa}.mono[data-v-4290a2d8]{font-family:SF Mono,Monaco,monospace;font-size:12px;color:#666}.actions[data-v-4290a2d8]{white-space:nowrap}.actions .btn[data-v-4290a2d8]{margin-right:8px}.btn[data-v-4290a2d8]{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.btn[data-v-4290a2d8]:hover:not(:disabled){background:#f5f5f5}.btn[data-v-4290a2d8]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-4290a2d8]{background:#1a1a2e;color:#fff;border-color:#1a1a2e}.btn-primary[data-v-4290a2d8]:hover:not(:disabled){background:#16213e}.btn-danger[data-v-4290a2d8]{color:#dc2626;border-color:#dc2626}.btn-danger[data-v-4290a2d8]:hover:not(:disabled){background:#fef2f2}.btn-sm[data-v-4290a2d8]{padding:4px 10px;font-size:12px}.pagination[data-v-4290a2d8]{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.page-info[data-v-4290a2d8]{font-size:13px;color:#666}.modal-overlay[data-v-4290a2d8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-4290a2d8]{background:#fff;border-radius:12px;padding:24px;width:400px;max-width:90vw;box-shadow:0 20px 60px #0003}.modal h3[data-v-4290a2d8]{margin-bottom:8px;font-size:18px}.modal-user[data-v-4290a2d8]{color:#666;font-size:13px;margin-bottom:16px}.form-group[data-v-4290a2d8]{margin-bottom:20px}.form-group label[data-v-4290a2d8]{display:block;font-size:13px;color:#333;margin-bottom:6px}.input[data-v-4290a2d8]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;outline:none}.input[data-v-4290a2d8]:focus{border-color:#1a1a2e}.modal-actions[data-v-4290a2d8]{display:flex;justify-content:flex-end;gap:10px}.page-title[data-v-e52a5f3b]{font-size:20px;margin-bottom:20px;color:#1a1a2e}.loading[data-v-e52a5f3b],.error[data-v-e52a5f3b]{padding:40px;text-align:center;color:#666}.error[data-v-e52a5f3b]{color:#dc2626}.data-table[data-v-e52a5f3b]{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.data-table th[data-v-e52a5f3b],.data-table td[data-v-e52a5f3b]{padding:12px 16px;text-align:left;border-bottom:1px solid #eee}.data-table th[data-v-e52a5f3b]{background:#f8f9fa;font-weight:600;color:#333;font-size:13px}.data-table tbody tr[data-v-e52a5f3b]:hover{background:#f8f9fa}.mono[data-v-e52a5f3b]{font-family:SF Mono,Monaco,monospace;font-size:12px;color:#666}.actions[data-v-e52a5f3b]{white-space:nowrap}.actions .btn[data-v-e52a5f3b]{margin-right:8px}.btn[data-v-e52a5f3b]{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.btn[data-v-e52a5f3b]:hover:not(:disabled){background:#f5f5f5}.btn[data-v-e52a5f3b]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-e52a5f3b]{background:#1a1a2e;color:#fff;border-color:#1a1a2e}.btn-primary[data-v-e52a5f3b]:hover:not(:disabled){background:#16213e}.btn-sm[data-v-e52a5f3b]{padding:4px 10px;font-size:12px}.pagination[data-v-e52a5f3b]{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.page-info[data-v-e52a5f3b]{font-size:13px;color:#666}.modal-overlay[data-v-e52a5f3b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-e52a5f3b]{background:#fff;border-radius:12px;padding:24px;width:400px;max-width:90vw;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal-lg[data-v-e52a5f3b]{width:640px}.modal h3[data-v-e52a5f3b]{margin-bottom:16px;font-size:18px}.modal-loading[data-v-e52a5f3b],.modal-error[data-v-e52a5f3b]{padding:24px;text-align:center;color:#666}.modal-error[data-v-e52a5f3b]{color:#dc2626}.detail-section[data-v-e52a5f3b]{margin-bottom:24px}.detail-section h4[data-v-e52a5f3b]{font-size:14px;font-weight:600;color:#333;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #eee}.detail-grid[data-v-e52a5f3b]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-item[data-v-e52a5f3b]{display:flex;flex-direction:column;gap:4px}.detail-label[data-v-e52a5f3b]{font-size:12px;color:#888}.detail-value[data-v-e52a5f3b]{font-size:14px;color:#333}.detail-degraded[data-v-e52a5f3b]{color:#dc2626}.question-list[data-v-e52a5f3b]{display:flex;flex-direction:column;gap:12px}.question-item[data-v-e52a5f3b]{border:1px solid #eee;border-radius:8px;padding:12px 16px}.question-header[data-v-e52a5f3b]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.question-order[data-v-e52a5f3b]{font-family:SF Mono,Monaco,monospace;font-size:12px;color:#666;font-weight:600}.badge[data-v-e52a5f3b]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.badge-category[data-v-e52a5f3b]{background:#e8f4fd;color:#2980b9}.badge-difficulty[data-v-e52a5f3b]{background:#fef3e2;color:#d4a017}.question-stem[data-v-e52a5f3b]{font-size:14px;color:#333;line-height:1.5}.modal-actions[data-v-e52a5f3b]{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #eee}.page-title[data-v-e6ab5eba]{font-size:20px;margin-bottom:20px;color:#1a1a2e}.filter-bar[data-v-e6ab5eba]{margin-bottom:16px;display:flex;align-items:center;gap:8px}.filter-bar label[data-v-e6ab5eba]{font-size:14px;color:#333}.select[data-v-e6ab5eba]{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff;outline:none;cursor:pointer}.select[data-v-e6ab5eba]:focus{border-color:#1a1a2e}.loading[data-v-e6ab5eba],.error[data-v-e6ab5eba]{padding:40px;text-align:center;color:#666}.error[data-v-e6ab5eba]{color:#dc2626}.data-table[data-v-e6ab5eba]{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.data-table th[data-v-e6ab5eba],.data-table td[data-v-e6ab5eba]{padding:12px 16px;text-align:left;border-bottom:1px solid #eee}.data-table th[data-v-e6ab5eba]{background:#f8f9fa;font-weight:600;color:#333;font-size:13px}.data-table tbody tr[data-v-e6ab5eba]:hover{background:#f8f9fa}.mono[data-v-e6ab5eba]{font-family:SF Mono,Monaco,monospace;font-size:12px;color:#666}.ellipsis[data-v-e6ab5eba]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge[data-v-e6ab5eba]{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.badge.queued[data-v-e6ab5eba]{background:#e8f4fd;color:#2980b9}.badge.running[data-v-e6ab5eba]{background:#fef3e2;color:#d4a017}.badge.succeeded[data-v-e6ab5eba]{background:#e8f8e8;color:#27ae60}.badge.failed[data-v-e6ab5eba]{background:#fde8e8;color:#c0392b}.actions[data-v-e6ab5eba]{white-space:nowrap}.actions .btn[data-v-e6ab5eba]{margin-right:8px}.btn[data-v-e6ab5eba]{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.btn[data-v-e6ab5eba]:hover:not(:disabled){background:#f5f5f5}.btn[data-v-e6ab5eba]:disabled{opacity:.5;cursor:not-allowed}.btn-sm[data-v-e6ab5eba]{padding:4px 10px;font-size:12px}.pagination[data-v-e6ab5eba]{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.page-info[data-v-e6ab5eba]{font-size:13px;color:#666}.modal-overlay[data-v-e6ab5eba]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal[data-v-e6ab5eba]{background:#fff;border-radius:12px;padding:24px;width:400px;max-width:90vw;box-shadow:0 20px 60px #0003}.modal-wide[data-v-e6ab5eba]{width:900px;max-width:95vw;max-height:90vh;overflow-y:auto}.modal h3[data-v-e6ab5eba]{margin-bottom:16px;font-size:18px}.modal h4[data-v-e6ab5eba]{margin-bottom:10px;font-size:14px;color:#333}.detail-content[data-v-e6ab5eba]{margin-bottom:20px}.detail-grid[data-v-e6ab5eba]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.detail-item[data-v-e6ab5eba]{display:flex;flex-direction:column;gap:4px}.detail-label[data-v-e6ab5eba]{font-size:12px;color:#888}.detail-value[data-v-e6ab5eba]{font-size:13px;color:#333;word-break:break-all}.detail-section[data-v-e6ab5eba]{margin-bottom:20px}.jd-text[data-v-e6ab5eba]{background:#f8f9fa;border:1px solid #eee;border-radius:6px;padding:12px;font-size:13px;line-height:1.6;max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;margin:0}.error-section[data-v-e6ab5eba]{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:12px}.error-section h4[data-v-e6ab5eba]{color:#dc2626}.error-text[data-v-e6ab5eba]{color:#dc2626;font-size:13px;line-height:1.6;margin:0}.step-table[data-v-e6ab5eba]{font-size:13px}.step-table th[data-v-e6ab5eba],.step-table td[data-v-e6ab5eba]{padding:8px 12px}.empty-cell[data-v-e6ab5eba]{text-align:center;color:#999;padding:20px}.modal-actions[data-v-e6ab5eba]{display:flex;justify-content:flex-end;gap:10px}
