*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f5f5f5}.home-container[data-v-c1b4acb0]{display:flex;flex-direction:column;min-height:100vh}.home-main[data-v-c1b4acb0]{flex:1;display:flex;justify-content:center;align-items:center;padding:40px 16px}.home-center[data-v-c1b4acb0]{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%;max-width:760px}.hello-title[data-v-c1b4acb0]{font-size:3rem;color:#333}.upload-section[data-v-c1b4acb0]{display:flex;flex-direction:column;align-items:center;gap:12px}.upload-btn[data-v-c1b4acb0]{padding:10px 28px;font-size:15px;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;cursor:pointer;transition:opacity .2s}.upload-btn[data-v-c1b4acb0]:hover:not(:disabled){opacity:.88}.upload-btn[data-v-c1b4acb0]:disabled{cursor:not-allowed;opacity:.6}.file-input[data-v-c1b4acb0]{display:none}.upload-status[data-v-c1b4acb0]{font-size:13px;color:#666}.upload-status.success[data-v-c1b4acb0]{color:#16a34a}.upload-status.error[data-v-c1b4acb0]{color:#e74c3c}.carousel[data-v-c1b4acb0]{width:100%}.carousel__viewport[data-v-c1b4acb0]{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;background-color:#000;box-shadow:0 4px 16px #0000001f}.carousel__track[data-v-c1b4acb0]{display:flex;height:100%;transition:transform .5s ease}.carousel__track.no-transition[data-v-c1b4acb0]{transition:none}.carousel__slide[data-v-c1b4acb0]{position:relative;flex:0 0 100%;height:100%}.carousel__slide img[data-v-c1b4acb0]{display:block;width:100%;height:100%;object-fit:cover}.carousel__badge[data-v-c1b4acb0]{position:absolute;top:12px;left:12px;padding:4px 10px;font-size:12px;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:999px}.carousel__arrow[data-v-c1b4acb0]{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:none;border-radius:50%;background:#00000059;color:#fff;font-size:18px;cursor:pointer;z-index:2}.carousel__arrow[data-v-c1b4acb0]:hover{background:#0009}.carousel__arrow--prev[data-v-c1b4acb0]{left:12px}.carousel__arrow--next[data-v-c1b4acb0]{right:12px}.carousel__dots[data-v-c1b4acb0]{position:absolute;bottom:12px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:2}.carousel__dot[data-v-c1b4acb0]{width:9px;height:9px;padding:0;border:none;border-radius:50%;background:#ffffff80;cursor:pointer}.carousel__dot.active[data-v-c1b4acb0]{background:#fff;transform:scale(1.25)}.carousel__caption[data-v-c1b4acb0]{margin-top:10px;text-align:center;font-size:13px;color:#666}.home-nav[data-v-c1b4acb0]{display:flex;gap:16px}.home-link[data-v-c1b4acb0]{padding:10px 20px;background-color:#2563eb;color:#fff;text-decoration:none;border-radius:8px;font-size:15px}.home-link[data-v-c1b4acb0]:hover{background-color:#1d4ed8}.home-footer[data-v-c1b4acb0]{padding:20px 0;text-align:center;background-color:#fff;border-top:1px solid #eee}.footer-links a[data-v-c1b4acb0]{color:#667eea;text-decoration:none;font-size:14px}.footer-links a[data-v-c1b4acb0]:hover{text-decoration:underline}.divider[data-v-c1b4acb0]{margin:0 10px;color:#ccc}.login-container[data-v-7697f5b5]{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-box[data-v-7697f5b5]{background:#fff;padding:40px;border-radius:10px;box-shadow:0 10px 40px #0003;width:100%;max-width:400px}.login-box h2[data-v-7697f5b5]{text-align:center;margin-bottom:25px;color:#333}.login-type-tabs[data-v-7697f5b5]{display:flex;margin-bottom:25px;background:#f5f5f5;border-radius:6px;padding:4px}.tab-btn[data-v-7697f5b5]{flex:1;padding:10px;border:none;border-radius:4px;background:transparent;cursor:pointer;font-size:14px;font-weight:500;color:#666;transition:all .3s}.form-group[data-v-7697f5b5]{margin-bottom:20px}.form-group label[data-v-7697f5b5]{display:block;margin-bottom:8px;color:#555;font-weight:500}.form-group input[data-v-7697f5b5]{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s}.form-group input[data-v-7697f5b5]:focus{outline:none;border-color:#667eea}.code-input-group[data-v-7697f5b5]{display:flex;gap:10px}.code-input-group input[data-v-7697f5b5]{flex:1}.code-btn[data-v-7697f5b5]{padding:12px 20px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s;white-space:nowrap}.code-btn[data-v-7697f5b5]:hover:not(:disabled){background:#5a6fd6}.code-btn[data-v-7697f5b5]:disabled{cursor:not-allowed;background:#ccc}.login-btn[data-v-7697f5b5]{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:opacity .3s}.login-btn[data-v-7697f5b5]:hover:not(:disabled){opacity:.9}.login-btn[data-v-7697f5b5]:disabled{cursor:not-allowed;opacity:.7}.error-message[data-v-7697f5b5]{color:#e74c3c;text-align:center;margin-top:15px;font-size:14px}.switch-text[data-v-7697f5b5]{text-align:center;margin-top:15px;font-size:14px}.switch-text a[data-v-7697f5b5]{color:#e74c3c;font-weight:500;text-decoration:none;cursor:pointer}.switch-text a[data-v-7697f5b5]:hover{text-decoration:underline}.user-list-container[data-v-e981349d]{max-width:1280px;margin:0 auto;padding:20px}.header[data-v-e981349d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #eee}.header h1[data-v-e981349d]{color:#333;font-size:24px}.header-actions[data-v-e981349d]{display:flex;gap:10px}.add-btn[data-v-e981349d]{padding:8px 16px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .3s}.add-btn[data-v-e981349d]:hover{background:#218838}.logout-btn[data-v-e981349d]{padding:8px 16px;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .3s}.logout-btn[data-v-e981349d]:hover{background:#c0392b}.toolbar[data-v-e981349d]{display:flex;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.search-bar[data-v-e981349d]{flex:1;min-width:260px}.search-bar input[data-v-e981349d]{width:100%;max-width:360px;padding:10px;border:1px solid #ddd;border-radius:4px}.status-filter[data-v-e981349d]{display:flex;align-items:center;gap:10px}.status-filter select[data-v-e981349d]{padding:8px;border:1px solid #ddd;border-radius:4px}.table-container[data-v-e981349d]{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow-x:auto}.user-table[data-v-e981349d]{width:100%;min-width:980px;border-collapse:collapse}.user-table th[data-v-e981349d],.user-table td[data-v-e981349d]{padding:12px 15px;text-align:left;border-bottom:1px solid #eee;vertical-align:middle}.user-table th[data-v-e981349d]{background:#f8f9fa;font-weight:600;color:#555}.user-table tr[data-v-e981349d]:hover{background:#f8f9fa}.user-row[data-v-e981349d]{cursor:pointer}.avatar-cell[data-v-e981349d]{display:flex;align-items:center;gap:10px}.avatar-image[data-v-e981349d],.avatar-placeholder[data-v-e981349d]{width:42px;height:42px;border-radius:50%}.avatar-image[data-v-e981349d]{object-fit:cover;border:1px solid #e5e7eb}.avatar-placeholder[data-v-e981349d]{display:flex;align-items:center;justify-content:center;background:#dbeafe;color:#1d4ed8;font-size:14px;font-weight:700}.status-badge[data-v-e981349d]{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-badge.active[data-v-e981349d]{background:#d4edda;color:#155724}.status-badge.inactive[data-v-e981349d]{background:#f8d7da;color:#721c24}.action-btn[data-v-e981349d]{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;margin-right:5px;transition:opacity .3s}.edit-btn[data-v-e981349d]{background:#17a2b8;color:#fff}.edit-btn[data-v-e981349d]:hover{opacity:.9}.delete-btn[data-v-e981349d]{background:#dc3545;color:#fff}.delete-btn[data-v-e981349d]:hover{opacity:.9}.empty-message[data-v-e981349d]{text-align:center;color:#999;padding:40px}.modal-overlay[data-v-e981349d]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-e981349d]{background:#fff;padding:30px;border-radius:8px;width:100%;max-width:400px;box-shadow:0 10px 40px #0003}.modal-content h3[data-v-e981349d]{margin-bottom:20px;color:#333}.modal-content .form-group[data-v-e981349d]{margin-bottom:15px}.modal-content .form-group label[data-v-e981349d]{display:block;margin-bottom:5px;color:#555}.modal-content .form-group input[data-v-e981349d],.modal-content .form-group select[data-v-e981349d]{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box}.form-actions[data-v-e981349d]{display:flex;gap:10px;margin-top:25px}.cancel-btn[data-v-e981349d]{flex:1;padding:10px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .3s}.cancel-btn[data-v-e981349d]:hover{background:#5a6268}.submit-btn[data-v-e981349d]{flex:2;padding:10px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .3s}.submit-btn[data-v-e981349d]:hover:not(:disabled){background:#5a6fd6}.delete-confirm p[data-v-e981349d]{color:#666;margin-bottom:20px}.delete-confirm-btn[data-v-e981349d]{flex:2;padding:10px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .3s}.delete-confirm-btn[data-v-e981349d]:hover:not(:disabled){background:#c82333}.user-detail-page[data-v-d64e450e]{max-width:960px;margin:0 auto;padding:24px}.page-header[data-v-d64e450e]{display:flex;align-items:center;gap:16px;margin-bottom:24px}.page-header h1[data-v-d64e450e]{color:#1f2937;font-size:28px}.back-btn[data-v-d64e450e]{padding:10px 16px;border:none;border-radius:8px;background:#2563eb;color:#fff;cursor:pointer}.detail-card[data-v-d64e450e]{background:#fff;border-radius:16px;padding:28px;box-shadow:0 12px 40px #0f172a14}.detail-content[data-v-d64e450e]{display:grid;grid-template-columns:180px 1fr;gap:28px}.avatar-panel[data-v-d64e450e]{display:flex;justify-content:center}.avatar-section[data-v-d64e450e]{display:flex;flex-direction:column;align-items:center;gap:16px}.detail-avatar[data-v-d64e450e],.avatar-fallback[data-v-d64e450e]{width:140px;height:140px;border-radius:50%}.detail-avatar[data-v-d64e450e]{object-fit:cover;border:4px solid #e5e7eb}.avatar-fallback[data-v-d64e450e]{display:flex;align-items:center;justify-content:center;background:#dbeafe;color:#1d4ed8;font-size:42px;font-weight:700}.info-grid[data-v-d64e450e]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.info-item[data-v-d64e450e]{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:12px;background:#f8fafc}.label[data-v-d64e450e]{color:#64748b;font-size:13px}.value[data-v-d64e450e]{color:#0f172a;font-size:16px;font-weight:600;word-break:break-all}.upload-btn[data-v-d64e450e]{display:inline-flex;align-items:center;justify-content:center;min-width:120px;padding:10px 16px;border-radius:999px;background:#2563eb;color:#fff;cursor:pointer;font-size:14px;font-weight:600}.upload-btn.disabled[data-v-d64e450e]{background:#94a3b8;cursor:not-allowed}.file-input[data-v-d64e450e]{display:none}.status-badge[data-v-d64e450e]{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:12px}.status-badge.active[data-v-d64e450e]{background:#dcfce7;color:#166534}.status-badge.inactive[data-v-d64e450e]{background:#fee2e2;color:#991b1b}.state-message[data-v-d64e450e]{text-align:center;color:#64748b;padding:36px 0;font-size:16px}.error-message[data-v-d64e450e]{color:#dc2626}@media (max-width: 768px){.user-detail-page[data-v-d64e450e]{padding:16px}.detail-content[data-v-d64e450e],.info-grid[data-v-d64e450e]{grid-template-columns:1fr}.page-header[data-v-d64e450e]{flex-wrap:wrap}}.banner-page[data-v-0a29029d]{min-height:100vh;background:#f3f4f6}.page-header[data-v-0a29029d]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.title-wrap[data-v-0a29029d]{display:flex;align-items:center;gap:16px}.page-header h1[data-v-0a29029d]{font-size:20px;margin:0}.back-link[data-v-0a29029d]{color:#2563eb;text-decoration:none;font-size:14px}.back-link[data-v-0a29029d]:hover{text-decoration:underline}.header-actions[data-v-0a29029d]{display:flex;align-items:center;gap:12px}.upload-btn[data-v-0a29029d]{padding:9px 22px;font-size:15px;color:#fff;background:#2563eb;border:none;border-radius:6px;cursor:pointer}.upload-btn[data-v-0a29029d]:hover{background:#1d4ed8}.upload-btn[data-v-0a29029d]:disabled{background:#93c5fd;cursor:not-allowed}.file-input[data-v-0a29029d]{display:none}.upload-status[data-v-0a29029d]{font-size:13px;color:#6b7280;min-width:160px}.upload-status.error[data-v-0a29029d]{color:#ef4444}.upload-status.success[data-v-0a29029d]{color:#16a34a}.page-main[data-v-0a29029d]{padding:32px 24px}.banner[data-v-0a29029d]{max-width:960px;margin:0 auto;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000000d}.banner__viewport[data-v-0a29029d]{position:relative;width:100%;aspect-ratio:16 / 6;border-radius:8px;overflow:hidden;background:#000}.banner__track[data-v-0a29029d]{display:flex;height:100%;transition:transform .45s ease}.banner__slide[data-v-0a29029d]{position:relative;flex:0 0 100%;height:100%}.banner__slide img[data-v-0a29029d]{width:100%;height:100%;object-fit:cover;display:block}.banner__slide-remove[data-v-0a29029d]{position:absolute;top:8px;right:8px;width:28px;height:28px;line-height:26px;text-align:center;border:none;border-radius:50%;background:#0000008c;color:#fff;font-size:15px;cursor:pointer;opacity:0;transition:opacity .2s,background .2s}.banner__slide:hover .banner__slide-remove[data-v-0a29029d]{opacity:1}.banner__slide-remove[data-v-0a29029d]:hover{background:#ef4444}.banner__arrow[data-v-0a29029d]{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:none;border-radius:50%;background:#00000059;color:#fff;font-size:18px;cursor:pointer;z-index:2}.banner__arrow[data-v-0a29029d]:hover{background:#0009}.banner__arrow--prev[data-v-0a29029d]{left:12px}.banner__arrow--next[data-v-0a29029d]{right:12px}.banner__dots[data-v-0a29029d]{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:2}.banner__dot[data-v-0a29029d]{width:9px;height:9px;border-radius:50%;border:none;background:#ffffff80;cursor:pointer;padding:0}.banner__dot.active[data-v-0a29029d]{background:#fff;transform:scale(1.25)}.banner__hint[data-v-0a29029d]{margin:12px 0 0;text-align:center;font-size:13px;color:#6b7280}.empty-tip[data-v-0a29029d]{max-width:960px;margin:48px auto;text-align:center;color:#6b7280;border:2px dashed #e5e7eb;border-radius:12px;padding:48px 24px;background:#fff}
