:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#app{width:100%}.app-container[data-v-c993c931]{display:flex;min-height:100vh;background-color:#f5f7fa;position:relative}.mobile-header[data-v-c993c931]{display:none;position:fixed;top:0;left:0;right:0;height:60px;background-color:#fff;z-index:40;align-items:center;padding:0 16px;box-shadow:0 1px 2px #0000000d}.menu-btn[data-v-c993c931]{background:none;border:none;padding:8px;margin-right:12px;cursor:pointer;color:#374151}.mobile-title[data-v-c993c931]{font-size:18px;font-weight:700;color:#111827}.mobile-backdrop[data-v-c993c931]{position:fixed;inset:0;background-color:#00000080;z-index:45}.sidebar[data-v-c993c931]{width:260px;background-color:#111827;color:#fff;display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh}.logo-area[data-v-c993c931]{height:80px;display:flex;align-items:center;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.1)}.logo-icon[data-v-c993c931]{width:32px;height:32px;background-color:#10b981;border-radius:6px;display:flex;align-items:center;justify-content:center;margin-right:12px}.logo-text h1[data-v-c993c931]{font-size:16px;font-weight:700;margin:0;line-height:1.2}.logo-text span[data-v-c993c931]{font-size:12px;color:#9ca3af;display:block}.version-tag[data-v-c993c931]{font-size:11px;color:#6b7280;margin-top:2px;font-family:monospace}.sidebar-nav[data-v-c993c931]{flex:1;padding:24px 16px;overflow-y:auto}.sidebar-nav ul[data-v-c993c931]{list-style:none;padding:0;margin:0}.sidebar-nav li[data-v-c993c931]{margin-bottom:4px}.nav-item[data-v-c993c931]{display:flex;align-items:center;padding:12px 16px;color:#d1d5db;text-decoration:none;border-radius:8px;transition:all .2s;font-size:15px}.nav-item[data-v-c993c931]:hover{background-color:#ffffff0d;color:#fff}.nav-item.active[data-v-c993c931]{background-color:#10b981;color:#fff}.nav-item .icon[data-v-c993c931]{margin-right:12px;display:flex;align-items:center}.sidebar-footer[data-v-c993c931]{padding:24px;border-top:1px solid rgba(255,255,255,.1)}.logout-btn[data-v-c993c931]{display:flex;align-items:center;width:100%;background:none;border:none;color:#9ca3af;cursor:pointer;font-size:15px;padding:8px 0;transition:color .2s}.logout-btn[data-v-c993c931]:hover{color:#fff}.logout-btn .icon[data-v-c993c931]{margin-right:12px}.main-content[data-v-c993c931]{flex:1;overflow-y:auto;padding:32px 40px}@media(max-width:768px){.app-container[data-v-c993c931]{flex-direction:column}.mobile-header[data-v-c993c931]{display:flex}.sidebar[data-v-c993c931]{position:fixed;top:0;left:0;height:100vh;z-index:50;transform:translate(-100%);transition:transform .3s ease-in-out}.sidebar.mobile-open[data-v-c993c931]{transform:translate(0)}.main-content[data-v-c993c931]{margin-top:60px;padding:20px;width:100%}}.loading-overlay[data-v-53fe8992]{position:fixed;inset:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center;z-index:100}.loading-spinner[data-v-53fe8992]{width:36px;height:36px;border:3px solid #E5E7EB;border-top-color:#10b981;border-radius:50%;animation:spin-53fe8992 .8s linear infinite}@keyframes spin-53fe8992{to{transform:rotate(360deg)}}.badge-sub[data-v-53fe8992]{font-size:12px;color:#9ca3af}.empty-hint[data-v-53fe8992]{color:#9ca3af;font-size:14px;text-align:center;padding:20px 0}.page-header[data-v-53fe8992]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.page-title[data-v-53fe8992]{font-size:24px;font-weight:700;color:#111827;margin:0 0 8px}.welcome-text[data-v-53fe8992]{color:#6b7280;margin:0;font-size:14px}.last-update[data-v-53fe8992]{font-size:13px;color:#9ca3af}.stats-row[data-v-53fe8992]{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:32px}.stat-card[data-v-53fe8992]{background:#fff;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;justify-content:space-between;align-items:flex-start}.stat-content[data-v-53fe8992]{display:flex;flex-direction:column}.stat-label[data-v-53fe8992]{font-size:13px;color:#6b7280;margin-bottom:8px;font-weight:500}.stat-value[data-v-53fe8992]{font-size:28px;font-weight:700;color:#111827;margin-bottom:12px}.stat-badge[data-v-53fe8992]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;align-self:flex-start}.stat-icon-box[data-v-53fe8992]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.main-grid[data-v-53fe8992]{display:grid;grid-template-columns:2fr 1fr;gap:24px}.card[data-v-53fe8992]{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.card-header[data-v-53fe8992]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.card-header h3[data-v-53fe8992]{font-size:16px;font-weight:700;color:#1f2937;margin:0}.time-select[data-v-53fe8992]{padding:6px 12px;border:1px solid #E5E7EB;border-radius:6px;font-size:13px;color:#4b5563;outline:none}.chart-area[data-v-53fe8992]{position:relative;height:280px;padding:10px 0 30px}.growth-chart[data-v-53fe8992]{width:100%;height:calc(100% - 30px);overflow:visible}.x-labels[data-v-53fe8992]{display:flex;justify-content:space-between;font-size:12px;color:#9ca3af;margin-top:6px}.ranking-list[data-v-53fe8992]{display:flex;flex-direction:column;gap:16px}.ranking-item[data-v-53fe8992]{display:flex;align-items:center;padding:8px 0}.rank-box[data-v-53fe8992]{width:32px;margin-right:12px}.rank-number[data-v-53fe8992]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;font-size:12px;font-weight:600;background-color:#f3f4f6;color:#6b7280}.rank-number.rank-1[data-v-53fe8992]{background-color:#fef3c7;color:#d97706}.rank-number.rank-2[data-v-53fe8992],.rank-number.rank-3[data-v-53fe8992]{background-color:#fffbeb;color:#d97706}.rank-info[data-v-53fe8992]{flex:1}.rank-info h4[data-v-53fe8992]{margin:0;font-size:14px;color:#1f2937;font-weight:500}.rank-location[data-v-53fe8992]{font-size:12px;color:#9ca3af}.rank-stats[data-v-53fe8992]{text-align:right}.rank-value[data-v-53fe8992]{display:block;font-size:14px;font-weight:600;color:#1f2937}.rank-unit[data-v-53fe8992]{font-size:12px;color:#9ca3af}@media(max-width:1200px){.stats-row[data-v-53fe8992]{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.main-grid[data-v-53fe8992]{grid-template-columns:1fr}}.login-page[data-v-85217e7d]{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:flex;align-items:center;justify-content:center;padding:20px}.login-card[data-v-85217e7d]{background:#fff;border-radius:16px;padding:40px 36px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d}.logo-block[data-v-85217e7d]{text-align:center;margin-bottom:32px}.logo-icon[data-v-85217e7d]{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#10b981,#059669);display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}.brand[data-v-85217e7d]{font-size:20px;font-weight:700;color:#111827;margin:0 0 4px}.brand-sub[data-v-85217e7d]{font-size:13px;color:#9ca3af;margin:0}.login-form[data-v-85217e7d]{display:flex;flex-direction:column;gap:16px}.field[data-v-85217e7d]{display:flex;flex-direction:column;gap:6px}.field label[data-v-85217e7d]{font-size:13px;font-weight:600;color:#374151}.field input[data-v-85217e7d]{padding:11px 14px;border:1.5px solid #E5E7EB;border-radius:8px;font-size:14px;color:#111827;outline:none;transition:border-color .2s;width:100%;box-sizing:border-box}.field input[data-v-85217e7d]:focus{border-color:#10b981}.password-wrap[data-v-85217e7d]{position:relative}.password-wrap input[data-v-85217e7d]{padding-right:44px}.eye-btn[data-v-85217e7d]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#9ca3af;padding:0;display:flex;align-items:center}.error-msg[data-v-85217e7d]{color:#ef4444;font-size:13px;margin:0;background:#fef2f2;padding:10px 12px;border-radius:6px}.login-btn[data-v-85217e7d]{padding:12px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px}.login-btn[data-v-85217e7d]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-85217e7d]{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-85217e7d .8s linear infinite}@keyframes spin-85217e7d{to{transform:rotate(360deg)}}.page-container[data-v-afb643e8]{padding-bottom:2rem}.page-header[data-v-afb643e8]{display:flex;align-items:center;gap:12px;margin-bottom:20px}.page-title[data-v-afb643e8]{font-size:22px;font-weight:700;color:#111827;margin:0}.total-badge[data-v-afb643e8]{background:#f3f4f6;color:#6b7280;font-size:13px;padding:3px 10px;border-radius:999px}.toolbar[data-v-afb643e8]{display:flex;gap:10px;margin-bottom:16px}.search-wrap[data-v-afb643e8]{position:relative;flex:1}.search-icon[data-v-afb643e8]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#fff9;z-index:1}.search-input[data-v-afb643e8]{width:100%;padding:9px 14px 9px 38px;border:none;border-radius:8px;font-size:14px;outline:none;box-sizing:border-box;background:#374151;color:#fff}.search-input[data-v-afb643e8]::placeholder{color:#ffffff73}.search-input[data-v-afb643e8]:focus{background:#1f2937}.btn-primary[data-v-afb643e8]{padding:9px 20px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.table-card[data-v-afb643e8]{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:visible}.table-loading[data-v-afb643e8]{padding:40px;text-align:center;color:#9ca3af}.data-table[data-v-afb643e8]{width:100%;border-collapse:collapse}.data-table th[data-v-afb643e8],.data-table td[data-v-afb643e8]{padding:12px 14px;text-align:left;font-size:13px;border-bottom:1px solid #F3F4F6}.data-table th[data-v-afb643e8]{background:#f9fafb;font-weight:600;color:#374151}.data-table td[data-v-afb643e8]{color:#4b5563}.data-table tbody tr:hover td[data-v-afb643e8]{background:#f0fdf4}.row-disabled td[data-v-afb643e8]{opacity:.5}.empty-row[data-v-afb643e8]{text-align:center;color:#9ca3af;padding:32px!important}.name-cell[data-v-afb643e8]{font-weight:500;max-width:160px}.camp-thumb[data-v-afb643e8]{width:48px;height:36px;object-fit:cover;border-radius:6px}.status-badge[data-v-afb643e8]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.status-badge.active[data-v-afb643e8]{background:#dcfce7;color:#166534}.status-badge.suspended[data-v-afb643e8]{background:#fee2e2;color:#991b1b}.actions[data-v-afb643e8]{position:relative}.more-wrap[data-v-afb643e8]{position:relative;display:inline-block}.more-btn[data-v-afb643e8]{background:none;border:1.5px solid #E5E7EB;border-radius:6px;width:32px;height:32px;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .15s}.more-btn[data-v-afb643e8]:hover{border-color:#10b981;color:#10b981}.more-menu[data-v-afb643e8]{position:absolute;right:0;top:36px;background:#fff;border:1px solid #E5E7EB;border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:999;min-width:120px;overflow:hidden}.more-menu button[data-v-afb643e8],.more-menu a[data-v-afb643e8]{display:block;width:100%;padding:9px 16px;text-align:left;border:none;background:none;font-size:13px;cursor:pointer;color:#374151;text-decoration:none;white-space:nowrap;box-sizing:border-box}.more-menu button[data-v-afb643e8]:hover,.more-menu a[data-v-afb643e8]:hover{background:#f3f4f6}.menu-suspend[data-v-afb643e8]{color:#991b1b!important}.menu-enable[data-v-afb643e8]{color:#166634!important}.pagination[data-v-afb643e8]{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px;font-size:13px;color:#6b7280}.pagination button[data-v-afb643e8]{padding:6px 16px;border:1.5px solid #E5E7EB;border-radius:8px;background:#fff;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.pagination button[data-v-afb643e8]:hover:not(:disabled){border-color:#10b981;color:#10b981}.pagination button[data-v-afb643e8]:disabled{opacity:.35;cursor:not-allowed}.edit-page[data-v-ef6025df]{min-height:100vh;background:#f9fafb}.top-bar[data-v-ef6025df]{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:#fff;border-bottom:1px solid #E5E7EB;position:sticky;top:0;z-index:100}.back-btn[data-v-ef6025df]{display:flex;align-items:center;gap:8px;background:none;border:none;font-size:16px;font-weight:600;color:#111827;cursor:pointer}.back-btn[data-v-ef6025df]:hover{color:#10b981}.save-btn[data-v-ef6025df]{display:flex;align-items:center;gap:8px;background:#10b981;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.save-btn[data-v-ef6025df]:hover:not(:disabled){background:#059669}.save-btn[data-v-ef6025df]:disabled{opacity:.6;cursor:not-allowed}.page-loading[data-v-ef6025df]{text-align:center;padding:80px;color:#9ca3af;font-size:16px}.content-layout[data-v-ef6025df]{display:grid;grid-template-columns:1fr 340px;gap:20px;padding:20px 24px;max-width:1280px}.main-col[data-v-ef6025df],.side-col[data-v-ef6025df]{display:flex;flex-direction:column;gap:16px}.card[data-v-ef6025df]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000f}.card-title[data-v-ef6025df]{font-size:15px;font-weight:700;color:#111827;margin:0 0 16px}.card-title-row[data-v-ef6025df]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-title-row .card-title[data-v-ef6025df]{margin:0}.form-row[data-v-ef6025df]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.field[data-v-ef6025df]{display:flex;flex-direction:column;gap:6px}.field.full[data-v-ef6025df]{margin-bottom:0}.field label[data-v-ef6025df]{font-size:13px;font-weight:500;color:#374151}.field input[data-v-ef6025df],.field select[data-v-ef6025df],.field textarea[data-v-ef6025df]{padding:9px 12px;border:1.5px solid #E5E7EB;border-radius:8px;font-size:14px;color:#111827;outline:none;transition:border-color .2s;background:#fff}.field input[data-v-ef6025df]:focus,.field select[data-v-ef6025df]:focus,.field textarea[data-v-ef6025df]:focus{border-color:#10b981}.field textarea[data-v-ef6025df]{resize:vertical;font-family:inherit;line-height:1.6}.addr-row[data-v-ef6025df]{display:flex;gap:8px}.addr-row input[data-v-ef6025df]{flex:1}.locate-btn[data-v-ef6025df]{display:flex;align-items:center;gap:6px;padding:9px 16px;border:1.5px solid #E5E7EB;border-radius:8px;background:#fff;font-size:13px;cursor:pointer;white-space:nowrap;color:#374151}.locate-btn[data-v-ef6025df]:hover{border-color:#10b981;color:#10b981}.coord-hint[data-v-ef6025df]{font-size:12px;color:#10b981;margin:4px 0 0}.ai-btn[data-v-ef6025df]{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.ai-btn[data-v-ef6025df]:disabled{opacity:.6;cursor:not-allowed}.filter-section[data-v-ef6025df]{border-top:1px solid #F3F4F6;padding:14px 0}.filter-header[data-v-ef6025df]{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.filter-label[data-v-ef6025df]{display:flex;align-items:center;gap:8px}.label-bar[data-v-ef6025df]{width:3px;height:16px;background:#3b82f6;border-radius:2px}.label-text[data-v-ef6025df]{font-size:14px;font-weight:600;color:#111827}.label-type[data-v-ef6025df]{font-size:12px;color:#9ca3af}.chevron[data-v-ef6025df]{transition:transform .2s;transform:rotate(180deg)}.chevron.open[data-v-ef6025df]{transform:rotate(0)}.filter-tags[data-v-ef6025df]{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag-btn[data-v-ef6025df]{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border:1.5px solid #E5E7EB;border-radius:999px;background:#fff;font-size:13px;cursor:pointer;color:#374151;transition:all .15s}.tag-btn[data-v-ef6025df]:hover{border-color:#10b981;color:#10b981}.tag-btn.active[data-v-ef6025df]{border-color:#f59e0b;color:#b45309;background:#fffbeb}.field select[data-v-ef6025df]{width:100%}.rank-box[data-v-ef6025df]{background:#fffbeb;border:1px solid #FDE68A;border-radius:10px;padding:14px;margin:12px 0}.rank-title[data-v-ef6025df]{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#92400e;margin-bottom:6px}.rank-desc[data-v-ef6025df]{font-size:12px;color:#a16207;margin:0 0 10px;line-height:1.5}.rank-radio[data-v-ef6025df]{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;cursor:pointer;font-size:13px;color:#374151;margin-bottom:4px}.rank-radio[data-v-ef6025df]:hover{background:#0000000a}.rank-radio input[data-v-ef6025df]{accent-color:#10B981}.rank-custom[data-v-ef6025df]{display:flex;align-items:center;gap:6px;margin:8px 0 4px}.rank-hash[data-v-ef6025df]{font-size:14px;font-weight:700;color:#f59e0b}.rank-custom-label[data-v-ef6025df]{font-size:12px;font-weight:600;color:#92400e}.rank-input[data-v-ef6025df]{width:100%;padding:8px 12px;border:1.5px solid #FDE68A;border-radius:8px;font-size:14px;background:#fff;outline:none;box-sizing:border-box}.rank-input[data-v-ef6025df]:focus{border-color:#f59e0b}.rank-hint[data-v-ef6025df]{font-size:11px;color:#a16207;margin:6px 0 0;line-height:1.5}.stat-row[data-v-ef6025df]{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid #F3F4F6;font-size:13px;color:#6b7280}.stat-row strong[data-v-ef6025df]{color:#111827}.photo-count[data-v-ef6025df]{font-size:12px;color:#6b7280;background:#f3f4f6;border-radius:999px;padding:2px 10px}.upload-area[data-v-ef6025df]{border:2px dashed #E5E7EB;border-radius:10px;padding:24px;text-align:center;cursor:pointer;transition:all .2s}.upload-area[data-v-ef6025df]:hover,.upload-area.dragging[data-v-ef6025df]{border-color:#10b981;background:#f0fdf4}.upload-area p[data-v-ef6025df]{margin:8px 0 4px;font-size:13px;color:#6b7280}.upload-hint[data-v-ef6025df]{font-size:11px;color:#9ca3af}.upload-progress[data-v-ef6025df]{margin:10px 0 4px;background:#e5e7eb;border-radius:999px;height:6px;overflow:hidden;position:relative}.upload-progress .progress-bar[data-v-ef6025df]{height:100%;background:#10b981;border-radius:999px;transition:width .3s}.upload-progress span[data-v-ef6025df]{display:block;text-align:center;font-size:11px;color:#6b7280;margin-top:4px}.photo-grid[data-v-ef6025df]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.photo-item[data-v-ef6025df]{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:4/3;background:#f3f4f6}.photo-item img[data-v-ef6025df]{width:100%;height:100%;object-fit:cover;display:block}.photo-item.preview[data-v-ef6025df]{opacity:.6}.preview-overlay[data-v-ef6025df]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000059;color:#fff;font-size:12px;font-weight:600}.photo-del[data-v-ef6025df]{position:absolute;top:5px;right:5px;background:#0000008c;color:#fff;border:none;border-radius:50%;width:22px;height:22px;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.photo-del[data-v-ef6025df]:hover:not(:disabled){background:#ef4444}.photo-del[data-v-ef6025df]:disabled{opacity:.5;cursor:not-allowed}.spin[data-v-ef6025df]{animation:spin-ef6025df 1s linear infinite}@keyframes spin-ef6025df{to{transform:rotate(360deg)}}.toast[data-v-ef6025df]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:10px 20px;border-radius:10px;font-size:14px;z-index:9999;box-shadow:0 4px 16px #0003;white-space:nowrap}.page-wrap[data-v-bc84046c]{padding:24px;min-height:100vh;background:#f9fafb}.page-header[data-v-bc84046c]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.page-title[data-v-bc84046c]{font-size:22px;font-weight:700;color:#111827;margin:0 0 4px}.page-sub[data-v-bc84046c]{font-size:13px;color:#6b7280;margin:0}.new-btn[data-v-bc84046c]{display:flex;align-items:center;gap:8px;background:#10b981;color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.new-btn[data-v-bc84046c]:hover{background:#059669}.toolbar[data-v-bc84046c]{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.search-wrap[data-v-bc84046c]{flex:1;min-width:220px;display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #E5E7EB;border-radius:8px;padding:9px 14px}.search-wrap input[data-v-bc84046c]{flex:1;border:none;outline:none;font-size:14px;color:#111827;background:transparent}.search-wrap input[data-v-bc84046c]::placeholder{color:#9ca3af}.filter-group[data-v-bc84046c]{display:flex;gap:8px}.filter-group select[data-v-bc84046c]{padding:9px 14px;border:1.5px solid #E5E7EB;border-radius:8px;font-size:14px;background:#fff;color:#374151;outline:none;cursor:pointer}.table-wrap[data-v-bc84046c]{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden}table[data-v-bc84046c]{width:100%;border-collapse:collapse}thead th[data-v-bc84046c]{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #F3F4F6;background:#fafafa;white-space:nowrap}tbody tr[data-v-bc84046c]{border-bottom:1px solid #F9FAFB;transition:background .12s}tbody tr[data-v-bc84046c]:last-child{border-bottom:none}tbody tr.row-link[data-v-bc84046c]{cursor:pointer}tbody tr.row-link[data-v-bc84046c]:hover{background:#f0fdf4}tbody td[data-v-bc84046c]{padding:14px 16px;vertical-align:middle;font-size:14px;color:#374151}.act-name-cell[data-v-bc84046c]{display:flex;align-items:center;gap:12px}.act-thumb[data-v-bc84046c]{width:44px;height:44px;border-radius:8px;overflow:hidden;background:#1f2937;flex-shrink:0;display:flex;align-items:center;justify-content:center}.act-thumb img[data-v-bc84046c]{width:100%;height:100%;object-fit:cover}.thumb-placeholder[data-v-bc84046c]{color:#fff;font-size:16px;font-weight:700}.act-name[data-v-bc84046c]{font-weight:600;color:#111827;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-tag[data-v-bc84046c]{display:inline-block;margin-top:4px;font-size:11px;color:#3b82f6;background:#eff6ff;border-radius:999px;padding:1px 8px}.teacher-cell[data-v-bc84046c]{display:flex;align-items:center;gap:8px}.teacher-avatar[data-v-bc84046c]{width:28px;height:28px;border-radius:50%;background:#d1fae5;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#065f46;flex-shrink:0}.date-loc[data-v-bc84046c]{display:flex;flex-direction:column;gap:4px;font-size:13px}.date-loc>div[data-v-bc84046c]{display:flex;align-items:center;gap:5px;color:#4b5563}.progress-cell[data-v-bc84046c]{display:flex;flex-direction:column;gap:5px}.progress-text[data-v-bc84046c]{font-size:13px;color:#374151}.pct[data-v-bc84046c]{color:#10b981;font-weight:600}.progress-bar-wrap[data-v-bc84046c]{width:100px;height:5px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress-bar-fill[data-v-bc84046c]{height:100%;border-radius:999px;transition:width .3s}.status-badge[data-v-bc84046c]{display:inline-flex;align-items:center;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;white-space:nowrap}.st-draft[data-v-bc84046c]{background:#fef9c3;color:#854d0e}.st-recruiting[data-v-bc84046c]{background:#d1fae5;color:#065f46}.st-full[data-v-bc84046c]{background:#fee2e2;color:#991b1b}.st-closed[data-v-bc84046c]{background:#f3f4f6;color:#6b7280}.action-cell[data-v-bc84046c]{display:flex;align-items:center;gap:4px}.icon-btn[data-v-bc84046c]{background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;color:#9ca3af;display:flex}.icon-btn[data-v-bc84046c]:hover{background:#f3f4f6;color:#374151}.more-wrap[data-v-bc84046c]{position:relative}.more-menu[data-v-bc84046c]{position:absolute;right:0;top:30px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:50;min-width:120px;overflow:hidden}.more-menu button[data-v-bc84046c]{display:block;width:100%;text-align:left;padding:9px 14px;border:none;background:none;font-size:13px;color:#374151;cursor:pointer}.more-menu button[data-v-bc84046c]:hover{background:#f9fafb}.empty-hint[data-v-bc84046c]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;color:#9ca3af;font-size:14px}.pagination[data-v-bc84046c]{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;border-top:1px solid #F3F4F6;font-size:13px;color:#6b7280}.pagination button[data-v-bc84046c]{padding:6px 12px;border:1.5px solid #E5E7EB;border-radius:6px;background:#fff;cursor:pointer;font-size:16px}.pagination button[data-v-bc84046c]:disabled{opacity:.4;cursor:not-allowed}.edit-page[data-v-e74abc0c]{min-height:100vh;background:#f9fafb}.top-bar[data-v-e74abc0c]{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:#fff;border-bottom:1px solid #E5E7EB;position:sticky;top:0;z-index:100}.back-btn[data-v-e74abc0c]{display:flex;align-items:center;gap:8px;background:none;border:none;font-size:16px;font-weight:600;color:#111827;cursor:pointer}.back-btn[data-v-e74abc0c]:hover{color:#10b981}.save-btn[data-v-e74abc0c]{display:flex;align-items:center;gap:8px;background:#10b981;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer}.save-btn[data-v-e74abc0c]:hover:not(:disabled){background:#059669}.save-btn[data-v-e74abc0c]:disabled{opacity:.6;cursor:not-allowed}.save-btn-full[data-v-e74abc0c]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:14px;background:#10b981;color:#fff;border:none;border-radius:8px;padding:11px;font-size:14px;font-weight:600;cursor:pointer}.save-btn-full[data-v-e74abc0c]:hover:not(:disabled){background:#059669}.save-btn-full[data-v-e74abc0c]:disabled{opacity:.6;cursor:not-allowed}.page-loading[data-v-e74abc0c]{text-align:center;padding:80px;color:#9ca3af}.content-layout[data-v-e74abc0c]{display:grid;grid-template-columns:1fr 300px;gap:20px;padding:20px 24px}.main-col[data-v-e74abc0c],.side-col[data-v-e74abc0c]{display:flex;flex-direction:column;gap:16px}.card[data-v-e74abc0c]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000f}.card-title[data-v-e74abc0c]{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:#111827;margin:0 0 16px}.card-title-row[data-v-e74abc0c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-title-row .card-title[data-v-e74abc0c]{margin:0}.form-row[data-v-e74abc0c]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}.form-row.three[data-v-e74abc0c]{grid-template-columns:1fr 1fr 1fr}.field[data-v-e74abc0c]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field.full[data-v-e74abc0c]{margin-bottom:14px}.field.sm input[data-v-e74abc0c]{max-width:100%}.field[data-v-e74abc0c]:last-child{margin-bottom:0}.field label[data-v-e74abc0c]{font-size:13px;font-weight:500;color:#374151}.field input[data-v-e74abc0c],.field select[data-v-e74abc0c],.field textarea[data-v-e74abc0c]{padding:9px 12px;border:1.5px solid #E5E7EB;border-radius:8px;font-size:14px;color:#111827;outline:none;transition:border-color .2s;background:#fff;width:100%;box-sizing:border-box}.field input[data-v-e74abc0c]:focus,.field select[data-v-e74abc0c]:focus,.field textarea[data-v-e74abc0c]:focus{border-color:#10b981}.field input[data-v-e74abc0c]:disabled{background:#f9fafb;color:#9ca3af}.field textarea[data-v-e74abc0c]{font-family:inherit;line-height:1.6;resize:vertical}.field-hint[data-v-e74abc0c]{font-size:12px;color:#9ca3af;margin:6px 0 0}.opt-tag[data-v-e74abc0c]{font-size:11px;font-weight:400;color:#9ca3af;border:1px solid #E5E7EB;border-radius:999px;padding:1px 7px;margin-left:6px;vertical-align:middle}.place-search-wrap[data-v-e74abc0c]{position:relative;display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #E5E7EB;border-radius:8px;padding:9px 12px;transition:border-color .2s}.place-search-wrap[data-v-e74abc0c]:focus-within{border-color:#10b981}.place-search-wrap input[data-v-e74abc0c]{flex:1;border:none;outline:none;font-size:14px;color:#111827;background:transparent}.place-search-wrap input[data-v-e74abc0c]::placeholder{color:#9ca3af}.place-dropdown[data-v-e74abc0c]{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1.5px solid #E5E7EB;border-radius:10px;box-shadow:0 8px 24px #0000001a;z-index:200;max-height:280px;overflow-y:auto}.place-option[data-v-e74abc0c]{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .1s}.place-option[data-v-e74abc0c]:hover{background:#f0fdf4}.place-opt-thumb[data-v-e74abc0c]{width:36px;height:36px;border-radius:6px;object-fit:cover;flex-shrink:0}.place-opt-no-img[data-v-e74abc0c]{width:36px;height:36px;border-radius:6px;background:#d1fae5;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#065f46;flex-shrink:0}.place-opt-name[data-v-e74abc0c]{font-size:14px;font-weight:600;color:#111827}.place-opt-city[data-v-e74abc0c]{font-size:12px;color:#9ca3af;margin-top:2px}.place-selected[data-v-e74abc0c]{display:flex;align-items:center;justify-content:space-between;background:#f0fdf4;border:1.5px solid #A7F3D0;border-radius:8px;padding:10px 14px}.place-selected-info[data-v-e74abc0c]{display:flex;align-items:center;gap:10px}.place-thumb[data-v-e74abc0c]{width:36px;height:36px;border-radius:6px;object-fit:cover;flex-shrink:0}.place-selected-text[data-v-e74abc0c]{display:flex;flex-direction:column}.place-selected-name[data-v-e74abc0c]{font-size:14px;font-weight:600;color:#065f46}.place-selected-city[data-v-e74abc0c]{font-size:12px;color:#10b981;margin-top:2px}.place-clear-btn[data-v-e74abc0c]{background:none;border:1px solid #A7F3D0;border-radius:6px;padding:5px 10px;font-size:12px;color:#6b7280;cursor:pointer;white-space:nowrap}.place-clear-btn[data-v-e74abc0c]:hover{background:#fee2e2;border-color:#fca5a5;color:#ef4444}.add-ticket-btn[data-v-e74abc0c]{display:flex;align-items:center;gap:6px;padding:7px 14px;background:none;border:1.5px solid #10B981;border-radius:8px;font-size:13px;font-weight:600;color:#10b981;cursor:pointer}.add-ticket-btn[data-v-e74abc0c]:hover:not(:disabled){background:#f0fdf4}.add-ticket-btn[data-v-e74abc0c]:disabled{opacity:.4;cursor:not-allowed}.ticket-empty[data-v-e74abc0c]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px;color:#9ca3af;font-size:13px}.del-ticket-btn[data-v-e74abc0c]{background:none;border:none;color:#9ca3af;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center}.del-ticket-btn[data-v-e74abc0c]:hover{background:#fee2e2;color:#ef4444}.ticket-table[data-v-e74abc0c]{display:flex;flex-direction:column}.ticket-header[data-v-e74abc0c]{display:grid;grid-template-columns:1fr 110px 100px 100px 40px;gap:8px;padding:8px 12px;background:#f9fafb;border-radius:8px 8px 0 0;border:1px solid #E5E7EB}.ticket-header span[data-v-e74abc0c]{font-size:12px;font-weight:600;color:#6b7280}.ticket-row-new[data-v-e74abc0c]{display:grid;grid-template-columns:1fr 110px 100px 100px 40px;gap:8px;padding:8px 12px;border:1px solid #E5E7EB;border-top:none;align-items:center}.ticket-row-new[data-v-e74abc0c]:last-child{border-radius:0 0 8px 8px}.ticket-row-new[data-v-e74abc0c]:hover{background:#fafafa}.t-inp[data-v-e74abc0c]{padding:7px 10px;border:1.5px solid #E5E7EB;border-radius:6px;font-size:13px;color:#111827;outline:none;width:100%;box-sizing:border-box;background:#fff}.t-inp[data-v-e74abc0c]:focus{border-color:#10b981}.t-inp[type=number][data-v-e74abc0c]{text-align:right}.rich-editor[data-v-e74abc0c]{border:1.5px solid #E5E7EB;border-radius:8px;overflow:hidden}.rich-editor[data-v-e74abc0c]:focus-within{border-color:#10b981}.re-toolbar[data-v-e74abc0c]{display:flex;align-items:center;gap:2px;padding:8px 10px;background:#f9fafb;border-bottom:1px solid #E5E7EB;flex-wrap:wrap}.re-toolbar button[data-v-e74abc0c]{background:none;border:none;padding:5px 9px;border-radius:5px;font-size:13px;cursor:pointer;color:#374151;line-height:1}.re-toolbar button[data-v-e74abc0c]:hover{background:#e5e7eb}.re-sep[data-v-e74abc0c]{width:1px;background:#d1d5db;height:18px;margin:0 4px;flex-shrink:0}.re-content[data-v-e74abc0c]{min-height:220px;padding:14px 16px;font-size:14px;line-height:1.75;color:#111827;outline:none}.re-content[data-v-e74abc0c] h2{font-size:18px;font-weight:700;margin:14px 0 6px}.re-content[data-v-e74abc0c] h3{font-size:16px;font-weight:700;margin:12px 0 4px}.re-content[data-v-e74abc0c] ul{list-style:disc;padding-left:22px;margin:6px 0}.re-content[data-v-e74abc0c] ol{list-style:decimal;padding-left:22px;margin:6px 0}.re-content[data-v-e74abc0c] hr{border:none;border-top:1px solid #E5E7EB;margin:12px 0}.re-content[data-v-e74abc0c]:empty:before{content:"在此輸入活動介紹、行程表、注意事項...";color:#9ca3af;pointer-events:none;display:block}.cover-upload[data-v-e74abc0c]{position:relative;border:2px dashed #E5E7EB;border-radius:10px;height:160px;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:all .2s}.cover-upload[data-v-e74abc0c]:hover,.cover-upload.dragging[data-v-e74abc0c]{border-color:#10b981;background:#f0fdf4}.cover-upload.has-cover[data-v-e74abc0c]{border:none}.cover-preview[data-v-e74abc0c]{width:100%;height:100%;object-fit:cover}.cover-placeholder[data-v-e74abc0c]{display:flex;flex-direction:column;align-items:center;gap:8px;color:#9ca3af;font-size:13px}.cover-overlay[data-v-e74abc0c]{position:absolute;inset:0;background:#00000073;color:#fff;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.cover-upload:hover .cover-overlay[data-v-e74abc0c]{opacity:1}.toast[data-v-e74abc0c]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:10px 20px;border-radius:10px;font-size:14px;z-index:9999;box-shadow:0 4px 16px #0003;white-space:nowrap}.page-container[data-v-8f2c93a3]{padding-bottom:2rem}.page-header[data-v-8f2c93a3]{margin-bottom:24px}.page-title[data-v-8f2c93a3]{font-size:22px;font-weight:700;color:#111827;margin:0}.coming-soon-card[data-v-8f2c93a3]{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:60px 40px;text-align:center;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.cs-icon[data-v-8f2c93a3]{color:#10b981;margin-bottom:8px}.coming-soon-card h3[data-v-8f2c93a3]{font-size:20px;font-weight:700;color:#111827;margin:0}.coming-soon-card p[data-v-8f2c93a3]{color:#6b7280;font-size:14px;margin:0}.feature-list[data-v-8f2c93a3]{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:8px;text-align:left}.feature-list li[data-v-8f2c93a3]{font-size:14px;color:#4b5563;padding-left:20px;position:relative}.feature-list li[data-v-8f2c93a3]:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:700}.cs-badge[data-v-8f2c93a3]{background:#fef3c7;color:#92400e;padding:4px 14px;border-radius:999px;font-size:12px;font-weight:700}.page-wrap[data-v-4dc226db]{padding:24px;min-height:100vh;background:#f9fafb}.page-header[data-v-4dc226db]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.page-title[data-v-4dc226db]{font-size:22px;font-weight:700;color:#111827;margin:0 0 4px}.page-sub[data-v-4dc226db]{font-size:13px;color:#6b7280;margin:0}.new-btn[data-v-4dc226db]{display:flex;align-items:center;gap:8px;background:#10b981;color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.new-btn[data-v-4dc226db]:hover{background:#059669}.toolbar[data-v-4dc226db]{margin-bottom:16px}.search-wrap[data-v-4dc226db]{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #E5E7EB;border-radius:8px;padding:9px 14px;max-width:360px}.search-wrap input[data-v-4dc226db]{flex:1;border:none;outline:none;font-size:14px;color:#111827;background:transparent}.search-wrap input[data-v-4dc226db]::placeholder{color:#9ca3af}.table-wrap[data-v-4dc226db]{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden;margin-bottom:20px}table[data-v-4dc226db]{width:100%;border-collapse:collapse}thead th[data-v-4dc226db]{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #F3F4F6;background:#fafafa;white-space:nowrap}tbody tr[data-v-4dc226db]{border-bottom:1px solid #F9FAFB;transition:background .12s}tbody tr[data-v-4dc226db]:last-child{border-bottom:none}tbody tr[data-v-4dc226db]:hover{background:#f9fafb}tbody td[data-v-4dc226db]{padding:14px 16px;vertical-align:middle;font-size:14px;color:#374151}.teacher-cell[data-v-4dc226db]{display:flex;align-items:center;gap:12px}.avatar-wrap[data-v-4dc226db]{width:42px;height:42px;border-radius:50%;overflow:hidden;background:#d1fae5;flex-shrink:0;display:flex;align-items:center;justify-content:center}.avatar-wrap img[data-v-4dc226db]{width:100%;height:100%;object-fit:cover}.avatar-init[data-v-4dc226db]{font-size:16px;font-weight:700;color:#065f46}.teacher-name[data-v-4dc226db]{font-weight:600;color:#111827}.title-cell[data-v-4dc226db]{color:#6b7280;font-size:13px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.count-badge[data-v-4dc226db]{display:inline-flex;align-items:center;gap:4px;background:#d1fae5;color:#065f46;border:none;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.count-badge[data-v-4dc226db]:hover{background:#a7f3d0}.status-select[data-v-4dc226db]{padding:6px 10px;border:1.5px solid #E5E7EB;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;outline:none;background:#fff}.sel-normal[data-v-4dc226db]{border-color:#a7f3d0;color:#065f46;background:#f0fdf4}.sel-disabled[data-v-4dc226db]{border-color:#fecaca;color:#991b1b;background:#fff5f5}.action-cell[data-v-4dc226db]{display:flex;align-items:center;gap:4px}.icon-btn[data-v-4dc226db]{background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;color:#9ca3af;display:flex}.icon-btn[data-v-4dc226db]:hover{background:#f3f4f6;color:#374151}.icon-btn.danger[data-v-4dc226db]:hover{background:#fee2e2;color:#ef4444}.empty-hint[data-v-4dc226db]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;color:#9ca3af;font-size:14px}.pagination[data-v-4dc226db]{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;border-top:1px solid #F3F4F6;font-size:13px;color:#6b7280}.pagination button[data-v-4dc226db]{padding:6px 12px;border:1.5px solid #E5E7EB;border-radius:6px;background:#fff;cursor:pointer;font-size:16px}.pagination button[data-v-4dc226db]:disabled{opacity:.4;cursor:not-allowed}.form-card[data-v-4dc226db]{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:24px;border-top:3px solid #10B981}.form-title[data-v-4dc226db]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:#111827;margin:0 0 20px}.form-row[data-v-4dc226db]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}.field[data-v-4dc226db]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label[data-v-4dc226db]{font-size:13px;font-weight:500;color:#374151}.field .req[data-v-4dc226db]{color:#ef4444}.field input[data-v-4dc226db],.field textarea[data-v-4dc226db]{padding:9px 12px;border:1.5px solid #E5E7EB;border-radius:8px;font-size:14px;color:#111827;outline:none;background:#fff;width:100%;box-sizing:border-box;transition:border-color .2s}.field input[data-v-4dc226db]:focus,.field textarea[data-v-4dc226db]:focus{border-color:#10b981}.field textarea[data-v-4dc226db]{font-family:inherit;line-height:1.6;resize:vertical}.input-preview-row[data-v-4dc226db]{display:flex;align-items:center;gap:10px}.input-preview-row input[data-v-4dc226db]{flex:1}.avatar-mini[data-v-4dc226db]{width:36px;height:36px;border-radius:50%;background:#e5e7eb center/cover no-repeat;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;font-weight:700;color:#6b7280;overflow:hidden}.banner-mini[data-v-4dc226db]{width:52px;height:36px;border-radius:6px;background:#e5e7eb center/cover no-repeat;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.form-actions[data-v-4dc226db]{display:flex;align-items:center;gap:12px;margin-top:8px}.save-btn[data-v-4dc226db]{display:flex;align-items:center;gap:8px;background:#10b981;color:#fff;border:none;border-radius:8px;padding:11px 24px;font-size:14px;font-weight:600;cursor:pointer;flex:1;justify-content:center}.save-btn[data-v-4dc226db]:hover:not(:disabled){background:#059669}.save-btn[data-v-4dc226db]:disabled{opacity:.6;cursor:not-allowed}.cancel-btn[data-v-4dc226db]{padding:11px 20px;border:1.5px solid #E5E7EB;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;background:#fff;cursor:pointer}.cancel-btn[data-v-4dc226db]:hover{background:#f9fafb}.toast[data-v-4dc226db]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:10px 20px;border-radius:10px;font-size:14px;z-index:9999;box-shadow:0 4px 16px #0003;white-space:nowrap}.page-container[data-v-ce82c6e8]{padding-bottom:2rem}.page-header[data-v-ce82c6e8]{margin-bottom:24px}.page-title[data-v-ce82c6e8]{font-size:22px;font-weight:700;color:#111827;margin:0}.coming-soon-card[data-v-ce82c6e8]{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:60px 40px;text-align:center;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.cs-icon[data-v-ce82c6e8]{color:#10b981;margin-bottom:8px}.coming-soon-card h3[data-v-ce82c6e8]{font-size:20px;font-weight:700;color:#111827;margin:0}.coming-soon-card p[data-v-ce82c6e8]{color:#6b7280;font-size:14px;margin:0}.feature-list[data-v-ce82c6e8]{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:8px;text-align:left}.feature-list li[data-v-ce82c6e8]{font-size:14px;color:#4b5563;padding-left:20px;position:relative}.feature-list li[data-v-ce82c6e8]:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:700}.cs-badge[data-v-ce82c6e8]{background:#fef3c7;color:#92400e;padding:4px 14px;border-radius:999px;font-size:12px;font-weight:700}.community-page[data-v-77200f9d]{min-height:100vh;background:#f9fafb}.page-head[data-v-77200f9d]{padding:24px 28px 0}.page-title[data-v-77200f9d]{margin:0 0 4px;font-size:22px;font-weight:700;color:#111827}.page-sub[data-v-77200f9d]{margin:0;font-size:13px;color:#6b7280}.tabs-bar[data-v-77200f9d]{display:flex;padding:20px 28px 0;border-bottom:2px solid #E5E7EB}.tab-btn[data-v-77200f9d]{display:flex;align-items:center;gap:7px;padding:10px 18px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;white-space:nowrap}.tab-btn[data-v-77200f9d]:hover{color:#111827}.tab-btn.active[data-v-77200f9d]{color:#10b981;border-bottom-color:#10b981;font-weight:600}.badge[data-v-77200f9d]{background:#ef4444;color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:1px 6px;min-width:18px;text-align:center}.tab-content[data-v-77200f9d]{padding:20px 28px 32px}.search-row[data-v-77200f9d]{display:flex;gap:10px;margin-bottom:20px}.search-wrap[data-v-77200f9d]{position:relative;flex:1;max-width:420px}.search-icon[data-v-77200f9d]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.search-input[data-v-77200f9d]{width:100%;padding:10px 14px 10px 38px;border:1.5px solid #E5E7EB;border-radius:9px;font-size:14px;outline:none;box-sizing:border-box;background:#fff}.search-input[data-v-77200f9d]:focus{border-color:#10b981}.search-btn[data-v-77200f9d]{padding:10px 20px;background:#10b981;color:#fff;border:none;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.search-btn[data-v-77200f9d]:hover{background:#059669}.loading-state[data-v-77200f9d]{text-align:center;color:#9ca3af;padding:60px;font-size:14px}.empty-state[data-v-77200f9d]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:70px;color:#9ca3af;font-size:14px}.posts-grid[data-v-77200f9d]{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.post-card[data-v-77200f9d]{background:#fff;border-radius:14px;box-shadow:0 1px 4px #0000000f;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s}.post-card[data-v-77200f9d]:hover{box-shadow:0 4px 18px #0000001a}.post-cover-wrap[data-v-77200f9d]{position:relative;height:200px;background:#f3f4f6;flex-shrink:0}.post-cover[data-v-77200f9d]{width:100%;height:100%;object-fit:cover;display:block}.post-no-cover[data-v-77200f9d]{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.delete-fab[data-v-77200f9d]{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:#ef4444;border:none;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.post-card:hover .delete-fab[data-v-77200f9d]{opacity:1}.delete-fab[data-v-77200f9d]:hover{background:#dc2626}.post-body[data-v-77200f9d]{padding:14px;display:flex;flex-direction:column;gap:8px;flex:1}.post-user[data-v-77200f9d]{display:flex;align-items:center;gap:10px}.user-avatar[data-v-77200f9d]{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0}.user-avatar-placeholder[data-v-77200f9d]{width:34px;height:34px;border-radius:50%;background:#d1fae5;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#065f46;flex-shrink:0}.user-info[data-v-77200f9d]{display:flex;flex-direction:column}.user-name[data-v-77200f9d]{font-size:13px;font-weight:600;color:#111827}.post-date[data-v-77200f9d]{font-size:11px;color:#9ca3af}.post-text[data-v-77200f9d]{font-size:13px;color:#374151;line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}.post-stats[data-v-77200f9d]{display:flex;gap:14px}.stat[data-v-77200f9d]{display:flex;align-items:center;gap:4px;font-size:12px;color:#9ca3af}.pagination[data-v-77200f9d]{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:24px}.pagination button[data-v-77200f9d]{display:flex;align-items:center;gap:5px;padding:8px 16px;border:1.5px solid #E5E7EB;border-radius:8px;background:#fff;font-size:13px;cursor:pointer;color:#374151}.pagination button[data-v-77200f9d]:hover:not(:disabled){border-color:#10b981;color:#10b981}.pagination button[data-v-77200f9d]:disabled{opacity:.4;cursor:not-allowed}.page-info[data-v-77200f9d]{font-size:13px;color:#6b7280;display:flex;align-items:center;gap:8px}.total-tag[data-v-77200f9d]{background:#f3f4f6;border-radius:999px;padding:2px 10px;font-size:12px;color:#6b7280}.report-list[data-v-77200f9d]{display:flex;flex-direction:column;gap:12px}.report-card[data-v-77200f9d]{display:flex;align-items:center;gap:14px;background:#fff;border-radius:12px;padding:14px;box-shadow:0 1px 4px #0000000f}.report-left[data-v-77200f9d]{flex-shrink:0}.report-thumb[data-v-77200f9d]{width:80px;height:60px;object-fit:cover;border-radius:8px}.report-no-thumb[data-v-77200f9d]{width:80px;height:60px;background:#f3f4f6;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#9ca3af}.report-body[data-v-77200f9d]{flex:1;min-width:0}.report-meta[data-v-77200f9d]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}.report-label[data-v-77200f9d]{font-size:12px;color:#9ca3af}.report-user[data-v-77200f9d]{font-size:12px;font-weight:600;color:#374151}.report-sep[data-v-77200f9d]{color:#e5e7eb}.report-time[data-v-77200f9d]{font-size:11px;color:#9ca3af}.tag-deleted[data-v-77200f9d]{background:#fee2e2;color:#991b1b;font-size:11px;border-radius:999px;padding:1px 8px}.report-content[data-v-77200f9d]{font-size:13px;color:#374151;line-height:1.5;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-actions[data-v-77200f9d]{display:flex;gap:8px;flex-shrink:0}.btn-resolve[data-v-77200f9d]{padding:6px 14px;background:#f3f4f6;border:none;border-radius:7px;font-size:12px;font-weight:600;color:#6b7280;cursor:pointer}.btn-resolve[data-v-77200f9d]:hover{background:#e5e7eb}.btn-delete-post[data-v-77200f9d]{padding:6px 14px;background:#fee2e2;border:none;border-radius:7px;font-size:12px;font-weight:600;color:#991b1b;cursor:pointer}.btn-delete-post[data-v-77200f9d]:hover{background:#fecaca}.art-toolbar[data-v-77200f9d]{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.cat-select[data-v-77200f9d]{padding:10px 12px;border:1.5px solid #E5E7EB;border-radius:9px;font-size:14px;outline:none;background:#fff}.create-btn[data-v-77200f9d]{padding:10px 18px;background:#10b981;color:#fff;border:none;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;margin-left:auto}.create-btn[data-v-77200f9d]:hover{background:#059669}.table-card[data-v-77200f9d]{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden}.data-table[data-v-77200f9d]{width:100%;border-collapse:collapse}.data-table th[data-v-77200f9d],.data-table td[data-v-77200f9d]{padding:12px 14px;text-align:left;font-size:13px;border-bottom:1px solid #F3F4F6}.data-table th[data-v-77200f9d]{background:#f9fafb;font-weight:600;color:#374151}.data-table td[data-v-77200f9d]{color:#4b5563}.td-id[data-v-77200f9d]{color:#9ca3af;width:50px}.empty-row[data-v-77200f9d]{text-align:center;color:#9ca3af;padding:32px!important}.title-cell[data-v-77200f9d]{font-weight:500}.article-thumb[data-v-77200f9d]{width:64px;height:40px;object-fit:cover;border-radius:6px}.thumb-placeholder[data-v-77200f9d]{width:64px;height:40px;background:#f3f4f6;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#9ca3af}.actions[data-v-77200f9d]{display:flex;gap:6px}.btn-sm[data-v-77200f9d]{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;border:none;cursor:pointer}.btn-edit[data-v-77200f9d]{background:#eff6ff;color:#1d4ed8}.btn-delete[data-v-77200f9d]{background:#fee2e2;color:#991b1b}.modal-backdrop[data-v-77200f9d]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-77200f9d]{background:#fff;border-radius:12px;width:600px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000040}.modal-header[data-v-77200f9d]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #F3F4F6}.modal-header h3[data-v-77200f9d]{margin:0;font-size:16px;font-weight:700;color:#111827}.modal-close[data-v-77200f9d]{background:none;border:none;font-size:18px;cursor:pointer;color:#9ca3af}.modal-body[data-v-77200f9d]{overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.modal-footer[data-v-77200f9d]{padding:14px 20px;border-top:1px solid #F3F4F6;display:flex;justify-content:flex-end;gap:10px}.field[data-v-77200f9d]{display:flex;flex-direction:column;gap:5px}.field label[data-v-77200f9d]{font-size:13px;font-weight:600;color:#374151}.field-input[data-v-77200f9d]{padding:9px 12px;border:1.5px solid #E5E7EB;border-radius:8px;font-size:14px;outline:none}.field-input[data-v-77200f9d]:focus{border-color:#10b981}.field-textarea[data-v-77200f9d]{padding:9px 12px;border:1.5px solid #E5E7EB;border-radius:8px;font-size:13px;outline:none;font-family:monospace;resize:vertical}.preview-img[data-v-77200f9d]{margin-top:8px;max-width:100%;max-height:120px;object-fit:contain;border-radius:6px;border:1px solid #E5E7EB}.error-msg[data-v-77200f9d]{color:#ef4444;font-size:13px;background:#fef2f2;padding:10px 12px;border-radius:6px;margin:0}.btn-cancel[data-v-77200f9d]{padding:9px 20px;background:#f3f4f6;color:#374151;border:none;border-radius:8px;font-size:14px;cursor:pointer}.btn-primary[data-v-77200f9d]{padding:9px 20px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.btn-primary[data-v-77200f9d]:disabled{opacity:.6;cursor:not-allowed}.toast[data-v-77200f9d]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:10px 20px;border-radius:10px;font-size:14px;z-index:9999;box-shadow:0 4px 16px #0003;white-space:nowrap}.user-page[data-v-148c1fa1]{min-height:100vh;background:#f9fafb;padding-bottom:40px}.page-head[data-v-148c1fa1]{display:flex;align-items:flex-start;justify-content:space-between;padding:28px 32px 22px;background:#fff;border-bottom:1px solid #F3F4F6}.page-title[data-v-148c1fa1]{margin:0 0 4px;font-size:23px;font-weight:700;color:#111827}.page-sub[data-v-148c1fa1]{margin:0;font-size:13px;color:#6b7280}.stats-box[data-v-148c1fa1]{text-align:right}.stats-label[data-v-148c1fa1]{font-size:13px;color:#6b7280}.stats-num[data-v-148c1fa1]{font-size:30px;font-weight:700;color:#111827;letter-spacing:-.5px;display:block}.search-bar-wrap[data-v-148c1fa1]{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;background:#fff;border-bottom:1px solid #F3F4F6}.search-wrap[data-v-148c1fa1]{position:relative;width:340px}.search-icon[data-v-148c1fa1]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.search-input[data-v-148c1fa1]{width:100%;padding:10px 14px 10px 40px;border:1.5px solid #E5E7EB;border-radius:10px;font-size:14px;outline:none;box-sizing:border-box;background:#f9fafb}.search-input[data-v-148c1fa1]:focus{border-color:#10b981;background:#fff}.filter-wrap[data-v-148c1fa1]{position:relative}.filter-btn[data-v-148c1fa1]{display:flex;align-items:center;gap:7px;padding:10px 16px;border:1.5px solid #E5E7EB;border-radius:10px;background:#fff;font-size:14px;color:#374151;cursor:pointer;position:relative}.filter-btn[data-v-148c1fa1]:hover{background:#f9fafb}.filter-dot[data-v-148c1fa1]{position:absolute;top:8px;right:8px;width:7px;height:7px;border-radius:50%;background:#10b981}.filter-dropdown[data-v-148c1fa1]{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #E5E7EB;border-radius:10px;box-shadow:0 8px 24px #0000001a;z-index:100;min-width:130px;overflow:hidden}.filter-item[data-v-148c1fa1]{padding:11px 16px;font-size:13px;color:#374151;cursor:pointer}.filter-item[data-v-148c1fa1]:hover{background:#f3f4f6}.filter-item.active[data-v-148c1fa1]{color:#10b981;font-weight:600;background:#f0fdf4}.table-card[data-v-148c1fa1]{margin:24px 32px 0;background:#fff;border-radius:14px;box-shadow:0 1px 4px #0000000f;overflow:hidden}.loading-state[data-v-148c1fa1]{text-align:center;color:#9ca3af;padding:60px;font-size:14px}.data-table[data-v-148c1fa1]{width:100%;border-collapse:collapse}.data-table th[data-v-148c1fa1]{padding:13px 16px;text-align:left;font-size:12px;font-weight:600;color:#9ca3af;letter-spacing:.4px;background:#fff;border-bottom:2px solid #F3F4F6}.data-table td[data-v-148c1fa1]{padding:16px;font-size:13px;color:#374151;border-bottom:1px solid #F9FAFB;vertical-align:middle}.data-table tbody tr[data-v-148c1fa1]:hover{background:#fafafa}.data-table tbody tr:last-child td[data-v-148c1fa1]{border-bottom:none}.row-deleted td[data-v-148c1fa1]{opacity:.4}.empty-row[data-v-148c1fa1]{text-align:center;color:#9ca3af;padding:48px!important}.user-cell[data-v-148c1fa1]{display:flex;align-items:center;gap:12px}.avatar[data-v-148c1fa1]{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #F3F4F6;flex-shrink:0}.avatar-init[data-v-148c1fa1]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cell-name[data-v-148c1fa1]{font-weight:600;color:#111827;font-size:14px}.icon-cell[data-v-148c1fa1]{display:flex;align-items:center;gap:6px;color:#6b7280}.badge[data-v-148c1fa1]{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge-normal[data-v-148c1fa1]{background:#dcfce7;color:#166534}.badge-suspended[data-v-148c1fa1]{background:#fee2e2;color:#991b1b}.badge-deleted[data-v-148c1fa1]{background:#f3f4f6;color:#9ca3af}.action-btn[data-v-148c1fa1]{padding:6px 14px;border-radius:8px;font-size:12px;font-weight:700;border:none;cursor:pointer;transition:opacity .15s;white-space:nowrap}.action-btn[data-v-148c1fa1]:hover{opacity:.75}.btn-suspend[data-v-148c1fa1]{background:#fee2e2;color:#b91c1c}.btn-enable[data-v-148c1fa1]{background:#dcfce7;color:#166534}.text-muted[data-v-148c1fa1]{color:#d1d5db;font-size:13px}.pagination[data-v-148c1fa1]{display:flex;align-items:center;justify-content:center;gap:14px;padding:20px 32px}.pagination button[data-v-148c1fa1]{display:flex;align-items:center;gap:5px;padding:8px 16px;border:1.5px solid #E5E7EB;border-radius:8px;background:#fff;font-size:13px;cursor:pointer;color:#374151}.pagination button[data-v-148c1fa1]:hover:not(:disabled){border-color:#10b981;color:#10b981}.pagination button[data-v-148c1fa1]:disabled{opacity:.4;cursor:not-allowed}.page-info[data-v-148c1fa1]{font-size:13px;color:#6b7280;display:flex;align-items:center;gap:8px}.total-tag[data-v-148c1fa1]{background:#f3f4f6;border-radius:999px;padding:2px 10px;font-size:12px;color:#6b7280}.marketing-page[data-v-e7e1d9f2]{min-height:100vh;background:#f9fafb;padding-bottom:40px}.page-head[data-v-e7e1d9f2]{display:flex;align-items:flex-start;justify-content:space-between;padding:28px 32px 22px;background:#fff;border-bottom:1px solid #F3F4F6}.page-title[data-v-e7e1d9f2]{margin:0 0 4px;font-size:22px;font-weight:700;color:#111827}.page-sub[data-v-e7e1d9f2]{margin:0;font-size:13px;color:#6b7280}.add-btn[data-v-e7e1d9f2]{display:flex;align-items:center;gap:7px;padding:10px 18px;background:#10b981;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.add-btn[data-v-e7e1d9f2]:hover{background:#059669}.list-card[data-v-e7e1d9f2]{margin:24px 32px 0;background:#fff;border-radius:14px;box-shadow:0 1px 4px #0000000f;overflow:hidden}.loading-state[data-v-e7e1d9f2]{text-align:center;color:#9ca3af;padding:60px;font-size:14px}.empty-state[data-v-e7e1d9f2]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:80px;color:#9ca3af;font-size:14px}.list-header[data-v-e7e1d9f2],.list-row[data-v-e7e1d9f2]{display:grid;grid-template-columns:60px 140px 1fr 70px 110px 120px;align-items:center;gap:0}.list-header[data-v-e7e1d9f2]{padding:10px 20px;background:#f9fafb;border-bottom:1px solid #F3F4F6;font-size:12px;font-weight:600;color:#9ca3af;letter-spacing:.4px}.list-row[data-v-e7e1d9f2]{padding:16px 20px;border-bottom:1px solid #F9FAFB;transition:background .15s}.list-row[data-v-e7e1d9f2]:hover{background:#fafafa}.list-row[data-v-e7e1d9f2]:last-child{border-bottom:none}.col-handle[data-v-e7e1d9f2]{display:flex;flex-direction:column;align-items:center;gap:2px}.sort-btn[data-v-e7e1d9f2]{width:26px;height:26px;border:1px solid #E5E7EB;border-radius:6px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;padding:0}.sort-btn[data-v-e7e1d9f2]:hover:not(:disabled){border-color:#10b981;color:#10b981}.sort-btn[data-v-e7e1d9f2]:disabled{opacity:.3;cursor:not-allowed}.preview-thumb[data-v-e7e1d9f2]{width:120px;height:70px;object-fit:contain;border-radius:8px;margin-right:8px;background:#f9fafb}.no-preview[data-v-e7e1d9f2]{width:120px;height:70px;background:#f3f4f6;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#9ca3af}.col-info[data-v-e7e1d9f2]{display:flex;flex-direction:column;gap:5px;padding-right:16px}.banner-title[data-v-e7e1d9f2]{font-size:14px;font-weight:600;color:#111827}.banner-link[data-v-e7e1d9f2]{display:flex;align-items:center;gap:4px;font-size:12px;color:#6b7280;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.banner-no-link[data-v-e7e1d9f2]{font-size:12px;color:#d1d5db}.sort-badge[data-v-e7e1d9f2]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#f3f4f6;border-radius:8px;font-size:14px;font-weight:700;color:#374151}.status-on[data-v-e7e1d9f2],.status-off[data-v-e7e1d9f2]{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600}.status-on[data-v-e7e1d9f2]{background:#dcfce7;color:#166534}.status-off[data-v-e7e1d9f2]{background:#f3f4f6;color:#9ca3af}.col-actions[data-v-e7e1d9f2]{display:flex;align-items:center;gap:8px}.icon-btn[data-v-e7e1d9f2]{width:34px;height:34px;border:none;border-radius:8px;background:#f3f4f6;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.icon-btn[data-v-e7e1d9f2]:hover{background:#e5e7eb;color:#374151}.icon-btn-delete[data-v-e7e1d9f2]:hover{background:#fee2e2;color:#b91c1c}.icon-btn-edit[data-v-e7e1d9f2]:hover{background:#eff6ff;color:#1d4ed8}.toast[data-v-e7e1d9f2]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:10px 20px;border-radius:10px;font-size:14px;z-index:9999;box-shadow:0 4px 16px #0003;white-space:nowrap}.modal-backdrop[data-v-e7e1d9f2]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-e7e1d9f2]{background:#fff;border-radius:12px;width:560px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000040}.modal-header[data-v-e7e1d9f2]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #F3F4F6}.modal-header h3[data-v-e7e1d9f2]{margin:0;font-size:16px;font-weight:700;color:#111827}.modal-close[data-v-e7e1d9f2]{background:none;border:none;font-size:18px;cursor:pointer;color:#9ca3af}.modal-body[data-v-e7e1d9f2]{overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.modal-footer[data-v-e7e1d9f2]{padding:14px 20px;border-top:1px solid #F3F4F6;display:flex;justify-content:flex-end;gap:10px}.field[data-v-e7e1d9f2]{display:flex;flex-direction:column;gap:5px}.field-row[data-v-e7e1d9f2]{flex-direction:row;gap:16px}.field-row>div[data-v-e7e1d9f2]{flex:1;display:flex;flex-direction:column;gap:5px}.field label[data-v-e7e1d9f2]{font-size:13px;font-weight:600;color:#374151}.field-input[data-v-e7e1d9f2]{padding:9px 12px;border:1.5px solid #E5E7EB;border-radius:8px;font-size:14px;outline:none}.field-input[data-v-e7e1d9f2]:focus{border-color:#10b981}.field-input.small[data-v-e7e1d9f2]{width:100%;box-sizing:border-box}.upload-area[data-v-e7e1d9f2]{display:flex;align-items:center;gap:10px}.upload-btn[data-v-e7e1d9f2]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#f3f4f6;border:1.5px solid #D1D5DB;border-radius:8px;font-size:13px;cursor:pointer;transition:background .15s}.upload-btn[data-v-e7e1d9f2]:hover{background:#e5e7eb}.upload-btn--busy[data-v-e7e1d9f2]{opacity:.6;cursor:not-allowed}.upload-url[data-v-e7e1d9f2]{font-size:12px;color:#6b7280;word-break:break-all}.img-preview[data-v-e7e1d9f2]{margin-top:8px;width:100%;max-height:200px;object-fit:contain;border-radius:8px;border:1px solid #E5E7EB;background:#f9fafb}.error-msg[data-v-e7e1d9f2]{color:#ef4444;font-size:13px;background:#fef2f2;padding:10px 12px;border-radius:6px;margin:0}.btn-cancel[data-v-e7e1d9f2]{padding:9px 20px;background:#f3f4f6;color:#374151;border:none;border-radius:8px;font-size:14px;cursor:pointer}.btn-save[data-v-e7e1d9f2]{padding:9px 20px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.btn-save[data-v-e7e1d9f2]:disabled{opacity:.6;cursor:not-allowed}
