: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-e571b5e3]{display:flex;min-height:100vh;background-color:#f5f7fa;position:relative}.mobile-header[data-v-e571b5e3]{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-e571b5e3]{background:none;border:none;padding:8px;margin-right:12px;cursor:pointer;color:#374151}.mobile-title[data-v-e571b5e3]{font-size:18px;font-weight:700;color:#111827}.mobile-backdrop[data-v-e571b5e3]{position:fixed;inset:0;background-color:#00000080;z-index:45}.sidebar[data-v-e571b5e3]{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-e571b5e3]{height:80px;display:flex;align-items:center;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.1)}.logo-icon[data-v-e571b5e3]{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-e571b5e3]{font-size:16px;font-weight:700;margin:0;line-height:1.2}.logo-text span[data-v-e571b5e3]{font-size:12px;color:#9ca3af;display:block}.version-tag[data-v-e571b5e3]{font-size:11px;color:#6b7280;margin-top:2px;font-family:monospace}.sidebar-nav[data-v-e571b5e3]{flex:1;padding:24px 16px;overflow-y:auto}.sidebar-nav ul[data-v-e571b5e3]{list-style:none;padding:0;margin:0}.sidebar-nav li[data-v-e571b5e3]{margin-bottom:4px}.nav-item[data-v-e571b5e3]{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-e571b5e3]:hover{background-color:#ffffff0d;color:#fff}.nav-item.active[data-v-e571b5e3]{background-color:#10b981;color:#fff}.nav-item .icon[data-v-e571b5e3]{margin-right:12px;display:flex;align-items:center}.sidebar-footer[data-v-e571b5e3]{padding:24px;border-top:1px solid rgba(255,255,255,.1)}.logout-btn[data-v-e571b5e3]{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-e571b5e3]:hover{color:#fff}.logout-btn .icon[data-v-e571b5e3]{margin-right:12px}.main-content[data-v-e571b5e3]{flex:1;overflow-y:auto;padding:32px 40px}@media(max-width:768px){.app-container[data-v-e571b5e3]{flex-direction:column}.mobile-header[data-v-e571b5e3]{display:flex}.sidebar[data-v-e571b5e3]{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-e571b5e3]{transform:translate(0)}.main-content[data-v-e571b5e3]{margin-top:60px;padding:20px;width:100%}}.loading-overlay[data-v-7960c07b]{position:fixed;inset:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center;z-index:100}.loading-spinner[data-v-7960c07b]{width:36px;height:36px;border:3px solid #E5E7EB;border-top-color:#10b981;border-radius:50%;animation:spin-7960c07b .8s linear infinite}@keyframes spin-7960c07b{to{transform:rotate(360deg)}}.badge-sub[data-v-7960c07b]{font-size:12px;color:#9ca3af}.empty-hint[data-v-7960c07b]{color:#9ca3af;font-size:14px;text-align:center;padding:20px 0}.page-header[data-v-7960c07b]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.page-title[data-v-7960c07b]{font-size:24px;font-weight:700;color:#111827;margin:0 0 8px}.welcome-text[data-v-7960c07b]{color:#6b7280;margin:0;font-size:14px}.last-update[data-v-7960c07b]{font-size:13px;color:#9ca3af}.stats-row[data-v-7960c07b]{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:32px}.stat-card[data-v-7960c07b]{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-7960c07b]{display:flex;flex-direction:column}.stat-label[data-v-7960c07b]{font-size:13px;color:#6b7280;margin-bottom:8px;font-weight:500}.stat-value[data-v-7960c07b]{font-size:28px;font-weight:700;color:#111827;margin-bottom:12px}.stat-badge[data-v-7960c07b]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;align-self:flex-start}.stat-icon-box[data-v-7960c07b]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.main-grid[data-v-7960c07b]{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px}.chart-section[data-v-7960c07b]{min-width:0}.card[data-v-7960c07b]{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.card-header[data-v-7960c07b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.card-header h3[data-v-7960c07b]{font-size:16px;font-weight:700;color:#1f2937;margin:0}.time-select[data-v-7960c07b]{padding:6px 12px;border:1px solid #E5E7EB;border-radius:6px;font-size:13px;color:#4b5563;outline:none}.chart-area[data-v-7960c07b]{position:relative;height:280px;padding:10px 0 30px}.growth-chart[data-v-7960c07b]{width:100%;height:calc(100% - 30px);overflow:visible}.x-labels[data-v-7960c07b]{display:flex;justify-content:space-between;font-size:11px;color:#9ca3af;margin-top:6px;padding-left:48px;padding-right:4px;overflow:hidden}.x-labels .invisible[data-v-7960c07b]{visibility:hidden}.chart-tooltip[data-v-7960c07b]{position:absolute;background:#1f2937;color:#fff;border-radius:8px;padding:7px 12px;pointer-events:none;z-index:10;white-space:nowrap;box-shadow:0 4px 12px #0003}.tooltip-date[data-v-7960c07b]{font-size:12px;color:#9ca3af;margin-bottom:2px}.tooltip-count[data-v-7960c07b]{font-size:15px;font-weight:700;color:#10b981}.ranking-list[data-v-7960c07b]{display:flex;flex-direction:column;gap:16px}.ranking-item[data-v-7960c07b]{display:flex;align-items:center;padding:8px 0}.rank-box[data-v-7960c07b]{width:32px;margin-right:12px}.rank-number[data-v-7960c07b]{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-7960c07b]{background-color:#fef3c7;color:#d97706}.rank-number.rank-2[data-v-7960c07b],.rank-number.rank-3[data-v-7960c07b]{background-color:#fffbeb;color:#d97706}.rank-info[data-v-7960c07b]{flex:1}.rank-info h4[data-v-7960c07b]{margin:0;font-size:14px;color:#1f2937;font-weight:500}.rank-location[data-v-7960c07b]{font-size:12px;color:#9ca3af}.rank-stats[data-v-7960c07b]{text-align:right}.rank-value[data-v-7960c07b]{display:block;font-size:14px;font-weight:600;color:#1f2937}.rank-unit[data-v-7960c07b]{font-size:12px;color:#9ca3af}@media(max-width:1200px){.stats-row[data-v-7960c07b]{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.main-grid[data-v-7960c07b]{grid-template-columns:1fr}}.login-page[data-v-5c9363bb]{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:flex;align-items:center;justify-content:center;padding:20px}.login-card[data-v-5c9363bb]{background:#fff;border-radius:16px;padding:40px 36px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d}.logo-block[data-v-5c9363bb]{text-align:center;margin-bottom:32px}.logo-icon[data-v-5c9363bb]{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-5c9363bb]{font-size:20px;font-weight:700;color:#111827;margin:0 0 4px}.brand-sub[data-v-5c9363bb]{font-size:13px;color:#9ca3af;margin:0}.login-form[data-v-5c9363bb]{display:flex;flex-direction:column;gap:16px}.field[data-v-5c9363bb]{display:flex;flex-direction:column;gap:6px}.field label[data-v-5c9363bb]{font-size:13px;font-weight:600;color:#374151}.field input[data-v-5c9363bb]{padding:11px 14px;border:1.5px solid rgba(255,255,255,.3);border-radius:8px;font-size:14px;color:#fff;outline:none;transition:border-color .2s;width:100%;box-sizing:border-box;background:#000}.field input[data-v-5c9363bb]:-webkit-autofill,.field input[data-v-5c9363bb]:-webkit-autofill:hover,.field input[data-v-5c9363bb]:-webkit-autofill:focus{-webkit-box-shadow:0 0 0px 1000px #000000 inset;-webkit-text-fill-color:#ffffff;caret-color:#fff}.field input[data-v-5c9363bb]::placeholder{color:#ffffff73}.field input[data-v-5c9363bb]:focus{border-color:#10b981}.password-wrap[data-v-5c9363bb]{position:relative}.password-wrap input[data-v-5c9363bb]{padding-right:44px}.eye-btn[data-v-5c9363bb]{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-5c9363bb]{color:#ef4444;font-size:13px;margin:0;background:#fef2f2;padding:10px 12px;border-radius:6px}.login-btn[data-v-5c9363bb]{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-5c9363bb]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-5c9363bb]{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-5c9363bb .8s linear infinite}@keyframes spin-5c9363bb{to{transform:rotate(360deg)}}.page-container[data-v-09d48918]{padding-bottom:2rem}.page-header[data-v-09d48918]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.page-title[data-v-09d48918]{font-size:22px;font-weight:700;color:#111827;margin:0 0 4px}.total-badge[data-v-09d48918]{background:#f3f4f6;color:#6b7280;font-size:13px;padding:3px 10px;border-radius:999px;display:inline-block}.new-btn[data-v-09d48918]{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-09d48918]:hover{background:#059669}.rating-badge[data-v-09d48918]{background:#fef3c7;color:#92400e;font-size:12px;font-weight:600;padding:2px 7px;border-radius:999px;white-space:nowrap}.rating-none[data-v-09d48918]{color:#9ca3af;font-size:13px}.toolbar[data-v-09d48918]{display:flex;gap:10px;margin-bottom:16px}.search-group[data-v-09d48918]{display:flex;align-items:center;gap:8px}.search-wrap[data-v-09d48918]{display:flex;align-items:center;gap:8px;width:340px;background:#1f2937;border:1.5px solid #374151;border-radius:10px;padding:9px 14px}.search-wrap[data-v-09d48918]:focus-within{border-color:#10b981}.search-input[data-v-09d48918]{flex:1;border:none;outline:none;font-size:14px;color:#f9fafb;background:transparent;min-width:0}.search-input[data-v-09d48918]::placeholder{color:#6b7280}.clear-btn[data-v-09d48918]{background:none;border:none;cursor:pointer;color:#6b7280;display:flex;align-items:center;padding:0;flex-shrink:0}.clear-btn[data-v-09d48918]:hover{color:#f9fafb}.search-btn[data-v-09d48918]{display:flex;align-items:center;gap:6px;background:#10b981;color:#fff;border:none;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.search-btn[data-v-09d48918]:hover{background:#059669}.table-card[data-v-09d48918]{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:visible}.table-loading[data-v-09d48918]{padding:40px;text-align:center;color:#9ca3af}.data-table[data-v-09d48918]{width:100%;border-collapse:collapse}.data-table th[data-v-09d48918],.data-table td[data-v-09d48918]{padding:12px 14px;text-align:left;font-size:13px;border-bottom:1px solid #F3F4F6}.data-table th[data-v-09d48918]{background:#f9fafb;font-weight:600;color:#374151}.data-table td[data-v-09d48918]{color:#4b5563}.data-table tbody tr:hover td[data-v-09d48918]{background:#f0fdf4}.row-disabled td[data-v-09d48918]{opacity:.5}.empty-row[data-v-09d48918]{text-align:center;color:#9ca3af;padding:32px!important}.name-cell[data-v-09d48918]{font-weight:500;max-width:160px}.camp-thumb[data-v-09d48918]{width:48px;height:36px;object-fit:cover;border-radius:6px}.status-badge[data-v-09d48918]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.status-badge.active[data-v-09d48918]{background:#dcfce7;color:#166534}.status-badge.suspended[data-v-09d48918]{background:#fee2e2;color:#991b1b}.actions[data-v-09d48918]{position:relative}.more-wrap[data-v-09d48918]{position:relative;display:inline-block}.more-btn[data-v-09d48918]{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-09d48918]:hover{border-color:#10b981;color:#10b981}.more-menu[data-v-09d48918]{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-09d48918],.more-menu a[data-v-09d48918]{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-09d48918]:hover,.more-menu a[data-v-09d48918]:hover{background:#f3f4f6}.menu-suspend[data-v-09d48918]{color:#991b1b!important}.menu-enable[data-v-09d48918]{color:#166634!important}.pagination[data-v-09d48918]{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px;font-size:13px;color:#6b7280}.pagination button[data-v-09d48918]{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-09d48918]:hover:not(:disabled){border-color:#10b981;color:#10b981}.pagination button[data-v-09d48918]:disabled{opacity:.35;cursor:not-allowed}.edit-page[data-v-deac9971]{min-height:100vh;background:#f9fafb}.top-bar[data-v-deac9971]{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-deac9971]{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-deac9971]:hover{color:#10b981}.save-btn[data-v-deac9971]{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-deac9971]:hover:not(:disabled){background:#059669}.save-btn[data-v-deac9971]:disabled{opacity:.6;cursor:not-allowed}.page-loading[data-v-deac9971]{text-align:center;padding:80px;color:#9ca3af;font-size:16px}.content-layout[data-v-deac9971]{display:grid;grid-template-columns:1fr 340px;gap:20px;padding:20px 24px;max-width:1280px}.main-col[data-v-deac9971],.side-col[data-v-deac9971]{display:flex;flex-direction:column;gap:16px}.card[data-v-deac9971]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000f}.card-title[data-v-deac9971]{font-size:15px;font-weight:700;color:#111827;margin:0 0 16px}.card-title-row[data-v-deac9971]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-title-row .card-title[data-v-deac9971]{margin:0}.form-row[data-v-deac9971]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.field[data-v-deac9971]{display:flex;flex-direction:column;gap:6px}.field.full[data-v-deac9971]{margin-bottom:0}.field label[data-v-deac9971]{font-size:13px;font-weight:500;color:#374151}.field input[data-v-deac9971],.field select[data-v-deac9971],.field textarea[data-v-deac9971]{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-deac9971]:focus,.field select[data-v-deac9971]:focus,.field textarea[data-v-deac9971]:focus{border-color:#10b981}.field textarea[data-v-deac9971]{resize:vertical;font-family:inherit;line-height:1.6}.addr-row[data-v-deac9971]{display:flex;gap:8px}.addr-row input[data-v-deac9971]{flex:1}.locate-btn[data-v-deac9971]{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-deac9971]:hover{border-color:#10b981;color:#10b981}.coord-hint[data-v-deac9971]{font-size:12px;color:#10b981;margin:4px 0 0}.ai-btn[data-v-deac9971]{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-deac9971]:disabled{opacity:.6;cursor:not-allowed}.html-editor[data-v-deac9971]{border:1.5px solid #E5E7EB;border-radius:8px;overflow:hidden}.html-editor[data-v-deac9971]:focus-within{border-color:#10b981}.editor-toolbar[data-v-deac9971]{display:flex;flex-wrap:wrap;gap:2px;padding:6px 8px;background:#f9fafb;border-bottom:1px solid #E5E7EB}.tb-btn[data-v-deac9971]{padding:3px 8px;font-size:13px;border:1px solid #D1D5DB;border-radius:4px;background:#fff;cursor:pointer;color:#374151;line-height:1.4}.tb-btn[data-v-deac9971]:hover{background:#e5e7eb}.tb-btn[data-v-deac9971]:active{background:#d1d5db}.tb-sep[data-v-deac9971]{width:1px;background:#d1d5db;margin:0 4px;align-self:stretch}.editor-content[data-v-deac9971]{min-height:180px;padding:12px 14px;font-size:14px;color:#111827;font-family:inherit;line-height:1.7;outline:none}.editor-content[data-v-deac9971]:empty:before{content:attr(data-placeholder);color:#9ca3af;pointer-events:none}[data-v-deac9971] .editor-content h2{font-size:1.25em;font-weight:700;margin:.8em 0 .4em}[data-v-deac9971] .editor-content h3{font-size:1.1em;font-weight:600;margin:.6em 0 .3em}[data-v-deac9971] .editor-content ul{list-style:disc;padding-left:1.5em;margin:.4em 0}[data-v-deac9971] .editor-content ol{list-style:decimal;padding-left:1.5em;margin:.4em 0}.rating-row[data-v-deac9971]{display:flex;align-items:center;gap:6px;margin-bottom:12px}.rating-star[data-v-deac9971]{color:#f59e0b;font-size:20px}.rating-score[data-v-deac9971]{font-size:22px;font-weight:700;color:#111827}.rating-total[data-v-deac9971]{font-size:13px;color:#6b7280}.review-list[data-v-deac9971]{display:flex;flex-direction:column;gap:10px}.review-item[data-v-deac9971]{background:#f9fafb;border-radius:8px;padding:10px 12px}.review-header[data-v-deac9971]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.review-author[data-v-deac9971]{font-size:13px;font-weight:600;color:#111827}.review-rating[data-v-deac9971]{color:#f59e0b;font-size:12px;letter-spacing:1px}.review-text[data-v-deac9971]{font-size:13px;color:#4b5563;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.empty-reviews[data-v-deac9971]{font-size:13px;color:#9ca3af;text-align:center;padding:12px 0;margin:0}.new-hint[data-v-deac9971]{font-size:13px;color:#6b7280;margin:12px 0 0}.filter-section[data-v-deac9971]{border-top:1px solid #F3F4F6;padding:14px 0}.filter-header[data-v-deac9971]{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.filter-label[data-v-deac9971]{display:flex;align-items:center;gap:8px}.label-bar[data-v-deac9971]{width:3px;height:16px;background:#3b82f6;border-radius:2px}.label-text[data-v-deac9971]{font-size:14px;font-weight:600;color:#111827}.label-type[data-v-deac9971]{font-size:12px;color:#9ca3af}.chevron[data-v-deac9971]{transition:transform .2s;transform:rotate(180deg)}.chevron.open[data-v-deac9971]{transform:rotate(0)}.filter-tags[data-v-deac9971]{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag-btn[data-v-deac9971]{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-deac9971]:hover{border-color:#10b981;color:#10b981}.tag-btn.active[data-v-deac9971]{border-color:#f59e0b;color:#b45309;background:#fffbeb}.field select[data-v-deac9971]{width:100%}.rank-box[data-v-deac9971]{background:#fffbeb;border:1px solid #FDE68A;border-radius:10px;padding:14px;margin:12px 0}.rank-title[data-v-deac9971]{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#92400e;margin-bottom:6px}.rank-desc[data-v-deac9971]{font-size:12px;color:#a16207;margin:0 0 10px;line-height:1.5}.rank-radio[data-v-deac9971]{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-deac9971]:hover{background:#0000000a}.rank-radio input[data-v-deac9971]{accent-color:#10B981}.rank-custom[data-v-deac9971]{display:flex;flex-direction:column;gap:6px;margin:8px 0 4px}.rank-hash[data-v-deac9971]{font-size:14px;font-weight:700;color:#f59e0b}.rank-custom-label[data-v-deac9971]{font-size:12px;font-weight:600;color:#92400e}.rank-input[data-v-deac9971]{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-deac9971]:focus{border-color:#f59e0b}.rank-hint[data-v-deac9971]{font-size:11px;color:#a16207;margin:6px 0 0;line-height:1.5}.status-select[data-v-deac9971]{width:100%;padding:9px 12px;border:1.5px solid #E5E7EB;border-radius:8px;font-size:14px;background:#fff;outline:none;box-sizing:border-box;cursor:pointer}.status-select[data-v-deac9971]:focus{border-color:#10b981}.photo-locked-hint[data-v-deac9971]{text-align:center;padding:20px 12px;background:#f9fafb;border-radius:10px;border:2px dashed #E5E7EB}.photo-locked-icon[data-v-deac9971]{font-size:32px;margin-bottom:8px}.photo-locked-title[data-v-deac9971]{font-size:14px;font-weight:600;color:#374151;margin:0 0 6px}.photo-locked-desc[data-v-deac9971]{font-size:12px;color:#6b7280;line-height:1.6;margin:0}.stat-row[data-v-deac9971]{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-deac9971]{color:#111827}.photo-count[data-v-deac9971]{font-size:12px;color:#6b7280;background:#f3f4f6;border-radius:999px;padding:2px 10px}.upload-area[data-v-deac9971]{border:2px dashed #E5E7EB;border-radius:10px;padding:24px;text-align:center;cursor:pointer;transition:all .2s}.upload-area[data-v-deac9971]:hover,.upload-area.dragging[data-v-deac9971]{border-color:#10b981;background:#f0fdf4}.upload-area p[data-v-deac9971]{margin:8px 0 4px;font-size:13px;color:#6b7280}.upload-hint[data-v-deac9971]{font-size:11px;color:#9ca3af}.upload-progress[data-v-deac9971]{margin:10px 0 4px;background:#e5e7eb;border-radius:999px;height:6px;overflow:hidden;position:relative}.upload-progress .progress-bar[data-v-deac9971]{height:100%;background:#10b981;border-radius:999px;transition:width .3s}.upload-progress span[data-v-deac9971]{display:block;text-align:center;font-size:11px;color:#6b7280;margin-top:4px}.photo-grid[data-v-deac9971]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.photo-item[data-v-deac9971]{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:4/3;background:#f3f4f6}.photo-item img[data-v-deac9971]{width:100%;height:100%;object-fit:cover;display:block}.photo-item.preview[data-v-deac9971]{opacity:.6}.preview-overlay[data-v-deac9971]{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-deac9971]{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-deac9971]:hover:not(:disabled){background:#ef4444}.photo-del[data-v-deac9971]:disabled{opacity:.5;cursor:not-allowed}.spin[data-v-deac9971]{animation:spin-deac9971 1s linear infinite}@keyframes spin-deac9971{to{transform:rotate(360deg)}}.toast[data-v-deac9971]{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}.dtp[data-v-050b9f1e]{position:relative;width:100%}.dtp-disabled[data-v-050b9f1e]{opacity:.6;pointer-events:none}.dtp-disabled .dtp-display[data-v-050b9f1e]{background:#f9fafb!important;cursor:not-allowed}.dtp-display[data-v-050b9f1e]{display:flex;align-items:center;gap:0;border:1.5px solid #E5E7EB;border-radius:8px;background:#fff;height:40px;overflow:hidden;transition:border-color .2s;cursor:pointer}.dtp-display.focused[data-v-050b9f1e],.dtp-display[data-v-050b9f1e]:focus-within{border-color:#10b981}.dtp-date-part[data-v-050b9f1e]{position:relative;display:flex;align-items:center;gap:7px;padding:0 12px;flex:1;min-width:0;height:100%;color:#6b7280}.dtp-date-part[data-v-050b9f1e]:hover{background:#f9fafb}.dtp-val[data-v-050b9f1e]{font-size:13px;color:#111827;white-space:nowrap}.dtp-ph[data-v-050b9f1e]{font-size:13px;color:#9ca3af;white-space:nowrap}.dtp-hidden-input[data-v-050b9f1e]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;border:none;outline:none}.dtp-sep-line[data-v-050b9f1e]{width:1px;height:22px;background:#e5e7eb;flex-shrink:0}.dtp-time-part[data-v-050b9f1e]{display:flex;align-items:center;gap:6px;padding:0 10px;height:100%;background:none;border:none;font-size:13px;font-weight:600;color:#10b981;cursor:pointer;white-space:nowrap;flex-shrink:0}.dtp-time-part[data-v-050b9f1e]:hover{background:#f0fdf4}.dtp-clear-btn[data-v-050b9f1e]{display:flex;align-items:center;justify-content:center;width:32px;height:100%;background:none;border:none;color:#9ca3af;cursor:pointer;flex-shrink:0}.dtp-clear-btn[data-v-050b9f1e]:hover{color:#ef4444;background:#fef2f2}.dtp-popup[data-v-050b9f1e]{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1.5px solid #E5E7EB;border-radius:12px;box-shadow:0 8px 30px #0000001f;z-index:1000;padding:14px;width:160px}.dtp-popup-title[data-v-050b9f1e]{font-size:12px;font-weight:600;color:#6b7280;text-align:center;margin-bottom:10px;letter-spacing:.5px}.dtp-cols[data-v-050b9f1e]{display:flex;align-items:flex-start;gap:4px}.dtp-col[data-v-050b9f1e]{flex:1;max-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;scrollbar-width:thin;scrollbar-color:#D1D5DB transparent}.dtp-col[data-v-050b9f1e]::-webkit-scrollbar{width:4px}.dtp-col[data-v-050b9f1e]::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.dtp-col-min[data-v-050b9f1e]{overflow-y:visible;max-height:none}.dtp-colon[data-v-050b9f1e]{font-weight:700;color:#374151;font-size:15px;padding:6px 2px 0;flex-shrink:0}.dtp-cell[data-v-050b9f1e]{text-align:center;padding:6px 0;border-radius:6px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:background .1s,color .1s;flex-shrink:0}.dtp-cell[data-v-050b9f1e]:hover{background:#f0fdf4;color:#059669}.dtp-cell.active[data-v-050b9f1e]{background:#10b981;color:#fff;font-weight:700}.dtp-done-btn[data-v-050b9f1e]{width:100%;margin-top:12px;padding:8px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.dtp-done-btn[data-v-050b9f1e]:hover{background:#059669}.edit-page[data-v-ca6cdf6d]{min-height:100vh;background:#f9fafb}.lock-banner[data-v-ca6cdf6d]{display:flex;align-items:flex-start;gap:12px;background:#fef3c7;border:1.5px solid #F59E0B;border-radius:10px;padding:14px 20px;margin:0 24px 20px;color:#92400e;font-size:13px;line-height:1.6}.lock-banner svg[data-v-ca6cdf6d]{flex-shrink:0;margin-top:2px;color:#d97706}.lock-banner strong[data-v-ca6cdf6d]{display:block;font-size:14px;margin-bottom:2px}.form-locked input[data-v-ca6cdf6d],.form-locked select[data-v-ca6cdf6d],.form-locked textarea[data-v-ca6cdf6d],.form-locked .t-inp[data-v-ca6cdf6d]{background:#f9fafb!important;color:#9ca3af!important;cursor:not-allowed}.editor-locked[data-v-ca6cdf6d]{background:#f9fafb!important;color:#6b7280!important;cursor:not-allowed}.toolbar-locked[data-v-ca6cdf6d]{opacity:.35;pointer-events:none}.save-btn[data-v-ca6cdf6d]:disabled,.save-btn-full[data-v-ca6cdf6d]:disabled{background:#d1d5db!important;cursor:not-allowed}.top-bar[data-v-ca6cdf6d]{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-ca6cdf6d]{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-ca6cdf6d]:hover{color:#10b981}.save-btn[data-v-ca6cdf6d]{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-ca6cdf6d]:hover:not(:disabled){background:#059669}.save-btn[data-v-ca6cdf6d]:disabled{opacity:.6;cursor:not-allowed}.save-btn-full[data-v-ca6cdf6d]{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-ca6cdf6d]:hover:not(:disabled){background:#059669}.save-btn-full[data-v-ca6cdf6d]:disabled{opacity:.6;cursor:not-allowed}.page-loading[data-v-ca6cdf6d]{text-align:center;padding:80px;color:#9ca3af}.content-layout[data-v-ca6cdf6d]{display:grid;grid-template-columns:1fr 300px;gap:20px;padding:20px 24px}.main-col[data-v-ca6cdf6d],.side-col[data-v-ca6cdf6d]{display:flex;flex-direction:column;gap:16px}.card[data-v-ca6cdf6d]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000f}.card-title[data-v-ca6cdf6d]{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:#111827;margin:0 0 16px}.card-title-row[data-v-ca6cdf6d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-title-row .card-title[data-v-ca6cdf6d]{margin:0}.form-row[data-v-ca6cdf6d]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}.form-row.three[data-v-ca6cdf6d]{grid-template-columns:1fr 1fr 1fr}.field[data-v-ca6cdf6d]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field.full[data-v-ca6cdf6d]{margin-bottom:14px}.field.sm input[data-v-ca6cdf6d]{max-width:100%}.field[data-v-ca6cdf6d]:last-child{margin-bottom:0}.field label[data-v-ca6cdf6d]{font-size:13px;font-weight:500;color:#374151}.field input[data-v-ca6cdf6d],.field select[data-v-ca6cdf6d],.field textarea[data-v-ca6cdf6d]{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-ca6cdf6d]:focus,.field select[data-v-ca6cdf6d]:focus,.field textarea[data-v-ca6cdf6d]:focus{border-color:#10b981}.field input[data-v-ca6cdf6d]:disabled{background:#f9fafb;color:#9ca3af}.field textarea[data-v-ca6cdf6d]{font-family:inherit;line-height:1.6;resize:vertical}.field-hint[data-v-ca6cdf6d]{font-size:12px;color:#9ca3af;margin:6px 0 0}.opt-tag[data-v-ca6cdf6d]{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-ca6cdf6d]{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-ca6cdf6d]:focus-within{border-color:#10b981}.place-search-wrap input[data-v-ca6cdf6d]{flex:1;border:none;outline:none;font-size:14px;color:#111827;background:transparent}.place-search-wrap input[data-v-ca6cdf6d]::placeholder{color:#9ca3af}.place-dropdown[data-v-ca6cdf6d]{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-ca6cdf6d]{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .1s}.place-option[data-v-ca6cdf6d]:hover{background:#f0fdf4}.place-opt-thumb[data-v-ca6cdf6d]{width:36px;height:36px;border-radius:6px;object-fit:cover;flex-shrink:0}.place-opt-no-img[data-v-ca6cdf6d]{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-ca6cdf6d]{font-size:14px;font-weight:600;color:#111827}.place-opt-city[data-v-ca6cdf6d]{font-size:12px;color:#9ca3af;margin-top:2px}.place-selected[data-v-ca6cdf6d]{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-ca6cdf6d]{display:flex;align-items:center;gap:10px}.place-thumb[data-v-ca6cdf6d]{width:36px;height:36px;border-radius:6px;object-fit:cover;flex-shrink:0}.place-selected-text[data-v-ca6cdf6d]{display:flex;flex-direction:column}.place-selected-name[data-v-ca6cdf6d]{font-size:14px;font-weight:600;color:#065f46}.place-selected-city[data-v-ca6cdf6d]{font-size:12px;color:#10b981;margin-top:2px}.place-clear-btn[data-v-ca6cdf6d]{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-ca6cdf6d]:hover{background:#fee2e2;border-color:#fca5a5;color:#ef4444}.add-ticket-btn[data-v-ca6cdf6d]{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-ca6cdf6d]:hover:not(:disabled){background:#f0fdf4}.add-ticket-btn[data-v-ca6cdf6d]:disabled{opacity:.4;cursor:not-allowed}.ticket-empty[data-v-ca6cdf6d]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px;color:#9ca3af;font-size:13px}.del-ticket-btn[data-v-ca6cdf6d]{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-ca6cdf6d]:hover{background:#fee2e2;color:#ef4444}.ticket-table[data-v-ca6cdf6d]{display:flex;flex-direction:column}.ticket-header[data-v-ca6cdf6d]{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-ca6cdf6d]{font-size:12px;font-weight:600;color:#6b7280}.ticket-row-new[data-v-ca6cdf6d]{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-ca6cdf6d]:last-child{border-radius:0 0 8px 8px}.ticket-row-new[data-v-ca6cdf6d]:hover{background:#fafafa}.t-inp[data-v-ca6cdf6d]{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-ca6cdf6d]:focus{border-color:#10b981}.t-inp[type=number][data-v-ca6cdf6d]{text-align:right}.rich-editor[data-v-ca6cdf6d]{border:1.5px solid #E5E7EB;border-radius:8px;overflow:hidden}.rich-editor[data-v-ca6cdf6d]:focus-within{border-color:#10b981}.re-toolbar[data-v-ca6cdf6d]{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-ca6cdf6d]{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-ca6cdf6d]:hover{background:#e5e7eb}.re-sep[data-v-ca6cdf6d]{width:1px;background:#d1d5db;height:18px;margin:0 4px;flex-shrink:0}.re-content[data-v-ca6cdf6d]{min-height:220px;padding:14px 16px;font-size:14px;line-height:1.75;color:#111827;outline:none}.re-content[data-v-ca6cdf6d] h2{font-size:18px;font-weight:700;margin:14px 0 6px}.re-content[data-v-ca6cdf6d] h3{font-size:16px;font-weight:700;margin:12px 0 4px}.re-content[data-v-ca6cdf6d] ul{list-style:disc;padding-left:22px;margin:6px 0}.re-content[data-v-ca6cdf6d] ol{list-style:decimal;padding-left:22px;margin:6px 0}.re-content[data-v-ca6cdf6d] hr{border:none;border-top:1px solid #E5E7EB;margin:12px 0}.re-content[data-v-ca6cdf6d]:empty:before{content:"在此輸入活動介紹、行程表、注意事項...";color:#9ca3af;pointer-events:none;display:block}.cover-upload[data-v-ca6cdf6d]{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-ca6cdf6d]:hover,.cover-upload.dragging[data-v-ca6cdf6d]{border-color:#10b981;background:#f0fdf4}.cover-upload.has-cover[data-v-ca6cdf6d]{border:none}.cover-preview[data-v-ca6cdf6d]{width:100%;height:100%;object-fit:cover}.cover-placeholder[data-v-ca6cdf6d]{display:flex;flex-direction:column;align-items:center;gap:8px;color:#9ca3af;font-size:13px}.cover-overlay[data-v-ca6cdf6d]{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-ca6cdf6d]{opacity:1}.toast[data-v-ca6cdf6d]{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-3a448edc]{padding:24px;min-height:100vh;background:#f9fafb}.page-header[data-v-3a448edc]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.page-title[data-v-3a448edc]{font-size:22px;font-weight:700;color:#111827;margin:0 0 4px}.page-sub[data-v-3a448edc]{font-size:13px;color:#6b7280;margin:0}.new-btn[data-v-3a448edc]{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-3a448edc]:hover{background:#059669}.toolbar[data-v-3a448edc]{margin-bottom:16px}.search-group[data-v-3a448edc]{display:flex;align-items:center;gap:10px}.search-wrap[data-v-3a448edc]{display:flex;align-items:center;gap:10px;background:#1f2937;border:1.5px solid #374151;border-radius:8px;padding:9px 14px;width:340px}.search-wrap input[data-v-3a448edc]{flex:1;border:none;outline:none;font-size:14px;color:#f9fafb;background:transparent;min-width:0}.search-wrap input[data-v-3a448edc]::placeholder{color:#6b7280}.clear-btn[data-v-3a448edc]{background:none;border:none;cursor:pointer;color:#6b7280;display:flex;align-items:center;padding:0 2px;flex-shrink:0}.clear-btn[data-v-3a448edc]:hover{color:#f9fafb}.search-btn[data-v-3a448edc]{display:flex;align-items:center;gap:6px;background:#10b981;color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.search-btn[data-v-3a448edc]:hover{background:#059669}.table-wrap[data-v-3a448edc]{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden;margin-bottom:20px}table[data-v-3a448edc]{width:100%;border-collapse:collapse}thead th[data-v-3a448edc]{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-3a448edc]{border-bottom:1px solid #F9FAFB;transition:background .12s}tbody tr[data-v-3a448edc]:last-child{border-bottom:none}tbody tr[data-v-3a448edc]:hover{background:#f9fafb}tbody td[data-v-3a448edc]{padding:14px 16px;vertical-align:middle;font-size:14px;color:#374151}.teacher-cell[data-v-3a448edc]{display:flex;align-items:center;gap:12px}.avatar-wrap[data-v-3a448edc]{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-3a448edc]{width:100%;height:100%;object-fit:cover}.avatar-init[data-v-3a448edc]{font-size:16px;font-weight:700;color:#065f46}.teacher-name[data-v-3a448edc]{font-weight:600;color:#111827}.title-cell[data-v-3a448edc]{color:#6b7280;font-size:13px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.count-badge[data-v-3a448edc]{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-3a448edc]:hover{background:#a7f3d0}.status-select[data-v-3a448edc]{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-3a448edc]{border-color:#a7f3d0;color:#065f46;background:#f0fdf4}.sel-disabled[data-v-3a448edc]{border-color:#fecaca;color:#991b1b;background:#fff5f5}.action-cell[data-v-3a448edc]{display:flex;align-items:center;gap:4px}.icon-btn[data-v-3a448edc]{background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;color:#9ca3af;display:flex}.icon-btn[data-v-3a448edc]:hover{background:#f3f4f6;color:#374151}.icon-btn.danger[data-v-3a448edc]:hover{background:#fee2e2;color:#ef4444}.empty-hint[data-v-3a448edc]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;color:#9ca3af;font-size:14px}.pagination[data-v-3a448edc]{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-3a448edc]{padding:6px 12px;border:1.5px solid #E5E7EB;border-radius:6px;background:#fff;cursor:pointer;font-size:16px}.pagination button[data-v-3a448edc]:disabled{opacity:.4;cursor:not-allowed}.form-card[data-v-3a448edc]{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:24px;border-top:3px solid #10B981}.form-title[data-v-3a448edc]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:#111827;margin:0 0 20px}.form-row[data-v-3a448edc]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}.field[data-v-3a448edc]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label[data-v-3a448edc]{font-size:13px;font-weight:500;color:#374151}.field .req[data-v-3a448edc]{color:#ef4444}.field input[data-v-3a448edc],.field textarea[data-v-3a448edc]{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-3a448edc]:focus,.field textarea[data-v-3a448edc]:focus{border-color:#10b981}.field textarea[data-v-3a448edc]{font-family:inherit;line-height:1.6;resize:vertical}.avatar-upload-row[data-v-3a448edc]{display:flex;align-items:flex-start;gap:20px}.avatar-preview[data-v-3a448edc]{width:80px;height:80px;border-radius:50%;flex-shrink:0;background:#d1fae5;overflow:hidden;display:flex;align-items:center;justify-content:center;border:2px solid #E5E7EB}.avatar-preview img[data-v-3a448edc]{width:100%;height:100%;object-fit:cover}.avatar-placeholder[data-v-3a448edc]{font-size:28px;font-weight:700;color:#065f46}.upload-side[data-v-3a448edc]{display:flex;flex-direction:column;gap:6px;justify-content:center}.upload-btn[data-v-3a448edc]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1.5px solid #10B981;border-radius:8px;background:#fff;color:#10b981;font-size:13px;font-weight:600;cursor:pointer}.upload-btn[data-v-3a448edc]:hover:not(:disabled){background:#f0fdf4}.upload-btn[data-v-3a448edc]:disabled{opacity:.5;cursor:not-allowed}.upload-hint[data-v-3a448edc]{font-size:12px;color:#9ca3af;margin:0}.upload-error[data-v-3a448edc]{font-size:12px;color:#ef4444;margin:0}.form-actions[data-v-3a448edc]{display:flex;align-items:center;gap:12px;margin-top:8px}.save-btn[data-v-3a448edc]{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-3a448edc]:hover:not(:disabled){background:#059669}.save-btn[data-v-3a448edc]:disabled{opacity:.6;cursor:not-allowed}.cancel-btn[data-v-3a448edc]{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-3a448edc]:hover{background:#f9fafb}.toast[data-v-3a448edc]{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-c98d9ef8]{padding:24px;min-height:100vh;background:#f9fafb}.page-header[data-v-c98d9ef8]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.page-title[data-v-c98d9ef8]{font-size:22px;font-weight:700;color:#111827;margin:0 0 4px}.page-sub[data-v-c98d9ef8]{font-size:13px;color:#6b7280;margin:0}.header-right[data-v-c98d9ef8]{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid #E5E7EB;border-radius:10px;padding:10px 16px;white-space:nowrap}.rev-label[data-v-c98d9ef8]{font-size:13px;color:#6b7280}.rev-value[data-v-c98d9ef8]{font-size:16px;font-weight:700;color:#111827}.toolbar[data-v-c98d9ef8]{display:flex;align-items:center;gap:12px;margin-bottom:16px}.search-wrap[data-v-c98d9ef8]{flex:1;max-width:480px;display:flex;align-items:center;gap:10px;background:#1f2937;border:1.5px solid #374151;border-radius:8px;padding:9px 14px}.search-wrap input[data-v-c98d9ef8]{flex:1;border:none;outline:none;font-size:14px;color:#f9fafb;background:transparent}.search-wrap input[data-v-c98d9ef8]::placeholder{color:#6b7280}.clear-btn[data-v-c98d9ef8]{background:none;border:none;color:#6b7280;cursor:pointer;font-size:14px;padding:0 2px;line-height:1}.clear-btn[data-v-c98d9ef8]:hover{color:#f87171}.toolbar-right[data-v-c98d9ef8]{display:flex;gap:8px}.filter-select[data-v-c98d9ef8]{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-c98d9ef8]{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:visible}table[data-v-c98d9ef8]{width:100%;border-collapse:collapse}thead th[data-v-c98d9ef8]{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}thead tr:first-child th[data-v-c98d9ef8]:first-child{border-radius:12px 0 0}thead tr:first-child th[data-v-c98d9ef8]:last-child{border-radius:0 12px 0 0}tbody tr[data-v-c98d9ef8]{border-bottom:1px solid #F9FAFB;transition:background .12s}tbody tr[data-v-c98d9ef8]:last-child{border-bottom:none}tbody tr.row-link[data-v-c98d9ef8]{cursor:pointer}tbody tr.row-link[data-v-c98d9ef8]:hover{background:#f0fdf4}tbody td[data-v-c98d9ef8]{padding:14px 16px;vertical-align:middle;font-size:14px;color:#374151}.order-no[data-v-c98d9ef8]{font-weight:600;color:#3b82f6;font-family:monospace;font-size:13px}.act-name[data-v-c98d9ef8]{font-weight:600;color:#111827;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.act-date[data-v-c98d9ef8]{font-size:12px;color:#9ca3af;margin-top:3px}.status-wrap[data-v-c98d9ef8]{display:flex;align-items:center;gap:6px}.status-badge[data-v-c98d9ef8]{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;white-space:nowrap}.st-pending[data-v-c98d9ef8]{background:#fef3c7;color:#92400e}.st-paid[data-v-c98d9ef8]{background:#d1fae5;color:#065f46}.st-cancelled[data-v-c98d9ef8]{background:#fee2e2;color:#991b1b}.st-refunded[data-v-c98d9ef8]{background:#f3f4f6;color:#6b7280}.checked-in-badge[data-v-c98d9ef8]{display:inline-flex;align-items:center;gap:4px;background:#dbeafe;color:#1e40af;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600;white-space:nowrap}.unchecked-badge[data-v-c98d9ef8]{display:inline;background:#f3f4f6;color:#9ca3af;border-radius:999px;padding:3px 9px;font-size:12px}.icon-btn[data-v-c98d9ef8]{background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;color:#9ca3af;display:flex}.icon-btn[data-v-c98d9ef8]:hover{background:#f3f4f6;color:#374151}.empty-hint[data-v-c98d9ef8]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;color:#9ca3af;font-size:14px}.pagination[data-v-c98d9ef8]{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-c98d9ef8]{padding:6px 12px;border:1.5px solid #E5E7EB;border-radius:6px;background:#fff;cursor:pointer;font-size:16px}.pagination button[data-v-c98d9ef8]:disabled{opacity:.4;cursor:not-allowed}.modal-mask[data-v-c98d9ef8]{position:fixed;inset:0;background:#00000080;z-index:9000;display:flex;align-items:center;justify-content:center;padding:20px}.modal-box[data-v-c98d9ef8]{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d}.modal-header[data-v-c98d9ef8]{background:#111827;padding:22px 24px;display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0}.modal-label[data-v-c98d9ef8]{font-size:12px;color:#9ca3af;letter-spacing:.5px;margin-bottom:4px}.modal-order-no[data-v-c98d9ef8]{font-size:22px;font-weight:700;color:#fff;font-family:monospace}.modal-close[data-v-c98d9ef8]{background:#ffffff1a;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#9ca3af;flex-shrink:0;margin-left:16px}.modal-close[data-v-c98d9ef8]:hover{background:#fff3;color:#fff}.modal-body[data-v-c98d9ef8]{flex:1;overflow-y:auto;padding:22px 24px;display:flex;flex-direction:column;gap:20px}.modal-loading[data-v-c98d9ef8]{flex:1;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:14px;padding:40px}.section-title[data-v-c98d9ef8]{font-size:14px;font-weight:700;color:#111827;margin-bottom:12px}.item-list[data-v-c98d9ef8]{display:flex;flex-direction:column;gap:10px}.item-row[data-v-c98d9ef8]{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#374151}.item-name[data-v-c98d9ef8]{color:#374151}.item-price[data-v-c98d9ef8]{color:#6b7280;font-weight:500}.item-empty[data-v-c98d9ef8]{font-size:13px;color:#9ca3af}.total-row[data-v-c98d9ef8]{display:flex;align-items:center;justify-content:space-between;border-top:1.5px solid #E5E7EB;padding-top:14px;margin-top:10px}.total-label[data-v-c98d9ef8]{font-size:16px;font-weight:700;color:#10b981}.total-price[data-v-c98d9ef8]{font-size:20px;font-weight:700;color:#10b981}.qr-section[data-v-c98d9ef8]{display:flex;align-items:flex-start;gap:16px;background:#f9fafb;border:1.5px solid #E5E7EB;border-radius:12px;padding:16px}.qr-icon[data-v-c98d9ef8]{flex-shrink:0}.qr-info[data-v-c98d9ef8]{flex:1}.qr-title[data-v-c98d9ef8]{font-size:14px;font-weight:700;color:#111827}.qr-sub[data-v-c98d9ef8]{font-size:12px;color:#9ca3af;margin-top:2px;margin-bottom:10px}.qr-status-row[data-v-c98d9ef8]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.checkin-toggle-btn[data-v-c98d9ef8]{border:1.5px solid #10B981;background:none;color:#10b981;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer}.checkin-toggle-btn[data-v-c98d9ef8]:hover:not(:disabled){background:#f0fdf4}.checkin-toggle-btn[data-v-c98d9ef8]:disabled{opacity:.5;cursor:not-allowed}.contact-section[data-v-c98d9ef8]{border-top:1px solid #F3F4F6;padding-top:16px}.contact-title[data-v-c98d9ef8]{font-size:12px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.contact-row[data-v-c98d9ef8]{display:flex;align-items:center;gap:8px;font-size:13px;color:#4b5563;margin-bottom:6px}.modal-footer[data-v-c98d9ef8]{padding:16px 24px;border-top:1px solid #F3F4F6;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:#fff}.refund-btn[data-v-c98d9ef8]{display:flex;align-items:center;gap:6px;background:none;border:none;color:#ef4444;font-size:14px;font-weight:600;cursor:pointer;padding:8px 4px}.refund-btn[data-v-c98d9ef8]:hover:not(:disabled){color:#dc2626}.refund-btn[data-v-c98d9ef8]:disabled{opacity:.5;cursor:not-allowed}.close-btn[data-v-c98d9ef8]{padding:10px 24px;background:#f3f4f6;border:none;border-radius:8px;font-size:14px;font-weight:600;color:#374151;cursor:pointer}.close-btn[data-v-c98d9ef8]:hover{background:#e5e7eb}.community-page[data-v-b839a5ca]{min-height:100vh;background:#f9fafb}.page-head[data-v-b839a5ca]{padding:24px 28px 0}.page-title[data-v-b839a5ca]{margin:0 0 4px;font-size:22px;font-weight:700;color:#111827}.page-sub[data-v-b839a5ca]{margin:0;font-size:13px;color:#6b7280}.tab-content[data-v-b839a5ca]{padding:20px 28px 32px}.search-row[data-v-b839a5ca]{display:flex;gap:10px;margin-bottom:20px}.search-wrap[data-v-b839a5ca]{position:relative;flex:1;max-width:420px}.search-icon[data-v-b839a5ca]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.search-input[data-v-b839a5ca]{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-b839a5ca]:focus{border-color:#10b981}.search-btn[data-v-b839a5ca]{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-b839a5ca]:hover{background:#059669}.loading-state[data-v-b839a5ca]{text-align:center;color:#9ca3af;padding:60px;font-size:14px}.empty-state[data-v-b839a5ca]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:70px;color:#9ca3af;font-size:14px}.posts-grid[data-v-b839a5ca]{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.post-card[data-v-b839a5ca]{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-b839a5ca]:hover{box-shadow:0 4px 18px #0000001a}.post-cover-wrap[data-v-b839a5ca]{position:relative;height:200px;background:#f3f4f6;flex-shrink:0}.post-cover[data-v-b839a5ca]{width:100%;height:100%;object-fit:cover;display:block}.post-no-cover[data-v-b839a5ca]{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.delete-fab[data-v-b839a5ca]{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-b839a5ca]{opacity:1}.delete-fab[data-v-b839a5ca]:hover{background:#dc2626}.post-body[data-v-b839a5ca]{padding:14px;display:flex;flex-direction:column;gap:8px;flex:1}.post-user[data-v-b839a5ca]{display:flex;align-items:center;gap:10px}.user-avatar[data-v-b839a5ca]{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0}.user-avatar-placeholder[data-v-b839a5ca]{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-b839a5ca]{display:flex;flex-direction:column}.user-name[data-v-b839a5ca]{font-size:13px;font-weight:600;color:#111827}.post-date[data-v-b839a5ca]{font-size:11px;color:#9ca3af}.post-text[data-v-b839a5ca]{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-b839a5ca]{display:flex;gap:14px}.stat[data-v-b839a5ca]{display:flex;align-items:center;gap:4px;font-size:12px;color:#9ca3af}.stat-clickable[data-v-b839a5ca]{cursor:pointer;border-radius:6px;padding:3px 6px;transition:background .15s,color .15s}.stat-clickable[data-v-b839a5ca]:hover{background:#d1fae5;color:#059669}.pagination[data-v-b839a5ca]{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:24px}.pagination button[data-v-b839a5ca]{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-b839a5ca]:hover:not(:disabled){border-color:#10b981;color:#10b981}.pagination button[data-v-b839a5ca]:disabled{opacity:.4;cursor:not-allowed}.page-info[data-v-b839a5ca]{font-size:13px;color:#6b7280;display:flex;align-items:center;gap:8px}.total-tag[data-v-b839a5ca]{background:#f3f4f6;border-radius:999px;padding:2px 10px;font-size:12px;color:#6b7280}.modal-backdrop[data-v-b839a5ca]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-b839a5ca]{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-wide[data-v-b839a5ca]{width:680px}.comment-list[data-v-b839a5ca]{display:flex;flex-direction:column;gap:14px}.comment-item[data-v-b839a5ca]{display:flex;gap:10px;align-items:flex-start}.c-avatar[data-v-b839a5ca]{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0}.c-avatar-ph[data-v-b839a5ca]{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}.c-body[data-v-b839a5ca]{flex:1;background:#f9fafb;border-radius:10px;padding:10px 12px}.c-meta[data-v-b839a5ca]{display:flex;align-items:center;gap:10px;margin-bottom:4px}.c-name[data-v-b839a5ca]{font-size:13px;font-weight:600;color:#111827}.c-date[data-v-b839a5ca]{font-size:11px;color:#9ca3af}.c-text[data-v-b839a5ca]{margin:0;font-size:13px;color:#374151;line-height:1.6}.modal-header[data-v-b839a5ca]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #F3F4F6}.modal-header h3[data-v-b839a5ca]{margin:0;font-size:16px;font-weight:700;color:#111827}.modal-close[data-v-b839a5ca]{background:none;border:none;font-size:18px;cursor:pointer;color:#9ca3af}.modal-body[data-v-b839a5ca]{overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.modal-footer[data-v-b839a5ca]{padding:14px 20px;border-top:1px solid #F3F4F6;display:flex;justify-content:flex-end;gap:10px}.modal-sm[data-v-b839a5ca]{width:440px}.confirm-msg[data-v-b839a5ca]{margin:0;font-size:15px;color:#111827;font-weight:500}.confirm-sub[data-v-b839a5ca]{margin:6px 0 0;font-size:13px;color:#9ca3af}.btn-cancel[data-v-b839a5ca]{padding:9px 20px;background:#f3f4f6;color:#374151;border:none;border-radius:8px;font-size:14px;cursor:pointer}.btn-danger[data-v-b839a5ca]{padding:9px 20px;background:#ef4444;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.btn-danger[data-v-b839a5ca]:hover{background:#dc2626}.toast[data-v-b839a5ca]{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}.article-page[data-v-358ffeba]{min-height:100vh;background:#f9fafb}.page-head[data-v-358ffeba]{padding:24px 28px 16px}.page-title[data-v-358ffeba]{margin:0 0 4px;font-size:22px;font-weight:700;color:#111827}.page-sub[data-v-358ffeba]{margin:0;font-size:13px;color:#6b7280}.page-body[data-v-358ffeba]{padding:0 28px 32px}.art-toolbar[data-v-358ffeba]{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.search-wrap[data-v-358ffeba]{position:relative;flex:1;max-width:360px}.search-icon[data-v-358ffeba]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.search-input[data-v-358ffeba]{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;color:#111827}.search-input[data-v-358ffeba]:focus{border-color:#10b981}.cat-select[data-v-358ffeba]{padding:10px 12px;border:1.5px solid #E5E7EB;border-radius:9px;font-size:14px;outline:none;background:#fff;color:#111827}.search-btn[data-v-358ffeba]{padding:10px 20px;background:#10b981;color:#fff;border:none;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer}.search-btn[data-v-358ffeba]:hover{background:#059669}.create-btn[data-v-358ffeba]{padding:10px 18px;background:#10b981;color:#fff;border:none;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;margin-left:auto}.create-btn[data-v-358ffeba]:hover{background:#059669}.table-card[data-v-358ffeba]{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden}.loading-state[data-v-358ffeba]{text-align:center;color:#9ca3af;padding:60px;font-size:14px}.data-table[data-v-358ffeba]{width:100%;border-collapse:collapse}.data-table tr[data-v-358ffeba]{border-bottom:1px solid #F3F4F6}.data-table th[data-v-358ffeba],.data-table td[data-v-358ffeba]{padding:12px 14px;text-align:left;font-size:13px;vertical-align:middle}.data-table th[data-v-358ffeba]{background:#f9fafb;font-weight:600;color:#374151}.data-table td[data-v-358ffeba]{color:#4b5563}.td-id[data-v-358ffeba]{color:#9ca3af;width:50px}.empty-row[data-v-358ffeba]{text-align:center;color:#9ca3af;padding:32px!important}.title-cell[data-v-358ffeba]{font-weight:500;color:#111827}.article-thumb[data-v-358ffeba]{width:64px;height:40px;object-fit:cover;border-radius:6px;display:block}.thumb-placeholder[data-v-358ffeba]{width:64px;height:40px;background:#f3f4f6;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#9ca3af}.sort-cell[data-v-358ffeba]{display:flex;align-items:center;gap:4px}.sort-input[data-v-358ffeba]{width:60px;padding:4px 8px;border:1.5px solid #E5E7EB;border-radius:6px;font-size:13px;outline:none;background:#fff;color:#111827}.sort-input[data-v-358ffeba]:focus{border-color:#10b981}.btn-sort-save[data-v-358ffeba]{background:#d1fae5;color:#065f46;border:none;border-radius:5px;padding:4px 8px;font-size:12px;font-weight:700;cursor:pointer}.btn-sort-save[data-v-358ffeba]:hover{background:#a7f3d0}.actions[data-v-358ffeba]{display:flex;gap:6px;white-space:nowrap}.btn-icon[data-v-358ffeba]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:7px;border:none;cursor:pointer;transition:background .15s}.btn-edit[data-v-358ffeba]{background:#eff6ff;color:#1d4ed8}.btn-edit[data-v-358ffeba]:hover{background:#dbeafe}.btn-delete[data-v-358ffeba]{background:#fee2e2;color:#991b1b}.btn-delete[data-v-358ffeba]:hover{background:#fecaca}.pagination[data-v-358ffeba]{display:flex;align-items:center;justify-content:center;gap:14px;padding:16px;border-top:1px solid #F3F4F6}.pagination button[data-v-358ffeba]{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-358ffeba]:hover:not(:disabled){border-color:#10b981;color:#10b981}.pagination button[data-v-358ffeba]:disabled{opacity:.4;cursor:not-allowed}.page-info[data-v-358ffeba]{font-size:13px;color:#6b7280;display:flex;align-items:center;gap:8px}.total-tag[data-v-358ffeba]{background:#f3f4f6;border-radius:999px;padding:2px 10px;font-size:12px;color:#6b7280}.modal-backdrop[data-v-358ffeba]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-358ffeba]{background:#fff;border-radius:12px;width:440px;max-width:95vw;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000040}.modal-header[data-v-358ffeba]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #F3F4F6}.modal-header h3[data-v-358ffeba]{margin:0;font-size:16px;font-weight:700;color:#111827}.modal-close[data-v-358ffeba]{background:none;border:none;font-size:18px;cursor:pointer;color:#9ca3af}.modal-body[data-v-358ffeba]{padding:20px}.confirm-msg[data-v-358ffeba]{margin:0;font-size:15px;color:#111827;font-weight:500}.confirm-sub[data-v-358ffeba]{margin:6px 0 0;font-size:13px;color:#9ca3af}.modal-footer[data-v-358ffeba]{padding:14px 20px;border-top:1px solid #F3F4F6;display:flex;justify-content:flex-end;gap:10px}.btn-cancel[data-v-358ffeba]{padding:9px 20px;background:#f3f4f6;color:#374151;border:none;border-radius:8px;font-size:14px;cursor:pointer}.btn-danger[data-v-358ffeba]{padding:9px 20px;background:#ef4444;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.btn-danger[data-v-358ffeba]:hover{background:#dc2626}.toast[data-v-358ffeba]{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}.edit-page[data-v-658663ab]{min-height:100vh;background:#f9fafb}.top-bar[data-v-658663ab]{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-658663ab]{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-658663ab]:hover{color:#10b981}.save-btn[data-v-658663ab]{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-658663ab]:hover:not(:disabled){background:#059669}.save-btn[data-v-658663ab]:disabled{opacity:.6;cursor:not-allowed}.page-body[data-v-658663ab]{padding:24px}.loading-state[data-v-658663ab]{text-align:center;padding:80px;color:#9ca3af;font-size:14px}.form-layout[data-v-658663ab]{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}@media(max-width:900px){.form-layout[data-v-658663ab]{grid-template-columns:1fr}}.card[data-v-658663ab]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000f;margin-bottom:16px}.card-title[data-v-658663ab]{margin:0 0 14px;font-size:14px;font-weight:700;color:#374151}.title-input[data-v-658663ab]{width:100%;padding:11px 14px;font-size:17px;font-weight:600;border:1.5px solid #E5E7EB;border-radius:8px;outline:none;box-sizing:border-box;background:#fff;color:#111827}.title-input[data-v-658663ab]:focus{border-color:#10b981}.rich-editor[data-v-658663ab]{border:1.5px solid #E5E7EB;border-radius:8px;overflow:hidden}.rich-editor[data-v-658663ab]:focus-within{border-color:#10b981}.re-toolbar[data-v-658663ab]{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-658663ab]{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-658663ab]:hover{background:#e5e7eb}.re-sep[data-v-658663ab]{width:1px;background:#d1d5db;height:18px;margin:0 4px;flex-shrink:0}.re-content[data-v-658663ab]{min-height:320px;padding:14px 16px;font-size:14px;line-height:1.75;color:#111827;outline:none}.re-content[data-v-658663ab] h2{font-size:18px;font-weight:700;margin:14px 0 6px}.re-content[data-v-658663ab] h3{font-size:16px;font-weight:700;margin:12px 0 4px}.re-content[data-v-658663ab] ul{list-style:disc;padding-left:22px;margin:6px 0}.re-content[data-v-658663ab] ol{list-style:decimal;padding-left:22px;margin:6px 0}.re-content[data-v-658663ab] hr{border:none;border-top:1px solid #E5E7EB;margin:12px 0}.re-content[data-v-658663ab] a{color:#10b981;text-decoration:underline}.re-content[data-v-658663ab]:empty:before{content:"在此輸入文章內容...";color:#9ca3af;pointer-events:none;display:block}.cover-upload[data-v-658663ab]{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-658663ab]:hover,.cover-upload.dragging[data-v-658663ab]{border-color:#10b981;background:#f0fdf4}.cover-upload.has-cover[data-v-658663ab]{border:none}.cover-preview[data-v-658663ab]{width:100%;height:100%;object-fit:cover}.cover-placeholder[data-v-658663ab]{display:flex;flex-direction:column;align-items:center;gap:8px;color:#9ca3af;font-size:13px}.cover-overlay[data-v-658663ab]{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-658663ab]{opacity:1}.field[data-v-658663ab]{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field[data-v-658663ab]:last-child{margin-bottom:0}.field label[data-v-658663ab]{font-size:12px;font-weight:600;color:#6b7280}.field-select[data-v-658663ab],.field-input[data-v-658663ab]{padding:9px 12px;border:1.5px solid #E5E7EB;border-radius:8px;font-size:14px;outline:none;width:100%;box-sizing:border-box;background:#fff;color:#111827}.field-select[data-v-658663ab]:focus,.field-input[data-v-658663ab]:focus{border-color:#10b981}.field-hint[data-v-658663ab]{margin:6px 0 0;font-size:12px;color:#9ca3af}@keyframes spin-658663ab{to{transform:rotate(360deg)}}.upload-progress[data-v-658663ab]{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13px;color:#10b981;font-weight:500}.spinner[data-v-658663ab]{width:16px;height:16px;border:2px solid #D1FAE5;border-top-color:#10b981;border-radius:50%;animation:spin-658663ab .7s linear infinite;flex-shrink:0}.danger-card[data-v-658663ab]{border:1px solid #FEE2E2}.delete-btn[data-v-658663ab]{width:100%;padding:10px;background:#fef2f2;color:#ef4444;border:1.5px solid #FECACA;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.delete-btn[data-v-658663ab]:hover{background:#fee2e2}.toast[data-v-658663ab]{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-4dc183b8]{padding-bottom:2rem}.page-header[data-v-4dc183b8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-title[data-v-4dc183b8]{font-size:22px;font-weight:700;color:#111827;margin:0}.btn-primary[data-v-4dc183b8]{padding:9px 20px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.table-card[data-v-4dc183b8]{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden}.table-loading[data-v-4dc183b8]{padding:40px;text-align:center;color:#9ca3af}.data-table[data-v-4dc183b8]{width:100%;border-collapse:collapse}.data-table th[data-v-4dc183b8],.data-table td[data-v-4dc183b8]{padding:14px 16px;text-align:left;font-size:14px;border-bottom:1px solid #F3F4F6}.data-table th[data-v-4dc183b8]{background:#f9fafb;font-weight:600;color:#374151}.data-table td[data-v-4dc183b8]{color:#4b5563}.empty-row[data-v-4dc183b8]{text-align:center;color:#9ca3af;padding:32px!important}.name-cell[data-v-4dc183b8]{font-weight:600;font-size:15px}.article-count[data-v-4dc183b8]{background:#eff6ff;color:#1d4ed8;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.actions[data-v-4dc183b8]{display:flex;gap:8px}.btn-sm[data-v-4dc183b8]{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600;border:none;cursor:pointer}.btn-sm[data-v-4dc183b8]:disabled{opacity:.4;cursor:not-allowed}.btn-edit[data-v-4dc183b8]{background:#eff6ff;color:#1d4ed8}.btn-delete[data-v-4dc183b8]{background:#fee2e2;color:#991b1b}.modal-backdrop[data-v-4dc183b8]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-4dc183b8]{background:#fff;border-radius:12px;width:440px;max-width:95vw;box-shadow:0 20px 60px #00000040}.modal-header[data-v-4dc183b8]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #F3F4F6}.modal-header h3[data-v-4dc183b8]{margin:0;font-size:16px;font-weight:700;color:#111827}.modal-close[data-v-4dc183b8]{background:none;border:none;font-size:18px;cursor:pointer;color:#9ca3af}.modal-body[data-v-4dc183b8]{padding:20px;display:flex;flex-direction:column;gap:14px}.modal-footer[data-v-4dc183b8]{padding:14px 20px;border-top:1px solid #F3F4F6;display:flex;justify-content:flex-end;gap:10px}.field[data-v-4dc183b8]{display:flex;flex-direction:column;gap:5px}.field label[data-v-4dc183b8]{font-size:13px;font-weight:600;color:#374151}.field-input[data-v-4dc183b8]{padding:9px 12px;border:1.5px solid #E5E7EB;border-radius:8px;font-size:14px;outline:none}.field-input[data-v-4dc183b8]:focus{border-color:#10b981}.error-msg[data-v-4dc183b8]{color:#ef4444;font-size:13px;background:#fef2f2;padding:10px 12px;border-radius:6px;margin:0}.btn-cancel[data-v-4dc183b8]{padding:9px 20px;background:#f3f4f6;color:#374151;border:none;border-radius:8px;font-size:14px;cursor:pointer}.user-page[data-v-ae554877]{min-height:100vh;background:#f9fafb;padding-bottom:40px}.page-head[data-v-ae554877]{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-ae554877]{margin:0 0 4px;font-size:23px;font-weight:700;color:#111827}.page-sub[data-v-ae554877]{margin:0;font-size:13px;color:#6b7280}.stats-box[data-v-ae554877]{text-align:right}.stats-label[data-v-ae554877]{font-size:13px;color:#6b7280}.stats-num[data-v-ae554877]{font-size:30px;font-weight:700;color:#111827;letter-spacing:-.5px;display:block}.search-bar-wrap[data-v-ae554877]{display:flex;align-items:center;padding:18px 32px;background:#fff;border-bottom:1px solid #F3F4F6}.search-group[data-v-ae554877]{display:flex;align-items:center;gap:8px}.search-wrap[data-v-ae554877]{position:relative;width:340px}.search-icon[data-v-ae554877]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.search-input[data-v-ae554877]{width:100%;padding:10px 14px 10px 40px;border:1.5px solid #374151;border-radius:10px;font-size:14px;outline:none;box-sizing:border-box;background:#1f2937;color:#f9fafb}.search-input[data-v-ae554877]::placeholder{color:#6b7280}.search-input[data-v-ae554877]:focus{border-color:#10b981;background:#111827}.search-btn[data-v-ae554877]{display:flex;align-items:center;gap:6px;padding:9px 18px;background:#10b981;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.search-btn[data-v-ae554877]:hover{background:#059669}.table-card[data-v-ae554877]{margin:24px 0 0;background:#fff;border-radius:0;box-shadow:0 1px 4px #0000000f;overflow:hidden}.loading-state[data-v-ae554877]{text-align:center;color:#9ca3af;padding:60px;font-size:14px}.data-table[data-v-ae554877]{width:100%;border-collapse:collapse}.data-table th[data-v-ae554877]{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-ae554877]{padding:16px;font-size:13px;color:#374151;border-bottom:1px solid #F9FAFB;vertical-align:middle}.data-table tbody tr[data-v-ae554877]:hover{background:#fafafa}.data-table tbody tr:last-child td[data-v-ae554877]{border-bottom:none}.row-deleted td[data-v-ae554877]{opacity:.4}.empty-row[data-v-ae554877]{text-align:center;color:#9ca3af;padding:48px!important}.user-cell[data-v-ae554877]{display:flex;align-items:center;gap:12px}.avatar[data-v-ae554877]{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #F3F4F6;flex-shrink:0}.avatar-init[data-v-ae554877]{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-ae554877]{font-weight:600;color:#111827;font-size:14px}.icon-cell[data-v-ae554877]{display:flex;align-items:center;gap:6px;color:#6b7280}.badge[data-v-ae554877]{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge-normal[data-v-ae554877]{background:#dcfce7;color:#166534}.badge-suspended[data-v-ae554877]{background:#fee2e2;color:#991b1b}.badge-deleted[data-v-ae554877]{background:#f3f4f6;color:#9ca3af}.action-btn[data-v-ae554877]{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-ae554877]:hover{opacity:.75}.btn-suspend[data-v-ae554877]{background:#fee2e2;color:#b91c1c}.btn-enable[data-v-ae554877]{background:#dcfce7;color:#166534}.text-muted[data-v-ae554877]{color:#d1d5db;font-size:13px}.pagination[data-v-ae554877]{display:flex;align-items:center;justify-content:center;gap:14px;padding:20px 32px}.pagination button[data-v-ae554877]{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-ae554877]:hover:not(:disabled){border-color:#10b981;color:#10b981}.pagination button[data-v-ae554877]:disabled{opacity:.4;cursor:not-allowed}.page-info[data-v-ae554877]{font-size:13px;color:#6b7280;display:flex;align-items:center;gap:8px}.total-tag[data-v-ae554877]{background:#f3f4f6;border-radius:999px;padding:2px 10px;font-size:12px;color:#6b7280}.marketing-page[data-v-8c0dd904]{min-height:100vh;background:#f9fafb;padding-bottom:40px}.page-head[data-v-8c0dd904]{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-8c0dd904]{margin:0 0 4px;font-size:22px;font-weight:700;color:#111827}.page-sub[data-v-8c0dd904]{margin:0;font-size:13px;color:#6b7280}.add-btn[data-v-8c0dd904]{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-8c0dd904]:hover{background:#059669}.list-card[data-v-8c0dd904]{margin:24px 0 0;background:#fff;border-radius:0;box-shadow:0 1px 4px #0000000f;overflow:hidden}.loading-state[data-v-8c0dd904]{text-align:center;color:#9ca3af;padding:60px;font-size:14px}.empty-state[data-v-8c0dd904]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:80px;color:#9ca3af;font-size:14px}.list-header[data-v-8c0dd904],.list-row[data-v-8c0dd904]{display:grid;grid-template-columns:60px 140px 1fr 70px 110px 120px;align-items:center;gap:0}.list-header[data-v-8c0dd904]{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-8c0dd904]{padding:16px 20px;border-bottom:1px solid #F9FAFB;transition:background .15s}.list-row[data-v-8c0dd904]:hover{background:#fafafa}.list-row[data-v-8c0dd904]:last-child{border-bottom:none}.col-handle[data-v-8c0dd904]{display:flex;flex-direction:column;align-items:center;gap:2px}.sort-btn[data-v-8c0dd904]{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-8c0dd904]:hover:not(:disabled){border-color:#10b981;color:#10b981}.sort-btn[data-v-8c0dd904]:disabled{opacity:.3;cursor:not-allowed}.preview-thumb[data-v-8c0dd904]{width:120px;height:70px;object-fit:contain;border-radius:8px;margin-right:8px;background:#f9fafb}.no-preview[data-v-8c0dd904]{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-8c0dd904]{display:flex;flex-direction:column;gap:5px;padding-right:16px}.banner-title[data-v-8c0dd904]{font-size:14px;font-weight:600;color:#111827}.banner-link[data-v-8c0dd904]{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-8c0dd904]{font-size:12px;color:#d1d5db}.sort-badge[data-v-8c0dd904]{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-8c0dd904],.status-off[data-v-8c0dd904]{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600}.status-on[data-v-8c0dd904]{background:#dcfce7;color:#166534}.status-off[data-v-8c0dd904]{background:#f3f4f6;color:#9ca3af}.col-actions[data-v-8c0dd904]{display:flex;align-items:center;gap:8px}.icon-btn[data-v-8c0dd904]{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-8c0dd904]:hover{background:#e5e7eb;color:#374151}.icon-btn-delete[data-v-8c0dd904]:hover{background:#fee2e2;color:#b91c1c}.icon-btn-edit[data-v-8c0dd904]:hover{background:#eff6ff;color:#1d4ed8}.toast[data-v-8c0dd904]{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-8c0dd904]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-8c0dd904]{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-8c0dd904]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #F3F4F6}.modal-header h3[data-v-8c0dd904]{margin:0;font-size:16px;font-weight:700;color:#111827}.modal-close[data-v-8c0dd904]{background:none;border:none;font-size:18px;cursor:pointer;color:#9ca3af}.modal-body[data-v-8c0dd904]{overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.modal-footer[data-v-8c0dd904]{padding:14px 20px;border-top:1px solid #F3F4F6;display:flex;justify-content:flex-end;gap:10px}.field[data-v-8c0dd904]{display:flex;flex-direction:column;gap:5px}.field-row[data-v-8c0dd904]{flex-direction:row;gap:16px}.field-row>div[data-v-8c0dd904]{flex:1;display:flex;flex-direction:column;gap:5px}.field label[data-v-8c0dd904]{font-size:13px;font-weight:600;color:#374151}.field-input[data-v-8c0dd904]{padding:9px 12px;border:1.5px solid #E5E7EB;border-radius:8px;font-size:14px;outline:none}.field-input[data-v-8c0dd904]:focus{border-color:#10b981}.field-input.small[data-v-8c0dd904]{width:100%;box-sizing:border-box}.upload-area[data-v-8c0dd904]{display:flex;align-items:center;gap:10px}.upload-btn[data-v-8c0dd904]{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-8c0dd904]:hover{background:#e5e7eb}.upload-btn--busy[data-v-8c0dd904]{opacity:.6;cursor:not-allowed}.upload-url[data-v-8c0dd904]{font-size:12px;color:#6b7280;word-break:break-all}.img-preview[data-v-8c0dd904]{margin-top:8px;width:100%;max-height:200px;object-fit:contain;border-radius:8px;border:1px solid #E5E7EB;background:#f9fafb}.error-msg[data-v-8c0dd904]{color:#ef4444;font-size:13px;background:#fef2f2;padding:10px 12px;border-radius:6px;margin:0}.btn-cancel[data-v-8c0dd904]{padding:9px 20px;background:#f3f4f6;color:#374151;border:none;border-radius:8px;font-size:14px;cursor:pointer}.btn-save[data-v-8c0dd904]{padding:9px 20px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.btn-save[data-v-8c0dd904]:disabled{opacity:.6;cursor:not-allowed}
