:root{--primary:#2b5876;--primary-gradient:linear-gradient(135deg, #2b5876, #4e4376)}*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background:#f5f6fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app-layout{height:100vh;display:flex;overflow:hidden}.sidebar{color:#fff;background:linear-gradient(#2b5876,#4e4376);flex-direction:column;flex-shrink:0;width:220px;height:100vh;display:flex}.sidebar-logo{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #ffffff1a;padding:24px 20px;font-size:18px;font-weight:700}.sidebar-nav{flex:1;padding:12px 0}.nav-item{color:#ffffffb3;padding:12px 24px;font-size:14px;text-decoration:none;transition:all .15s;display:block}.nav-item:hover,.nav-item.router-link-active{color:#fff;background:#ffffff1f;box-shadow:inset 3px 0 #fffc}.sidebar-footer{border-top:1px solid #ffffff1a;padding:16px 20px}.btn-logout{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:6px;width:100%;padding:8px;font-size:13px}.btn-logout:hover{background:#ffffff1a}.main-content{scrollbar-width:thin;flex:1;padding:32px;overflow-y:auto}.main-content::-webkit-scrollbar{width:4px}.main-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.main-content.full{padding:0}.btn{cursor:pointer}.btn:hover{opacity:.85}.toast-global{color:#fff;z-index:10000;border-radius:8px;padding:12px 28px;font-size:14px;font-weight:600;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0003}.toast-global.success{background:#27ae60}.toast-global.error{background:#e74c3c}.toast-fade-enter-active{transition:all .25s ease-out}.toast-fade-leave-active{transition:all .2s ease-in}.toast-fade-enter-from{opacity:0;transform:translate(-50%)translateY(-12px)}.toast-fade-leave-to{opacity:0;transform:translate(-50%)translateY(-8px)}.login-page[data-v-9d3235f1]{background:linear-gradient(135deg, var(--primary) 0%, #4e4376 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card[data-v-9d3235f1]{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:48px 40px;box-shadow:0 20px 60px #0000004d}h1[data-v-9d3235f1]{text-align:center;color:var(--primary);margin:0 0 32px;font-size:24px}.form-group[data-v-9d3235f1]{margin-bottom:20px}.form-group label[data-v-9d3235f1]{color:#555;margin-bottom:6px;font-size:14px;font-weight:600;display:block}.form-group input[data-v-9d3235f1]{border:1px solid #ddd;border-radius:8px;outline:none;width:100%;padding:12px 16px;font-size:15px;transition:border-color .2s}.form-group input[data-v-9d3235f1]:focus{border-color:var(--primary)}.error[data-v-9d3235f1]{color:#e74c3c;margin-bottom:12px;font-size:13px}.btn-login[data-v-9d3235f1]{background:var(--primary-gradient);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:14px;font-size:16px;font-weight:600;transition:opacity .2s}.btn-login[data-v-9d3235f1]:disabled{opacity:.6;cursor:not-allowed}.welcome[data-v-2d35f916]{padding:0}.welcome-header[data-v-2d35f916]{margin-bottom:40px}h2[data-v-2d35f916]{color:#1a1a2e;margin:0 0 8px;font-size:26px}.welcome-sub[data-v-2d35f916]{color:#888;margin:0;font-size:15px}.quick-actions[data-v-2d35f916]{gap:20px;margin-bottom:40px;display:flex}.action-card[data-v-2d35f916]{background:#fff;border:1px solid #f0f0f0;border-radius:12px;width:280px;padding:32px 28px;text-decoration:none;transition:all .2s;box-shadow:0 2px 8px #0000000f}.action-card[data-v-2d35f916]:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.action-icon[data-v-2d35f916]{margin-bottom:12px;font-size:36px}.action-title[data-v-2d35f916]{color:#1a1a2e;margin-bottom:6px;font-size:18px;font-weight:700}.action-desc[data-v-2d35f916]{color:#888;font-size:13px}.modal-overlay[data-v-2d35f916]{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-2d35f916]{background:#fff;border-radius:12px;width:480px;padding:24px;box-shadow:0 8px 30px #00000026}.modal h3[data-v-2d35f916]{margin:0 0 16px;font-size:16px}.modal-body[data-v-2d35f916]{margin-bottom:20px}.modal-body .form-group[data-v-2d35f916]{margin-bottom:12px}.modal-body label[data-v-2d35f916]{color:#666;margin-bottom:4px;font-size:13px;font-weight:600;display:block}.modal-body input[data-v-2d35f916]{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:10px 14px;font-size:14px}.modal-body input[data-v-2d35f916]:focus{border-color:var(--primary)}.modal-body select[data-v-2d35f916]{box-sizing:border-box;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E") right 10px center no-repeat;border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:10px 36px 10px 14px;font-size:14px}.modal-body select[data-v-2d35f916]:focus{border-color:var(--primary)}.modal-footer[data-v-2d35f916]{justify-content:flex-end;gap:8px;display:flex}.link-result[data-v-2d35f916]{margin-top:12px}.link-box[data-v-2d35f916]{word-break:break-all;cursor:pointer;color:var(--primary);background:#f5f6fa;border:1px solid #e0e0e0;border-radius:6px;max-height:60px;padding:10px 14px;font-size:12px;overflow-y:auto}.btn[data-v-2d35f916]{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px}.btn-primary[data-v-2d35f916]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-2d35f916]{padding:8px 16px;font-size:13px}.btn[data-v-2d35f916]:disabled{opacity:.6;cursor:not-allowed}.confirm-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-card{text-align:center;background:#fff;border-radius:14px;max-width:360px;padding:32px 38px;box-shadow:0 20px 60px #0003}.confirm-text{color:#333;margin:0 0 24px;font-size:16px;line-height:1.5}.confirm-buttons{justify-content:center;gap:12px;display:flex}.confirm-buttons button{cursor:pointer;border:none;border-radius:8px;padding:10px 28px;font-size:14px;font-weight:600}.btn-cancel{color:#666;background:#f0f0f0}.btn-cancel:hover{background:#e0e0e0}.btn-confirm{color:#fff;background:#e74c3c}.btn-confirm:hover{background:#c0392b}.bank-list[data-v-099be6dc]{padding:0}.page-header[data-v-099be6dc]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}h2[data-v-099be6dc]{color:#333;margin:0;font-size:20px}.create-form[data-v-099be6dc]{background:#fff;border-radius:8px;gap:12px;margin-bottom:20px;padding:20px;display:flex}.create-form input[data-v-099be6dc]{border:1px solid #ddd;border-radius:6px;outline:none;flex:1;padding:10px 14px;font-size:14px}.table[data-v-099be6dc]{background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 4px #0000000f}.table th[data-v-099be6dc],.table td[data-v-099be6dc]{text-align:left;border-bottom:1px solid #eee;padding:14px 16px;font-size:14px}.table th[data-v-099be6dc]{color:#555;background:#f9f9f9;font-weight:600}.table a[data-v-099be6dc]{color:var(--primary);text-decoration:none}.table a[data-v-099be6dc]:hover{text-decoration:underline}.btn[data-v-099be6dc]{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px}.btn-primary[data-v-099be6dc]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-099be6dc]{padding:10px 16px;font-size:14px}.btn-danger[data-v-099be6dc]{color:#e74c3c;border-color:#e74c3c}.loading[data-v-099be6dc]{text-align:center;color:#888;padding:40px}.bank-detail[data-v-f6a9e9e8]{padding:0}.page-header[data-v-f6a9e9e8]{margin-bottom:20px}.back-link[data-v-f6a9e9e8]{color:var(--primary);margin-bottom:8px;font-size:13px;text-decoration:none;display:block}h2[data-v-f6a9e9e8]{color:#333;margin:0 0 4px;font-size:20px;display:inline-block}.page-header[data-v-f6a9e9e8]{align-items:center;gap:16px;display:flex}.header-actions[data-v-f6a9e9e8]{gap:10px;margin-left:auto;display:flex}.filters[data-v-f6a9e9e8]{gap:12px;margin-bottom:20px;display:flex}.filters select[data-v-f6a9e9e8]{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E") right 10px center no-repeat;border:1px solid #ddd;border-radius:6px;outline:none;padding:8px 32px 8px 14px;font-size:14px}.form-grid[data-v-f6a9e9e8]{gap:12px;margin-bottom:12px;display:flex}.form-grid select[data-v-f6a9e9e8]{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E") right 10px center no-repeat;border:1px solid #ddd;border-radius:6px;outline:none;flex:1;padding:10px 36px 10px 14px;font-size:14px}.form-actions[data-v-f6a9e9e8]{gap:12px;display:flex}.table[data-v-f6a9e9e8]{background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 4px #0000000f}.table th[data-v-f6a9e9e8],.table td[data-v-f6a9e9e8]{text-align:left;border-bottom:1px solid #eee;padding:12px 16px;font-size:14px}.table th[data-v-f6a9e9e8]{color:#555;background:#f9f9f9;font-weight:600}.text-cell[data-v-f6a9e9e8]{text-overflow:ellipsis;white-space:nowrap;max-width:300px;overflow:hidden}.actions-cell[data-v-f6a9e9e8]{white-space:nowrap;gap:8px;display:flex}.badge[data-v-f6a9e9e8]{border-radius:4px;padding:2px 10px;font-size:12px;font-weight:600}.badge.single[data-v-f6a9e9e8]{color:#4a90d9;background:#e8f0fe}.badge.multiple[data-v-f6a9e9e8]{color:#e67e22;background:#fef3e2}.badge.boolean[data-v-f6a9e9e8]{color:#16a085;background:#e8f8f5}.badge.essay[data-v-f6a9e9e8]{color:#8e44ad;background:#f4ecf7}.badge.diff-easy[data-v-f6a9e9e8]{color:#27ae60;background:#e8f8f5}.badge.diff-medium[data-v-f6a9e9e8]{color:#e67e22;background:#fef3e2}.badge.diff-hard[data-v-f6a9e9e8]{color:#e74c3c;background:#fdecea}.btn[data-v-f6a9e9e8]{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px}.btn-primary[data-v-f6a9e9e8]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-f6a9e9e8]{padding:6px 14px;font-size:13px}.btn-danger[data-v-f6a9e9e8]{color:#e74c3c;border-color:#e74c3c}.loading[data-v-f6a9e9e8]{text-align:center;color:#888;padding:40px}.pagination[data-v-f6a9e9e8]{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.page-info[data-v-f6a9e9e8]{color:#666;font-size:14px}.jump-to[data-v-f6a9e9e8]{color:#666;align-items:center;gap:6px;font-size:13px;display:flex}.jump-to input[data-v-f6a9e9e8]{text-align:center;border:1px solid #ddd;border-radius:4px;outline:none;width:56px;padding:5px 8px;font-size:13px}.modal-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;padding:32px;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal-card h3{color:#333;margin:0 0 20px;font-size:18px}.modal-card textarea,.modal-card input,.modal-card select{border:1px solid #ddd;border-radius:6px;outline:none;width:100%;margin-bottom:12px;padding:10px 14px;font-family:inherit;font-size:14px}.exam-list[data-v-35a5e48a]{padding:0}.page-header[data-v-35a5e48a]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}h2[data-v-35a5e48a]{color:#333;margin:0;font-size:20px}.table[data-v-35a5e48a]{background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 4px #0000000f}.table th[data-v-35a5e48a],.table td[data-v-35a5e48a]{text-align:left;border-bottom:1px solid #eee;padding:14px 16px;font-size:14px}.table th[data-v-35a5e48a]{color:#555;background:#f9f9f9;font-weight:600}.status[data-v-35a5e48a]{border-radius:4px;padding:2px 10px;font-size:12px;font-weight:600}.status.published[data-v-35a5e48a]{color:#155724;background:#d4edda}.status.draft[data-v-35a5e48a]{color:#856404;background:#fef3e2}.name-cell[data-v-35a5e48a]{word-break:break-all;max-width:160px;display:block}.time-cell[data-v-35a5e48a]{white-space:nowrap;font-size:12px;line-height:1.6}.time-sep[data-v-35a5e48a]{color:#999;font-size:11px}.actions-cell[data-v-35a5e48a]{vertical-align:middle}.actions-wrap[data-v-35a5e48a]{align-items:center;gap:8px;display:flex}.btn[data-v-35a5e48a]{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px;text-decoration:none;display:inline-block}.btn-primary[data-v-35a5e48a]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-35a5e48a]{padding:6px 14px;font-size:13px}.empty[data-v-35a5e48a]{text-align:center;color:#888;padding:40px 0}.pagination[data-v-35a5e48a]{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.page-info[data-v-35a5e48a]{color:#666;font-size:14px}.jump-to[data-v-35a5e48a]{color:#666;align-items:center;gap:6px;font-size:13px;display:flex}.jump-to input[data-v-35a5e48a]{text-align:center;border:1px solid #ddd;border-radius:4px;outline:none;width:56px;padding:5px 8px;font-size:13px}.exam-create[data-v-bca973ef]{padding:0}.page-header[data-v-bca973ef]{margin-bottom:20px}.back-link[data-v-bca973ef]{color:var(--primary);margin-bottom:8px;font-size:13px;text-decoration:none;display:block}h2[data-v-bca973ef]{color:#333;margin:0;font-size:20px}.form-card[data-v-bca973ef]{background:#fff;border-radius:8px;padding:32px;box-shadow:0 1px 4px #0000000f}.form-row[data-v-bca973ef]{gap:20px;display:flex}.form-group[data-v-bca973ef]{flex:1;margin-bottom:20px}.form-group>label[data-v-bca973ef]{color:#555;margin-bottom:6px;font-size:14px;font-weight:600;display:block}.required[data-v-bca973ef]{color:#e74c3c}.form-group input[data-v-bca973ef],.form-group select[data-v-bca973ef]{border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:10px 14px;font-size:14px}.mode-select[data-v-bca973ef]{flex-wrap:nowrap;gap:20px;display:flex}.radio-label[data-v-bca973ef]{cursor:pointer;color:#555;white-space:nowrap;align-items:center;gap:6px;font-size:14px;display:flex}.radio-label input[data-v-bca973ef]{accent-color:var(--primary)}.checkbox-label[data-v-bca973ef]{cursor:pointer;color:#555;align-items:center;gap:8px;font-size:14px;display:flex}.checkbox-label input[data-v-bca973ef]{accent-color:var(--primary);width:16px;height:16px}.config-section[data-v-bca973ef]{border:1px solid #eee;border-radius:8px;margin-bottom:24px;padding:20px}.config-section h4[data-v-bca973ef]{color:#333;margin:0 0 16px;font-size:15px}.config-row[data-v-bca973ef]{align-items:flex-end;gap:12px;display:flex}.config-list[data-v-bca973ef]{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.config-tag[data-v-bca973ef]{color:var(--primary);background:#e8f0fe;border-radius:4px;padding:4px 12px;font-size:13px}.config-tag .remove[data-v-bca973ef]{cursor:pointer;margin-left:8px;font-weight:700}.config-score[data-v-bca973ef]{color:#555;margin-top:12px;font-size:14px}.config-score strong[data-v-bca973ef]{color:var(--primary);font-size:16px}.available-hint[data-v-bca973ef]{color:#27ae60;white-space:nowrap;margin-left:4px;font-size:11px}.error-msg[data-v-bca973ef]{color:#e74c3c;margin-top:6px;font-size:13px}.fixed-list[data-v-bca973ef]{max-height:400px;overflow-y:auto}.fixed-item[data-v-bca973ef]{cursor:pointer;border-bottom:1px solid #f0f0f0;align-items:flex-start;gap:8px;padding:8px 0;font-size:14px;display:flex}.fixed-item input[data-v-bca973ef]{flex-shrink:0;margin-top:2px}.q-score[data-v-bca973ef]{color:#8e44ad;flex-shrink:0;margin-left:auto;font-size:12px}.badge[data-v-bca973ef]{border-radius:4px;flex-shrink:0;padding:1px 8px;font-size:11px;font-weight:600}.badge.single[data-v-bca973ef]{color:#4a90d9;background:#e8f0fe}.badge.multiple[data-v-bca973ef]{color:#e67e22;background:#fef3e2}.badge.boolean[data-v-bca973ef]{color:#16a085;background:#e8f8f5}.badge.essay[data-v-bca973ef]{color:#8e44ad;background:#f4ecf7}.badge.diff-easy[data-v-bca973ef]{color:#27ae60;background:#e8f8f5}.badge.diff-medium[data-v-bca973ef]{color:#e67e22;background:#fef3e2}.badge.diff-hard[data-v-bca973ef]{color:#e74c3c;background:#fdecea}.btn[data-v-bca973ef]{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px}.btn-primary[data-v-bca973ef]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-bca973ef]{padding:8px 16px;font-size:13px}.btn-lg[data-v-bca973ef]{width:100%;margin-top:12px;padding:14px 28px;font-size:16px}.btn[data-v-bca973ef]:disabled{opacity:.6;cursor:not-allowed}.btn-danger[data-v-bca973ef]{color:#e74c3c;background:0 0;border-color:#e74c3c}.btn-danger[data-v-bca973ef]:hover{background:#fdecea}.confirm-text[data-v-bca973ef]{color:#555;margin:0 0 20px;font-size:15px;line-height:1.6}.key-input-row[data-v-bca973ef]{gap:8px;display:flex}.key-input-row input[data-v-bca973ef]{flex:1}.key-helper[data-v-bca973ef]{white-space:nowrap;background:#f0f0f0;border:1px solid #ddd;flex-shrink:0}.modal-overlay[data-v-bca973ef]{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-bca973ef]{background:#fff;border-radius:12px;width:360px;padding:24px;box-shadow:0 8px 30px #00000026}.modal h3[data-v-bca973ef]{margin:0 0 16px;font-size:16px}.modal-body[data-v-bca973ef]{margin-bottom:20px}.modal-body .form-group[data-v-bca973ef]{margin-bottom:12px}.modal-body .form-group[data-v-bca973ef]:last-child{margin-bottom:0}.modal-body label[data-v-bca973ef]{color:#666;margin-bottom:4px;font-size:13px;font-weight:600;display:block}.modal-body input[data-v-bca973ef]{border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:10px 14px;font-size:14px}.modal-body select[data-v-bca973ef]{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E") right 10px center no-repeat;border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:10px 36px 10px 14px;font-size:14px}.modal-footer[data-v-bca973ef]{justify-content:flex-end;gap:8px;display:flex}.rec-overlay[data-v-8ab4397a]{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rec-modal[data-v-8ab4397a]{background:#fff;border-radius:10px;width:720px;max-width:92vw;overflow:hidden;box-shadow:0 20px 60px #0000004d}.rec-header[data-v-8ab4397a]{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.rec-header h3[data-v-8ab4397a]{color:#333;margin:0;font-size:16px}.rec-close[data-v-8ab4397a]{cursor:pointer;color:#999;background:0 0;border:none;font-size:24px;line-height:1}.rec-body[data-v-8ab4397a]{background:#111;justify-content:center;align-items:center;min-height:360px;padding:16px;display:flex}.rec-video[data-v-8ab4397a]{background:#000;border-radius:6px;width:100%;max-height:70vh}.rec-tip[data-v-8ab4397a]{color:#ccc;padding:60px 0;font-size:15px}.share-overlay[data-v-b775df6e]{z-index:1100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.share-modal[data-v-b775df6e]{background:#fff;border-radius:12px;width:440px;max-width:92vw;padding:28px;box-shadow:0 8px 30px #00000026}.share-modal h3[data-v-b775df6e]{color:#333;margin:0 0 16px;font-size:17px}.share-tip[data-v-b775df6e]{text-align:center;color:#888;padding:20px 0}.share-tip.err[data-v-b775df6e]{color:#e74c3c}.share-desc[data-v-b775df6e]{color:#555;margin:0 0 10px;font-size:14px}.share-url-box[data-v-b775df6e]{word-break:break-all;cursor:pointer;color:var(--primary);background:#f5f6fa;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:10px;padding:10px 14px;font-size:13px;position:relative}.share-copy-hint[data-v-b775df6e]{color:#888;margin-top:4px;font-size:11px;display:block}.share-note[data-v-b775df6e]{color:#999;margin:0;font-size:12px}.share-actions[data-v-b775df6e]{justify-content:flex-end;margin-top:18px;display:flex}.btn[data-v-b775df6e]{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;padding:8px 18px;font-size:13px}.btn-sm[data-v-b775df6e]{padding:6px 16px;font-size:13px}.exam-sessions[data-v-c70090ec]{padding:0}.page-header[data-v-c70090ec]{margin-bottom:20px}.back-link[data-v-c70090ec]{color:var(--primary);margin-bottom:8px;font-size:13px;text-decoration:none;display:block}h2[data-v-c70090ec]{color:#333;margin:0;font-size:20px}.toolbar[data-v-c70090ec]{align-items:center;gap:10px;margin-bottom:16px;display:flex}.search-input[data-v-c70090ec]{border:1px solid #ddd;border-radius:6px;outline:none;width:240px;padding:8px 14px;font-size:14px}.search-input[data-v-c70090ec]:focus{border-color:var(--primary)}.btn-primary[data-v-c70090ec]{background:var(--primary-gradient);color:#fff;border-color:#0000}.table[data-v-c70090ec]{background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 4px #0000000f}.table th[data-v-c70090ec],.table td[data-v-c70090ec]{text-align:left;border-bottom:1px solid #eee;padding:14px 16px;font-size:14px}.table th[data-v-c70090ec]{color:#555;background:#f9f9f9;font-weight:600}.status[data-v-c70090ec]{border-radius:4px;padding:2px 10px;font-size:12px;font-weight:600}.status.submitted[data-v-c70090ec]{color:#155724;background:#d4edda}.status.in_progress[data-v-c70090ec]{color:#856404;background:#fef3e2}.btn[data-v-c70090ec]{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px;text-decoration:none;display:inline-block}.btn-sm[data-v-c70090ec]{align-items:center;gap:4px;padding:6px 14px;font-size:13px;display:inline-flex}.btn-reset[data-v-c70090ec]{color:#e74c3c;background:0 0;border-color:#e74c3c;margin-left:8px}.action-cell[data-v-c70090ec]{align-items:center;gap:10px;display:flex}.btn-rec[data-v-c70090ec]{color:#555;cursor:pointer;background:#f5f6fa;border:1px solid #ddd;border-radius:5px;justify-content:center;align-items:center;padding:5px;line-height:0;transition:all .15s;display:inline-flex}.btn-rec[data-v-c70090ec]:hover{background:#e8e8e8;border-color:#bbb}.rec-indicator[data-v-c70090ec]{color:#888;align-items:center;line-height:0;display:inline-flex}.btn[data-v-c70090ec]:disabled{opacity:.5;cursor:not-allowed}.empty-cell[data-v-c70090ec]{text-align:center;color:#888;padding:32px}.pagination[data-v-c70090ec]{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.page-info[data-v-c70090ec]{color:#666;font-size:14px}.jump-to[data-v-c70090ec]{color:#666;align-items:center;gap:6px;font-size:13px;display:flex}.jump-to input[data-v-c70090ec]{text-align:center;border:1px solid #ddd;border-radius:4px;outline:none;width:56px;padding:5px 8px;font-size:13px}.grading[data-v-8329a3f9]{padding:0}.page-header[data-v-8329a3f9]{margin-bottom:20px}.back-link[data-v-8329a3f9]{color:var(--primary);margin-bottom:8px;font-size:13px;text-decoration:none;display:block}h2[data-v-8329a3f9]{color:#333;margin:0;font-size:20px}.score-bar[data-v-8329a3f9]{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px;display:grid}.score-item[data-v-8329a3f9]{text-align:center;background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 4px #0000000f}.score-label[data-v-8329a3f9]{color:#888;margin-bottom:6px;font-size:12px;display:block}.score-value[data-v-8329a3f9]{font-size:24px;font-weight:700}.score-value.max[data-v-8329a3f9]{color:#333}.score-value.auto[data-v-8329a3f9]{color:#4a90d9}.score-value.actual[data-v-8329a3f9]{color:#27ae60}.score-value.final[data-v-8329a3f9]{color:#e67e22}.questions[data-v-8329a3f9]{flex-direction:column;gap:16px;display:flex}.q-card[data-v-8329a3f9]{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 4px #0000000f}.q-header[data-v-8329a3f9]{align-items:center;gap:10px;margin-bottom:10px;display:flex}.q-num[data-v-8329a3f9]{background:#f0f0f0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.q-text[data-v-8329a3f9]{margin-bottom:14px;font-size:16px;line-height:1.6}.q-options[data-v-8329a3f9]{flex-direction:column;gap:8px;display:flex}.opt[data-v-8329a3f9]{border:1px solid #eee;border-radius:6px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;display:flex}.opt-indicator[data-v-8329a3f9]{text-align:center;color:#ccc;flex-shrink:0;width:20px;font-size:14px;font-weight:700}.opt.selected.correct[data-v-8329a3f9]{background:#d4edda;border-color:#27ae60}.opt.selected[data-v-8329a3f9]:not(.correct){background:#fdecea;border-color:#e74c3c}.opt:not(.selected).correct[data-v-8329a3f9]{border-color:#c8e6c9}.opt .opt-indicator[data-v-8329a3f9]{color:#ccc}.opt.selected.correct .opt-indicator[data-v-8329a3f9]{color:#27ae60}.opt.selected:not(.correct) .opt-indicator[data-v-8329a3f9]{color:#e74c3c}.opt:not(.selected).correct .opt-indicator[data-v-8329a3f9]{color:#27ae60}.answer-info[data-v-8329a3f9]{align-items:center;gap:16px;margin-top:10px;font-size:13px;display:flex}.correct-answer[data-v-8329a3f9]{color:#27ae60;font-weight:600}.student-answer-text[data-v-8329a3f9]{color:#4a90d9}.no-answer[data-v-8329a3f9]{color:#e74c3c;font-weight:600}.essay-area[data-v-8329a3f9]{margin-top:12px}.student-answer[data-v-8329a3f9]{background:#f9f9f9;border-radius:6px;margin-bottom:12px;padding:12px}.student-answer p[data-v-8329a3f9]{color:#555;margin:4px 0 0}.essay-grade[data-v-8329a3f9]{align-items:center;gap:10px;display:flex}.essay-grade label[data-v-8329a3f9]{font-size:14px;font-weight:600}.essay-grade input[data-v-8329a3f9]{border:1px solid #ddd;border-radius:6px;outline:none;padding:6px 10px;font-size:14px}.badge[data-v-8329a3f9]{border-radius:4px;padding:2px 10px;font-size:12px;font-weight:600}.badge.single[data-v-8329a3f9]{color:#4a90d9;background:#e8f0fe}.badge.multiple[data-v-8329a3f9]{color:#e67e22;background:#fef3e2}.badge.boolean[data-v-8329a3f9]{color:#16a085;background:#e8f8f5}.badge.essay[data-v-8329a3f9]{color:#8e44ad;background:#f4ecf7}.badge.diff-easy[data-v-8329a3f9]{color:#27ae60;background:#e8f8f5}.badge.diff-medium[data-v-8329a3f9]{color:#e67e22;background:#fef3e2}.badge.diff-hard[data-v-8329a3f9]{color:#e74c3c;background:#fdecea}.score-badge[data-v-8329a3f9]{color:#888;background:#f0f0f0;border-radius:4px;padding:2px 10px;font-size:12px;font-weight:600}.q-score[data-v-8329a3f9]{color:#888;margin-left:auto;font-size:12px}.score-badge.correct[data-v-8329a3f9]{color:#155724;background:#d4edda}.score-badge.wrong[data-v-8329a3f9]{color:#e74c3c;background:#fdecea}.total-bar[data-v-8329a3f9]{background:#fff;border-radius:8px;align-items:center;gap:12px;margin-top:24px;padding:20px;font-size:15px;display:flex;box-shadow:0 1px 4px #0000000f}.total-bar input[data-v-8329a3f9]{border:1px solid #ddd;border-radius:6px;outline:none;width:100px;padding:8px 14px;font-size:15px}.total-hint[data-v-8329a3f9]{color:#bbb;font-size:12px}.btn[data-v-8329a3f9]{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px}.btn-primary[data-v-8329a3f9]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-8329a3f9]{padding:8px 16px;font-size:13px}.title-row[data-v-8329a3f9]{align-items:center;gap:10px;display:flex}.title-row h2[data-v-8329a3f9]{flex:1}.rec-btn[data-v-8329a3f9]{color:#555;cursor:pointer;background:#f5f6fa;border:1px solid #ddd;border-radius:6px;justify-content:center;align-items:center;padding:4px;line-height:0;transition:all .15s;display:inline-flex}.rec-btn[data-v-8329a3f9]:hover{background:#e8e8e8;border-color:#bbb}.loading[data-v-8329a3f9]{text-align:center;color:#888;padding:40px}.filter-page[data-v-8cd8a6f9]{width:100%}.page-header[data-v-8cd8a6f9]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.page-header h2[data-v-8cd8a6f9]{color:#333;margin:0;font-size:20px}.toolbar[data-v-8cd8a6f9]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.import-row[data-v-8cd8a6f9]{gap:8px;display:flex}.file-label[data-v-8cd8a6f9]{color:#333;text-decoration:none}.modal-overlay[data-v-8cd8a6f9]{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-8cd8a6f9]{background:#fff;border-radius:12px;width:380px;padding:24px;box-shadow:0 8px 30px #00000026}.modal h3[data-v-8cd8a6f9]{margin:0 0 16px;font-size:16px}.modal-body[data-v-8cd8a6f9]{margin-bottom:20px}.modal-body label[data-v-8cd8a6f9]{color:#666;margin:10px 0 6px;font-size:13px;display:block}.modal-body label[data-v-8cd8a6f9]:first-child{margin-top:0}.modal-body input[data-v-8cd8a6f9],.modal-body select[data-v-8cd8a6f9]{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-size:14px}.modal-body input[data-v-8cd8a6f9]:focus,.modal-body select[data-v-8cd8a6f9]:focus{border-color:var(--primary)}.modal-footer[data-v-8cd8a6f9]{justify-content:flex-end;gap:8px;display:flex}.table[data-v-8cd8a6f9]{background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 4px #0000000f}.table th[data-v-8cd8a6f9],.table td[data-v-8cd8a6f9]{text-align:left;border-bottom:1px solid #eee;padding:14px 16px;font-size:14px}.table th[data-v-8cd8a6f9]{color:#555;background:#f9f9f9;font-weight:600}.status-badge[data-v-8cd8a6f9]{border-radius:4px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.status-badge.on[data-v-8cd8a6f9]{color:#155724;background:#d4edda}.status-badge.off[data-v-8cd8a6f9]{color:#999;background:#f5f5f5}.actions-cell[data-v-8cd8a6f9]{gap:8px;display:flex}.empty[data-v-8cd8a6f9]{text-align:center;color:#999;padding:60px 0;font-size:14px}.btn[data-v-8cd8a6f9]{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px;text-decoration:none;display:inline-block}.btn-primary[data-v-8cd8a6f9]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-8cd8a6f9]{padding:6px 14px;font-size:13px}.btn-danger[data-v-8cd8a6f9]{color:#fff;background:#e74c3c;border-color:#e74c3c}.btn[data-v-8cd8a6f9]:disabled{opacity:.5;cursor:not-allowed}.pagination[data-v-8cd8a6f9]{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.page-info[data-v-8cd8a6f9]{color:#666;font-size:14px}.jump-to[data-v-8cd8a6f9]{color:#666;align-items:center;gap:6px;font-size:13px;display:flex}.jump-to input[data-v-8cd8a6f9]{text-align:center;border:1px solid #ddd;border-radius:4px;outline:none;width:56px;padding:5px 8px;font-size:13px}.settings-page[data-v-3a5522a2]{width:100%}.page-header[data-v-3a5522a2]{margin-bottom:24px}.page-header h2[data-v-3a5522a2]{color:#333;margin:0;font-size:20px}.section[data-v-3a5522a2]{margin-bottom:28px}.section h3[data-v-3a5522a2]{color:#888;margin:0 0 12px;padding-left:2px;font-size:15px}.setting-card[data-v-3a5522a2]{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:20px 24px;display:flex;box-shadow:0 1px 4px #0000000f}.sc-info[data-v-3a5522a2]{flex:1}.sc-label[data-v-3a5522a2]{color:#333;margin-bottom:4px;font-size:15px;font-weight:600}.sc-desc[data-v-3a5522a2]{color:#999;font-size:13px}.sc-action[data-v-3a5522a2]{flex-shrink:0;align-items:center;gap:12px;display:flex}.toggle-state[data-v-3a5522a2]{min-width:42px;font-size:13px;font-weight:600}.toggle[data-v-3a5522a2]{cursor:pointer;width:52px;height:28px;display:inline-block;position:relative}.toggle input[data-v-3a5522a2]{opacity:0;width:0;height:0}.toggle-slider[data-v-3a5522a2]{background:#ccc;border-radius:28px;transition:background .2s;position:absolute;inset:0}.toggle-slider[data-v-3a5522a2]:before{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;bottom:3px;left:3px}.toggle input:checked+.toggle-slider[data-v-3a5522a2]{background:linear-gradient(135deg,#667eea,#764ba2)}.toggle input:checked+.toggle-slider[data-v-3a5522a2]:before{transform:translate(24px)}.list-card[data-v-3a5522a2]{background:#fff;border-radius:8px;padding:16px;overflow-x:auto;box-shadow:0 1px 4px #0000000f}.sr-table[data-v-3a5522a2]{border-collapse:collapse;width:100%}.sr-table th[data-v-3a5522a2],.sr-table td[data-v-3a5522a2]{text-align:left;padding:6px;font-size:13px}.sr-table th[data-v-3a5522a2]{color:#888;white-space:nowrap;font-weight:600}.sr-table select[data-v-3a5522a2]{border:1px solid #ddd;border-radius:6px;outline:none;width:100%;min-width:90px;padding:6px 8px;font-size:13px}.sr-table input[data-v-3a5522a2]{border:1px solid #ddd;border-radius:6px;outline:none;width:70px;padding:6px 8px;font-size:13px}.sr-table select[data-v-3a5522a2]:focus,.sr-table input[data-v-3a5522a2]:focus{border-color:var(--primary)}.sr-table .empty[data-v-3a5522a2]{text-align:center;color:#999;padding:24px}.list-actions[data-v-3a5522a2]{border-top:1px solid #eee;justify-content:space-between;margin-top:14px;padding-top:14px;display:flex}.modal-overlay[data-v-3a5522a2]{z-index:200;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-3a5522a2]{background:#fff;border-radius:12px;width:380px;padding:24px;box-shadow:0 8px 30px #00000026}.modal h3[data-v-3a5522a2]{margin:0 0 12px;font-size:16px}.modal-footer[data-v-3a5522a2]{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.pwd-desc[data-v-3a5522a2]{color:#888;margin:0 0 16px;font-size:13px}.pwd-error[data-v-3a5522a2]{color:#e74c3c;margin:8px 0 0;font-size:13px}.modal input[data-v-3a5522a2]{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:10px 14px;font-size:14px}.modal input[data-v-3a5522a2]:focus{border-color:var(--primary)}.btn[data-v-3a5522a2]{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px;text-decoration:none;display:inline-block}.btn-primary[data-v-3a5522a2]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-3a5522a2]{padding:6px 14px;font-size:13px}.btn-danger[data-v-3a5522a2]{color:#e74c3c;background:#fff;border-color:#e74c3c}.btn[data-v-3a5522a2]:disabled{opacity:.6;cursor:not-allowed}.comp-page[data-v-10b46b16]{padding:0}.page-header[data-v-10b46b16]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}h2[data-v-10b46b16]{color:#333;margin:0;font-size:20px}.table[data-v-10b46b16]{background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 4px #0000000f}.table th[data-v-10b46b16],.table td[data-v-10b46b16]{text-align:left;border-bottom:1px solid #eee;padding:14px 16px;font-size:14px}.table th[data-v-10b46b16]{color:#555;background:#f9f9f9;font-weight:600}.name-cell[data-v-10b46b16]{word-break:break-all;max-width:160px;display:block}.time-cell[data-v-10b46b16]{white-space:nowrap;font-size:12px;line-height:1.6}.time-sep[data-v-10b46b16]{color:#999;font-size:11px}.status[data-v-10b46b16]{border-radius:4px;padding:2px 10px;font-size:12px;font-weight:600}.status.draft[data-v-10b46b16]{color:#856404;background:#fef3e2}.status.published[data-v-10b46b16]{color:#155724;background:#d4edda}.actions-wrap[data-v-10b46b16]{gap:6px;display:flex}.btn[data-v-10b46b16]{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px;text-decoration:none;display:inline-block}.btn-primary[data-v-10b46b16]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-10b46b16]{padding:6px 14px;font-size:13px}.empty[data-v-10b46b16]{text-align:center;color:#888;padding:40px 0}.pagination[data-v-10b46b16]{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.page-info[data-v-10b46b16]{color:#666;font-size:14px}.jump-to[data-v-10b46b16]{color:#666;align-items:center;gap:6px;font-size:13px;display:flex}.jump-to input[data-v-10b46b16]{text-align:center;border:1px solid #ddd;border-radius:4px;outline:none;width:56px;padding:5px 8px;font-size:13px}.comp-edit[data-v-98e28f6e]{padding:0}.page-header[data-v-98e28f6e]{margin-bottom:20px}.back-link[data-v-98e28f6e]{color:var(--primary);margin-bottom:8px;font-size:13px;text-decoration:none;display:block}h2[data-v-98e28f6e]{color:#333;margin:0;font-size:20px}.form-card[data-v-98e28f6e]{background:#fff;border-radius:8px;padding:32px;box-shadow:0 1px 4px #0000000f}.form-row[data-v-98e28f6e]{gap:20px;display:flex}.form-group[data-v-98e28f6e]{flex:1;margin-bottom:20px}.form-group label[data-v-98e28f6e]{color:#555;margin-bottom:6px;font-size:14px;font-weight:600;display:block}.form-group input[data-v-98e28f6e],.form-group select[data-v-98e28f6e]{border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:10px 14px;font-size:14px}.form-group textarea[data-v-98e28f6e]{resize:vertical;box-sizing:border-box;border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:14px}.form-group textarea[data-v-98e28f6e]:disabled{color:#999;background:#f5f5f5}.error[data-v-98e28f6e]{color:#e74c3c;margin-top:6px;font-size:13px}.locked-tip[data-v-98e28f6e]{color:#e67e22;margin:-8px 0 16px;font-size:13px}.btn[data-v-98e28f6e]{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px}.btn-primary[data-v-98e28f6e]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-98e28f6e]{padding:6px 14px;font-size:13px}.btn-lg[data-v-98e28f6e]{width:100%;margin-top:12px;padding:14px 28px;font-size:16px}.btn-danger[data-v-98e28f6e]{color:#e74c3c;background:0 0;border-color:#e74c3c}.btn-danger[data-v-98e28f6e]:hover{background:#fdecea}.btn[data-v-98e28f6e]:disabled{opacity:.6}.confirm-text[data-v-98e28f6e]{color:#555;margin:0 0 20px;font-size:15px;line-height:1.6}.key-input-row[data-v-98e28f6e]{gap:8px;display:flex}.key-input-row input[data-v-98e28f6e]{flex:1}.key-helper[data-v-98e28f6e]{white-space:nowrap;background:#f0f0f0;border:1px solid #ddd;flex-shrink:0}.modal-overlay[data-v-98e28f6e]{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-98e28f6e]{background:#fff;border-radius:12px;width:420px;max-height:80vh;padding:24px;overflow-y:auto;box-shadow:0 8px 30px #00000026}.modal h3[data-v-98e28f6e]{margin:0 0 16px;font-size:16px}.modal-body[data-v-98e28f6e]{margin-bottom:16px}.tip[data-v-98e28f6e]{color:#888;text-align:center;padding:16px 0}.modal-footer[data-v-98e28f6e]{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.btn-remove-all[data-v-98e28f6e]{color:#e74c3c;border-color:#e74c3c}.shuttle-modal[data-v-98e28f6e]{width:680px}.shuttle-body[data-v-98e28f6e]{flex-direction:column;display:flex}.shuttle-search[data-v-98e28f6e]{margin-bottom:12px}.shuttle-search input[data-v-98e28f6e]{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:10px 14px;font-size:14px}.shuttle-panels[data-v-98e28f6e]{gap:12px;display:flex}.shuttle-panel[data-v-98e28f6e]{border:1px solid #eee;border-radius:8px;flex-direction:column;flex:1;min-width:0;display:flex}.shuttle-mid[data-v-98e28f6e]{flex-direction:column;flex-shrink:0;justify-content:center;gap:10px;display:flex}.mid-btn[data-v-98e28f6e]{color:#555;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;width:42px;height:36px;font-size:18px;line-height:1;transition:all .15s}.mid-btn[data-v-98e28f6e]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.mid-btn[data-v-98e28f6e]:disabled{opacity:.35;cursor:not-allowed}.panel-title[data-v-98e28f6e]{color:#666;background:#f9f9f9;border-bottom:1px solid #eee;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.link-btn[data-v-98e28f6e]{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.link-btn[data-v-98e28f6e]:hover{text-decoration:underline}.shuttle-actions[data-v-98e28f6e]{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.pick[data-v-98e28f6e]{margin-right:2px}.panel-list[data-v-98e28f6e]{flex:1;max-height:320px;padding:4px 0;overflow-y:auto}.shuttle-item[data-v-98e28f6e]{cursor:pointer;border-bottom:1px solid #f5f5f5;align-items:center;gap:8px;padding:8px 14px;font-size:14px;transition:background .1s;display:flex}.shuttle-item[data-v-98e28f6e]:hover{background:#f5f6fa}.item-meta[data-v-98e28f6e]{color:#666;font-size:12px}.item-phone[data-v-98e28f6e]{color:#888;margin-left:auto;font-size:12px}.add-icon[data-v-98e28f6e]{color:#27ae60;font-size:18px;font-weight:700}.remove-icon[data-v-98e28f6e]{color:#e74c3c;font-size:18px;font-weight:700}.panel-more[data-v-98e28f6e]{text-align:center;padding:8px}.share-overlay[data-v-e4200d23]{z-index:1100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.share-modal[data-v-e4200d23]{background:#fff;border-radius:12px;width:440px;max-width:92vw;padding:28px;box-shadow:0 8px 30px #00000026}.share-modal h3[data-v-e4200d23]{color:#333;margin:0 0 16px;font-size:17px}.share-tip[data-v-e4200d23]{text-align:center;color:#888;padding:20px 0}.share-tip.err[data-v-e4200d23]{color:#e74c3c}.share-desc[data-v-e4200d23]{color:#555;margin:0 0 10px;font-size:14px}.share-url-box[data-v-e4200d23]{word-break:break-all;cursor:pointer;color:var(--primary);background:#f5f6fa;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:10px;padding:10px 14px;font-size:13px}.share-url[data-v-e4200d23]{word-break:break-all}.share-copy-hint[data-v-e4200d23]{color:#888;margin-top:4px;font-size:11px;display:block}.share-copy-hint.done[data-v-e4200d23]{color:#27ae60}.share-note[data-v-e4200d23]{color:#999;margin:0;font-size:12px}.share-actions[data-v-e4200d23]{justify-content:flex-end;margin-top:18px;display:flex}.btn[data-v-e4200d23]{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;padding:8px 18px;font-size:13px}.btn-sm[data-v-e4200d23]{padding:6px 16px;font-size:13px}.works-page[data-v-41e01fed]{padding:0}.page-header[data-v-41e01fed]{margin-bottom:20px}.back-link[data-v-41e01fed]{color:var(--primary);margin-bottom:8px;font-size:13px;text-decoration:none;display:block}.title-row[data-v-41e01fed]{justify-content:space-between;align-items:center;display:flex}.header-actions[data-v-41e01fed]{gap:8px;display:flex}h2[data-v-41e01fed]{color:#333;margin:0;font-size:20px}.table[data-v-41e01fed]{background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 4px #0000000f}.table th[data-v-41e01fed],.table td[data-v-41e01fed]{text-align:left;border-bottom:1px solid #eee;padding:12px 14px;font-size:14px}.table th[data-v-41e01fed]{color:#555;background:#f9f9f9;font-weight:600}.actions-cell[data-v-41e01fed]{gap:6px;display:flex}.empty[data-v-41e01fed]{text-align:center;color:#888;padding:40px 0}.btn[data-v-41e01fed]{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px;text-decoration:none;display:inline-block}.btn-sm[data-v-41e01fed]{padding:6px 14px;font-size:13px}.btn-danger[data-v-41e01fed]{color:#e74c3c;background:#fff;border-color:#e74c3c}.btn-rec[data-v-41e01fed]{color:#555;cursor:pointer;background:#f5f6fa;border:1px solid #ddd;border-radius:5px;justify-content:center;align-items:center;padding:5px;line-height:0;transition:all .15s;display:inline-flex}.btn-rec[data-v-41e01fed]:hover{background:#e8e8e8;border-color:#bbb}.btn-share[data-v-41e01fed]{color:var(--primary);border-color:var(--primary)}.btn-share[data-v-41e01fed]:hover{background:var(--primary-gradient);color:#fff;border-color:#0000}.work-detail[data-v-f7d5ce6a]{padding:0}.page-header[data-v-f7d5ce6a]{margin-bottom:20px}.title-row[data-v-f7d5ce6a]{align-items:center;gap:10px;display:flex}.title-row h2[data-v-f7d5ce6a]{flex:1}.back-link[data-v-f7d5ce6a]{color:var(--primary);margin-bottom:8px;font-size:13px;text-decoration:none;display:block}h2[data-v-f7d5ce6a]{color:#333;margin:0;font-size:20px}.btn-rec[data-v-f7d5ce6a]{color:#555;cursor:pointer;background:#f5f6fa;border:1px solid #ddd;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:5px;line-height:0;transition:all .15s;display:inline-flex}.btn-rec[data-v-f7d5ce6a]:hover{background:#e8e8e8;border-color:#bbb}h3[data-v-f7d5ce6a]{color:#555;margin:0 0 12px;font-size:16px}.section[data-v-f7d5ce6a]{background:#fff;border-radius:8px;margin-bottom:16px;padding:20px;box-shadow:0 1px 4px #0000000f}.file-box[data-v-f7d5ce6a]{margin-bottom:16px}.file-box[data-v-f7d5ce6a]:last-child{margin-bottom:0}.fb-head[data-v-f7d5ce6a]{color:#333;margin-bottom:10px;font-size:14px;font-weight:600}.img-grid[data-v-f7d5ce6a]{flex-wrap:wrap;gap:10px;display:flex}.img-item[data-v-f7d5ce6a]{cursor:pointer;background:#f0f0f0;border-radius:8px;width:100px;height:100px;position:relative;overflow:hidden}.img-item img[data-v-f7d5ce6a]{object-fit:cover;width:100%;height:100%}.video-card[data-v-f7d5ce6a]{background:#f0f5ff;border:1px solid #e0e8f0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:178px;height:100px;display:flex;position:relative;overflow:hidden}.vname[data-v-f7d5ce6a]{color:#555;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:160px;padding:0 8px;font-size:11px;overflow:hidden}.hover-actions[data-v-f7d5ce6a]{opacity:0;background:#00000073;justify-content:center;align-items:center;gap:10px;transition:opacity .15s;display:flex;position:absolute;inset:0}.img-item:hover .hover-actions[data-v-f7d5ce6a],.video-card:hover .hover-actions[data-v-f7d5ce6a]{opacity:1}.ha-btn[data-v-f7d5ce6a]{cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;text-decoration:none;display:flex}.ha-btn[data-v-f7d5ce6a]:hover{background:#ffffff59}.doc-list[data-v-f7d5ce6a]{flex-direction:column;gap:6px;display:flex}.doc-row[data-v-f7d5ce6a]{cursor:pointer;background:#f9f9f9;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;display:flex}.doc-row[data-v-f7d5ce6a]:hover{background:#f0f0f0}.dname[data-v-f7d5ce6a]{color:#333;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.dlink[data-v-f7d5ce6a],.dlink-dummy[data-v-f7d5ce6a]{color:var(--primary);font-size:12px;font-weight:600;text-decoration:none}.dlink[data-v-f7d5ce6a]:hover{text-decoration:underline}.doc-viewer[data-v-f7d5ce6a]{background:#fff;border-radius:8px;overflow:hidden}.doc-unsupported[data-v-f7d5ce6a]{color:#888;padding:40px;font-size:15px}.grade-row[data-v-f7d5ce6a]{background:#f8f9fb;border:1px solid #eee;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:10px;padding:14px 16px;display:flex}.grade-header[data-v-f7d5ce6a]{align-items:center;gap:8px;display:flex}.grade-teacher[data-v-f7d5ce6a]{color:#333;flex-shrink:0;width:80px;font-size:15px;font-weight:600}.grade-label[data-v-f7d5ce6a]{color:#888;flex-shrink:0;width:36px;font-size:13px}.grade-header input[data-v-f7d5ce6a]{border:1px solid #ddd;border-radius:6px;outline:none;width:80px;padding:6px 10px;font-size:14px}.grade-comment[data-v-f7d5ce6a]{resize:vertical;box-sizing:border-box;border:1px solid #ddd;border-radius:6px;outline:none;flex:1;padding:8px 10px;font-size:13px}.grade-comment-row[data-v-f7d5ce6a]{align-items:flex-start;gap:8px;margin-left:88px;display:flex}.grade-save[data-v-f7d5ce6a]{align-self:flex-start;margin-left:132px}.grade-value[data-v-f7d5ce6a]{color:#333;font-size:14px}.final-row[data-v-f7d5ce6a]{align-items:center;gap:12px;font-size:14px;display:flex}.final-row input[data-v-f7d5ce6a]{border:1px solid #ddd;border-radius:6px;outline:none;padding:8px;font-size:15px}.btn[data-v-f7d5ce6a]{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px}.btn-primary[data-v-f7d5ce6a]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-f7d5ce6a]{padding:6px 14px;font-size:13px}.tip[data-v-f7d5ce6a]{color:#888;padding:8px 0;font-size:14px}.lightbox[data-v-f7d5ce6a]{z-index:9999;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox img[data-v-f7d5ce6a]{border-radius:8px;max-width:90vw;max-height:90vh}.lightbox-close[data-v-f7d5ce6a]{color:#fff;cursor:pointer;background:0 0;border:none;font-size:36px;position:absolute;top:20px;right:30px}.work-video[data-v-f7d5ce6a]{background:#000;border-radius:8px;width:100%;max-height:460px;display:block}.qa-item[data-v-f7d5ce6a]{background:#f9f9f9;border-radius:8px;margin-bottom:12px;padding:14px 16px}.qa-item[data-v-f7d5ce6a]:last-child{margin-bottom:0}.qa-q[data-v-f7d5ce6a]{color:#333;margin-bottom:8px;font-size:15px;font-weight:600;line-height:1.5}.qa-a[data-v-f7d5ce6a]{color:#555;white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.6}.attach-list[data-v-f7d5ce6a]{flex-direction:column;gap:8px;display:flex}.attach-item[data-v-f7d5ce6a]{background:#f9f9f9;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}.attach-thumb-link[data-v-f7d5ce6a]{flex-shrink:0}.attach-thumb[data-v-f7d5ce6a]{object-fit:cover;border-radius:6px;width:44px;height:44px;display:block}.attach-ic[data-v-f7d5ce6a]{flex-shrink:0}.attach-name[data-v-f7d5ce6a]{color:#333;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;overflow:hidden}.attach-dl[data-v-f7d5ce6a]{color:var(--primary);flex-shrink:0;font-size:13px;font-weight:600;text-decoration:none}.attach-dl[data-v-f7d5ce6a]:hover{text-decoration:underline}.teachers-page[data-v-18c2b5a9]{padding:0}.page-header[data-v-18c2b5a9]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.header-actions[data-v-18c2b5a9]{align-items:center;gap:8px;display:flex}.file-label[data-v-18c2b5a9]{cursor:pointer}h2[data-v-18c2b5a9]{color:#333;margin:0;font-size:20px}.table[data-v-18c2b5a9]{background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 4px #0000000f}.table th[data-v-18c2b5a9],.table td[data-v-18c2b5a9]{text-align:left;border-bottom:1px solid #eee;padding:12px 14px;font-size:14px}.table th[data-v-18c2b5a9]{color:#555;background:#f9f9f9;font-weight:600}.empty[data-v-18c2b5a9]{text-align:center;color:#888;padding:40px 0}.btn[data-v-18c2b5a9]{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px}.btn-primary[data-v-18c2b5a9]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-18c2b5a9]{margin-right:6px;padding:6px 14px;font-size:13px}.btn-danger[data-v-18c2b5a9]{color:#e74c3c;border-color:#e74c3c}.modal-overlay[data-v-18c2b5a9]{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-18c2b5a9]{background:#fff;border-radius:12px;width:380px;padding:24px;box-shadow:0 8px 30px #00000026}.modal h3[data-v-18c2b5a9]{margin:0 0 16px;font-size:16px}.modal-body input[data-v-18c2b5a9]{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;outline:none;width:100%;margin-bottom:12px;padding:10px 14px;font-size:14px}.modal-footer[data-v-18c2b5a9]{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.pagination[data-v-18c2b5a9]{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.page-info[data-v-18c2b5a9]{color:#666;font-size:14px}.jump-to[data-v-18c2b5a9]{color:#666;align-items:center;gap:6px;font-size:13px;display:flex}.jump-to input[data-v-18c2b5a9]{text-align:center;border:1px solid #ddd;border-radius:4px;outline:none;width:56px;padding:5px 8px;font-size:13px}.students-page[data-v-954c5d29]{padding:0}.page-header[data-v-954c5d29]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.header-actions[data-v-954c5d29]{align-items:center;gap:8px;display:flex}.file-label[data-v-954c5d29]{cursor:pointer}h2[data-v-954c5d29]{color:#333;margin:0;font-size:20px}.toolbar[data-v-954c5d29]{align-items:center;gap:10px;margin-bottom:16px;display:flex}.search-input[data-v-954c5d29]{border:1px solid #ddd;border-radius:6px;outline:none;width:240px;padding:8px 14px;font-size:14px}.search-input[data-v-954c5d29]:focus{border-color:var(--primary)}.table[data-v-954c5d29]{background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 4px #0000000f}.table th[data-v-954c5d29],.table td[data-v-954c5d29]{text-align:left;border-bottom:1px solid #eee;padding:12px 14px;font-size:14px}.table th[data-v-954c5d29]{color:#555;background:#f9f9f9;font-weight:600}.empty[data-v-954c5d29]{text-align:center;color:#888;padding:40px 0}.btn[data-v-954c5d29]{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px}.btn-primary[data-v-954c5d29]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-954c5d29]{margin-right:6px;padding:6px 14px;font-size:13px}.btn-danger[data-v-954c5d29]{color:#e74c3c;border-color:#e74c3c}.modal-overlay[data-v-954c5d29]{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-954c5d29]{background:#fff;border-radius:12px;width:380px;padding:24px;box-shadow:0 8px 30px #00000026}.modal h3[data-v-954c5d29]{margin:0 0 16px;font-size:16px}.modal-body input[data-v-954c5d29]{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;outline:none;width:100%;margin-bottom:12px;padding:10px 14px;font-size:14px}.modal-footer[data-v-954c5d29]{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.pagination[data-v-954c5d29]{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.page-info[data-v-954c5d29]{color:#666;font-size:14px}.jump-to[data-v-954c5d29]{color:#666;align-items:center;gap:6px;font-size:13px;display:flex}.jump-to input[data-v-954c5d29]{text-align:center;border:1px solid #ddd;border-radius:4px;outline:none;width:56px;padding:5px 8px;font-size:13px}
