: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-c3edd195]{padding:0}.welcome-header[data-v-c3edd195]{margin-bottom:40px}h2[data-v-c3edd195]{color:#1a1a2e;margin:0 0 8px;font-size:26px}.welcome-sub[data-v-c3edd195]{color:#888;margin:0;font-size:15px}.quick-actions[data-v-c3edd195]{gap:20px;margin-bottom:40px;display:flex}.action-card[data-v-c3edd195]{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-c3edd195]:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.action-icon[data-v-c3edd195]{margin-bottom:12px;font-size:36px}.action-title[data-v-c3edd195]{color:#1a1a2e;margin-bottom:6px;font-size:18px;font-weight:700}.action-desc[data-v-c3edd195]{color:#888;font-size:13px}.modal-overlay[data-v-c3edd195]{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-c3edd195]{background:#fff;border-radius:12px;width:480px;padding:24px;box-shadow:0 8px 30px #00000026}.modal h3[data-v-c3edd195]{margin:0 0 16px;font-size:16px}.modal-body[data-v-c3edd195]{margin-bottom:20px}.modal-body .form-group[data-v-c3edd195]{margin-bottom:12px}.modal-body label[data-v-c3edd195]{color:#666;margin-bottom:4px;font-size:13px;font-weight:600;display:block}.modal-body input[data-v-c3edd195]{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-c3edd195]:focus{border-color:var(--primary)}.modal-body select[data-v-c3edd195]{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-c3edd195]:focus{border-color:var(--primary)}.modal-footer[data-v-c3edd195]{justify-content:flex-end;gap:8px;display:flex}.link-result[data-v-c3edd195]{margin-top:12px}.link-box[data-v-c3edd195]{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-c3edd195]{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px}.btn-primary[data-v-c3edd195]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-c3edd195]{padding:8px 16px;font-size:13px}.btn[data-v-c3edd195]: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-d4858ddc]{padding:0}.page-header[data-v-d4858ddc]{margin-bottom:20px}.back-link[data-v-d4858ddc]{color:var(--primary);margin-bottom:8px;font-size:13px;text-decoration:none;display:block}h2[data-v-d4858ddc]{color:#333;margin:0 0 4px;font-size:20px;display:inline-block}.page-header[data-v-d4858ddc]{align-items:center;gap:16px;display:flex}.header-actions[data-v-d4858ddc]{gap:10px;margin-left:auto;display:flex}.filters[data-v-d4858ddc]{gap:12px;margin-bottom:20px;display:flex}.filters select[data-v-d4858ddc]{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-d4858ddc]{gap:12px;margin-bottom:12px;display:flex}.form-grid select[data-v-d4858ddc]{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-d4858ddc]{gap:12px;display:flex}.table[data-v-d4858ddc]{background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 4px #0000000f}.table th[data-v-d4858ddc],.table td[data-v-d4858ddc]{text-align:left;border-bottom:1px solid #eee;padding:12px 16px;font-size:14px}.table th[data-v-d4858ddc]{color:#555;background:#f9f9f9;font-weight:600}.text-cell[data-v-d4858ddc]{text-overflow:ellipsis;white-space:nowrap;max-width:300px;overflow:hidden}.actions-cell[data-v-d4858ddc]{white-space:nowrap;gap:8px;display:flex}.badge[data-v-d4858ddc]{border-radius:4px;padding:2px 10px;font-size:12px;font-weight:600}.badge.single[data-v-d4858ddc]{color:#4a90d9;background:#e8f0fe}.badge.multiple[data-v-d4858ddc]{color:#e67e22;background:#fef3e2}.badge.boolean[data-v-d4858ddc]{color:#16a085;background:#e8f8f5}.badge.essay[data-v-d4858ddc]{color:#8e44ad;background:#f4ecf7}.badge.diff-easy[data-v-d4858ddc]{color:#27ae60;background:#e8f8f5}.badge.diff-medium[data-v-d4858ddc]{color:#e67e22;background:#fef3e2}.badge.diff-hard[data-v-d4858ddc]{color:#e74c3c;background:#fdecea}.btn[data-v-d4858ddc]{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px}.btn-primary[data-v-d4858ddc]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-d4858ddc]{padding:6px 14px;font-size:13px}.btn-danger[data-v-d4858ddc]{color:#e74c3c;border-color:#e74c3c}.loading[data-v-d4858ddc]{text-align:center;color:#888;padding:40px}.pagination[data-v-d4858ddc]{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.page-info[data-v-d4858ddc]{color:#666;font-size:14px}.jump-to[data-v-d4858ddc]{color:#666;align-items:center;gap:6px;font-size:13px;display:flex}.jump-to input[data-v-d4858ddc]{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-e243cb5c]{padding:0}.page-header[data-v-e243cb5c]{margin-bottom:20px}.back-link[data-v-e243cb5c]{color:var(--primary);margin-bottom:8px;font-size:13px;text-decoration:none;display:block}h2[data-v-e243cb5c]{color:#333;margin:0;font-size:20px}.form-card[data-v-e243cb5c]{background:#fff;border-radius:8px;padding:32px;box-shadow:0 1px 4px #0000000f}.form-row[data-v-e243cb5c]{gap:20px;display:flex}.form-group[data-v-e243cb5c]{flex:1;margin-bottom:20px}.form-group>label[data-v-e243cb5c]{color:#555;margin-bottom:6px;font-size:14px;font-weight:600;display:block}.required[data-v-e243cb5c]{color:#e74c3c}.form-group input[data-v-e243cb5c],.form-group select[data-v-e243cb5c]{border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:10px 14px;font-size:14px}.mode-select[data-v-e243cb5c]{flex-wrap:nowrap;gap:20px;display:flex}.radio-label[data-v-e243cb5c]{cursor:pointer;color:#555;white-space:nowrap;align-items:center;gap:6px;font-size:14px;display:flex}.radio-label input[data-v-e243cb5c]{accent-color:var(--primary)}.checkbox-label[data-v-e243cb5c]{cursor:pointer;color:#555;align-items:center;gap:8px;font-size:14px;display:flex}.checkbox-label input[data-v-e243cb5c]{accent-color:var(--primary);width:16px;height:16px}.config-section[data-v-e243cb5c]{border:1px solid #eee;border-radius:8px;margin-bottom:24px;padding:20px}.config-section h4[data-v-e243cb5c]{color:#333;margin:0 0 16px;font-size:15px}.config-row[data-v-e243cb5c]{align-items:flex-end;gap:12px;display:flex}.config-list[data-v-e243cb5c]{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.config-tag[data-v-e243cb5c]{color:var(--primary);background:#e8f0fe;border-radius:4px;padding:4px 12px;font-size:13px}.config-tag .remove[data-v-e243cb5c]{cursor:pointer;margin-left:8px;font-weight:700}.config-score[data-v-e243cb5c]{color:#555;margin-top:12px;font-size:14px}.config-score strong[data-v-e243cb5c]{color:var(--primary);font-size:16px}.available-hint[data-v-e243cb5c]{color:#27ae60;white-space:nowrap;margin-left:4px;font-size:11px}.error-msg[data-v-e243cb5c]{color:#e74c3c;margin-top:6px;font-size:13px}.fixed-list[data-v-e243cb5c]{max-height:400px;overflow-y:auto}.fixed-item[data-v-e243cb5c]{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-e243cb5c]{flex-shrink:0;margin-top:2px}.q-score[data-v-e243cb5c]{color:#8e44ad;flex-shrink:0;margin-left:auto;font-size:12px}.badge[data-v-e243cb5c]{border-radius:4px;flex-shrink:0;padding:1px 8px;font-size:11px;font-weight:600}.badge.single[data-v-e243cb5c]{color:#4a90d9;background:#e8f0fe}.badge.multiple[data-v-e243cb5c]{color:#e67e22;background:#fef3e2}.badge.boolean[data-v-e243cb5c]{color:#16a085;background:#e8f8f5}.badge.essay[data-v-e243cb5c]{color:#8e44ad;background:#f4ecf7}.badge.diff-easy[data-v-e243cb5c]{color:#27ae60;background:#e8f8f5}.badge.diff-medium[data-v-e243cb5c]{color:#e67e22;background:#fef3e2}.badge.diff-hard[data-v-e243cb5c]{color:#e74c3c;background:#fdecea}.btn[data-v-e243cb5c]{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px}.btn-primary[data-v-e243cb5c]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-e243cb5c]{padding:8px 16px;font-size:13px}.btn-lg[data-v-e243cb5c]{width:100%;margin-top:12px;padding:14px 28px;font-size:16px}.btn[data-v-e243cb5c]:disabled{opacity:.6;cursor:not-allowed}.btn-danger[data-v-e243cb5c]{color:#e74c3c;background:0 0;border-color:#e74c3c}.btn-danger[data-v-e243cb5c]:hover{background:#fdecea}.confirm-text[data-v-e243cb5c]{color:#555;margin:0 0 20px;font-size:15px;line-height:1.6}.key-input-row[data-v-e243cb5c]{gap:8px;display:flex}.key-input-row input[data-v-e243cb5c]{flex:1}.key-helper[data-v-e243cb5c]{white-space:nowrap;background:#f0f0f0;border:1px solid #ddd;flex-shrink:0}.modal-overlay[data-v-e243cb5c]{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-e243cb5c]{background:#fff;border-radius:12px;width:360px;padding:24px;box-shadow:0 8px 30px #00000026}.modal h3[data-v-e243cb5c]{margin:0 0 16px;font-size:16px}.modal-body[data-v-e243cb5c]{margin-bottom:20px}.modal-body .form-group[data-v-e243cb5c]{margin-bottom:12px}.modal-body .form-group[data-v-e243cb5c]:last-child{margin-bottom:0}.modal-body label[data-v-e243cb5c]{color:#666;margin-bottom:4px;font-size:13px;font-weight:600;display:block}.modal-body input[data-v-e243cb5c]{border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:10px 14px;font-size:14px}.modal-body select[data-v-e243cb5c]{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-e243cb5c]{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-0e6f6a3d]{width:100%}.page-header[data-v-0e6f6a3d]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.page-header h2[data-v-0e6f6a3d]{color:#333;margin:0;font-size:20px}.tabs[data-v-0e6f6a3d]{background:#f0f0f0;border-radius:8px;gap:4px;width:fit-content;margin-bottom:20px;padding:4px;display:flex}.tab[data-v-0e6f6a3d]{cursor:pointer;color:#555;background:0 0;border:none;border-radius:6px;padding:8px 24px;font-size:14px;transition:all .15s}.tab.active[data-v-0e6f6a3d]{background:var(--primary-gradient);color:#fff}.tab[data-v-0e6f6a3d]:hover:not(.active){color:#333}.toolbar[data-v-0e6f6a3d]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.import-row[data-v-0e6f6a3d]{gap:8px;display:flex}.file-label[data-v-0e6f6a3d]{color:#333;text-decoration:none}.modal-overlay[data-v-0e6f6a3d]{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-0e6f6a3d]{background:#fff;border-radius:12px;width:380px;padding:24px;box-shadow:0 8px 30px #00000026}.modal h3[data-v-0e6f6a3d]{margin:0 0 16px;font-size:16px}.modal-body[data-v-0e6f6a3d]{margin-bottom:20px}.modal-body label[data-v-0e6f6a3d]{color:#666;margin-bottom:6px;font-size:13px;display:block}.modal-body input[data-v-0e6f6a3d]{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-0e6f6a3d]:focus{border-color:var(--primary)}.modal-footer[data-v-0e6f6a3d]{justify-content:flex-end;gap:8px;display:flex}.table[data-v-0e6f6a3d]{background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 4px #0000000f}.table th[data-v-0e6f6a3d],.table td[data-v-0e6f6a3d]{text-align:left;border-bottom:1px solid #eee;padding:14px 16px;font-size:14px}.table th[data-v-0e6f6a3d]{color:#555;background:#f9f9f9;font-weight:600}.status-badge[data-v-0e6f6a3d]{border-radius:4px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.status-badge.on[data-v-0e6f6a3d]{color:#155724;background:#d4edda}.status-badge.off[data-v-0e6f6a3d]{color:#999;background:#f5f5f5}.actions-cell[data-v-0e6f6a3d]{gap:8px;display:flex}.empty[data-v-0e6f6a3d]{text-align:center;color:#999;padding:60px 0;font-size:14px}.btn[data-v-0e6f6a3d]{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-0e6f6a3d]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-0e6f6a3d]{padding:6px 14px;font-size:13px}.btn-danger[data-v-0e6f6a3d]{color:#fff;background:#e74c3c;border-color:#e74c3c}.btn[data-v-0e6f6a3d]:disabled{opacity:.5;cursor:not-allowed}.pagination[data-v-0e6f6a3d]{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.page-info[data-v-0e6f6a3d]{color:#666;font-size:14px}.jump-to[data-v-0e6f6a3d]{color:#666;align-items:center;gap:6px;font-size:13px;display:flex}.jump-to input[data-v-0e6f6a3d]{text-align:center;border:1px solid #ddd;border-radius:4px;outline:none;width:56px;padding:5px 8px;font-size:13px}.settings-page[data-v-b8e8aa6b]{width:100%}.page-header[data-v-b8e8aa6b]{margin-bottom:24px}.page-header h2[data-v-b8e8aa6b]{color:#333;margin:0;font-size:20px}.section[data-v-b8e8aa6b]{margin-bottom:28px}.section h3[data-v-b8e8aa6b]{color:#888;margin:0 0 12px;padding-left:2px;font-size:15px}.setting-card[data-v-b8e8aa6b]{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-b8e8aa6b]{flex:1}.sc-label[data-v-b8e8aa6b]{color:#333;margin-bottom:4px;font-size:15px;font-weight:600}.sc-desc[data-v-b8e8aa6b]{color:#999;font-size:13px}.sc-action[data-v-b8e8aa6b]{flex-shrink:0;align-items:center;gap:12px;display:flex}.toggle-state[data-v-b8e8aa6b]{min-width:42px;font-size:13px;font-weight:600}.toggle[data-v-b8e8aa6b]{cursor:pointer;width:52px;height:28px;display:inline-block;position:relative}.toggle input[data-v-b8e8aa6b]{opacity:0;width:0;height:0}.toggle-slider[data-v-b8e8aa6b]{background:#ccc;border-radius:28px;transition:background .2s;position:absolute;inset:0}.toggle-slider[data-v-b8e8aa6b]: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-b8e8aa6b]{background:linear-gradient(135deg,#667eea,#764ba2)}.toggle input:checked+.toggle-slider[data-v-b8e8aa6b]:before{transform:translate(24px)}.list-card[data-v-b8e8aa6b]{background:#fff;border-radius:8px;padding:20px 24px;box-shadow:0 1px 4px #0000000f}.range-group[data-v-b8e8aa6b]{margin-bottom:16px}.range-group[data-v-b8e8aa6b]:last-of-type{margin-bottom:0}.rg-label[data-v-b8e8aa6b]{color:#555;margin-bottom:8px;font-size:13px;font-weight:600}.rg-inputs[data-v-b8e8aa6b]{align-items:center;gap:8px;display:flex}.rg-inputs input[data-v-b8e8aa6b]{border:1px solid #ddd;border-radius:6px;outline:none;width:100px;padding:8px 10px;font-size:14px}.rg-inputs input[data-v-b8e8aa6b]:focus{border-color:var(--primary)}.rg-sep[data-v-b8e8aa6b]{color:#bbb}.list-actions[data-v-b8e8aa6b]{text-align:right;border-top:1px solid #eee;margin-top:16px;padding-top:16px}.modal-overlay[data-v-b8e8aa6b]{z-index:200;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-b8e8aa6b]{background:#fff;border-radius:12px;width:380px;padding:24px;box-shadow:0 8px 30px #00000026}.modal h3[data-v-b8e8aa6b]{margin:0 0 12px;font-size:16px}.modal-footer[data-v-b8e8aa6b]{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.pwd-desc[data-v-b8e8aa6b]{color:#888;margin:0 0 16px;font-size:13px}.pwd-error[data-v-b8e8aa6b]{color:#e74c3c;margin:8px 0 0;font-size:13px}.modal input[data-v-b8e8aa6b]{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-b8e8aa6b]:focus{border-color:var(--primary)}.btn[data-v-b8e8aa6b]{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-b8e8aa6b]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-b8e8aa6b]{margin-right:6px;padding:6px 14px;font-size:13px}.btn[data-v-b8e8aa6b]: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-5b9ea9aa]{padding:0}.page-header[data-v-5b9ea9aa]{margin-bottom:20px}.back-link[data-v-5b9ea9aa]{color:var(--primary);margin-bottom:8px;font-size:13px;text-decoration:none;display:block}h2[data-v-5b9ea9aa]{color:#333;margin:0;font-size:20px}.form-card[data-v-5b9ea9aa]{background:#fff;border-radius:8px;padding:32px;box-shadow:0 1px 4px #0000000f}.form-row[data-v-5b9ea9aa]{gap:20px;display:flex}.form-group[data-v-5b9ea9aa]{flex:1;margin-bottom:20px}.form-group label[data-v-5b9ea9aa]{color:#555;margin-bottom:6px;font-size:14px;font-weight:600;display:block}.form-group input[data-v-5b9ea9aa],.form-group select[data-v-5b9ea9aa]{border:1px solid #ddd;border-radius:6px;outline:none;width:100%;padding:10px 14px;font-size:14px}.error[data-v-5b9ea9aa]{color:#e74c3c;margin-top:6px;font-size:13px}.btn[data-v-5b9ea9aa]{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px}.btn-primary[data-v-5b9ea9aa]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-5b9ea9aa]{padding:6px 14px;font-size:13px}.btn-lg[data-v-5b9ea9aa]{width:100%;margin-top:12px;padding:14px 28px;font-size:16px}.btn-danger[data-v-5b9ea9aa]{color:#e74c3c;background:0 0;border-color:#e74c3c}.btn-danger[data-v-5b9ea9aa]:hover{background:#fdecea}.btn[data-v-5b9ea9aa]:disabled{opacity:.6}.confirm-text[data-v-5b9ea9aa]{color:#555;margin:0 0 20px;font-size:15px;line-height:1.6}.key-input-row[data-v-5b9ea9aa]{gap:8px;display:flex}.key-input-row input[data-v-5b9ea9aa]{flex:1}.key-helper[data-v-5b9ea9aa]{white-space:nowrap;background:#f0f0f0;border:1px solid #ddd;flex-shrink:0}.modal-overlay[data-v-5b9ea9aa]{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-5b9ea9aa]{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-5b9ea9aa]{margin:0 0 16px;font-size:16px}.modal-body[data-v-5b9ea9aa]{margin-bottom:16px}.tip[data-v-5b9ea9aa]{color:#888;text-align:center;padding:16px 0}.modal-footer[data-v-5b9ea9aa]{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.btn-remove-all[data-v-5b9ea9aa]{color:#e74c3c;border-color:#e74c3c}.shuttle-modal[data-v-5b9ea9aa]{width:680px}.shuttle-body[data-v-5b9ea9aa]{flex-direction:column;display:flex}.shuttle-search[data-v-5b9ea9aa]{margin-bottom:12px}.shuttle-search input[data-v-5b9ea9aa]{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-5b9ea9aa]{gap:16px;display:flex}.shuttle-panel[data-v-5b9ea9aa]{border:1px solid #eee;border-radius:8px;flex-direction:column;flex:1;display:flex}.panel-title[data-v-5b9ea9aa]{color:#666;background:#f9f9f9;border-bottom:1px solid #eee;border-radius:8px 8px 0 0;padding:10px 14px;font-size:13px;font-weight:600}.panel-list[data-v-5b9ea9aa]{flex:1;max-height:320px;padding:4px 0;overflow-y:auto}.shuttle-item[data-v-5b9ea9aa]{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-5b9ea9aa]:hover{background:#f5f6fa}.item-meta[data-v-5b9ea9aa]{color:#666;font-size:12px}.item-phone[data-v-5b9ea9aa]{color:#888;margin-left:auto;font-size:12px}.add-icon[data-v-5b9ea9aa]{color:#27ae60;font-size:18px;font-weight:700}.remove-icon[data-v-5b9ea9aa]{color:#e74c3c;font-size:18px;font-weight:700}.panel-more[data-v-5b9ea9aa]{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-70943f36]{padding:0}.page-header[data-v-70943f36]{margin-bottom:20px}.back-link[data-v-70943f36]{color:var(--primary);margin-bottom:8px;font-size:13px;text-decoration:none;display:block}h2[data-v-70943f36]{color:#333;margin:0;font-size:20px}.table[data-v-70943f36]{background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 4px #0000000f}.table th[data-v-70943f36],.table td[data-v-70943f36]{text-align:left;border-bottom:1px solid #eee;padding:12px 14px;font-size:14px}.table th[data-v-70943f36]{color:#555;background:#f9f9f9;font-weight:600}.actions-cell[data-v-70943f36]{gap:6px;display:flex}.empty[data-v-70943f36]{text-align:center;color:#888;padding:40px 0}.btn[data-v-70943f36]{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-70943f36]{padding:6px 14px;font-size:13px}.btn-rec[data-v-70943f36]{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-70943f36]:hover{background:#e8e8e8;border-color:#bbb}.btn-share[data-v-70943f36]{color:var(--primary);border-color:var(--primary)}.btn-share[data-v-70943f36]:hover{background:var(--primary-gradient);color:#fff;border-color:#0000}.vue-office-docx{height:100%;overflow-y:auto}.vue-office-docx .docx-wrapper>section.docx{margin-bottom:5px}@media screen and (width<=800px){.vue-office-docx .docx-wrapper{padding:10px}.vue-office-docx .docx-wrapper>section.docx{width:100%!important;padding:10px!important}}body{margin:0}.x-spreadsheet{-webkit-user-select:none;user-select:none;box-sizing:content-box;-webkit-font-smoothing:antialiased;background:#fff;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;font-size:13px;line-height:normal}.x-spreadsheet textarea{font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif}.x-spreadsheet-sheet{position:relative;overflow:hidden}.x-spreadsheet-table{vertical-align:bottom}.x-spreadsheet-tooltip{color:#fff;z-index:201;background:#000;border-radius:1px;padding:5px 10px;font-family:inherit;font-size:12px;position:absolute}.x-spreadsheet-tooltip:before{pointer-events:none;content:"";background:inherit;z-index:1;width:8px;height:8px;position:absolute;top:-4px;left:calc(50% - 4px);transform:rotate(45deg);box-shadow:1px 1px 3px -1px #0000004d}.x-spreadsheet-color-palette{padding:5px}.x-spreadsheet-color-palette table{border-collapse:separate;border-spacing:2px;background:#fff;margin:0;padding:0}.x-spreadsheet-color-palette table td{cursor:pointer;border:1px solid #0000;margin:0}.x-spreadsheet-color-palette table td:hover{border-color:#ddd}.x-spreadsheet-color-palette table td .x-spreadsheet-color-palette-cell{width:16px;height:16px}.x-spreadsheet-border-palette{padding:6px}.x-spreadsheet-border-palette table{border-collapse:separate;border-spacing:0;table-layout:fixed;background:#fff;margin:0;padding:0}.x-spreadsheet-border-palette table td{margin:0}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left{border-right:1px solid #eee;padding-right:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell{cursor:pointer;text-align:center;width:30px;height:30px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell:hover{background-color:#eee}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right{padding-left:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-line-type{position:relative;top:-3px;left:0}.x-spreadsheet-dropdown{position:relative}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-content{z-index:200;background:#fff;position:absolute;box-shadow:1px 2px 5px 2px #33333326}.x-spreadsheet-dropdown.bottom-left .x-spreadsheet-dropdown-content{top:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.bottom-right .x-spreadsheet-dropdown-content{top:calc(100% + 5px);right:0}.x-spreadsheet-dropdown.top-left .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.top-right .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);right:0}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-title{padding:0 5px;display:inline-block}.x-spreadsheet-resizer{z-index:11;position:absolute}.x-spreadsheet-resizer .x-spreadsheet-resizer-hover{background-color:#4b89ff40}.x-spreadsheet-resizer .x-spreadsheet-resizer-line{position:absolute}.x-spreadsheet-resizer.horizontal{cursor:row-resize}.x-spreadsheet-resizer.horizontal .x-spreadsheet-resizer-line{border-bottom:2px dashed #4b89ff;bottom:0;left:0}.x-spreadsheet-resizer.vertical{cursor:col-resize}.x-spreadsheet-resizer.vertical .x-spreadsheet-resizer-line{border-right:2px dashed #4b89ff;top:0;right:0}.x-spreadsheet-scrollbar{opacity:.9;z-index:12;background-color:#f4f5f8;position:absolute;bottom:0;right:0}.x-spreadsheet-scrollbar.horizontal{right:15px;overflow:scroll hidden}.x-spreadsheet-scrollbar.horizontal>div{background:#ddd;height:1px}.x-spreadsheet-scrollbar.vertical{bottom:15px;overflow:hidden scroll}.x-spreadsheet-scrollbar.vertical>div{background:#ddd;width:1px}.x-spreadsheet-overlayer{z-index:10;position:absolute;top:0;left:0}.x-spreadsheet-overlayer .x-spreadsheet-overlayer-content{pointer-events:none;width:100%;height:100%;position:absolute;overflow:hidden}.x-spreadsheet-editor,.x-spreadsheet-selector{box-sizing:content-box;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.x-spreadsheet-selector .hide-input{z-index:0;position:absolute}.x-spreadsheet-selector .hide-input input{width:0;padding:0;border:none!important}.x-spreadsheet-selector .x-spreadsheet-selector-area{z-index:5;background:#4b89ff1a;border:2px solid #4b89ff;position:absolute}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard,.x-spreadsheet-selector .x-spreadsheet-selector-autofill{z-index:100;background:0 0;position:absolute}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard{border:2px dashed #4b89ff}.x-spreadsheet-selector .x-spreadsheet-selector-autofill{border:1px dashed #00000073}.x-spreadsheet-selector .x-spreadsheet-selector-corner{pointer-events:auto;cursor:crosshair;background:#4b89ff;border:2px solid #fff;width:5px;height:5px;font-size:0;position:absolute;bottom:-5px;right:-5px}.x-spreadsheet-editor{z-index:20}.x-spreadsheet-editor .x-spreadsheet-editor-area{text-align:left;z-index:100;pointer-events:auto;border:2px solid #4b89ff;line-height:0;position:absolute}.x-spreadsheet-editor .x-spreadsheet-editor-area textarea{box-sizing:content-box;resize:none;text-align:start;color:inherit;white-space:normal;word-wrap:break-word;border:none;outline:none;margin:0;padding:0 3px;font:400 13px/22px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif;overflow-y:hidden}.x-spreadsheet-editor .x-spreadsheet-editor-area .textline{visibility:hidden;position:fixed;top:0;left:0;overflow:hidden}.x-spreadsheet-item{-webkit-user-select:none;user-select:none;color:#000000e6;cursor:default;text-align:left;background:0;border:1px solid #0000;outline:none;height:26px;padding:2px 10px;line-height:26px;list-style:none;overflow:hidden}.x-spreadsheet-item.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-item:hover,.x-spreadsheet-item.active{background:#0000000d}.x-spreadsheet-item.divider{border:none;border-bottom:1px solid #0000001a;height:0;margin:5px 0;padding:0}.x-spreadsheet-item .label{float:right;opacity:.65;font-size:1em}.x-spreadsheet-item.state,.x-spreadsheet-header.state{position:relative;padding-left:35px!important}.x-spreadsheet-item.state:before,.x-spreadsheet-header.state:before{content:"";background:#00000014;border-radius:2px;width:10px;height:10px;position:absolute;top:calc(50% - 5px);left:12px}.x-spreadsheet-item.state.checked:before,.x-spreadsheet-header.state.checked:before{background:#4b89ff}.x-spreadsheet-checkbox{backface-visibility:hidden;vertical-align:baseline;outline:0;font-size:1rem;font-style:normal;line-height:1em;display:inline-block;position:relative}.x-spreadsheet-checkbox>input{z-index:-1;outline:0;position:absolute;top:0;left:0;opacity:0!important}.x-spreadsheet-suggest,.x-spreadsheet-contextmenu,.x-spreadsheet-sort-filter{z-index:100;pointer-events:auto;background:#fff;width:260px;position:absolute;overflow:auto;box-shadow:1px 2px 5px 2px #33333326}.x-spreadsheet-suggest{width:200px}.x-spreadsheet-filter{border:1px solid #e9e9e9;margin:10px;font-size:12px}.x-spreadsheet-filter .x-spreadsheet-header{background:#f8f8f9;border-bottom:1px solid #e9e9e9;border-left:1px solid #0000;padding:.5em .75em}.x-spreadsheet-filter .x-spreadsheet-body{height:200px;overflow-y:auto}.x-spreadsheet-filter .x-spreadsheet-body .x-spreadsheet-item{height:20px;line-height:20px}.x-spreadsheet-sort-filter .x-spreadsheet-buttons{margin:10px}.x-spreadsheet-bottombar{text-align:left;background:#f5f6f7;border-top:1px solid #e0e2e4;height:40px;padding:0 30px;display:flex;position:relative}.x-spreadsheet-bottombar .x-spreadsheet-menu>li{vertical-align:middle;border-right:1px solid #e8eaed;height:40px;padding-top:0;padding-bottom:0;line-height:40px}.x-spreadsheet-menu{-webkit-user-select:none;user-select:none;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.x-spreadsheet-menu>li{float:left;vertical-align:middle;text-align:left;color:#80868b;white-space:nowrap;cursor:pointer;margin:0;padding:.785em 1em;font-weight:700;line-height:1.25em;transition:all .3s}.x-spreadsheet-menu>li.active{color:#000000a6;background-color:#fff}.x-spreadsheet-menu>li .x-spreadsheet-dropdown{display:inline-block}.x-spreadsheet-print{z-index:100;flex-direction:column;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.x-spreadsheet-print-bar{background:#424242;height:60px;padding:0 30px;line-height:60px}.x-spreadsheet-print-bar .-title{color:#fff;float:left;font-size:1.2em;font-weight:700}.x-spreadsheet-print-bar .-right{float:right;margin-top:12px}.x-spreadsheet-print-content{background:#d0d0d0;flex-direction:row;flex:auto;height:calc(100% - 60px);display:flex}.x-spreadsheet-print-content .-sider{background:#fff;border-left:2px solid #ccc;flex:0 0 300px;width:300px}.x-spreadsheet-print-content .-content{flex:auto;height:100%;overflow:auto scroll}.x-spreadsheet-canvas-card-wraper{margin:40px 20px}.x-spreadsheet-canvas-card{page-break-before:auto;page-break-after:always;background:#fff;margin:auto;box-shadow:0 8px 10px 1px #00000024,0 3px 14px 3px #0000001f,0 4px 5px #0003}.x-spreadsheet-calendar{color:#000000a6;-webkit-user-select:none;user-select:none;background:#fff}.x-spreadsheet-calendar .calendar-header{text-align:center;float:left;background:#f9fafb;width:100%;font-weight:700;line-height:30px}.x-spreadsheet-calendar .calendar-header .calendar-header-left{float:left;padding-left:5px}.x-spreadsheet-calendar .calendar-header .calendar-header-right{float:right}.x-spreadsheet-calendar .calendar-header .calendar-header-right a{border-radius:2px;margin-right:2px;padding:3px 0}.x-spreadsheet-calendar .calendar-header .calendar-header-right a:hover{background:#00000014}.x-spreadsheet-calendar .calendar-body{border-collapse:collapse;border-spacing:0}.x-spreadsheet-calendar .calendar-body th,.x-spreadsheet-calendar .calendar-body td{text-align:center;width:14.2857%;min-width:32px;padding:0;font-weight:700;line-height:30px}.x-spreadsheet-calendar .calendar-body td>.cell:hover{background:#ecf6fd}.x-spreadsheet-calendar .calendar-body td>.cell.active,.x-spreadsheet-calendar .calendar-body td>.cell.active:hover{color:#2185d0;background:#ecf6fd}.x-spreadsheet-calendar .calendar-body td>.cell.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-datepicker{z-index:10;width:auto;position:absolute;top:calc(100% + 5px);left:0;box-shadow:2px 2px 5px #0003}.x-spreadsheet-buttons{justify-content:flex-end;display:flex}.x-spreadsheet-buttons .x-spreadsheet-button{margin-left:8px}.x-spreadsheet-button{white-space:nowrap;text-align:center;cursor:pointer;color:#0009;vertical-align:baseline;zoom:1;-webkit-user-select:none;user-select:none;background:#e0e1e2;border-radius:3px;outline:none;min-height:1em;padding:.75em 1em;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-size:1em;font-weight:700;line-height:1em;text-decoration:none;transition:all .1s linear;display:inline-block}.x-spreadsheet-button.active,.x-spreadsheet-button:hover{color:#000c;background-color:#c0c1c2}.x-spreadsheet-button.primary{color:#fff;background-color:#2185d0}.x-spreadsheet-button.primary:hover,.x-spreadsheet-button.primary.active{color:#fff;background-color:#1678c2}.x-spreadsheet-form-input{color:#000000de;font-size:1em;font-weight:400;display:inline-flex;position:relative}.x-spreadsheet-form-input input{z-index:1;-webkit-tap-highlight-color:#fff0;text-align:left;background:#fff;border:1px solid #e9e9e9;border-radius:3px;outline:0;flex:1 0 auto;max-width:100%;height:30px;margin:0;padding:0 8px;line-height:30px;transition:box-shadow .1s,border-color .1s;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-input input:focus{border-color:#4b89ff;box-shadow:inset 0 1px 2px #4b89ff33}.x-spreadsheet-form-select{cursor:pointer;color:#000000de;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e9e9e9;border-radius:2px;display:inline-block;position:relative;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-select .input-text{text-overflow:ellipsis;white-space:nowrap;width:auto;min-width:60px;height:30px;padding:0 8px;line-height:30px}.x-spreadsheet-form-fields{flex-flow:wrap;display:flex}.x-spreadsheet-form-fields .x-spreadsheet-form-field{flex:0 auto}.x-spreadsheet-form-fields .x-spreadsheet-form-field .label{margin:0 10px 0 0;display:inline-block}.x-spreadsheet-form-field{vertical-align:middle;margin-bottom:10px;margin-left:10px;display:block}.x-spreadsheet-form-field:first-child{margin-left:0}.x-spreadsheet-form-field.error .x-spreadsheet-form-select,.x-spreadsheet-form-field.error input{border-color:#f04134}.x-spreadsheet-form-field .tip{color:#f04134;font-size:.9em}.x-spreadsheet-dimmer{text-align:center;vertical-align:middle;opacity:0;-webkit-user-select:none;user-select:none;z-index:1000;background-color:#0009;width:100%;height:100%;transition:background-color .5s linear;animation-duration:.5s;animation-fill-mode:both;display:none;position:absolute;top:0!important;left:0!important}.x-spreadsheet-dimmer.active{opacity:1;display:block}form fieldset{border:none}form fieldset label{color:#666;margin-bottom:.5em;font-size:1em;display:block}form fieldset select{background-color:#fff;border:none;border-bottom:2px solid #ddd;border-radius:2px;width:100%;padding:.5em .85em;font-size:1.1em}.x-spreadsheet-modal,.x-spreadsheet-toast{z-index:1001;text-align:left;color:#000000de;background-color:#fff;background-clip:padding-box;border:1px solid #0000001a;border-radius:4px;min-width:360px;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;font-size:13px;line-height:1.25em;position:fixed;box-shadow:0 2px 8px #0003}.x-spreadsheet-toast{background-color:#ffffffd9}.x-spreadsheet-modal-header,.x-spreadsheet-toast-header{background-color:#ffffffd9;background-clip:padding-box;border-bottom:1px solid #0000000d;border-radius:4px 4px 0 0;font-weight:600}.x-spreadsheet-toast-header{color:#f2711c}.x-spreadsheet-modal-header{background:#00000014;border-bottom:1px solid #e0e2e4;font-size:1.0785em}.x-spreadsheet-modal-header,.x-spreadsheet-modal-content,.x-spreadsheet-toast-header,.x-spreadsheet-toast-content{padding:.75em 1em}.x-spreadsheet-menu li:first-child{display:none}.vue-office-excel{height:100%}.work-detail[data-v-4d6a521e]{padding:0}.page-header[data-v-4d6a521e]{margin-bottom:20px}.title-row[data-v-4d6a521e]{align-items:center;gap:10px;display:flex}.title-row h2[data-v-4d6a521e]{flex:1}.back-link[data-v-4d6a521e]{color:var(--primary);margin-bottom:8px;font-size:13px;text-decoration:none;display:block}h2[data-v-4d6a521e]{color:#333;margin:0;font-size:20px}.btn-rec[data-v-4d6a521e]{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-4d6a521e]:hover{background:#e8e8e8;border-color:#bbb}h3[data-v-4d6a521e]{color:#555;margin:0 0 12px;font-size:16px}.section[data-v-4d6a521e]{background:#fff;border-radius:8px;margin-bottom:16px;padding:20px;box-shadow:0 1px 4px #0000000f}.file-box[data-v-4d6a521e]{margin-bottom:16px}.file-box[data-v-4d6a521e]:last-child{margin-bottom:0}.fb-head[data-v-4d6a521e]{color:#333;margin-bottom:10px;font-size:14px;font-weight:600}.img-grid[data-v-4d6a521e]{flex-wrap:wrap;gap:10px;display:flex}.img-item[data-v-4d6a521e]{cursor:pointer;background:#f0f0f0;border-radius:8px;width:100px;height:100px;position:relative;overflow:hidden}.img-item img[data-v-4d6a521e]{object-fit:cover;width:100%;height:100%}.video-card[data-v-4d6a521e]{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-4d6a521e]{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-4d6a521e]{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-4d6a521e],.video-card:hover .hover-actions[data-v-4d6a521e]{opacity:1}.ha-btn[data-v-4d6a521e]{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-4d6a521e]:hover{background:#ffffff59}.doc-list[data-v-4d6a521e]{flex-direction:column;gap:6px;display:flex}.doc-row[data-v-4d6a521e]{cursor:pointer;background:#f9f9f9;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;display:flex}.doc-row[data-v-4d6a521e]:hover{background:#f0f0f0}.dname[data-v-4d6a521e]{color:#333;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.dlink[data-v-4d6a521e],.dlink-dummy[data-v-4d6a521e]{color:var(--primary);font-size:12px;font-weight:600;text-decoration:none}.dlink[data-v-4d6a521e]:hover{text-decoration:underline}.doc-viewer[data-v-4d6a521e]{background:#fff;border-radius:8px;overflow:hidden}.doc-unsupported[data-v-4d6a521e]{color:#888;padding:40px;font-size:15px}.grade-row[data-v-4d6a521e]{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-4d6a521e]{align-items:center;gap:8px;display:flex}.grade-teacher[data-v-4d6a521e]{color:#333;flex-shrink:0;width:80px;font-size:15px;font-weight:600}.grade-label[data-v-4d6a521e]{color:#888;flex-shrink:0;width:36px;font-size:13px}.grade-header input[data-v-4d6a521e]{border:1px solid #ddd;border-radius:6px;outline:none;width:80px;padding:6px 10px;font-size:14px}.grade-comment[data-v-4d6a521e]{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-4d6a521e]{align-items:flex-start;gap:8px;margin-left:88px;display:flex}.grade-save[data-v-4d6a521e]{align-self:flex-start;margin-left:132px}.grade-value[data-v-4d6a521e]{color:#333;font-size:14px}.final-row[data-v-4d6a521e]{align-items:center;gap:12px;font-size:14px;display:flex}.final-row input[data-v-4d6a521e]{border:1px solid #ddd;border-radius:6px;outline:none;padding:8px;font-size:15px}.btn[data-v-4d6a521e]{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px}.btn-primary[data-v-4d6a521e]{background:var(--primary-gradient);color:#fff;border-color:#0000}.btn-sm[data-v-4d6a521e]{padding:6px 14px;font-size:13px}.tip[data-v-4d6a521e]{color:#888;padding:8px 0;font-size:14px}.lightbox[data-v-4d6a521e]{z-index:9999;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox img[data-v-4d6a521e]{border-radius:8px;max-width:90vw;max-height:90vh}.lightbox-close[data-v-4d6a521e]{color:#fff;cursor:pointer;background:0 0;border:none;font-size:36px;position:absolute;top:20px;right:30px}.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}
