*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:#f5f5f5;min-height:100vh}.app-container{min-height:100vh;background-color:#f5f5f5}.subject-list-page[data-v-88141a30]{min-height:100vh;background:#f5f7fa}.header[data-v-88141a30]{background:linear-gradient(135deg,#667eea,#764ba2);padding:15px 20px;padding-top:calc(15px + env(safe-area-inset-top));color:#fff;position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between}.back-btn[data-v-88141a30]{background:none;border:none;color:#fff;padding:5px;cursor:pointer}.back-btn svg[data-v-88141a30]{width:24px;height:24px}.header h2[data-v-88141a30]{font-size:18px;font-weight:500}.header-right[data-v-88141a30]{width:34px}.subject-list[data-v-88141a30]{padding:15px;display:flex;flex-direction:column;gap:15px}.subject-card[data-v-88141a30]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f;cursor:pointer;transition:transform .2s}.subject-card[data-v-88141a30]:active{transform:scale(.98)}.subject-card.not-available[data-v-88141a30]{opacity:.7;cursor:not-allowed}.subject-card.not-available[data-v-88141a30]:active{transform:none}.subject-image[data-v-88141a30]{position:relative;height:160px}.subject-image img[data-v-88141a30]{width:100%;height:100%;object-fit:cover}.subject-image-empty[data-v-88141a30]{width:100%;height:100%;background:linear-gradient(135deg,#e0e0e0,#f5f5f5);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}.subject-image-empty span[data-v-88141a30]{color:#999;font-size:13px}.subject-video[data-v-88141a30]{width:100%;height:100%;object-fit:cover}.video-play-btn[data-v-88141a30]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;background:#0009;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.video-play-btn svg[data-v-88141a30]{width:24px;height:24px;color:#fff;margin-left:4px}.subject-status[data-v-88141a30]{position:absolute;top:10px;right:10px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.subject-status.open[data-v-88141a30]{background:#52c41a;color:#fff}.subject-status.full[data-v-88141a30]{background:#fa8c16;color:#fff}.subject-status.ending[data-v-88141a30]{background:#ff4d4f;color:#fff}.subject-status.upcoming[data-v-88141a30]{background:#fa8c16;color:#fff}.subject-status.stopped[data-v-88141a30],.subject-status.paused[data-v-88141a30]{background:#ff4d4f;color:#fff}.subject-status.ended[data-v-88141a30],.subject-status.unavailable[data-v-88141a30]{background:#999;color:#fff}.subject-content[data-v-88141a30]{padding:15px}.subject-header[data-v-88141a30]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.subject-name[data-v-88141a30]{font-size:16px;color:#333;font-weight:600;flex:1;margin-right:10px}.category-tag[data-v-88141a30]{font-size:12px;color:#667eea;background:#667eea1a;padding:2px 8px;border-radius:4px;white-space:nowrap}.subject-info[data-v-88141a30]{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.info-item[data-v-88141a30]{display:flex;align-items:center;gap:8px;font-size:13px;color:#666}.info-item svg[data-v-88141a30]{width:14px;height:14px;flex-shrink:0}.subject-footer[data-v-88141a30]{display:flex;justify-content:space-between;align-items:center}.age-range[data-v-88141a30]{font-size:12px;color:#999;display:flex;align-items:center;gap:8px}.remaining-days[data-v-88141a30]{color:#ff4d4f;font-weight:500}.quota[data-v-88141a30]{font-size:13px}.quota-remain[data-v-88141a30]{color:#667eea;font-weight:600}.quota-total[data-v-88141a30]{color:#999}.quota-normal[data-v-88141a30]{color:#666}.empty-state[data-v-88141a30]{text-align:center;padding:60px 20px;color:#999}.empty-state svg[data-v-88141a30]{width:60px;height:60px;margin-bottom:15px}.empty-state p[data-v-88141a30]{font-size:14px}.loading-state[data-v-88141a30]{text-align:center;padding:60px 20px;color:#666}.loading-spinner[data-v-88141a30]{width:40px;height:40px;margin:0 auto 15px;border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;animation:spin-88141a30 1s linear infinite}@keyframes spin-88141a30{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-state p[data-v-88141a30]{font-size:14px}.bottom-placeholder[data-v-88141a30]{height:30px}.footer-support[data-v-88141a30]{text-align:center;padding:15px;padding-bottom:calc(15px + env(safe-area-inset-bottom));font-size:12px;position:fixed;bottom:0;left:0;right:0;background:#f5f7fa}.footer-support a[data-v-88141a30]{color:#999;text-decoration:none;transition:color .3s;cursor:pointer}.footer-support a[data-v-88141a30]:hover{color:#1677ff}.toast[data-v-3045c867]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;padding:12px 24px;border-radius:8px;background:#000c;color:#fff;font-size:14px;max-width:80%;word-break:break-all}.toast.success[data-v-3045c867]{background:#52c41ae6}.toast.error[data-v-3045c867]{background:#ff4d4fe6}.toast.warning[data-v-3045c867]{background:#fa8c16e6}.toast-content[data-v-3045c867]{display:flex;align-items:center;gap:8px}.toast-icon[data-v-3045c867]{width:20px;height:20px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.toast-enter-active[data-v-3045c867],.toast-leave-active[data-v-3045c867]{transition:all .3s ease}.toast-enter-from[data-v-3045c867],.toast-leave-to[data-v-3045c867]{opacity:0;transform:translate(-50%,-50%) scale(.9)}.dialog-overlay[data-v-40ffade7]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.dialog-content[data-v-40ffade7]{background:#fff;border-radius:12px;width:80%;max-width:300px;overflow:hidden}.dialog-header[data-v-40ffade7]{padding:16px 20px 0;text-align:center}.dialog-header h3[data-v-40ffade7]{margin:0;font-size:16px;font-weight:600;color:#333}.dialog-body[data-v-40ffade7]{padding:16px 20px;text-align:center}.dialog-body p[data-v-40ffade7]{margin:0;font-size:14px;color:#666;line-height:1.5}.dialog-footer[data-v-40ffade7]{display:flex;border-top:1px solid #f0f0f0}.dialog-footer button[data-v-40ffade7]{flex:1;padding:14px;border:none;background:none;font-size:15px;cursor:pointer;transition:all .3s}.btn-cancel[data-v-40ffade7]{color:#666;border-right:1px solid #f0f0f0}.btn-cancel[data-v-40ffade7]:active{background:#f5f5f5}.btn-confirm[data-v-40ffade7]{color:#1677ff;font-weight:500}.btn-confirm[data-v-40ffade7]:active{background:#e6f4ff}.dialog-enter-active[data-v-40ffade7],.dialog-leave-active[data-v-40ffade7]{transition:all .3s ease}.dialog-enter-from[data-v-40ffade7],.dialog-leave-to[data-v-40ffade7]{opacity:0}.dialog-enter-from .dialog-content[data-v-40ffade7],.dialog-leave-to .dialog-content[data-v-40ffade7]{transform:scale(.9)}.dialog-content[data-v-40ffade7]{transition:transform .3s ease}.dialog-overlay[data-v-d5efba4c]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.dialog-content[data-v-d5efba4c]{background:#fff;border-radius:12px;width:80%;max-width:300px;overflow:hidden}.dialog-header[data-v-d5efba4c]{padding:16px 20px 0;text-align:center}.dialog-header h3[data-v-d5efba4c]{margin:0;font-size:16px;font-weight:600;color:#333}.dialog-message[data-v-d5efba4c]{margin:8px 0 0;font-size:13px;color:#999}.dialog-body[data-v-d5efba4c]{padding:16px 20px}.dialog-input[data-v-d5efba4c]{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;box-sizing:border-box;outline:none;transition:border-color .3s}.dialog-input[data-v-d5efba4c]:focus{border-color:#1677ff}.dialog-footer[data-v-d5efba4c]{display:flex;border-top:1px solid #f0f0f0}.dialog-footer button[data-v-d5efba4c]{flex:1;padding:14px;border:none;background:none;font-size:15px;cursor:pointer;transition:all .3s}.btn-cancel[data-v-d5efba4c]{color:#666;border-right:1px solid #f0f0f0}.btn-cancel[data-v-d5efba4c]:active{background:#f5f5f5}.btn-confirm[data-v-d5efba4c]{color:#1677ff;font-weight:500}.btn-confirm[data-v-d5efba4c]:active{background:#e6f4ff}.dialog-enter-active[data-v-d5efba4c],.dialog-leave-active[data-v-d5efba4c]{transition:all .3s ease}.dialog-enter-from[data-v-d5efba4c],.dialog-leave-to[data-v-d5efba4c]{opacity:0}.dialog-enter-from .dialog-content[data-v-d5efba4c],.dialog-leave-to .dialog-content[data-v-d5efba4c]{transform:scale(.9)}.dialog-content[data-v-d5efba4c]{transition:transform .3s ease}.registration-form[data-v-287a1726]{min-height:100vh;background:#f5f5f5}.header[data-v-287a1726]{background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;color:#fff;position:relative}.back-btn[data-v-287a1726]{position:absolute;left:20px;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;font-size:16px;cursor:pointer}.header h2[data-v-287a1726]{text-align:center;font-size:20px}.selected-info[data-v-287a1726]{background:#fff;text-align:center;padding:15px;font-size:16px;color:#333}.separator[data-v-287a1726]{margin:0 8px;color:#999}.form-container[data-v-287a1726]{padding:20px;max-width:500px;margin:0 auto}.form-item[data-v-287a1726]{background:#fff;border-radius:12px;padding:16px;margin-bottom:15px}.form-item label[data-v-287a1726]{display:block;font-size:14px;color:#333;margin-bottom:8px}.form-item input[data-v-287a1726]{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:15px;outline:none;transition:border-color .3s}.form-item input[data-v-287a1726]:focus{border-color:#667eea}.form-item input.readonly[data-v-287a1726]{background:#f5f5f5;color:#666}.error[data-v-287a1726]{display:block;color:#e53935;font-size:12px;margin-top:6px}.gender-options[data-v-287a1726]{display:flex;gap:15px}.gender-option[data-v-287a1726]{flex:1;display:flex;align-items:center;justify-content:center;padding:12px;border:1px solid #ddd;border-radius:8px;cursor:pointer;transition:all .3s}.gender-option input[data-v-287a1726]{display:none}.gender-option.selected[data-v-287a1726]{border-color:#667eea;background:#f0f4ff;color:#667eea}.submit-btn[data-v-287a1726]{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:500;cursor:pointer;margin-top:10px}.submit-btn[data-v-287a1726]:disabled{opacity:.6;cursor:not-allowed}.tips[data-v-287a1726]{display:flex;align-items:flex-start;gap:8px;padding:15px;margin:20px;background:#fff3cd;border-radius:8px;font-size:13px;color:#856404;line-height:1.5}.tips svg[data-v-287a1726]{flex-shrink:0;width:18px;height:18px;margin-top:2px}.success-page[data-v-ea636ce2]{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:40px 20px;display:flex;flex-direction:column;align-items:center}.success-icon[data-v-ea636ce2]{width:80px;height:80px;background:#4caf50;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;color:#fff;margin-bottom:20px}h1[data-v-ea636ce2]{color:#fff;font-size:28px;margin-bottom:30px}.info-card[data-v-ea636ce2]{background:#fff;border-radius:16px;padding:24px;width:100%;max-width:400px;box-shadow:0 4px 20px #00000026}.info-item[data-v-ea636ce2]{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0f0f0}.info-item[data-v-ea636ce2]:last-child{border-bottom:none}.info-item .label[data-v-ea636ce2]{color:#666;font-size:14px}.info-item .value[data-v-ea636ce2]{color:#333;font-size:14px;font-weight:500}.tip[data-v-ea636ce2]{background:#fff3;color:#fff;padding:12px 20px;border-radius:8px;margin-top:20px;font-size:13px;text-align:center;max-width:400px}.buttons[data-v-ea636ce2]{margin-top:30px;display:flex;gap:15px}.home-btn[data-v-ea636ce2],.query-btn[data-v-ea636ce2]{padding:14px 30px;border-radius:25px;font-size:14px;font-weight:500;cursor:pointer}.home-btn[data-v-ea636ce2]{background:#fff;color:#667eea;border:none;box-shadow:0 4px 15px #0003}.query-btn[data-v-ea636ce2]{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}.query-page[data-v-7841b05d]{min-height:100vh;background:#f5f5f5}.header[data-v-7841b05d]{background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;color:#fff;position:relative}.back-btn[data-v-7841b05d]{position:absolute;left:20px;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;font-size:16px;cursor:pointer}.header h2[data-v-7841b05d]{text-align:center;font-size:20px}.query-form[data-v-7841b05d]{background:#fff;margin:20px;border-radius:12px;padding:20px}.form-item[data-v-7841b05d]{margin-bottom:20px}.form-item label[data-v-7841b05d]{display:block;font-size:14px;color:#333;margin-bottom:10px}.form-item input[data-v-7841b05d]{width:100%;padding:14px;border:1px solid #ddd;border-radius:8px;font-size:16px;outline:none}.form-item input[data-v-7841b05d]:focus{border-color:#667eea}.error[data-v-7841b05d]{display:block;color:#e53935;font-size:12px;margin-top:6px}.query-btn[data-v-7841b05d]{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;cursor:pointer}.query-btn[data-v-7841b05d]:disabled{opacity:.6;cursor:not-allowed}.result-container[data-v-7841b05d]{padding:0 20px}.result-card[data-v-7841b05d]{background:#fff;border-radius:12px;padding:20px;position:relative}.success-badge[data-v-7841b05d]{position:absolute;top:-10px;right:20px;background:#4caf50;color:#fff;padding:4px 16px;border-radius:20px;font-size:12px}.info-item[data-v-7841b05d]{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0f0f0}.info-item[data-v-7841b05d]:last-child{border-bottom:none}.info-item .label[data-v-7841b05d]{color:#666;font-size:14px}.info-item .value[data-v-7841b05d]{color:#333;font-size:14px;font-weight:500}.tip[data-v-7841b05d]{text-align:center;color:#999;font-size:13px;margin-top:20px}.not-found-container[data-v-7841b05d]{text-align:center;padding:40px 20px}.not-found-icon[data-v-7841b05d]{width:60px;height:60px;background:#f5f5f5;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;color:#999;margin:0 auto 20px}.not-found-container p[data-v-7841b05d]{font-size:18px;color:#333;margin-bottom:8px}.tip-text[data-v-7841b05d]{font-size:14px!important;color:#999!important}.home-btn[data-v-7841b05d]{margin-top:30px;background:#667eea;color:#fff;border:none;padding:12px 30px;border-radius:8px;font-size:14px;cursor:pointer}.dashboard-with-registrations[data-v-1a6bb837]{max-width:1000px;margin:0 auto}.dashboard-section[data-v-1a6bb837]{margin-bottom:20px}.stat-cards[data-v-1a6bb837]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:15px}.stat-card[data-v-1a6bb837]{background:#fff;border-radius:8px;padding:15px;text-align:center;box-shadow:0 2px 8px #00000014}.stat-card.total[data-v-1a6bb837]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-value[data-v-1a6bb837]{font-size:24px;font-weight:700;margin-bottom:4px}.stat-label[data-v-1a6bb837]{font-size:12px;opacity:.9}.chart-section[data-v-1a6bb837]{background:#fff;border-radius:8px;padding:12px;box-shadow:0 2px 8px #00000014}.chart-section h3[data-v-1a6bb837]{font-size:14px;margin-bottom:12px;color:#333}.chart-list[data-v-1a6bb837]{display:flex;flex-direction:column;gap:10px}.chart-item[data-v-1a6bb837]{display:flex;flex-direction:column;gap:8px}.chart-info[data-v-1a6bb837]{display:flex;justify-content:space-between;font-size:14px}.chart-name[data-v-1a6bb837]{color:#333}.chart-count[data-v-1a6bb837]{color:#666}.chart-bar[data-v-1a6bb837]{height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}.chart-fill[data-v-1a6bb837]{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;transition:width .3s ease}.empty[data-v-1a6bb837]{text-align:center;color:#999;padding:20px}.registrations-section[data-v-1a6bb837]{background:#fff;border-radius:8px;padding:12px;box-shadow:0 2px 8px #00000014}.section-header[data-v-1a6bb837]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header h3[data-v-1a6bb837]{font-size:16px;color:#333;margin:0}.filter-bar[data-v-1a6bb837]{display:flex;gap:12px;align-items:center}.status-filter[data-v-1a6bb837]{padding:10px 15px;border:1px solid #ddd;border-radius:8px;font-size:14px;outline:none;background:#fff;cursor:pointer}.status-filter[data-v-1a6bb837]:focus{border-color:#667eea}.search-bar[data-v-1a6bb837]{flex:1;max-width:300px}.search-bar input[data-v-1a6bb837]{width:100%;padding:10px 15px;border:1px solid #ddd;border-radius:8px;font-size:14px;outline:none}.search-bar input[data-v-1a6bb837]:focus{border-color:#667eea}.list-container[data-v-1a6bb837]{margin-bottom:20px}.loading[data-v-1a6bb837],.empty[data-v-1a6bb837]{text-align:center;color:#999;padding:20px}.list-item[data-v-1a6bb837]{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid #f0f0f0}.list-item[data-v-1a6bb837]:last-child{border-bottom:none}.item-main[data-v-1a6bb837]{flex:1}.item-header[data-v-1a6bb837]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.item-name[data-v-1a6bb837]{font-size:16px;font-weight:500;color:#333}.item-gender[data-v-1a6bb837]{font-size:13px;color:#666}.item-status[data-v-1a6bb837]{font-size:12px;padding:2px 8px;border-radius:4px;font-weight:500}.item-status.status-active[data-v-1a6bb837]{background:#e8f5e9;color:#4caf50}.item-status.status-cancelled[data-v-1a6bb837]{background:#ffebee;color:#e53935}.item-info[data-v-1a6bb837]{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#666;margin-bottom:6px}.item-time[data-v-1a6bb837]{font-size:12px;color:#999}.item-actions[data-v-1a6bb837]{margin-left:15px}.delete-btn[data-v-1a6bb837]{background:#fff;color:#e53935;border:1px solid #e53935;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer}.delete-btn[data-v-1a6bb837]:hover{background:#e53935;color:#fff}.list-footer[data-v-1a6bb837]{text-align:center;color:#999;font-size:13px;margin-top:20px;padding-top:20px;border-top:1px solid #f0f0f0}@media(max-width:768px){.section-header[data-v-1a6bb837]{flex-direction:column;align-items:flex-start;gap:10px}.search-bar[data-v-1a6bb837]{margin-left:0;max-width:100%;width:100%}.list-item[data-v-1a6bb837]{flex-direction:column;align-items:flex-start;gap:10px}.item-actions[data-v-1a6bb837]{margin-left:0;align-self:flex-end}}.image-upload[data-v-76e8572c]{width:100%}.upload-placeholder[data-v-76e8572c]{border:2px dashed #ddd;border-radius:8px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s;background:#fafafa}.upload-placeholder[data-v-76e8572c]:hover{border-color:#4a90e2;background:#f0f7ff}.upload-icon[data-v-76e8572c]{width:48px;height:48px;margin:0 auto 12px;color:#999}.upload-icon svg[data-v-76e8572c]{width:100%;height:100%}.upload-text[data-v-76e8572c]{margin:0 0 8px;color:#666;font-size:14px}.upload-hint[data-v-76e8572c]{margin:0;color:#999;font-size:12px}.image-preview[data-v-76e8572c]{position:relative;border-radius:8px;overflow:hidden;background:#f5f5f5}.image-preview img[data-v-76e8572c]{width:100%;max-height:200px;object-fit:contain;display:block}.image-actions[data-v-76e8572c]{position:absolute;bottom:0;left:0;right:0;padding:12px;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);display:flex;gap:10px;justify-content:center}.image-actions button[data-v-76e8572c]{padding:6px 16px;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:all .3s}.btn-reupload[data-v-76e8572c]{background:#4a90e2;color:#fff}.btn-reupload[data-v-76e8572c]:hover:not(:disabled){background:#357abd}.btn-reupload[data-v-76e8572c]:disabled{opacity:.6;cursor:not-allowed}.btn-remove[data-v-76e8572c]{background:#ff4d4f;color:#fff}.btn-remove[data-v-76e8572c]:hover{background:#ff7875}.category-manage[data-v-3c0a6ad6]{max-width:1000px;margin:0 auto;padding:20px}.page-header[data-v-3c0a6ad6]{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e8e8e8;display:flex;justify-content:space-between;align-items:flex-start}.header-left h2[data-v-3c0a6ad6]{margin:0 0 8px;color:#333;font-size:24px}.subtitle[data-v-3c0a6ad6]{margin:0;color:#666;font-size:14px}.header-actions[data-v-3c0a6ad6]{display:flex;gap:12px}.btn-export[data-v-3c0a6ad6],.btn-import[data-v-3c0a6ad6]{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;cursor:pointer;transition:all .3s}.btn-export[data-v-3c0a6ad6]{background:#52c41a;color:#fff}.btn-export[data-v-3c0a6ad6]:hover{background:#73d13d}.btn-import[data-v-3c0a6ad6]{background:#1890ff;color:#fff}.btn-import[data-v-3c0a6ad6]:hover{background:#40a9ff}.btn-export .icon[data-v-3c0a6ad6],.btn-import .icon[data-v-3c0a6ad6]{font-size:16px}.loading[data-v-3c0a6ad6]{text-align:center;color:#999;padding:60px;font-size:16px}.categories-container[data-v-3c0a6ad6]{display:flex;flex-direction:column;gap:24px}.category-section[data-v-3c0a6ad6]{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.category-header[data-v-3c0a6ad6]{display:flex;justify-content:space-between;align-items:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.category-info h3[data-v-3c0a6ad6]{margin:0 0 8px;font-size:20px;font-weight:600}.category-meta[data-v-3c0a6ad6]{display:flex;gap:16px;flex-wrap:wrap}.meta-item[data-v-3c0a6ad6]{display:flex;align-items:center;gap:4px;font-size:13px;opacity:.9}.icon[data-v-3c0a6ad6]{font-style:normal}.category-edit[data-v-3c0a6ad6]{display:flex;flex-direction:column;gap:12px;flex:1}.category-edit-row[data-v-3c0a6ad6]{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.category-edit-row input[data-v-3c0a6ad6]{padding:8px 12px;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:#ffffff1a;color:#fff;font-size:14px}.category-edit-row input[data-v-3c0a6ad6]::placeholder{color:#fff9}.category-image-upload[data-v-3c0a6ad6]{display:flex;flex-direction:column;gap:8px}.category-image-upload label[data-v-3c0a6ad6]{font-size:14px;color:#ffffffe6}.category-edit-actions[data-v-3c0a6ad6]{display:flex;gap:10px;align-items:center}.edit-btn[data-v-3c0a6ad6]{padding:8px 20px;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fff;cursor:pointer;font-size:14px;transition:all .3s}.edit-btn[data-v-3c0a6ad6]:hover{background:#ffffff4d}.subjects-list[data-v-3c0a6ad6]{padding:16px}.subject-item[data-v-3c0a6ad6]{background:#f8f9fa;border-radius:8px;padding:16px;margin-bottom:12px;border:1px solid #e8e8e8}.subject-item.creating[data-v-3c0a6ad6]{background:#e8f4f8;border-color:#4a90e2}.subject-main[data-v-3c0a6ad6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.subject-name[data-v-3c0a6ad6]{font-size:16px;font-weight:600;color:#333}.subject-info-left[data-v-3c0a6ad6]{display:flex;align-items:center;gap:12px}.subject-thumb[data-v-3c0a6ad6]{width:60px;height:60px;border-radius:8px;object-fit:cover;border:1px solid #e8e8e8}.subject-actions[data-v-3c0a6ad6]{display:flex;gap:8px}.btn-edit-small[data-v-3c0a6ad6],.btn-delete-small[data-v-3c0a6ad6]{padding:6px 14px;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:all .3s}.btn-edit-small[data-v-3c0a6ad6]{background:#4a90e2;color:#fff}.btn-edit-small[data-v-3c0a6ad6]:hover{background:#357abd}.btn-delete-small[data-v-3c0a6ad6]{background:#e74c3c;color:#fff}.btn-delete-small[data-v-3c0a6ad6]:hover{background:#c0392b}.subject-details[data-v-3c0a6ad6]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.detail-tag[data-v-3c0a6ad6]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#fff;border-radius:4px;font-size:13px;color:#555}.detail-tag i[data-v-3c0a6ad6]{font-style:normal}.subject-remarks[data-v-3c0a6ad6]{font-size:13px;color:#666;margin-bottom:10px;padding:8px;background:#fff;border-radius:4px}.subject-quota[data-v-3c0a6ad6]{display:flex;gap:8px}.quota-badge[data-v-3c0a6ad6],.limit-badge[data-v-3c0a6ad6]{padding:4px 10px;border-radius:4px;font-size:12px}.quota-badge[data-v-3c0a6ad6]{background:#e3f2fd;color:#1976d2}.limit-badge[data-v-3c0a6ad6]{background:#fff3e0;color:#f57c00}.subject-edit[data-v-3c0a6ad6]{background:#fff;border-radius:8px;padding:20px}.subject-edit h4[data-v-3c0a6ad6]{margin:0 0 16px;color:#333;font-size:16px;padding-bottom:10px;border-bottom:1px solid #e8e8e8}.form-grid[data-v-3c0a6ad6]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.form-row[data-v-3c0a6ad6]{display:flex;flex-direction:column;gap:6px}.form-row.full-width[data-v-3c0a6ad6]{grid-column:1 / -1}.form-row label[data-v-3c0a6ad6]{font-size:13px;color:#555;font-weight:500}.required[data-v-3c0a6ad6]{color:#e74c3c}.form-row input[data-v-3c0a6ad6]{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s}.form-row input[data-v-3c0a6ad6]:focus{outline:none;border-color:#4a90e2}.form-actions[data-v-3c0a6ad6]{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid #e8e8e8}.btn-save[data-v-3c0a6ad6],.btn-cancel[data-v-3c0a6ad6]{padding:10px 24px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s}.btn-save[data-v-3c0a6ad6]{background:#4a90e2;color:#fff}.btn-save[data-v-3c0a6ad6]:hover{background:#357abd}.btn-cancel[data-v-3c0a6ad6]{background:#f0f0f0;color:#666}.btn-cancel[data-v-3c0a6ad6]:hover{background:#e0e0e0}.add-subject-section[data-v-3c0a6ad6]{margin-top:16px;padding-top:16px;border-top:1px dashed #ddd}.btn-add-subject[data-v-3c0a6ad6]{width:100%;padding:14px;background:#f8f9fa;border:2px dashed #4a90e2;border-radius:8px;color:#4a90e2;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s}.btn-add-subject[data-v-3c0a6ad6]:hover{background:#e8f4f8;border-color:#357abd}.btn-add-subject .icon[data-v-3c0a6ad6]{font-size:20px;font-weight:700}@media(max-width:768px){.form-grid[data-v-3c0a6ad6]{grid-template-columns:1fr}.category-header[data-v-3c0a6ad6]{flex-direction:column;gap:12px;align-items:flex-start}.category-meta[data-v-3c0a6ad6]{flex-direction:column;gap:8px}.subject-main[data-v-3c0a6ad6]{flex-direction:column;gap:10px;align-items:flex-start}}.settings-page[data-v-e1e4d5c9]{max-width:1200px;margin:0 auto;padding:24px}.page-header[data-v-e1e4d5c9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e8e8e8}.header-content h2[data-v-e1e4d5c9]{margin:0 0 6px;font-size:24px;color:#1a1a1a;font-weight:600}.subtitle[data-v-e1e4d5c9]{margin:0;color:#666;font-size:14px}.btn-save-top[data-v-e1e4d5c9]{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #667eea4d}.btn-save-top[data-v-e1e4d5c9]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-save-top[data-v-e1e4d5c9]:disabled{opacity:.7;cursor:not-allowed}.settings-container[data-v-e1e4d5c9]{display:flex;gap:24px;background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;overflow:hidden;min-height:600px}.settings-sidebar[data-v-e1e4d5c9]{width:220px;background:#f8f9fa;padding:16px;border-right:1px solid #e8e8e8}.sidebar-item[data-v-e1e4d5c9]{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:10px;cursor:pointer;transition:all .3s;margin-bottom:4px}.sidebar-item[data-v-e1e4d5c9]:hover{background:#e8e8e8}.sidebar-item.active[data-v-e1e4d5c9]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.item-icon[data-v-e1e4d5c9]{font-size:20px}.item-label[data-v-e1e4d5c9]{flex:1;font-size:14px;font-weight:500}.item-arrow[data-v-e1e4d5c9]{font-size:18px;opacity:.8}.settings-content[data-v-e1e4d5c9]{flex:1;padding:24px;overflow-y:auto}.content-panel[data-v-e1e4d5c9]{animation:fadeIn-e1e4d5c9 .3s ease}@keyframes fadeIn-e1e4d5c9{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.panel-header[data-v-e1e4d5c9]{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.panel-header h3[data-v-e1e4d5c9]{margin:0 0 6px;font-size:18px;color:#1a1a1a}.panel-desc[data-v-e1e4d5c9]{margin:0;color:#666;font-size:13px}.setting-card[data-v-e1e4d5c9]{background:#f8f9fa;border-radius:12px;padding:20px;margin-bottom:20px}.card-title[data-v-e1e4d5c9]{font-size:14px;font-weight:600;color:#333;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid #e8e8e8}.form-item[data-v-e1e4d5c9]{margin-bottom:16px}.form-item[data-v-e1e4d5c9]:last-child{margin-bottom:0}.form-item label[data-v-e1e4d5c9]{display:block;font-size:13px;color:#555;margin-bottom:8px;font-weight:500}.form-item input[type=text][data-v-e1e4d5c9],.form-item input[type=password][data-v-e1e4d5c9],.form-item input[type=number][data-v-e1e4d5c9],.form-item input[type=date][data-v-e1e4d5c9],.form-item textarea[data-v-e1e4d5c9]{width:100%;padding:12px 14px;border:1px solid #d9d9d9;border-radius:8px;font-size:14px;transition:all .3s;box-sizing:border-box;background:#fff}.form-item input[data-v-e1e4d5c9]:focus,.form-item textarea[data-v-e1e4d5c9]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.number-input[data-v-e1e4d5c9]{width:120px!important}.input-with-hint[data-v-e1e4d5c9]{display:flex;align-items:center;gap:12px}.hint[data-v-e1e4d5c9]{font-size:12px;color:#999}.field-hint[data-v-e1e4d5c9]{display:block;margin-top:6px;font-size:12px;color:#999}.btn-save-password[data-v-e1e4d5c9]{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #667eea4d;width:100%}.btn-save-password[data-v-e1e4d5c9]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-save-password[data-v-e1e4d5c9]:disabled{opacity:.7;cursor:not-allowed}.code-textarea[data-v-e1e4d5c9]{font-family:Monaco,Menlo,monospace;font-size:13px}.switch-item[data-v-e1e4d5c9]{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.switch-info[data-v-e1e4d5c9]{flex:1}.switch-label[data-v-e1e4d5c9]{font-size:14px;font-weight:500;color:#333;margin-bottom:4px}.switch-desc[data-v-e1e4d5c9]{font-size:12px;color:#999}.switch[data-v-e1e4d5c9]{position:relative;display:inline-block;width:52px;height:28px}.switch input[data-v-e1e4d5c9]{opacity:0;width:0;height:0}.slider[data-v-e1e4d5c9]{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:28px}.slider[data-v-e1e4d5c9]:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}input:checked+.slider[data-v-e1e4d5c9]{background:linear-gradient(135deg,#667eea,#764ba2)}input:checked+.slider[data-v-e1e4d5c9]:before{transform:translate(24px)}.form-row[data-v-e1e4d5c9]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.banner-grid[data-v-e1e4d5c9]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.banner-card[data-v-e1e4d5c9]{background:#f8f9fa;border-radius:12px;padding:16px;border:2px solid transparent;transition:all .3s}.banner-card[data-v-e1e4d5c9]:hover{border-color:#667eea}.banner-header[data-v-e1e4d5c9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.banner-num[data-v-e1e4d5c9]{font-size:14px;font-weight:600;color:#333}.banner-status[data-v-e1e4d5c9]{font-size:12px;padding:4px 10px;border-radius:20px;background:#e8e8e8;color:#999}.banner-status.active[data-v-e1e4d5c9]{background:#e6f7ff;color:#1890ff}.banner-title-input[data-v-e1e4d5c9]{margin-top:12px}.banner-title-input input[data-v-e1e4d5c9]{width:100%;padding:10px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px}.alert-info[data-v-e1e4d5c9]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#e6f7ff;border:1px solid #91d5ff;border-radius:8px;margin-bottom:16px;font-size:13px;color:#096dd9}.alert-icon[data-v-e1e4d5c9]{font-size:16px}.loading-state[data-v-e1e4d5c9]{text-align:center;padding:80px 20px;background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014}.loading-state p[data-v-e1e4d5c9]{color:#999;margin-top:16px}.loading-spinner[data-v-e1e4d5c9]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-e1e4d5c9 .8s linear infinite}.loading-spinner.large[data-v-e1e4d5c9]{width:40px;height:40px;border-width:3px;border-color:#e8e8e8;border-top-color:#667eea;margin:0 auto}@keyframes spin-e1e4d5c9{to{transform:rotate(360deg)}}@media(max-width:768px){.settings-container[data-v-e1e4d5c9]{flex-direction:column}.settings-sidebar[data-v-e1e4d5c9]{width:auto;display:flex;overflow-x:auto;padding:12px}.sidebar-item[data-v-e1e4d5c9]{white-space:nowrap;margin-bottom:0;margin-right:8px}.form-row[data-v-e1e4d5c9],.banner-grid[data-v-e1e4d5c9]{grid-template-columns:1fr}}.notice-manage[data-v-ca9107b5]{max-width:1000px;margin:0 auto;padding:20px}.page-header[data-v-ca9107b5]{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e8e8e8}.page-header h2[data-v-ca9107b5]{margin:0 0 8px;color:#333;font-size:24px}.subtitle[data-v-ca9107b5]{margin:0;color:#666;font-size:14px}.edit-panel[data-v-ca9107b5]{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014}.edit-panel h3[data-v-ca9107b5]{margin:0 0 20px;color:#333;font-size:18px;padding-bottom:12px;border-bottom:1px solid #e8e8e8}.form-content[data-v-ca9107b5]{display:flex;flex-direction:column;gap:16px}.form-row[data-v-ca9107b5]{display:flex;flex-direction:column;gap:8px}.form-row label[data-v-ca9107b5]{font-size:14px;color:#555;font-weight:500}.required[data-v-ca9107b5]{color:#e74c3c}.form-row input[data-v-ca9107b5],.form-row textarea[data-v-ca9107b5]{padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:border-color .3s}.form-row input[data-v-ca9107b5]:focus,.form-row textarea[data-v-ca9107b5]:focus{outline:none;border-color:#4a90e2}.form-row textarea[data-v-ca9107b5]{resize:vertical;min-height:120px}.checkbox-row[data-v-ca9107b5]{flex-direction:row;gap:24px}.checkbox-label[data-v-ca9107b5]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#555}.checkbox-label input[type=checkbox][data-v-ca9107b5]{width:18px;height:18px;cursor:pointer}.form-actions[data-v-ca9107b5]{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid #e8e8e8}.btn-save[data-v-ca9107b5],.btn-cancel[data-v-ca9107b5]{padding:10px 24px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s}.btn-save[data-v-ca9107b5]{background:#4a90e2;color:#fff}.btn-save[data-v-ca9107b5]:hover{background:#357abd}.btn-cancel[data-v-ca9107b5]{background:#f0f0f0;color:#666}.btn-cancel[data-v-ca9107b5]:hover{background:#e0e0e0}.list-panel[data-v-ca9107b5]{display:flex;flex-direction:column;gap:16px}.toolbar[data-v-ca9107b5]{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.search-box[data-v-ca9107b5]{display:flex;gap:8px;flex:1;max-width:400px}.search-box input[data-v-ca9107b5]{flex:1;padding:10px 14px;border:1px solid #ddd;border-radius:6px;font-size:14px}.btn-search[data-v-ca9107b5]{padding:10px 20px;background:#4a90e2;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.btn-create[data-v-ca9107b5]{padding:10px 20px;background:#52c41a;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:6px}.btn-create[data-v-ca9107b5]:hover{background:#389e0d}.icon[data-v-ca9107b5]{font-size:18px;font-weight:700}.notice-list[data-v-ca9107b5]{display:flex;flex-direction:column;gap:12px}.notice-item[data-v-ca9107b5]{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 6px #0000000f;border-left:4px solid transparent;transition:all .3s}.notice-item[data-v-ca9107b5]:hover{box-shadow:0 4px 12px #0000001a}.notice-item.is-top[data-v-ca9107b5]{border-left-color:#f5222d;background:linear-gradient(to right,#fff1f0,#fff)}.notice-item.not-publish[data-v-ca9107b5]{opacity:.7}.notice-header[data-v-ca9107b5]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;flex-wrap:wrap;gap:8px}.notice-title[data-v-ca9107b5]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.notice-title h4[data-v-ca9107b5]{margin:0;font-size:16px;color:#333;font-weight:600}.top-badge[data-v-ca9107b5]{padding:2px 8px;background:#f5222d;color:#fff;font-size:12px;border-radius:4px}.draft-badge[data-v-ca9107b5]{padding:2px 8px;background:#999;color:#fff;font-size:12px;border-radius:4px}.notice-meta[data-v-ca9107b5]{display:flex;gap:16px;font-size:13px;color:#999}.view-count i[data-v-ca9107b5]{font-style:normal}.notice-content[data-v-ca9107b5]{color:#666;font-size:14px;line-height:1.6;margin-bottom:16px}.notice-actions[data-v-ca9107b5]{display:flex;gap:8px;flex-wrap:wrap}.btn-action[data-v-ca9107b5]{padding:6px 14px;border:1px solid #ddd;background:#fff;border-radius:4px;font-size:13px;cursor:pointer;transition:all .3s;color:#666}.btn-action[data-v-ca9107b5]:hover{border-color:#4a90e2;color:#4a90e2}.btn-action.active[data-v-ca9107b5],.btn-action.edit[data-v-ca9107b5]{background:#e6f7ff;border-color:#4a90e2;color:#4a90e2}.btn-action.delete[data-v-ca9107b5]{background:#fff1f0;border-color:#ff4d4f;color:#ff4d4f}.btn-action.delete[data-v-ca9107b5]:hover{background:#ff4d4f;color:#fff}.empty-state[data-v-ca9107b5]{text-align:center;padding:60px 20px;background:#fff;border-radius:12px}.empty-icon[data-v-ca9107b5]{font-size:48px;margin-bottom:16px}.empty-state p[data-v-ca9107b5]{color:#999;margin-bottom:20px}.pagination[data-v-ca9107b5]{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px}.page-btn[data-v-ca9107b5]{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s}.page-btn[data-v-ca9107b5]:hover:not(:disabled){border-color:#4a90e2;color:#4a90e2}.page-btn[data-v-ca9107b5]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-ca9107b5]{font-size:14px;color:#666}.loading[data-v-ca9107b5]{text-align:center;padding:60px;color:#999;font-size:16px}@media(max-width:768px){.toolbar[data-v-ca9107b5]{flex-direction:column;align-items:stretch}.search-box[data-v-ca9107b5]{max-width:none}.notice-header[data-v-ca9107b5]{flex-direction:column}.notice-meta[data-v-ca9107b5]{width:100%;justify-content:space-between}}.period-page[data-v-04897007]{max-width:1200px;margin:0 auto;padding:24px}.page-header[data-v-04897007]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e8e8e8}.header-content h2[data-v-04897007]{margin:0 0 6px;font-size:24px;color:#1a1a1a;font-weight:600}.subtitle[data-v-04897007]{margin:0;color:#666;font-size:14px}.btn-create[data-v-04897007]{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s}.btn-create[data-v-04897007]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.period-list[data-v-04897007]{display:flex;flex-direction:column;gap:16px}.period-card[data-v-04897007]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f;transition:all .3s;border-left:4px solid #667eea}.period-card.inactive[data-v-04897007]{border-left-color:#999;opacity:.7}.period-header[data-v-04897007]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.period-title[data-v-04897007]{display:flex;align-items:center;gap:12px}.period-title h3[data-v-04897007]{margin:0;font-size:16px;color:#333}.status-badge[data-v-04897007]{padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.status-active[data-v-04897007]{background:#f6ffed;color:#52c41a}.status-pending[data-v-04897007]{background:#e6f7ff;color:#1890ff}.status-ended[data-v-04897007]{background:#f0f0f0;color:#666}.status-inactive[data-v-04897007]{background:#fff1f0;color:#f5222d}.period-actions[data-v-04897007]{display:flex;gap:8px}.btn-icon[data-v-04897007]{width:32px;height:32px;border:none;background:#f5f5f5;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s;display:flex;align-items:center;justify-content:center}.btn-icon[data-v-04897007]:hover{background:#e8e8e8}.btn-icon.delete[data-v-04897007]:hover{background:#fff1f0}.period-info[data-v-04897007]{margin-bottom:16px}.info-item[data-v-04897007]{display:flex;gap:8px;margin-bottom:8px;font-size:13px}.info-label[data-v-04897007]{color:#999;min-width:60px}.info-value[data-v-04897007]{color:#333}.period-subjects[data-v-04897007]{padding-top:16px;border-top:1px solid #f0f0f0}.subjects-title[data-v-04897007]{font-size:12px;color:#999;margin-bottom:8px}.subjects-tags[data-v-04897007]{display:flex;flex-wrap:wrap;gap:8px}.subject-tag[data-v-04897007]{padding:4px 10px;background:#f0f5ff;color:#667eea;border-radius:4px;font-size:12px;display:flex;align-items:center;gap:8px}.subject-name[data-v-04897007]{font-weight:500}.subject-quota[data-v-04897007]{background:#667eea1a;padding:2px 6px;border-radius:3px;font-size:11px;color:#667eea;font-weight:600}.no-subjects[data-v-04897007]{color:#999;font-size:12px;font-style:italic}.empty-state[data-v-04897007]{text-align:center;padding:80px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.empty-icon[data-v-04897007]{font-size:48px;margin-bottom:16px}.empty-state p[data-v-04897007]{color:#666;margin-bottom:20px}.btn-create-empty[data-v-04897007]{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer}.loading-state[data-v-04897007]{text-align:center;padding:80px 20px}.loading-spinner[data-v-04897007]{width:40px;height:40px;border:3px solid #e8e8e8;border-top-color:#667eea;border-radius:50%;animation:spin-04897007 .8s linear infinite;margin:0 auto 16px}@keyframes spin-04897007{to{transform:rotate(360deg)}}.modal-overlay[data-v-04897007]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-04897007]{background:#fff;border-radius:16px;width:100%;max-width:700px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-04897007]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e8e8e8}.modal-header h3[data-v-04897007]{margin:0;font-size:18px}.btn-close[data-v-04897007]{width:32px;height:32px;border:none;background:#f5f5f5;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-body[data-v-04897007]{padding:24px;overflow-y:auto;flex:1}.form-section[data-v-04897007]{margin-bottom:24px}.form-section[data-v-04897007]:last-child{margin-bottom:0}.section-title[data-v-04897007]{font-size:14px;font-weight:600;color:#333;margin-bottom:16px;display:flex;align-items:center;gap:8px}.selected-count[data-v-04897007]{font-size:12px;color:#667eea;font-weight:400}.form-item[data-v-04897007]{margin-bottom:16px}.form-item label[data-v-04897007]{display:block;font-size:13px;color:#555;margin-bottom:8px;font-weight:500}.form-item input[type=text][data-v-04897007],.form-item input[type=date][data-v-04897007]{width:100%;padding:10px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;box-sizing:border-box}.form-item input[data-v-04897007]:focus{outline:none;border-color:#667eea}.form-tip[data-v-04897007]{font-size:12px;color:#999;margin-top:4px}.form-row[data-v-04897007]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.required[data-v-04897007]{color:#f5222d}.category-list[data-v-04897007]{border:1px solid #e8e8e8;border-radius:8px;overflow:hidden}.category-item[data-v-04897007]{border-bottom:1px solid #e8e8e8}.category-item[data-v-04897007]:last-child{border-bottom:none}.category-header[data-v-04897007]{padding:12px 16px;background:#f8f9fa}.checkbox-label[data-v-04897007]{display:flex;align-items:center;gap:8px;cursor:pointer}.category-name[data-v-04897007]{font-weight:600;color:#333}.subject-list[data-v-04897007]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:12px 16px}.subject-checkbox[data-v-04897007]{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:all .2s}.subject-checkbox[data-v-04897007]:hover,.subject-checkbox.selected[data-v-04897007]{background:#f0f5ff}.subject-name[data-v-04897007]{font-size:13px;color:#333}.modal-footer[data-v-04897007]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e8e8e8}.btn-cancel[data-v-04897007]{padding:10px 20px;background:#f5f5f5;border:none;border-radius:6px;font-size:14px;cursor:pointer}.btn-save[data-v-04897007]{padding:10px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer}@media(max-width:768px){.form-row[data-v-04897007]{grid-template-columns:1fr}.subject-list[data-v-04897007]{grid-template-columns:repeat(2,1fr)}.modal-content[data-v-04897007]{max-height:95vh;margin:10px}}.visit-stats[data-v-153d7d9c]{max-width:1000px;margin:0 auto}.stat-cards[data-v-153d7d9c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:30px}.stat-card[data-v-153d7d9c]{background:#fff;border-radius:12px;padding:24px;text-align:center;box-shadow:0 2px 8px #00000014}.stat-card.today[data-v-153d7d9c]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-card.total[data-v-153d7d9c]{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.stat-value[data-v-153d7d9c]{font-size:36px;font-weight:700;margin-bottom:8px}.stat-label[data-v-153d7d9c]{font-size:14px;opacity:.9}.chart-section[data-v-153d7d9c]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;margin-bottom:20px}.chart-section h3[data-v-153d7d9c]{font-size:16px;margin-bottom:20px;color:#333}.chart-container[data-v-153d7d9c]{height:300px;width:100%}.loading[data-v-153d7d9c]{text-align:center;padding:40px;color:#999}.records-section[data-v-153d7d9c]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014}.records-section h3[data-v-153d7d9c]{font-size:16px;color:#333;margin:0 0 20px}.table-container[data-v-153d7d9c]{overflow-x:auto}.data-table[data-v-153d7d9c]{width:100%;border-collapse:collapse}.data-table th[data-v-153d7d9c],.data-table td[data-v-153d7d9c]{padding:12px;text-align:left;border-bottom:1px solid #eee}.data-table th[data-v-153d7d9c]{background:#f8f9fa;font-weight:600;color:#333}.data-table td[data-v-153d7d9c]{color:#666;font-size:14px}.data-table .empty[data-v-153d7d9c]{text-align:center;color:#999;padding:40px}.log-page[data-v-d23c5f9e]{max-width:1200px;margin:0 auto;padding:24px}.page-header[data-v-d23c5f9e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e8e8e8}.header-content h2[data-v-d23c5f9e]{margin:0 0 6px;font-size:24px;color:#1a1a1a;font-weight:600}.subtitle[data-v-d23c5f9e]{margin:0;color:#666;font-size:14px}.header-stats[data-v-d23c5f9e]{display:flex;gap:24px}.stat-item[data-v-d23c5f9e]{text-align:center}.stat-num[data-v-d23c5f9e]{display:block;font-size:28px;font-weight:700;color:#667eea}.stat-label[data-v-d23c5f9e]{font-size:12px;color:#999}.filter-bar[data-v-d23c5f9e]{display:flex;align-items:center;gap:20px;margin-bottom:24px;padding:16px 20px;background:#f8f9fa;border-radius:12px}.btn-refresh[data-v-d23c5f9e]{margin-left:auto;padding:8px 16px;background:#fff;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;cursor:pointer;transition:all .3s}.btn-refresh[data-v-d23c5f9e]:hover{border-color:#667eea;color:#667eea}.log-list[data-v-d23c5f9e]{display:flex;flex-direction:column;gap:12px}.log-item[data-v-d23c5f9e]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f;transition:all .3s}.log-item[data-v-d23c5f9e]:hover{box-shadow:0 4px 12px #0000001a}.log-header[data-v-d23c5f9e]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.log-time[data-v-d23c5f9e]{margin-left:auto;font-size:12px;color:#999}.log-content[data-v-d23c5f9e]{margin-bottom:12px}.log-detail[data-v-d23c5f9e]{display:flex;gap:8px;font-size:13px;margin-bottom:4px}.detail-label[data-v-d23c5f9e]{color:#999;min-width:60px}.detail-value[data-v-d23c5f9e]{color:#333}.load-more[data-v-d23c5f9e]{text-align:center;margin-top:24px}.load-more button[data-v-d23c5f9e]{padding:12px 32px;background:#f8f9fa;border:1px solid #d9d9d9;border-radius:8px;font-size:14px;cursor:pointer;transition:all .3s}.load-more button[data-v-d23c5f9e]:hover:not(:disabled){border-color:#667eea;color:#667eea}.load-more button[data-v-d23c5f9e]:disabled{opacity:.6;cursor:not-allowed}.empty-state[data-v-d23c5f9e]{text-align:center;padding:80px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.empty-icon[data-v-d23c5f9e]{font-size:48px;margin-bottom:16px}.empty-state p[data-v-d23c5f9e]{color:#999;font-size:14px}.loading-state[data-v-d23c5f9e]{text-align:center;padding:80px 20px}.loading-spinner[data-v-d23c5f9e]{width:40px;height:40px;border:3px solid #e8e8e8;border-top-color:#667eea;border-radius:50%;animation:spin-d23c5f9e .8s linear infinite;margin:0 auto 16px}@keyframes spin-d23c5f9e{to{transform:rotate(360deg)}}@media(max-width:768px){.page-header[data-v-d23c5f9e]{flex-direction:column;align-items:flex-start;gap:16px}.filter-bar[data-v-d23c5f9e],.log-header[data-v-d23c5f9e]{flex-wrap:wrap}.log-time[data-v-d23c5f9e]{margin-left:0;width:100%}}.data-recovery-container[data-v-2d652ce2]{padding:20px;max-width:1200px;margin:0 auto}.page-header[data-v-2d652ce2]{margin-bottom:30px}.page-header h1[data-v-2d652ce2]{font-size:28px;color:#333;margin:0 0 8px}.subtitle[data-v-2d652ce2]{color:#666;margin:0;font-size:14px}.content-wrapper[data-v-2d652ce2]{display:grid;grid-template-columns:1fr;gap:20px}.upload-section[data-v-2d652ce2],.result-section[data-v-2d652ce2],.instructions-section[data-v-2d652ce2]{animation:fadeIn-2d652ce2 .3s ease-in}@keyframes fadeIn-2d652ce2{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.upload-card[data-v-2d652ce2],.result-card[data-v-2d652ce2],.instructions-card[data-v-2d652ce2]{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 8px #00000014}.upload-icon[data-v-2d652ce2]{font-size:48px;text-align:center;margin-bottom:20px}.upload-card h2[data-v-2d652ce2]{text-align:center;color:#333;margin:0 0 10px;font-size:22px}.upload-hint[data-v-2d652ce2]{text-align:center;color:#666;margin:0 0 20px;font-size:14px}.period-selector[data-v-2d652ce2]{margin-bottom:20px}.period-selector label[data-v-2d652ce2]{display:block;color:#333;font-weight:500;margin-bottom:8px;font-size:14px}.period-select[data-v-2d652ce2]{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;cursor:pointer;transition:all .3s}.period-select[data-v-2d652ce2]:hover{border-color:#4caf50}.period-select[data-v-2d652ce2]:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.file-input-wrapper[data-v-2d652ce2]{margin-bottom:20px}.file-input[data-v-2d652ce2]{display:none}.btn-select[data-v-2d652ce2]{width:100%;padding:12px 24px;background:#f5f5f5;border:2px dashed #ddd;border-radius:8px;color:#666;font-size:14px;cursor:pointer;transition:all .3s}.btn-select[data-v-2d652ce2]:hover{border-color:#4caf50;background:#f9fff9;color:#4caf50}.file-info[data-v-2d652ce2]{background:#f9f9f9;border-radius:8px;padding:15px;margin-bottom:20px}.file-name[data-v-2d652ce2]{display:flex;align-items:center;gap:8px;color:#333;font-weight:500;margin-bottom:5px}.file-name .icon[data-v-2d652ce2]{font-size:18px}.file-size[data-v-2d652ce2]{color:#999;font-size:12px}.btn-import[data-v-2d652ce2]{width:100%;padding:14px 24px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-import[data-v-2d652ce2]:hover:not(:disabled){background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.btn-import[data-v-2d652ce2]:disabled{background:#ccc;cursor:not-allowed;transform:none}.loading[data-v-2d652ce2]{animation:spin-2d652ce2 1s linear infinite}@keyframes spin-2d652ce2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.result-card h3[data-v-2d652ce2],.instructions-card h3[data-v-2d652ce2]{color:#333;margin:0 0 20px;font-size:18px}.result-stats[data-v-2d652ce2]{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}.stat-item[data-v-2d652ce2]{text-align:center;padding:20px;border-radius:8px;background:#f9f9f9}.stat-item.success[data-v-2d652ce2]{background:#e8f5e9;color:#2e7d32}.stat-item.skip[data-v-2d652ce2]{background:#fff3e0;color:#e65100}.stat-item.error[data-v-2d652ce2]{background:#ffebee;color:#c62828}.stat-value[data-v-2d652ce2]{font-size:32px;font-weight:700;margin-bottom:5px}.stat-label[data-v-2d652ce2]{font-size:14px;opacity:.9}.result-message[data-v-2d652ce2]{text-align:center;color:#666;padding:15px;background:#f5f5f5;border-radius:8px;font-size:14px}.instructions-list[data-v-2d652ce2]{color:#666;line-height:1.8;padding-left:20px;margin:0 0 20px}.instructions-list li[data-v-2d652ce2]{margin-bottom:10px}.warning-box[data-v-2d652ce2]{display:flex;align-items:center;gap:10px;padding:12px 15px;background:#fff3e0;border-left:4px solid #ff9800;border-radius:4px;color:#e65100;font-size:14px}.warning-icon[data-v-2d652ce2]{font-size:18px}.detail-card[data-v-2d652ce2]{background:#fff;border-radius:12px;padding:20px;margin-top:20px;box-shadow:0 2px 8px #00000014}.detail-card h3[data-v-2d652ce2]{color:#333;margin:0 0 15px;font-size:16px;font-weight:600}.error-card h3[data-v-2d652ce2]{color:#c62828}.skip-card h3[data-v-2d652ce2]{color:#e65100}.detail-table-container[data-v-2d652ce2]{max-height:400px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px}.detail-table[data-v-2d652ce2]{width:100%;border-collapse:collapse;font-size:13px}.detail-table thead[data-v-2d652ce2]{position:sticky;top:0;background:#f5f5f5;z-index:1}.detail-table th[data-v-2d652ce2]{padding:12px 8px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0;white-space:nowrap}.detail-table td[data-v-2d652ce2]{padding:10px 8px;border-bottom:1px solid #f0f0f0;color:#666}.detail-table tbody tr[data-v-2d652ce2]:hover{background:#f9f9f9}.detail-table tbody tr:last-child td[data-v-2d652ce2]{border-bottom:none}.error-reason[data-v-2d652ce2]{color:#c62828;font-weight:500}.skip-reason[data-v-2d652ce2]{color:#e65100;font-weight:500}.detail-table-container[data-v-2d652ce2]::-webkit-scrollbar{width:8px}.detail-table-container[data-v-2d652ce2]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.detail-table-container[data-v-2d652ce2]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.detail-table-container[data-v-2d652ce2]::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media(max-width:768px){.data-recovery-container[data-v-2d652ce2]{padding:15px}.page-header h1[data-v-2d652ce2]{font-size:24px}.result-stats[data-v-2d652ce2]{grid-template-columns:1fr}.upload-card[data-v-2d652ce2],.result-card[data-v-2d652ce2],.instructions-card[data-v-2d652ce2]{padding:20px}.detail-card[data-v-2d652ce2]{padding:15px}.detail-table[data-v-2d652ce2]{font-size:12px}.detail-table th[data-v-2d652ce2],.detail-table td[data-v-2d652ce2]{padding:8px 6px}}.data-validation-container[data-v-c8d2ae05]{padding:20px;max-width:1200px;margin:0 auto}.page-header[data-v-c8d2ae05]{margin-bottom:30px}.page-header h1[data-v-c8d2ae05]{font-size:28px;color:#333;margin:0 0 8px}.subtitle[data-v-c8d2ae05]{color:#666;margin:0;font-size:14px}.content-wrapper[data-v-c8d2ae05]{display:grid;grid-template-columns:1fr;gap:20px}.action-section[data-v-c8d2ae05]{margin-bottom:20px}.btn-validate[data-v-c8d2ae05],.btn-correct[data-v-c8d2ae05],.btn-quota[data-v-c8d2ae05]{padding:14px 28px;background:#2196f3;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-validate[data-v-c8d2ae05]:hover:not(:disabled),.btn-correct[data-v-c8d2ae05]:hover:not(:disabled),.btn-quota[data-v-c8d2ae05]:hover:not(:disabled){background:#1976d2;transform:translateY(-2px);box-shadow:0 4px 12px #2196f34d}.btn-validate[data-v-c8d2ae05]:disabled,.btn-correct[data-v-c8d2ae05]:disabled,.btn-quota[data-v-c8d2ae05]:disabled{background:#ccc;cursor:not-allowed;transform:none}.btn-correct[data-v-c8d2ae05]{background:#ff9800}.btn-correct[data-v-c8d2ae05]:hover:not(:disabled){background:#f57c00;box-shadow:0 4px 12px #ff98004d}.btn-quota[data-v-c8d2ae05]{background:#4caf50}.btn-quota[data-v-c8d2ae05]:hover:not(:disabled){background:#45a049;box-shadow:0 4px 12px #4caf504d}.loading[data-v-c8d2ae05]{animation:spin-c8d2ae05 1s linear infinite}@keyframes spin-c8d2ae05{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.result-section[data-v-c8d2ae05],.correction-section[data-v-c8d2ae05]{animation:fadeIn-c8d2ae05 .3s ease-in}@keyframes fadeIn-c8d2ae05{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-card[data-v-c8d2ae05]{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 8px #00000014;margin-bottom:20px}.result-card h3[data-v-c8d2ae05]{color:#333;margin:0 0 20px;font-size:18px}.result-stats[data-v-c8d2ae05]{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:20px}.stat-item[data-v-c8d2ae05]{text-align:center;padding:20px;border-radius:8px;background:#f9f9f9}.stat-item.total[data-v-c8d2ae05]{background:#e3f2fd;color:#1565c0}.stat-item.duplicate[data-v-c8d2ae05]{background:#fff3e0;color:#e65100}.stat-item.deleted[data-v-c8d2ae05]{background:#ffebee;color:#c62828}.stat-item.updated[data-v-c8d2ae05]{background:#e8f5e9;color:#2e7d32}.stat-value[data-v-c8d2ae05]{font-size:32px;font-weight:700;margin-bottom:5px}.stat-label[data-v-c8d2ae05]{font-size:14px;opacity:.9}.warning-box[data-v-c8d2ae05],.success-box[data-v-c8d2ae05]{display:flex;align-items:center;gap:10px;padding:12px 15px;border-radius:8px;font-size:14px}.warning-box[data-v-c8d2ae05]{background:#fff3e0;border-left:4px solid #FF9800;color:#e65100}.success-box[data-v-c8d2ae05]{background:#e8f5e9;border-left:4px solid #4CAF50;color:#2e7d32}.warning-icon[data-v-c8d2ae05],.success-icon[data-v-c8d2ae05]{font-size:18px}.result-message[data-v-c8d2ae05]{text-align:center;color:#666;padding:15px;background:#f5f5f5;border-radius:8px;font-size:14px}.duplicate-section[data-v-c8d2ae05]{animation:fadeIn-c8d2ae05 .3s ease-in}.section-header[data-v-c8d2ae05]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h3[data-v-c8d2ae05]{color:#333;margin:0;font-size:18px}.duplicate-list[data-v-c8d2ae05]{display:flex;flex-direction:column;gap:15px}.duplicate-item[data-v-c8d2ae05]{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #00000014}.duplicate-header[data-v-c8d2ae05]{display:grid;grid-template-columns:1fr 1fr auto;gap:15px;padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid #e0e0e0}.user-info[data-v-c8d2ae05],.idcard-info[data-v-c8d2ae05],.count-info[data-v-c8d2ae05]{display:flex;align-items:center;gap:5px}.label[data-v-c8d2ae05]{color:#666;font-size:14px}.value[data-v-c8d2ae05]{color:#333;font-weight:500;font-size:14px}.value.count[data-v-c8d2ae05]{color:#e65100;font-weight:700;font-size:16px}.duplicate-records[data-v-c8d2ae05]{margin-top:15px}.records-table[data-v-c8d2ae05]{width:100%;border-collapse:collapse;font-size:13px}.records-table thead[data-v-c8d2ae05]{background:#f5f5f5}.records-table th[data-v-c8d2ae05]{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.records-table td[data-v-c8d2ae05]{padding:10px 12px;border-bottom:1px solid #f0f0f0;color:#666}.records-table tbody tr.keep[data-v-c8d2ae05]{background:#e8f5e9}.records-table tbody tr.delete[data-v-c8d2ae05]{background:#ffebee}.status-badge[data-v-c8d2ae05]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.keep[data-v-c8d2ae05]{background:#4caf50;color:#fff}.status-badge.delete[data-v-c8d2ae05]{background:#f44336;color:#fff}.instructions-section[data-v-c8d2ae05]{margin-top:20px}.instructions-card[data-v-c8d2ae05]{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 8px #00000014}.instructions-card h3[data-v-c8d2ae05]{color:#333;margin:0 0 20px;font-size:18px}.instruction-item[data-v-c8d2ae05]{margin-bottom:20px;padding:15px;background:#f9f9f9;border-radius:8px}.instruction-item.warning[data-v-c8d2ae05]{background:#fff3e0;border-left:4px solid #FF9800}.instruction-title[data-v-c8d2ae05]{font-weight:600;color:#333;margin-bottom:8px;font-size:15px}.instruction-desc[data-v-c8d2ae05]{color:#666;line-height:1.6;font-size:14px}.instruction-desc ul[data-v-c8d2ae05]{margin:10px 0 0 20px;padding:0}.instruction-desc li[data-v-c8d2ae05]{margin-bottom:5px}@media(max-width:768px){.data-validation-container[data-v-c8d2ae05]{padding:15px}.page-header h1[data-v-c8d2ae05]{font-size:24px}.result-stats[data-v-c8d2ae05]{grid-template-columns:1fr}.duplicate-header[data-v-c8d2ae05]{grid-template-columns:1fr;gap:10px}.records-table[data-v-c8d2ae05]{font-size:12px}}.quota-correction-section[data-v-c8d2ae05]{animation:fadeIn-c8d2ae05 .3s ease-in}.stat-item.over-quota[data-v-c8d2ae05]{background:#ffebee;color:#c62828}.over-quota-section[data-v-c8d2ae05]{margin-top:20px}.over-quota-section .section-header[data-v-c8d2ae05]{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.over-quota-section h3[data-v-c8d2ae05]{color:#333;margin:0;font-size:16px}.warning-badge[data-v-c8d2ae05]{background:#ff9800;color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.over-quota-list[data-v-c8d2ae05]{display:flex;flex-direction:column;gap:12px}.over-quota-item[data-v-c8d2ae05]{background:#fff;border:1px solid #FFCDD2;border-radius:8px;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:15px}.subject-info[data-v-c8d2ae05]{flex:1}.subject-name[data-v-c8d2ae05]{font-size:16px;font-weight:600;color:#333;margin-bottom:8px}.subject-details[data-v-c8d2ae05]{display:flex;gap:20px;flex-wrap:wrap}.detail-item[data-v-c8d2ae05]{display:flex;align-items:center;gap:6px;font-size:14px}.detail-item .label[data-v-c8d2ae05]{color:#666}.detail-item .value[data-v-c8d2ae05]{color:#333;font-weight:500}.detail-item.over .value[data-v-c8d2ae05]{color:#c62828;font-weight:700}.action-hint[data-v-c8d2ae05]{display:flex;align-items:center;gap:8px;background:#fff3e0;padding:8px 12px;border-radius:6px;font-size:13px;color:#e65100;white-space:nowrap}.hint-icon[data-v-c8d2ae05]{font-size:16px}.records-table th[data-v-c8d2ae05],.records-table td[data-v-c8d2ae05]{padding:8px}.admin-layout[data-v-e272a80a]{min-height:100vh;background:#f5f5f5}.admin-header[data-v-e272a80a]{background:linear-gradient(135deg,#667eea,#764ba2);padding:15px 20px;color:#fff;display:flex;justify-content:space-between;align-items:center}.admin-header h1[data-v-e272a80a]{font-size:20px;margin:0}.admin-name[data-v-e272a80a]{font-size:13px;opacity:.8;margin-left:10px}.home-btn[data-v-e272a80a],.logout-btn[data-v-e272a80a]{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.5);padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;margin-left:10px}.logout-btn[data-v-e272a80a]{background:#e53935cc;border-color:#e53935cc}.admin-tabs[data-v-e272a80a]{display:flex;background:#fff;border-bottom:1px solid #eee;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#c1c1c1 transparent}.admin-tabs[data-v-e272a80a]::-webkit-scrollbar{height:4px}.admin-tabs[data-v-e272a80a]::-webkit-scrollbar-track{background:transparent}.admin-tabs[data-v-e272a80a]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:2px}.tab-btn[data-v-e272a80a]{flex-shrink:0;padding:15px 24px;border:none;background:none;font-size:14px;color:#666;cursor:pointer;transition:all .3s;white-space:nowrap;position:relative}.tab-btn[data-v-e272a80a]:hover{color:#667eea;background:#f8f9ff}.tab-btn.active[data-v-e272a80a]{color:#667eea;font-weight:500}.tab-btn.active[data-v-e272a80a]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(135deg,#667eea,#764ba2)}.admin-content[data-v-e272a80a]{padding:20px}.modal-overlay[data-v-e272a80a]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-e272a80a]{background:#fff;border-radius:12px;width:90%;max-width:320px;box-shadow:0 4px 20px #00000026}.modal-header[data-v-e272a80a]{padding:20px 20px 10px;text-align:center}.modal-icon[data-v-e272a80a]{font-size:48px;display:block;margin-bottom:10px}.modal-header h3[data-v-e272a80a]{margin:0;font-size:18px;color:#333}.modal-body[data-v-e272a80a]{padding:10px 20px 20px;text-align:center}.modal-body p[data-v-e272a80a]{margin:0;font-size:14px;color:#666;line-height:1.6}.modal-footer[data-v-e272a80a]{padding:0 20px 20px;display:flex;justify-content:center}.btn-confirm[data-v-e272a80a]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 40px;border-radius:25px;font-size:15px;cursor:pointer;transition:opacity .3s}.btn-confirm[data-v-e272a80a]:active{opacity:.8}.login-page[data-v-bbf874d5]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card[data-v-bbf874d5]{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:400px;box-shadow:0 10px 40px #0003}.login-header[data-v-bbf874d5]{text-align:center;margin-bottom:30px}.login-header h1[data-v-bbf874d5]{font-size:24px;color:#333;margin-bottom:10px}.login-header p[data-v-bbf874d5]{font-size:14px;color:#999}.form-item[data-v-bbf874d5]{margin-bottom:20px}.form-item input[data-v-bbf874d5]{width:100%;padding:14px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:15px;outline:none;transition:border-color .3s}.form-item input[data-v-bbf874d5]:focus{border-color:#667eea}.error-msg[data-v-bbf874d5]{color:#e53935;font-size:13px;text-align:center;margin-bottom:15px}.submit-btn[data-v-bbf874d5]{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;cursor:pointer;transition:opacity .3s}.submit-btn[data-v-bbf874d5]:hover:not(:disabled){opacity:.9}.submit-btn[data-v-bbf874d5]:disabled{opacity:.6;cursor:not-allowed}.toggle-mode[data-v-bbf874d5]{text-align:center;margin-top:20px}.toggle-mode span[data-v-bbf874d5]{color:#667eea;font-size:14px;cursor:pointer}.toggle-mode span[data-v-bbf874d5]:hover{text-decoration:underline}.loading[data-v-bbf874d5]{text-align:center;color:#999;padding:40px}.dashboard[data-v-16f48dfb]{max-width:800px;margin:0 auto}.stat-cards[data-v-16f48dfb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:30px}.stat-card[data-v-16f48dfb]{background:#fff;border-radius:12px;padding:24px;text-align:center;box-shadow:0 2px 8px #00000014}.stat-card.total[data-v-16f48dfb]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-value[data-v-16f48dfb]{font-size:36px;font-weight:700;margin-bottom:8px}.stat-label[data-v-16f48dfb]{font-size:14px;opacity:.9}.chart-section[data-v-16f48dfb]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014}.chart-section h3[data-v-16f48dfb]{font-size:16px;margin-bottom:20px;color:#333}.chart-list[data-v-16f48dfb]{display:flex;flex-direction:column;gap:15px}.chart-item[data-v-16f48dfb]{display:flex;flex-direction:column;gap:8px}.chart-info[data-v-16f48dfb]{display:flex;justify-content:space-between;font-size:14px}.chart-name[data-v-16f48dfb]{color:#333}.chart-count[data-v-16f48dfb]{color:#666}.chart-bar[data-v-16f48dfb]{height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}.chart-fill[data-v-16f48dfb]{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;transition:width .3s ease}.empty[data-v-16f48dfb]{text-align:center;color:#999;padding:40px}.registration-list[data-v-cb3d3cc5]{max-width:800px;margin:0 auto}.search-bar[data-v-cb3d3cc5]{margin-bottom:15px}.search-bar input[data-v-cb3d3cc5]{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:8px;font-size:14px;outline:none}.search-bar input[data-v-cb3d3cc5]:focus{border-color:#667eea}.list-container[data-v-cb3d3cc5]{display:flex;flex-direction:column;gap:12px}.loading[data-v-cb3d3cc5],.empty[data-v-cb3d3cc5]{text-align:center;color:#999;padding:40px}.list-item[data-v-cb3d3cc5]{background:#fff;border-radius:12px;padding:15px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #00000014}.item-main[data-v-cb3d3cc5]{flex:1}.item-header[data-v-cb3d3cc5]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.item-name[data-v-cb3d3cc5]{font-size:16px;font-weight:500;color:#333}.item-gender[data-v-cb3d3cc5]{font-size:13px;color:#666}.item-info[data-v-cb3d3cc5]{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#666;margin-bottom:6px}.item-time[data-v-cb3d3cc5]{font-size:12px;color:#999}.item-actions[data-v-cb3d3cc5]{margin-left:15px}.delete-btn[data-v-cb3d3cc5]{background:#fff;color:#e53935;border:1px solid #e53935;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer}.delete-btn[data-v-cb3d3cc5]:hover{background:#e53935;color:#fff}.list-footer[data-v-cb3d3cc5]{text-align:center;color:#999;font-size:13px;margin-top:20px}.mobile-home[data-v-361dbe9a]{min-height:100vh;background:#f5f7fa;padding-bottom:60px}.header[data-v-361dbe9a]{background:linear-gradient(135deg,#1677ff,#0958d9);padding:20px;text-align:center;color:#fff}.header-title[data-v-361dbe9a]{font-size:18px;font-weight:600;margin-bottom:4px}.header-subtitle[data-v-361dbe9a]{font-size:12px;opacity:.9}.banner-section[data-v-361dbe9a]{padding:15px;margin-top:-10px}.banner-container[data-v-361dbe9a]{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.banner-wrapper[data-v-361dbe9a]{display:flex;transition:transform .5s ease}.banner-item[data-v-361dbe9a]{min-width:100%;position:relative}.banner-item img[data-v-361dbe9a]{width:100%;height:160px;object-fit:cover}.banner-title[data-v-361dbe9a]{position:absolute;bottom:0;left:0;right:0;padding:30px 15px 15px;background:linear-gradient(transparent,#000000b3);color:#fff;font-size:16px;font-weight:500}.banner-dots[data-v-361dbe9a]{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:6px}.banner-dots span[data-v-361dbe9a]{width:6px;height:6px;border-radius:50%;background:#ffffff80;cursor:pointer;transition:all .3s}.banner-dots span.active[data-v-361dbe9a]{width:18px;border-radius:3px;background:#fff}.banner-empty[data-v-361dbe9a]{width:100%;height:160px;background:#1a1a1a;display:flex;align-items:center;justify-content:center}.banner-empty span[data-v-361dbe9a]{color:#fff;font-size:14px;opacity:.8}.banner-placeholder[data-v-361dbe9a]{width:100%;height:160px;display:flex;align-items:center;justify-content:center;overflow:hidden}.banner-placeholder img[data-v-361dbe9a]{width:100%;height:100%;object-fit:cover}.quick-actions[data-v-361dbe9a]{display:flex;justify-content:space-around;padding:15px;background:#fff;margin:0 15px;border-radius:12px;box-shadow:0 2px 8px #0000000f}.action-item[data-v-361dbe9a]{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;flex:1}.action-icon[data-v-361dbe9a]{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center}.action-icon svg[data-v-361dbe9a]{width:24px;height:24px}.action-icon.query[data-v-361dbe9a]{background:#e6f4ff;color:#1677ff}.action-icon.admin[data-v-361dbe9a]{background:#f6ffed;color:#52c41a}.action-icon.notice[data-v-361dbe9a]{background:#fff7e6;color:#fa8c16}.action-icon.contact[data-v-361dbe9a]{background:#f9f0ff;color:#722ed1}.action-item span[data-v-361dbe9a]{font-size:12px;color:#666}.section-header[data-v-361dbe9a]{display:flex;justify-content:space-between;align-items:center;padding:0 15px;margin-bottom:12px}.section-title[data-v-361dbe9a]{font-size:16px;font-weight:600;color:#333;position:relative;padding-left:10px}.section-title[data-v-361dbe9a]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:16px;background:#1677ff;border-radius:2px}.section-more[data-v-361dbe9a]{font-size:13px;color:#999}.schedule-section[data-v-361dbe9a]{margin:15px;padding:15px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.schedule-list[data-v-361dbe9a]{display:flex;flex-direction:column;gap:12px}.schedule-item[data-v-361dbe9a]{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f9fa;border-radius:10px}.schedule-date[data-v-361dbe9a]{display:flex;flex-direction:column;align-items:center;min-width:50px;padding:8px;background:#1677ff;border-radius:8px;color:#fff}.schedule-date .day[data-v-361dbe9a]{font-size:20px;font-weight:600;line-height:1}.schedule-date .month[data-v-361dbe9a]{font-size:11px;margin-top:2px;opacity:.9}.schedule-info[data-v-361dbe9a]{flex:1}.schedule-title[data-v-361dbe9a]{font-size:14px;font-weight:500;color:#333;margin-bottom:4px;display:flex;align-items:center;gap:8px}.schedule-status[data-v-361dbe9a]{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:400}.schedule-status.ongoing[data-v-361dbe9a]{background:#52c41a;color:#fff}.schedule-status.upcoming[data-v-361dbe9a]{background:#1677ff;color:#fff}.schedule-status.ended[data-v-361dbe9a]{background:#999;color:#fff}.schedule-desc[data-v-361dbe9a]{font-size:12px;color:#1677ff;font-weight:500}.schedule-item.inactive[data-v-361dbe9a]{opacity:.6}.schedule-item.inactive .schedule-date[data-v-361dbe9a]{background:#999}.schedule-empty[data-v-361dbe9a]{text-align:center;padding:30px;color:#999;font-size:14px}.courses-section[data-v-361dbe9a]{margin:15px}.course-list[data-v-361dbe9a]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.course-card[data-v-361dbe9a]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f;cursor:pointer;transition:transform .2s}.course-card[data-v-361dbe9a]:active{transform:scale(.98)}.course-image[data-v-361dbe9a]{position:relative;height:100px}.course-image img[data-v-361dbe9a]{width:100%;height:100%;object-fit:cover}.course-image-empty[data-v-361dbe9a]{width:100%;height:100%;background:#e0e0e0;display:flex;align-items:center;justify-content:center}.course-image-empty span[data-v-361dbe9a]{color:#333;font-size:12px}.course-status[data-v-361dbe9a]{position:absolute;top:8px;right:8px;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:500}.course-status.open[data-v-361dbe9a]{background:#52c41a;color:#fff}.course-status.full[data-v-361dbe9a]{background:#fa8c16;color:#fff}.course-status.paused[data-v-361dbe9a]{background:#ff4d4f;color:#fff}.course-status.closed[data-v-361dbe9a]{background:#999;color:#fff}.course-status.upcoming[data-v-361dbe9a]{background:#fa8c16;color:#fff}.course-status.ended[data-v-361dbe9a],.course-status.unavailable[data-v-361dbe9a]{background:#999;color:#fff}.course-info[data-v-361dbe9a]{padding:12px}.course-info h3[data-v-361dbe9a]{font-size:14px;font-weight:500;color:#333;margin-bottom:6px}.course-date[data-v-361dbe9a],.course-count[data-v-361dbe9a]{font-size:12px;color:#999;margin-bottom:2px}.bottom-placeholder[data-v-361dbe9a]{height:30px}.footer-support[data-v-361dbe9a]{text-align:center;padding:15px;padding-bottom:calc(15px + env(safe-area-inset-bottom));font-size:12px;position:fixed;bottom:0;left:0;right:0;background:#f5f5f5}.footer-support a[data-v-361dbe9a]{color:#999;text-decoration:none;transition:color .3s;cursor:pointer}.footer-support a[data-v-361dbe9a]:hover{color:#1677ff}.schedule-arrow[data-v-361dbe9a]{display:flex;align-items:center;margin-left:10px;color:#999}.schedule-arrow svg[data-v-361dbe9a]{width:16px;height:16px}.modal-overlay[data-v-361dbe9a]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-361dbe9a]{background:#fff;border-radius:12px;width:100%;max-width:400px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-361dbe9a]{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #f0f0f0}.modal-header h3[data-v-361dbe9a]{font-size:16px;font-weight:600;color:#333;margin:0}.close-btn[data-v-361dbe9a]{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.modal-body[data-v-361dbe9a]{padding:20px;overflow-y:auto;flex:1}.schedule-detail-section[data-v-361dbe9a]{margin-bottom:20px}.schedule-detail-section h4[data-v-361dbe9a]{font-size:14px;font-weight:600;color:#333;margin-bottom:12px}.detail-row[data-v-361dbe9a]{display:flex;margin-bottom:10px;font-size:13px}.detail-row .label[data-v-361dbe9a]{color:#999;min-width:70px}.detail-row .value[data-v-361dbe9a]{color:#333;font-weight:500}.detail-row .value.ended[data-v-361dbe9a]{color:#ff4d4f}.subjects-section[data-v-361dbe9a]{margin-bottom:10px}.subjects-section h4[data-v-361dbe9a]{font-size:14px;font-weight:600;color:#333;margin-bottom:12px}.category-subjects[data-v-361dbe9a]{margin-bottom:15px}.category-name[data-v-361dbe9a]{font-size:13px;font-weight:600;color:#666;margin-bottom:8px}.subjects-scroll[data-v-361dbe9a]{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;scrollbar-width:none}.subjects-scroll[data-v-361dbe9a]::-webkit-scrollbar{display:none}.subject-card[data-v-361dbe9a]{flex:0 0 140px;background:#f5f5f5;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px}.subject-name[data-v-361dbe9a]{font-size:13px;font-weight:500;color:#333;line-height:1.3;flex:1}.subject-quota[data-v-361dbe9a]{font-size:12px;color:#666}.quota-label[data-v-361dbe9a]{color:#999}.quota-value[data-v-361dbe9a]{font-weight:500}.quota-value .registered[data-v-361dbe9a]{color:#1677ff}.quota-value .total[data-v-361dbe9a]{color:#333}.quota-bar[data-v-361dbe9a]{width:100%;height:4px;background:#e8e8e8;border-radius:2px;overflow:hidden;margin-top:4px}.quota-fill[data-v-361dbe9a]{height:100%;border-radius:2px;transition:width .3s ease}.quota-fill.quota-high[data-v-361dbe9a]{background:#52c41a}.quota-fill.quota-medium[data-v-361dbe9a]{background:#faad14}.quota-fill.quota-low[data-v-361dbe9a]{background:#ff4d4f}.no-subjects[data-v-361dbe9a]{text-align:center;padding:30px 0;color:#999;font-size:14px;background:#f5f5f5;border-radius:8px}.register-page[data-v-70b16521]{min-height:100vh;background:#f5f7fa;padding-bottom:30px}.header[data-v-70b16521]{background:linear-gradient(135deg,#1677ff,#0958d9);padding:15px 20px;color:#fff;display:flex;align-items:center;gap:15px}.back-btn[data-v-70b16521]{width:36px;height:36px;border-radius:50%;background:#fff3;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.back-btn svg[data-v-70b16521]{width:20px;height:20px;color:#fff}.header h2[data-v-70b16521]{font-size:18px;font-weight:500}.course-card[data-v-70b16521]{margin:15px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.course-tag[data-v-70b16521]{display:inline-block;padding:4px 10px;background:#e6f4ff;color:#1677ff;font-size:12px;border-radius:4px;margin-bottom:10px}.course-name[data-v-70b16521]{font-size:18px;font-weight:600;color:#333}.form-container[data-v-70b16521]{padding:0 15px}.form-item[data-v-70b16521]{background:#fff;border-radius:12px;padding:15px;margin-bottom:12px;box-shadow:0 2px 8px #0000000f}.form-item label[data-v-70b16521]{display:block;font-size:14px;color:#333;margin-bottom:10px;font-weight:500}.required[data-v-70b16521]{color:#f5222d;margin-right:4px}.form-item input[data-v-70b16521]{width:100%;padding:12px;border:1px solid #e8e8e8;border-radius:8px;font-size:15px;box-sizing:border-box}.form-item input[data-v-70b16521]:focus{outline:none;border-color:#1677ff}.form-item input.readonly[data-v-70b16521]{background:#f5f5f5;color:#666}.form-item input[data-v-70b16521]::placeholder{color:#999}.error[data-v-70b16521]{display:block;color:#f5222d;font-size:12px;margin-top:6px}.gender-options[data-v-70b16521]{display:flex;gap:15px}.gender-option[data-v-70b16521]{flex:1;display:flex;align-items:center;justify-content:center;padding:12px;border:1px solid #e8e8e8;border-radius:8px;cursor:pointer;transition:all .3s;font-size:15px}.gender-option input[data-v-70b16521]{display:none}.gender-option.selected[data-v-70b16521]{border-color:#1677ff;background:#e6f4ff;color:#1677ff}.tips[data-v-70b16521]{margin:15px;padding:12px;background:#fffbe6;border-radius:8px;display:flex;align-items:flex-start;gap:8px}.tips svg[data-v-70b16521]{width:16px;height:16px;color:#faad14;flex-shrink:0;margin-top:2px}.tips span[data-v-70b16521]{font-size:13px;color:#d48806;line-height:1.5}.submit-section[data-v-70b16521]{padding:15px}.submit-btn[data-v-70b16521]{width:100%;padding:14px;background:linear-gradient(135deg,#1677ff,#0958d9);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:500;cursor:pointer}.submit-btn[data-v-70b16521]:disabled{opacity:.6;cursor:not-allowed}.modal[data-v-70b16521]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-70b16521]{background:#fff;border-radius:16px;padding:30px;text-align:center;max-width:320px;width:100%}.success-icon[data-v-70b16521]{width:60px;height:60px;margin:0 auto 15px;background:#f6ffed;border-radius:50%;display:flex;align-items:center;justify-content:center}.success-icon svg[data-v-70b16521]{width:32px;height:32px;color:#52c41a}.modal-content h3[data-v-70b16521]{font-size:20px;font-weight:600;color:#333;margin-bottom:8px}.modal-content p[data-v-70b16521]{font-size:14px;color:#666;margin-bottom:20px}.success-info[data-v-70b16521]{background:#f5f5f5;border-radius:8px;padding:15px;margin-bottom:20px}.info-row[data-v-70b16521]{display:flex;justify-content:space-between;padding:8px 0}.info-row[data-v-70b16521]:not(:last-child){border-bottom:1px solid #e8e8e8}.info-row .label[data-v-70b16521]{color:#666;font-size:14px}.info-row .value[data-v-70b16521]{color:#333;font-size:14px;font-weight:500}.btn-primary[data-v-70b16521]{width:100%;padding:12px;background:#1677ff;color:#fff;border:none;border-radius:8px;font-size:15px;cursor:pointer}.notice-page[data-v-32624e22]{min-height:100vh;background:#f5f7fa}.header[data-v-32624e22]{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;background:#fff;border-bottom:1px solid #f0f0f0;position:sticky;top:0;z-index:10}.back-btn[data-v-32624e22]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer}.back-btn svg[data-v-32624e22]{width:20px;height:20px;color:#333}.header-title[data-v-32624e22]{font-size:17px;font-weight:600;color:#333}.placeholder[data-v-32624e22]{width:32px}.notice-list[data-v-32624e22]{padding:15px}.loading[data-v-32624e22]{text-align:center;padding:60px 20px;color:#999}.loading-spinner[data-v-32624e22]{width:40px;height:40px;border:3px solid #f0f0f0;border-top-color:#4a90e2;border-radius:50%;animation:spin-32624e22 1s linear infinite;margin:0 auto 16px}@keyframes spin-32624e22{to{transform:rotate(360deg)}}.empty-state[data-v-32624e22]{text-align:center;padding:80px 20px}.empty-icon[data-v-32624e22]{font-size:64px;margin-bottom:16px}.empty-state p[data-v-32624e22]{color:#999;font-size:15px}.notice-items[data-v-32624e22]{display:flex;flex-direction:column;gap:12px}.notice-item[data-v-32624e22]{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000000f;border-left:3px solid transparent}.notice-item.is-top[data-v-32624e22]{border-left-color:#f5222d;background:linear-gradient(to right,#fff1f0,#fff)}.notice-header[data-v-32624e22]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.top-tag[data-v-32624e22]{padding:2px 8px;background:#f5222d;color:#fff;font-size:11px;border-radius:4px;font-weight:500}.notice-date[data-v-32624e22]{font-size:13px;color:#999}.notice-title[data-v-32624e22]{margin:0 0 10px;font-size:16px;font-weight:600;color:#333;line-height:1.4}.notice-content[data-v-32624e22]{margin:0 0 12px;font-size:14px;color:#666;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.notice-footer[data-v-32624e22]{display:flex;align-items:center;justify-content:flex-end}.view-count[data-v-32624e22]{display:flex;align-items:center;gap:4px;font-size:12px;color:#999}.view-count svg[data-v-32624e22]{width:14px;height:14px}.load-more[data-v-32624e22]{text-align:center;padding:20px}.load-more button[data-v-32624e22]{padding:10px 24px;background:#fff;border:1px solid #ddd;border-radius:20px;color:#666;font-size:14px;cursor:pointer;transition:all .3s}.load-more button[data-v-32624e22]:hover:not(:disabled){border-color:#4a90e2;color:#4a90e2}.load-more button[data-v-32624e22]:disabled{opacity:.6;cursor:not-allowed}.no-more[data-v-32624e22]{text-align:center;padding:20px;color:#999;font-size:13px}.bottom-nav[data-v-6da1044c]{position:fixed;bottom:0;left:0;right:0;height:60px;background:#fff;display:flex;justify-content:space-around;align-items:center;border-top:1px solid #f0f0f0;z-index:100;padding-bottom:env(safe-area-inset-bottom)}.nav-item[data-v-6da1044c]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;padding:8px 20px;transition:all .3s}.nav-icon[data-v-6da1044c]{width:24px;height:24px;color:#999;transition:color .3s}.nav-icon svg[data-v-6da1044c]{width:100%;height:100%}.nav-label[data-v-6da1044c]{font-size:11px;color:#999;transition:color .3s}.nav-item.active .nav-icon[data-v-6da1044c],.nav-item.active .nav-label[data-v-6da1044c]{color:#1677ff}.verification-overlay[data-v-4ead4b06]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.verification-modal[data-v-4ead4b06]{background:#fff;border-radius:12px;width:100%;max-width:400px;max-height:90vh;overflow:hidden;animation:modalSlideIn-4ead4b06 .3s ease}@keyframes modalSlideIn-4ead4b06{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-4ead4b06]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f0f0f0}.modal-header h3[data-v-4ead4b06]{margin:0;font-size:18px;font-weight:600;color:#333}.close-btn[data-v-4ead4b06]{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-btn[data-v-4ead4b06]:hover{background:#f5f5f5;color:#666}.modal-body[data-v-4ead4b06]{padding:20px}.verification-info[data-v-4ead4b06]{text-align:center;margin-bottom:20px}.info-text[data-v-4ead4b06]{font-size:15px;color:#333;margin:0 0 8px;font-weight:500}.sub-text[data-v-4ead4b06]{font-size:13px;color:#999;margin:0}.form-group[data-v-4ead4b06]{margin-bottom:16px}.form-group label[data-v-4ead4b06]{display:block;font-size:14px;color:#333;margin-bottom:6px;font-weight:500}.form-group input[data-v-4ead4b06]{width:100%;padding:12px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:15px;transition:all .2s;box-sizing:border-box}.form-group input[data-v-4ead4b06]:focus{outline:none;border-color:#1677ff;box-shadow:0 0 0 3px #1677ff1a}.form-group input[data-v-4ead4b06]:disabled{background:#f5f5f5;cursor:not-allowed}.error-message[data-v-4ead4b06]{padding:12px;background:#fff2f0;border:1px solid #ffccc7;border-radius:8px;color:#ff4d4f;font-size:13px;margin-top:12px}.result-message[data-v-4ead4b06]{padding:12px;border-radius:8px;font-size:14px;margin-top:12px;display:flex;align-items:center;gap:8px}.result-message.success[data-v-4ead4b06]{background:#f6ffed;border:1px solid #b7eb8f;color:#52c41a}.result-message.failed[data-v-4ead4b06]{background:#fff2f0;border:1px solid #ffccc7;color:#ff4d4f}.result-message .icon[data-v-4ead4b06]{font-size:16px;font-weight:700}.modal-footer[data-v-4ead4b06]{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #f0f0f0}.btn-cancel[data-v-4ead4b06],.btn-verify[data-v-4ead4b06]{flex:1;padding:12px 20px;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-cancel[data-v-4ead4b06]{background:#f5f5f5;color:#666}.btn-cancel[data-v-4ead4b06]:hover:not(:disabled){background:#e8e8e8}.btn-verify[data-v-4ead4b06]{background:#1677ff;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px}.btn-verify[data-v-4ead4b06]:hover:not(:disabled){background:#4096ff}.btn-verify[data-v-4ead4b06]:disabled{background:#d9d9d9;cursor:not-allowed}.loading-spinner[data-v-4ead4b06]{width:16px;height:16px;border:2px solid #ffffff;border-top-color:transparent;border-radius:50%;animation:spin-4ead4b06 .8s linear infinite}@keyframes spin-4ead4b06{to{transform:rotate(360deg)}}.profile-page[data-v-596c37b7]{min-height:100vh;background:#f5f7fa;padding-bottom:60px}.profile-header[data-v-596c37b7]{position:relative;padding:20px;overflow:hidden;background:linear-gradient(135deg,#1677ff,#0958d9);border-radius:0 0 24px 24px;margin-bottom:10px}.user-info[data-v-596c37b7]{position:relative;display:flex;align-items:center;gap:15px;padding:20px 15px}.avatar[data-v-596c37b7]{width:70px;height:70px;border-radius:50%;background:#fffffff2;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:3px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #00000026}.avatar svg[data-v-596c37b7]{width:35px;height:35px;color:#1677ff}.user-meta[data-v-596c37b7]{flex:1;display:flex;flex-direction:column;gap:10px}.user-name[data-v-596c37b7]{font-size:20px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1)}.user-status[data-v-596c37b7]{display:flex;align-items:center}.status-badge[data-v-596c37b7]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.registered[data-v-596c37b7]{background:#fffffff2;color:#1677ff}.status-badge.unregistered[data-v-596c37b7]{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.status-badge.verified[data-v-596c37b7]{background:#52c41af2;color:#fff;margin-left:8px}.arrow-icon[data-v-596c37b7]{width:24px;height:24px;color:#ffffffb3;flex-shrink:0}.arrow-icon svg[data-v-596c37b7]{width:100%;height:100%}.section[data-v-596c37b7]{margin:0 15px 15px}.section-title[data-v-596c37b7]{font-size:16px;font-weight:600;color:#333;margin-bottom:12px;padding-left:10px;position:relative}.section-title[data-v-596c37b7]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:16px;background:#1677ff;border-radius:2px}.registration-card[data-v-596c37b7]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.card-header[data-v-596c37b7]{padding:15px;background:linear-gradient(135deg,#1677ff,#0958d9);color:#fff}.course-name[data-v-596c37b7]{font-size:16px;font-weight:600;margin-bottom:4px}.category-name[data-v-596c37b7]{font-size:13px;opacity:.9}.card-body[data-v-596c37b7]{padding:15px}.info-row[data-v-596c37b7]{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f0f0}.info-row[data-v-596c37b7]:last-child{border-bottom:none}.info-row .label[data-v-596c37b7]{font-size:13px;color:#999}.info-row .value[data-v-596c37b7]{font-size:13px;color:#333}.card-footer[data-v-596c37b7]{display:flex;gap:10px;padding:15px;border-top:1px solid #f0f0f0}.btn-primary[data-v-596c37b7],.btn-secondary[data-v-596c37b7]{flex:1;padding:12px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .3s;border:none}.btn-primary[data-v-596c37b7]{background:#1677ff;color:#fff}.btn-primary[data-v-596c37b7]:active{background:#0958d9}.btn-primary.disabled[data-v-596c37b7]{background:#ccc;cursor:not-allowed}.btn-secondary[data-v-596c37b7]{background:#f5f5f5;color:#666}.btn-secondary[data-v-596c37b7]:active{background:#e8e8e8}.empty-card[data-v-596c37b7]{background:#fff;border-radius:12px;padding:40px 20px;text-align:center;box-shadow:0 2px 8px #0000000f}.empty-card svg[data-v-596c37b7]{width:60px;height:60px;color:#ddd;margin-bottom:16px}.empty-card p[data-v-596c37b7]{font-size:14px;color:#999;margin-bottom:20px}.quick-menu[data-v-596c37b7]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:#fff;border-radius:12px;padding:20px 10px;box-shadow:0 2px 8px #0000000f}.menu-item[data-v-596c37b7]{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}.menu-icon[data-v-596c37b7]{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center}.menu-icon svg[data-v-596c37b7]{width:24px;height:24px;color:#fff}.menu-icon.blue[data-v-596c37b7]{background:#1677ff}.menu-icon.green[data-v-596c37b7]{background:#52c41a}.menu-icon.red[data-v-596c37b7]{background:#ff4d4f}.menu-icon.gray[data-v-596c37b7]{background:#bfbfbf}.menu-icon.orange[data-v-596c37b7]{background:#fa8c16}.menu-icon.purple[data-v-596c37b7]{background:#722ed1}.menu-item span[data-v-596c37b7]{font-size:12px;color:#666}.menu-item.disabled[data-v-596c37b7]{cursor:not-allowed;opacity:.7}.contact-card[data-v-596c37b7]{background:#fff;border-radius:12px;padding:15px;box-shadow:0 2px 8px #0000000f}.contact-item[data-v-596c37b7]{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f0f0f0}.contact-item[data-v-596c37b7]:last-child{border-bottom:none}.contact-item svg[data-v-596c37b7]{width:20px;height:20px;color:#1677ff}.contact-item span[data-v-596c37b7]{font-size:14px;color:#333}.bottom-placeholder[data-v-596c37b7]{height:20px}.technical-support[data-v-596c37b7]{text-align:center;padding:15px 0;font-size:12px;color:#999;margin-top:20px;margin-bottom:10px;position:relative;z-index:1}.support-link[data-v-596c37b7]{color:#999;text-decoration:underline;cursor:pointer}.support-link[data-v-596c37b7]:hover{color:#1677ff}.modal[data-v-596c37b7]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.modal-content[data-v-596c37b7]{background:#fff;border-radius:16px;width:100%;max-width:350px;max-height:80vh;overflow:hidden}.modal-header[data-v-596c37b7]{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #f0f0f0}.modal-header h3[data-v-596c37b7]{font-size:16px;font-weight:600;color:#333}.close-btn[data-v-596c37b7]{background:none;border:none;font-size:24px;color:#999;cursor:pointer}.modal-body[data-v-596c37b7]{padding:15px 20px;max-height:60vh;overflow-y:auto}.detail-item[data-v-596c37b7]{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f5f5f5}.detail-item[data-v-596c37b7]:last-child{border-bottom:none}.detail-item .label[data-v-596c37b7]{font-size:14px;color:#999}.detail-item .value[data-v-596c37b7]{font-size:14px;color:#333;font-weight:500}.settings-page[data-v-ce7b0c61]{min-height:100vh;background:#f5f7fa}.header[data-v-ce7b0c61]{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;background:#fff;border-bottom:1px solid #f0f0f0}.back-btn[data-v-ce7b0c61]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer}.back-btn svg[data-v-ce7b0c61]{width:20px;height:20px;color:#333}.header-title[data-v-ce7b0c61]{font-size:17px;font-weight:600;color:#333}.placeholder[data-v-ce7b0c61]{width:32px}.settings-form[data-v-ce7b0c61]{padding:20px}.verify-section[data-v-ce7b0c61]{margin-bottom:15px}.verify-card[data-v-ce7b0c61]{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:15px}.verify-icon[data-v-ce7b0c61]{width:50px;height:50px;border-radius:50%;background:#fff7e6;display:flex;align-items:center;justify-content:center;flex-shrink:0}.verify-icon svg[data-v-ce7b0c61]{width:24px;height:24px;color:#fa8c16}.verify-icon.verified[data-v-ce7b0c61]{background:#f6ffed}.verify-icon.verified svg[data-v-ce7b0c61]{color:#52c41a}.verify-info[data-v-ce7b0c61]{flex:1}.verify-title[data-v-ce7b0c61]{font-size:16px;font-weight:600;color:#333;margin-bottom:4px}.verify-desc[data-v-ce7b0c61]{font-size:13px;color:#999}.verify-btn[data-v-ce7b0c61]{padding:8px 16px;background:#1677ff;color:#fff;border:none;border-radius:20px;font-size:13px;cursor:pointer;flex-shrink:0}.avatar-section[data-v-ce7b0c61]{background:#fff;border-radius:12px;padding:25px;margin-bottom:15px;display:flex;flex-direction:column;align-items:center}.avatar-label[data-v-ce7b0c61]{font-size:14px;color:#666;margin-bottom:15px}.avatar-wrapper[data-v-ce7b0c61]{position:relative;width:90px;height:90px;border-radius:50%;cursor:pointer;overflow:hidden}.avatar-default[data-v-ce7b0c61]{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#e6f4ff,#f0f7ff);display:flex;align-items:center;justify-content:center;border:2px solid #f0f0f0}.avatar-default svg[data-v-ce7b0c61]{width:45px;height:45px;color:#1677ff}.avatar-img[data-v-ce7b0c61]{width:100%;height:100%;border-radius:50%;overflow:hidden;border:2px solid #f0f0f0}.avatar-img img[data-v-ce7b0c61]{width:100%;height:100%;object-fit:cover}.avatar-edit[data-v-ce7b0c61]{position:absolute;bottom:0;right:0;width:28px;height:28px;background:#1677ff;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff}.avatar-edit svg[data-v-ce7b0c61]{width:14px;height:14px;color:#fff}.form-group[data-v-ce7b0c61]{background:#fff;border-radius:12px;overflow:hidden;margin-bottom:15px}.form-item[data-v-ce7b0c61]{display:flex;align-items:center;padding:15px;border-bottom:1px solid #f5f5f5}.form-item[data-v-ce7b0c61]:last-child{border-bottom:none}.form-item.readonly[data-v-ce7b0c61]{background:#fafafa}.verify-tip[data-v-ce7b0c61]{background:#fff7e6;border-radius:8px;padding:12px 15px;margin-bottom:15px}.verify-tip p[data-v-ce7b0c61]{margin:0;font-size:12px;color:#fa8c16;line-height:1.5}.item-label[data-v-ce7b0c61]{width:80px;font-size:15px;color:#333;font-weight:500}.item-input[data-v-ce7b0c61]{flex:1}.item-input input[data-v-ce7b0c61]{width:100%;border:none;outline:none;font-size:15px;color:#333;background:transparent;text-align:right}.item-input input[data-v-ce7b0c61]::placeholder{color:#ccc}.item-value[data-v-ce7b0c61]{flex:1;text-align:right;font-size:15px;color:#999}.msg[data-v-ce7b0c61]{text-align:center;font-size:14px;margin-bottom:15px;padding:10px;border-radius:8px}.msg.error[data-v-ce7b0c61]{color:#ff4d4f;background:#fff2f0}.msg.success[data-v-ce7b0c61]{color:#52c41a;background:#f6ffed}.save-btn[data-v-ce7b0c61]{width:100%;padding:15px;background:linear-gradient(135deg,#1677ff,#0958d9);color:#fff;border:none;border-radius:25px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #1677ff4d;margin-bottom:15px}.save-btn[data-v-ce7b0c61]:active{transform:translateY(1px);box-shadow:0 2px 8px #1677ff4d}.save-btn.loading[data-v-ce7b0c61]{opacity:.8;cursor:not-allowed}.logout-btn[data-v-ce7b0c61]{width:100%;padding:15px;background:#fff;color:#ff4d4f;border:1px solid #ffccc7;border-radius:25px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.logout-btn[data-v-ce7b0c61]:active{background:#fff2f0}
