*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;color:#1a202c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;max-width:1200px;padding:0 1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-4{gap:1rem}.gap-2{gap:.5rem}.p-4{padding:1rem}.p-2{padding:.5rem}.m-4{margin:1rem}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.shadow{box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.border{border:1px solid #e2e8f0}.border-dashed{border-style:dashed}.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-blue-500{background-color:#3b82f6}.bg-blue-600{background-color:#2563eb}.bg-green-500{background-color:#10b981}.bg-red-500{background-color:#ef4444}.text-white{color:#fff}.text-gray-600{color:#6b7280}.text-gray-700{color:#374151}.text-blue-600{color:#2563eb}.hover\:bg-blue-600:hover{background-color:#2563eb}.hover\:bg-gray-100:hover{background-color:#f3f4f6}.cursor-pointer{cursor:pointer}.cursor-move{cursor:move}.select-none{-webkit-user-select:none;user-select:none}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width:768px){.container{padding:0 .5rem}.text-2xl{font-size:1.25rem}.text-xl{font-size:1.125rem}}.App{background-color:#f8fafc;display:flex;flex-direction:column;min-height:100vh}.main-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.form-builder{height:calc(100vh - 80px)}.sidebar{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;width:280px}.properties-panel,.sidebar{flex-shrink:0;overflow-y:auto}.field-item{cursor:move;margin:8px;padding:12px}.field-item.dragging{transform:rotate(5deg)}.drop-zone{background:#f9fafb;border:2px dashed #cbd5e0;border-radius:8px;margin:20px;min-height:400px;padding:20px}.drop-zone.drag-over{border-color:#3b82f6}.drop-zone-empty{color:#6b7280;height:300px}.drop-zone-empty svg{height:64px;margin-bottom:16px;opacity:.5;width:64px}.form-field{border:1px solid #e2e8f0;margin-bottom:20px;padding:16px}.form-field:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.form-field .field-controls{display:flex;gap:4px;opacity:0;position:absolute;right:8px;top:-12px;transition:opacity .2s ease}.field-control-btn{font-size:12px}.form-input{border:1px solid #d1d5db;border-radius:4px;font-size:14px;padding:8px 12px;transition:border-color .2s ease;width:100%}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-label{font-size:14px;margin-bottom:6px}.btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.btn-outline{background:#0000;border:1px solid #d1d5db;color:#374151}.btn-outline:hover{background:#f3f4f6}.btn-sm{font-size:12px;padding:4px 8px}@media (max-width:1024px){.form-builder{flex-direction:column;height:auto}.sidebar{order:2;width:100%}.canvas-area{flex-direction:column;order:1}.properties-panel{order:3;width:100%}}@media (max-width:768px){.form-builder{gap:.5rem;padding:.5rem}.drop-zone{margin:10px;padding:15px}.form-field{padding:12px}}.fade-in{animation:fadeIn .3s ease-in}.slide-in{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.loading{opacity:.6;pointer-events:none}.spinner{border:2px solid #f3f3f3;border-top-color:#3b82f6;height:20px;width:20px}.fields-sidebar{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;height:100%;overflow:hidden;width:280px}.sidebar-header{border-bottom:1px solid #e5e7eb;padding:1.5rem 1rem 1rem}.search-bar{margin:1rem 0;position:relative}.search-input{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;padding:.5rem 2rem .5rem .75rem;transition:all .2s ease;width:100%}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.search-icon{color:#9ca3af;pointer-events:none;position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.category-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.category-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;color:#6b7280;cursor:pointer;display:flex;font-size:.75rem;gap:.25rem;padding:.375rem .75rem;transition:all .2s ease;white-space:nowrap}.category-btn:hover{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.category-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.category-icon{font-size:.875rem}.category-label{font-weight:500}.no-fields-found{align-items:center;color:#9ca3af;display:flex;flex-direction:column;justify-content:center;padding:2rem 1rem;text-align:center}.no-fields-icon{font-size:2rem;margin-bottom:.5rem;opacity:.6}.no-fields-found p{color:#6b7280;font-weight:500;margin:0 0 .25rem}.no-fields-found small{color:#9ca3af;font-size:.75rem}.sidebar-header h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.sidebar-header p{color:#6b7280;font-size:.875rem;margin:0}.fields-list{flex:1 1;overflow-y:auto;padding:1rem}.field-item{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;gap:.75rem;margin-bottom:.5rem;padding:.75rem;transition:all .2s ease;-webkit-user-select:none;user-select:none}.field-item:hover{background:#eff6ff;border-color:#3b82f6;box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.field-item:active{box-shadow:0 2px 4px #0000001a;transform:translateY(0)}.field-item.dragging{opacity:.5;transform:rotate(2deg)}.field-icon{align-items:center;display:flex;flex-shrink:0;font-size:1.25rem;height:24px;justify-content:center;width:24px}.field-info{flex:1 1;min-width:0}.field-label{color:#1f2937;font-weight:500;margin-bottom:.125rem}.field-description{color:#6b7280;font-size:.75rem;line-height:1.3}.sidebar-footer{background:#f9fafb;border-top:1px solid #e5e7eb;padding:1rem}.help-text strong{color:#374151;display:block;margin-bottom:.5rem}.help-text ul{list-style-type:disc;margin:0;padding-left:1rem}.help-text li{line-height:1.4;margin-bottom:.25rem}.fields-list::-webkit-scrollbar{width:6px}.fields-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.fields-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.fields-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:1200px){.fields-sidebar{height:auto;max-height:300px;width:100%}.fields-list{max-height:200px}.sidebar-footer{display:none}}@media (max-width:768px){.fields-sidebar{max-height:250px}.sidebar-header{padding:1rem .75rem .75rem}.sidebar-header h3{font-size:1rem}.sidebar-header p{font-size:.75rem}.fields-list{max-height:150px;padding:.75rem}.field-item{gap:.5rem;padding:.5rem}.field-icon{font-size:1rem;height:20px;width:20px}.field-label{font-size:.75rem}.field-description{font-size:.625rem}}@keyframes fieldAdded{0%{background:#dcfce7;border-color:#16a34a}to{background:#f8fafc;border-color:#e2e8f0}}.field-item.added{animation:fieldAdded .6s ease-out}.form-field{background:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:1.5rem;padding:1rem;position:relative;transition:all .2s ease}.form-field:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000000d}.form-field.selected{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.field-controls{display:flex;gap:4px;opacity:0;position:absolute;right:8px;top:-8px;transition:opacity .2s ease;z-index:10}.form-field.selected .field-controls,.form-field:hover .field-controls{opacity:1}.field-control-btn{align-items:center;background:#fff;border:none;border-radius:4px;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:flex;height:24px;justify-content:center;transition:all .2s ease;width:24px}.field-control-btn:hover{box-shadow:0 4px 8px #00000026;transform:scale(1.1)}.field-control-btn.delete{color:#ef4444}.field-control-btn.delete:hover{background:#fef2f2}.field-control-btn.duplicate{color:#3b82f6}.field-control-btn.duplicate:hover{background:#eff6ff}.form-label{color:#374151;display:block;font-size:.875rem;font-weight:500;line-height:1.25;margin-bottom:.5rem}.form-label.required:after{color:#ef4444;content:" *"}.form-input,.form-select{background:#f9fafb;border:1px solid #d1d5db;border-radius:.375rem;color:#6b7280;font-size:.875rem;line-height:1.25;padding:.5rem .75rem;transition:all .2s ease;width:100%}.form-input:focus,.form-select:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}textarea.form-input{min-height:80px;resize:vertical}.form-checkbox{background:#f9fafb;border:1px solid #d1d5db;border-radius:.25rem;cursor:pointer;flex-shrink:0;height:1rem;margin-top:.125rem;width:1rem}.checkbox-label{font-size:.875rem}.radio-group,.radio-wrapper{gap:.5rem}.form-radio{background:#f9fafb;border:1px solid #d1d5db;border-radius:50%;cursor:pointer;flex-shrink:0;height:1rem;width:1rem}.radio-label{font-size:.875rem}.file-input-wrapper{position:relative}.form-file{cursor:pointer;height:100%;opacity:0;position:absolute;width:100%}.file-input-display{align-items:center;background:#f9fafb;border:1px solid #d1d5db;border-radius:.375rem;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem .75rem;transition:all .2s ease}.file-input-display:hover{background:#f3f4f6;border-color:#9ca3af}.form-range{background:#e5e7eb;border-radius:.25rem;cursor:pointer;height:.5rem;outline:none;width:100%}.form-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#3b82f6;border-radius:50%;box-shadow:0 2px 4px #0000001a;cursor:pointer;height:1rem;width:1rem}.form-range::-moz-range-thumb{background:#3b82f6;border:none;border-radius:50%;box-shadow:0 2px 4px #0000001a;cursor:pointer;height:1rem;width:1rem}.range-values{color:#6b7280;display:flex;font-size:.75rem;justify-content:space-between}.field-validation{margin-top:.25rem}.validation-message{align-items:center;color:#ef4444;display:flex;font-size:.75rem;gap:.25rem}.validation-message:before{content:"⚠";font-size:.875rem}.field-help{margin-top:.25rem}.help-text{color:#6b7280;font-size:.75rem;line-height:1.4}@media (max-width:768px){.form-field{margin-bottom:1rem;padding:.75rem}.field-controls{right:6px;top:-6px}.field-control-btn{height:20px;width:20px}.form-label{font-size:.75rem}.form-input,.form-select{font-size:.75rem;padding:.375rem .5rem}.checkbox-label,.radio-label{font-size:.75rem}.file-input-display{font-size:.75rem;padding:.375rem .5rem}.help-text,.validation-message{font-size:.625rem}}@keyframes fieldSelect{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.form-field.selected{animation:fieldSelect .3s ease-out}.form-field.dragging{box-shadow:0 8px 16px #00000026;opacity:.5;transform:rotate(2deg)}.multiselect{min-height:80px}.rating-wrapper{align-items:center;display:flex;gap:.25rem}.rating-star{cursor:pointer;font-size:1.5rem;opacity:.3;transition:all .2s ease}.rating-star.active,.rating-star:hover{opacity:1;transform:scale(1.1)}.signature-wrapper{width:100%}.signature-pad{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:.375rem;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;height:120px;justify-content:center;transition:all .2s ease;width:100%}.signature-pad:hover{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.heading-wrapper{margin:.5rem 0}.form-heading{color:#1f2937;font-weight:600;margin:0}.form-heading h1{font-size:2rem}.form-heading h2{font-size:1.5rem}.form-heading h3{font-size:1.25rem}.form-heading h4{font-size:1.125rem}.form-heading h5{font-size:1rem}.form-heading h6{font-size:.875rem}.paragraph-wrapper{margin:.5rem 0}.form-paragraph{color:#374151;font-size:.875rem;line-height:1.6;margin:0}.divider-wrapper{margin:1rem 0}.form-divider{border:none;border-top:1px solid #e5e7eb;margin:0}.form-divider.dashed{border-top-style:dashed}.form-divider.dotted{border-top-style:dotted}.form-divider.thick{border-top-width:2px}.spacer-wrapper{align-items:center;background:#f9fafb;border:1px dashed #d1d5db;border-radius:.25rem;display:flex;justify-content:center;min-height:20px;position:relative}.spacer-indicator{background:#fff;border:1px solid #e5e7eb;border-radius:.25rem;color:#9ca3af;font-size:.75rem;padding:.25rem .5rem}.image-wrapper{margin:.5rem 0}.form-image{border-radius:.375rem;box-shadow:0 1px 3px #0000001a;height:auto;max-width:100%}.image-placeholder{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:.375rem;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center}.image-placeholder span{font-size:2rem;margin-bottom:.5rem}.image-placeholder p{font-weight:500;margin:0 0 .25rem}.image-placeholder small{color:#9ca3af;font-size:.75rem}.field-control-btn:focus,.form-checkbox:focus,.form-input:focus,.form-radio:focus,.form-range:focus,.form-select:focus,.rating-star:focus,.signature-pad:focus{outline:2px solid #3b82f6;outline-offset:2px}.rating-star:focus{border-radius:50%}.form-canvas{background:#fff;background:var(--background-color,#fff);border-radius:8px;border-radius:var(--border-radius,8px);box-shadow:0 2px 4px #0000001a;display:flex;flex:1 1;flex-direction:column;min-height:600px;overflow-y:auto;position:relative;transition:all .3s ease}.canvas-header{align-items:flex-start;background:#fafbfc;border-bottom:1px solid #f3f4f6;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:1.5rem 1.5rem 1rem}.form-title-section h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.form-description{font-size:.875rem}.canvas-stats{align-items:center;display:flex;gap:1rem}.field-count{color:#6b7280;font-weight:500}.drop-zone{flex:1 1;padding:1.5rem;position:relative;transition:all .2s ease}.drop-zone.drag-over{background:#eff6ff}.drop-zone-empty{align-items:center;background:#fafbfc;border:2px dashed #d1d5db;border-radius:8px;color:#9ca3af;display:flex;flex-direction:column;height:400px;justify-content:center;text-align:center}.drop-zone-empty svg{margin-bottom:1rem;opacity:.6}.drop-zone-empty h3{color:#6b7280;font-size:1.125rem;font-weight:500;margin:0 0 .5rem}.drop-zone-empty p{font-size:.875rem;line-height:1.5;margin:0 0 1.5rem;max-width:300px}.quick-actions{display:flex;flex-wrap:wrap;gap:.75rem}.form-fields{gap:var(--spacing,1.5rem)}.field-wrapper{position:relative}.form-field-container{cursor:pointer;position:relative;transition:all .2s ease}.form-field-container:hover{transform:translateY(-1px)}.form-field-container.selected{box-shadow:0 4px 12px #3b82f626;transform:translateY(-1px)}.form-field-container.selected:after{border:2px solid #3b82f6;border-radius:8px;bottom:-2px;content:"";left:-2px;pointer-events:none;position:absolute;right:-2px;top:-2px}.drop-indicator{align-items:center;display:flex;height:2px;justify-content:center;margin:.5rem 0;position:relative}.drop-line{animation:pulse 1s infinite;background:#3b82f6;border-radius:1px;height:2px;left:0;position:absolute;right:0;top:0}.drop-text{background:#3b82f6;border-radius:.25rem;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .5rem;z-index:1}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.canvas-footer{background:#fafbfc;border-radius:0 0 8px 8px;border-top:1px solid #f3f4f6;display:flex;justify-content:flex-start;padding:1.5rem}.canvas-footer .btn{background:#3b82f6;background:var(--primary-color,#3b82f6);border-radius:6px;border-radius:var(--border-radius,6px);min-width:120px;transition:all .3s ease}.canvas-footer .btn:hover{background:color-mix(in srgb,#3b82f6 90%,#000);background:color-mix(in srgb,var(--primary-color,#3b82f6) 90%,#000)}.form-field-container[draggable=true]{cursor:move}.form-field-container.dragging{opacity:.5;transform:rotate(2deg)}@media (max-width:768px){.canvas-header{align-items:stretch;flex-direction:column;gap:1rem;padding:1rem}.form-title-section h2{font-size:1.25rem}.canvas-stats{justify-content:flex-start}.drop-zone{padding:1rem}.drop-zone-empty{height:300px;padding:1rem}.drop-zone-empty h3{font-size:1rem}.drop-zone-empty p{font-size:.75rem}.quick-actions{justify-content:center}.canvas-footer{padding:1rem}}@media (max-width:480px){.canvas-header{padding:.75rem}.form-title-section h2{font-size:1.125rem}.drop-zone{padding:.75rem}.drop-zone-empty{height:250px}.quick-actions{flex-direction:column;width:100%}.quick-actions .btn{width:100%}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-field-container.new-field{animation:slideInUp .3s ease-out}.form-canvas::-webkit-scrollbar{width:8px}.form-canvas::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.form-canvas::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.form-canvas::-webkit-scrollbar-thumb:hover{background:#94a3b8}.properties-panel{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;height:100%;overflow:hidden;width:320px}.panel-header{border-bottom:1px solid #f3f4f6;padding:1rem 1rem 0}.panel-tabs{background:#f3f4f6;border-radius:6px;display:flex;padding:2px}.tab-button{border-radius:4px;flex:1 1}.tab-button:hover:not(:disabled){color:#374151}.tab-button:disabled{cursor:not-allowed;opacity:.5}.panel-content{flex:1 1;overflow-y:auto;padding:1rem}.no-selection{align-items:center;color:#9ca3af;display:flex;flex-direction:column;height:300px;justify-content:center;text-align:center}.no-selection-icon{margin-bottom:1rem;opacity:.6}.no-selection h3{color:#6b7280;font-size:1rem;font-weight:500;margin:0 0 .5rem}.no-selection p{font-size:.875rem;line-height:1.5;margin:0}.property-section{border-bottom:1px solid #f3f4f6;margin-bottom:1.5rem;padding-bottom:1rem}.property-section:last-child{border-bottom:none;margin-bottom:0}.property-section h4{color:#1f2937;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:0 0 1rem;text-transform:uppercase}.property-group{margin-bottom:1rem}.property-group:last-child{margin-bottom:0}.property-label{color:#374151;display:block;font-size:.75rem;font-weight:500;letter-spacing:.025em;margin-bottom:.375rem;text-transform:uppercase}.property-input{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease;width:100%}.property-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.property-input::placeholder{color:#9ca3af}textarea.property-input{min-height:60px;resize:vertical}.property-row{display:flex;gap:.75rem}.property-row .property-group{flex:1 1}.checkbox-group{margin-top:.5rem}.checkbox-wrapper{align-items:center;color:#374151;cursor:pointer;font-size:.875rem;gap:.5rem}.checkbox-wrapper input[type=checkbox]{border:1px solid #d1d5db;border-radius:.25rem;cursor:pointer;height:1rem;width:1rem}.color-input-wrapper{align-items:center;display:flex;gap:.5rem}.color-presets{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}.color-preset{background:none;border:2px solid #e5e7eb;border-radius:4px;cursor:pointer;height:24px;padding:0;transition:all .2s ease;width:24px}.color-preset:hover{border-color:#3b82f6;transform:scale(1.1)}.color-preset:focus{outline:2px solid #3b82f6;outline-offset:2px}.color-input{background:none;border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer;height:40px;padding:0;width:40px}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:none;border-radius:.25rem}.color-input-wrapper .property-input{flex:1 1}.options-list{margin-bottom:.75rem}.option-item{align-items:flex-start;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;display:flex;gap:.5rem;margin-bottom:.5rem;padding:.75rem}.option-inputs{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.remove-option-btn{align-items:center;background:#ef4444;border:none;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:24px;justify-content:center;line-height:1;margin-top:.25rem;transition:all .2s ease;width:24px}.remove-option-btn:hover:not(:disabled){background:#dc2626}.remove-option-btn:disabled{background:#d1d5db;cursor:not-allowed}.add-option-btn{background:#0000;border:1px dashed #d1d5db;border-radius:.375rem;color:#6b7280;cursor:pointer;font-size:.875rem;padding:.5rem;transition:all .2s ease;width:100%}.add-option-btn:hover{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.panel-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.panel-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:1200px){.properties-panel{height:auto;max-height:400px;width:100%}}@media (max-width:768px){.properties-panel{max-height:350px}.panel-header{padding:.75rem .75rem 0}.panel-content{padding:.75rem}.property-section{margin-bottom:1rem}.property-section h4{font-size:.75rem;margin-bottom:.75rem}.property-label{font-size:.625rem}.property-input{font-size:.75rem;padding:.375rem .5rem}.property-row{gap:.5rem}.color-input{height:32px;width:32px}.option-item{padding:.5rem}.remove-option-btn{font-size:.875rem;height:20px;width:20px}}@keyframes propertyUpdate{0%{background:#dcfce7}to{background:#fff}}.property-input.updated{animation:propertyUpdate .5s ease-out}.add-option-btn:focus,.checkbox-wrapper input:focus,.color-input:focus,.property-input:focus,.remove-option-btn:focus,.tab-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.preview-container{background:#f8fafc;flex:1 1;overflow-y:auto;padding:2rem}.preview-header{margin-bottom:2rem;text-align:center}.preview-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.preview-empty{align-items:center;color:#9ca3af;display:flex;flex-direction:column;height:400px;justify-content:center;text-align:center}.preview-empty h3{color:#6b7280;font-size:1.125rem;font-weight:500;margin:0 0 .5rem}.preview-empty p{font-size:.875rem;margin:0}.preview-form-wrapper{background:#fff;background:var(--background-color,#fff);border-radius:8px;border-radius:var(--border-radius,8px);box-shadow:0 4px 6px #0000001a;margin:0 auto;max-width:600px;overflow:hidden;transition:all .3s ease}.preview-form{padding:2rem}.form-header{margin-bottom:2rem;text-align:center}.form-title{color:#1f2937;font-size:1.875rem;font-weight:700;line-height:1.2;margin:0 0 1rem}.form-description{color:#6b7280;font-size:1rem;line-height:1.5;margin:0}.form-fields{display:flex;gap:1.5rem;margin-bottom:2rem}.form-fields,.preview-field{flex-direction:column}.preview-label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.preview-label.required:after{color:#ef4444;content:" *"}.field-input-wrapper{position:relative}.preview-input,.preview-select{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.preview-input:focus,.preview-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.preview-input.error,.preview-select.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}textarea.preview-input{min-height:100px;resize:vertical}.checkbox-wrapper{align-items:flex-start;display:flex;gap:.75rem}.preview-checkbox{border:1px solid #d1d5db;border-radius:.25rem;cursor:pointer;flex-shrink:0;height:1.25rem;margin-top:.125rem;width:1.25rem}.preview-checkbox:checked{background-color:#3b82f6;border-color:#3b82f6}.checkbox-label{color:#374151;cursor:pointer;font-size:1rem;line-height:1.5;margin:0}.radio-group{display:flex;flex-direction:column;gap:.75rem}.radio-wrapper{align-items:center;display:flex;gap:.75rem}.preview-radio{border:1px solid #d1d5db;border-radius:50%;cursor:pointer;flex-shrink:0;height:1.25rem;width:1.25rem}.preview-radio:checked{background-color:#3b82f6;border-color:#3b82f6}.radio-label{color:#374151;margin:0}.preview-file,.radio-label{cursor:pointer;font-size:1rem}.preview-file{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;padding:.75rem;width:100%}.preview-file:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.range-wrapper{display:flex;flex-direction:column;gap:.5rem}.preview-range{background:#e5e7eb;border-radius:.25rem;cursor:pointer;height:.5rem;outline:none;width:100%}.preview-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#3b82f6;border-radius:50%;box-shadow:0 2px 4px #0000001a;cursor:pointer;height:1.25rem;width:1.25rem}.preview-range::-moz-range-thumb{background:#3b82f6;border:none;border-radius:50%;box-shadow:0 2px 4px #0000001a;cursor:pointer;height:1.25rem;width:1.25rem}.range-value{color:#6b7280;font-size:.875rem;font-weight:500;text-align:center}.field-error{align-items:center;color:#ef4444;display:flex;font-size:.875rem;gap:.25rem;margin-top:.375rem}.field-error:before{content:"⚠";font-size:1rem}.field-help{color:#6b7280;font-size:.875rem;line-height:1.4;margin-top:.375rem}.form-footer{margin-bottom:1rem}.form-footer,.submit-button{display:flex;justify-content:center}.submit-button{align-items:center;background:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;gap:.5rem;min-width:120px;padding:.75rem 2rem;transition:all .2s ease}.submit-button:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.submit-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.submit-result{align-items:center;border-radius:.375rem;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-top:1rem;padding:1rem}.submit-result.success{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.submit-result.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.result-icon{font-size:1.125rem;font-weight:700}@media (max-width:768px){.preview-container{padding:1rem}.preview-form{padding:1.5rem}.form-title{font-size:1.5rem}.form-description{font-size:.875rem}.form-fields{gap:1.25rem}.preview-input,.preview-select{font-size:.875rem;padding:.625rem}.checkbox-label,.radio-label,.submit-button{font-size:.875rem}.submit-button{padding:.625rem 1.5rem}}@media (max-width:480px){.preview-form-wrapper{border-radius:0;margin:0 -.5rem}.preview-form{padding:1rem}.form-title{font-size:1.25rem}.submit-button{width:100%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.preview-field,.submit-result{animation:fadeIn .3s ease-out}.preview-checkbox:focus,.preview-file:focus,.preview-input:focus,.preview-radio:focus,.preview-range:focus,.preview-select:focus,.submit-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.export-view{background:#f8fafc;flex:1 1;overflow-y:auto;padding:2rem}.export-header{margin-bottom:2rem;text-align:center}.export-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.export-header p{color:#6b7280;font-size:.875rem;margin:0}.export-empty{align-items:center;color:#9ca3af;display:flex;flex-direction:column;height:400px;justify-content:center;text-align:center}.empty-icon{margin-bottom:1rem;opacity:.6}.export-empty h3{color:#6b7280;font-size:1.125rem;font-weight:500;margin:0 0 .5rem}.export-empty p{font-size:.875rem;margin:0}.export-content{display:flex;gap:2rem;margin:0 auto;max-width:1400px}.export-sidebar{display:flex;flex-direction:column;flex-shrink:0;gap:2rem;width:300px}.export-options{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.export-options h3{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem}.export-option{margin-bottom:.75rem}.export-option:last-child{margin-bottom:0}.export-option.active{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.option-title{font-size:.875rem}.option-description{font-size:.75rem}.export-actions{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem}.export-actions .btn{justify-content:center;width:100%}.code-preview{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex:1 1;flex-direction:column}.code-header{padding:1rem 1.5rem}.code-size{color:#9ca3af;font-size:.75rem}.code-content{flex:1 1;line-height:1.6;overflow:auto;padding:1.5rem}.code-content::-webkit-scrollbar{height:8px}.code-content::-webkit-scrollbar-corner{background:#f1f5f9}@media (max-width:1024px){.export-content{flex-direction:column;gap:1.5rem}.export-sidebar{flex-direction:row;gap:1.5rem;width:100%}.export-options{flex:1 1}.export-actions{flex-shrink:0;width:200px}}@media (max-width:768px){.export-view{padding:1rem}.export-content{gap:1rem}.export-sidebar{flex-direction:column;gap:1rem}.export-options{padding:1rem}.export-option{padding:.75rem}.option-title{font-size:.75rem}.option-description{font-size:.625rem}.export-actions{padding:1rem;width:100%}.code-header{align-items:flex-start;flex-direction:column;gap:.5rem;padding:.75rem 1rem}.code-content{font-size:.625rem;padding:1rem}}@media (max-width:480px){.export-options h3{font-size:.875rem}.export-option{align-items:flex-start;flex-direction:column;gap:.5rem;padding:.5rem}.export-option input[type=radio]{align-self:flex-start}.code-content{font-size:.5rem;line-height:1.4}}.btn.copied{animation:copySuccess .6s ease-out}.export-actions .btn:focus{outline:2px solid #3b82f6;outline-offset:2px}.form-builder-container{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.form-builder{background:#f8fafc;display:flex;gap:1rem;height:calc(100vh - 64px);padding:1rem}.canvas-area{display:flex;flex:1 1;gap:1rem;min-width:0}@media (max-width:1200px){.form-builder{height:auto;min-height:calc(100vh - 64px)}.canvas-area,.form-builder{flex-direction:column}}@media (max-width:768px){.form-builder{gap:.5rem;padding:.5rem}.canvas-area{gap:.5rem}}.export-modal{background:#fff;border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:900px;overflow:hidden;width:95%}.export-modal,.export-options{display:flex;flex-direction:column}.export-options{gap:1.5rem}.export-type-selector{display:flex;flex-direction:column;gap:.75rem}.export-option{align-items:center;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;display:flex;gap:.75rem;padding:1rem;transition:all .2s ease}.export-option:hover{background:#eff6ff;border-color:#3b82f6}.export-option input[type=radio]{border:1px solid #d1d5db;border-radius:50%;cursor:pointer;flex-shrink:0;height:1.25rem;width:1.25rem}.export-option input[type=radio]:checked{background-color:#3b82f6;border-color:#3b82f6}.option-content{flex:1 1}.option-title{color:#1f2937;font-weight:600;margin-bottom:.25rem}.option-description{color:#6b7280;font-size:.875rem}.code-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.code-header{align-items:center;background:#f3f4f6;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:.75rem 1rem}.code-language{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.code-actions{display:flex;gap:.5rem}.code-content{background:#fff;color:#1f2937;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;line-height:1.5;margin:0;max-height:400px;overflow-y:auto;padding:1rem;white-space:pre-wrap;word-break:break-word}.code-content::-webkit-scrollbar{width:8px}.code-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.code-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.code-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:768px){.export-modal{max-height:95vh;width:98%}.export-options{gap:1rem}.export-option{padding:.75rem}.option-title{font-size:.875rem}.option-description{font-size:.75rem}.code-header{align-items:stretch;flex-direction:column;gap:.5rem;padding:.5rem .75rem}.code-actions{justify-content:stretch}.code-actions .btn{flex:1 1}.code-content{font-size:.625rem;max-height:300px;padding:.75rem}}@media (max-width:480px){.export-type-selector{gap:.5rem}.export-option{align-items:flex-start;flex-direction:column;gap:.5rem;padding:.5rem}.export-option input[type=radio]{align-self:flex-start}.code-content{max-height:250px}}@keyframes copySuccess{0%{background:#dcfce7;color:#166534}to{background:#0000;color:inherit}}.btn.copied{animation:copySuccess .5s ease-out}.code-actions .btn:focus,.export-option input[type=radio]:focus,.export-option:focus-within{outline:2px solid #3b82f6;outline-offset:2px}.template-modal{background:#fff;border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;overflow:hidden;width:95%}.template-categories{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.template-categories .category-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:1.5rem;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.template-categories .category-btn:hover{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.template-categories .category-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.templates-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:1.5rem;max-height:400px;overflow-y:auto}.template-card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;padding:1.5rem;transition:all .2s ease}.template-card:hover{border-color:#3b82f6;box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.template-card.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.template-icon{font-size:2rem;margin-bottom:1rem}.template-icon,.template-info{text-align:center}.template-name{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.template-description{color:#6b7280;font-size:.875rem;line-height:1.4;margin:0 0 1rem}.template-meta{display:flex;gap:1rem;justify-content:center}.field-count{background:#f3f4f6;border-radius:.25rem;color:#9ca3af;font-size:.75rem;padding:.25rem .5rem}.template-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem}.template-preview h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem}.preview-content{display:flex;flex-direction:column;gap:1rem}.preview-header h5{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.preview-header p{color:#6b7280;font-size:.875rem;margin:0}.preview-fields{display:flex;flex-direction:column;gap:.5rem}.preview-field{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:.25rem;display:flex;gap:.75rem;padding:.5rem}.preview-field.more{border-style:dashed;color:#6b7280;font-style:italic;justify-content:center}.field-type{background:#eff6ff;border-radius:.25rem;color:#3b82f6;font-size:.75rem;font-weight:500;letter-spacing:.05em;min-width:60px;padding:.25rem .5rem;text-align:center;text-transform:uppercase}.field-label{color:#374151;flex:1 1;font-size:.875rem}.templates-grid::-webkit-scrollbar{width:8px}.templates-grid::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.templates-grid::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.templates-grid::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:768px){.template-modal{max-height:95vh;width:98%}.templates-grid{grid-template-columns:1fr;max-height:300px}.template-card{padding:1rem}.template-icon{font-size:1.5rem;margin-bottom:.75rem}.template-name{font-size:1rem}.template-description{font-size:.75rem}.template-preview{padding:1rem}.preview-content{gap:.75rem}.preview-field{gap:.5rem;padding:.375rem}.field-type{font-size:.625rem;min-width:50px;padding:.125rem .375rem}.field-label{font-size:.75rem}}@media (max-width:480px){.template-categories{gap:.25rem}.template-categories .category-btn{font-size:.75rem;padding:.375rem .75rem}.template-card,.template-preview{padding:.75rem}.preview-fields{gap:.375rem}}@keyframes templateSelect{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.template-card.selected{animation:templateSelect .3s ease-out}.template-card:focus,.template-categories .category-btn:focus{outline:2px solid #3b82f6;outline-offset:2px}.header{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{height:64px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 1rem}.header-content,.header-left{align-items:center;display:flex}.header-left{flex:1 1;gap:1.5rem}.logo{align-items:center;color:#1f2937;display:flex;font-weight:600;gap:.5rem;text-decoration:none}.logo-text{font-size:1.125rem;white-space:nowrap}.form-title-input{flex:1 1;max-width:300px}.title-input{background:#f9fafb;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;font-weight:500;padding:.5rem .75rem;transition:all .2s ease;width:100%}.title-input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.header-center{align-items:center;display:flex;flex:1 1;justify-content:center}.view-tabs{background:#f3f4f6;border-radius:.5rem;display:flex;gap:.25rem;padding:.25rem}.tab-button{align-items:center;background:#0000;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.tab-button:hover{background:#ffffff80;color:#374151}.tab-button.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#3b82f6}.header-right{flex:1 1;justify-content:flex-end}.header-actions,.header-right{align-items:center;display:flex}.header-actions{gap:.5rem}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:500px;overflow:hidden;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.modal-header h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:.25rem;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:24px;justify-content:center;padding:0;transition:all .2s ease;width:24px}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-body{padding:1.5rem}.modal-footer{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}@media (max-width:768px){.header-content{gap:.5rem;padding:0 .5rem}.header-left,.header-right{flex:none}.header-center{flex:1 1}.logo-text{display:none}.form-title-input{max-width:150px}.title-input{font-size:.875rem;padding:.375rem .5rem}.tab-button{font-size:.75rem;padding:.375rem .75rem}.tab-button svg{height:14px;width:14px}.header-actions{gap:.25rem}.btn-sm{font-size:.75rem;padding:.375rem .5rem}.btn-sm svg{height:14px;width:14px}}@media (max-width:640px){.form-title-input,.header-actions .btn span,.tab-button span{display:none}}
/*# sourceMappingURL=main.9e903093.css.map*/