.login-container[data-v-1c9d925b]{background:linear-gradient(135deg,#eefaf7 0%,#f4fbf9 50%,#fbfaf5 100%);justify-content:center;align-items:center;min-height:100vh;margin:0;padding:20px;display:flex;position:relative;overflow:hidden}.login-container[data-v-1c9d925b]:before{content:"";pointer-events:none;background:radial-gradient(circle,#02bfad26 0%,#02bfad00 70%);width:350px;height:350px;position:absolute;top:-50px;left:-50px}.login-container[data-v-1c9d925b]:after{content:"";pointer-events:none;background:radial-gradient(circle,#e3d5c126 0%,#e3d5c100 70%);width:400px;height:400px;position:absolute;bottom:-100px;right:-100px}.auth-card[data-v-1c9d925b]{-webkit-backdrop-filter:blur(10px);z-index:10;background:#fffffff2;border:1px solid #ffffff80;border-top:4px solid #02bfad;border-radius:16px;width:100%;max-width:420px;padding:2.5rem;box-shadow:0 15px 35px #003a8c0f}.auth-logo[data-v-1c9d925b]{text-align:center;margin-bottom:2rem}.logo-wrapper[data-v-1c9d925b]{background:#02bfad;border-radius:12px;margin-bottom:12px;padding:10px 24px;display:inline-block;box-shadow:0 4px 12px #02bfad2e}.auth-title[data-v-1c9d925b]{color:#008c7e;margin-top:12px;font-size:1.15rem;font-weight:800;line-height:1.4}.auth-subtitle[data-v-1c9d925b]{color:#689c97;margin-top:6px;font-size:.85rem;font-weight:600;display:block}.auth-form .form-group[data-v-1c9d925b]{margin-bottom:1.2rem}.auth-form label[data-v-1c9d925b]{color:#5c7a76;letter-spacing:.02em;margin-bottom:6px;font-size:.82rem;font-weight:700;display:block}.auth-form input[data-v-1c9d925b]{color:#2b2b2b;box-sizing:border-box;background:#fcfdfe;border:1.5px solid #dcdcdc;border-radius:8px;outline:none;width:100%;padding:12px 14px;font-family:inherit;font-size:.95rem;transition:all .2s}.auth-form input[data-v-1c9d925b]::placeholder{color:#bfbfbf}.auth-form input[data-v-1c9d925b]:focus{background:#fff;border-color:#02bfad;box-shadow:0 0 0 3px #02bfad1f}.auth-error[data-v-1c9d925b]{color:#cf1322;background:#fff1f0;border:1px solid #ffa39e;border-radius:6px;margin-bottom:1.2rem;padding:10px 12px;font-size:.85rem}.auth-submit[data-v-1c9d925b]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#02bfad 0%,#009e8e 100%);border:none;border-radius:8px;width:100%;margin-top:.5rem;padding:13px;font-size:1rem;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #02bfad40}.auth-submit[data-v-1c9d925b]:hover:not(:disabled){opacity:.95;transform:translateY(-1px);box-shadow:0 6px 16px #02bfad59}.auth-submit[data-v-1c9d925b]:active:not(:disabled){transform:translateY(0)}.auth-submit[data-v-1c9d925b]:disabled{color:#94a3b8;cursor:not-allowed;box-shadow:none;background:#cbd5e1}.import-area[data-v-d965485a]{background:#fff;border:1px solid #0000000d;border-radius:10px;padding:2rem;box-shadow:4px 4px #003a8c0f}.upload-box[data-v-d965485a]{text-align:center;cursor:pointer;color:var(--text-muted);border:2px dashed #bfbfbf;border-radius:12px;padding:3rem 2rem;transition:border-color .2s,background .2s}.upload-box[data-v-d965485a]:hover:not(.disabled),.upload-box.dragover[data-v-d965485a]{border-color:var(--primary);background:#f0f5ff}.upload-box.disabled[data-v-d965485a]{cursor:default}.spinner[data-v-d965485a]{border:4px solid #f3f3f3;border-top:4px solid var(--primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin-d965485a;display:inline-block}@keyframes spin-d965485a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.preview-header[data-v-d965485a]{justify-content:space-between;align-items:center;margin-bottom:1.2rem;display:flex}.preview-summary-bar[data-v-d965485a]{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:.5rem;padding:10px 16px;display:flex}.summary-chip[data-v-d965485a]{border-radius:20px;padding:4px 12px;font-size:.85rem;font-weight:600}.summary-chip.success[data-v-d965485a]{color:#389e0d;background:#f6ffed;border:1px solid #b7eb8f}.summary-chip.error[data-v-d965485a]{color:#d46b08;background:#fff7e6;border:1px solid #ffd591}.summary-chip.neutral[data-v-d965485a]{color:#1a56db;background:#f0f5ff;border:1px solid #adc6ff}.summary-chip.update[data-v-d965485a]{color:#c41d7f;background:#fff0f6;border:1px solid #ffadd2}.preview-table-label[data-v-d965485a]{color:var(--text-main);padding:8px 0 10px;font-size:.88rem;font-weight:700}.type-badge[data-v-d965485a]{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:700}.type-badge.new[data-v-d965485a]{color:#1a56db;background:#f0f5ff}.type-badge.update[data-v-d965485a]{color:#c41d7f;background:#fff0f6}.category-badge[data-v-d965485a]{border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:700}.category-badge.student[data-v-d965485a]{color:#0958d9;background:#e6f4ff}.category-badge.teacher[data-v-d965485a]{color:#d46b08;background:#fff7e6}.confirm-action-bar[data-v-d965485a]{text-align:center;border-top:1px solid #f0f0f0;margin-top:1.5rem;padding-top:1.2rem}.no-data-warning[data-v-d965485a]{color:#cf1322;font-size:.9rem;font-weight:700}.btn-confirm-import[data-v-d965485a]{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 28px;font-size:.95rem;font-weight:700;transition:opacity .2s}.btn-confirm-import[data-v-d965485a]:hover:not(:disabled){opacity:.9}.btn-confirm-import[data-v-d965485a]:disabled{opacity:.6;cursor:not-allowed}.btn-back[data-v-d965485a]{color:var(--text-muted);cursor:pointer;background:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:6px 14px;font-size:.85rem;font-weight:600;transition:border-color .15s,color .15s}.btn-back[data-v-d965485a]:hover{border-color:var(--primary);color:var(--primary)}.import-summary-box[data-v-d965485a]{color:#1b2f58;background:#f6ffed;border:1px solid #b7eb8f;border-radius:8px;padding:1.5rem}.import-summary-box.error[data-v-d965485a]{background:#fff7e6;border-color:#ffd591}.import-summary-box h4[data-v-d965485a]{margin-bottom:10px;font-size:1.05rem}.import-summary-box ul[data-v-d965485a]{margin-bottom:1rem;padding-left:20px}.import-errors-list[data-v-d965485a]{background:#fff;border:1px solid #ffccc7;border-radius:6px;max-height:200px;margin-top:10px;padding:10px;overflow-y:auto}.error-item[data-v-d965485a]{color:#cf1322;border-bottom:1px dashed #f0f0f0;padding:4px 0;font-size:.85rem}.error-item[data-v-d965485a]:last-child{border-bottom:none}.section-title[data-v-d965485a]{color:var(--primary);margin-top:2.5rem;margin-bottom:1.5rem;font-size:1.1rem}table[data-v-d965485a]{border-collapse:collapse;width:100%}thead[data-v-d965485a]{background:#fafafa}th[data-v-d965485a]{text-align:left;color:var(--text-muted);letter-spacing:.04em;border-bottom:1px solid #e8e8e8;padding:14px 16px;font-size:.82rem;font-weight:700}td[data-v-d965485a]{color:var(--text-main);vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:14px 16px;font-size:.9rem}tr:hover td[data-v-d965485a]{background:#fafcff}.empty-hint[data-v-d965485a]{text-align:center;color:var(--text-muted);padding:2rem;font-size:.88rem}.divider[data-v-d965485a]{text-align:center;color:var(--text-muted);align-items:center;margin:1.5rem 0;display:flex}.divider[data-v-d965485a]:before,.divider[data-v-d965485a]:after{content:"";border-bottom:1px solid #f0f0f0;flex:1}.divider[data-v-d965485a]:not(:empty):before{margin-right:.75em}.divider[data-v-d965485a]:not(:empty):after{margin-left:.75em}.sheet-link-box[data-v-d965485a]{margin-top:1rem}.input-label[data-v-d965485a]{color:var(--text-main);margin-bottom:.5rem;font-size:.9rem;font-weight:700;display:block}.input-group[data-v-d965485a]{gap:10px;display:flex}.url-input[data-v-d965485a]{border:1px solid #d9d9d9;border-radius:6px;outline:none;flex:1;padding:.6rem 1rem;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.url-input[data-v-d965485a]:focus{border-color:var(--primary);box-shadow:0 0 0 2px #1890ff33}.btn-import-url[data-v-d965485a]{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:0 1.5rem;font-weight:700;transition:opacity .2s}.btn-import-url[data-v-d965485a]:hover:not(:disabled){opacity:.9}.btn-import-url[data-v-d965485a]:disabled{color:#bfbfbf;cursor:not-allowed;background:#f5f5f5;border:1px solid #d9d9d9}.hint-text[data-v-d965485a]{color:var(--text-muted);margin-top:8px;font-size:.8rem;display:block}.admin-table-wrap[data-v-d965485a]{background:#fff;border:1px solid #e8e8e8;border-radius:10px;overflow:auto hidden}.admin-stats[data-v-2e04d9df]{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-bottom:2rem;display:grid}.admin-stat-card[data-v-2e04d9df]{border-left:4px solid var(--accent);background:#fff;border-radius:10px;padding:1.2rem 1.5rem;box-shadow:4px 4px #003a8c0f}.admin-stat-card .stat-label[data-v-2e04d9df]{color:var(--text-muted);margin-bottom:6px;font-size:.8rem;font-weight:700}.admin-stat-card .stat-value[data-v-2e04d9df]{color:var(--primary);font-size:2.2rem;font-weight:900;line-height:1}.status-badge[data-v-2e04d9df]{border-radius:20px;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-block}.status-pending[data-v-2e04d9df]{color:#fff;background:#f59e0b}.status-approved[data-v-2e04d9df]{color:#fff;background:#16a34a}.status-rejected[data-v-2e04d9df]{color:#fff;background:#dc2626}.table-action-btn[data-v-2e04d9df]{cursor:pointer;background:#fff;border:1px solid #d9d9d9;border-radius:6px;margin-right:6px;padding:5px 12px;font-size:.8rem;font-weight:700;transition:all .15s}.table-action-btn[data-v-2e04d9df]:hover{background:#f5f5f5}.table-action-btn.approve[data-v-2e04d9df]{color:#389e0d;border-color:#b7eb8f}.table-action-btn.approve[data-v-2e04d9df]:hover{background:#f6ffed}.table-action-btn.reject[data-v-2e04d9df]{color:#cf1322;border-color:#ffa39e}.table-action-btn.reject[data-v-2e04d9df]:hover{background:#fff1f0}.table-action-btn.delete[data-v-2e04d9df]{color:#c41d7f;border-color:#ffadd2}.table-action-btn.delete[data-v-2e04d9df]:hover{background:#fff0f6}.modal-overlay-fixed[data-v-2e04d9df]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#0a0a1e80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pagination-bar[data-v-2e04d9df]{background:#fafafa;border-top:1px solid #f0f0f0;justify-content:center;align-items:center;gap:15px;padding:1.5rem;display:flex}.pagination-bar button[data-v-2e04d9df]{cursor:pointer;background:#fff;border:1px solid #d9d9d9;border-radius:4px;padding:6px 16px;font-size:.85rem}.pagination-bar button[data-v-2e04d9df]:disabled{cursor:not-allowed;color:#bfbfbf;background:#f0f0f0}.privacy-dot[data-v-2e04d9df]{font-size:.75rem;font-weight:700}.privacy-dot[data-v-2e04d9df]:before{margin-right:4px}.privacy-dot.unlisted[data-v-2e04d9df]{color:#389e0d}.privacy-dot.unlisted[data-v-2e04d9df]:before{content:"✓";color:#52c41a}.privacy-dot.public[data-v-2e04d9df]:before,.privacy-dot.private[data-v-2e04d9df]:before,.privacy-dot.unknown[data-v-2e04d9df]:before{content:"⚠️"}.privacy-dot.public[data-v-2e04d9df],.privacy-dot.private[data-v-2e04d9df],.privacy-dot.unknown[data-v-2e04d9df]{color:#ad6800}.refresh-yt-btn[data-v-2e04d9df]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;font-size:.8rem;transition:all .2s;display:inline-flex}.refresh-yt-btn[data-v-2e04d9df]:hover:not(:disabled){color:var(--primary);background-color:#0000000d}.refresh-yt-btn[data-v-2e04d9df]:disabled{cursor:not-allowed;opacity:.6}@keyframes spin-2e04d9df{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning[data-v-2e04d9df]{animation:1.2s linear infinite spin-2e04d9df}.admin-modal-overlay[data-v-2e04d9df]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;opacity:0;pointer-events:none;background:#0a0a1e80;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.admin-modal-overlay.active[data-v-2e04d9df]{opacity:1;pointer-events:all}.admin-modal[data-v-2e04d9df]{border-left:4px solid var(--accent);background:#fff;border-radius:12px;width:90%;max-height:90vh;padding:2rem 2.5rem;transition:transform .25s cubic-bezier(.165,.84,.44,1);overflow-y:auto;transform:translateY(20px);box-shadow:0 20px 50px #00000026}.admin-modal-overlay.active .admin-modal[data-v-2e04d9df]{transform:translateY(0)}.admin-modal h3[data-v-2e04d9df]{color:var(--primary);margin-bottom:1.5rem;font-size:1.3rem}.detail-row[data-v-2e04d9df]{gap:12px;margin-bottom:.8rem;font-size:.92rem;display:flex}.detail-label[data-v-2e04d9df]{color:var(--text-muted);min-width:100px;font-weight:700}.detail-value[data-v-2e04d9df]{color:var(--text-main);flex:1}.admin-modal-footer[data-v-2e04d9df]{border-top:1px solid #f0f0f0;justify-content:flex-end;gap:10px;margin-top:1.5rem;padding-top:15px;display:flex}.btn-cancel[data-v-2e04d9df]{cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:10px 24px;font-size:.9rem;font-weight:700;transition:background .15s}.btn-cancel[data-v-2e04d9df]:hover{background:#f5f5f5}.btn-save[data-v-2e04d9df]{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 28px;font-size:.9rem;font-weight:700;transition:opacity .15s}.btn-save[data-v-2e04d9df]:hover{opacity:.85}.section-header[data-v-2e04d9df]{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.section-header h3[data-v-2e04d9df]{color:var(--primary);margin:0;font-size:1.15rem}.import-trigger-btn[data-v-2e04d9df]{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 20px;font-size:.88rem;font-weight:700;transition:opacity .15s}.import-trigger-btn[data-v-2e04d9df]:hover{opacity:.85}.refresh-all-btn[data-v-2e04d9df]{color:var(--primary);border:1.5px solid var(--primary);cursor:pointer;background:#fff;border-radius:8px;padding:8px 16px;font-size:.88rem;font-weight:700;transition:background .15s}.refresh-all-btn[data-v-2e04d9df]:hover:not(:disabled){background:#eef2ff}.refresh-all-btn[data-v-2e04d9df]:disabled{opacity:.5;cursor:not-allowed}.import-modal[data-v-2e04d9df]{max-width:1600px;max-height:88vh;overflow-y:auto}.import-modal-header[data-v-2e04d9df]{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.import-modal-header h3[data-v-2e04d9df]{color:var(--primary);margin:0;font-size:1.2rem}table[data-v-2e04d9df]{border-collapse:collapse;width:100%}thead[data-v-2e04d9df]{background:#fafafa}th[data-v-2e04d9df]{text-align:left;color:var(--text-muted);letter-spacing:.04em;border-bottom:1px solid #e8e8e8;padding:14px 16px;font-size:.82rem;font-weight:700}td[data-v-2e04d9df]{color:var(--text-main);vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:14px 16px;font-size:.9rem}tr:hover td[data-v-2e04d9df]{background:#fafcff}.form-group[data-v-2e04d9df]{margin-bottom:1.2rem}.form-group label[data-v-2e04d9df]{color:var(--text-muted);margin-bottom:6px;font-size:.85rem;font-weight:700;display:block}.form-group input[data-v-2e04d9df],.form-group textarea[data-v-2e04d9df]{box-sizing:border-box;border:1px solid #e0e0e0;border-radius:8px;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:.95rem;transition:border .2s}.form-group input[data-v-2e04d9df]:focus,.form-group textarea[data-v-2e04d9df]:focus{border-color:var(--primary)}.form-group select[data-v-2e04d9df]{appearance:none;width:100%;color:var(--text-main);box-sizing:border-box;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:1.25rem;border:1.5px solid #e2e8f0;border-radius:8px;outline:none;padding:10px 36px 10px 16px;font-family:inherit;font-size:1.05rem;font-weight:500;transition:all .2s ease-in-out;box-shadow:0 1px 2px #0000000d}.form-group select[data-v-2e04d9df]:hover{border-color:#cbd5e1}.form-group select[data-v-2e04d9df]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #003a8c1f}.clear-all-btn[data-v-2e04d9df]{color:#fff;cursor:pointer;background:#cf1322;border:1.5px solid #cf1322;border-radius:8px;padding:8px 16px;font-size:.88rem;font-weight:700;transition:opacity .15s}.clear-all-btn[data-v-2e04d9df]:hover:not(:disabled){opacity:.85}.clear-all-btn[data-v-2e04d9df]:disabled{opacity:.5;cursor:not-allowed}.action-cell-wrapper[data-v-2e04d9df]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.file-status-text-indicators[data-v-2e04d9df]{letter-spacing:2px;cursor:help;-webkit-user-select:none;user-select:none;background:#fafafa;border:1px solid #e8e8e8;border-radius:6px;gap:1px;padding:3px 8px;font-size:.95rem;line-height:1;display:inline-flex}.action-buttons-group[data-v-2e04d9df]{align-items:center;display:flex}tr.warning-row td[data-v-2e04d9df]{background-color:#fff1f0}tr.warning-row:hover td[data-v-2e04d9df]{background-color:#ffccc7}.header-refresh-yt-btn[data-v-2e04d9df]{color:#08979c;cursor:pointer;background:#e6fffb;border:1px solid #87e8de;border-radius:4px;justify-content:center;align-items:center;padding:2px 6px;font-size:.72rem;line-height:1;transition:all .15s;display:inline-flex}.header-refresh-yt-btn[data-v-2e04d9df]:hover:not(:disabled){color:#fff;background:#08979c;border-color:#08979c}.header-refresh-yt-btn[data-v-2e04d9df]:disabled{opacity:.5;cursor:not-allowed}.admin-table-toolbar[data-v-2e04d9df]{align-items:center;gap:15px;margin-bottom:1.5rem;display:flex}.admin-filter-select[data-v-2e04d9df]{appearance:none;color:var(--text-main);cursor:pointer;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:1.25rem;border:1.5px solid #e2e8f0;border-radius:8px;outline:none;min-width:180px;padding:10px 36px 10px 16px;font-size:1.05rem;font-weight:500;transition:all .2s ease-in-out;box-shadow:0 1px 2px #0000000d}.admin-filter-select[data-v-2e04d9df]:hover{border-color:#cbd5e1}.admin-filter-select[data-v-2e04d9df]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #003a8c1f}.toolbar[data-v-14e54e06]{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.toolbar-left[data-v-14e54e06]{align-items:center;gap:10px;display:flex}.toolbar-left h3[data-v-14e54e06]{color:var(--primary);margin:0;font-size:1.1rem}table[data-v-14e54e06]{border-collapse:collapse;width:100%}thead[data-v-14e54e06]{background:#fafafa}th[data-v-14e54e06]{text-align:left;color:var(--text-muted);letter-spacing:.04em;white-space:nowrap;border-bottom:1px solid #e8e8e8;padding:14px 16px;font-size:.82rem;font-weight:700}td[data-v-14e54e06]{color:var(--text-main);vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:14px 16px;font-size:.9rem}tr:hover td[data-v-14e54e06]{background:#fafcff}.rank-cell[data-v-14e54e06]{color:var(--accent);text-align:center;font-weight:900}.avg-cell[data-v-14e54e06]{text-align:center}.avg-btn[data-v-14e54e06]{color:var(--primary);cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;padding:4px 14px;font-size:1rem;font-weight:700;transition:background .15s}.avg-btn[data-v-14e54e06]:hover{background:#dde4ff}.modal-overlay[data-v-14e54e06]{z-index:1000;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.detail-modal[data-v-14e54e06]{background:#fff;border-radius:12px;flex-direction:column;width:480px;max-width:92vw;max-height:80vh;display:flex;box-shadow:0 8px 32px #0000002e}.detail-modal-header[data-v-14e54e06]{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.detail-title[data-v-14e54e06]{color:var(--primary);margin-bottom:4px;font-size:1rem;font-weight:700}.detail-subtitle[data-v-14e54e06]{color:var(--text-muted);font-size:.82rem}.modal-close[data-v-14e54e06]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;padding:0;font-size:1rem;line-height:1}.modal-close[data-v-14e54e06]:hover{color:var(--text-main)}.detail-modal-body[data-v-14e54e06]{flex-direction:column;gap:12px;padding:16px 20px;display:flex;overflow-y:auto}.judge-row[data-v-14e54e06]{border:1px solid #f0f0f0;border-radius:8px;padding:12px 14px}.judge-row-top[data-v-14e54e06]{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.judge-name[data-v-14e54e06]{color:var(--text-main);font-size:.9rem;font-weight:600}.judge-score[data-v-14e54e06]{color:var(--primary);font-size:.95rem;font-weight:700}.judge-score--empty[data-v-14e54e06]{color:var(--text-muted);font-size:.85rem;font-weight:400}.judge-comment[data-v-14e54e06]{color:var(--text-muted);white-space:pre-wrap;border-top:1px dashed #e8e8e8;margin-top:6px;padding-top:6px;font-size:.85rem;line-height:1.6}.empty-hint[data-v-14e54e06]{text-align:center;color:var(--text-muted);padding:20px 0;font-size:.88rem}.section-header[data-v-dec06ea9]{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.section-header h3[data-v-dec06ea9]{color:var(--primary);margin:0;font-size:1.15rem}.send-btn[data-v-dec06ea9]{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:9px 22px;font-size:.9rem;font-weight:700;transition:opacity .15s}.send-btn[data-v-dec06ea9]:hover:not(:disabled){opacity:.85}.send-btn[data-v-dec06ea9]:disabled{opacity:.45;cursor:not-allowed}.select-all-label[data-v-dec06ea9]{cursor:pointer;color:var(--text-main);align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:flex}.select-all-label input[data-v-dec06ea9]{cursor:pointer;width:16px;height:16px}.sent-badge[data-v-dec06ea9]{color:#389e0d;font-size:.78rem;font-weight:700}.unsent-badge[data-v-dec06ea9]{color:var(--text-muted);font-size:.78rem}.preview-btn[data-v-dec06ea9]{color:var(--primary);background:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:4px 12px;font-size:.8rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-block}.preview-btn[data-v-dec06ea9]:hover{border-color:var(--primary);background:#f0f5ff}table[data-v-dec06ea9]{border-collapse:collapse;width:100%}thead[data-v-dec06ea9]{background:#fafafa}th[data-v-dec06ea9]{text-align:left;color:var(--text-muted);letter-spacing:.04em;border-bottom:1px solid #e8e8e8;padding:14px 16px;font-size:.82rem;font-weight:700}td[data-v-dec06ea9]{color:var(--text-main);vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:12px 16px;font-size:.9rem}tr:hover td[data-v-dec06ea9]{background:#fafcff}.admin-modal-overlay[data-v-dec06ea9]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;opacity:0;pointer-events:none;background:#0a0a1e80;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.admin-modal-overlay.active[data-v-dec06ea9]{opacity:1;pointer-events:all}.admin-modal[data-v-dec06ea9]{border-left:4px solid var(--accent);background:#fff;border-radius:12px;width:90%;max-height:90vh;padding:2rem 2.5rem;overflow-y:auto;box-shadow:0 20px 50px #00000026}.admin-modal h3[data-v-dec06ea9]{color:var(--primary);margin-bottom:1.5rem;font-size:1.2rem}.send-result-summary[data-v-dec06ea9]{gap:20px;margin-bottom:1rem;display:flex}.result-stat[data-v-dec06ea9]{text-align:center;border-radius:8px;flex:1;padding:16px;font-size:.9rem;font-weight:700}.result-stat.success[data-v-dec06ea9]{color:#389e0d;background:#f6ffed}.result-stat.failed[data-v-dec06ea9]{color:#cf1322;background:#fff1f0}.result-num[data-v-dec06ea9]{margin-bottom:6px;font-size:2.5rem;font-weight:900;line-height:1}.admin-modal-footer[data-v-dec06ea9]{border-top:1px solid #f0f0f0;justify-content:flex-end;margin-top:1.5rem;padding-top:15px;display:flex}.btn-cancel[data-v-dec06ea9]{cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:10px 24px;font-size:.9rem;font-weight:700;transition:background .15s}.btn-cancel[data-v-dec06ea9]:hover{background:#f5f5f5}.toolbar[data-v-7c78051e]{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.toolbar h3[data-v-7c78051e]{color:var(--primary);margin:0;font-size:1.1rem}.personnel-list-panel[data-v-7c78051e]{background:#fff;border:1px solid #e8e8e8;border-radius:12px;overflow:hidden}.panel-section[data-v-7c78051e]{padding:20px 24px}.panel-section+.panel-section[data-v-7c78051e]{border-top:1px solid #f0f0f0}.panel-section-title[data-v-7c78051e]{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px;font-size:.78rem;font-weight:700}.personnel-item[data-v-7c78051e]{border-bottom:1px solid #f5f5f5;align-items:center;gap:10px;padding:10px 0;display:flex}.personnel-item[data-v-7c78051e]:last-child{border-bottom:none}.personnel-name[data-v-7c78051e]{color:var(--text-main);font-size:.9rem;font-weight:600}.personnel-username[data-v-7c78051e]{color:var(--text-muted);flex:1;font-size:.82rem}.admin-item[data-v-7c78051e]{width:100%}.personnel-name-col[data-v-7c78051e]{width:280px;color:var(--text-main);flex-shrink:0;font-size:.9rem;font-weight:600}.personnel-username-col[data-v-7c78051e]{width:120px;color:var(--text-muted);flex-shrink:0;font-size:.82rem}.personnel-actions-col[data-v-7c78051e]{flex-shrink:0;justify-content:flex-end;width:80px;margin-left:auto;display:flex}.judge-item[data-v-7c78051e]{gap:16px;width:100%}.judge-info-col[data-v-7c78051e]{flex-direction:column;flex-shrink:0;width:280px;display:flex}.judge-username-col[data-v-7c78051e]{width:120px;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:.82rem;overflow:hidden}.judge-progress-col[data-v-7c78051e]{text-align:center;color:var(--text-muted);flex:1;font-size:.85rem;font-weight:500}.judge-status-col[data-v-7c78051e]{text-align:center;flex-shrink:0;width:80px}.judge-actions-col[data-v-7c78051e]{flex-shrink:0;justify-content:flex-end;width:80px;display:flex}.badge[data-v-7c78051e]{letter-spacing:.03em;border-radius:20px;padding:2px 8px;font-size:.72rem;font-weight:700}.badge-active[data-v-7c78051e]{color:#00875a;background:#e6f7ee}.badge-inactive[data-v-7c78051e]{color:#999;background:#f5f5f5}.empty-hint[data-v-7c78051e]{color:var(--text-muted);padding:8px 0;font-size:.85rem}.item-actions[data-v-7c78051e]{gap:6px;margin-left:auto;display:flex}.action-btn[data-v-7c78051e]{cursor:pointer;border:1px solid #0000;border-radius:5px;padding:3px 10px;font-size:.75rem;font-weight:700;transition:opacity .15s}.action-btn[data-v-7c78051e]:hover{opacity:.8}.action-disable[data-v-7c78051e]{color:#e65100;background:#fff3e0;border-color:#ffcc80}.action-enable[data-v-7c78051e]{color:#2e7d32;background:#e8f5e9;border-color:#a5d6a7}.action-reset[data-v-7c78051e]{color:#5b21b6;background:#f3f0ff;border-color:#c4b5fd}.action-delete[data-v-7c78051e]{color:#c62828;background:#fce4e4;border-color:#ef9a9a}.btn-danger[data-v-7c78051e]{color:#fff;cursor:pointer;background:#d93025;border:none;border-radius:8px;padding:8px 20px;font-size:.88rem;font-weight:600}.btn-danger[data-v-7c78051e]:hover{background:#b71c1c}.btn-danger[data-v-7c78051e]:disabled{opacity:.6;cursor:not-allowed}.add-modal[data-v-7c78051e]{background:#fff;border-radius:12px;flex-direction:column;width:420px;max-width:90vw;max-height:90vh;display:flex;box-shadow:0 8px 32px #0000002e}.add-modal-header[data-v-7c78051e]{color:var(--primary);border-bottom:1px solid #f0f0f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;font-size:.95rem;font-weight:700;display:flex}.add-modal-body[data-v-7c78051e]{flex-direction:column;flex:1;gap:14px;padding:20px;display:flex;overflow-y:auto}.add-modal-footer[data-v-7c78051e]{border-top:1px solid #f0f0f0;flex-shrink:0;justify-content:flex-end;gap:10px;padding:16px 20px;display:flex}.type-toggle[data-v-7c78051e]{border:1px solid #e0e0e0;border-radius:8px;display:flex;overflow:hidden}.type-btn[data-v-7c78051e]{cursor:pointer;color:var(--text-muted);background:#fafafa;border:none;flex:1;padding:9px 0;font-size:.88rem;font-weight:600;transition:background .15s,color .15s}.type-btn.active[data-v-7c78051e]{background:var(--primary);color:#fff}.form-group[data-v-7c78051e]{flex-direction:column;gap:6px;display:flex}.form-group label[data-v-7c78051e]{color:var(--text-muted);letter-spacing:.03em;font-size:.8rem;font-weight:700}.form-input[data-v-7c78051e]{border:1px solid #e0e0e0;border-radius:7px;outline:none;padding:10px 12px;font-size:.9rem;transition:border-color .15s}.form-input[data-v-7c78051e]:focus{border-color:var(--primary)}.form-error[data-v-7c78051e]{color:#d93025;padding:2px 0;font-size:.83rem}.form-hint[data-v-7c78051e]{color:#666;background:#f6f6f6;border-radius:6px;padding:8px 12px;font-size:.83rem}.modal-overlay[data-v-7c78051e]{z-index:1000;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal[data-v-7c78051e]{background:#fff;border-radius:12px;width:380px;max-width:90vw;box-shadow:0 8px 32px #0000002e}.confirm-modal-header[data-v-7c78051e]{color:var(--primary);border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:16px 20px;font-size:.95rem;font-weight:700;display:flex}.modal-close[data-v-7c78051e]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.modal-close[data-v-7c78051e]:hover{color:var(--text-main)}.confirm-modal-body[data-v-7c78051e]{flex-direction:column;gap:12px;padding:20px;display:flex}.confirm-modal-body p[data-v-7c78051e]{color:var(--text-main);margin:0;font-size:.9rem}.confirm-modal-footer[data-v-7c78051e]{border-top:1px solid #f0f0f0;justify-content:flex-end;gap:10px;padding:16px 20px;display:flex}.btn-secondary[data-v-7c78051e]{color:var(--text-main);cursor:pointer;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;padding:8px 20px;font-size:.88rem;font-weight:600}.btn-secondary[data-v-7c78051e]:hover{background:#eee}.permissions-section[data-v-7c78051e]{flex-direction:column;gap:8px;display:flex}.permissions-label[data-v-7c78051e]{color:var(--text-muted);letter-spacing:.03em;font-size:.8rem;font-weight:700}.permissions-checkboxes[data-v-7c78051e]{background:#fafafa;border:1px solid #e0e0e0;border-radius:7px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.permissions-checkboxes label[data-v-7c78051e]{color:var(--text-main);cursor:pointer;letter-spacing:0;align-items:center;gap:8px;font-size:.88rem;font-weight:400;display:flex}.permissions-checkboxes input[type=checkbox][data-v-7c78051e]{cursor:pointer;width:15px;height:15px;accent-color:var(--primary)}.personnel-info[data-v-7c78051e]{flex-direction:column;gap:3px;display:flex}.perm-tags[data-v-7c78051e]{flex-wrap:wrap;gap:4px;display:flex}.perm-tag[data-v-7c78051e]{color:#1a56db;letter-spacing:.02em;background:#e8f0fe;border-radius:10px;padding:1px 6px;font-size:.68rem;font-weight:600}.btn-edit[data-v-7c78051e]{color:#1a56db;background:#f0f4ff;border-color:#c7d7fc}.btn-edit[data-v-7c78051e]:hover{background:#e0eaff}.error-msg[data-v-7c78051e]{color:#d93025;margin:0;font-size:.83rem}.modal-actions[data-v-7c78051e]{justify-content:flex-end;gap:10px;display:flex}.modal-actions button[data-v-7c78051e]{cursor:pointer;color:var(--text-main);background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;padding:8px 20px;font-size:.88rem;font-weight:600;transition:background .15s}.modal-actions button[data-v-7c78051e]:hover{background:#eee}.modal-actions button[data-v-7c78051e]:disabled{opacity:.6;cursor:not-allowed}.modal-actions .btn-save[data-v-7c78051e]{background:var(--primary);color:#fff;border-color:var(--primary)}.judge-custom-tags[data-v-7c78051e]{vertical-align:middle;gap:5px;margin-left:8px;display:inline-flex}.judge-tag-badge[data-v-7c78051e]{color:#2f54eb;white-space:nowrap;background:#f0f5ff;border:1px solid #adc6ff;border-radius:4px;padding:1px 6px;font-size:.72rem;font-weight:700}.modal-actions .btn-save[data-v-7c78051e]:hover{opacity:.88;background:var(--primary)}.system-settings[data-v-fa579ac5]{text-align:left}.section-header h3[data-v-fa579ac5]{color:var(--primary);margin-bottom:1.5rem;font-size:1.25rem;font-weight:800}.settings-grid[data-v-fa579ac5]{flex-direction:column;gap:1.5rem;display:flex}.settings-card[data-v-fa579ac5]{background:#fff;border:1px solid #0000000d;border-radius:10px;padding:1.5rem;box-shadow:4px 4px #003a8c0f}.settings-card.danger-card[data-v-fa579ac5]{border-left:4px solid #cf1322}.card-header h4[data-v-fa579ac5]{color:var(--text-main);margin-top:0;margin-bottom:.8rem;font-size:1.05rem;font-weight:700}.description[data-v-fa579ac5]{color:var(--text-muted);margin-bottom:1rem;font-size:.88rem;line-height:1.6}.clear-all-btn[data-v-fa579ac5]{color:#cf1322;cursor:pointer;background:#fff1f0;border:1px solid #ffa39e;border-radius:6px;padding:8px 16px;font-size:.88rem;font-weight:700;transition:background .2s,color .2s,border-color .2s}.clear-all-btn[data-v-fa579ac5]:hover:not(:disabled){color:#fff;background:#cf1322;border-color:#cf1322}.clear-all-btn[data-v-fa579ac5]:disabled{color:#bfbfbf;cursor:not-allowed;background:#f5f5f5;border-color:#d9d9d9}.visual-settings-layout[data-v-fa579ac5]{grid-template-columns:1fr 280px;gap:1.5rem;margin-top:1rem;display:grid}@media (width<=768px){.visual-settings-layout[data-v-fa579ac5]{grid-template-columns:1fr}}.settings-control-panel[data-v-fa579ac5]{flex-direction:column;gap:1.2rem;display:flex}.setting-item[data-v-fa579ac5]{flex-direction:column;gap:8px;display:flex}.setting-label[data-v-fa579ac5]{color:var(--text-main);font-size:.85rem;font-weight:700;line-height:1.5}.upload-actions[data-v-fa579ac5]{align-items:center;gap:10px;display:flex}.action-btn[data-v-fa579ac5]{cursor:pointer;border-radius:6px;padding:8px 16px;font-size:.82rem;font-weight:700;transition:opacity .2s,background .2s}.action-btn.upload[data-v-fa579ac5]{background:var(--primary);color:#fff;border:none}.action-btn.upload[data-v-fa579ac5]:hover{opacity:.9}.action-btn.delete[data-v-fa579ac5]{color:#cf1322;background:#fff;border:1px solid #ffa39e}.action-btn.delete[data-v-fa579ac5]:hover{background:#fff1f0}.check-item[data-v-fa579ac5]{background:#fdfdfd;border:1px dashed #e8e8e8;border-radius:8px;flex-direction:row;align-items:flex-start;gap:10px;padding:12px}.check-item input[type=checkbox][data-v-fa579ac5]{cursor:pointer;width:16px;height:16px;margin-top:4px}.check-label[data-v-fa579ac5]{color:var(--text-main);cursor:pointer;font-size:.88rem;line-height:1.5}.check-label strong[data-v-fa579ac5]{margin-bottom:2px;display:block}.sub-label[data-v-fa579ac5]{color:var(--text-muted);font-size:.78rem;font-weight:400;display:block}.preview-panel[data-v-fa579ac5]{flex-direction:column;gap:8px;display:flex}.preview-title[data-v-fa579ac5]{color:var(--text-main);font-size:.85rem;font-weight:700}.preview-box[data-v-fa579ac5]{background:#f5f5f5;border:1px solid #d9d9d9;border-radius:8px;justify-content:center;align-items:center;height:180px;display:flex;position:relative;overflow:hidden}.bg-preview-img[data-v-fa579ac5]{object-fit:contain;width:100%;height:100%}.preview-placeholder[data-v-fa579ac5]{color:var(--text-muted);flex-direction:column;align-items:center;gap:6px;font-size:.85rem;display:flex}.preview-placeholder small[data-v-fa579ac5]{font-size:.75rem}.template-list[data-v-fa579ac5]{flex-direction:column;gap:12px;margin-top:1rem;display:flex}.template-item[data-v-fa579ac5]{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;transition:background .2s;display:flex}.template-item[data-v-fa579ac5]:hover{background:#f5f5f5}.template-info[data-v-fa579ac5]{align-items:center;gap:12px;display:flex}.template-icon[data-v-fa579ac5]{font-size:1.5rem}.template-name[data-v-fa579ac5]{color:var(--text-main);margin:0 0 4px;font-size:.95rem;font-weight:700}.template-code[data-v-fa579ac5]{color:var(--text-muted);font-size:.78rem}.edit-btn[data-v-fa579ac5]{color:var(--text-main);cursor:pointer;background:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:6px 12px;font-size:.82rem;font-weight:700;transition:border-color .2s,color .2s}.edit-btn[data-v-fa579ac5]:hover{border-color:var(--primary);color:var(--primary)}.admin-modal-overlay[data-v-fa579ac5]{opacity:0;pointer-events:none;z-index:1000;background:#00000073;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0}.admin-modal-overlay.active[data-v-fa579ac5]{opacity:1;pointer-events:auto}.admin-modal[data-v-fa579ac5]{background:#fff;border-radius:12px;width:90%;padding:2rem;transition:transform .25s;transform:translateY(-20px);box-shadow:0 4px 12px #00000026}.admin-modal-overlay.active .admin-modal[data-v-fa579ac5]{transform:translateY(0)}.admin-modal h3[data-v-fa579ac5]{color:var(--primary);margin:0 0 1rem;font-size:1.15rem;font-weight:800}.form-group[data-v-fa579ac5]{flex-direction:column;gap:6px;display:flex}.form-label[data-v-fa579ac5]{color:var(--text-main);font-size:.88rem;font-weight:700}.form-input[data-v-fa579ac5]{border:1px solid #d9d9d9;border-radius:6px;outline:none;padding:8px 12px;font-size:.88rem}.form-input[data-v-fa579ac5]:focus{border-color:var(--primary)}.form-textarea[data-v-fa579ac5]{resize:vertical;border:1px solid #d9d9d9;border-radius:6px;outline:none;padding:10px 12px;font-family:monospace;font-size:.88rem}.form-textarea[data-v-fa579ac5]:focus{border-color:var(--primary)}.placeholder-helper[data-v-fa579ac5]{background:#f0f5ff;border:1px solid #adc6ff;border-radius:8px;margin-top:1rem;padding:12px 16px}.placeholder-helper h5[data-v-fa579ac5]{color:var(--primary);margin:0 0 8px;font-size:.85rem;font-weight:700}.placeholder-tags[data-v-fa579ac5]{flex-wrap:wrap;gap:6px;display:flex}.tag[data-v-fa579ac5]{color:var(--primary);cursor:help;-webkit-user-select:all;user-select:all;background:#fff;border:1px solid #d6e4ff;border-radius:4px;padding:2px 8px;font-family:monospace;font-size:.78rem}.tag.highlight[data-v-fa579ac5]{color:#cf1322;border-color:#ffa39e}.modal-footer[data-v-fa579ac5]{justify-content:flex-end;gap:12px;display:flex}.btn-cancel[data-v-fa579ac5]{cursor:pointer;background:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:8px 16px;font-weight:700}.btn-save[data-v-fa579ac5]{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-weight:700}.btn-save[data-v-fa579ac5]:disabled{opacity:.7;cursor:not-allowed}.content-template-item[data-v-fa579ac5]{border-top:1px dashed #e8e8e8;margin-top:.5rem;padding-top:1.2rem}.template-inline-edit[data-v-fa579ac5]{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;justify-content:space-between;align-items:center;gap:15px;padding:12px 16px;display:flex}@media (width<=576px){.template-inline-edit[data-v-fa579ac5]{flex-direction:column;align-items:flex-start}.action-btn.edit-cert-btn[data-v-fa579ac5]{width:100%}}.template-status-info[data-v-fa579ac5]{flex-direction:column;flex:1;gap:4px;display:flex}.template-mini-tag[data-v-fa579ac5]{color:#1890ff;text-align:left;background:#e6f7ff;border:1px solid #91d5ff;border-radius:4px;width:fit-content;padding:2px 6px;font-family:monospace;font-size:.78rem;font-weight:700}.action-btn.edit-cert-btn[data-v-fa579ac5]{border:1px solid var(--primary);color:var(--primary);white-space:nowrap;background:#fff}.action-btn.edit-cert-btn[data-v-fa579ac5]:hover{background:#f0f5ff}.loading-text[data-v-fa579ac5]{color:var(--text-muted);font-size:.82rem}html:has(.admin-shell){font-size:18.67px}.admin-shell[data-v-311dc888]{background:#f4f6fa;flex-direction:column;min-height:100vh;display:flex}.admin-topbar[data-v-311dc888]{background:var(--primary);color:#fff;z-index:100;justify-content:space-between;align-items:center;height:60px;padding:0 2rem;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0000001a}.admin-topbar-title-wrap[data-v-311dc888]{align-items:center;gap:10px;display:flex}.admin-topbar-title[data-v-311dc888]{letter-spacing:.05em;color:#fff;font-size:1.1rem;font-weight:700}.admin-topbar-actions[data-v-311dc888]{align-items:center;gap:16px;display:flex}.admin-logout-btn[data-v-311dc888]{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff40;border-radius:20px;padding:6px 16px;font-size:.82rem;font-weight:700;transition:background .2s}.admin-logout-btn[data-v-311dc888]:hover{background:#ffffff38}.enrich-progress-bar[data-v-311dc888]{z-index:99;background:#fffbe6;border-bottom:1px solid #ffe58f;padding:8px 2rem;position:sticky;top:60px}.enrich-progress-label[data-v-311dc888]{color:#ad6800;margin-bottom:4px;font-size:.82rem;font-weight:600;display:block}.enrich-progress-issue[data-v-311dc888]{color:#cf1322;margin-left:10px;font-weight:700}.enrich-progress-track[data-v-311dc888]{background:#fff1b8;border-radius:3px;width:100%;height:6px;overflow:hidden}.enrich-progress-fill[data-v-311dc888]{background:var(--accent,#d4b106);height:100%;transition:width .4s}.admin-tabs[data-v-311dc888]{background:#fff;border-bottom:1px solid #e8e8e8;padding:0 2rem;display:flex}.admin-tab-btn[data-v-311dc888]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:16px 24px;font-size:.95rem;font-weight:700;transition:color .2s,border-color .2s}.admin-tab-btn.active[data-v-311dc888]{color:var(--primary);border-bottom-color:var(--primary);font-weight:900}.admin-tab-content[data-v-311dc888]{flex:1;padding:2rem}.modal-overlay[data-v-311dc888]{z-index:1000;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal[data-v-311dc888]{background:#fff;border-radius:12px;width:380px;max-width:90vw;box-shadow:0 8px 32px #0000002e}.confirm-modal-header[data-v-311dc888]{color:var(--primary);border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:16px 20px;font-size:.95rem;font-weight:700;display:flex}.modal-close[data-v-311dc888]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.modal-close[data-v-311dc888]:hover{color:var(--text-main)}.confirm-modal-body[data-v-311dc888]{flex-direction:column;gap:12px;padding:20px;display:flex}.confirm-modal-footer[data-v-311dc888]{border-top:1px solid #f0f0f0;justify-content:flex-end;gap:10px;padding:16px 20px;display:flex}.form-group[data-v-311dc888]{flex-direction:column;gap:6px;display:flex}.form-group label[data-v-311dc888]{color:var(--text-muted);letter-spacing:.03em;font-size:.8rem;font-weight:700}.form-input[data-v-311dc888]{box-sizing:border-box;border:1px solid #e0e0e0;border-radius:7px;outline:none;padding:10px 12px;font-size:.9rem;transition:border-color .15s}.form-input[data-v-311dc888]:focus{border-color:var(--primary)}.form-error[data-v-311dc888]{color:#d93025;padding:2px 0;font-size:.83rem}.btn[data-v-311dc888]{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 20px;font-size:.88rem;font-weight:600}.btn[data-v-311dc888]:disabled{cursor:not-allowed;opacity:.6}.btn-secondary[data-v-311dc888]{color:var(--text-main);background:#f5f5f5;border-color:#e0e0e0}.btn-secondary[data-v-311dc888]:hover{background:#eee}.btn-primary[data-v-311dc888]{background:var(--primary);color:#fff}.btn-primary[data-v-311dc888]:hover:not(:disabled){opacity:.9}.workbench-view.container[data-v-27d1ea73]{width:95%!important;max-width:95%!important}.jury-shell[data-v-27d1ea73]{--primary:#02bfad;--primary-light:#20d4c1;--accent:#02bfad;--bg-secondary:#eefaf8;--text-muted:#689c97;--border-color:#cfdad7;background:linear-gradient(135deg,#eefaf7 0%,#fbfaf5 100%);flex-direction:column;min-height:100vh;display:flex}header[data-v-27d1ea73]{background:var(--primary);z-index:100;border-bottom:1px solid #ffffff14;padding:1.2rem 0;position:sticky;top:0;box-shadow:0 2px 8px #0000001a}.header-container[data-v-27d1ea73]{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.nav-brand[data-v-27d1ea73],.nav-user-info[data-v-27d1ea73]{align-items:center;display:flex}.change-pwd-btn[data-v-27d1ea73]{color:#fff;cursor:pointer;background:#ffffff2e;border:1px solid #ffffff80;border-radius:20px;margin-right:8px;padding:6px 16px;font-size:.85rem;font-weight:600;transition:all .2s}.change-pwd-btn[data-v-27d1ea73]:hover{background:#ffffff4d}.logout-btn[data-v-27d1ea73]{color:#005a51;cursor:pointer;background:#fff;border:1px solid #fff;border-radius:20px;padding:6px 20px;font-size:.85rem;font-weight:700;transition:all .2s;box-shadow:0 2px 8px #005a5126}.logout-btn[data-v-27d1ea73]:hover{color:#005a51;background:#ffffffe6;transform:translateY(-1px)}.modal-overlay[data-v-27d1ea73]{z-index:2000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cp-modal[data-v-27d1ea73]{background:#fff;border-radius:14px;width:380px;max-width:90vw;box-shadow:0 10px 40px #0003}.cp-header[data-v-27d1ea73]{color:#005a51;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:16px 20px;font-size:.95rem;font-weight:700;display:flex}.cp-close[data-v-27d1ea73]{cursor:pointer;color:#999;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.cp-close[data-v-27d1ea73]:hover{color:#333}.cp-body[data-v-27d1ea73]{flex-direction:column;gap:14px;padding:20px;display:flex}.cp-field[data-v-27d1ea73]{flex-direction:column;gap:5px;display:flex}.cp-field label[data-v-27d1ea73]{color:#888;letter-spacing:.03em;font-size:.8rem;font-weight:700}.cp-input[data-v-27d1ea73]{border:1px solid #e0e0e0;border-radius:7px;outline:none;padding:10px 12px;font-size:.9rem;transition:border-color .15s}.cp-input[data-v-27d1ea73]:focus{border-color:#005a51}.cp-error[data-v-27d1ea73]{color:#d93025;margin:0;font-size:.83rem}.cp-success[data-v-27d1ea73]{color:#00875a;margin:0;font-size:.83rem;font-weight:600}.cp-footer[data-v-27d1ea73]{border-top:1px solid #f0f0f0;justify-content:flex-end;gap:10px;padding:16px 20px;display:flex}.cp-cancel[data-v-27d1ea73]{cursor:pointer;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;padding:8px 20px;font-size:.88rem;font-weight:600}.cp-cancel[data-v-27d1ea73]:hover{background:#eee}.cp-submit[data-v-27d1ea73]{color:#fff;cursor:pointer;background:#005a51;border:none;border-radius:8px;padding:8px 20px;font-size:.88rem;font-weight:600}.cp-submit[data-v-27d1ea73]:hover{background:#004a43}.cp-submit[data-v-27d1ea73]:disabled{opacity:.6;cursor:not-allowed}.header-sub-bar[data-v-27d1ea73]{-webkit-backdrop-filter:blur(8px);z-index:99;background:#fffc;border-bottom:1px solid #003a8c0d;padding:12px 0;position:sticky;top:79px;box-shadow:0 2px 8px #00000005}.sub-bar-container[data-v-27d1ea73]{justify-content:flex-end;align-items:center;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.grading-progress-text[data-v-27d1ea73]{color:var(--text-muted,#595959);font-size:.95rem;font-weight:500}.grading-progress-text strong.text-accent[data-v-27d1ea73]{color:var(--primary,#1b2f58);margin:0 2px;font-size:1.15rem;font-weight:900}.list-header-bar[data-v-27d1ea73]{justify-content:space-between;align-items:center;margin:40px 0 20px;display:flex}.list-title-wrap[data-v-27d1ea73]{align-items:center;gap:20px;display:flex}.filter-select[data-v-27d1ea73]{border:1px solid var(--border-color);cursor:pointer;color:var(--primary);background:#fff;border-radius:20px;outline:none;padding:8px 15px;font-family:inherit;font-size:.9rem;font-weight:700}.works-count[data-v-27d1ea73]{color:var(--text-muted);font-weight:500}.work-grid[data-v-27d1ea73]{grid-template-columns:repeat(2,1fr);gap:30px;padding:20px 0;display:grid}@media (width<=768px){.work-grid[data-v-27d1ea73]{grid-template-columns:1fr}}.work-card[data-v-27d1ea73]{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);cursor:pointer;border:1px solid #0000000d;transition:background .15s,transform .2s;position:relative;overflow:hidden}.work-card[data-v-27d1ea73]:hover{background:var(--bg-secondary);transform:translateY(-3px)}.card-thumbnail[data-v-27d1ea73]{aspect-ratio:16/9;background:var(--primary);color:#fff;justify-content:center;align-items:center;width:100%;font-size:2rem;display:flex}.card-placeholder-icon[data-v-27d1ea73]{font-size:3rem}.card-content[data-v-27d1ea73]{padding:16px 20px}.card-title[data-v-27d1ea73]{color:var(--primary);margin-bottom:5px;font-family:Noto Serif TC,serif;font-size:1.15rem;font-weight:700}.status-badge[data-v-27d1ea73]{border-radius:20px;padding:6px 14px;font-size:.8rem;font-weight:700;position:absolute;top:15px;right:15px}.status-unrated[data-v-27d1ea73]{color:#888;background:#f0f0f0;border:1px solid #ddd}.status-rated[data-v-27d1ea73]{background:var(--bg-secondary);color:var(--primary);border:1px solid var(--border-color)}.workbench-view[data-v-27d1ea73]{padding-bottom:100px}.back-btn[data-v-27d1ea73]{color:var(--primary);cursor:pointer;transition:var(--transition);align-items:center;gap:8px;margin:20px 0;font-weight:700;display:inline-flex}.back-btn[data-v-27d1ea73]:hover{opacity:.7}.workbench-header[data-v-27d1ea73]{border-left:5px solid var(--accent);justify-content:space-between;align-items:flex-end;margin-bottom:25px;padding-left:20px;display:flex}.status-indicator[data-v-27d1ea73]{color:var(--accent);font-size:1.1rem;font-weight:900}.media-section[data-v-27d1ea73]{grid-template-columns:1fr 1fr;gap:25px;margin-bottom:30px;display:grid}.media-section.no-pdf[data-v-27d1ea73]{grid-template-columns:1fr;max-width:800px;margin-left:auto;margin-right:auto}.panel[data-v-27d1ea73]{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);border:1px solid #0000000d;flex-direction:column;display:flex;overflow:hidden}.panel-header[data-v-27d1ea73]{background:var(--primary);color:var(--white);justify-content:space-between;align-items:center;padding:12px 20px;font-size:.95rem;font-weight:700;display:flex}.panel-body[data-v-27d1ea73]{flex-direction:column;flex-grow:1;padding:0;display:flex;position:relative}.video-wrapper[data-v-27d1ea73]{background:#000;flex-grow:1;width:100%;position:relative;overflow:hidden}.video-wrapper iframe[data-v-27d1ea73]{pointer-events:none;border:none;width:100%;height:100%;position:absolute;top:0;left:0}.video-click-guard[data-v-27d1ea73]{z-index:10;cursor:pointer;background:0 0;width:100%;height:100%;position:absolute;top:0;left:0}.video-brand-pill[data-v-27d1ea73]{z-index:15;pointer-events:none;-webkit-user-select:none;user-select:none;background:#000;border:1px solid #ffffff26;border-radius:20px;align-items:center;gap:8px;padding:6px 14px;display:flex;position:absolute;top:15px;box-shadow:0 4px 12px #00000080}.pill-left[data-v-27d1ea73]{left:15px}.pill-right[data-v-27d1ea73]{right:15px}.brand-logo-img[data-v-27d1ea73]{width:auto;height:18px;display:block}.brand-text[data-v-27d1ea73]{color:#fffffff2;letter-spacing:1px;white-space:nowrap;font-size:.78rem;font-weight:700}.custom-video-controls[data-v-27d1ea73]{z-index:20;box-sizing:border-box;background:#141414f2;border-top:1px solid #ffffff1a;align-items:center;gap:15px;width:100%;height:60px;padding:0 20px;display:flex;position:relative}.custom-play-btn[data-v-27d1ea73]{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.4rem;transition:background .2s,transform .1s;display:flex}.custom-play-btn[data-v-27d1ea73]:hover{background:#ffffff1a}.custom-play-btn[data-v-27d1ea73]:active{transform:scale(.95)}.custom-progress-slider[data-v-27d1ea73]{-webkit-appearance:none;cursor:pointer;background:#fff3;border-radius:3px;outline:none;flex-grow:1;height:6px}.custom-progress-slider[data-v-27d1ea73]::-webkit-slider-runnable-track{cursor:pointer;width:100%;height:6px}.custom-progress-slider[data-v-27d1ea73]::-webkit-slider-thumb{background:var(--accent,#05959a);cursor:pointer;-webkit-appearance:none;border-radius:50%;width:16px;height:16px;margin-top:-5px}.custom-time-lbl[data-v-27d1ea73]{color:#fffc;white-space:nowrap;font-family:monospace;font-size:.85rem}#video-panel.expanded[data-v-27d1ea73]{z-index:1000!important;border-radius:var(--radius-md)!important;width:min(90vw,160vh - 231.111px)!important;height:auto!important;position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;box-shadow:0 0 0 9999px #000000bf!important}#video-panel.expanded .video-wrapper[data-v-27d1ea73]{aspect-ratio:16/9!important;flex-grow:0!important;height:auto!important}.expand-btn[data-v-27d1ea73]{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;padding:4px 10px;font-size:.8rem;transition:background .15s}.expand-btn[data-v-27d1ea73]:hover{background:#ffffff47}.no-video-placeholder[data-v-27d1ea73]{color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px;display:flex}.mock-report-sheet[data-v-27d1ea73]{color:#333;background:#fff;width:100%;min-height:100%;padding:50px;font-size:.95rem;line-height:2;box-shadow:inset 0 0 20px #0000001a}.score-slider[data-v-27d1ea73]{flex-direction:column;margin-bottom:20px;display:flex}.score-slider label[data-v-27d1ea73]{color:var(--primary);justify-content:space-between;margin-bottom:8px;font-weight:700;display:flex}.score-value[data-v-27d1ea73]{color:var(--primary);font-size:1.25rem;font-weight:900}.slider-container[data-v-27d1ea73]{align-items:center;gap:15px;display:flex}.jury-slider[data-v-27d1ea73]{accent-color:var(--accent);cursor:pointer;flex:1}.score-input-number[data-v-27d1ea73]{width:80px;color:var(--primary);text-align:center;background-color:#fff;border:1px solid #dcdfe6;border-radius:6px;outline:none;padding:6px 10px;font-size:1.1rem;font-weight:700;transition:all .2s}.score-input-number[data-v-27d1ea73]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #003a8c26}.score-input-number[data-v-27d1ea73]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.score-input-number[data-v-27d1ea73]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.score-input-number[data-v-27d1ea73]{-moz-appearance:textfield}.score-unit[data-v-27d1ea73]{color:var(--primary);margin-left:2px;font-size:.95rem;font-weight:700}.score-action-box[data-v-27d1ea73]{background:var(--primary);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-soft);justify-content:space-between;align-items:center;margin-top:20px;padding:20px 40px;display:flex}.total-score-display[data-v-27d1ea73]{font-size:1.8rem;font-weight:900}.submit-btn[data-v-27d1ea73]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#05959a 0%,#00777c 100%);border:none;border-radius:8px;width:250px;padding:12px;font-size:1.1rem;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #05959a40}.submit-btn[data-v-27d1ea73]:hover:not(:disabled){opacity:.95;transform:translateY(-1px);box-shadow:0 6px 16px #05959a59}.submit-btn[data-v-27d1ea73]:active:not(:disabled){transform:translateY(0)}.submit-btn[data-v-27d1ea73]:disabled{color:#94a3b8;cursor:not-allowed;box-shadow:none;background:#cbd5e1}.agreement-overlay[data-v-27d1ea73]{z-index:9999;background:#000000e6;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;top:0;left:0}.agreement-card[data-v-27d1ea73]{border-left:4px solid var(--accent);border-radius:12px;width:100%;max-width:600px;padding:3rem;box-shadow:0 10px 40px #00000080}.media-column-left[data-v-27d1ea73]{flex-direction:column;display:flex}.lyrics-body[data-v-27d1ea73]{text-align:center;background:#fdfaf2;padding:20px;overflow-y:auto}.lyrics-text[data-v-27d1ea73]{color:#333;white-space:pre-wrap;word-break:break-all;font-family:Noto Serif TC,serif;font-size:1.05rem;line-height:1.8}.no-lyrics-placeholder[data-v-27d1ea73]{height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.no-lyrics-placeholder span[data-v-27d1ea73]{margin-bottom:6px;font-size:2.5rem}html{font-size:18px!important}html.font-size-small{font-size:16px!important}html.font-size-medium{font-size:18px!important}html.font-size-large{font-size:23px!important}.font-size-controller{z-index:1000;background:#fff;border:1px solid #00000014;border-radius:30px;gap:4px;padding:4px;transition:all .3s;display:flex;position:fixed;bottom:40px;right:40px;box-shadow:0 6px 16px #0000001a,0 3px 6px #0000000d}.font-size-btn{width:36px;height:36px;color:var(--text-main,#141414);cursor:pointer;background:0 0;border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;font-family:inherit;font-weight:700;transition:all .2s;display:flex}.font-size-btn.size-sm{font-size:.75rem}.font-size-btn.size-md{font-size:.85rem}.font-size-btn.size-lg{font-size:.95rem}.font-size-btn:hover{background:#0000000d}.font-size-btn.active{background:var(--accent,#d4b106);color:#1a1a2e;box-shadow:0 2px 6px #d4b1064d}.scroll-to-top-btn{background:var(--accent,#d4b106);color:#1a1a2e;cursor:pointer;z-index:1000;opacity:.95;border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;width:52px;height:52px;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;position:fixed;bottom:100px;right:76px;box-shadow:0 6px 16px #00000026,0 3px 6px #0000001a}.scroll-to-top-btn:hover{background:var(--primary,#1b2f58);color:#fff;opacity:1;transform:translateY(-6px);box-shadow:0 12px 20px #00000040,0 4px 8px #00000026}.scroll-to-top-btn:active{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.fade-enter-active,.fade-leave-active{transition:opacity .3s,transform .3s}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(24px)}.idle-overlay{z-index:9999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.idle-modal{text-align:center;background:#fff;border-radius:16px;width:90%;max-width:380px;padding:36px 40px;box-shadow:0 20px 60px #0000004d}.idle-icon{margin-bottom:12px;font-size:2.8rem}.idle-title{color:#1b2f58;margin:0 0 12px;font-size:1.15rem;font-weight:700}.idle-body{color:#555;margin:0 0 24px;font-size:.9rem;line-height:1.7}.idle-countdown{color:#dc2626;min-width:2ch;font-size:1.1rem;display:inline-block}.idle-actions{justify-content:center;gap:10px;display:flex}.idle-btn-stay{color:#fff;cursor:pointer;background:#1b2f58;border:none;border-radius:8px;flex:1;padding:10px 0;font-size:.9rem;font-weight:600;transition:background .2s}.idle-btn-stay:hover{color:#1b2f58;background:#d4b106}.idle-btn-logout{color:#666;cursor:pointer;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;flex:1;padding:10px 0;font-size:.9rem;transition:background .2s,color .2s}.idle-btn-logout:hover{color:#fff;background:#dc2626;border-color:#dc2626}.idle-fade-enter-active,.idle-fade-leave-active{transition:opacity .25s,transform .25s}.idle-fade-enter-from,.idle-fade-leave-to{opacity:0;transform:scale(.95)}
