.image-upload-area[data-v-92eb2ba1]{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.image-preview[data-v-92eb2ba1]{position:relative;width:88px;height:88px;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0;background:#f8fafc;box-shadow:0 1px 4px #0f172a14;cursor:zoom-in;transition:transform .2s ease,box-shadow .2s ease}.image-preview[data-v-92eb2ba1]:hover{transform:scale(1.04);box-shadow:0 4px 12px #0f172a26}.image-preview img[data-v-92eb2ba1]{width:100%;height:100%;object-fit:cover;display:block}.remove-img[data-v-92eb2ba1]{position:absolute;top:5px;right:5px;width:22px;height:22px;border-radius:50%;background:#0f172aa6;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;line-height:1;padding:0;opacity:0;transition:all .2s ease}.image-preview:hover .remove-img[data-v-92eb2ba1]{opacity:1}.remove-img[data-v-92eb2ba1]:hover{background:#ef4444f2;transform:scale(1.1)}.upload-btn[data-v-92eb2ba1]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:88px;height:88px;border:1.5px dashed #cbd5e1;border-radius:8px;background:#f8fafc;color:#64748b;cursor:pointer;font-size:12px;-webkit-user-select:none;user-select:none;transition:all .2s ease}.upload-btn[data-v-92eb2ba1]:hover{border-color:#3b82f6;background:#eff6ff;color:#2563eb}.upload-btn[data-v-92eb2ba1]:disabled{opacity:.6;cursor:not-allowed}.upload-btn svg[data-v-92eb2ba1]{color:#94a3b8;transition:color .2s ease}.upload-btn:hover svg[data-v-92eb2ba1]{color:#3b82f6}.modal-overlay[data-v-92eb2ba1]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-92eb2ba1]{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;overflow:auto;box-shadow:0 10px 40px #0003}.modal-header[data-v-92eb2ba1]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f0f0f0}.modal-header h3[data-v-92eb2ba1]{margin:0;font-size:16px;font-weight:600;color:#111827}.close-btn[data-v-92eb2ba1]{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-btn[data-v-92eb2ba1]:hover{background:#f3f4f6;color:#111827}.modal-body[data-v-92eb2ba1]{padding:24px}.modal-footer[data-v-92eb2ba1]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f0f0f0}.form-grid[data-v-92eb2ba1]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-label[data-v-92eb2ba1]{display:flex;flex-direction:column;gap:6px}.form-label span[data-v-92eb2ba1]{font-size:13px;font-weight:500;color:#374151}.inline-switch[data-v-92eb2ba1]{display:flex;align-items:center;gap:8px;height:38px}.inline-switch input[data-v-92eb2ba1]{width:16px;height:16px;margin:0}.image-preview-overlay[data-v-92eb2ba1]{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn-92eb2ba1 .2s ease}.image-preview-container[data-v-92eb2ba1]{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.preview-close-btn[data-v-92eb2ba1]{position:absolute;top:0;right:-50px;width:40px;height:40px;border-radius:50%;background:#ffffff26;color:#fff;border:2px solid rgba(255,255,255,.5);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:32px;line-height:1;transition:all .2s ease;z-index:10;padding:0}.preview-close-btn[data-v-92eb2ba1]:hover{background:#ffffff40;border-color:#fff;transform:rotate(90deg)}.preview-image[data-v-92eb2ba1]{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px;box-shadow:0 10px 40px #00000080}@keyframes fadeIn-92eb2ba1{0%{opacity:0}to{opacity:1}}.custom-tooltip[data-v-92eb2ba1]{position:fixed;z-index:10000;max-width:400px;padding:8px 12px;background:#000000d9;color:#fff;font-size:13px;line-height:1.5;border-radius:6px;box-shadow:0 4px 12px #0000004d;pointer-events:none;word-break:break-all;white-space:pre-wrap;animation:tooltipFadeIn-92eb2ba1 .2s ease}@keyframes tooltipFadeIn-92eb2ba1{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.form-grid[data-v-92eb2ba1]{grid-template-columns:1fr}.header-actions[data-v-92eb2ba1]{flex-wrap:wrap}.search-box input[data-v-92eb2ba1]{width:150px}}.table-wrap[data-v-564d34d9]{flex:1;overflow:auto;border:1px solid #e5e7eb;border-radius:8px;margin:0;background:#fff;box-shadow:0 1px 2px #0000000a;display:flex;flex-direction:column;position:relative;z-index:1}.table-wrap table[data-v-564d34d9]{width:100%;border-collapse:separate;border-spacing:0;flex-shrink:0;border-bottom:1px solid #e5e7eb}.table-wrap[data-v-564d34d9] thead th{border-right:1px solid #e5e7eb;position:sticky;top:0;background:#f9fafb;z-index:10;padding:12px 16px}.table-wrap[data-v-564d34d9] thead th.sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none;padding:0;transition:background-color .15s ease}.table-wrap[data-v-564d34d9] thead th.sortable-column .th-content{display:flex;align-items:center;gap:6px;padding:12px 16px;height:100%;box-sizing:border-box;width:100%}.table-wrap[data-v-564d34d9] thead th.sortable-column:hover{background:#f3f4f6}.table-wrap[data-v-564d34d9] thead th.sortable-column .column-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-wrap[data-v-564d34d9] thead th.sortable-column .sort-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:#9ca3af;flex-shrink:0;transition:color .15s ease}.table-wrap[data-v-564d34d9] thead th.sortable-column:hover .sort-icon{color:#6b7280}.table-wrap[data-v-564d34d9] thead th.sortable-column .sort-icon.sort-asc,.table-wrap[data-v-564d34d9] thead th.sortable-column .sort-icon.sort-desc{color:#3b82f6}.table-wrap[data-v-564d34d9] thead th:last-child{border-right:none}.table-wrap[data-v-564d34d9] tbody td{border-right:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0}.table-wrap[data-v-564d34d9] tbody td:last-child{border-right:none}.table-wrap[data-v-564d34d9] thead th.checkbox-col{width:50px;min-width:50px;text-align:center;background:#f9fafb}.table-wrap[data-v-564d34d9] tbody td.checkbox-cell{width:50px;min-width:50px;text-align:center}.table-wrap[data-v-564d34d9] tbody tr:hover td.checkbox-cell{background:#f9fafb!important}.table-wrap[data-v-564d34d9] tbody tr.selected-row{background:#3b82f614}.table-wrap[data-v-564d34d9] tbody tr.highlighted-row{background:#3b82f626;box-shadow:0 0 0 2px #3b82f64d;transition:all .3s ease}.batch-actions[data-v-564d34d9]{display:flex;align-items:center;gap:12px;margin-right:auto}.batch-actions .selected-count[data-v-564d34d9]{font-size:14px;font-weight:500;color:#374151;white-space:nowrap}.batch-actions .secondary.danger[data-v-564d34d9]{height:36px;padding:0 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;background:#fef2f2;color:#dc2626}.batch-actions .secondary.danger[data-v-564d34d9]:hover{background:#fee2e2}.table-wrap[data-v-564d34d9] thead th.action-column{position:sticky;right:0;z-index:15;width:130px;min-width:130px;background:#f9fafb;border-right:none;border-left:1px solid #e5e7eb}.table-wrap[data-v-564d34d9] tbody td.action-cell{position:sticky;right:0;z-index:5;width:150px;min-width:150px;background:#fff;border-right:none;border-left:1px solid #f0f0f0;overflow:hidden}.table-wrap[data-v-564d34d9] tbody td.action-cell .action-btn-wrapper{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;position:relative;z-index:11}.table-wrap[data-v-564d34d9] tbody tr{height:38px;transition:background-color .15s ease}.table-wrap[data-v-564d34d9] tbody tr:nth-child(2n){background:#fafafa}.table-wrap[data-v-564d34d9] tbody tr:nth-child(odd){background:#fff}.table-wrap[data-v-564d34d9] tbody tr:hover{background:#f0f7ff!important}.table-wrap[data-v-564d34d9] tbody tr.selected-row:hover{background:#3b82f61f!important}.table-wrap[data-v-564d34d9] tbody tr:hover td{background:#f0f7ff}.table-wrap[data-v-564d34d9] tbody tr:hover td.action-cell{background:#f0f7ff!important}.index-col[data-v-564d34d9]{width:60px;min-width:60px;text-align:center}.index-cell[data-v-564d34d9]{text-align:center;color:#9ca3af;font-size:13px}.table-cell[data-v-564d34d9]{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-cell-text[data-v-564d34d9]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-cell.CreatedAt[data-v-564d34d9],.table-cell.UpdatedAt[data-v-564d34d9]{max-width:none;width:220px;min-width:220px}th.CreatedAt[data-v-564d34d9],th.UpdatedAt[data-v-564d34d9]{width:220px;min-width:220px;white-space:nowrap}.image-cell-wrapper[data-v-564d34d9]{display:flex;align-items:center;gap:4px;cursor:pointer}.cell-image[data-v-564d34d9]{max-width:80px;max-height:60px;object-fit:cover;border-radius:4px;transition:transform .2s ease}.cell-image[data-v-564d34d9]:hover{transform:scale(1.05)}.toggle-cell[data-v-564d34d9]{display:flex;align-items:center;justify-content:center;height:24px}.toggle-switch[data-v-564d34d9]{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input[data-v-564d34d9]{opacity:0;width:0;height:0}.toggle-slider[data-v-564d34d9]{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:24px}.toggle-slider[data-v-564d34d9]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider[data-v-564d34d9]{background-color:#3b82f6}.toggle-switch input:checked+.toggle-slider[data-v-564d34d9]:before{transform:translate(20px)}.toggle-switch:hover .toggle-slider[data-v-564d34d9]{background-color:#9ca3af}.toggle-switch input:checked:hover+.toggle-slider[data-v-564d34d9]{background-color:#2563eb}.text-btn[data-v-564d34d9]{background:#fff;border:1px solid #bfdbfe;padding:2px 10px;color:#3b82f6;cursor:pointer;font-size:13px;font-weight:500;height:28px;border-radius:8px;transition:all .2s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.text-btn[data-v-564d34d9]:hover{background:#f5f9ff;border-color:#3b82f6}.text-btn.danger[data-v-564d34d9]{color:#ef4444;border-color:#fecaca}.text-btn.danger[data-v-564d34d9]:hover{background:#fef2f2;border-color:#ef4444}.pagination-wrapper[data-v-d6ed741d]{display:flex;align-items:center;padding:16px 0 24px;border-top:1px solid #f0f0f0;flex-shrink:0}.batch-actions[data-v-d6ed741d]{display:flex;align-items:center;gap:12px}.pagination[data-v-d6ed741d]{display:flex;align-items:center;gap:12px;margin-left:auto}.pagination-total[data-v-d6ed741d]{font-size:13px;color:#6b7280;margin-right:8px}.pagination-info[data-v-d6ed741d]{font-size:13px;color:#374151;font-weight:500}.pagination-btn[data-v-d6ed741d]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;color:#374151;transition:all .2s ease;padding:0}.pagination-btn[data-v-d6ed741d]:hover:not(:disabled){background:#e5e7eb;border-color:#d1d5db}.pagination-btn[data-v-d6ed741d]:disabled{opacity:.4;cursor:not-allowed}.pagination-jump[data-v-d6ed741d]{width:60px;height:32px;padding:0 6px;border:1px solid #e5e7eb;border-radius:6px;text-align:center;font-size:13px;color:#374151;outline:none}.pagination-jump[data-v-d6ed741d]:focus{border-color:#3b82f6}.pagination-select[data-v-d6ed741d]{height:32px;padding:0 8px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#374151;background:#fff;cursor:pointer;outline:none}.pagination-select[data-v-d6ed741d]:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.panel-header[data-v-8715097d]{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:24px 0 16px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.header-left[data-v-8715097d]{display:flex;align-items:center;gap:12px;flex-shrink:1;min-width:0;flex-wrap:wrap;position:relative;flex:1}.table-title[data-v-8715097d]{font-size:14px;font-weight:500;color:#6b7280;min-width:120px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.table-title span[data-v-8715097d]{padding:8px 16px;background:#f9fafb;border-radius:6px;color:#111827;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;width:100%}.header-right[data-v-8715097d]{display:flex;align-items:center;gap:12px;flex-shrink:0}.header-actions[data-v-8715097d]{display:flex;align-items:center;gap:12px}.search-box[data-v-8715097d]{position:relative}.search-box input[data-v-8715097d]{width:150px;height:36px;padding:0 32px 0 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;background:#f9fafb;transition:all .2s ease;flex-shrink:1}.search-box input[data-v-8715097d]:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f61a;background:#fff}.clear-btn[data-v-8715097d]{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#9ca3af;cursor:pointer;padding:0;border-radius:50%;transition:all .2s ease}.clear-btn[data-v-8715097d]:hover{background:#e5e7eb;color:#6b7280}.icon-btn[data-v-8715097d]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border:none;border-radius:6px;cursor:pointer;color:#6b7280;transition:all .2s ease;padding:0}.icon-btn[data-v-8715097d]:hover{background:#e5e7eb;color:#3b82f6}.icon-btn svg[data-v-8715097d]{display:block}.header-left .secondary[data-v-8715097d],.header-left .text-btn[data-v-8715097d]{height:36px;padding:0 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;background:#3b82f6;color:#fff}.header-left .secondary[data-v-8715097d]:hover,.header-left .text-btn[data-v-8715097d]:hover{background:#2563eb}.header-left .secondary[data-v-8715097d]:disabled,.header-left .text-btn.disabled[data-v-8715097d]{opacity:.4;cursor:not-allowed;pointer-events:none}.header-left .text-btn[data-v-8715097d]:not(.template):not(.print):not(.disabled){background:transparent;border:1px solid #bfdbfe;padding:4px 16px;color:#3b82f6;border-radius:8px;height:32px;font-size:14px}.header-left .text-btn[data-v-8715097d]:not(.template):not(.print):not(.disabled):hover{background:#f5f9ff;border-color:#3b82f6}.header-left .text-btn.template[data-v-8715097d]{color:#059669;background:#ecfdf5;border-color:#a7f3d0;position:relative;display:inline-flex;align-items:center;gap:8px}.header-left .text-btn.template[data-v-8715097d]:hover:not(.disabled){background:#d1fae5;border-color:#059669}.template-name-tag[data-v-8715097d]{display:inline-block;align-items:center;padding:2px 8px;background:#fff;border:1px solid #a7f3d0;border-radius:12px;font-size:12px;font-weight:500;color:#059669;margin-left:4px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.badge-count[data-v-8715097d]{position:absolute;top:-4px;right:-8px;height:16px;min-width:16px;padding:0 4px;background:#ef4444;color:#fff;font-size:10px;font-weight:600;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:help;transition:background .2s ease}.badge-count[data-v-8715097d]:hover{background:#dc2626}.header-left .text-btn.print[data-v-8715097d]{color:#7c3aed;background:#f5f3ff;border-color:#ddd6fe;display:inline-flex;align-items:center;gap:4px}.header-left .text-btn.print[data-v-8715097d]:hover:not(.disabled){background:#ede9fe;border-color:#7c3aed}.header-left .text-btn.disabled[data-v-8715097d]{opacity:.4;cursor:not-allowed;pointer-events:none}.header-left .text-btn.template-switch[data-v-8715097d]{color:#7c3aed;background:#f5f3ff;border-color:#ddd6fe;display:inline-flex;align-items:center;gap:4px;position:relative}.header-left .text-btn.template-switch[data-v-8715097d]:hover:not(.disabled){background:#ede9fe;border-color:#7c3aed}.template-dropdown[data-v-8715097d]{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 40px #00000026;z-index:1000;min-width:180px;max-width:280px;margin-top:4px}@keyframes dropdownFadeIn-8715097d{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-header[data-v-8715097d]{padding:12px 16px;border-bottom:1px solid #f0f0f0;font-size:13px;font-weight:600;color:#374151;background:#f9fafb;border-radius:8px 8px 0 0}.dropdown-list[data-v-8715097d]{max-height:280px;overflow-y:auto;padding:4px 0}.dropdown-item[data-v-8715097d]{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;cursor:pointer;transition:all .2s ease}.dropdown-item[data-v-8715097d]:hover{background:#f9fafb}.dropdown-item.active[data-v-8715097d]{background:#eff6ff;color:#3b82f6}.item-name[data-v-8715097d]{font-size:14px;color:#1f2937;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px}.dropdown-item.active .item-name[data-v-8715097d]{color:#3b82f6;font-weight:500}.item-check[data-v-8715097d]{color:#10b981;font-size:16px;font-weight:600;flex-shrink:0}.dropdown-empty[data-v-8715097d]{padding:20px 16px;text-align:center;color:#9ca3af;font-size:14px}.binding-tooltip[data-v-8715097d]{position:fixed;z-index:2100;background:#1f2937;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;line-height:1.6;white-space:pre-line;max-width:320px;box-shadow:0 4px 12px #0000002e;pointer-events:none}.template-preview-pop[data-v-8715097d]{position:fixed;z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0f172a29;padding:10px 12px 12px;pointer-events:none;max-width:348px}.template-preview-pop .preview-title[data-v-8715097d]{font-size:12px;font-weight:600;color:#475569;text-align:center;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-preview-pop .preview-canvas[data-v-8715097d]{display:block;border-radius:4px}.template-preview-pop[data-v-8715097d]{max-width:700px}.template-preview-pop .preview-panels[data-v-8715097d]{display:flex;flex-wrap:wrap;gap:10px;max-height:65vh;overflow:auto;justify-content:center}.template-preview-pop .panel-label[data-v-8715097d]{font-size:11px;color:#94a3b8;margin-bottom:4px}.template-preview-pop .panel-label-count[data-v-8715097d]{font-weight:400}.template-preview-pop[data-v-8715097d]{width:320px;border-radius:14px;box-shadow:0 20px 60px #0f172a38;padding:0;display:flex;flex-direction:column}.template-preview-pop .preview-header[data-v-8715097d]{display:flex;justify-content:space-between;align-items:baseline;padding:16px 20px 12px;border-bottom:1px solid #eef2f7;flex-shrink:0}.template-preview-pop .preview-title[data-v-8715097d]{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:0}.template-preview-pop .preview-sub[data-v-8715097d]{font-size:12px;color:#94a3b8}.template-preview-pop .preview-panels[data-v-8715097d]{flex:1;display:flex;flex-direction:column;gap:10px;padding:10px 14px 14px;overflow:auto;justify-content:center;max-height:none}.template-preview-pop .preview-panel[data-v-8715097d]{text-align:center}.template-preview-pop .panel-label[data-v-8715097d]{font-size:12px;color:#94a3b8;margin-bottom:6px}.template-preview-pop .preview-canvas[data-v-8715097d]{display:block;margin:0 auto;border-radius:6px}.template-preview-pop .placeholder-canvas[data-v-8715097d]{margin:24px auto}.content.data-page-content[data-v-b0480094]{display:flex;flex-direction:column;overflow:hidden}.panel[data-v-b0480094]{display:flex;flex-direction:column;flex:1;min-height:0;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;border:1px solid #f0f0f0;overflow:hidden;padding:0 24px}.empty-state[data-v-b0480094]{text-align:center;padding:60px 20px;color:#9ca3af;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.empty-state svg[data-v-b0480094]{margin-bottom:16px;opacity:.5}.empty-state p[data-v-b0480094]{margin:0;font-size:14px}.empty-state h3[data-v-b0480094]{font-size:16px;font-weight:600;color:#374151;margin:12px 0 8px}.empty-state-desc[data-v-b0480094]{color:#6b7280;margin-bottom:16px}.empty-state-steps[data-v-b0480094]{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px 20px;max-width:400px;margin:16px auto;text-align:left}.empty-state-steps p[data-v-b0480094]{font-weight:600;color:#374151;margin-bottom:8px}.empty-state-steps ol[data-v-b0480094]{margin:0;padding-left:20px;color:#4b5563;font-size:13px;line-height:1.8}.empty-state-steps ol li[data-v-b0480094]{margin-bottom:4px}.empty-state-steps a[data-v-b0480094]{color:#3b82f6;text-decoration:none;font-weight:500}.empty-state-steps a[data-v-b0480094]:hover{text-decoration:underline}.primary-btn[data-v-b0480094]{margin-top:16px;display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:#3b82f6;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.primary-btn[data-v-b0480094]:hover{background:#2563eb}.image-preview-overlay[data-v-b0480094]{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn-b0480094 .2s ease}.image-preview-container[data-v-b0480094]{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.preview-close-btn[data-v-b0480094]{position:absolute;top:0;right:-50px;width:40px;height:40px;border-radius:50%;background:#ffffff26;color:#fff;border:2px solid rgba(255,255,255,.5);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:32px;line-height:1;transition:all .2s ease;z-index:10;padding:0}.preview-close-btn[data-v-b0480094]:hover{background:#ffffff40;border-color:#fff;transform:rotate(90deg)}.preview-image[data-v-b0480094]{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px;box-shadow:0 10px 40px #00000080}@keyframes fadeIn-b0480094{0%{opacity:0}to{opacity:1}}.custom-tooltip[data-v-b0480094]{position:fixed;z-index:10000;max-width:400px;padding:8px 12px;background:#000000d9;color:#fff;font-size:13px;line-height:1.5;border-radius:6px;box-shadow:0 4px 12px #0000004d;pointer-events:none;word-break:break-all;white-space:pre-wrap;animation:tooltipFadeIn-b0480094 .2s ease}@keyframes tooltipFadeIn-b0480094{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.form-grid[data-v-b0480094]{grid-template-columns:1fr}.header-actions[data-v-b0480094]{flex-wrap:wrap}.search-box input[data-v-b0480094]{width:150px}}.panel[data-v-ece8f10a]{display:flex;flex-direction:column;flex:1;min-height:0;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;border:1px solid #f0f0f0;overflow:hidden;padding:0 24px}.panel-header[data-v-ece8f10a]{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:24px 0 16px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.header-left[data-v-ece8f10a]{display:flex;align-items:center;gap:12px;flex-shrink:1;min-width:0;flex-wrap:wrap;flex:1}.table-title[data-v-ece8f10a]{font-size:14px;font-weight:500;color:#6b7280;min-width:120px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.table-title span[data-v-ece8f10a]{padding:8px 16px;background:#f9fafb;border-radius:6px;color:#111827;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;width:100%}.header-right[data-v-ece8f10a]{display:flex;align-items:center;gap:12px;flex-shrink:0}.header-actions[data-v-ece8f10a]{display:flex;align-items:center;gap:12px}.search-box[data-v-ece8f10a]{position:relative}.search-box input[data-v-ece8f10a]{width:150px;height:36px;padding:0 32px 0 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;background:#f9fafb;transition:all .2s ease;flex-shrink:1}.search-box input[data-v-ece8f10a]:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f61a;background:#fff}.clear-btn[data-v-ece8f10a]{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#9ca3af;cursor:pointer;padding:0;border-radius:50%;transition:all .2s ease}.clear-btn[data-v-ece8f10a]:hover{background:#e5e7eb;color:#6b7280}.icon-btn[data-v-ece8f10a]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border:none;border-radius:6px;cursor:pointer;color:#6b7280;transition:all .2s ease;padding:0}.icon-btn[data-v-ece8f10a]:hover{background:#e5e7eb;color:#3b82f6}.icon-btn svg[data-v-ece8f10a]{display:block}.table-wrap[data-v-ece8f10a]{flex:1;overflow:auto;border:1px solid #e5e7eb;border-radius:8px;margin:0;background:#fff;box-shadow:0 1px 2px #0000000a;display:flex;flex-direction:column;position:relative;z-index:1}.table-wrap table[data-v-ece8f10a]{width:100%;border-collapse:separate;border-spacing:0;flex-shrink:0;border-bottom:1px solid #e5e7eb}.table-wrap[data-v-ece8f10a] thead th{border-right:1px solid #e5e7eb;position:sticky;top:0;background:#f9fafb;z-index:10;padding:12px 16px}.table-wrap[data-v-ece8f10a] thead th:last-child{border-right:none}.table-wrap[data-v-ece8f10a] tbody td{border-right:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;vertical-align:middle}.table-wrap[data-v-ece8f10a] tbody td:last-child{border-right:none}.table-wrap[data-v-ece8f10a] thead th.action-column{position:sticky;right:0;z-index:15;width:130px;min-width:130px;background:#f9fafb;border-right:none;border-left:1px solid #e5e7eb}.table-wrap[data-v-ece8f10a] tbody td.action-cell{position:sticky;right:0;z-index:5;width:150px;min-width:150px;background:#fff;border-right:none;border-left:1px solid #f0f0f0}.table-wrap[data-v-ece8f10a] tbody td.action-cell .action-btn-wrapper{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;position:relative;z-index:11;background:inherit}.table-wrap[data-v-ece8f10a] tbody tr{height:38px;transition:background-color .15s ease}.table-wrap[data-v-ece8f10a] tbody tr:nth-child(2n){background:#fafafa}.table-wrap[data-v-ece8f10a] tbody tr:nth-child(odd){background:#fff}.table-wrap[data-v-ece8f10a] tbody tr:hover{background:#f0f7ff!important}.table-wrap[data-v-ece8f10a] tbody tr:hover td{background:#f0f7ff}.table-wrap[data-v-ece8f10a] tbody tr:hover td.action-cell{background:#f0f7ff!important}.index-col[data-v-ece8f10a]{width:60px;min-width:60px;text-align:center}.index-cell[data-v-ece8f10a]{text-align:center;color:#9ca3af;font-size:13px}.table-cell[data-v-ece8f10a]{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-cell-text[data-v-ece8f10a]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-cell.CreatedAt[data-v-ece8f10a],.table-cell.UpdatedAt[data-v-ece8f10a]{max-width:none;width:220px;min-width:220px}th.CreatedAt[data-v-ece8f10a],th.UpdatedAt[data-v-ece8f10a]{width:220px;min-width:220px;white-space:nowrap}.image-cell-wrapper[data-v-ece8f10a]{display:inline-block;cursor:pointer}.cell-image[data-v-ece8f10a]{max-width:80px;max-height:60px;object-fit:cover;border-radius:4px;transition:transform .2s ease}.cell-image[data-v-ece8f10a]:hover{transform:scale(1.05)}.toggle-cell[data-v-ece8f10a]{display:flex;align-items:center;justify-content:center;height:24px}.toggle-switch[data-v-ece8f10a]{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input[data-v-ece8f10a]{opacity:0;width:0;height:0}.toggle-slider[data-v-ece8f10a]{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:24px}.toggle-slider[data-v-ece8f10a]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider[data-v-ece8f10a]{background-color:#3b82f6}.toggle-switch input:checked+.toggle-slider[data-v-ece8f10a]:before{transform:translate(20px)}.toggle-switch:hover .toggle-slider[data-v-ece8f10a]{background-color:#9ca3af}.toggle-switch input:checked:hover+.toggle-slider[data-v-ece8f10a]{background-color:#2563eb}.header-left .secondary[data-v-ece8f10a],.header-actions .secondary[data-v-ece8f10a]{height:36px;padding:0 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;background:#3b82f6;color:#fff}.header-left .secondary[data-v-ece8f10a]:hover,.header-actions .secondary[data-v-ece8f10a]:hover{background:#2563eb}.text-btn[data-v-ece8f10a]{background:#fff;border:1px solid #bfdbfe;padding:2px 10px;color:#3b82f6;cursor:pointer;font-size:13px;font-weight:500;height:28px;border-radius:8px;transition:all .2s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.text-btn[data-v-ece8f10a]:hover{background:#f5f9ff;border-color:#3b82f6}.text-btn.danger[data-v-ece8f10a]{color:#ef4444;border-color:#fecaca}.text-btn.danger[data-v-ece8f10a]:hover{background:#fef2f2;border-color:#ef4444}.text-btn.design[data-v-ece8f10a]{color:#059669;background:#ecfdf5;border-color:#a7f3d0}.text-btn.design[data-v-ece8f10a]:hover{background:#d1fae5;border-color:#059669}.header-left .text-btn[data-v-ece8f10a]:not(.template):not(.print):not(.disabled){background:transparent;border:1px solid #bfdbfe;padding:4px 16px;color:#3b82f6;border-radius:8px;height:32px;font-size:14px}.header-left .text-btn[data-v-ece8f10a]:not(.template):not(.print):not(.disabled):hover{background:#f5f9ff;border-color:#3b82f6}.empty-state[data-v-ece8f10a]{text-align:center;padding:60px 20px;color:#9ca3af}.empty-state svg[data-v-ece8f10a]{margin-bottom:16px;opacity:.5}.empty-state p[data-v-ece8f10a]{margin:0;font-size:14px}.empty-state h3[data-v-ece8f10a]{font-size:16px;font-weight:600;color:#374151;margin:12px 0 8px}.empty-state-desc[data-v-ece8f10a]{color:#6b7280;margin-bottom:16px}.empty-state-steps[data-v-ece8f10a]{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px 20px;max-width:400px;margin:16px auto;text-align:left}.empty-state-steps p[data-v-ece8f10a]{font-weight:600;color:#374151;margin-bottom:8px}.empty-state-steps ol[data-v-ece8f10a]{margin:0;padding-left:20px;color:#4b5563;font-size:13px;line-height:1.8}.empty-state-steps ol li[data-v-ece8f10a]{margin-bottom:4px}.empty-state-steps a[data-v-ece8f10a]{color:#3b82f6;text-decoration:none;font-weight:500}.empty-state-steps a[data-v-ece8f10a]:hover{text-decoration:underline}.primary-btn[data-v-ece8f10a]{margin-top:16px;display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:#3b82f6;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.primary-btn[data-v-ece8f10a]:hover{background:#2563eb}.pagination-wrapper[data-v-ece8f10a]{display:flex;justify-content:flex-end;align-items:center;padding:16px 0 24px;border-top:1px solid #f0f0f0;flex-shrink:0}.pagination[data-v-ece8f10a]{display:flex;align-items:center;gap:12px}.pagination-total[data-v-ece8f10a]{font-size:13px;color:#6b7280;margin-right:8px}.pagination-info[data-v-ece8f10a]{font-size:13px;color:#374151;font-weight:500}.pagination-btn[data-v-ece8f10a]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;color:#374151;transition:all .2s ease;padding:0}.pagination-btn[data-v-ece8f10a]:hover:not(:disabled){background:#e5e7eb;border-color:#d1d5db}.pagination-btn[data-v-ece8f10a]:disabled{opacity:.4;cursor:not-allowed}.pagination-select[data-v-ece8f10a]{height:32px;padding:0 8px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#374151;background:#fff;cursor:pointer;outline:none}.pagination-select[data-v-ece8f10a]:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.modal-overlay[data-v-ece8f10a]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-ece8f10a]{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;overflow:auto;box-shadow:0 10px 40px #0003}.modal-header[data-v-ece8f10a]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f0f0f0}.modal-header h3[data-v-ece8f10a]{margin:0;font-size:16px;font-weight:600;color:#111827}.close-btn[data-v-ece8f10a]{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-btn[data-v-ece8f10a]:hover{background:#f3f4f6;color:#111827}.modal-body[data-v-ece8f10a]{padding:24px}.modal-footer[data-v-ece8f10a]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f0f0f0}.form-stack[data-v-ece8f10a]{display:flex;flex-direction:column;gap:16px}.submit-error[data-v-ece8f10a]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;margin-bottom:8px}.submit-error svg[data-v-ece8f10a]{flex-shrink:0}.form-row[data-v-ece8f10a]{display:flex;align-items:flex-end;gap:16px}.form-field-wrapper[data-v-ece8f10a]{display:flex;flex-direction:column;gap:6px}.form-label-text[data-v-ece8f10a]{font-size:13px;font-weight:500;color:#374151}.form-field-wrapper input[type=text][data-v-ece8f10a]{height:38px;padding:0 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;color:#1f2937;background:#fff;transition:all .2s ease}.form-field-wrapper input[type=text][data-v-ece8f10a]:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}.form-field-wrapper .json-textarea[data-v-ece8f10a]{min-height:150px;padding:10px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;font-family:Menlo,Monaco,Courier New,monospace;color:#1f2937;background:#fff;transition:all .2s ease;resize:vertical;line-height:1.5}.form-field-wrapper .json-textarea[data-v-ece8f10a]:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}.form-field-wrapper .toggle-switch[data-v-ece8f10a]{position:relative;display:inline-block;width:44px;height:24px}.form-field-wrapper .toggle-switch input[data-v-ece8f10a]{opacity:0;width:0;height:0}.form-field-wrapper .toggle-slider[data-v-ece8f10a]{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:24px}.form-field-wrapper .toggle-slider[data-v-ece8f10a]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.form-field-wrapper .toggle-switch input:checked+.toggle-slider[data-v-ece8f10a]{background-color:#3b82f6}.form-field-wrapper .toggle-switch input:checked+.toggle-slider[data-v-ece8f10a]:before{transform:translate(20px)}.form-field-wrapper .toggle-switch:hover .toggle-slider[data-v-ece8f10a]{background-color:#9ca3af}.form-field-wrapper .toggle-switch input:checked:hover+.toggle-slider[data-v-ece8f10a]{background-color:#2563eb}.image-upload-area[data-v-ece8f10a]{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.image-preview[data-v-ece8f10a]{position:relative;width:88px;height:88px;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0;background:#f8fafc;box-shadow:0 1px 4px #0f172a14;cursor:zoom-in;transition:transform .2s ease,box-shadow .2s ease}.image-preview[data-v-ece8f10a]:hover{transform:scale(1.04);box-shadow:0 4px 12px #0f172a26}.image-preview img[data-v-ece8f10a]{width:100%;height:100%;object-fit:cover;display:block}.remove-img[data-v-ece8f10a]{position:absolute;top:5px;right:5px;width:22px;height:22px;border-radius:50%;background:#0f172aa6;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;line-height:1;padding:0;opacity:0;transition:all .2s ease}.image-preview:hover .remove-img[data-v-ece8f10a]{opacity:1}.remove-img[data-v-ece8f10a]:hover{background:#ef4444f2;transform:scale(1.1)}.upload-btn[data-v-ece8f10a]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:88px;height:88px;border:1.5px dashed #cbd5e1;border-radius:8px;background:#f8fafc;color:#64748b;cursor:pointer;font-size:12px;-webkit-user-select:none;user-select:none;transition:all .2s ease}.upload-btn[data-v-ece8f10a]:hover{border-color:#3b82f6;background:#eff6ff;color:#2563eb}.upload-btn[data-v-ece8f10a]:disabled{opacity:.6;cursor:not-allowed}.upload-btn svg[data-v-ece8f10a]{color:#94a3b8;transition:color .2s ease}.upload-btn:hover svg[data-v-ece8f10a]{color:#3b82f6}.image-preview-overlay[data-v-ece8f10a]{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn-ece8f10a .2s ease}.image-preview-container[data-v-ece8f10a]{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.preview-close-btn[data-v-ece8f10a]{position:absolute;top:0;right:-50px;width:40px;height:40px;border-radius:50%;background:#ffffff26;color:#fff;border:2px solid rgba(255,255,255,.5);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:32px;line-height:1;transition:all .2s ease;z-index:10;padding:0}.preview-close-btn[data-v-ece8f10a]:hover{background:#ffffff40;border-color:#fff;transform:rotate(90deg)}.preview-image[data-v-ece8f10a]{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px;box-shadow:0 10px 40px #00000080}@keyframes fadeIn-ece8f10a{0%{opacity:0}to{opacity:1}}.custom-tooltip[data-v-ece8f10a]{position:fixed;z-index:10000;max-width:400px;padding:8px 12px;background:#000000d9;color:#fff;font-size:13px;line-height:1.5;border-radius:6px;box-shadow:0 4px 12px #0000004d;pointer-events:none;word-break:break-all;white-space:pre-wrap;animation:tooltipFadeIn-ece8f10a .2s ease}@keyframes tooltipFadeIn-ece8f10a{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.header-actions[data-v-ece8f10a]{flex-wrap:wrap}.search-box input[data-v-ece8f10a]{width:150px}}.cell-with-badge[data-v-ece8f10a]{display:inline-flex;align-items:center;gap:6px;max-width:100%}.cell-with-badge .template-name-text[data-v-ece8f10a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge[data-v-ece8f10a]{display:inline-block;padding:2px 6px;font-size:11px;font-weight:500;border-radius:4px;flex-shrink:0;margin-left:8px}.badge-count[data-v-ece8f10a]{background:#3b82f6;color:#fff;cursor:help;display:inline-flex;align-items:center;justify-content:center;min-width:20px;padding:2px 8px}.badge-count[data-v-ece8f10a]:hover{background:#2563eb}.badge-unbound[data-v-ece8f10a]{background:#fef3c7;color:#d97706}.table-wrap[data-v-ece8f10a] tbody tr.template-row-unbound{background:#fef3c766}.table-wrap[data-v-ece8f10a] tbody tr.template-row-unbound td{color:#6b7280;font-style:italic}.table-wrap[data-v-ece8f10a] tbody tr.template-row-unbound:hover td{background:inherit!important}.table-wrap[data-v-ece8f10a] tbody tr.template-row-unbound:hover td.action-cell{background:#f9fafb!important}.table-wrap[data-v-ece8f10a] tbody td.action-cell .action-btn-wrapper{background:inherit}.panel[data-v-b80ceb82]{display:flex;flex-direction:column;flex:1;min-height:0;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;border:1px solid #f0f0f0;overflow:hidden;padding:0 24px}.panel-header[data-v-b80ceb82]{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:24px 0 16px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.header-left[data-v-b80ceb82]{display:flex;align-items:center;gap:12px;flex-shrink:1;min-width:0;flex-wrap:wrap;flex:1}.table-title[data-v-b80ceb82]{font-size:14px;font-weight:500;color:#6b7280;min-width:120px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.table-title span[data-v-b80ceb82]{padding:8px 16px;background:#f9fafb;border-radius:6px;color:#111827;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;width:100%}.header-right[data-v-b80ceb82]{display:flex;align-items:center;gap:12px;flex-shrink:0}.header-actions[data-v-b80ceb82]{display:flex;align-items:center;gap:12px}.search-box[data-v-b80ceb82]{position:relative;flex-shrink:0}.search-box input[data-v-b80ceb82]{width:150px;height:36px;padding:0 32px 0 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;background:#f9fafb;transition:all .2s ease;flex-shrink:0}.search-box input[data-v-b80ceb82]:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f61a;background:#fff}.clear-btn[data-v-b80ceb82]{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#9ca3af;cursor:pointer;padding:0;border-radius:50%;transition:all .2s ease}.clear-btn[data-v-b80ceb82]:hover{background:#e5e7eb;color:#6b7280}.icon-btn[data-v-b80ceb82]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border:none;border-radius:6px;cursor:pointer;color:#6b7280;transition:all .2s ease;padding:0}.icon-btn[data-v-b80ceb82]:hover{background:#e5e7eb;color:#3b82f6}.icon-btn svg[data-v-b80ceb82]{display:block}.table-wrap[data-v-b80ceb82]{flex:1;overflow:auto;border:1px solid #e5e7eb;border-radius:8px;margin:0;background:#fff;box-shadow:0 1px 2px #0000000a;display:flex;flex-direction:column;position:relative;z-index:1}.table-wrap table[data-v-b80ceb82]{width:100%;border-collapse:separate;border-spacing:0;flex-shrink:0;border-bottom:1px solid #e5e7eb}.table-wrap[data-v-b80ceb82] thead th{border-right:1px solid #e5e7eb;position:sticky;top:0;background:#f9fafb;z-index:10;padding:12px 16px}.table-wrap[data-v-b80ceb82] thead th:last-child{border-right:none}.table-wrap[data-v-b80ceb82] tbody td{border-right:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;vertical-align:middle}.table-wrap[data-v-b80ceb82] tbody td:last-child{border-right:none}.table-wrap[data-v-b80ceb82] thead th.action-column{position:sticky;right:0;z-index:12;width:130px;min-width:130px;background:#f9fafb;border-right:none;border-left:1px solid #e5e7eb}.table-wrap[data-v-b80ceb82] tbody td.action-cell{position:sticky;right:0;z-index:11;width:150px;min-width:150px;background:#fff;border-right:none;border-left:1px solid #f0f0f0}.table-wrap[data-v-b80ceb82] tbody td.action-cell .action-btn-wrapper{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;position:relative;z-index:11;background:inherit}.table-wrap[data-v-b80ceb82] tbody tr{height:38px;transition:background-color .15s ease}.table-wrap[data-v-b80ceb82] tbody tr:nth-child(2n){background:#fafafa}.table-wrap[data-v-b80ceb82] tbody tr:nth-child(odd){background:#fff}.table-wrap[data-v-b80ceb82] tbody tr:hover{background:#f0f7ff!important}.table-wrap[data-v-b80ceb82] tbody tr:hover td{background:#f0f7ff}.table-wrap[data-v-b80ceb82] tbody tr:hover td.action-cell{background:#f0f7ff!important}.table-wrap[data-v-b80ceb82] tbody tr.record-row-hidden-form,.table-wrap[data-v-b80ceb82] tbody tr.record-row-disabled-template{background:#fff0f099}.table-wrap[data-v-b80ceb82] tbody tr.record-row-both{background:#fadcdc99}.table-wrap[data-v-b80ceb82] tbody tr.record-row-hidden-form td,.table-wrap[data-v-b80ceb82] tbody tr.record-row-disabled-template td,.table-wrap[data-v-b80ceb82] tbody tr.record-row-both td{color:#9ca3af;font-style:italic}.table-wrap[data-v-b80ceb82] tbody tr.record-row-hidden-form:hover td,.table-wrap[data-v-b80ceb82] tbody tr.record-row-disabled-template:hover td,.table-wrap[data-v-b80ceb82] tbody tr.record-row-both:hover td{background:inherit!important}.table-wrap[data-v-b80ceb82] tbody tr.record-row-hidden-form:hover td.action-cell,.table-wrap[data-v-b80ceb82] tbody tr.record-row-disabled-template:hover td.action-cell,.table-wrap[data-v-b80ceb82] tbody tr.record-row-both:hover td.action-cell{background:#f9fafb!important}.table-wrap[data-v-b80ceb82] tbody td.action-cell .action-btn-wrapper{background:inherit}.index-col[data-v-b80ceb82]{width:60px;min-width:60px;text-align:center}.index-cell[data-v-b80ceb82]{text-align:center;color:#9ca3af;font-size:13px}.table-cell[data-v-b80ceb82]{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-cell-text[data-v-b80ceb82]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-cell.CreatedAt[data-v-b80ceb82],.table-cell.UpdatedAt[data-v-b80ceb82]{max-width:none;width:220px;min-width:220px}th.CreatedAt[data-v-b80ceb82],th.UpdatedAt[data-v-b80ceb82]{width:220px;min-width:220px;white-space:nowrap}.image-cell-wrapper[data-v-b80ceb82]{display:inline-block;cursor:pointer}.cell-image[data-v-b80ceb82]{max-width:80px;max-height:60px;object-fit:cover;border-radius:4px;transition:transform .2s ease}.cell-image[data-v-b80ceb82]:hover{transform:scale(1.05)}.toggle-cell[data-v-b80ceb82]{display:flex;align-items:center;justify-content:center;height:24px}.toggle-switch[data-v-b80ceb82]{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input[data-v-b80ceb82]{opacity:0;width:0;height:0}.toggle-slider[data-v-b80ceb82]{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:24px}.toggle-slider[data-v-b80ceb82]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider[data-v-b80ceb82]{background-color:#3b82f6}.toggle-switch input:checked+.toggle-slider[data-v-b80ceb82]:before{transform:translate(20px)}.toggle-switch:hover .toggle-slider[data-v-b80ceb82]{background-color:#9ca3af}.toggle-switch input:checked:hover+.toggle-slider[data-v-b80ceb82]{background-color:#2563eb}.toggle-switch.disabled[data-v-b80ceb82]{opacity:.5;cursor:not-allowed}.toggle-switch.disabled .toggle-slider[data-v-b80ceb82]{background-color:#e5e7eb;cursor:not-allowed}.toggle-switch.disabled input:checked+.toggle-slider[data-v-b80ceb82]{background-color:#93c5fd}.toggle-switch.disabled .toggle-slider[data-v-b80ceb82]:before{cursor:not-allowed}.header-left .text-btn[data-v-b80ceb82]:not(.template):not(.print){background:transparent;border:1px solid #bfdbfe;padding:4px 16px;color:#3b82f6;border-radius:8px;height:32px;font-size:14px}.header-left .text-btn[data-v-b80ceb82]:not(.template):not(.print):hover{background:#f5f9ff;border-color:#3b82f6}.header-left .text-btn.template[data-v-b80ceb82]{color:#059669;border-color:#a7f3d0;display:inline-flex;align-items:center;gap:4px}.header-left .text-btn.template[data-v-b80ceb82]:hover{background:#ecfdf5;border-color:#059669}.header-left .text-btn.print[data-v-b80ceb82]{color:#7c3aed;border-color:#ddd6fe;display:inline-flex;align-items:center;gap:4px}.header-left .text-btn.print[data-v-b80ceb82]:hover{background:#f5f3ff;border-color:#7c3aed}.header-left .secondary[data-v-b80ceb82]{height:36px;padding:0 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;background:#3b82f6;color:#fff}.header-left .secondary[data-v-b80ceb82]:hover{background:#2563eb}.text-btn[data-v-b80ceb82]{background:#fff;border:1px solid #bfdbfe;padding:2px 10px;color:#3b82f6;cursor:pointer;font-size:13px;font-weight:500;height:28px;border-radius:8px;transition:all .2s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.text-btn-danger[data-v-b80ceb82]{color:#f87171!important}.text-btn-danger[data-v-b80ceb82]:hover{background:#f871711f!important}.text-btn[data-v-b80ceb82]:hover{background:#f5f9ff;border-color:#3b82f6}.text-btn.danger[data-v-b80ceb82]{color:#ef4444;border-color:#fecaca}.text-btn.danger[data-v-b80ceb82]:hover{background:#fef2f2;border-color:#ef4444}.empty-state[data-v-b80ceb82]{text-align:center;padding:60px 20px;color:#9ca3af}.empty-state svg[data-v-b80ceb82]{margin-bottom:16px;opacity:.5}.empty-state p[data-v-b80ceb82]{margin:0;font-size:14px}.empty-state h3[data-v-b80ceb82]{font-size:16px;font-weight:600;color:#374151;margin:12px 0 8px}.empty-state-desc[data-v-b80ceb82]{color:#6b7280;margin-bottom:16px}.empty-state-steps[data-v-b80ceb82]{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px 20px;max-width:400px;margin:16px auto;text-align:left}.empty-state-steps p[data-v-b80ceb82]{font-weight:600;color:#374151;margin-bottom:8px}.empty-state-steps ol[data-v-b80ceb82]{margin:0;padding-left:20px;color:#4b5563;font-size:13px;line-height:1.8}.empty-state-steps ol li[data-v-b80ceb82]{margin-bottom:4px}.empty-state-steps a[data-v-b80ceb82]{color:#3b82f6;text-decoration:none;font-weight:500}.empty-state-steps a[data-v-b80ceb82]:hover{text-decoration:underline}.primary-btn[data-v-b80ceb82]{margin-top:16px;display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:#3b82f6;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.primary-btn[data-v-b80ceb82]:hover{background:#2563eb}.pagination-wrapper[data-v-b80ceb82]{display:flex;justify-content:flex-end;align-items:center;padding:16px 0 24px;border-top:1px solid #f0f0f0;flex-shrink:0}.pagination[data-v-b80ceb82]{display:flex;align-items:center;gap:12px}.pagination-total[data-v-b80ceb82]{font-size:13px;color:#6b7280;margin-right:8px}.pagination-info[data-v-b80ceb82]{font-size:13px;color:#374151;font-weight:500}.pagination-btn[data-v-b80ceb82]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;color:#374151;transition:all .2s ease;padding:0}.pagination-btn[data-v-b80ceb82]:hover:not(:disabled){background:#e5e7eb;border-color:#d1d5db}.pagination-btn[data-v-b80ceb82]:disabled{opacity:.4;cursor:not-allowed}.pagination-select[data-v-b80ceb82]{height:32px;padding:0 8px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#374151;background:#fff;cursor:pointer;outline:none}.pagination-select[data-v-b80ceb82]:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.modal-overlay[data-v-b80ceb82]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-b80ceb82]{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;overflow:auto;box-shadow:0 10px 40px #0003}.modal-header[data-v-b80ceb82]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f0f0f0}.modal-header h3[data-v-b80ceb82]{margin:0;font-size:16px;font-weight:600;color:#111827}.close-btn[data-v-b80ceb82]{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-btn[data-v-b80ceb82]:hover{background:#f3f4f6;color:#111827}.modal-body[data-v-b80ceb82]{padding:24px}.modal-footer[data-v-b80ceb82]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f0f0f0}.form-stack[data-v-b80ceb82]{display:flex;flex-direction:column;gap:16px}.submit-error[data-v-b80ceb82]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;margin-bottom:8px}.submit-error svg[data-v-b80ceb82]{flex-shrink:0}.form-row[data-v-b80ceb82]{display:grid;grid-template-columns:1fr 1fr 60px;align-items:end;gap:16px}.form-row .toggle-wrapper[data-v-b80ceb82]{display:flex;justify-content:center}.form-field-wrapper[data-v-b80ceb82]{display:flex;flex-direction:column;gap:6px}.form-label-text[data-v-b80ceb82]{font-size:13px;font-weight:500;color:#374151}.form-field-wrapper input[type=text][data-v-b80ceb82]{height:38px;padding:0 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;color:#1f2937;background:#fff;transition:all .2s ease}.form-field-wrapper input[type=text][data-v-b80ceb82]:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}.form-field-wrapper select.form-select[data-v-b80ceb82]{width:100%;height:38px;padding:0 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;color:#1f2937;background:#fff;transition:all .2s ease;cursor:pointer}.form-field-wrapper select.form-select[data-v-b80ceb82]:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}.form-field-wrapper .toggle-switch[data-v-b80ceb82]{position:relative;display:inline-block;width:44px;height:24px}.form-field-wrapper .toggle-switch input[data-v-b80ceb82]{opacity:0;width:0;height:0}.form-field-wrapper .toggle-slider[data-v-b80ceb82]{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:24px}.form-field-wrapper .toggle-slider[data-v-b80ceb82]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.form-field-wrapper .toggle-switch input:checked+.toggle-slider[data-v-b80ceb82]{background-color:#3b82f6}.form-field-wrapper .toggle-switch input:checked+.toggle-slider[data-v-b80ceb82]:before{transform:translate(20px)}.form-field-wrapper .toggle-switch:hover .toggle-slider[data-v-b80ceb82]{background-color:#9ca3af}.form-field-wrapper .toggle-switch input:checked:hover+.toggle-slider[data-v-b80ceb82]{background-color:#2563eb}.image-preview-overlay[data-v-b80ceb82]{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn-b80ceb82 .2s ease}.image-preview-container[data-v-b80ceb82]{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.preview-close-btn[data-v-b80ceb82]{position:absolute;top:0;right:-50px;width:40px;height:40px;border-radius:50%;background:#ffffff26;color:#fff;border:2px solid rgba(255,255,255,.5);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:32px;line-height:1;transition:all .2s ease;z-index:10;padding:0}.preview-close-btn[data-v-b80ceb82]:hover{background:#ffffff40;border-color:#fff;transform:rotate(90deg)}.preview-image[data-v-b80ceb82]{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px;box-shadow:0 10px 40px #00000080}@keyframes fadeIn-b80ceb82{0%{opacity:0}to{opacity:1}}.custom-tooltip[data-v-b80ceb82]{position:fixed;z-index:10000;max-width:400px;padding:8px 12px;background:#000000d9;color:#fff;font-size:13px;line-height:1.5;border-radius:6px;box-shadow:0 4px 12px #0000004d;pointer-events:none;word-break:break-all;white-space:pre-wrap;animation:tooltipFadeIn-b80ceb82 .2s ease}@keyframes tooltipFadeIn-b80ceb82{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cell-with-badge[data-v-b80ceb82]{display:inline-flex;align-items:center;gap:6px;max-width:100%}.badge[data-v-b80ceb82]{display:inline-block;padding:2px 6px;font-size:11px;font-weight:500;border-radius:4px;flex-shrink:0;margin-left:8px}.badge-hidden[data-v-b80ceb82]{background:#f3f4f6;color:#6b7280}.badge-disabled[data-v-b80ceb82]{background:#fef2f2;color:#dc2626}.badge-deleted[data-v-b80ceb82]{background:#fee2e2;color:#b91c1c}@media(max-width:768px){.form-row[data-v-b80ceb82]{grid-template-columns:1fr}.form-row .toggle-wrapper[data-v-b80ceb82]{display:flex;flex-direction:row;align-items:center;gap:8px}.header-actions[data-v-b80ceb82]{flex-wrap:wrap}.search-box input[data-v-b80ceb82]{width:150px}}.codemirror-wrapper.svelte-1bcurb3 .cm-focused{height:100%;outline:none}.scm-waiting.svelte-1bcurb3{position:relative}.scm-pre.svelte-1bcurb3{font-size:.85rem;font-family:monospace;tab-size:2;-moz-tab-size:2;resize:none;pointer-events:none;-webkit-user-select:none;user-select:none;overflow:auto}.modal-box.svelte-1s0k8cc.svelte-1s0k8cc{padding:0;width:90%;max-width:70rem;max-height:calc(100vh - 10%);overflow-y:hidden;border-radius:4px}.bar.svelte-1s0k8cc.svelte-1s0k8cc{padding:4px 14px;box-shadow:0 0 6px #0000004d;background-color:var(--color-base-100)}.bar.svelte-1s0k8cc .icon.svelte-1s0k8cc{border-radius:50%;width:18px;height:18px;line-height:18px;text-align:center;background:var(--color-neutral);color:var(--color-primary-content)}.bar.svelte-1s0k8cc .icon i.svelte-1s0k8cc{font-size:14px}.bar.svelte-1s0k8cc .icon.svelte-1s0k8cc:hover{background:color-mix(in oklch,var(--color-primary),black 10%)}.editorBox.svelte-1s0k8cc.svelte-1s0k8cc{border:1px solid var(--color-primary);border-radius:4px;overflow:auto;margin:10px 24px;height:calc(80vh - 80px);background-color:var(--color-base-200)}.actions.svelte-1s0k8cc.svelte-1s0k8cc{padding:4px 14px 8px;border-top:1px solid var(--color-base-200);display:flex;justify-content:space-between}.actions.svelte-1s0k8cc button.svelte-1s0k8cc{margin-left:10px}.loading.svelte-1s0k8cc.svelte-1s0k8cc{position:absolute;left:50%;top:50%;z-index:10;height:2rem;width:2rem;border-radius:9999px;border-width:2px;animation:svelte-1s0k8cc-spin 2s linear infinite;content:"";border-top-color:transparent;border-left-color:transparent;border-bottom-color:var(--color-primary);border-right-color:var(--color-primary)}@keyframes svelte-1s0k8cc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.template-page[data-v-401deec7]{width:100%;height:100vh;overflow:hidden;position:relative;box-sizing:border-box}.template-page[data-v-401deec7] #SVPrint{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;position:absolute!important;inset:0!important}.template-page[data-v-401deec7] .container{max-width:none!important;width:100%!important;min-width:auto!important;margin:0!important;padding:0!important}.top-toolbar[data-v-401deec7]{position:fixed;top:4px;left:228px;right:8px;height:32px;display:flex;align-items:center;justify-content:space-between;z-index:1001;padding:0 8px;pointer-events:none}.toolbar-left[data-v-401deec7],.toolbar-right[data-v-401deec7]{display:flex;align-items:center;gap:8px;flex-shrink:0;pointer-events:auto}.toolbar-center[data-v-401deec7]{flex:1;display:flex;justify-content:center;min-width:200px;margin:0 16px;pointer-events:auto}.source-info-inline[data-v-401deec7]{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#fef3e0f2;border:1px solid #fbbf24;border-radius:6px;color:#92400e;font-size:12px;font-weight:500;max-width:360px;height:24px;white-space:nowrap}.source-info-inline svg[data-v-401deec7]{flex-shrink:0;color:#2563eb;width:14px;height:14px}.source-info-inline .info-text[data-v-401deec7]{flex:1;min-width:0;overflow:hidden;display:flex;align-items:center;gap:4px}.text-segment[data-v-401deec7]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.text-segment.table-name[data-v-401deec7]{max-width:120px;flex-shrink:0}.text-segment.template-name[data-v-401deec7]{max-width:140px;flex-shrink:1}.text-segment.label[data-v-401deec7],.text-segment.count[data-v-401deec7]{white-space:nowrap;flex-shrink:0}.source-info-inline .inline-close[data-v-401deec7]{flex-shrink:0;background:none;border:none;font-size:16px;color:#64748b;cursor:pointer;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;line-height:1}.source-info-inline .inline-close[data-v-401deec7]:hover{background:#2563eb1a;color:#1e40af}.source-info-float[data-v-401deec7]{display:none}.template-page[data-v-401deec7] .container{width:100%!important;max-width:none!important}.template-page[data-v-401deec7] #SVPrint,.template-page[data-v-401deec7] .SVPrint{width:100%!important;max-width:none!important;margin-left:0!important}.template-page[data-v-401deec7] .svp-header-logo,.template-page[data-v-401deec7] .svp-header-title,.template-page[data-v-401deec7] .tool.svelte-hodsa8 .sv-font-big,.template-page[data-v-401deec7] .tool.svelte-hodsa8 .sv-font-small,.template-page[data-v-401deec7] .tool.svelte-hodsa8 .sv-font-tiny,.template-page[data-v-401deec7] .tool.svelte-hodsa8 .sv-font-bold,.template-page[data-v-401deec7] .tool.svelte-hodsa8 .sv-zIndex-top,.template-page[data-v-401deec7] .tool.svelte-hodsa8 .sv-zIndex-plus,.template-page[data-v-401deec7] .tool.svelte-hodsa8 .sv-zIndex-minus,.template-page[data-v-401deec7] .tool.svelte-hodsa8 .sv-zIndex-bottom,.template-page[data-v-401deec7] .tool.svelte-hodsa8 .sv-clone,.template-page[data-v-401deec7] .tool.svelte-hodsa8 .sv-copy,.template-page[data-v-401deec7] .tool.svelte-hodsa8 .sv-cut,.template-page[data-v-401deec7] .tool.svelte-hodsa8 .sv-paste{display:none!important}.template-page[data-v-401deec7] .svp-flex-row.svelte-hodsa8 span:nth-of-type(5),.template-page[data-v-401deec7] .svp-flex-row.svelte-hodsa8 span:nth-of-type(6),.template-page[data-v-401deec7] .svp-flex-row.svelte-hodsa8 span:nth-of-type(8){display:none!important}.template-page[data-v-401deec7] .tool.svelte-hodsa8>.svelte-hodsa8:nth-of-type(2){display:none!important}.template-page[data-v-401deec7] #dragBox-rotateTools{transform:translate(10px,-110px) rotate(-90deg)!important;transform-origin:center center!important;transition:none!important}.template-page[data-v-401deec7] .svp-header-more-menu,.template-page[data-v-401deec7] .svp-header-menu,.template-page[data-v-401deec7] .justify-center{display:none!important}.toolbar-btn[data-v-401deec7]{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#ffffff26;color:#fff;border:1px solid #fff;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;height:26px;transition:all .2s ease;flex-shrink:0}.toolbar-btn[data-v-401deec7]:hover{background:#ffffff40;border-color:#fffc}.toolbar-btn svg[data-v-401deec7]{flex-shrink:0;width:14px;height:14px}.toolbar-btn.edit-btn[data-v-401deec7]{background:#8b5cf6;border-color:#fff}.toolbar-btn.edit-btn[data-v-401deec7]:hover{background:#a78bfa;border-color:#fff}.toolbar-btn.edit-data-btn[data-v-401deec7]{background:#4e81ee;border-color:#fff}.toolbar-btn.edit-data-btn[data-v-401deec7]:hover{background:#6b95f0;border-color:#fff}.toolbar-btn.preview-btn[data-v-401deec7]{background:#ea580c;border-color:#fff}.toolbar-btn.preview-btn[data-v-401deec7]:hover{background:#f97316;border-color:#fff}.toolbar-btn.save-btn[data-v-401deec7]{background:#3f2bcd;border-color:#fff}.toolbar-btn.save-btn[data-v-401deec7]:hover{background:#5a4ae6;border-color:#fff}.modal-overlay[data-v-401deec7]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-overlay.edit-print-data-modal .modal-large[data-v-401deec7],.modal-overlay.edit-data-modal .modal-large[data-v-401deec7]{width:90%;max-width:1000px;max-height:85vh}.modal-large .modal-body[data-v-401deec7]{padding:16px 24px}.json-editor-wrapper[data-v-401deec7]{display:flex;border:1px solid #d9d9d9;border-radius:6px;background:#fff;height:60vh;overflow-y:auto}.json-line-numbers[data-v-401deec7]{background:#f3f4f6;padding:12px 8px;font-family:Menlo,Monaco,Courier New,monospace;font-size:14px;line-height:21px;color:#9ca3af;text-align:right;min-width:50px;-webkit-user-select:none;user-select:none;flex-shrink:0;overflow-y:hidden;height:100%;box-sizing:border-box}.json-line-numbers div[data-v-401deec7]{height:21px}.json-textarea[data-v-401deec7]{flex:1;padding:12px;border:none;font-family:Menlo,Monaco,Courier New,monospace;font-size:14px;line-height:21px;color:#1f2937;background:#fff;resize:none;outline:none;white-space:pre;word-wrap:normal;overflow-y:auto;max-height:60vh}.json-textarea[data-v-401deec7]:focus{background:#fefeff}.modal[data-v-401deec7]{background:#fff;border-radius:12px;width:90%;max-width:500px;box-shadow:0 10px 40px #0003}.modal-header[data-v-401deec7]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f0f0f0}.modal-header h3[data-v-401deec7]{margin:0;font-size:16px;font-weight:600;color:#111827}.close-btn[data-v-401deec7]{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-btn[data-v-401deec7]:hover{background:#f3f4f6;color:#111827}.modal-body[data-v-401deec7]{padding:24px}.modal-footer[data-v-401deec7]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f0f0f0}.submit-error[data-v-401deec7]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;margin-bottom:16px}.submit-error svg[data-v-401deec7]{flex-shrink:0}.form-field-wrapper[data-v-401deec7]{display:flex;flex-direction:column;gap:6px}.form-label-text[data-v-401deec7]{font-size:13px;font-weight:500;color:#374151}.form-row[data-v-401deec7]{display:grid;grid-template-columns:1fr 60px;align-items:end;gap:16px}.form-row .toggle-wrapper[data-v-401deec7]{display:flex;flex-direction:column;justify-content:center}.form-field-wrapper input[type=text][data-v-401deec7]{height:38px;padding:0 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;color:#1f2937;background:#fff;transition:all .2s ease}.form-field-wrapper input[type=text][data-v-401deec7]:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}.toggle-switch[data-v-401deec7]{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input[data-v-401deec7]{opacity:0;width:0;height:0}.toggle-slider[data-v-401deec7]{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:24px}.toggle-slider[data-v-401deec7]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider[data-v-401deec7]{background-color:#3b82f6}.toggle-switch input:checked+.toggle-slider[data-v-401deec7]:before{transform:translate(20px)}.toggle-switch:hover .toggle-slider[data-v-401deec7]{background-color:#9ca3af}.toggle-switch input:checked:hover+.toggle-slider[data-v-401deec7]{background-color:#2563eb}.secondary[data-v-401deec7]{background:#f3f4f6;border:none;padding:8px 16px;border-radius:6px;font-size:14px;color:#374151;cursor:pointer;transition:all .2s ease}.secondary[data-v-401deec7]:hover{background:#e5e7eb}.primary[data-v-401deec7]{background:#3b82f6;border:none;padding:8px 16px;border-radius:6px;font-size:14px;color:#fff;cursor:pointer;transition:all .2s ease}.primary[data-v-401deec7]:hover{background:#2563eb}.danger[data-v-401deec7]{background:#ef4444;border:none;padding:8px 16px;border-radius:6px;font-size:14px;color:#fff;cursor:pointer;transition:all .2s ease}.danger[data-v-401deec7]:hover{background:#dc2626}.modal-overlay[data-v-005cb5c6]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-dialog[data-v-005cb5c6]{background:#fff;border-radius:12px;width:600px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header[data-v-005cb5c6]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header h3[data-v-005cb5c6]{margin:0;font-size:18px;font-weight:600}.modal-close[data-v-005cb5c6]{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px}.modal-close[data-v-005cb5c6]:hover{background:#f3f4f6}.modal-body[data-v-005cb5c6]{padding:24px}.modal-footer[data-v-005cb5c6]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb}.form-group[data-v-005cb5c6]{margin-bottom:20px}.form-group label[data-v-005cb5c6]{display:block;margin-bottom:8px;font-weight:500;color:#374151}.form-group input[type=text][data-v-005cb5c6]{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.fields-list[data-v-005cb5c6]{display:flex;flex-direction:column;gap:8px}.field-row[data-v-005cb5c6]{display:flex;gap:8px;align-items:center;padding:8px;background:#f9fafb;border-radius:6px}.field-row input[data-v-005cb5c6],.field-row select[data-v-005cb5c6]{padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px}.btn-secondary[data-v-005cb5c6]{padding:8px 16px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-size:14px}.btn-primary[data-v-005cb5c6]{padding:8px 16px;border:none;background:#3b82f6;color:#fff;border-radius:6px;cursor:pointer;font-size:14px}.btn-primary[data-v-005cb5c6]:disabled{background:#93c5fd;cursor:not-allowed}.btn-danger[data-v-005cb5c6]{padding:4px 10px;border:1px solid #fecaca;background:#fef2f2;color:#dc2626;border-radius:4px;cursor:pointer;font-size:12px}.config-page[data-v-005cb5c6]{position:relative}.panel[data-v-005cb5c6]{display:flex;flex-direction:column;width:100%;margin:0;height:calc(100vh - 40px);overflow:hidden;padding:0 24px;box-sizing:border-box}.panel-header[data-v-005cb5c6]{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #e5e7eb;flex-shrink:0;gap:16px}.panel-header .header-left[data-v-005cb5c6]{display:flex;align-items:center;flex:1;min-width:0}.panel-header .header-right[data-v-005cb5c6]{display:flex;align-items:center;flex-shrink:0;gap:12px}.panel-header .add-btn[data-v-005cb5c6]{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 18px;background:#fff;color:#2563eb;border:1px solid #bfdbfe;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;box-shadow:0 1px 2px #0000000a;transition:all .2s ease;white-space:nowrap}.panel-header .add-btn svg[data-v-005cb5c6]{width:14px;height:14px;stroke-width:2.2}.panel-header .add-btn[data-v-005cb5c6]:hover{background:#eff6ff;border-color:#93c5fd;box-shadow:0 2px 6px #2563eb1f}.panel-header .add-btn[data-v-005cb5c6]:active{background:#dbeafe;transform:translateY(.5px)}.panel-header button.primary[data-v-005cb5c6]{height:36px;padding:0 24px;background:#4e80ee;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #4e80ee4d;transition:all .2s ease}.panel-header button.primary[data-v-005cb5c6]:hover{background:#3a6fd8;box-shadow:0 4px 12px #4e80ee66}.panel-header button.primary[data-v-005cb5c6]:disabled{background:#a0aec0;cursor:not-allowed;box-shadow:none}.excel-imported-info[data-v-005cb5c6]{flex-shrink:0;font-size:13px;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:4px;padding:2px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.new-item-highlight[data-v-005cb5c6]{position:relative;animation:new-item-flash-005cb5c6 3s ease forwards;border-radius:8px}.new-item-highlight[data-v-005cb5c6]:after{content:"";position:absolute;inset:0;border:1px solid rgba(59,130,246,.55);border-radius:8px;pointer-events:none;animation:new-item-ring-005cb5c6 3s ease forwards}@keyframes new-item-flash-005cb5c6{0%{background-color:#3b82f64d}40%{background-color:#3b82f62e}70%{background-color:#3b82f614}to{background-color:transparent}}@keyframes new-item-ring-005cb5c6{0%,55%{opacity:1;box-shadow:0 0 0 3px #3b82f659}to{opacity:0;box-shadow:0 0 0 3px #3b82f600}}.table-config-item.unsaved-item[data-v-005cb5c6]{background:#fffdf7!important;border-left:3px solid #f59e0b!important}.unsaved-badge[data-v-005cb5c6]{display:inline-flex;align-items:center;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:500;line-height:1.6;color:#b45309;background:#f59e0b1f;border:1px solid rgba(245,158,11,.35);border-radius:4px;vertical-align:middle}.panel-body[data-v-005cb5c6]{flex:1;overflow-y:auto;padding:16px 8px 16px 0}.config-section[data-v-005cb5c6]{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e5e7eb}.config-section[data-v-005cb5c6]:last-of-type{border-bottom:none}.config-section[data-v-005cb5c6]:first-of-type{background:linear-gradient(135deg,#eff6ff80,#e0f2fe4d);border-radius:12px;padding:16px 20px 20px;margin-bottom:24px}.config-section:first-of-type .section-title svg[data-v-005cb5c6]{color:#3b82f6}.config-section:first-of-type .table-config-item[data-v-005cb5c6]{background:#fff;border-left:3px solid #3b82f6}.config-section[data-v-005cb5c6]:nth-of-type(2){background:linear-gradient(135deg,#faf5ff80,#f6eeff4d);border-radius:12px;padding:16px 20px 20px;margin-bottom:24px}.config-section:nth-of-type(2) .section-title svg[data-v-005cb5c6]{color:#8b5cf6}.config-section:nth-of-type(2) .table-config-item[data-v-005cb5c6]{background:#fff;border-left:3px solid #8b5cf6}.config-section[data-v-005cb5c6]:nth-of-type(3){background:linear-gradient(135deg,#f0fdf480,#dcfce74d);border-radius:12px;padding:16px 20px 20px}.config-section:nth-of-type(3) .section-title svg[data-v-005cb5c6]{color:#22c55e}.config-section:nth-of-type(3) .table-config-item[data-v-005cb5c6]{background:#fff;border-left:3px solid #22c55e}.section-header[data-v-005cb5c6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title[data-v-005cb5c6]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#111827}.required-fields-hint[data-v-005cb5c6]{font-size:12px;font-weight:400;color:#dc2626;margin-left:4px}.config-section:first-of-type .section-title[data-v-005cb5c6]{color:#1e40af}.config-section:nth-of-type(2) .section-title[data-v-005cb5c6]{color:#6b21a8}.config-section:nth-of-type(3) .section-title[data-v-005cb5c6]{color:#166534}.section-title svg[data-v-005cb5c6]{color:#6b5bff}.add-btn[data-v-005cb5c6]{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;height:32px;background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.add-btn[data-v-005cb5c6]:hover{background:#e5e7eb;border-color:#d1d5db}.config-section:first-of-type .add-btn[data-v-005cb5c6]{background:#3b82f61a;color:#2563eb;border-color:#3b82f633}.config-section:first-of-type .add-btn[data-v-005cb5c6]:hover{background:#3b82f626;border-color:#3b82f64d}.config-section:nth-of-type(2) .add-btn[data-v-005cb5c6]{background:#8b5cf61a;color:#7c3aed;border-color:#8b5cf633}.config-section:nth-of-type(2) .add-btn[data-v-005cb5c6]:hover{background:#8b5cf626;border-color:#8b5cf64d}.config-section:nth-of-type(3) .add-btn[data-v-005cb5c6]{background:#22c55e1a;color:#16a34a;border-color:#22c55e33}.config-section:nth-of-type(3) .add-btn[data-v-005cb5c6]:hover{background:#22c55e26;border-color:#22c55e4d}.tables-list[data-v-005cb5c6]{display:flex;flex-direction:column;gap:12px}.table-config-item[data-v-005cb5c6]{border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;background:#fafafa;transition:all .2s ease}.table-config-item.hidden-item[data-v-005cb5c6]{opacity:.6;background:#f5f5f5}.table-config-item.hidden-item .grid[data-v-005cb5c6]{display:none}.table-config-item[data-v-005cb5c6]:hover{border-color:#d1d5db;box-shadow:0 2px 6px #0000000a}.table-config-item.drag-over-top[data-v-005cb5c6]{position:relative}.table-config-item.drag-over-top[data-v-005cb5c6]:before{content:"";position:absolute;top:-3px;left:0;right:0;height:4px;background:#4e80ee;border-radius:2px;box-shadow:0 0 8px #4e80ee80}.table-config-item.drag-over-bottom[data-v-005cb5c6]{position:relative}.table-config-item.drag-over-bottom[data-v-005cb5c6]:after{content:"";position:absolute;bottom:-3px;left:0;right:0;height:4px;background:#4e80ee;border-radius:2px;box-shadow:0 0 8px #4e80ee80}.table-config-item.dragging[data-v-005cb5c6]{opacity:.4}.config-section:first-of-type .table-config-item.hidden-item[data-v-005cb5c6]{background:#f8fafc}.config-section:nth-of-type(2) .table-config-item.hidden-item[data-v-005cb5c6]{background:#faf8ff}.config-section:nth-of-type(3) .table-config-item.hidden-item[data-v-005cb5c6]{background:#f0fdf4}.config-section:first-of-type .table-config-item[data-v-005cb5c6]:hover{border-color:#3b82f64d;box-shadow:0 2px 8px #3b82f626}.config-section:nth-of-type(2) .table-config-item[data-v-005cb5c6]:hover{border-color:#8b5cf64d;box-shadow:0 2px 8px #8b5cf626}.config-section:nth-of-type(3) .table-config-item[data-v-005cb5c6]:hover{border-color:#22c55e4d;box-shadow:0 2px 8px #22c55e26}.table-config-header[data-v-005cb5c6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.header-left[data-v-005cb5c6]{display:flex;align-items:center;gap:6px}.drag-handle[data-v-005cb5c6]{color:#9ca3af;cursor:grab;flex-shrink:0;width:16px;height:16px}.drag-handle[data-v-005cb5c6]:active{cursor:grabbing}.header-actions[data-v-005cb5c6]{display:flex;align-items:center;gap:6px}.toggle-btn-small[data-v-005cb5c6]{display:flex;align-items:center;justify-content:center;width:auto;min-width:28px;height:28px;padding:0 8px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;cursor:pointer;transition:all .2s ease;color:#2563eb}.toggle-btn-text[data-v-005cb5c6]{font-size:11px;font-weight:500}.toggle-btn-small[data-v-005cb5c6]:hover{background:#2563eb;border-color:#2563eb;color:#fff}.toggle-btn-small.hidden[data-v-005cb5c6]{background:#f3f4f6;border:1px solid #e5e7eb;color:#6b7280}.toggle-btn-small.hidden[data-v-005cb5c6]:hover{background:#e5e7eb;border-color:#d1d5db}.hidden-tag[data-v-005cb5c6]{color:#9ca3af;font-weight:400;font-size:11px;margin-left:4px}.table-name[data-v-005cb5c6]{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:#111827}.table-name svg[data-v-005cb5c6]{color:#6b5bff;width:16px;height:16px}.remove-btn[data-v-005cb5c6]{display:flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:4px;cursor:pointer;transition:all .2s ease;height:28px}.remove-btn[data-v-005cb5c6]:hover{background:#dc2626;color:#fff;border-color:#dc2626}.grid[data-v-005cb5c6]{display:grid;grid-template-columns:1.2fr 1fr 1.2fr 1.8fr 1.5fr;gap:12px}.rest-url-field[data-v-005cb5c6],.excel-upload-field[data-v-005cb5c6]{grid-column:4 / -1}.preview-title.toggleable[data-v-005cb5c6]{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.preview-title .caret[data-v-005cb5c6]{transition:transform .2s;color:#6b7280}.preview-title .caret.open[data-v-005cb5c6]{transform:rotate(180deg)}.rest-mapping-rows[data-v-005cb5c6]{display:flex;flex-direction:column;gap:6px}.rest-mapping-row[data-v-005cb5c6]{display:flex;align-items:center;gap:6px}.rest-mapping-row input[data-v-005cb5c6]{height:34px;padding:0 10px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px}.rest-mapping-row .del-local-btn[data-v-005cb5c6]{width:34px;height:34px;padding:0;flex-shrink:0}.mapping-empty[data-v-005cb5c6]{font-size:13px;color:#9ca3af;padding:8px 0}.local-fields-preview[data-v-005cb5c6]{margin-top:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px 10px}.preview-title[data-v-005cb5c6]{font-size:12px;font-weight:600;color:#475569;margin-bottom:6px}.preview-grid[data-v-005cb5c6]{display:grid;grid-template-columns:1.2fr 1.4fr .8fr;gap:4px 12px;align-items:center}.preview-head[data-v-005cb5c6]{font-size:11px;color:#94a3b8;font-weight:500}.preview-cell[data-v-005cb5c6]{font-size:12px;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-type[data-v-005cb5c6]{display:inline-block;padding:1px 8px;background:#eef2ff;color:#4f46e5;border-radius:10px;font-size:11px}.del-local-btn[data-v-005cb5c6]{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;background:#fff;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:13px;cursor:pointer;white-space:nowrap;flex-shrink:0;box-sizing:border-box;transition:background .15s ease,border-color .15s ease}.del-local-btn[data-v-005cb5c6]:hover:not(:disabled){background:#fef2f2;border-color:#dc2626}.del-local-btn[data-v-005cb5c6]:disabled{color:#d1d5db;border-color:#e5e7eb;background:#f9fafb;cursor:not-allowed}.file-pick-btn[data-v-005cb5c6]{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;background:#fff;box-sizing:border-box;border:1px solid #bfdbfe;border-radius:6px;color:#2563eb;font-size:13px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s ease,border-color .15s ease}.file-pick-btn[data-v-005cb5c6]:hover{background:#eff6ff;border-color:#2563eb}.file-name[data-v-005cb5c6]{font-size:13px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.grid label[data-v-005cb5c6]{display:flex;flex-direction:column;gap:4px}.field-label[data-v-005cb5c6]{font-size:12px;font-weight:500;color:#374151}.required[data-v-005cb5c6]{color:#dc2626;font-weight:400}.optional[data-v-005cb5c6]{color:#9ca3af;font-weight:400}.grid input[data-v-005cb5c6],.grid select.field-select[data-v-005cb5c6]{height:32px;padding:0 10px;border:1px solid #d9d9d9;border-radius:4px;font-size:13px;color:#1f2937;background:#fff;transition:all .2s ease;box-sizing:border-box}.grid input[data-v-005cb5c6]:focus{border-color:#6b5bff;outline:none;box-shadow:0 0 0 2px #6b5bff26}.grid input[data-v-005cb5c6]:disabled{background:#f3f4f6;cursor:not-allowed}.token-input[data-v-005cb5c6]{position:relative}.input-with-toggle[data-v-005cb5c6]{display:flex;align-items:center;position:relative}.input-with-toggle input[data-v-005cb5c6]{flex:1;padding-right:36px}.toggle-btn[data-v-005cb5c6]{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.toggle-btn svg[data-v-005cb5c6]{width:16px;height:16px}.toggle-btn[data-v-005cb5c6]:hover{background:#f3f4f6;color:#6b7280}.empty-section[data-v-005cb5c6]{text-align:center;padding:24px 16px;color:#9ca3af;font-size:13px;background:#f9fafb;border-radius:6px;border:1px dashed #e5e7eb}.error-message[data-v-005cb5c6]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:12px}.error-message svg[data-v-005cb5c6]{flex-shrink:0;width:14px;height:14px}@media(max-width:1024px){.grid[data-v-005cb5c6]{grid-template-columns:1.2fr 1fr 1.2fr 1.8fr 1.5fr}.rest-url-field[data-v-005cb5c6],.excel-upload-field[data-v-005cb5c6]{grid-column:4 / -1}}@media(max-width:860px){.grid[data-v-005cb5c6]{grid-template-columns:1fr 1fr}.rest-url-field[data-v-005cb5c6],.excel-upload-field[data-v-005cb5c6]{grid-column:2 / -1}}@media(max-width:640px){.grid[data-v-005cb5c6]{grid-template-columns:1fr}.section-header[data-v-005cb5c6]{flex-direction:column;gap:12px;align-items:flex-start}}.panel-body[data-v-005cb5c6]::-webkit-scrollbar{width:6px}.panel-body[data-v-005cb5c6]::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.panel-body[data-v-005cb5c6]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.panel-body[data-v-005cb5c6]::-webkit-scrollbar-thumb:hover{background:#94a3b8}.user-management-section[data-v-005cb5c6]{background:linear-gradient(135deg,#fff7ed80,#fef3c74d)!important;border-left:none}.user-management-section .section-title svg[data-v-005cb5c6]{color:#f97316}.user-management-section .section-title[data-v-005cb5c6]{color:#9a3412}.user-management-section .add-btn[data-v-005cb5c6]{background:#f973161a;color:#ea580c;border-color:#f9731633}.user-management-section .add-btn[data-v-005cb5c6]:hover{background:#f9731626;border-color:#f973164d}.users-list[data-v-005cb5c6]{display:flex;flex-direction:column;gap:8px}.user-item[data-v-005cb5c6]{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#fff;border:1px solid #e5e7eb;border-left:3px solid #f97316;border-radius:8px;transition:all .2s ease}.user-item[data-v-005cb5c6]:hover{border-color:#f973164d;box-shadow:0 2px 8px #f973161a}.user-item-info[data-v-005cb5c6]{display:flex;align-items:center;gap:10px;color:#374151}.user-item-info svg[data-v-005cb5c6]{color:#9ca3af}.user-item-name[data-v-005cb5c6]{font-size:14px;font-weight:600}.user-item-role[data-v-005cb5c6]{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:500}.user-item-role.admin[data-v-005cb5c6]{background:#fef3c7;color:#d97706}.user-item-role.user[data-v-005cb5c6]{background:#f3f4f6;color:#6b7280}.user-item-actions[data-v-005cb5c6]{display:flex;gap:8px}.action-link[data-v-005cb5c6]{padding:4px 10px;font-size:12px;background:none;border:1px solid #e5e7eb;border-radius:4px;color:#6b7280;cursor:pointer;transition:all .2s ease}.action-link[data-v-005cb5c6]:hover{background:#f3f4f6;border-color:#d1d5db}.action-link.danger[data-v-005cb5c6]{color:#dc2626;border-color:#fecaca}.action-link.danger[data-v-005cb5c6]:hover{background:#fef2f2;border-color:#fca5a5}.modal-overlay[data-v-005cb5c6]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.confirm-modal[data-v-005cb5c6]{background:#fff;border-radius:12px;width:90%;max-width:420px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.modal-header[data-v-005cb5c6]{display:flex;align-items:center;gap:12px;padding:24px 24px 16px}.modal-header h3[data-v-005cb5c6]{margin:0;font-size:18px;font-weight:600;color:#111827}.modal-body[data-v-005cb5c6]{padding:0 24px 24px}.modal-footer[data-v-005cb5c6]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f3f4f6;background:#f9fafb}.modal-footer .secondary[data-v-005cb5c6]{min-width:80px;height:38px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;background:#f3f4f6;color:#6b7280}.modal-footer .secondary[data-v-005cb5c6]:hover{background:#e5e7eb}.modal-footer .primary-btn[data-v-005cb5c6]{min-width:80px;height:38px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;background:#3b82f6;color:#fff}.modal-footer .primary-btn[data-v-005cb5c6]:hover:not(:disabled){background:#2563eb}.modal-footer .primary-btn[data-v-005cb5c6]:disabled{opacity:.6;cursor:not-allowed}.password-field[data-v-005cb5c6]{margin-bottom:14px}.password-field label[data-v-005cb5c6]{display:block;margin-bottom:4px;font-size:13px;font-weight:600;color:#374151}.password-field input[data-v-005cb5c6]{width:100%;height:38px;padding:0 12px;border:1.5px solid #e5e7eb;border-radius:6px;font-size:13px;color:#111827;box-sizing:border-box;outline:none}.password-field input[data-v-005cb5c6]:focus{border-color:#3b82f6}.role-select[data-v-005cb5c6]{width:100%;height:38px;padding:0 12px;border:1.5px solid #e5e7eb;border-radius:6px;font-size:13px;color:#111827;box-sizing:border-box;outline:none;background:#fff}.role-select[data-v-005cb5c6]:focus{border-color:#3b82f6}.cp-error[data-v-005cb5c6]{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;padding:8px 12px;font-size:12px}.modal-fade-enter-active[data-v-005cb5c6],.modal-fade-leave-active[data-v-005cb5c6]{transition:all .3s ease}.modal-fade-enter-from[data-v-005cb5c6],.modal-fade-leave-to[data-v-005cb5c6]{opacity:0}.btn-auto-detect[data-v-005cb5c6]{white-space:nowrap;padding:0 12px;border:1px solid #d9d9d9;border-radius:6px;background:#fafafa;cursor:pointer;font-size:13px;transition:all .2s}.btn-auto-detect[data-v-005cb5c6]:hover:not(:disabled){border-color:#1677ff;color:#1677ff;background:#f0f7ff}.btn-auto-detect[data-v-005cb5c6]:disabled{opacity:.6;cursor:not-allowed}.relation-map-page[data-v-4c65a477]{width:100%;height:100%;background:#f0f2f5;overflow:hidden;position:relative}.page-header[data-v-4c65a477]{position:fixed;top:0;left:220px;right:0;padding:0 32px;border-bottom:1px solid #e5e7eb;background:#fff;height:68px;display:flex;align-items:center;box-sizing:border-box;z-index:100}.header-content[data-v-4c65a477]{display:flex;align-items:center;justify-content:space-between;width:100%}.header-left[data-v-4c65a477]{display:flex;align-items:center;gap:16px}.page-title[data-v-4c65a477]{display:flex;align-items:center;gap:12px;margin:0;font-size:18px;font-weight:600;color:#111827;white-space:nowrap;line-height:1}.page-title svg[data-v-4c65a477]{color:#6366f1;flex-shrink:0}.page-subtitle[data-v-4c65a477]{margin:0;font-size:14px;color:#6b7280;white-space:nowrap;line-height:1}.header-legend[data-v-4c65a477]{display:flex;align-items:center;gap:16px;padding:8px 16px;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb}.legend-item[data-v-4c65a477]{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7280}.legend-dot[data-v-4c65a477]{width:12px;height:12px;border-radius:3px}.legend-dot.data[data-v-4c65a477]{background:linear-gradient(135deg,#3b82f6,#2563eb)}.legend-dot.template[data-v-4c65a477]{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.legend-divider[data-v-4c65a477]{width:1px;height:20px;background:#e5e7eb}.legend-line-solid[data-v-4c65a477]{stroke:#6366f1;stroke-width:2.5;stroke-linecap:round;opacity:1}.legend-line-dashed[data-v-4c65a477]{stroke:#a5b4fc;stroke-width:2;stroke-linecap:round;stroke-dasharray:6,6;opacity:.5}.map-container[data-v-4c65a477]{position:absolute;inset:68px 0 0;overflow-y:auto;overflow-x:hidden;background:#f0f2f5}.scrollable-content[data-v-4c65a477]{position:relative;min-height:600px}.connection-layer[data-v-4c65a477]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.connection-layer path[data-v-4c65a477]{cursor:pointer;pointer-events:auto}.connection-line-default[data-v-4c65a477]{stroke:#6366f1;stroke-width:2.5;stroke-linecap:round;opacity:1;transition:all .3s ease}.connection-line-dashed[data-v-4c65a477]{stroke:#a5b4fc;stroke-width:2;stroke-linecap:round;stroke-dasharray:8,8;opacity:.6;transition:all .3s ease}.connection-layer path[data-v-4c65a477]:before{content:"";stroke:transparent;stroke-width:20px;fill:none}.nodes-container[data-v-4c65a477]{position:relative;width:100%;height:100%;overflow:visible;z-index:1;pointer-events:none}.node[data-v-4c65a477]{position:absolute;cursor:pointer;z-index:10;pointer-events:auto}.node-content[data-v-4c65a477]{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 8px #00000014;transition:all .3s ease;position:relative;z-index:10;width:240px;backface-visibility:hidden}.node:hover .node-content[data-v-4c65a477]{transform:scale(1.05);box-shadow:0 8px 24px #0000001f;border-color:#6366f1}.node.selected .node-content[data-v-4c65a477]{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.node-glow[data-v-4c65a477]{position:absolute;inset:-4px;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%);border-radius:20px;opacity:0;transition:opacity .3s ease;z-index:-1}.node-background[data-v-4c65a477]{position:absolute;inset:0;background:#fff;border-radius:16px;z-index:5}.node:hover .node-glow[data-v-4c65a477],.node.selected .node-glow[data-v-4c65a477]{opacity:1}.data-node .node-content[data-v-4c65a477]{border-color:#3b82f64d}.data-node.selected .node-content[data-v-4c65a477]{border-color:#3b82f6;background:#eff6ff}.data-node .node-icon[data-v-4c65a477]{background:#3b82f61a}.template-node .node-content[data-v-4c65a477]{border-color:#8b5cf64d}.template-node.selected .node-content[data-v-4c65a477]{border-color:#8b5cf6;background:#f5f3ff}.template-node .node-icon[data-v-4c65a477]{background:#8b5cf61a}.template-node-disabled .node-content[data-v-4c65a477]{border-color:#9ca3af4d;background:#f9fafb;opacity:.7}.template-node-disabled .node-name[data-v-4c65a477]{color:#9ca3af}.template-node-disabled .node-icon[data-v-4c65a477]{background:#9ca3af1a;color:#9ca3af}.template-node-disabled .node-badge[data-v-4c65a477]{background:linear-gradient(135deg,#9ca3af,#6b7280);box-shadow:0 2px 8px #9ca3af4d}.node-icon[data-v-4c65a477]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.data-icon[data-v-4c65a477]{background:linear-gradient(135deg,#3b82f61a,#2563eb26);color:#2563eb}.template-icon[data-v-4c65a477]{background:linear-gradient(135deg,#8b5cf61a,#7c3aed26);color:#7c3aed}.node-info[data-v-4c65a477]{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.node-name[data-v-4c65a477]{font-size:14px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;width:100%}.node-meta[data-v-4c65a477]{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.node-badge[data-v-4c65a477]{position:absolute;top:-8px;right:-8px;min-width:24px;height:24px;padding:0 8px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;box-shadow:0 2px 8px #3b82f64d;z-index:3}.node-badge.template[data-v-4c65a477]{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 2px 8px #8b5cf64d}.info-panel[data-v-4c65a477]{position:fixed;width:320px;max-height:400px;background:#fff;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 10px 40px #0000001a;overflow:hidden;display:flex;flex-direction:column;z-index:1000;animation:slideIn-4c65a477 .3s cubic-bezier(.4,0,.2,1)}@keyframes slideIn-4c65a477{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.info-header[data-v-4c65a477]{display:flex;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;overflow:hidden}.info-header-title[data-v-4c65a477]{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.info-header-title svg[data-v-4c65a477]{color:#6366f1;flex-shrink:0}.info-header-text[data-v-4c65a477]{font-size:16px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.close-panel[data-v-4c65a477]{width:32px;height:32px;border-radius:8px;background:#f3f4f6;border:none;color:#6b7280;cursor:pointer;font-size:24px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-panel[data-v-4c65a477]:hover{background:#e5e7eb;color:#111827}.info-content[data-v-4c65a477]{flex:1;overflow-y:auto;padding:24px}.info-section[data-v-4c65a477]{margin-bottom:24px}.info-section[data-v-4c65a477]:last-child{margin-bottom:0}.section-title[data-v-4c65a477]{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.count-badge[data-v-4c65a477]{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:12px}.info-row[data-v-4c65a477]{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f3f4f6}.info-row[data-v-4c65a477]:last-child{border-bottom:none}.info-label[data-v-4c65a477]{font-size:13px;color:#6b7280;flex-shrink:0}.info-value[data-v-4c65a477]{font-size:13px;color:#111827;font-weight:500;text-align:right;max-width:60%}.info-value.code[data-v-4c65a477]{font-family:Menlo,Monaco,Courier New,monospace;font-size:11px;background:#f9fafb;padding:4px 8px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;display:inline-block}.info-value[data-v-4c65a477]{font-size:13px;color:#111827;font-weight:500}.relation-list[data-v-4c65a477]{display:flex;flex-direction:column;gap:8px}.relation-item[data-v-4c65a477]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;min-width:0}.relation-item[data-v-4c65a477]:hover{background:#eff6ff;border-color:#93c5fd;transform:translate(4px)}.relation-item svg[data-v-4c65a477]{color:#6366f1;flex-shrink:0}.relation-item span[data-v-4c65a477]{font-size:13px;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.no-relations[data-v-4c65a477]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;color:#9ca3af}.no-relations svg[data-v-4c65a477]{margin-bottom:12px;opacity:.5}.no-relations p[data-v-4c65a477]{margin:0;font-size:13px}.empty-state[data-v-4c65a477]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;padding:60px 20px;color:#475569;z-index:40}.empty-state svg[data-v-4c65a477]{margin-bottom:24px;opacity:.5}.empty-state p[data-v-4c65a477]{margin:0 0 8px;font-size:16px;color:#64748b}.empty-hint[data-v-4c65a477]{font-size:13px!important;color:#475569!important}.empty-state h3[data-v-4c65a477]{font-size:16px;font-weight:600;color:#374151;margin:12px 0 8px}.empty-state-desc[data-v-4c65a477]{color:#6b7280;margin-bottom:16px}.empty-state-steps[data-v-4c65a477]{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px 20px;max-width:400px;margin:16px auto;text-align:left}.empty-state-steps p[data-v-4c65a477]{font-weight:600;color:#374151;margin-bottom:8px}.empty-state-steps ol[data-v-4c65a477]{margin:0;padding-left:20px;color:#4b5563;font-size:13px;line-height:1.8}.empty-state-steps ol li[data-v-4c65a477]{margin-bottom:4px}.empty-state-steps a[data-v-4c65a477]{color:#3b82f6;text-decoration:none;font-weight:500}.empty-state-steps a[data-v-4c65a477]:hover{text-decoration:underline}.primary-btn[data-v-4c65a477]{margin-top:16px;display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:#3b82f6;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.primary-btn[data-v-4c65a477]:hover{background:#2563eb}.modal-overlay[data-v-4c65a477]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn-4c65a477 .2s ease}.modal[data-v-4c65a477]{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;overflow:auto;box-shadow:0 10px 40px #0003}.modal-header[data-v-4c65a477]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f0f0f0}.modal-header h3[data-v-4c65a477]{margin:0;font-size:16px;font-weight:600;color:#111827}.modal-header .close-btn[data-v-4c65a477]{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.modal-header .close-btn[data-v-4c65a477]:hover{background:#f3f4f6;color:#111827}.modal-body[data-v-4c65a477]{padding:24px}.modal-footer[data-v-4c65a477]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f0f0f0}.form-stack[data-v-4c65a477]{display:flex;flex-direction:column;gap:16px}.submit-error[data-v-4c65a477]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;margin-bottom:8px}.submit-error svg[data-v-4c65a477]{flex-shrink:0}.form-row[data-v-4c65a477]{display:grid;grid-template-columns:1fr 1fr 60px;align-items:end;gap:16px}.form-row .toggle-wrapper[data-v-4c65a477]{display:flex;justify-content:center}.form-field-wrapper[data-v-4c65a477]{display:flex;flex-direction:column;gap:6px}.form-label-text[data-v-4c65a477]{font-size:13px;font-weight:500;color:#374151}.form-select[data-v-4c65a477]{width:100%;height:38px;padding:0 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;color:#1f2937;background:#fff;cursor:pointer;outline:none;transition:all .2s ease}.form-select[data-v-4c65a477]:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.modal-footer .secondary[data-v-4c65a477]{height:36px;padding:0 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;background:#f3f4f6;color:#6b7280}.modal-footer .secondary[data-v-4c65a477]:hover{background:#e5e7eb}.modal-footer .primary[data-v-4c65a477]{height:36px;padding:0 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;background:#3b82f6;color:#fff}.modal-footer .primary[data-v-4c65a477]:hover{background:#2563eb}.modal-footer .danger[data-v-4c65a477]{height:36px;padding:0 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;background:#fee2e2;color:#dc2626}.modal-footer .danger[data-v-4c65a477]:hover{background:#fecaca}.toggle-switch[data-v-4c65a477]{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch.disabled[data-v-4c65a477]{opacity:.5;cursor:not-allowed}.toggle-switch.disabled .toggle-slider[data-v-4c65a477]{cursor:not-allowed}.toggle-switch input[data-v-4c65a477]{opacity:0;width:0;height:0}.toggle-slider[data-v-4c65a477]{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:24px}.toggle-slider[data-v-4c65a477]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider[data-v-4c65a477]{background-color:#3b82f6}.toggle-switch input:checked+.toggle-slider[data-v-4c65a477]:before{transform:translate(20px)}@keyframes fadeIn-4c65a477{0%{opacity:0}to{opacity:1}}.login-page[data-v-e7ddf587]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e293b,#334155);padding:20px}.login-card[data-v-e7ddf587]{background:#fff;border-radius:16px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.login-header[data-v-e7ddf587]{background:linear-gradient(135deg,#1e293b,#334155);padding:32px 32px 24px;text-align:center}.login-header h1[data-v-e7ddf587]{margin:0 0 8px;font-size:24px;font-weight:900;color:#fff;letter-spacing:3px}.login-header p[data-v-e7ddf587]{margin:0;font-size:14px;color:#94a3b8}form[data-v-e7ddf587]{padding:32px}.form-group[data-v-e7ddf587]{margin-bottom:20px}.form-group label[data-v-e7ddf587]{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:#374151}.form-group input[data-v-e7ddf587]{width:100%;height:44px;padding:0 14px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box;outline:none}.form-group input[data-v-e7ddf587]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input[data-v-e7ddf587]:disabled{background:#f9fafb;color:#9ca3af}.error-message[data-v-e7ddf587]{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:16px}.login-btn[data-v-e7ddf587]{width:100%;height:44px;border:none;border-radius:8px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.login-btn[data-v-e7ddf587]:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #2563eb66}.login-btn[data-v-e7ddf587]:disabled{opacity:.6;cursor:not-allowed}<style scoped> .toast[data-v-a6ec49f7]{position:fixed;top:0;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 4px 12px #00000026;z-index:10000;min-width:180px;max-width:260px;justify-content:center}.toast .toast-text[data-v-a6ec49f7]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast.success[data-v-a6ec49f7]{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.toast.error[data-v-a6ec49f7]{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.toast-fade-enter-active[data-v-a6ec49f7],.toast-fade-leave-active[data-v-a6ec49f7]{transition:all .3s ease}.toast-fade-enter-from[data-v-a6ec49f7]{opacity:0;transform:translate(-50%) translateY(-20px)}.toast-fade-enter-to[data-v-a6ec49f7],.toast-fade-leave-from[data-v-a6ec49f7]{opacity:1;transform:translate(-50%) translateY(0)}.toast-fade-leave-to[data-v-a6ec49f7]{opacity:0;transform:translate(-50%) translateY(-20px)}.modal-overlay[data-v-a6ec49f7]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.confirm-modal[data-v-a6ec49f7]{background:#fff;border-radius:12px;width:90%;max-width:420px;box-shadow:0 20px 60px #0000004d;overflow:hidden;animation:modalSlideIn-a6ec49f7 .3s ease}@keyframes modalSlideIn-a6ec49f7{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header[data-v-a6ec49f7]{display:flex;align-items:center;gap:12px;padding:24px 24px 16px}.modal-icon[data-v-a6ec49f7]{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-icon.warning[data-v-a6ec49f7]{background:#fef3c7;color:#d97706}.modal-icon.info[data-v-a6ec49f7]{background:#eff6ff;color:#3b82f6}.modal-icon.success[data-v-a6ec49f7]{background:#f0fdf4;color:#16a34a}.modal-icon.error[data-v-a6ec49f7]{background:#fef2f2;color:#dc2626}.modal-header h3[data-v-a6ec49f7]{margin:0;font-size:18px;font-weight:600;color:#111827}.modal-body[data-v-a6ec49f7]{padding:0 24px 24px}.modal-body p[data-v-a6ec49f7]{margin:0;font-size:15px;color:#6b7280;line-height:1.6}.modal-footer[data-v-a6ec49f7]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f3f4f6;background:#f9fafb}.modal-footer button[data-v-a6ec49f7]{min-width:80px;height:38px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.modal-footer .secondary[data-v-a6ec49f7]{background:#f3f4f6;color:#6b7280}.modal-footer .secondary[data-v-a6ec49f7]:hover{background:#e5e7eb}.modal-footer .danger[data-v-a6ec49f7]{background:#ef4444;color:#fff}.modal-footer .danger[data-v-a6ec49f7]:hover{background:#dc2626}.modal-fade-enter-active[data-v-a6ec49f7],.modal-fade-leave-active[data-v-a6ec49f7]{transition:all .3s ease}.modal-fade-enter-from[data-v-a6ec49f7],.modal-fade-leave-to[data-v-a6ec49f7]{opacity:0}.modal-fade-enter-from .confirm-modal[data-v-a6ec49f7],.modal-fade-leave-to .confirm-modal[data-v-a6ec49f7]{transform:translateY(-30px) scale(.95)}.sidebar[data-v-a6ec49f7]{width:220px;background:linear-gradient(180deg,#1e293b,#0f172a);color:#fff;flex-shrink:0;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100}.sidebar-header[data-v-a6ec49f7]{padding:20px;border-bottom:1px solid rgba(255,255,255,.1);text-align:center;background:linear-gradient(135deg,#3b82f633,#8b5cf61a)}.sidebar-header h1[data-v-a6ec49f7]{margin:0;font-size:18px;font-weight:900;color:#fff;letter-spacing:3px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.sidebar-nav[data-v-a6ec49f7]{flex:1;padding:12px;overflow-y:auto}.nav-link[data-v-a6ec49f7]{display:flex;align-items:center;height:40px;padding:0 12px;margin-bottom:4px;border-radius:8px;text-decoration:none;color:#94a3b8;transition:all .2s ease;font-size:14px;font-weight:500;border-left:3px solid transparent}.nav-link[data-v-a6ec49f7]:hover{background:#ffffff1a;color:#fff}.nav-link.active[data-v-a6ec49f7]{background:#3b82f626;color:#fff;border-left-color:#3b82f6}.nav-link[data-v-a6ec49f7]:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px}.nav-icon[data-v-a6ec49f7]{width:18px;height:18px;margin-right:10px;flex-shrink:0;color:#64748b;transition:color .2s ease}.nav-link:hover .nav-icon[data-v-a6ec49f7]{color:#cbd5e1}.nav-link.active .nav-icon[data-v-a6ec49f7]{color:#93c5fd}.nav-group .nav-link .nav-icon[data-v-a6ec49f7]{color:#3b82f6}.nav-group .nav-link.active[data-v-a6ec49f7]{background:#3b82f626;border-left-color:#3b82f6}.nav-link[href="/templates"] .nav-icon[data-v-a6ec49f7]{color:#8b5cf6}.nav-link[href="/templates"].active[data-v-a6ec49f7]{background:#8b5cf626;border-left-color:#8b5cf6}.nav-link[href="/templates"].active .nav-icon[data-v-a6ec49f7]{color:#c4b5fd}.nav-link[href="/form-binding"] .nav-icon[data-v-a6ec49f7]{color:#22c55e}.nav-link[href="/form-binding"].active[data-v-a6ec49f7]{background:#22c55e26;border-left-color:#22c55e}.nav-link[href="/form-binding"].active .nav-icon[data-v-a6ec49f7]{color:#86efac}.nav-link[href="/template"] .nav-icon[data-v-a6ec49f7]{color:#06b6d4}.nav-link[href="/template"].active[data-v-a6ec49f7]{background:#06b6d426;border-left-color:#06b6d4}.nav-link[href="/template"].active .nav-icon[data-v-a6ec49f7]{color:#67e8f9}.nav-link[href="/relation-map"] .nav-icon[data-v-a6ec49f7]{color:#6366f1}.nav-link[href="/relation-map"].active[data-v-a6ec49f7]{background:#6366f126;border-left-color:#6366f1}.nav-link[href="/relation-map"].active .nav-icon[data-v-a6ec49f7]{color:#a5b4fc}.nav-link[href="/config"] .nav-icon[data-v-a6ec49f7]{color:#f97316}.nav-link[href="/config"].active[data-v-a6ec49f7]{background:#f9731626;border-left-color:#f97316}.nav-link[href="/config"].active .nav-icon[data-v-a6ec49f7]{color:#fdba74}.nav-group[data-v-a6ec49f7]{margin-bottom:4px}.group-header[data-v-a6ec49f7]{display:flex;align-items:center;width:100%}.group-header .nav-icon[data-v-a6ec49f7]{flex-shrink:0;margin-right:10px}.group-header>span[data-v-a6ec49f7]:first-of-type{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-header>svg.expand-icon[data-v-a6ec49f7]{flex-shrink:0;margin-left:8px}.nav-group .group-header[data-v-a6ec49f7]{color:#bfd3f2}.expand-icon[data-v-a6ec49f7]{width:16px;height:16px;transition:transform .2s ease;color:#64748b}.expand-icon.expanded[data-v-a6ec49f7]{transform:rotate(180deg)}.nav-submenu[data-v-a6ec49f7]{padding-left:8px}.sub-item[data-v-a6ec49f7]{height:36px;padding:0 8px 0 20px;font-size:13px;color:#94a3b8;border-radius:6px;margin:2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;min-width:0;border-left:3px solid transparent}.sub-item[data-v-a6ec49f7]:hover{background:#ffffff14;color:#fff}.sub-item.active[data-v-a6ec49f7]{background:#3b82f633;color:#93c5fd;border-left-color:#3b82f6}.sub-item.active .sub-icon[data-v-a6ec49f7]{color:#93c5fd!important}.sub-name[data-v-a6ec49f7]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.sub-item span.type-badge[data-v-a6ec49f7]{margin-left:auto;margin-right:-8px;flex:0 0 50px;width:50px;box-sizing:border-box;text-align:center;font-size:8.5px;font-weight:700;letter-spacing:.2px;padding:1px 2px;border-radius:4px;line-height:1.4}.badge-nocodb[data-v-a6ec49f7]{background:#3b82f62e;color:#60a5fa;border:1px solid rgba(59,130,246,.35)}.badge-rest[data-v-a6ec49f7]{background:#10b9812e;color:#34d399;border:1px solid rgba(16,185,129,.35)}.badge-local[data-v-a6ec49f7]{background:#8b5cf633;color:#a78bfa;border:1px solid rgba(139,92,246,.4)}.badge-excel[data-v-a6ec49f7]{background:#f59e0b2e;color:#fbbf24;border:1px solid rgba(245,158,11,.4)}.sub-icon[data-v-a6ec49f7]{width:14px;height:14px;opacity:.6;margin-right:8px;flex-shrink:0;color:#64748b;transition:color .2s ease}.sub-item:hover .sub-icon[data-v-a6ec49f7]{color:#cbd5e1}.sub-item.active .sub-icon[data-v-a6ec49f7]{color:#93c5fd!important;opacity:1}.sub-item span[data-v-a6ec49f7]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.no-data[data-v-a6ec49f7]{padding:8px 12px 8px 42px;font-size:12px;color:#64748b;font-style:italic}.no-config-text[data-v-a6ec49f7]{font-size:11px;color:#f97316;font-weight:600;background:#f9731626;padding:2px 8px;border-radius:4px;border:1px solid rgba(249,115,22,.3);margin-left:auto;flex-shrink:0;line-height:1.4;vertical-align:middle;align-self:center}.sidebar-nav[data-v-a6ec49f7]::-webkit-scrollbar{width:4px}.sidebar-nav[data-v-a6ec49f7]::-webkit-scrollbar-track{background:#ffffff0d}.sidebar-nav[data-v-a6ec49f7]::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.sidebar-nav[data-v-a6ec49f7]::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.page-container .toast[data-v-a6ec49f7]{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:10000;padding:10px 16px}.main-content[data-v-a6ec49f7]{flex:1;margin-left:220px;height:100vh;overflow:hidden}.main-content .content[data-v-a6ec49f7]{height:100%;overflow-y:auto;padding:20px;box-sizing:border-box}.main-content .content.template-page-content[data-v-a6ec49f7]{padding:0;overflow:hidden}.config-page-content[data-v-a6ec49f7]{height:100%}.login-container[data-v-a6ec49f7]{min-height:100vh}.sidebar-footer[data-v-a6ec49f7]{padding:12px 16px;border-top:1px solid rgba(255,255,255,.1);background:#00000026}.user-info[data-v-a6ec49f7]{display:flex;align-items:center;gap:8px;color:#cbd5e1;margin-bottom:8px}.user-name[data-v-a6ec49f7]{flex:1;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-badge[data-v-a6ec49f7]{font-size:10px;padding:1px 6px;border-radius:4px;background:#3b82f633;color:#93c5fd;font-weight:600;white-space:nowrap}.user-actions[data-v-a6ec49f7]{display:flex;gap:6px}.action-btn[data-v-a6ec49f7]{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;height:32px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0d;color:#94a3b8;cursor:pointer;font-size:12px;transition:all .2s ease}.action-btn[data-v-a6ec49f7]:hover{background:#ffffff1a;color:#fff}.password-field[data-v-a6ec49f7]{margin-bottom:14px}.password-field label[data-v-a6ec49f7]{display:block;margin-bottom:4px;font-size:13px;font-weight:600;color:#374151}.password-field input[data-v-a6ec49f7]{width:100%;height:38px;padding:0 12px;border:1.5px solid #e5e7eb;border-radius:6px;font-size:13px;color:#111827;box-sizing:border-box;outline:none;transition:border-color .2s ease}.password-field input[data-v-a6ec49f7]:focus{border-color:#3b82f6}.cp-error[data-v-a6ec49f7]{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;padding:8px 12px;font-size:12px;margin-top:4px}.primary-btn[data-v-a6ec49f7]{min-width:80px;height:38px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;background:#3b82f6;color:#fff}.primary-btn[data-v-a6ec49f7]:hover:not(:disabled){background:#2563eb}.primary-btn[data-v-a6ec49f7]:disabled{opacity:.6;cursor:not-allowed}*{box-sizing:border-box}.svp-modal:not(.svp-modal-open):not([open]){visibility:hidden!important}html,body{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:#f0f2f5;color:#1f2937;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100%;min-height:100vh}#app .content:not(.template-page-content) .container{display:flex!important;min-height:100vh!important;position:relative!important}#app .main-content{margin-left:220px;height:100vh;background:#f0f2f5;display:flex;flex-direction:column;flex:1!important;width:calc(100% - 220px)!important;overflow:hidden}#app .content{flex:1;box-sizing:border-box}#app .content:not(.template-page-content){padding:24px;overflow:visible}#app .container.page-container{max-width:none!important;width:100%!important;min-width:auto!important}#app .content.relation-map-page-content{padding:0!important;overflow:hidden!important;height:100%!important;display:flex!important;flex-direction:column!important}#app .content.relation-map-page-content .relation-map-page{width:100%!important;min-width:auto!important;margin:0!important;height:100%!important;flex:1!important}#app .content.data-page-content,#app .content.config-page-content,#app .content.templates-page-content,#app .content.form-binding-page-content{width:100%!important;max-width:none!important;min-width:auto!important;margin:0 auto;flex:1;display:flex;flex-direction:column;height:100%;box-sizing:border-box}#app .content.data-page-content>*,#app .content.config-page-content>*,#app .content.templates-page-content>*,#app .content.form-binding-page-content>*{max-width:none!important;width:100%!important;min-width:auto!important;margin:0 auto}.panel{background:#fff;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 1px 3px #00000014;border:1px solid #f0f0f0}.panel h2{margin:0 0 20px;font-size:16px;font-weight:600;color:#111827;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:500;color:#374151}label input,label select,label textarea{height:40px;padding:0 14px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;color:#1f2937;background:#fff;transition:all .2s ease}label input:focus,label select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}label input::placeholder{color:#9ca3af}button{height:38px;padding:0 20px;border-radius:6px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}button.primary{background:#3b82f6;color:#fff}button.primary:hover{background:#2563eb}button.secondary{background:#f3f4f6;color:#374151}button.secondary:hover{background:#e5e7eb}button.danger{background:#ef4444;color:#fff}button.danger:hover{background:#dc2626}button:disabled{opacity:.5;cursor:not-allowed}.actions{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #f0f0f0}.actions.compact{margin-top:0;padding-top:0;border-top:none}.table-wrap{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px;margin:16px 0}.table-wrap table{width:100%;border-collapse:separate;border-spacing:0}.table-wrap thead th{background:#f9fafb;padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:#6b7280;border-bottom:1px solid #e5e7eb;white-space:nowrap;position:sticky;top:0;z-index:10}.table-wrap tbody td{padding:8px 16px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#1f2937}.table-wrap tbody tr:hover{background:#f9fafb}.table-wrap tbody tr:last-child td{border-bottom:none}.status{padding:10px 16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#2563eb;font-size:13px;margin-top:16px}.status.success{background:#ecfdf5;border-color:#a7f3d0;color:#059669}.status.error{background:#fef2f2;border-color:#fecaca;color:#dc2626}.empty-state{text-align:center;padding:60px 20px;color:#9ca3af}.empty-state svg{width:64px;height:64px;margin-bottom:16px;opacity:.5}.empty-state p{margin:0;font-size:14px}.tables-list{display:flex;flex-direction:column;gap:20px}.table-config-item{border:1px solid #e5e7eb;border-radius:10px;padding:20px;background:#fafafa;transition:all .2s ease}.table-config-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000a}.table-config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.table-name{font-weight:600;font-size:14px;color:#111827}.remove-btn{padding:6px 14px;font-size:12px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;cursor:pointer;transition:all .2s ease}.remove-btn:hover{background:#dc2626;color:#fff;border-color:#dc2626}@media(max-width:768px){.sidebar{width:100%;height:auto;position:relative}.main-content{margin-left:0}.content{padding:16px}.grid{grid-template-columns:1fr}}
