:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--text-primary);background-color:var(--background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--primary);text-decoration:inherit}a:hover{color:var(--primary-dark)}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--surface);color:var(--text-primary);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--primary);background-color:var(--surface-hover)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.search-input{padding:.625rem 1rem .625rem 2.5rem;border:1px solid var(--border, #d1d5db);border-radius:8px;font-size:.875rem;background-color:var(--surface, #ffffff);color:var(--text-primary);transition:border-color .15s,box-shadow .15s}.search-input::placeholder{color:var(--text-tertiary, #9ca3af)}.search-input:focus{outline:none;border-color:var(--primary, #6366f1);box-shadow:0 0 0 3px #6366f11a}[data-theme=dark] .search-input{background-color:var(--background-tertiary, #1f2937);border-color:var(--border, #374151)}.login-container{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;padding:40px;width:480px;height:830px;position:relative;overflow:hidden}.login-header{text-align:center;margin-bottom:32px}.login-header .logo{width:56px;height:56px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#fff}.login-header h1{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 8px}.login-header p{color:#6b7280;font-size:16px;margin:0}.login-card .alert{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border-radius:8px;margin-bottom:20px;font-size:12px;font-weight:500;text-align:center;white-space:normal;word-wrap:break-word;line-height:1.3;min-height:45px;max-height:none}.login-card .alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.login-card .alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.login-card .alert-close{background:none;border:none;color:inherit;cursor:pointer;padding:4px;border-radius:4px;margin-left:auto;opacity:.7;transition:opacity .2s;font-size:12px;flex-shrink:0}.login-card .alert-close:hover{opacity:1}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.login-form,.login-form .form-group{margin-bottom:20px}.login-form label{display:block;color:#374151;font-weight:500;margin-bottom:6px;font-size:14px}.login-form input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;transition:all .2s;box-sizing:border-box}.login-form input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-form input::placeholder{color:#9ca3af}.login-form .password-input{position:relative}.login-form .password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#6b7280;cursor:pointer;padding:8px;border-radius:4px;transition:color .2s}.login-form .password-toggle:hover{color:#374151}.login-form .form-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.login-form .remember-me{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#6b7280;white-space:nowrap}.login-form .form-options a{font-size:14px;color:#667eea;text-decoration:none;font-weight:500}.login-form .form-options a:hover{text-decoration:underline}.login-button{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px -5px #667eea66}.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-button .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.login-card .divider{position:relative;text-align:center;margin:20px 0}.login-card .divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e5e7eb}.login-card .divider span{background:#fff;color:#6b7280;padding:0 16px;font-size:14px;position:relative}.login-card .social-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.login-card .social-button{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 24px;border:2px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.login-card .social-button:hover:not(:disabled){border-color:#d1d5db;background:#f9fafb}.login-card .social-button:disabled{opacity:.5;cursor:not-allowed}.login-card .social-button.google i{color:#db4437}.login-card .social-button.microsoft i{color:#00a1f1}.login-footer{text-align:center;color:#6b7280;font-size:14px}.login-footer a{color:#667eea;text-decoration:none;font-weight:500}.login-footer a:hover{text-decoration:underline}@media (max-width: 480px){.login-container{padding:16px}.login-card{padding:32px 24px}.login-header h1{font-size:24px}.login-card .social-buttons{gap:8px}}:root{--primary: #667eea;--primary-dark: #5a67d8;--secondary: #764ba2;--primary-rgb: 102, 126, 234;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-900: #111827}.projects-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:0;margin:0}.projects-content{background:#f8fafc;min-height:100vh;padding:2rem 0}.projects-loading{display:flex;justify-content:center;align-items:center;height:50vh;font-size:1.2rem;color:var(--gray-600)}.projects-page-header{margin-bottom:2rem}.projects-page-title-section h1{font-size:2rem;font-weight:700;color:var(--gray-900);margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.projects-page-title-section h1 i{color:var(--primary);font-size:1.75rem}.projects-page-subtitle{font-size:1rem;color:var(--gray-600);margin:0;font-weight:400}.projects-stats-section{margin-bottom:2rem;width:100%}.projects-stats-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:1.5rem;margin-bottom:2rem;width:100%;box-sizing:border-box}.projects-stat-card{background:var(--surface);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;border:1px solid var(--gray-200);position:relative;overflow:hidden;transition:all .3s ease;min-height:140px}.projects-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.projects-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--secondary))}.projects-stat-content{position:relative;z-index:2;padding-right:80px;display:flex;flex-direction:column;justify-content:center;height:100%}.projects-stat-number{font-size:2.25rem;font-weight:700;color:var(--gray-900);margin-bottom:.5rem}.projects-stat-label{font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:.25rem}.projects-stat-meta{font-size:.75rem;color:var(--gray-500);display:flex;align-items:center;gap:.25rem}.projects-stat-icon{position:absolute;top:1.5rem;right:1.5rem;width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;z-index:1}.projects-stat-icon.total{background:linear-gradient(135deg,#667eea,#764ba2)}.projects-stat-icon.active{background:linear-gradient(135deg,#43e97b,#38f9d7)}.projects-stat-icon.flows{background:linear-gradient(135deg,#4facfe,#00f2fe)}.projects-stat-icon.recent{background:linear-gradient(135deg,#f093fb,#f5576c)}.projects-action-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.projects-action-header h2{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin:0;display:flex;align-items:center;gap:.5rem}.projects-action-header h2 i{color:var(--primary)}.projects-filter-section{background:var(--surface);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000001a;border:1px solid var(--gray-200)}.projects-search-wrapper{position:relative;flex:1;max-width:400px}.projects-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--gray-500);z-index:2}.projects-search-input{padding-left:2.5rem!important;border:1px solid var(--gray-300);border-radius:8px;transition:all .3s ease;background:var(--gray-50)}.projects-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1);background:var(--surface);outline:none}.projects-filter-select{border:1px solid var(--gray-300);border-radius:8px;background:var(--gray-50);color:var(--gray-700);padding:.5rem 1rem;min-width:150px;transition:all .3s ease}.projects-filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1);background:var(--surface);outline:none}.projects-modern-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-bottom:2rem}.projects-modern-card{background:var(--surface);border-radius:12px;box-shadow:0 2px 8px #0000001a;border:1px solid var(--gray-200);overflow:hidden;transition:all .3s ease;position:relative;animation:fadeIn .5s ease-in-out}.projects-modern-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #00000026}.projects-modern-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--secondary))}.projects-card-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--gray-100)}.projects-card-header-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.projects-card-icon{width:48px;height:48px;background:rgba(var(--primary-rgb),.1);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:1.25rem;flex-shrink:0}.projects-card-info{flex:1;margin-left:1rem}.projects-card-name{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0 0 .5rem;line-height:1.3}.projects-card-meta{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:var(--gray-600)}.projects-card-meta span{display:flex;align-items:center;gap:.5rem}.projects-card-meta i{color:var(--gray-500);width:12px}.projects-card-actions{position:relative}.projects-actions-dropdown{background:none;border:none;color:var(--gray-500);padding:.5rem;border-radius:6px;transition:all .2s ease;cursor:pointer}.projects-actions-dropdown:hover{background:var(--gray-100);color:var(--gray-700)}.projects-card-body{padding:1rem 1.5rem 1.5rem}.projects-card-description{color:var(--gray-600);font-size:.875rem;line-height:1.5;margin-bottom:1.5rem}.projects-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.projects-card-stat{text-align:center;padding:1rem;background:var(--gray-50);border-radius:8px}.projects-card-stat-number{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin:0 0 .25rem}.projects-card-stat-label{font-size:.75rem;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.05em;margin:0}.projects-card-flows{margin-bottom:1.5rem}.projects-flows-header{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:.75rem}.projects-flows-header i{color:var(--primary)}.projects-flows-list{display:flex;flex-direction:column;gap:.5rem}.projects-flow-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:var(--gray-50);border-radius:6px;font-size:.875rem}.projects-flow-icon{color:var(--primary);font-size:.75rem}.projects-flow-name{flex:1;color:var(--gray-700);font-weight:500}.projects-flow-status{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.projects-flow-status.success{background:#22c55e1a;color:#059669}.projects-flow-status.pending{background:#f59e0b1a;color:#d97706}.projects-card-footer{padding:1rem 1.5rem;background:var(--gray-50);display:flex;gap:.75rem}.projects-empty-state{text-align:center;padding:4rem 2rem;background:var(--surface);border-radius:12px;box-shadow:0 2px 8px #0000001a;border:1px solid var(--gray-200)}.projects-empty-state-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:rgba(var(--primary-rgb),.1);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--primary)}.projects-empty-state h3{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin:0 0 .5rem}.projects-empty-state p{color:var(--gray-600);margin:0 0 2rem;font-size:1rem;max-width:500px;margin-left:auto;margin-right:auto}.create-project-header{display:flex;align-items:center;gap:1rem}.create-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem}.create-project-title{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0}.form-label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--gray-700);font-size:.875rem}.form-input{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-300);border-radius:8px;font-size:.875rem;transition:all .3s ease;background:var(--gray-50)}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1);background:var(--surface);outline:none}.form-textarea{resize:vertical;min-height:80px}@media (max-width: 1024px){.projects-stats-grid{grid-template-columns:repeat(2,1fr)!important}.projects-modern-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width: 768px){.projects-content{padding:1rem 0}.projects-stats-grid{grid-template-columns:1fr!important;gap:1rem}.projects-action-header{flex-direction:column;align-items:flex-start;gap:1rem}.projects-filter-section .d-flex{flex-direction:column;gap:1rem}.projects-search-wrapper{max-width:none}.projects-modern-grid{grid-template-columns:1fr}}@media (max-width: 480px){.projects-card-stats{grid-template-columns:1fr}.projects-card-footer{flex-direction:column}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.projects-modern-card:nth-child(1){animation-delay:0s}.projects-modern-card:nth-child(2){animation-delay:.1s}.projects-modern-card:nth-child(3){animation-delay:.2s}.projects-modern-card:nth-child(4){animation-delay:.3s}.justify-content-between{justify-content:space-between!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.container-fluid{width:100%;padding-right:1rem;padding-left:1rem;margin-right:auto;margin-left:auto;max-width:1400px}.dropdown{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:100%;right:0;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:.875rem;color:var(--gray-700);text-align:left;list-style:none;background-color:var(--surface);background-clip:padding-box;border:1px solid var(--gray-200);border-radius:.375rem;box-shadow:0 .5rem 1rem #00000026}.dropdown:hover .dropdown-menu{display:block}.dropdown-item{display:block;width:100%;padding:.375rem 1rem;clear:both;font-weight:400;color:var(--gray-700);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;cursor:pointer}.dropdown-item:hover{color:var(--gray-900);background-color:var(--gray-100)}.dropdown-item.text-danger{color:#dc3545}.dropdown-item.text-danger:hover{color:#dc3545;background-color:#dc35451a}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid var(--gray-200)}.text-muted{color:var(--gray-500)!important}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#00000080}.modal-backdrop.show{opacity:1}.modal.show{display:block!important}.modal{position:fixed;top:0;left:0;z-index:1050;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:1.75rem auto;pointer-events:none}.modal-content.modal-xl{max-width:800px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--gray-200);border-top-left-radius:.5rem;border-top-right-radius:.5rem}.modal-body{position:relative;flex:1 1 auto;padding:1.5rem}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid var(--gray-200);border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--gray-500);background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='m.235.757 1.044-.979 1.044.979L8 6.433l5.677-5.676 1.044.979L9.044 7.414l5.677 5.677-1.044.979L8 8.394 2.323 14.07l-1.044-.979L6.956 7.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5;cursor:pointer}.btn-close:hover{color:var(--gray-700);text-decoration:none;opacity:.75}.modern-properties-panel{width:100%;height:100%;background:linear-gradient(135deg,#fff,#f8fafc);border-left:1px solid #e2e8f0;display:flex;flex-direction:column;box-shadow:-4px 0 20px #00000014;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}.panel-title{margin:0;font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.close-button{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s ease;opacity:.8}.close-button:hover{opacity:1;background:#ffffff1a;transform:scale(1.1)}.tab-navigation{display:flex;background:#f1f5f9;border-bottom:1px solid #e2e8f0}.tab-button{flex:1;background:none;border:none;padding:16px 20px;color:#64748b;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;position:relative}.tab-button:hover{color:#475569;background:#ffffff80}.tab-button.active{color:#667eea;background:#fff;border-bottom:2px solid #667eea}.tab-button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#667eea}.panel-content{flex:1;overflow-y:auto!important;padding:24px!important;height:auto!important;min-height:400px!important;max-height:calc(100vh - 200px)!important}.component-tab{height:100%}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;text-align:center;color:#64748b}.empty-icon{font-size:48px;color:#cbd5e1;margin-bottom:16px}.empty-state h4{margin:0 0 8px;color:#475569;font-weight:600}.empty-state p{margin:0;color:#64748b;line-height:1.5}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;text-align:center}.spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loading-state p{margin:0;color:#64748b;font-weight:500}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;text-align:center;color:#dc2626}.error-icon{font-size:48px;color:#fca5a5;margin-bottom:16px}.error-state h4{margin:0 0 8px;color:#dc2626;font-weight:600}.error-state p{margin:0;color:#ef4444}.component-form{max-width:100%}.component-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.component-header h4{margin:0 0 8px;color:#1e293b;font-weight:600;font-size:20px}.component-description{margin:0;color:#64748b;line-height:1.5}.step-info-section{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #cbd5e1;border-radius:12px;margin-bottom:24px;overflow:hidden;box-shadow:0 2px 8px #0000000a}.step-info-section .section-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 20px;margin:0}.step-info-section .section-header h5{margin:0;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.step-info-fields{padding:20px;background:#fff}.step-info-fields .field-group{margin-bottom:16px}.step-info-fields .field-group:last-child{margin-bottom:0}.step-info-fields .modern-input,.step-info-fields .modern-textarea{border-color:#d1d5db;background:#f9fafb;transition:all .2s ease}.step-info-fields .modern-input:focus,.step-info-fields .modern-textarea:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-fields{margin-bottom:24px}.field-group{margin-bottom:20px}.field-label{display:block;margin-bottom:8px;color:#374151;font-weight:500;font-size:14px}.required{color:#dc2626;margin-left:4px}.field-description{margin:6px 0 0;color:#6b7280;font-size:12px;line-height:1.4}.modern-input,.modern-textarea,.modern-select{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s ease;background:#fff;color:#1e293b}.modern-input:focus,.modern-textarea:focus,.modern-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-1px)}.modern-input:hover,.modern-textarea:hover,.modern-select:hover{border-color:#cbd5e1}.modern-textarea{resize:vertical;min-height:80px;font-family:inherit}.modern-select{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.modern-checkbox-wrapper{display:flex;align-items:center;gap:12px}.modern-checkbox{width:20px;height:20px;border:2px solid #e2e8f0;border-radius:4px;cursor:pointer;transition:all .2s ease;position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff}.modern-checkbox:checked{background:#667eea;border-color:#667eea}.modern-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.modern-checkbox:focus{outline:none;box-shadow:0 0 0 3px #667eea1a}.checkbox-label{cursor:pointer;color:#374151;font-size:14px;line-height:1.4;margin:0}.apply-button{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.apply-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.apply-button:active{transform:translateY(0)}.apply-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.flow-tab{height:100%!important;display:block!important;visibility:visible!important;opacity:1!important;position:relative!important}.flow-settings-form{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:auto!important;position:relative!important;background:#f0f9ff!important;padding:20px!important}.flow-settings-form h4{margin:0 0 24px!important;color:#1e293b!important;font-weight:600!important;font-size:18px!important;padding-bottom:12px!important;border-bottom:1px solid #e2e8f0!important;display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;width:100%!important}.flow-settings-form .field-group{margin-bottom:20px!important;display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:auto!important;position:relative!important}.flow-settings-form .field-label{display:block!important;visibility:visible!important;opacity:1!important;margin-bottom:8px!important;color:#374151!important;font-weight:500!important;font-size:14px!important}.flow-settings-form .modern-input,.flow-settings-form .modern-textarea,.flow-settings-form .modern-select{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:auto!important;min-height:44px!important;padding:12px 16px!important;border:2px solid #e2e8f0!important;border-radius:8px!important;font-size:14px!important;background:#fff!important;color:#1e293b!important;box-sizing:border-box!important}.flow-settings-form .apply-button{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:auto!important;min-height:44px!important;margin-top:24px!important}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:#f1f5f9}.panel-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.panel-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 768px){.panel-content{padding:16px}.panel-header{padding:16px 20px}.tab-button{padding:12px 16px;font-size:14px}.panel-title{font-size:16px}}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.modern-properties-panel{animation:slideInFromRight .3s ease-out}.properties-creator-container{background:linear-gradient(135deg,#667eea0d,#764ba20d);border:2px dashed rgba(102,126,234,.3)!important;border-radius:12px!important;padding:20px!important;margin-bottom:20px;transition:all .3s ease;display:flex;flex-direction:column;gap:16px}.properties-creator-container:hover{border-color:#667eea80!important;background:linear-gradient(135deg,#667eea14,#764ba214)}.properties-creator-container h4{margin:0 0 16px;color:#495057;font-weight:600;font-size:16px;letter-spacing:.3px}.add-property-btn{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid rgba(102,126,234,.3);color:#667eea;font-size:14px;font-weight:600;padding:12px 20px;border-radius:10px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-self:flex-start;display:flex;align-items:center;gap:8px}.add-property-btn:hover{background:linear-gradient(135deg,#667eea33,#764ba233);transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.add-property-btn i{font-size:12px}.properties-list{display:flex;flex-direction:column;gap:16px}.property-card{background:#ffffffe6!important;border:1px solid rgba(102,126,234,.2)!important;border-radius:10px!important;padding:20px!important;transition:all .3s ease;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideInFromRight .4s ease-out}.property-card:hover{border-color:#667eea66!important;box-shadow:0 4px 16px #667eea26;transform:translateY(-2px)}@keyframes slideInFromRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.property-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.property-name-input{flex-grow:1;min-height:42px;padding:12px 16px;border:2px solid rgba(102,126,234,.1);border-radius:10px;background:#f8f9facc;transition:all .3s ease;font-weight:500;font-size:14px}.property-name-input:focus{border-color:#667eea80;background:#fff;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-1px);outline:none}.property-name-input::placeholder{color:#6c757d;font-weight:400}.property-action-btn.remove-btn{background:linear-gradient(135deg,#dc3545,#c82333)!important;border:none!important;color:#fff!important;border-radius:8px!important;padding:8px 12px!important;font-size:12px!important;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #dc35454d;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center}.property-action-btn.remove-btn:hover{background:linear-gradient(135deg,#c82333,#bd2130)!important;transform:translateY(-1px);box-shadow:0 4px 12px #dc354566}.property-card-body{display:flex;flex-direction:column;gap:16px}.property-preview{background:linear-gradient(135deg,#f8f9fae6,#f1f5f9e6);border:1px solid rgba(102,126,234,.1);padding:12px 16px;border-radius:8px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;color:#495057;word-break:break-all;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.scope-section,.separator-section{display:flex;flex-direction:column;gap:8px}.scope-label{display:block;font-weight:600;color:#495057;font-size:14px;letter-spacing:.3px;margin-bottom:4px}.scope-select{width:100%;padding:10px 14px;background:#fff;border:2px solid #e9ecef;border-radius:8px;font-size:14px;color:#495057;transition:all .3s ease;font-family:inherit}.scope-select:hover{border-color:#667eea66}.scope-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.separator-label{display:block;font-weight:600;color:#495057;font-size:14px;letter-spacing:.3px;margin-bottom:4px}.separator-input{min-height:42px;padding:12px 16px;border:2px solid rgba(102,126,234,.1);border-radius:10px;background:#f8f9facc;transition:all .3s ease;font-weight:500;font-size:14px}.separator-input:focus{border-color:#667eea80;background:#fff;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-1px);outline:none}.sources-section{display:flex;flex-direction:column;gap:12px;background:#f8fafc80;padding:16px;border-radius:8px;border:1px solid rgba(102,126,234,.05)}.sources-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.sources-title{margin:0;color:#495057;font-weight:600;font-size:14px;letter-spacing:.3px}.add-source-btn{background:linear-gradient(135deg,#28a745,#218838);border:none;color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:6px;box-shadow:0 2px 8px #28a7454d}.add-source-btn:hover{background:linear-gradient(135deg,#218838,#1e7e34);transform:translateY(-1px);box-shadow:0 4px 12px #28a74566}.add-source-btn i{font-size:10px}.sources-list{display:flex;flex-direction:column;gap:12px}.source-item{background:#fffc;border:1px solid rgba(102,126,234,.1);border-radius:8px;padding:16px;position:relative;transition:all .3s ease;display:flex;flex-direction:column;gap:12px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.source-item:hover{border-color:#667eea4d;box-shadow:0 2px 8px #667eea1a}.remove-source-btn{position:absolute;top:8px;right:8px;background:#dc35451a;border:1px solid rgba(220,53,69,.3);color:#dc3545;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.remove-source-btn:hover{background:#dc3545;color:#fff;transform:scale(1.1)}.source-type-section,.source-value-section{display:flex;flex-direction:column;gap:8px}.source-type-label{display:block;font-weight:600;color:#495057;font-size:12px;letter-spacing:.3px;text-transform:uppercase;margin-bottom:4px}.source-type-select,.source-value-input,.source-value-select,.source-schema-select{min-height:38px;padding:10px 12px;border:2px solid rgba(102,126,234,.1);border-radius:8px;background:#f8f9facc;transition:all .3s ease;font-weight:500;font-size:13px}.source-type-select:focus,.source-value-input:focus,.source-value-select:focus,.source-schema-select:focus{border-color:#667eea80;background:#fff;box-shadow:0 0 0 2px #667eea1a;outline:none}.source-field-btn{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid rgba(102,126,234,.3);color:#667eea;font-size:12px;font-weight:600;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .3s ease;margin-top:4px}.source-field-btn:hover:not(:disabled){background:linear-gradient(135deg,#667eea33,#764ba233);transform:translateY(-1px);box-shadow:0 2px 8px #667eea33}.source-field-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.lookup-config{display:flex;flex-direction:column;gap:12px;padding:12px;background:#667eea0d;border:1px solid rgba(102,126,234,.1);border-radius:8px}.lookup-table-section,.lookup-type-section,.lookup-source-section,.lookup-value-section,.lookup-default-section{display:flex;flex-direction:column;gap:6px}.lookup-columns-section{display:flex;flex-direction:column;gap:12px}.lookup-columns-section>div{display:flex;flex-direction:column;gap:6px}.lookup-config label{font-weight:600;color:#495057;font-size:11px;letter-spacing:.3px;text-transform:uppercase}.lookup-config select,.lookup-config input{min-height:38px;padding:10px 12px;border:2px solid rgba(102,126,234,.1);border-radius:8px;background:#f8f9facc;transition:all .3s ease;font-weight:500;font-size:13px;width:100%}.lookup-config select:focus,.lookup-config input:focus{border-color:#667eea80;background:#fff;box-shadow:0 0 0 2px #667eea1a;outline:none}@media (max-width: 768px){.properties-creator-container,.property-card{padding:16px!important}.property-card-header,.sources-header{flex-direction:column;align-items:stretch;gap:8px}}.schema-field-modal-portal{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;z-index:99999!important;pointer-events:none!important}.schema-modal-backdrop{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;background-color:#0009!important;z-index:100000!important;pointer-events:all!important}.schema-modal-container{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;display:flex!important;justify-content:center!important;align-items:center!important;z-index:100001!important;pointer-events:none!important}.schema-modal-dialog{width:90%;max-width:800px;max-height:90vh;pointer-events:all}.schema-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.schema-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e9ecef;background-color:#f8f9fa}.schema-modal-title{margin:0;font-size:1.25rem;font-weight:600;color:#495057;display:flex;align-items:center;gap:.5rem}.schema-modal-close{background:none;border:none;font-size:1.5rem;font-weight:700;color:#6c757d;cursor:pointer;padding:.25rem;line-height:1}.schema-modal-close:hover{color:#000}.schema-modal-body{padding:1.5rem;flex:1;overflow:hidden;display:flex;flex-direction:column}.schema-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.schema-info h6{margin:0 0 .25rem;color:#495057}.schema-info small{color:#6c757d}.schema-actions{display:flex;gap:.5rem}.btn-expand,.btn-collapse{background:#f8f9fa;border:1px solid #dee2e6;color:#495057;padding:.375rem .75rem;border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-expand:hover,.btn-collapse:hover{background:#e9ecef;border-color:#adb5bd}.schema-tree-container{border:1px solid #dee2e6;border-radius:.375rem;padding:1rem;background:#fff;flex:1;overflow-y:auto;max-height:400px}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.loading-state .spinner{width:2rem;height:2rem;border:.25em solid #f3f3f3;border-top:.25em solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.error-state i{color:#dc3545;font-size:2rem;margin-bottom:1rem}.empty-state i{color:#6c757d;font-size:2rem;margin-bottom:1rem}.empty-state small{display:block;color:#6c757d;font-size:.75rem;margin-top:.5rem;white-space:pre-wrap;font-family:monospace}.schema-tree{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}.field-group{margin-bottom:.5rem}.field-header{display:flex;align-items:center;padding:.5rem;cursor:pointer;border-radius:.375rem;transition:all .2s ease;-webkit-user-select:none;user-select:none}.field-header:hover{background-color:#f8f9fa}.field-header.expandable{color:#495057;font-weight:500}.field-header.expanded{color:#007bff}.field-icon{margin-right:.5rem;width:16px;color:#6c757d}.field-header .field-icon{color:#ffc107}.field-item .field-icon{color:#17a2b8}.field-name{font-weight:500;margin-right:.5rem}.field-type{color:#6c757d;font-size:.875rem;margin-right:.5rem}.field-description{color:#6c757d;font-size:.75rem;font-style:italic;margin-left:auto}.nested-fields{padding-left:1.5rem;border-left:2px solid #e9ecef;margin-left:.5rem;margin-top:.5rem}.field-item{display:flex;align-items:center;padding:.5rem;cursor:pointer;border-radius:.375rem;transition:all .2s ease;margin-bottom:.25rem;-webkit-user-select:none;user-select:none}.field-item:hover{background-color:#f8f9fa}.field-item.selected{background-color:#e7f3ff!important;border:2px solid #007bff!important;color:#007bff!important;box-shadow:0 0 8px #007bff4d!important;transform:translate(4px)!important}.field-item.selected .field-icon{color:#007bff}.field-item.selected .field-name{font-weight:600}.selected-field-preview{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:.375rem;border:1px solid #e9ecef}.selected-field-preview h6{margin:0 0 .5rem;color:#495057}.selected-field-preview code{background:#fff;color:#007bff;padding:.25rem .5rem;border-radius:.25rem;font-family:Monaco,Menlo,monospace}.schema-modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid #e9ecef;background-color:#f8f9fa}.btn-cancel,.btn-select{padding:.5rem 1rem;border-radius:.375rem;border:1px solid;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-cancel{background:#fff;color:#6c757d;border-color:#6c757d}.btn-cancel:hover{background:#6c757d;color:#fff}.btn-select{background:#007bff;color:#fff;border-color:#007bff}.btn-select:hover{background:#0056b3;border-color:#0056b3}.btn-select:disabled{background:#6c757d;border-color:#6c757d;opacity:.65;cursor:not-allowed}.project-explorer{width:100%;height:100%;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.explorer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#f9fafb;min-height:64px;box-sizing:border-box}.explorer-title{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600;color:#374151;margin:0}.explorer-title i{color:#6366f1;font-size:18px}.create-project-button{background:#6366f1;color:#fff;border:none;padding:8px 10px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s ease;min-width:36px;height:36px}.create-project-button:hover:not(:disabled){background:#4f46e5;transform:translateY(-1px)}.create-project-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.close-button{background:none;border:none;color:#6b7280;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-button:hover{background:#f3f4f6;color:#374151}.explorer-search{padding:16px 20px;border-bottom:1px solid #e5e7eb}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:#9ca3af;font-size:14px;z-index:1}.clear-search{position:absolute;right:8px;background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;border-radius:4px;font-size:12px;transition:all .2s ease}.clear-search:hover{background:#f3f4f6;color:#374151}.explorer-content{flex:1;overflow:auto;padding:8px 0}.explorer-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.spinner{width:32px;height:32px;border:3px solid #f3f4f6;border-top:3px solid #6366f1;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.explorer-loading p{color:#6b7280;font-size:14px;margin:0}.explorer-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.error-icon{width:48px;height:48px;border-radius:12px;background:#ef44441a;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.error-icon i{color:#ef4444;font-size:20px}.explorer-error h4{font-size:16px;font-weight:600;color:#374151;margin:0 0 8px}.explorer-error p{color:#6b7280;font-size:14px;margin:0 0 16px}.retry-button{background:#6366f1;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.retry-button:hover{background:#5856eb}.explorer-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.empty-icon{width:48px;height:48px;border-radius:12px;background:#9ca3af1a;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.empty-icon i{color:#9ca3af;font-size:20px}.explorer-empty h4{font-size:16px;font-weight:600;color:#374151;margin:0 0 8px}.explorer-empty p{color:#6b7280;font-size:14px;margin:0}.explorer-tree{padding:0}.tree-node{margin:0}.tree-node-content{display:flex;align-items:center;padding:8px 12px;margin:1px 8px;border-radius:6px;cursor:pointer;transition:all .2s ease;position:relative;min-height:32px;box-sizing:border-box}.tree-node-content:hover{background:#f3f4f6}.tree-node-content.company{font-weight:600;color:#1f2937}.tree-node-content.company:hover{background:#e5e7eb}.tree-node-content.project{font-weight:500;color:#374151}.tree-node-content.project:hover{background:#eff6ff}.tree-node-content.folder{font-weight:500;color:#4b5563}.tree-node-content.folder:hover{background:#f0f9ff}.tree-node-content.flow:hover{background:#ecfdf5}.tree-node-content.schema:hover{background:#fef3c7}.tree-node-content.mapping:hover{background:#fce7f3}.tree-node-content.xslt:hover{background:#f0f4ff}.tree-expand-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:4px;transition:transform .2s ease;color:#9ca3af}.tree-expand-icon.expanded{transform:rotate(90deg)}.tree-expand-icon i{font-size:10px}.tree-node-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:8px;flex-shrink:0}.tree-node-content.company .tree-node-icon i{color:#6366f1}.tree-node-content.project .tree-node-icon i{color:#f59e0b}.tree-node-content.folder .tree-node-icon i{color:#6b7280}.tree-node-content.flow .tree-node-icon i{color:#10b981}.tree-node-content.schema .tree-node-icon i{color:#f59e0b}.tree-node-content.mapping .tree-node-icon i{color:#ec4899}.tree-node-content.xslt .tree-node-icon i{color:#8b5cf6}.tree-node-name{flex:1;font-size:14px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-node-count{background:#e5e7eb;color:#6b7280;font-size:11px;font-weight:500;padding:2px 6px;border-radius:10px;margin-left:8px;min-width:16px;text-align:center;flex-shrink:0}.tree-node-content.company .tree-node-count{background:#e0e7ff;color:#6366f1}.tree-node-content.project .tree-node-count{background:#dbeafe;color:#2563eb}.tree-node-content.folder .tree-node-count{background:#f3f4f6;color:#6b7280}.tree-add-button{background:none;border:none;color:#9ca3af;font-size:12px;padding:4px 6px;border-radius:4px;cursor:pointer;opacity:0;transition:all .2s ease;margin-left:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.tree-node-content:hover .tree-add-button{opacity:1}.tree-add-button:hover{color:#6366f1;background-color:#6366f11a}.tree-delete-button{background:none;border:none;color:#9ca3af;font-size:12px;padding:4px 6px;border-radius:4px;cursor:pointer;opacity:0;transition:all .2s ease;margin-left:4px}.tree-node-content:hover .tree-delete-button{opacity:1}.tree-delete-button:hover{color:#ef4444;background-color:#ef44441a}.tree-node-children{margin-left:0}.explorer-footer{padding:12px 20px;border-top:1px solid #e5e7eb;background:#f9fafb}.footer-stats{display:flex;align-items:center;justify-content:center;font-size:12px;color:#6b7280;font-weight:500}.explorer-content::-webkit-scrollbar{width:6px}.explorer-content::-webkit-scrollbar-track{background:#f1f5f9}.explorer-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.explorer-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 768px){.explorer-header,.explorer-search{padding:12px 16px}.explorer-footer{padding:8px 16px}.tree-node-content{padding:6px 8px;margin:1px 4px}.explorer-title{font-size:14px}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tree-node-children{animation:slideDown .2s ease-out}.ai-flow-chat-panel{position:absolute;left:80px;top:80px;transform:translate(-100%);width:420px;max-width:90vw;height:calc(100vh - 140px);max-height:580px;background:#fffffffa;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 32px #0000001f;border-radius:16px;z-index:1000;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.ai-flow-chat-panel.active{opacity:1;visibility:visible;transform:translate(0)}.ai-chat-header{padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.06);display:flex;justify-content:space-between;align-items:center;background:#fafbfc;border-radius:16px 16px 0 0;flex-shrink:0}.ai-chat-header h3{margin:0;font-size:16px;font-weight:600;color:#374151;display:flex;align-items:center;gap:8px}.ai-chat-header h3:before{content:"🤖";font-size:18px}.ai-chat-close{all:unset;box-sizing:border-box;font-family:inherit;background:#f9fafb;border:1px solid #f3f4f6;cursor:pointer;font-size:14px;color:#6b7280;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.ai-chat-close:hover{background:#fef2f2;color:#ef4444;border-color:#fee2e2}.ai-chat-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.ai-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:rgba(156,163,175,.3) transparent}.ai-chat-messages::-webkit-scrollbar{width:4px}.ai-chat-messages::-webkit-scrollbar-track{background:transparent}.ai-chat-messages::-webkit-scrollbar-thumb{background:#9ca3af4d;border-radius:2px}.ai-chat-messages::-webkit-scrollbar-thumb:hover{background:#9ca3af80}.ai-message{max-width:85%;align-self:flex-start}.user-message{max-width:85%;align-self:flex-end}.ai-message-content{display:flex;gap:10px;padding:12px 14px;background:#f9fafb;border-radius:12px 12px 12px 4px;border:1px solid #f3f4f6}.ai-message.error .ai-message-content{background:#fef2f2;border-color:#fee2e2}.user-message-content{padding:12px 14px;background:#eff6ff;color:#1e40af;border:1px solid #dbeafe;border-radius:12px 12px 4px;font-weight:500;white-space:pre-wrap}.ai-icon{width:20px;height:20px;color:#8b5cf6;flex-shrink:0;margin-top:1px}.ai-text{flex:1;color:#374151;line-height:1.5;font-size:14px}.ai-content p{margin:0 0 6px;white-space:pre-wrap}.ai-content p:last-child{margin-bottom:0}.flow-preview{margin-top:10px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.flow-preview-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.flow-preview-title{font-weight:600;color:#374151;font-size:13px}.flow-preview-actions{display:flex;gap:6px}.btn-apply-flow,.btn-preview-flow{all:unset;box-sizing:border-box;font-family:inherit;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.btn-apply-flow{background:#f0fdf4;color:#16a34a;border:1px solid #dcfce7}.btn-apply-flow:hover{background:#dcfce7;color:#15803d}.btn-preview-flow{background:#f9fafb;color:#6b7280;border:1px solid #f3f4f6}.btn-preview-flow:hover{background:#f3f4f6;color:#374151}.flow-preview-content{padding:10px 12px;font-size:12px;color:#6b7280;line-height:1.4}.ai-chat-input-container{padding:16px;border-top:1px solid rgba(0,0,0,.06);background:#fafbfc;border-radius:0 0 16px 16px;flex-shrink:0}.ai-chat-input-wrapper{display:flex;gap:8px;align-items:flex-end}.ai-chat-input-wrapper textarea{flex:1;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;font-size:13px;font-family:inherit;background:#fff;resize:none;transition:all .15s ease;outline:none;min-height:36px;line-height:1.4}.ai-chat-input-wrapper textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.ai-chat-input-wrapper textarea:disabled{opacity:.6;cursor:not-allowed;background:#f9fafb}.ai-chat-send-btn{all:unset;box-sizing:border-box;font-family:inherit;background:#f0f9ff;border:1px solid #e0f2fe;color:#3b82f6;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.ai-chat-send-btn:hover:not(:disabled){background:#e0f2fe;color:#2563eb;border-color:#bae6fd}.ai-chat-send-btn:disabled{opacity:.5;cursor:not-allowed;background:#f9fafb!important;color:#9ca3af!important;border-color:#f3f4f6!important}.ai-chat-status{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;color:#6b7280}.ai-flow-chat-panel span.ai-status-indicator,.ai-flow-chat-panel span.ai-status-indicator.loading,.ai-flow-chat-panel span.ai-status-indicator.error,div.ai-chat-status span.ai-status-indicator,div.ai-chat-status span.ai-status-indicator.loading,div.ai-chat-status span.ai-status-indicator.error{width:6px!important;height:6px!important;min-width:6px!important;min-height:6px!important;max-width:6px!important;max-height:6px!important;border-radius:50%!important;flex-shrink:0!important;flex-grow:0!important;flex-basis:6px!important;display:inline-block!important;box-sizing:border-box!important;overflow:hidden!important;font-size:0!important;line-height:0!important;position:static!important;transform:none!important;transition:none!important;animation:none!important;background:#10b981!important;margin:0!important;padding:0!important;border:none!important;outline:none!important;text-indent:-9999px!important;vertical-align:baseline!important;align-items:normal!important;justify-content:normal!important}.ai-flow-chat-panel span.ai-status-indicator.loading,div.ai-chat-status span.ai-status-indicator.loading{background:#f59e0b!important;animation:ai-status-simple-pulse 1.5s infinite!important;transform:none!important;transition:none!important}.ai-flow-chat-panel span.ai-status-indicator.error,div.ai-chat-status span.ai-status-indicator.error{background:#ef4444!important;transform:none!important;transition:none!important;animation:none!important}@keyframes ai-status-simple-pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.ai-message.loading .ai-message-content{background:#fafbfc;border-color:#f3f4f6}.ai-loading-dots{display:flex;gap:3px;align-items:center}.ai-loading-dot{width:6px;height:6px;border-radius:50%;background:#9ca3af;animation:loadingDots 1.4s infinite ease-in-out both}.ai-loading-dot:nth-child(1){animation-delay:-.32s}.ai-loading-dot:nth-child(2){animation-delay:-.16s}@keyframes loadingDots{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}@media (max-width: 768px){.ai-flow-chat-panel{width:calc(100vw - 16px);left:8px;top:8px;height:calc(100vh - 16px);max-height:none;border-radius:12px}.ai-chat-header{padding:12px 16px;border-radius:12px 12px 0 0}.ai-chat-header h3{font-size:15px}.ai-chat-messages{padding:12px;gap:10px}.ai-chat-input-container{padding:12px;border-radius:0 0 12px 12px}.ai-chat-input-wrapper{flex-direction:column;gap:6px}.ai-chat-send-btn{width:100%;height:32px}.ai-message-content,.user-message-content{padding:10px 12px}.ai-text{font-size:13px}.flow-preview-header{flex-direction:column;gap:6px;align-items:flex-start;padding:8px 10px}.flow-preview-actions{width:100%;justify-content:flex-end}}@media (prefers-contrast: high){.ai-flow-chat-panel{border:2px solid #000000;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.ai-message-content,.user-message-content,.ai-chat-input-wrapper textarea{border-width:2px}}@media (prefers-reduced-motion: reduce){.ai-flow-chat-panel,.ai-chat-close,.ai-chat-send-btn,.btn-apply-flow,.btn-preview-flow{transition:none}.ai-loading-dot,.ai-status-indicator.loading{animation:none}}.schema-creator{width:100%;height:100vh;background:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}.schema-creator-header{padding:20px 32px;border-bottom:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}.schema-creator-header h2{margin:0 0 8px;font-size:24px;font-weight:600;color:#111827}.project-info{margin:0;font-size:14px;color:#6b7280}.error-alert{margin:16px 32px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;align-items:center;gap:8px;font-size:14px}.schema-creator-content{flex:1;overflow:auto;padding:24px 32px}.creator-sections{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:32px}.creator-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.creator-section h3{margin:0 0 20px;font-size:18px;font-weight:600;color:#111827}.form-grid{display:grid;gap:16px}.form-group label{margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:all .2s ease;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.form-group textarea{resize:vertical;min-height:100px}.form-help{margin-top:4px;font-size:12px;color:#6b7280}.sample-data-section,.sample-data-upload{display:flex;flex-direction:column;gap:16px}.form-text{font-size:12px;color:#6b7280;margin-top:4px}.help-text{font-size:12px;color:#6b7280;margin-top:4px;display:block}.error-text{font-size:12px;color:#dc2626;margin-top:4px;display:block}.detect-actions{display:flex;align-items:center;gap:12px}.spinner{width:14px;height:14px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.error-message{color:#dc2626;font-size:13px}.detect-schema-btn{align-self:flex-start;background:#6366f1;color:#fff;border:none;padding:10px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.detect-schema-btn:hover:not(:disabled){background:#4f46e5}.detect-schema-btn:disabled{opacity:.6;cursor:not-allowed}.schema-editor{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.schema-editor h3{margin:0 0 20px;font-size:18px;font-weight:600;color:#111827}.schema-editor-content{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.schema-tree-panel{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.schema-tree-root{padding:8px;list-style:none;margin:0}.schema-field-item{margin-bottom:4px;border-radius:8px;transition:all .2s ease}.schema-field-header{display:flex;align-items:center;padding:8px 12px;background:#f8fafc;border-radius:8px;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.schema-field-header:hover{background:#f1f5f9;border-color:#6366f1;transform:translate(2px)}.schema-field-header.selected{background:#6366f11a;border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.field-toggle{width:20px;height:20px;display:flex;align-items:center;justify-content:center;margin-right:8px}.toggle-btn{background:none;border:none;cursor:pointer;color:#6b7280;transition:all .2s ease;padding:2px;border-radius:4px}.toggle-btn:hover{color:#6366f1;background:#6366f11a}.field-spacer{width:20px;height:20px}.field-icon{color:#6b7280;width:16px;text-align:center;margin-right:8px}.schema-field-label{flex:1;display:flex;align-items:center;gap:8px}.field-name{font-weight:600;color:#111827;font-size:14px}.field-type{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.field-type-string{background:#10b9811a;color:#059669}.field-type-number,.field-type-integer{background:#3b82f61a;color:#2563eb}.field-type-boolean{background:#f59e0b1a;color:#d97706}.field-type-object{background:#6366f11a;color:#6366f1}.field-type-array{background:#7c3aed1a;color:#7c3aed}.array-indicator{font-size:.8em;margin-left:2px}.required-indicator{color:#dc2626;font-weight:700;margin-left:4px}.add-child-btn{background:none;border:none;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:all .2s ease;opacity:0}.schema-field-header:hover .add-child-btn{opacity:1}.add-child-btn:hover{color:#6366f1;background:#6366f11a}.schema-field-children{margin-left:20px;margin-top:4px}.empty-tree p{margin:0 0 8px;font-size:16px;font-weight:500}.empty-tree small{font-size:14px;color:#9ca3af}.field-details-form{padding:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-row:last-child{margin-bottom:0}.form-actions{margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.preview-panels{display:grid;grid-template-columns:1fr 1fr;gap:24px}.preview-panel{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.preview-panel h4{margin:0;padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:16px;font-weight:600;color:#111827}.schema-preview,.sample-preview{padding:16px;background:#f8fafc;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;line-height:1.5;color:#374151;white-space:pre-wrap;overflow:auto;max-height:300px}.schema-definition{grid-column:1 / -1}.panel-header{padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.panel-header h4{margin:0;font-size:16px;font-weight:600;color:#111827}.add-field-btn{background:#10b981;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .2s ease}.add-field-btn:hover{background:#059669}.schema-tree{padding:16px;max-height:300px;overflow-y:auto}.empty-tree{text-align:center;padding:40px 20px;color:#6b7280}.empty-tree p{margin:4px 0;font-size:14px}.schema-field-item{margin-bottom:4px}.schema-field-header{padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease}.schema-field-header:hover{background:#f3f4f6}.schema-field-header.selected{background:#eff6ff;border:1px solid #dbeafe}.field-info{display:flex;align-items:center;gap:8px}.field-name{font-weight:500;color:#111827;font-size:14px}.field-type{padding:2px 6px;background:#f3f4f6;border-radius:4px;font-size:12px;color:#6b7280}.field-required{color:#dc2626;font-weight:700}.schema-field-children{margin-left:20px;border-left:1px solid #e5e7eb;padding-left:16px}.field-details-panel{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.field-path{font-size:12px;color:#6b7280;font-family:Monaco,Menlo,monospace}.no-selection{padding:40px 20px;text-align:center;color:#6b7280}.field-details{padding:20px}.form-checkboxes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;margin:0}.delete-field-btn{background:#dc2626;color:#fff;border:none;padding:8px 12px;border-radius:4px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px}.delete-field-btn:hover{background:#b91c1c}.add-child-btn{background:#6366f1;color:#fff;border:none;padding:8px 12px;border-radius:4px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px}.add-child-btn:hover:not(:disabled){background:#4f46e5}.add-child-btn:disabled{opacity:.6;cursor:not-allowed}.schema-preview{border-top:1px solid #e5e7eb;padding-top:24px}.schema-preview h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#111827}.schema-preview-content{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:16px;font-family:Monaco,Menlo,monospace;font-size:12px;line-height:1.5;color:#374151;overflow-x:auto;max-height:200px;overflow-y:auto}.schema-creator-actions{padding:20px 32px;border-top:1px solid #e5e7eb;background:#f9fafb;display:flex;justify-content:flex-end;gap:12px;flex-shrink:0}.cancel-btn{background:#fff;color:#6b7280;border:1px solid #d1d5db;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:#f9fafb;color:#374151}.save-btn{background:#10b981;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.save-btn:hover:not(:disabled){background:#059669}.save-btn:disabled{opacity:.6;cursor:not-allowed}.spinner-small{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 1200px){.creator-sections,.schema-editor-content{grid-template-columns:1fr}}@media (max-width: 768px){.schema-creator-content,.schema-creator-header,.schema-creator-actions{padding:16px 20px}.creator-section,.schema-editor{padding:16px}}.xslt-ai-chat-panel{position:absolute;right:0;top:0;bottom:0;width:400px;background:#f8f9fa;border-left:1px solid #dee2e6;display:flex;flex-direction:column;z-index:100;box-shadow:-2px 0 10px #0000001a;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.xslt-ai-chat-header{padding:1rem;background:#fff;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;align-items:center}.xslt-ai-chat-header h3{margin:0;color:#495057;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.xslt-ai-chat-header h3 i{color:#9b59b6}.xslt-ai-chat-header .close-btn{background:none;border:none;color:#6c757d;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s}.xslt-ai-chat-header .close-btn:hover{background:#f8f9fa;color:#495057}.ai-status-warning{padding:.75rem 1rem;background:#fff3cd;color:#856404;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.xslt-ai-chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.message{display:flex;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message-content{max-width:85%;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;line-height:1.5;white-space:pre-wrap}.message.user .message-content{background:#9b59b6;color:#fff}.message.assistant .message-content{background:#fff;color:#495057;border:1px solid #dee2e6}.message.error .message-content{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.xslt-preview{margin-top:.75rem;border:1px solid #dee2e6;border-radius:4px;overflow:hidden}.xslt-preview-header{background:#f8f9fa;padding:.5rem .75rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dee2e6}.xslt-preview-header span{font-size:.85rem;color:#6c757d}.apply-btn{background:#28a745;color:#fff;border:none;padding:.25rem .75rem;border-radius:4px;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:.25rem;transition:all .2s}.apply-btn:hover{background:#218838;transform:translateY(-1px)}.xslt-code{margin:0;padding:.75rem;background:#f6f8fa;font-family:Monaco,Consolas,monospace;font-size:.8rem;overflow-x:auto;color:#24292e;max-height:200px}.loading{padding:1rem}.loading-dots{display:flex;gap:.3rem}.loading-dots span{width:8px;height:8px;background:#6c757d;border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.xslt-ai-chat-input{padding:1rem;border-top:1px solid #dee2e6;background:#fff;display:flex;gap:.5rem;align-items:flex-end}.xslt-ai-chat-input textarea{flex:1;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:.75rem;font-size:.9rem;color:#495057;resize:none;transition:all .2s}.xslt-ai-chat-input textarea:focus{outline:none;border-color:#9b59b6;box-shadow:0 0 0 2px #9b59b61a}.xslt-ai-chat-input textarea:disabled{opacity:.6;cursor:not-allowed}.xslt-ai-chat-input button{background:#9b59b6;color:#fff;border:none;padding:.75rem 1rem;border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.xslt-ai-chat-input button:hover:not(:disabled){background:#8e44ad;transform:translateY(-1px)}.xslt-ai-chat-input button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.xslt-ai-chat-panel{width:100%}}.xslt-creator{display:flex;flex-direction:column;height:100%;background:#f8f9fa;overflow:hidden;position:relative}.xslt-creator-header{padding:16px 20px;background:#fff;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:0 2px 4px #0000000d}.header-left{flex:1;display:flex;align-items:center;gap:20px}.xslt-creator-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#495057;white-space:nowrap}.header-info{display:flex;gap:12px;align-items:center}.info-item2{display:flex;align-items:center}.filename-input{padding:6px 12px;border:1px solid #ced4da;border-radius:4px;font-size:.875rem;width:200px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.filename-input:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.project-select{padding:6px 12px;border:1px solid #ced4da;border-radius:4px;font-size:.875rem;min-width:150px;background:#fff;cursor:pointer;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.project-select:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.xslt-creator-content{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:16px;gap:12px}.templates-bar{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:10px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 1px 3px #0000000d}.templates-label{font-size:.875rem;font-weight:500;color:#6c757d}.template-btn{background:#e9ecef;border:1px solid #ced4da;padding:6px 12px;border-radius:4px;font-size:.813rem;cursor:pointer;transition:all .2s;color:#495057;display:flex;align-items:center;gap:6px}.template-btn:hover{background:#dee2e6;border-color:#adb5bd;transform:translateY(-1px)}.template-btn i{font-size:.875rem}.editors-wrapper{flex:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;min-height:0}.editor-panel{grid-row:span 2;display:flex;flex-direction:column;background:#fff;border:1px solid #dee2e6;border-radius:6px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.editor-panel:nth-child(1){grid-column:1}.editor-panel:nth-child(2){grid-column:2;grid-row:1}.result-panel{grid-column:2;grid-row:2;display:flex;flex-direction:column;background:#fff;border:1px solid #dee2e6;border-radius:6px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.panel-header{padding:10px 16px;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.panel-header h3{margin:0;font-size:.938rem;font-weight:600;color:#495057;display:flex;align-items:center;gap:8px}.panel-header h3 i{color:#6c757d;font-size:.875rem}.panel-body{flex:1;display:flex;flex-direction:column;min-height:0}.syntax-editor-container{position:relative;height:100%;min-height:0}.syntax-highlight-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:auto;padding:12px;font-family:JetBrains Mono,Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.5;white-space:pre-wrap;background:#fff;color:#000}.code-editor-input{position:absolute;top:0;left:0;width:100%;height:100%;color:transparent;caret-color:#000;background:transparent;z-index:2;resize:none;border:none;outline:none;padding:12px;font-family:JetBrains Mono,Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.5;-moz-tab-size:2;tab-size:2}.code-editor-input:focus{outline:none}.code-editor-input::selection{background:#add6ff4d}.xml-tag{color:#d73a49;font-weight:400}.xml-attribute-name{color:#22863a;font-weight:400}.xml-attribute-value{color:#e36209;font-weight:400}.xml-text{color:#000;font-weight:400}.xml-comment{color:#6a737d;font-style:italic}.xml-declaration{color:#6f42c1;font-weight:400}.xml-cdata,.xml-entity{color:#e36209;font-weight:400}.result-content{flex:1;overflow:hidden;position:relative;min-height:0}.result-output{height:100%;background:#fff;color:#000;padding:12px;font-family:Monaco,Menlo,Ubuntu Mono,JetBrains Mono,monospace;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-y:auto;overflow-x:auto}.copy-btn{background:#28a745;color:#fff;border:none;padding:5px 10px;border-radius:4px;cursor:pointer;font-size:.75rem;display:flex;align-items:center;gap:4px;transition:background-color .2s}.copy-btn:hover{background:#218838}.copy-btn:disabled{background:#6c757d;cursor:not-allowed}.error-alert{background:#f8d7da;color:#721c24;padding:10px 16px;border:1px solid #f5c6cb;border-radius:4px;display:flex;align-items:flex-start;gap:8px;margin:0 16px;font-size:.875rem;white-space:pre-line;line-height:1.5}.error-alert i{color:#dc3545;margin-top:2px;flex-shrink:0}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:4px;font-size:.875rem;font-weight:500;border:none;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-primary{background:#0d6efd;color:#fff}.btn-primary:hover:not(:disabled){background:#0b5ed7}.btn-success{background:#28a745;color:#fff}.btn-success:hover:not(:disabled){background:#218838}.btn-special{background:#9b59b6;color:#fff}.btn-special:hover:not(:disabled){background:#8e44ad}.btn:disabled{opacity:.65;cursor:not-allowed}.code-editor-input::-webkit-scrollbar,.result-output::-webkit-scrollbar,.syntax-highlight-layer::-webkit-scrollbar{width:8px;height:8px}.code-editor-input::-webkit-scrollbar-track,.result-output::-webkit-scrollbar-track,.syntax-highlight-layer::-webkit-scrollbar-track{background:#f1f1f1}.code-editor-input::-webkit-scrollbar-thumb,.result-output::-webkit-scrollbar-thumb,.syntax-highlight-layer::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.code-editor-input::-webkit-scrollbar-thumb:hover,.result-output::-webkit-scrollbar-thumb:hover,.syntax-highlight-layer::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width: 1200px){.editors-wrapper{grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(250px,1fr))}.editor-panel{grid-row:auto!important;grid-column:1!important}.result-panel{grid-column:1!important;grid-row:auto!important}}@media (max-width: 768px){.xslt-creator-header{flex-direction:column;align-items:stretch;gap:12px}.header-left{flex-direction:column;align-items:stretch;gap:10px}.header-info{flex-direction:column;gap:8px}.filename-input,.project-select{width:100%}.header-actions{justify-content:stretch}.header-actions .btn{flex:1;justify-content:center}.templates-bar{flex-wrap:wrap}.xslt-creator-content{padding:12px}}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.btn:disabled{animation:pulse 1.5s ease-in-out infinite}.mapping-creator{height:100%;display:flex;flex-direction:column;background:var(--background);color:var(--text-primary);overflow:hidden}.mapping-header{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow);position:relative;z-index:10}.header-content{padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.title-section{display:flex;align-items:center;gap:1rem}.title-icon{width:36px;height:36px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.125rem}.title-text h1{font-size:1.375rem;font-weight:600;margin:0;color:var(--text-primary)}.subtitle{font-size:.75rem;color:var(--text-secondary);margin:.125rem 0 0}.header-actions{display:flex;gap:1rem}.btn-action{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:500;border:none;cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--background-secondary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--background-tertiary)}.quick-setup{padding:1rem 2rem;background:var(--background-secondary);border-top:1px solid var(--border);display:flex;gap:2rem;align-items:center}.setup-item{display:flex;flex-direction:column;gap:.5rem;flex:1;max-width:300px}.setup-item label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-input{padding:.625rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-primary);font-size:.875rem;transition:all .2s ease}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{background:var(--background-tertiary);color:var(--text-tertiary);cursor:not-allowed}.toggle-switch{position:relative;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border);transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#3b82f6}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.alert{margin:1rem 2rem;padding:1rem 1.5rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;font-size:.875rem;position:relative}.alert-error{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.2)}.alert-close{margin-left:auto;background:none;border:none;color:inherit;cursor:pointer;padding:.25rem;border-radius:4px;transition:background .2s ease}.alert-close:hover{background:#0000001a}.workspace{flex:1;display:flex;gap:1rem;padding:1rem;overflow:hidden;background:var(--background);height:100%}.schema-panel{flex:1;background:var(--surface);border-radius:8px;box-shadow:var(--shadow);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;min-width:300px;height:100%}.panel-header{padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--background-secondary)}.panel-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.panel-title i{color:#3b82f6}.schema-selector{padding:.5rem 1rem;border-bottom:1px solid var(--border)}.schema-select{width:100%;padding:.375rem .625rem;border:1px solid var(--border);border-radius:3px;background:var(--surface);color:var(--text-primary);font-size:.75rem;cursor:pointer;transition:all .2s ease;height:32px}.schema-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-box{padding:.5rem 1rem;position:relative;border-bottom:1px solid var(--border)}.search-box i{position:absolute;left:1.5rem;top:50%;transform:translateY(-50%);color:var(--text-tertiary);font-size:.65rem}.schema-tree-container{flex:1;overflow-y:auto;padding:.5rem;min-height:300px;max-height:1000px}.schema-tree{display:flex;flex-direction:column;max-height:1000px;font-size:.75rem}.schema-field-item{margin-bottom:1px}.schema-field-header{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:3px;transition:all .2s ease;background:var(--background);border:1px solid var(--border);cursor:default;position:relative;font-size:.75rem;min-height:24px;height:24px}.schema-field-header:hover{background:var(--background-secondary);border-color:#3b82f6}.schema-field-header.draggable{cursor:grab}.schema-field-header.draggable:active{cursor:grabbing}.schema-field-header.droppable.drop-hover{background:#3b82f61a;border-color:#3b82f6;transform:scale(1.02)}.schema-field-header.mappable{cursor:pointer}.schema-field-header.mappable:hover{background:var(--background-secondary);border-color:#3b82f6}.schema-field-header.selected{background:#e3f2fd!important;border-color:#2196f3!important;box-shadow:0 2px 8px #2196f34d}.schema-field-header.highlighted{background:#fff3e0!important;border-color:#ff9800!important}.schema-field-header.mapped{position:relative}.schema-field-header.mapped:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#4caf50}.field-toggle{width:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-tertiary);transition:transform .2s ease}.field-toggle i{font-size:.5rem;transition:transform .2s ease}.field-toggle i.rotated{transform:rotate(90deg)}.field-icon{color:var(--text-tertiary);font-size:.65rem;width:12px;text-align:center;display:flex;align-items:center;justify-content:center}.field-name{flex:1;color:var(--text-primary);font-weight:500;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.field-type{padding:.1rem .375rem;border-radius:3px;font-size:.65rem;font-weight:500;text-transform:lowercase}.field-type-string{background:#3b82f61a;color:#3b82f6}.field-type-number,.field-type-integer{background:#10b9811a;color:#10b981}.field-type-boolean{background:#a855f71a;color:#a855f7}.field-type-object{background:#fb923c1a;color:#fb923c}.field-type-array{background:#ec48991a;color:#ec4899}.schema-field-children{margin-left:.75rem;padding-left:.5rem;border-left:1px dashed var(--border);margin-top:.125rem;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.array-items{position:relative}.array-items:before{content:"[0]";position:absolute;left:-1.5rem;top:0;font-size:.75rem;color:var(--text-tertiary);font-family:monospace}.drag-handle{color:var(--text-tertiary);font-size:.75rem;opacity:.5;cursor:grab}.field-actions{display:flex;align-items:center;gap:.25rem;margin-left:auto}.mapping-badge{background:#4caf50;color:#fff;font-size:.65rem;font-weight:600;padding:.1rem .25rem;border-radius:8px;min-width:16px;text-align:center;line-height:1}.select-field-btn{background:transparent;border:1px solid var(--border);border-radius:3px;padding:.125rem .25rem;font-size:.65rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;opacity:0;line-height:1;height:18px;width:18px;display:flex;align-items:center;justify-content:center}.schema-field-header:hover .select-field-btn{opacity:1}.select-field-btn:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.schema-field-header.selected .select-field-btn{background:#2196f3;border-color:#2196f3;color:#fff;opacity:1}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-tertiary);font-size:.875rem}.mapping-center{flex:1.5;background:var(--surface);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border);display:flex;flex-direction:column;min-width:400px}.mapping-canvas{position:relative;height:150px;border-bottom:1px solid var(--border);background:var(--background);overflow:hidden}.connection-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.mapping-line{stroke:#3b82f6;stroke-width:2;fill:none;opacity:.8}.dragging-line{stroke:#3b82f6;stroke-width:2;stroke-dasharray:5,5;fill:none;opacity:.5}.mapping-controls{padding:1rem;display:flex;gap:1rem;border-bottom:1px solid var(--border);background:var(--background-secondary)}.btn-auto{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-auto:hover{background:var(--background);border-color:#3b82f6;color:#3b82f6}.mapping-stats{padding:1rem;display:flex;gap:2rem;justify-content:center;border-bottom:1px solid var(--border)}.stat-item{text-align:center}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-label{display:block;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.mapping-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--background-secondary)}.tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;border:none;background:none;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative}.tab-btn:hover{color:var(--text-primary);background:var(--background)}.tab-btn.active{color:#3b82f6;background:var(--surface)}.tab-btn.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#3b82f6}.tab-content{flex:1;overflow-y:auto;padding:1.5rem}.mappings-list{display:flex;flex-direction:column;gap:.5rem}.empty-mappings{text-align:center;padding:2rem 1rem;color:var(--text-tertiary);font-size:.75rem}.empty-mappings i{font-size:1.5rem;margin-bottom:.75rem;opacity:.5}.mapping-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--background);border:1px solid var(--border);border-radius:4px;transition:all .2s ease;position:relative}.mapping-item:hover{border-color:#3b82f6;background:var(--background-secondary)}.mapping-source,.mapping-target{flex:1;display:flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:500;color:var(--text-primary)}.mapping-arrow{color:#3b82f6;font-size:.75rem;padding:0 .5rem}.mapping-remove{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:.25rem;border-radius:3px;transition:all .2s ease;font-size:.65rem}.mapping-remove:hover{background:#ef44441a;color:#dc2626}.mapping-transformation{display:flex;align-items:center;gap:.25rem;font-size:.65rem;color:var(--text-secondary);margin-left:.5rem}.transformation-badge{background:#8b5cf6;color:#fff;padding:.1rem .375rem;border-radius:3px;font-size:.6rem;font-weight:500;cursor:pointer;transition:all .2s ease}.transformation-badge:hover{background:#7c3aed;transform:scale(1.05)}.transformation-select{width:120px;padding:.25rem .5rem;border:1px solid var(--border);border-radius:3px;background:var(--surface);color:var(--text-primary);font-size:.65rem;cursor:pointer}.transformations-content{padding:1rem}.transformation-editor{background:var(--background);border:1px solid var(--border);border-radius:4px;padding:1rem;margin-bottom:1rem}.transformation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.transformation-title{font-size:.875rem;font-weight:600;color:var(--text-primary)}.transformation-fields{display:flex;gap:.5rem;align-items:center;font-size:.75rem;color:var(--text-secondary)}.transformation-type-selector{margin:.75rem 0}.transformation-params{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.param-group{display:flex;flex-direction:column;gap:.25rem}.param-group label{font-size:.7rem;color:var(--text-secondary);font-weight:500}.param-input{padding:.375rem .5rem;border:1px solid var(--border);border-radius:3px;background:var(--surface);color:var(--text-primary);font-size:.7rem}.preview-content{text-align:center;padding:3rem;color:var(--text-secondary)}@media (max-width: 1200px){.workspace{flex-direction:column}.schema-panel,.mapping-center{min-width:auto}}@media (max-width: 768px){.header-content{flex-direction:column;gap:1rem;align-items:stretch}.quick-setup{flex-direction:column;gap:1rem}.setup-item{max-width:none}.mapping-stats{gap:1rem}}:root{--edi-primary: #3b82f6;--edi-primary-dark: #2563eb;--edi-success: #10b981;--edi-warning: #f59e0b;--edi-error: #ef4444;--edi-info: #3b82f6;--background: #ffffff;--background-secondary: #f8fafc;--background-tertiary: #f1f5f9;--surface: #ffffff;--border: #e2e8f0;--border-light: #f1f5f9;--text-primary: #1e293b;--text-secondary: #64748b;--text-tertiary: #94a3b8;--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}@media (prefers-color-scheme: dark){:root{--background: #0f172a;--background-secondary: #1e293b;--background-tertiary: #334155;--surface: #1e293b;--border: #334155;--border-light: #1e293b;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--shadow: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -2px rgba(0, 0, 0, .2)}}.edi-schemas-panel{height:100%;display:flex;flex-direction:column;background:var(--background);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.edi-schemas-list-section{margin-bottom:24px;padding:0 20px}.edi-panel-header{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow);z-index:10}.edi-header-content{padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.edi-title-section{display:flex;align-items:center;gap:1rem}.edi-title-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--edi-primary) 0%,var(--edi-primary-dark) 100%);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;box-shadow:0 2px 8px #3b82f64d}.edi-title-text h2{font-size:1.5rem;font-weight:600;margin:0;color:var(--text-primary);letter-spacing:-.025em}.edi-subtitle{font-size:.875rem;color:var(--text-secondary);margin:.25rem 0 0}.edi-tabs-container{background:var(--background-secondary);border-bottom:1px solid var(--border);padding:0 1.5rem}.MuiTabs-root{min-height:48px}.MuiTab-root{text-transform:none;font-weight:500;font-size:.875rem;min-height:48px;color:var(--text-secondary)}.MuiTab-root.Mui-selected{color:var(--edi-primary)}.MuiTabs-indicator{background-color:var(--edi-primary);height:3px;border-radius:3px 3px 0 0}.edi-tab-panel,[role=tabpanel]{flex:1;overflow:hidden;display:flex;flex-direction:column}[role=tabpanel]>div{flex:1;overflow:auto}.edi-schema-list-container{padding:1.5rem;height:100%;overflow-y:auto}.edi-schema-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.edi-schema-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.edi-schema-card:hover{border-color:var(--edi-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.edi-schema-card.selected{border-color:var(--edi-primary);background:var(--background-secondary)}.edi-schema-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--edi-primary) 0%,var(--edi-primary-dark) 100%);transform:scaleX(0);transition:transform .3s ease}.edi-schema-card:hover:before,.edi-schema-card.selected:before{transform:scaleX(1)}.edi-schema-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.edi-schema-card-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.edi-schema-card-type{display:inline-flex;align-items:center;padding:.25rem .75rem;background:var(--edi-primary);color:#fff;border-radius:6px;font-size:.75rem;font-weight:500}.edi-schema-card-meta{display:flex;gap:1rem;margin-top:.75rem;font-size:.875rem;color:var(--text-secondary)}.edi-schema-card-meta-item{display:flex;align-items:center;gap:.375rem}.edi-schema-card-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-light)}.edi-detection-container{padding:2rem;max-width:1200px;margin:0 auto;width:100%;height:100%;overflow-y:auto}.edi-sample-input-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.edi-section-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.edi-textarea{width:100%;min-height:200px;padding:1rem;background:var(--background);border:1px solid var(--border);border-radius:8px;font-family:Monaco,Consolas,monospace;font-size:.875rem;color:var(--text-primary);resize:vertical;transition:border-color .2s ease}.edi-textarea:focus{outline:none;border-color:var(--edi-primary);box-shadow:0 0 0 3px #3b82f61a}.edi-sample-actions{display:flex;gap:1rem;margin-top:1rem}.edi-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem}.edi-template-card{background:var(--surface);border:2px solid var(--border);border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s ease;text-align:center}.edi-template-card:hover{border-color:var(--edi-primary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.edi-template-card.selected{border-color:var(--edi-primary);background:#3b82f60d}.edi-template-icon{width:60px;height:60px;margin:0 auto 1rem;background:var(--background-tertiary);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--edi-primary)}.edi-template-name{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.edi-template-description{font-size:.875rem;color:var(--text-secondary)}.edi-schema-editor{height:100%;display:flex;flex-direction:column;background:var(--background-secondary);overflow-y:auto}.edi-editor-header{background:var(--surface);border-bottom:1px solid var(--border);padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.edi-editor-info{display:flex;align-items:center;gap:1rem}.edi-editor-actions{display:flex;gap:.75rem}.edi-schema-overview{background:var(--surface);border-radius:12px;padding:1.5rem;margin:1.5rem;border:1px solid var(--border)}.edi-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:1rem}.edi-overview-item{display:flex;flex-direction:column}.edi-overview-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:.25rem}.edi-overview-value{font-size:1rem;font-weight:500;color:var(--text-primary)}.edi-segment-table-container{margin:1.5rem;background:var(--surface);border-radius:12px;border:1px solid var(--border)}.MuiTableContainer-root{border-radius:12px}.MuiTableHead-root{background:var(--background-secondary)}.MuiTableHead-root .MuiTableCell-root{font-weight:600;font-size:.875rem;color:var(--text-primary);border-bottom:2px solid var(--border)}.MuiTableBody-root .MuiTableRow-root:hover{background:var(--background-secondary)}.MuiTableBody-root .MuiTableCell-root{font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--border-light)}.edi-status-chip{font-size:.75rem;height:24px;font-weight:500}.edi-status-chip.mandatory{background:#ef44441a;color:var(--edi-error)}.edi-status-chip.conditional{background:#f59e0b1a;color:var(--edi-warning)}.edi-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:500;border:none;cursor:pointer;transition:all .2s ease;white-space:nowrap}.edi-btn-primary{background:linear-gradient(135deg,var(--edi-primary) 0%,var(--edi-primary-dark) 100%);color:#fff}.edi-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.edi-btn-secondary{background:var(--background-secondary);color:var(--text-primary);border:1px solid var(--border)}.edi-btn-secondary:hover{background:var(--background-tertiary)}.edi-btn-icon{width:36px;height:36px;padding:0;border-radius:8px;display:flex;align-items:center;justify-content:center}.edi-loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary)}.edi-loading-spinner{animation:spin 1s linear infinite;margin-right:.75rem}.edi-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.edi-empty-icon{width:80px;height:80px;background:var(--background-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;color:var(--text-tertiary);font-size:2rem}.edi-empty-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.edi-empty-description{font-size:.875rem;color:var(--text-secondary);margin-bottom:1.5rem;max-width:400px}@media (max-width: 768px){.edi-header-content{flex-direction:column;gap:1rem;align-items:flex-start}.edi-schema-grid,.edi-template-grid,.edi-overview-grid{grid-template-columns:1fr}}*{transition:background-color .2s ease,border-color .2s ease}.cross-ref-table-creator{display:flex;flex-direction:column;height:100%;background-color:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.cross-ref-creator-header{background:#fff;border-bottom:1px solid #e1e4e8;padding:1.5rem;box-shadow:0 1px 3px #0000000d}.cross-ref-creator-header h2{margin:0 0 .5rem;color:#1a1a1a;font-size:1.5rem;font-weight:600;display:flex;align-items:center;gap:.75rem}.cross-ref-creator-header h2 i{color:#10b981}.project-info{color:#6b7280;font-size:.875rem;margin:0}.project-info strong{color:#374151}.error-alert,.success-alert{display:flex;align-items:center;gap:.75rem;padding:1rem;margin:1rem 1.5rem;border-radius:.5rem;font-size:.875rem;font-weight:500}.error-alert{background-color:#fee;color:#dc2626;border:1px solid #fecaca}.success-alert{background-color:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.cross-ref-creator-content{flex:1;display:flex;flex-direction:column;padding:1.5rem;gap:1.5rem}.creator-section{background:#fff;border:1px solid #e1e4e8;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000000d}.creator-section h3{margin:0 0 1rem;color:#1a1a1a;font-size:1.125rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.creator-section h3 i{color:#6b7280;font-size:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.875rem;font-weight:500;color:#374151}.form-group input,.form-group textarea{padding:.625rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:all .2s;background:#fff}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.table-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.table-controls-left{display:flex;align-items:center;gap:1rem}.table-controls-right{display:flex;align-items:center;gap:.5rem}.search-box{position:relative;width:300px}.search-box i{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:.875rem}.btn{padding:.5rem 1rem;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:#10b981;color:#fff}.btn-primary:hover:not(:disabled){background-color:#059669}.btn-secondary{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-icon{padding:.5rem;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center}.table-editor-section{flex:1;display:flex;flex-direction:column;background:#fff;border:1px solid #e1e4e8;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000000d}.table-editor-header{background:#f8f9fa;border-bottom:1px solid #e1e4e8;padding:1rem 1.5rem}.table-editor-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.virtual-table-container{flex:1;position:relative;overflow:hidden}.table-header{display:flex;background:#f8f9fa;border-bottom:2px solid #e1e4e8;font-weight:600;font-size:.875rem;color:#374151;position:sticky;top:0;z-index:10}.header-cell{padding:.75rem 1rem;flex:1;display:flex;align-items:center;gap:.5rem}.header-cell:first-child{flex:0 0 60px;justify-content:center}.header-cell.key-column{flex:0 0 300px}.header-cell.value-column{flex:1}.header-cell.description-column{flex:0 0 400px}.header-cell.actions-column{flex:0 0 100px;justify-content:center}.table-row{display:flex;border-bottom:1px solid #e5e7eb;background:#fff;transition:background-color .2s}.table-cell{padding:.625rem 1rem;flex:1;display:flex;align-items:center;font-size:.875rem}.table-cell:first-child{flex:0 0 60px;justify-content:center}.table-cell.key-column{flex:0 0 300px}.table-cell.value-column{flex:1}.table-cell.description-column{flex:0 0 400px}.table-cell.actions-column{flex:0 0 100px;justify-content:center;gap:.25rem}.cell-input{width:100%;padding:.375rem .5rem;border:1px solid #d1d5db;border-radius:.25rem;font-size:.875rem;font-family:inherit;background:#fff}.cell-input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 2px #10b9811a}.row-checkbox{width:18px;height:18px;cursor:pointer}.btn-delete{background:none;border:none;color:#ef4444;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:all .2s}.btn-delete:hover{background-color:#fee}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:#6b7280}.empty-state i{font-size:3rem;margin-bottom:1rem;opacity:.3}.empty-state h4{margin:0 0 .5rem;font-size:1.125rem;color:#374151}.empty-state p{margin:0 0 1.5rem;font-size:.875rem}.creator-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;background:#fff;border-top:1px solid #e1e4e8}.import-export-group{display:flex;gap:.5rem}.loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid #f3f4f6;border-radius:50%;border-top-color:#10b981;animation:spin .8s linear infinite}.row-count{color:#6b7280;font-size:.875rem;font-weight:500}@media (max-width: 1024px){.form-grid{grid-template-columns:1fr}.table-controls{flex-direction:column;align-items:stretch;gap:1rem}.search-box{width:100%}}.ReactVirtualized__List{outline:none}.ReactVirtualized__Grid__innerScrollContainer{overflow:visible!important}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.schema-editor{background:#f8f9fa;border:1px solid #e1e4e8;border-radius:.375rem;padding:1rem;margin-top:1rem}.schema-columns{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.schema-column{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem}.column-name{flex:1;font-weight:500;display:flex;align-items:center;gap:.5rem}.column-name i{color:#6b7280}.column-type{color:#6b7280;padding:.25rem .5rem;background:#f3f4f6;border-radius:.25rem;font-size:.75rem;text-transform:uppercase}.primary-key-badge{background:#10b981;color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.required-badge{background:#f59e0b;color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.unique-badge{background:#3b82f6;color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.column-actions{display:flex;gap:.25rem}.btn-icon{background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:all .2s;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.add-column-form{display:flex;gap:.5rem;padding:1rem;background:#fff;border:2px dashed #d1d5db;border-radius:.375rem}.add-column-form input{flex:1;padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem}.add-column-form select{padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;background:#fff}.duplicate-key{border-color:#ef4444!important;background-color:#fef2f2}.cross-ref-table-creator-dynamic{display:flex;flex-direction:column;height:100%;background:#f8f9fa}.creator-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;gap:20px;flex-wrap:wrap}.header-info h2{margin:0;font-size:1.5rem;color:#1f2937;display:flex;align-items:center;gap:10px}.header-info .project-name{color:#6b7280;font-size:.875rem;margin-top:4px;display:block}.header-details{display:flex;gap:12px;flex:1;min-width:300px}.table-name-input,.table-description-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px}.table-name-input{flex:0 0 200px;font-weight:500}.table-description-input{flex:1}.table-name-input:focus,.table-description-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.header-actions{display:flex;gap:10px}.creator-content{flex:1;overflow-y:auto;padding:20px}.alert{margin:20px;padding:12px 16px;border-radius:6px;display:flex;align-items:center;justify-content:space-between}.alert-error{background:#fee;border:1px solid #fcc;color:#c00}.alert-success{background:#efe;border:1px solid #cfc;color:#060}.alert button{background:none;border:none;font-size:1.2rem;cursor:pointer;opacity:.6;margin-left:10px}.alert button:hover{opacity:1}.table-details{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:500;margin-bottom:5px;color:#374151}.form-group .required{color:#ef4444}.form-control{padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px}.schema-editor{background:#f3f4f6;border-radius:6px;padding:16px;margin-top:12px}.schema-columns{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.schema-column{display:flex;align-items:center;background:#fff;padding:12px;border-radius:4px;border:1px solid #e5e7eb}.column-name{flex:1;font-weight:500;display:flex;align-items:center;gap:8px}.column-type{color:#6b7280;font-size:.875rem;margin:0 12px}.primary-key-badge,.required-badge,.unique-badge{background:#10b981;color:#fff;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:500;margin-left:8px}.required-badge{background:#f59e0b}.unique-badge{background:#8b5cf6}.column-actions{display:flex;gap:4px}.btn-icon{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.btn-icon:hover{background:#f3f4f6;color:#374151}.add-column-form{display:flex;gap:12px;align-items:center;padding-top:12px;border-top:1px solid #e5e7eb}.add-column-form input,.add-column-form select{padding:6px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px}.add-column-form input{flex:1}.table-editor{margin-top:20px}.table-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.search-controls{display:flex;align-items:center;gap:12px}.search-box{position:relative;display:flex;align-items:center}.search-box i{position:absolute;left:12px;color:#6b7280}.search-box input{padding:8px 12px 8px 36px;border:1px solid #d1d5db;border-radius:4px;width:250px}.row-count{color:#6b7280;font-size:.875rem}.table-actions{display:flex;gap:12px;align-items:center}.import-export{display:flex;gap:8px}.hidden-file-input{display:none}.table-editor-body{background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.table-header{display:flex;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-weight:500;color:#374151}.header-cell{padding:12px;border-right:1px solid #e5e7eb;display:flex;align-items:center}.header-cell:last-child{border-right:none}.virtual-table-container{position:relative}.table-row{display:flex;border-bottom:1px solid #f3f4f6;transition:background-color .2s}.table-row:hover{background-color:#f9fafb}.table-row.selected{background-color:#eff6ff}.table-cell{padding:8px 12px;border-right:1px solid #f3f4f6;display:flex;align-items:center}.table-cell:last-child{border-right:none}.cell-input{width:100%;border:1px solid transparent;background:transparent;padding:4px 8px;border-radius:4px;transition:all .2s}.cell-input:focus{background:#fff;border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f61a}.cell-input.duplicate-key{background:#fee;border-color:#ef4444}.row-checkbox{cursor:pointer}.actions-column{text-align:center;justify-content:center}.btn-delete{background:none;border:none;color:#ef4444;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.btn-delete:hover{background:#fee}.empty-state{text-align:center;padding:60px 20px;color:#6b7280}.empty-state i{font-size:3rem;margin-bottom:16px;opacity:.3}.empty-state h4{margin:0 0 8px;color:#374151}.empty-state p{margin:0 0 20px}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:#6b7280;font-size:1.125rem}.loading i{margin-right:8px}.creator-section{background:#fff;border-radius:6px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.creator-section h3{margin:0;font-size:1.125rem;color:#1f2937;display:flex;align-items:center;gap:8px}.btn{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-primary:disabled{background:#93bbfc;cursor:not-allowed}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-sm{padding:6px 12px;font-size:13px}.log-formatter{font-family:Roboto Mono,Consolas,Monaco,monospace;font-size:12px;line-height:1.6;color:#e5e7eb;padding:16px;height:100%;overflow-y:auto;background:#1a1d2e}.log-formatter::-webkit-scrollbar{width:8px}.log-formatter::-webkit-scrollbar-track{background:#0f111a}.log-formatter::-webkit-scrollbar-thumb{background:#374151;border-radius:4px}.log-formatter::-webkit-scrollbar-thumb:hover{background:#4b5563}.log-line{display:flex;align-items:flex-start;padding:4px 0;border-bottom:1px solid rgba(55,65,81,.3);word-wrap:break-word;transition:background-color .2s ease}.log-line:hover{background-color:#37415133}.log-line:last-child{border-bottom:none}.log-timestamp{color:#6b7280;margin-right:12px;font-size:11px;white-space:nowrap}.log-level{font-weight:700;text-transform:uppercase;font-size:10px;padding:2px 6px;border-radius:3px;margin-right:12px;white-space:nowrap}.log-component{color:#8b5cf6;font-weight:600;margin-right:12px;font-size:11px}.log-message{flex:1;color:inherit;white-space:pre-wrap;word-break:break-word}.log-info{color:#e5e7eb}.log-info .log-level{background:#3b82f6;color:#fff}.log-error{color:#fca5a5;background-color:#ef44441a}.log-error .log-level{background:#ef4444;color:#fff}.log-warning{color:#fde047;background-color:#fbbf241a}.log-warning .log-level{background:#f59e0b;color:#fff}.log-success{color:#86efac;background-color:#22c55e1a}.log-success .log-level{background:#22c55e;color:#fff}.log-debug{color:#9ca3af;opacity:.8}.log-debug .log-level{background:#6b7280;color:#fff}.log-object{color:#67e8f9;background-color:#06b6d41a}.log-object .log-message{font-weight:600}.log-data{color:#c084fc}.json-block{margin:8px 0;padding:12px;background:#0f111a;border:1px solid #374151;border-radius:6px;overflow-x:auto;font-size:11px;line-height:1.4}.json-block::-webkit-scrollbar{height:6px}.json-block::-webkit-scrollbar-track{background:#1a1d2e}.json-block::-webkit-scrollbar-thumb{background:#374151;border-radius:3px}.log-message strong{color:#fbbf24;font-weight:700}.log-message em{color:#a78bfa;font-style:italic}.log-message .highlight-error{color:#ef4444;font-weight:700}.log-message .highlight-success{color:#22c55e;font-weight:700}.log-message .highlight-warning{color:#f59e0b;font-weight:700}.log-empty{color:#6b7280;text-align:center;padding:40px;font-style:italic}@media (max-width: 768px){.log-formatter{font-size:11px;padding:12px}.log-timestamp{display:none}.log-component{font-size:10px}}.execution-panel{position:absolute;right:80px;top:80px;transform:translate(100%);width:480px;max-width:90vw;height:calc(100vh - 140px);max-height:600px;background:#fffffffa;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 32px #0000001f;border-radius:16px;z-index:1000;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.execution-panel.active{opacity:1;visibility:visible;transform:translate(0)}.execution-panel-header{padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.06);display:flex;justify-content:space-between;align-items:center;background:#fafbfc;border-radius:16px 16px 0 0;flex-shrink:0}.execution-panel-header h3{margin:0;font-size:16px;font-weight:600;color:#374151;display:flex;align-items:center;gap:8px}.header-actions{display:flex;align-items:center;gap:8px}.close-btn{all:unset;box-sizing:border-box;font-family:inherit;background:#f9fafb;border:1px solid #f3f4f6;cursor:pointer;font-size:14px;color:#6b7280;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.close-btn:hover{background:#fef2f2;color:#ef4444;border-color:#fee2e2}.execution-panel-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.current-execution{height:100%;display:flex;flex-direction:column;padding:0;overflow:hidden}.execution-info{display:flex;align-items:center;gap:12px;padding:12px;margin:0 20px 16px;background:#f0f4f8;border-radius:8px;flex-shrink:0;flex-wrap:wrap;border:1px solid #e2e8f0}.status-section{display:flex;align-items:center;gap:8px}.status-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-text{font-weight:600;text-transform:uppercase;font-size:12px;color:#eff1f5;white-space:nowrap}.task-id{font-family:Roboto Mono,monospace;font-size:10px;color:#6b7280;background:#fff;padding:4px 8px;border-radius:4px;border:1px solid #e5e7eb;word-break:break-all;max-width:100%}.progress-section{flex:1 1 auto;display:flex;align-items:center;gap:8px;min-width:0;width:100%}.progress-bar{flex:1;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;position:relative}.progress-fill{height:100%;transition:width .3s ease}.progress-text{font-weight:600;color:#374151;font-size:11px;white-space:nowrap}.execution-tabs{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:0 20px 40px}.mini-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid #e5e7eb}.mini-tab{background:transparent;border:none;padding:8px 16px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.mini-tab:hover{color:#374151}.mini-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.logs-container{flex:1;overflow:hidden;background:#1a1d2e;border-radius:8px;padding:0;position:relative;min-height:200px;max-height:calc(100vh - 300px);display:flex;flex-direction:column}.no-execution{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#6b7280;text-align:center}.no-execution i{font-size:48px;margin-bottom:16px;opacity:.5}.no-execution p{margin:4px 0;font-size:14px}.hint{font-size:12px;opacity:.7}.header-actions .stop-btn{all:unset;box-sizing:border-box;font-family:inherit;background:#fee2e2;color:#ef4444;border:1px solid #fecaca;width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s ease}.header-actions .stop-btn:hover{background:#ef4444;color:#fff;border-color:#ef4444}@media (max-width: 768px){.execution-panel{width:360px;height:480px;right:20px;top:60px}.execution-panel-header{padding:12px 16px}.execution-panel-header h3{font-size:14px}.execution-info{margin:0 16px 12px;gap:8px}.execution-tabs{padding:0 16px 16px}.task-id{font-size:9px}}.steps-container{flex:1;overflow-y:auto;padding:16px;background:#f9fafb;border-radius:8px}.step-status-list{display:flex;flex-direction:column;gap:12px}.step-status-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;transition:all .2s}.step-status-item:hover{box-shadow:0 2px 4px #0000000d}.step-name{font-weight:500;color:#374151;font-size:14px}.step-status{display:flex;align-items:center;gap:6px;font-weight:600;font-size:12px;text-transform:uppercase}.no-steps{text-align:center;color:#6b7280;padding:40px;font-size:14px}.object-selector-container{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#f8f9fa;border-bottom:1px solid #e0e0e0}.object-selector-label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:#495057}.object-selector-label i{color:#007bff}.object-selector-dropdown{min-width:200px;max-width:280px;padding:8px 12px;border:1px solid #ced4da;border-radius:6px;background:#fff;font-size:14px;color:#212529;cursor:pointer;transition:all .2s ease}.object-selector-dropdown:hover{border-color:#80bdff}.object-selector-dropdown:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.object-count{font-size:13px;color:#6c757d;font-style:italic}.step-data-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.step-data-modal{background:#fff;border-radius:12px;width:90%;max-width:900px;height:80vh;max-height:700px;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.step-data-modal-header{padding:20px 24px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to bottom,#fff,#f8f9fa)}.step-data-modal-title{margin:0;font-size:18px;font-weight:600;color:#212529;display:flex;align-items:center;gap:10px}.step-data-modal-title i{font-size:20px;color:#007bff}.step-data-modal-actions{display:flex;align-items:center;gap:12px}.modal-action-btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.modal-action-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.modal-action-btn.copy{background-color:#28a745;color:#fff}.modal-action-btn.copy:hover{background-color:#218838}.modal-close-btn{width:32px;height:32px;border:none;background:none;color:#6c757d;font-size:20px;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close-btn:hover{background-color:#f8f9fa;color:#212529}.step-data-modal-tabs{display:flex;border-bottom:1px solid #e9ecef;background-color:#f8f9fa}.modal-tab{padding:14px 20px;border:none;background:transparent;color:#6c757d;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative;display:flex;align-items:center;gap:8px}.modal-tab:hover{color:#495057;background-color:#007bff0d}.modal-tab.active{color:#007bff;background-color:#fff}.modal-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background-color:#007bff}.step-data-modal-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.modal-content-wrapper{flex:1;overflow:auto;padding:24px}.modal-loading{text-align:center;padding:60px 20px}.loading-progress-container{width:240px;margin:0 auto 24px}.loading-progress-bar{background:#e9ecef;border-radius:8px;height:8px;overflow:hidden;position:relative}.loading-progress-fill{background:linear-gradient(90deg,#007bff,#0056b3);height:100%;transition:width .3s ease;position:relative;overflow:hidden}.loading-progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.loading-percentage{font-size:24px;font-weight:600;color:#212529;margin-bottom:8px}.loading-status{color:#6c757d;font-size:14px}.modal-error{text-align:center;padding:60px 20px}.error-icon{font-size:48px;color:#dc3545;margin-bottom:20px}.error-message{color:#dc3545;font-size:16px;margin-bottom:24px}.retry-btn{padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.retry-btn:hover{background-color:#0056b3;transform:translateY(-1px);box-shadow:0 2px 8px #007bff4d}.modal-empty{text-align:center;padding:60px 20px}.empty-icon{font-size:48px;color:#6c757d;margin-bottom:20px}.empty-message{color:#6c757d;font-size:16px}.data-formatted{background-color:#f8f9fa;padding:20px;border-radius:8px;border:1px solid #e9ecef;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.6;color:#212529;white-space:pre-wrap;word-break:break-word;max-height:100%;overflow:auto}.data-raw{width:100%;height:100%;padding:20px;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.6;color:#212529;resize:none;outline:none}.data-raw:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.step-data-modal-footer{padding:16px 24px;border-top:1px solid #e9ecef;background-color:#f8f9fa;display:flex;justify-content:space-between;align-items:center}.footer-info{font-size:12px;color:#6c757d;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.footer-actions{display:flex;gap:12px}.footer-btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.footer-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.footer-btn.refresh{background-color:#6c757d;color:#fff}.footer-btn.refresh:hover{background-color:#5a6268}.footer-btn.close{background-color:#007bff;color:#fff}.footer-btn.close:hover{background-color:#0056b3}.modal-content-wrapper::-webkit-scrollbar,.data-formatted::-webkit-scrollbar,.data-raw::-webkit-scrollbar{width:8px;height:8px}.modal-content-wrapper::-webkit-scrollbar-track,.data-formatted::-webkit-scrollbar-track,.data-raw::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.modal-content-wrapper::-webkit-scrollbar-thumb,.data-formatted::-webkit-scrollbar-thumb,.data-raw::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.modal-content-wrapper::-webkit-scrollbar-thumb:hover,.data-formatted::-webkit-scrollbar-thumb:hover,.data-raw::-webkit-scrollbar-thumb:hover{background:#a1a1a1}@media (max-width: 768px){.step-data-modal{width:95%;height:90vh;margin:20px}.step-data-modal-header{padding:16px 20px}.step-data-modal-title{font-size:16px}.modal-content-wrapper{padding:16px}}.flow-tabs-container{background:#f8f9fa;border-bottom:1px solid rgba(0,0,0,.1);position:relative;z-index:100;box-shadow:0 2px 4px #0000000d}.flow-tabs-wrapper{display:flex;align-items:center;height:48px;padding:0 16px;max-width:100%;overflow:hidden}.flow-tabs{display:flex;flex:1;align-items:center;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;gap:2px}.flow-tabs::-webkit-scrollbar{display:none}.flow-tab{position:relative;min-width:200px;max-width:280px;height:36px;background:#fffc;border:1px solid rgba(0,0,0,.1);border-radius:8px 8px 0 0;cursor:pointer;transition:all .2s ease;flex-shrink:0;margin-right:2px;overflow:hidden}.flow-tab:hover{background:#fffffff2;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.flow-tab.active{background:#fff;border-bottom:1px solid white;box-shadow:0 2px 8px #0000001a;z-index:10}.flow-tab.active:before{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px 2px 0 0}.flow-tab-content{display:flex;align-items:center;height:100%;padding:0 12px;gap:8px;position:relative}.flow-tab-icon{color:#6c757d;font-size:14px;flex-shrink:0;transition:color .2s ease}.flow-tab.active .flow-tab-icon{color:#667eea}.flow-tab-title{flex:1;font-size:13px;font-weight:500;color:#495057;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;transition:color .2s ease;display:flex;align-items:center;gap:6px}.flow-tab.active .flow-tab-title{color:#212529;font-weight:600}.flow-tab-number{background:#6c757d;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;transition:all .2s ease}.flow-tab.active .flow-tab-number{background:#667eea;color:#fff}.flow-tab:hover .flow-tab-number{background:#495057;transform:scale(1.05)}.flow-tab.active:hover .flow-tab-number{background:#5a6fd8}.flow-tab-status{font-size:8px;color:#28a745;flex-shrink:0;opacity:0;transition:opacity .2s ease}.flow-tab.modified .flow-tab-status{opacity:1;color:#ffc107}.flow-tab.saved .flow-tab-status{opacity:1;color:#28a745}.flow-tab-close{background:none;border:none;color:#6c757d;font-size:14px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;opacity:.7;position:relative;z-index:10}.flow-tab:hover .flow-tab-close{opacity:1}.flow-tab-close:hover{background:#dc35451a;color:#dc3545;transform:scale(1.1);opacity:1!important}.flow-tabs-actions{display:flex;align-items:center;gap:8px;margin-left:16px;flex-shrink:0}.flow-tab-add,.flow-tabs-menu{background:#fffc;border:1px solid rgba(0,0,0,.1);border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#6c757d;font-size:14px}.flow-tab-add:hover,.flow-tabs-menu:hover{background:#fff;color:#667eea;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.flow-tab-add:active,.flow-tabs-menu:active{transform:translateY(0)}.flow-tabs-dropdown{position:absolute;top:100%;right:16px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:8px;box-shadow:0 8px 24px #00000026;min-width:220px;z-index:1000;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease}.flow-tabs-dropdown.show{opacity:1;visibility:visible;transform:translateY(0)}.flow-tabs-dropdown-header{padding:12px 16px 8px;border-bottom:1px solid rgba(0,0,0,.05)}.flow-tabs-dropdown-header h6{margin:0;font-size:12px;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.flow-tabs-dropdown-content{padding:8px 0}.flow-tabs-dropdown-item{display:flex;align-items:center;padding:10px 16px;cursor:pointer;transition:background-color .2s ease;font-size:14px;color:#495057}.flow-tabs-dropdown-item:hover{background:#667eea0d;color:#667eea}.flow-tabs-dropdown-item i{width:16px;color:#6c757d;transition:color .2s ease}.flow-tabs-dropdown-item:hover i{color:#667eea}.flow-tabs-dropdown-divider{height:1px;background:#0000000d;margin:8px 0}@keyframes tabSlideIn{0%{opacity:0;transform:translate(-20px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}.flow-tab.new-tab{animation:tabSlideIn .3s ease}@keyframes tabSlideOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(20px) scale(.95)}}.flow-tab.closing{animation:tabSlideOut .2s ease forwards}@media (max-width: 768px){.flow-tabs-wrapper{padding:0 8px;height:44px}.flow-tab{min-width:160px;max-width:200px;height:32px}.flow-tab-content{padding:0 8px;gap:6px}.flow-tab-title{font-size:12px}.flow-tabs-actions{margin-left:8px;gap:4px}.flow-tab-add,.flow-tabs-menu{width:28px;height:28px;font-size:12px}}.designer-container{height:calc(100vh - 48px)}@media (max-width: 768px){.designer-container{height:calc(100vh - 44px)}}.flow-step-begin{border:1px solid #dee2e6;border-left:5px solid #4e73df;background-color:#f8f9fc;position:relative}.flow-step-begin .connector-dot{z-index:10}.flow-step-begin .step-header{background-color:#f8f9fc;color:#4e73df}.executing{box-shadow:0 0 10px #ffc107cc;border-color:#ffc107!important;animation:pulse 1.5s infinite}.execution-complete{box-shadow:0 0 10px #28a74580;border-color:#28a745!important}.execution-error{box-shadow:0 0 10px #dc354580;border-color:#dc3545!important}.execution-info{position:absolute;bottom:-10px;left:0;right:0;text-align:center;background-color:#000000b3;color:#fff;padding:2px 5px;border-radius:3px;font-size:.8rem;z-index:1}.jtk-connector.connection-active path{stroke:#28a745!important;stroke-width:3px!important;animation:flowPulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 10px #ffc107cc}50%{box-shadow:0 0 20px #ffc107}to{box-shadow:0 0 10px #ffc107cc}}@keyframes flowPulse{0%{stroke-dasharray:5,5;stroke-dashoffset:0}to{stroke-dasharray:5,5;stroke-dashoffset:-10}}.flow-step.step-pending{border-color:#6c757d;opacity:.8;position:relative}.flow-step.step-pending:before{content:"Pending";position:absolute;top:-20px;left:50%;transform:translate(-50%);background:#6c757d;color:#fff;padding:2px 8px;border-radius:4px;font-size:.7rem;z-index:10}.flow-step.step-running{border-color:#0d6efd!important;box-shadow:0 0 0 3px #0d6efd80;animation:pulse-blue 1.5s infinite;position:relative}.flow-step.step-running:before{content:"Running";position:absolute;top:-20px;left:50%;transform:translate(-50%);background:#0d6efd;color:#fff;padding:2px 8px;border-radius:4px;font-size:.7rem;z-index:10}.flow-step.step-completed{border-color:#198754!important;box-shadow:0 0 0 2px #19875480;position:relative}.flow-step.step-completed:before{content:"Completed";position:absolute;top:-20px;left:50%;transform:translate(-50%);background:#198754;color:#fff;padding:2px 8px;border-radius:4px;font-size:.7rem;z-index:10}.flow-step.step-success{border-color:#198754!important;box-shadow:0 0 0 2px #19875480;position:relative}.flow-step.step-success:before{content:"Success";position:absolute;top:-20px;left:50%;transform:translate(-50%);background:#198754;color:#fff;padding:2px 8px;border-radius:4px;font-size:.7rem;z-index:10}.flow-step.step-failed{border-color:#dc3545!important;box-shadow:0 0 0 2px #dc354580;position:relative}.flow-step.step-failed:before{content:"Failed";position:absolute;top:-20px;left:50%;transform:translate(-50%);background:#dc3545;color:#fff;padding:2px 8px;border-radius:4px;font-size:.7rem;z-index:10}.flow-step.step-partial_failure{border-color:#f59e0b!important;box-shadow:0 0 0 2px #f59e0b80;position:relative;animation:pulse-warning 2s infinite}.flow-step.step-partial_failure:before{content:"Partial Success";position:absolute;top:-20px;left:50%;transform:translate(-50%);background:#f59e0b;color:#fff;padding:2px 8px;border-radius:4px;font-size:.7rem;z-index:10}.flow-step.step-status-changed{animation:pulse-highlight 1s ease-in-out}.executing-flow{background-color:#00000008}.execution-completed{background-color:#1987540d}.execution-failed{background-color:#dc35450d}@keyframes pulse-blue{0%{box-shadow:0 0 #0d6efdb3}70%{box-shadow:0 0 0 8px #0d6efd00}to{box-shadow:0 0 #0d6efd00}}@keyframes pulse-highlight{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.7}}.executing-flow .jtk-connector path{stroke-dasharray:5,5;animation:flow-line 1s linear infinite}.step-running~.jtk-connector path{stroke:#0d6efd!important;stroke-width:3px!important}@keyframes flow-line{to{stroke-dashoffset:-10}}.step-output-data{margin-top:8px;padding:8px;background:#00000008;border-radius:4px;max-height:100px;overflow-y:auto;font-size:.75rem;border-left:3px solid #0d6efd}.step-output-data.error{border-left:3px solid #dc3545}.decision-output-label{position:absolute;top:-20px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;white-space:nowrap;opacity:0;transition:opacity .2s ease-in-out;pointer-events:none;z-index:1000}.connection-dot.decision-output:hover .decision-output-label,.connection-dot.decision-output:hover>div{opacity:1}.connection-dot.decision-output{cursor:crosshair!important}.connection-dot.decision-output:hover{transform:scale(1.2);box-shadow:0 2px 8px #0000004d!important}.output-text,.output-json{margin:0;white-space:pre-wrap;word-break:break-all;font-size:.75rem}.designer-container{position:relative;display:flex;height:100vh;width:100%;overflow:hidden;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.components-drawer-trigger{position:absolute;left:20px;top:20px;width:56px;height:56px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:200;box-shadow:0 8px 25px #667eea66;transition:all .4s cubic-bezier(.68,-.55,.265,1.55);overflow:hidden}.components-drawer-trigger:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .8s}.components-drawer-trigger:hover{transform:scale(1.1) rotate(180deg);box-shadow:0 12px 35px #667eea99}.components-drawer-trigger:hover:before{left:100%}.components-drawer-trigger i{font-size:24px;transition:transform .3s ease}.components-drawer-trigger:hover i{transform:rotate(45deg)}.components-drawer{position:absolute;left:90px;top:20px;transform:translate(-100%);width:500px;max-width:90vw;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);box-shadow:0 25px 50px #00000040;border-radius:20px;z-index:1000;opacity:0;visibility:hidden;transition:all .5s cubic-bezier(.68,-.55,.265,1.55);max-height:calc(100vh - 40px)}.components-drawer.active{opacity:1;visibility:visible;transform:translate(0)}.components-drawer-header{padding:20px 25px 15px;border-bottom:1px solid rgba(0,0,0,.06);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:20px 20px 0 0}.components-drawer-header h3{margin:0;font-size:20px;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.components-drawer-close{background:#fffc;border:none;cursor:pointer;font-size:16px;color:#666;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.components-drawer-close:hover{background:#dc35451a;color:#dc3545;transform:rotate(90deg)}.components-drawer-tabs{display:flex;background:#f8f9facc;border-radius:0;overflow:hidden}.components-drawer-tab{padding:15px 20px;cursor:pointer;flex:1;text-align:center;border-bottom:3px solid transparent;font-weight:500;color:#6c757d;transition:all .3s ease;position:relative;overflow:hidden}.components-drawer-tab:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(135deg,#667eea1a,#764ba21a);transition:left .3s ease;z-index:0}.components-drawer-tab:hover:before{left:0}.components-drawer-tab:hover{color:#495057;transform:translateY(-2px)}.components-drawer-tab.active{border-bottom-color:#667eea;color:#667eea;background:#667eea0d}.components-drawer-tab.active:before{left:0}.components-drawer-content{max-height:calc(100vh - 200px);overflow-y:auto;padding:20px;scrollbar-width:thin;scrollbar-color:rgba(102,126,234,.3) transparent}.components-drawer-content::-webkit-scrollbar{width:6px}.components-drawer-content::-webkit-scrollbar-track{background:transparent}.components-drawer-content::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:3px}.component-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;padding:5px}.component-item{padding:20px 15px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;cursor:grab;transition:all .3s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden}.component-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea0d,#764ba20d);opacity:0;transition:opacity .3s ease}.component-item:hover:before{opacity:1}.component-item:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 10px 25px #00000026;border-color:#667eea4d}.component-item:active{transform:translateY(-2px) scale(.98)}.component-item i{font-size:28px;margin-bottom:10px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:transform .3s ease}.component-item:hover i{transform:scale(1.1)}.component-item span{font-size:13px;text-align:center;font-weight:500;color:#495057;position:relative;z-index:1}.canvas-container{position:relative;flex:1;width:100%;height:100%;overflow:hidden;border-radius:0;background:#fafbfc;background-image:linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px);background-size:20px 20px;padding-bottom:100px}.flow-canvas{position:relative;width:100%;height:100%;min-height:calc(100vh - 60px);background:#fafbfc;background-image:linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px);background-size:20px 20px;background-attachment:local;overflow:auto;transform-origin:0 0;transition:all .3s ease}.flow-canvas.hide-grid,.canvas-container.hide-grid{background-image:none}.flow-canvas.show-grid:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 1px 1px,rgba(0,0,0,.15) 1px,transparent 0);background-size:20px 20px;pointer-events:none;z-index:0}.flow-canvas.show-grid.grid-dots{background:#fafbfc;background-image:radial-gradient(circle at 1px 1px,rgba(0,0,0,.1) 1px,transparent 0);background-size:20px 20px}.flow-canvas.show-grid.grid-lines{background:#fafbfc;background-image:linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px);background-size:20px 20px}.flow-canvas.show-grid.grid-subtle{background:#fafbfc;background-image:linear-gradient(rgba(102,126,234,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(102,126,234,.02) 1px,transparent 1px);background-size:20px 20px}.flow-canvas.no-grid{background:linear-gradient(135deg,#fff,#f8f9fa)}.flow-designer-controls{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:1000;pointer-events:none}.toolbar{display:flex;flex-direction:row;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;box-shadow:0 15px 35px #00000026;padding:8px;border:1px solid rgba(255,255,255,.2);gap:4px;pointer-events:auto}.toolbar-btn{width:48px;height:48px;margin:0;border:none;background:#f8f9facc;border-radius:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);color:#6c757d;position:relative;overflow:hidden}.toolbar-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(102,126,234,.2) 0%,transparent 70%);transition:all .3s ease;transform:translate(-50%,-50%);border-radius:50%}.toolbar-btn:hover:before{width:100px;height:100px}.toolbar-btn:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:translateY(-3px) scale(1.05);box-shadow:0 8px 20px #667eea66}.toolbar-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 5px 15px #667eea66}.toolbar-btn i{font-size:18px;position:relative;z-index:1}.toolbar-btn[title*=Save]:hover{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 8px 20px #28a74566}.toolbar-btn[title*=Execute]:hover{background:linear-gradient(135deg,#007bff,#6610f2);box-shadow:0 8px 20px #007bff66}.toolbar-btn[title*=Delete]:hover{background:#dc35451a;color:#dc3545}.jtk-connector.raw-connection path{stroke-linecap:round!important;stroke-linejoin:round!important}.jtk-connector path{stroke-width:2px!important;stroke-linecap:round!important;stroke-linejoin:round!important;transition:stroke-width .2s ease}.jtk-connector:hover path{stroke-width:3px!important;filter:drop-shadow(0 0 4px rgba(13,110,253,.4))}.jtk-connector.flowchart-connector path{stroke-width:2px!important;stroke-linecap:round!important;stroke-linejoin:round!important}.jtk-connector.flowchart-connector:hover path{stroke-width:3px!important;filter:drop-shadow(0 0 6px rgba(13,110,253,.6))}.components-drawer-trigger .trigger-tooltip{position:absolute;left:70px;top:50%;transform:translateY(-50%);background:#000c;color:#fff;padding:8px 12px;border-radius:8px;font-size:14px;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transition:all .3s ease;z-index:201}.components-drawer-trigger .trigger-tooltip:before{content:"";position:absolute;left:-5px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid rgba(0,0,0,.8)}.components-drawer-trigger:hover .trigger-tooltip{opacity:1;visibility:visible;left:75px}.component-search-container{position:relative;margin-bottom:20px;padding:0 5px}.component-search{width:100%;padding:12px 40px 12px 16px;border:2px solid rgba(102,126,234,.1);border-radius:12px;background:#f8f9facc;font-size:14px;font-weight:500;color:#495057;transition:all .3s ease;outline:none}.component-search:focus{border-color:#667eea80;background:#fff;box-shadow:0 0 0 3px #667eea1a}.component-search-container i{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#6c757d;transition:color .3s ease}.component-search:focus+i{color:#667eea}@keyframes float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-3px) rotate(2deg)}50%{transform:translateY(-6px) rotate(0)}75%{transform:translateY(-3px) rotate(-2deg)}}.components-drawer-trigger{animation:float 6s ease-in-out infinite}.components-drawer-trigger:hover{animation:none}.flow-canvas.no-grid{background-image:none}.badge.bg-secondary{background:linear-gradient(135deg,#667eea,#764ba2)!important;border-radius:8px;padding:6px 12px;font-weight:500;font-size:12px;letter-spacing:.5px}.toolbar-btn,.components-drawer-tab,.component-item{will-change:transform,box-shadow,background}@media (max-width: 768px){.components-drawer{width:95vw;left:10px;top:90px}.components-drawer-trigger{left:15px;top:15px;width:50px;height:50px}.component-list{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.toolbar{bottom:10px;padding:6px;border-radius:15px}.toolbar-btn{width:42px;height:42px}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.component-item{animation:slideInUp .4s ease-out}.component-item:nth-child(1){animation-delay:.1s}.component-item:nth-child(2){animation-delay:.2s}.component-item:nth-child(3){animation-delay:.3s}.component-item:nth-child(4){animation-delay:.4s}.component-item:nth-child(5){animation-delay:.5s}.component-item:nth-child(6){animation-delay:.6s}.components-drawer-content::-webkit-scrollbar-thumb:hover{background:#667eea80}*:focus{outline:none;box-shadow:0 0 0 3px #667eea33;border-radius:4px}#execution-modal .modal-dialog{max-width:90vw;margin:2rem auto}#execution-modal .modal-content{border:none;border-radius:20px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 25px 50px #00000040;overflow:hidden}#execution-modal .modal-header{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-bottom:1px solid rgba(102,126,234,.2);padding:20px 30px;position:relative;overflow:hidden}#execution-modal .modal-header:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .8s}#execution-modal .modal-header:hover:before{left:100%}#execution-modal .modal-title{font-size:24px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}#execution-modal .btn-close{background:#fffc;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;opacity:.8}#execution-modal .btn-close:hover{background:#dc35451a;transform:rotate(90deg) scale(1.1);opacity:1}#execution-modal .progress{height:8px;border-radius:10px;background:#667eea1a;overflow:hidden;margin-bottom:24px}#execution-progress{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;transition:width .3s ease;position:relative;overflow:hidden}#execution-progress:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progressShimmer 2s infinite}@keyframes progressShimmer{0%{left:-100%}to{left:100%}}#execution-modal .row{margin:0}#execution-modal .col-md-4,#execution-modal .col-md-8{padding:0 10px}#execution-modal .card{border:none;border-radius:16px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000001a;overflow:hidden;transition:all .3s ease}#execution-modal .card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #00000026}#execution-modal .card-header{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-bottom:1px solid rgba(102,126,234,.1);padding:16px 20px;font-weight:600;color:#495057;font-size:16px}#execution-modal .card-body{padding:0}#execution-steps{max-height:400px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(102,126,234,.3) transparent}#execution-steps::-webkit-scrollbar{width:6px}#execution-steps::-webkit-scrollbar-track{background:transparent}#execution-steps::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:3px}#execution-steps .list-group-item{border:none;border-bottom:1px solid rgba(102,126,234,.1);padding:12px 20px;background:transparent;transition:all .3s ease}#execution-steps .list-group-item:hover{background:#667eea0d;transform:translate(4px)}#execution-steps .list-group-item:last-child{border-bottom:none}#execution-logs{background:#1a1a1a!important;color:#0f0;font-family:Courier New,monospace;font-size:13px;line-height:1.4;border-radius:12px;padding:20px!important;margin:20px;max-height:400px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(102,126,234,.3) transparent;box-shadow:inset 0 2px 10px #0000004d}#execution-logs::-webkit-scrollbar{width:8px}#execution-logs::-webkit-scrollbar-track{background:#0003;border-radius:4px}#execution-logs::-webkit-scrollbar-thumb{background:#667eea80;border-radius:4px}#execution-modal .modal-footer{background:#f8f9facc;border-top:1px solid rgba(102,126,234,.1);padding:20px 30px;gap:12px}#execution-modal .modal-footer .btn{border-radius:10px;padding:10px 20px;font-weight:600;transition:all .3s ease}@media (max-width: 768px){#execution-modal .modal-dialog{max-width:95vw;margin:1rem auto}#execution-modal .row{flex-direction:column}#execution-modal .col-md-4,#execution-modal .col-md-8{width:100%;padding:0;margin-bottom:16px}#execution-logs{font-size:11px;max-height:250px}.flow-designer-controls{bottom:10px}.toolbar{padding:6px;border-radius:15px}.canvas-container{padding-bottom:80px}}#execution-logs .execution-success{color:#28a745}#execution-logs .execution-error{color:#dc3545}#execution-logs .execution-warning{color:#ffc107}#execution-logs .execution-info{color:#17a2b8}#execution-controls{border:none!important;border-radius:20px!important;background:#fffffff2!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;box-shadow:0 25px 50px #00000040!important;overflow:hidden!important;position:fixed!important;bottom:20px!important;left:20px!important;z-index:1000!important;width:500px!important;max-width:90vw!important}#execution-controls .card-header{background:linear-gradient(135deg,#667eea1a,#764ba21a)!important;border-bottom:1px solid rgba(102,126,234,.2)!important;padding:16px 20px!important;position:relative;overflow:hidden}#execution-controls .card-header:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .8s}#execution-controls .card-header:hover:before{left:100%}#execution-controls .card-header h6{font-size:18px!important;font-weight:700!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;margin:0!important}#execution-controls .card-header .btn{border-radius:8px!important;padding:6px 12px!important;font-weight:600!important;transition:all .3s ease!important;border:none!important;font-size:12px!important}#execution-controls .card-header .btn-outline-danger{background:linear-gradient(135deg,#dc3545,#c82333)!important;color:#fff!important}#execution-controls .card-header .btn-outline-danger:hover{transform:translateY(-2px)!important;box-shadow:0 4px 15px #dc354566!important}#execution-controls .card-header .btn-outline-info{background:linear-gradient(135deg,#17a2b8,#138496)!important;color:#fff!important}#execution-controls .card-header .btn-outline-info:hover{transform:translateY(-2px)!important;box-shadow:0 4px 15px #17a2b866!important}#execution-controls .card-header .btn-outline-secondary{background:linear-gradient(135deg,#6c757d,#545b62)!important;color:#fff!important}#execution-controls .card-header .btn-outline-secondary:hover{transform:translateY(-2px)!important;box-shadow:0 4px 15px #6c757d66!important}#execution-controls .card-header .btn-outline-dark{background:linear-gradient(135deg,#343a40,#23272b)!important;color:#fff!important}#execution-controls .card-header .btn-outline-dark:hover{transform:translateY(-2px)!important;box-shadow:0 4px 15px #343a4066!important}#execution-controls .card-body{padding:20px!important;background:#ffffffe6!important}#execution-controls .progress{height:8px!important;border-radius:10px!important;background:#667eea1a!important;overflow:hidden!important;margin-bottom:16px!important}#execution-controls .progress-bar{background:linear-gradient(135deg,#667eea,#764ba2)!important;border-radius:10px!important;transition:width .3s ease!important;position:relative!important;overflow:hidden!important}#execution-controls .progress-bar:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progressShimmer 2s infinite}#execution-status-text{font-size:14px!important;font-weight:600!important;margin-bottom:16px!important;padding:8px 12px!important;border-radius:8px!important;background:#667eea0d!important;border-left:4px solid #667eea!important}#execution-status-text.text-success{background:#28a7451a!important;border-left-color:#28a745!important;color:#155724!important}#execution-status-text.text-danger{background:#dc35451a!important;border-left-color:#dc3545!important;color:#721c24!important}#execution-status-text.text-warning{background:#ffc1071a!important;border-left-color:#ffc107!important;color:#856404!important}#execution-status-text.text-info{background:#17a2b81a!important;border-left-color:#17a2b8!important;color:#0c5460!important}#execution-status-text.text-primary{background:#667eea1a!important;border-left-color:#667eea!important;color:#495057!important}#execution-logs-container{background:#1a1a1a!important;color:#0f0!important;font-family:Courier New,monospace!important;font-size:13px!important;line-height:1.4!important;border-radius:12px!important;padding:16px!important;max-height:200px!important;overflow-y:auto!important;scrollbar-width:thin!important;scrollbar-color:rgba(102,126,234,.3) transparent!important;box-shadow:inset 0 2px 10px #0000004d!important;border:1px solid rgba(102,126,234,.2)!important}#execution-logs-container::-webkit-scrollbar{width:8px}#execution-logs-container::-webkit-scrollbar-track{background:#0003;border-radius:4px}#execution-logs-container::-webkit-scrollbar-thumb{background:#667eea80;border-radius:4px}#execution-logs-container .execution-log-line{margin-bottom:4px;padding:2px 0}#execution-logs-container .text-success{color:#28a745!important}#execution-logs-container .text-danger{color:#dc3545!important}#execution-logs-container .text-warning{color:#ffc107!important}#execution-logs-container .text-info{color:#17a2b8!important}#execution-controls.expanded{width:80vw!important;height:80vh!important;bottom:10vh!important;left:10vw!important}#execution-controls.expanded #execution-logs-container{max-height:calc(80vh - 200px)!important}@media (max-width: 768px){#execution-controls{width:95vw!important;left:2.5vw!important;bottom:10px!important}#execution-controls .card-header{padding:12px 16px!important}#execution-controls .card-header h6{font-size:16px!important}#execution-controls .card-header .btn{padding:4px 8px!important;font-size:11px!important}#execution-controls .card-body{padding:16px!important}#execution-logs-container{max-height:150px!important;font-size:11px!important}#execution-controls.expanded{width:95vw!important;height:90vh!important;bottom:5vh!important;left:2.5vw!important}}#connection-style-toggle-bottom{transition:all .2s ease;position:relative}#connection-style-toggle-bottom:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#667eea1a;border-radius:8px;opacity:0;transition:opacity .2s ease;z-index:-1}#connection-style-toggle-bottom.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}#connection-style-toggle-bottom:hover:before{opacity:1}#connection-style-toggle-bottom:hover{color:#667eea;transform:translateY(-1px)}#connection-style-toggle-bottom.active:hover{background:linear-gradient(135deg,#5a6fd8,#6a4c93);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.ai-flow-generator-trigger{position:absolute;left:20px;top:90px;width:48px;height:48px;background:#faf5ff;color:#8b5cf6;border:1px solid #f3e8ff;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:200;box-shadow:0 2px 8px #8b5cf61a;transition:all .15s ease;pointer-events:auto;-webkit-user-select:none;user-select:none}.ai-flow-generator-trigger:hover{background:#f3e8ff;color:#7c3aed;border-color:#e9d5ff;transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf626}.ai-flow-generator-trigger i{font-size:20px;transition:transform .15s ease}.components-drawer{transition:transform .3s ease}.components-drawer:not(.open){transform:translate(-100%)}.components-drawer.open{transform:translate(0)}.ai-flow-generator{transition:transform .3s ease}.ai-flow-generator:not(.open){transform:translate(-100%)}.ai-flow-generator.open{transform:translate(0)}.properties-panel{transition:transform .3s ease}.properties-panel:not(.open){transform:translate(100%)}.properties-panel.open{transform:translate(0)}.toolbar-btn.active{background-color:#007bff!important;color:#fff!important}.component-item:hover,.components-drawer-tab:hover,.properties-tab:hover{background-color:#007bff1a!important;cursor:pointer!important}.components-drawer-tab,.properties-tab{cursor:pointer}.flow-tabs-container{z-index:100}.components-drawer{z-index:101}.ai-flow-generator{z-index:102}.properties-panel{z-index:103}.flow-canvas.grid-visible:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle,rgba(0,0,0,.1) 1px,transparent 1px);background-size:20px 20px;pointer-events:none;z-index:1}.flow-designer-tabbed{height:100vh;display:flex;flex-direction:column;background:#f8f9fa}.flow-designer-header{background:#fff;border-bottom:1px solid #dee2e6;padding:0;flex-shrink:0;z-index:1000}.header-content{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;height:60px}.header-left{display:flex;align-items:center;gap:20px}.header-title{margin:0;font-size:1.5rem;font-weight:600;color:#495057;display:flex;align-items:center;gap:10px}.header-title i{color:#007bff;font-size:1.4rem}.header-subtitle{background:#f8f9fa;padding:4px 12px;border-radius:20px;font-size:13px;color:#6c757d;font-weight:500}.header-right{display:flex;gap:10px}.header-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #dee2e6;background:#fff;color:#495057;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.header-btn:hover{background:#f8f9fa;border-color:#007bff;color:#007bff}.header-btn.active,.header-btn.btn-components.active{background:#007bff;border-color:#007bff;color:#fff}.header-btn.btn-properties.active{background:#6c757d;border-color:#6c757d;color:#fff}.flow-designer-content{flex:1;position:relative;overflow:hidden}.flow-designer-tabbed{display:flex;flex-direction:column;height:100vh;background:#f8f9fa}.workspace-tabs{display:flex;align-items:center;background:#fff;border-bottom:1px solid #dee2e6;padding:0 16px;min-height:48px;box-shadow:0 1px 3px #0000001a;z-index:10}.tabs-container{display:flex;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tabs-container::-webkit-scrollbar{display:none}.workspace-tabs{display:flex;align-items:center;background:#fffffff2;border-bottom:1px solid rgba(0,0,0,.08);padding:8px 16px;gap:4px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-height:48px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.workspace-tabs::-webkit-scrollbar{display:none}.workspace-tab{display:flex;align-items:center;background:#ffffffb3;border:1px solid rgba(0,0,0,.06);border-radius:8px;padding:8px 12px;cursor:pointer;min-width:140px;max-width:220px;position:relative;transition:all .15s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;margin-right:2px;font-weight:500;box-shadow:0 1px 2px #00000005;flex-shrink:0}.workspace-tab:hover{background:#ffffffe6;border-color:#0000001a;transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.workspace-tab.active{background:#fff;border-color:#3b82f633;box-shadow:0 2px 12px #3b82f61a;z-index:10;font-weight:600}.workspace-tab.active:after{content:"";position:absolute;bottom:-1px;left:8px;right:8px;height:2px;border-radius:1px}.workspace-tab .tab-icon{font-size:14px;margin-right:8px;flex-shrink:0;transition:color .15s ease}.workspace-tab .tab-name{flex:1;font-size:13px;font-weight:inherit;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.workspace-tab.active .tab-name{color:#111827;font-weight:600}.modified-indicator{color:#f59e0b;font-weight:700;font-size:12px;line-height:1;margin-left:4px;flex-shrink:0}.tab-close{all:unset;box-sizing:border-box;font-family:inherit;width:20px;height:20px;margin-left:8px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;opacity:.6;color:#6b7280;font-size:12px;font-weight:400;flex-shrink:0}.workspace-tab:hover .tab-close{opacity:1}.tab-close:hover{background:#ef44441a;color:#ef4444;opacity:1}.new-tab-button{all:unset;box-sizing:border-box;font-family:inherit;background:#fffc;border:1px solid rgba(0,0,0,.06);color:#6b7280;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;margin-left:8px;min-width:36px;height:32px;flex-shrink:0}.new-tab-button:hover{background:#3b82f61a;color:#3b82f6;border-color:#3b82f633;transform:translateY(-1px);box-shadow:0 2px 8px #3b82f61a}.bottom-toolbar{position:fixed;bottom:16px;left:50%;transform:translate(-50%);background:#fffffff2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:6px 8px;box-shadow:0 2px 12px #00000014;display:flex;gap:4px;align-items:center;z-index:1000;transition:all .2s ease}.bottom-toolbar:hover{box-shadow:0 4px 16px #0000001a}.toolbar-btn{all:unset;box-sizing:border-box;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:5px;height:28px;padding:0 8px;font-size:12px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease;position:relative;text-decoration:none;border:1px solid transparent;white-space:nowrap;outline:none}.toolbar-btn.primary{background:#f0f9ff;color:#3b82f6;border-color:#e0f2fe}.toolbar-btn.primary:hover{background:#e0f2fe;color:#2563eb;border-color:#bae6fd}.toolbar-btn.success{background:#f0fdf4;color:#16a34a;border-color:#dcfce7}.toolbar-btn.success:hover{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.toolbar-btn.toggle{background:#f9fafb;color:#6b7280;border-color:#f3f4f6}.toolbar-btn.toggle:hover{background:#f3f4f6;color:#374151;border-color:#e5e7eb}.toolbar-btn.toggle.active{background:#eff6ff;color:#3b82f6;border-color:#dbeafe}.toolbar-btn.toggle.active:hover{background:#dbeafe;color:#2563eb;border-color:#bfdbfe}.toolbar-btn.special{background:#faf5ff;color:#8b5cf6;border-color:#f3e8ff}.toolbar-btn.special:hover{background:#f3e8ff;color:#7c3aed;border-color:#e9d5ff}.toolbar-btn.special.active{background:#ede9fe;color:#7c3aed;border-color:#ddd6fe}.toolbar-btn.special.active:hover{background:#ddd6fe;color:#6d28d9;border-color:#c4b5fd}.toolbar-btn.icon-only{width:28px;padding:0;min-width:28px}.toolbar-btn.monitoring{background:#fef3c7;color:#f59e0b;border-color:#fde68a;position:relative}.toolbar-btn.monitoring:hover{background:#fde68a;color:#d97706;border-color:#fcd34d}.toolbar-btn.monitoring:after{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;background:#f59e0b;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed;background:#f9fafb!important;color:#9ca3af!important;border-color:#f3f4f6!important}.toolbar-btn:disabled:hover{background:#f9fafb!important;color:#9ca3af!important;border-color:#f3f4f6!important}.toolbar-btn.loading{pointer-events:none;opacity:.8}.toolbar-btn.loading i{animation:spin 1s linear infinite}.toolbar-divider{width:1px;height:18px;background:#0000000f;margin:0 2px;flex-shrink:0}.toolbar-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:1px}@media (max-width: 768px){.bottom-toolbar{bottom:12px;padding:4px 6px;border-radius:10px;gap:3px}.toolbar-btn{height:26px;padding:0 7px;font-size:11px;gap:3px}.toolbar-btn.icon-only{width:26px;min-width:26px}.toolbar-divider{height:16px}}.workspace-content{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;flex:1;overflow:hidden;background:#f8f9fa}.workspace-content.hidden{display:none!important;visibility:hidden;pointer-events:none}.workspace-content.active{display:block!important;visibility:visible;pointer-events:auto;z-index:1}.workspace-loading{display:flex;align-items:center;justify-content:center;height:100vh;background:#f8f9fa}@media (max-width: 768px){.workspace-tabs{padding:0 8px;min-height:44px}.workspace-tab{min-width:100px;max-width:150px;padding:6px 8px}.workspace-tab .tab-name{font-size:12px}.new-tab-button{padding:6px 8px;min-width:32px;height:32px;font-size:12px}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.workspace-tab{animation:slideIn .2s ease-out}.workspace-tab:focus,.new-tab-button:focus,.tab-close:focus{outline:2px solid #007bff;outline-offset:2px}.workspace-loading .spinner-border{width:3rem;height:3rem;border-width:.3em}.workspace-tab.active{background:linear-gradient(135deg,#fff,#f8f9ff);border-color:#007bff}.workspace-tab.active .tab-name{background:linear-gradient(135deg,#007bff,#0056b3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}*{transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease}.flow-step.flow-step-modern{position:absolute;width:120px!important;height:auto!important;border-radius:0!important;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:none;transition:transform .2s;cursor:grab;-webkit-user-select:none;user-select:none;background:transparent!important;text-align:center;overflow:visible;z-index:10;padding:0!important;border:none!important;outline:none!important}.flow-step-modern:active{cursor:grabbing}.flow-step-modern.flow-step-begin,.flow-step-modern.flow-step-process,.flow-step-modern.flow-step-source,.flow-step-modern.flow-step-target,.flow-step-modern.flow-step-utilities{background:linear-gradient(135deg,var(--background-secondary),var(--background-tertiary));border:2px solid var(--border)}.flow-step-modern:hover{transform:none;z-index:20}.flow-step.flow-step-modern.selected{border:none!important;box-shadow:none!important}.flow-step-modern .step-icon{font-size:26px;margin-bottom:10px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--surface);box-shadow:var(--shadow)!important;transition:transform .2s,box-shadow .2s;border:none!important}.flow-step-modern.flow-step-begin .step-icon{color:var(--primary);background-color:var(--background-secondary)}.flow-step-modern.flow-step-source .step-icon{color:var(--success);background-color:var(--background-secondary)}.flow-step-modern.flow-step-transform .step-icon{color:var(--warning);background-color:var(--background-secondary)}.flow-step-modern.flow-step-target .step-icon{color:var(--danger);background-color:var(--background-secondary)}.flow-step-modern.flow-step-utilities .step-icon{color:var(--secondary);background-color:var(--background-secondary)}.flow-step-modern:hover .step-icon{transform:translateY(-3px);box-shadow:var(--shadow-hover)!important}.flow-step-modern .step-icon i{font-size:26px;color:var(--text-primary)}.flow-step-modern .step-name{font-size:12px;font-weight:500;max-width:85px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.flow-step-modern .execution-actions{position:absolute;bottom:-30px;left:50%;transform:translate(-50%);display:flex;gap:5px;opacity:0;transition:opacity .2s;z-index:25}.flow-step-modern:hover .execution-actions{opacity:1}.flow-step-modern .execution-actions .btn{width:26px;height:26px;padding:0;font-size:12px;display:flex;align-items:center;justify-content:center;border-radius:50%}.flow-step-modern .step-actions{position:absolute;top:-5px;left:-5px;z-index:25;opacity:0;transition:opacity .2s}.flow-step-modern:hover .step-actions{opacity:1}.flow-step-modern .step-actions button{width:24px;height:24px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);border:1px solid var(--border-light)}.flow-step-modern .step-close-btn{position:absolute;top:-12px;right:-12px;width:24px;height:24px;border-radius:50%;background-color:var(--danger);color:var(--background);border:2px solid var(--background);font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:scale(.8);transition:opacity .2s ease,transform .2s ease;z-index:10;box-shadow:var(--shadow)}.flow-step-modern:hover .step-close-btn{opacity:1;transform:scale(1)}.flow-step-modern .connector-dot{position:absolute!important;width:16px!important;height:16px!important;border-radius:50%!important;border:3px solid var(--background)!important;box-shadow:var(--shadow)!important;cursor:pointer!important;z-index:30!important;transition:all .2s ease!important}.flow-step-modern .connector-dot:hover{transform:scale(1.4)!important;box-shadow:var(--shadow-hover)!important;border-width:4px!important;z-index:40!important;filter:brightness(1.1)!important}.flow-step-modern .connector-dot.input{background-color:var(--success)!important;position:absolute!important;top:30px!important;left:10px!important;transform:translate(-50%)!important}.flow-step-modern .connector-dot.output{background-color:var(--info)!important;position:absolute!important;top:30px!important;right:10px!important;transform:translate(50%)!important}.flow-step-modern.new-step{animation:newIconAnimation .5s ease}@keyframes newIconAnimation{0%{opacity:0}50%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.flow-step-modern.executing{box-shadow:0 0 15px rgba(var(--primary-rgb),.8);animation:pulse 1.5s infinite}.flow-step-modern.execution-complete,.flow-step-modern.execution-error{box-shadow:0 0 15px rgba(var(--primary-rgb),.5)}.flow-step-modern .status-badge{position:absolute;top:-8px;left:-8px;width:20px;height:20px;border-radius:50%;border:2px solid var(--background);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--background);z-index:5}.flow-step-modern .status-badge.pending{background-color:var(--text-tertiary)}.flow-step-modern .status-badge.running{background-color:var(--info);animation:pulse-blue 2s infinite}.flow-step-modern .status-badge.completed,.flow-step-modern .status-badge.success{background-color:var(--success)}.flow-step-modern .status-badge.failed{background-color:var(--danger)}.flow-step-modern .step-content{display:none;position:absolute;bottom:120px;left:50%;transform:translate(-50%);background-color:var(--surface);border-radius:8px;padding:10px;width:180px;box-shadow:var(--shadow-hover);z-index:200;font-size:11px;color:var(--text-secondary)}.flow-step-modern:hover .step-content{display:block}.flow-step-modern .step-content:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--surface)}@media (max-width: 768px){.flow-step-modern{width:60px;height:60px}.flow-step-modern .step-icon{width:30px;height:30px}.flow-step-modern .step-icon i{font-size:16px}}.flow-step-modern[data-component-id="1"] .step-icon,.flow-step-modern[data-component-id="7"] .step-icon{color:var(--info);background-color:var(--background-secondary)}.flow-step-modern[data-component-id="2"] .step-icon,.flow-step-modern[data-component-id="8"] .step-icon{color:var(--success);background-color:var(--background-secondary)}.flow-step-modern[data-component-id="3"] .step-icon,.flow-step-modern[data-component-id="9"] .step-icon{color:var(--accent);background-color:var(--background-secondary)}.flow-step-modern[data-component-id="4"] .step-icon,.flow-step-modern[data-component-id="5"] .step-icon{color:var(--warning);background-color:var(--background-secondary)}.flow-step-modern[data-component-id="6"] .step-icon{color:var(--secondary);background-color:var(--background-secondary)}.flow-step-modern[data-component-id="10"] .step-icon{color:var(--accent);background-color:var(--background-secondary)}.flow-step-modern[data-component-id="11"] .step-icon{color:var(--info);background-color:var(--background-secondary)}.flow-step-modern[data-component-id="12"] .step-icon{color:var(--text-primary);background-color:var(--background-tertiary)}.flow-step-modern[data-component-id="13"] .step-icon{color:var(--danger);background-color:var(--background-secondary)}.flow-step-modern[data-component-id="14"] .step-icon{color:var(--success);background-color:var(--background-secondary)}.flow-step.flow-step-modern{outline:none!important;border:none!important;box-shadow:none!important;background:transparent!important}.flow-step-modern .jtk-endpoint,.flow-step-modern .jtk-overlay,.flow-step-modern .jtk-connector{border:none!important;outline:none!important;box-shadow:none!important}.flow-step-modern .connector-dot{box-shadow:var(--shadow)!important;border-width:3px!important}[id^=flow-step-],[class*=flow-step-]{border:none!important;outline:none!important;box-shadow:none!important}.jtk-connector path{stroke-width:2!important;stroke:var(--text-tertiary)!important}.flow-step-modern .step-icon *{border:none!important;outline:none!important}.flow-step-modern .connector-dot.branch-output{width:16px!important;height:16px!important;border-radius:50%;border:3px solid var(--background);box-shadow:var(--shadow);cursor:pointer;transition:all .2s ease;position:relative;margin:8px 0;z-index:10}.flow-step-modern .connector-dot.branch-output:hover{transform:scale(1.4);box-shadow:var(--shadow-hover);border-width:4px;z-index:20;filter:brightness(1.1)}.flow-step-modern .connector-dot.branch-output:hover:after{content:"";position:absolute;top:-6px;left:-6px;right:-6px;bottom:-6px;border-radius:50%;border:2px solid currentColor;opacity:.6;animation:branchPulse 1s infinite}@keyframes branchPulse{0%{transform:scale(1);opacity:.6}50%{transform:scale(1.2);opacity:.3}to{transform:scale(1.4);opacity:0}}.flow-step-modern .branch-output-label{position:absolute;left:25px;top:50%;transform:translateY(-50%);background:var(--text-primary);color:var(--background);padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap;pointer-events:none;opacity:.8;transition:all .2s ease;z-index:15;box-shadow:var(--shadow);min-width:60px;text-align:center}.flow-step-modern .connector-dot.branch-output:hover .branch-output-label{opacity:1;transform:translateY(-50%) scale(1.15);background:var(--text-primary);box-shadow:var(--shadow-hover);font-weight:600;z-index:25}.flow-step-modern[data-python-path*=branch_component]:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.branch-connection-label{background:var(--text-primary)!important;color:var(--background)!important;border:2px solid var(--background)!important;padding:4px 8px!important;border-radius:6px!important;font-size:11px!important;font-weight:600!important;box-shadow:var(--shadow)!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.flow-step-modern[data-python-path*=branch_component]{min-height:120px;padding:12px 16px;width:160px;transition:all .2s ease}.flow-step-modern[data-python-path*=branch_component] .step-icon{margin-right:12px}.flow-step-modern .connector-dot.branch-output:before{content:"";position:absolute;top:-12px;left:-12px;right:-12px;bottom:-12px;border-radius:50%;background:transparent;cursor:pointer}.flow-step-modern .connector-dot{width:16px;height:16px;border-radius:50%;border:3px solid var(--background);box-shadow:var(--shadow);cursor:pointer;transition:all .2s ease}.flow-step-modern .connector-dot:not(.branch-output):hover{transform:scale(1.4);box-shadow:var(--shadow-hover);border-width:4px;z-index:40;filter:brightness(1.1)}.flow-step-modern[data-python-path*=error_detection].error-detection-active{position:relative;animation:errorDetectionActive 2.5s ease-in-out infinite;border-color:#ff9500!important;background:linear-gradient(135deg,#ff950026,#ff950014);box-shadow:0 0 0 2px #ff95004d;z-index:800!important;transform:translateZ(0);isolation:isolate}.flow-step-modern[data-python-path*=error_detection].error-detection-active:before{content:"🔍 ERROR DETECT";position:absolute;top:-45px;left:50%;transform:translate(-50%) translateZ(10px);background:linear-gradient(135deg,#ff9500,#ff8c00);color:#fff;padding:8px 16px;border-radius:25px;font-size:11px;font-weight:700;white-space:nowrap;box-shadow:0 8px 25px #ff950066;animation:errorDetectLabelScan 2.5s ease-in-out infinite;z-index:9999;border:2px solid rgba(255,255,255,.9);pointer-events:none;letter-spacing:.5px;will-change:transform}.flow-step-modern[data-python-path*=error_detection].error-detection-active:after{content:"";position:absolute;top:50%;left:50%;width:110px;height:110px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(255,149,0,.6);opacity:0;animation:errorDetectRipple 2.5s ease-out infinite;z-index:-1;pointer-events:none}.flow-step-modern[data-python-path*=error_detection].error-detected{position:relative;animation:errorDetectionPulse 3s ease-in-out infinite;border-color:var(--danger)!important;background:linear-gradient(135deg,#ff57571a,#ff57570d);z-index:800!important}.flow-step-modern[data-python-path*=error_detection].error-detected:before{content:"🔍 ERROR DETECTED";position:absolute;top:-45px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#ff5757,#ff4757);color:#fff;padding:8px 16px;border-radius:25px;font-size:11px;font-weight:700;white-space:nowrap;box-shadow:0 8px 25px #ff475766;animation:errorLabelFloat 3s ease-in-out infinite;z-index:9999;border:2px solid rgba(255,255,255,.9);pointer-events:none;letter-spacing:.5px}.flow-step-modern[data-python-path*=error_detection].error-detected:after{content:"";position:absolute;top:50%;left:50%;width:100px;height:100px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(255,87,87,.6);opacity:0;animation:errorRippleClean 3s ease-out infinite;z-index:-1;pointer-events:none}.flow-step-modern.step-failed{position:relative;animation:stepFailedPulse 2.5s ease-in-out infinite;border-color:#dc3545!important;background:linear-gradient(135deg,#dc354526,#dc354514);box-shadow:0 0 0 2px #dc35454d;z-index:800!important}.flow-step-modern.step-failed:before{content:"💥 STEP FAILED";position:absolute;top:-45px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;padding:8px 16px;border-radius:25px;font-size:11px;font-weight:700;white-space:nowrap;box-shadow:0 8px 25px #dc354566;animation:stepFailedLabelShake 2.5s ease-in-out infinite;z-index:9999;border:2px solid rgba(255,255,255,.9);pointer-events:none;letter-spacing:.5px}.flow-step-modern.step-failed:after{content:"";position:absolute;top:50%;left:50%;width:120px;height:120px;transform:translate(-50%,-50%);border-radius:50%;border:3px solid rgba(220,53,69,.8);opacity:0;animation:stepFailedRipple 2.5s ease-out infinite;z-index:-1;pointer-events:none}.flow-step-modern.execution-error{position:relative;animation:executionErrorPulse 2s ease-in-out infinite;border-color:#ff6b6b!important;background:linear-gradient(135deg,#ff6b6b1f,#ff6b6b0f);z-index:800!important}.flow-step-modern.execution-error:before{content:"⚠️ ERROR";position:absolute;top:-40px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#ff6b6b,#ff5252);color:#fff;padding:6px 14px;border-radius:20px;font-size:10px;font-weight:600;white-space:nowrap;box-shadow:0 6px 20px #ff6b6b4d;animation:executionErrorLabelBounce 2s ease-in-out infinite;z-index:9999;border:2px solid rgba(255,255,255,.8);pointer-events:none;letter-spacing:.3px}.flow-step-modern.execution-error:after{content:"";position:absolute;top:50%;left:50%;width:90px;height:90px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(255,107,107,.6);opacity:0;animation:executionErrorRipple 2s ease-out infinite;z-index:-1;pointer-events:none}.flow-step-modern.critical-error{position:relative;animation:criticalErrorShake 1.5s ease-in-out infinite;border-color:#e74c3c!important;background:linear-gradient(135deg,#e74c3c33,#e74c3c1a);box-shadow:0 0 0 3px #e74c3c66;z-index:800!important}.flow-step-modern.critical-error:before{content:"🚨 CRITICAL ERROR";position:absolute;top:-45px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;padding:8px 16px;border-radius:25px;font-size:11px;font-weight:700;white-space:nowrap;box-shadow:0 8px 25px #e74c3c80;animation:criticalErrorLabelPulse 1.5s ease-in-out infinite;z-index:9999;border:2px solid rgba(255,255,255,.9);pointer-events:none;letter-spacing:.5px}.flow-step-modern.critical-error:after{content:"";position:absolute;top:50%;left:50%;width:140px;height:140px;transform:translate(-50%,-50%);border-radius:50%;border:4px solid rgba(231,76,60,.8);opacity:0;animation:criticalErrorRipple 1.5s ease-out infinite;z-index:-1;pointer-events:none}@keyframes criticalErrorShake{0%,to{transform:translate(0) scale(1);box-shadow:0 0 0 3px #e74c3c66,0 0 #e74c3ccc}25%{transform:translate(-2px) scale(1.01);box-shadow:0 0 0 3px #e74c3c99,0 0 0 15px #e74c3c00}75%{transform:translate(2px) scale(1.01);box-shadow:0 0 0 3px #e74c3c99,0 0 0 15px #e74c3c00}}@keyframes criticalErrorLabelPulse{0%,to{transform:translate(-50%) translateY(0) scale(1);opacity:1}50%{transform:translate(-50%) translateY(-8px) scale(1.05);opacity:.8}}@keyframes criticalErrorRipple{0%{transform:translate(-50%,-50%) scale(.8);opacity:1;border-width:5px}50%{transform:translate(-50%,-50%) scale(2);opacity:.6;border-width:3px}to{transform:translate(-50%,-50%) scale(3);opacity:0;border-width:1px}}.companies-content{margin-top:1.5rem}.companies-container.grid-view .companies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.company-card{background:var(--surface);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border);overflow:hidden;transition:all .3s ease}.company-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.company-header{padding:1.5rem;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between}.company-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;margin-right:1rem;flex-shrink:0}.company-info{flex:1}.company-name{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0 0 .25rem}.company-domain{color:var(--gray-600);font-size:.875rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.company-status{flex-shrink:0}.company-body{padding:1.5rem}.company-plan{margin-bottom:1rem}.company-meta{display:flex;flex-direction:column;gap:.5rem}.company-footer{padding:1rem 1.5rem;border-top:1px solid var(--gray-200);display:flex;gap:.5rem;justify-content:flex-end;align-items:center}.companies-container.table-view .companies-table-container{background:var(--surface);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border);overflow:hidden}.companies-table{width:100%;border-collapse:collapse;font-size:.875rem}.companies-table th{background:var(--gray-50);color:var(--gray-700);font-weight:600;padding:1rem 1.5rem;text-align:left;border-bottom:1px solid var(--gray-200)}.companies-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--gray-100);vertical-align:middle}.companies-table tr:hover{background:var(--gray-50)}.table-company-info{display:flex;align-items:center;gap:.75rem}.table-company-info i{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem}.table-company-name{font-weight:600;color:var(--gray-900);margin-bottom:.25rem}.table-company-domain{font-size:.75rem;color:var(--gray-500);font-family:Monaco,Menlo,Ubuntu Mono,monospace}.table-count{color:var(--gray-700);font-weight:600}.table-actions{display:flex;gap:.5rem;align-items:center;justify-content:center}.plan-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.plan-badge.secondary{background:#6b72801a;color:#4b5563}.plan-badge.info{background:#3b82f61a;color:#2563eb}.plan-badge.warning{background:#f59e0b1a;color:#d97706}.plan-badge.success{background:#22c55e1a;color:#16a34a}@media (max-width: 768px){.content-wrapper{padding:1rem}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:1rem}.action-header-content{flex-direction:column;align-items:stretch;gap:1rem}.search-filter-bar{flex-direction:column;gap:1rem}.search-container{width:100%}.companies-grid{grid-template-columns:1fr!important}.companies-table-container{overflow-x:auto}.companies-table th,.companies-table td{padding:.75rem 1rem}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr!important}.company-header{flex-direction:column;align-items:flex-start;gap:1rem}.company-footer{flex-direction:column;gap:.5rem}}.companies-page .form-group{margin-bottom:1.5rem}.companies-page .form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--gray-800);font-size:.875rem}.companies-page .form-input{width:100%;padding:.75rem;border:1px solid var(--gray-300);border-radius:8px;background:var(--surface);color:var(--gray-800);font-size:.875rem;transition:all .2s ease;box-sizing:border-box}.companies-page .form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}.file-explorer{display:flex;flex-direction:column;height:100%;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;overflow:hidden}.file-explorer-breadcrumbs{display:flex;align-items:center;padding:8px 12px;background-color:#fff;border-bottom:1px solid #dee2e6;flex-wrap:wrap;gap:4px}.breadcrumb-item{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:none;border:none;color:#06c;cursor:pointer;font-size:14px;border-radius:4px;transition:all .2s}.breadcrumb-item:hover:not(:disabled){background-color:#e7f3ff;color:#0052cc}.breadcrumb-item:disabled{color:#495057;cursor:default;font-weight:500}.breadcrumb-separator{color:#6c757d;font-size:10px}.breadcrumb-icon{font-size:14px}.file-explorer-content{flex:1;overflow-y:auto;background-color:#fff}.file-list{display:flex;flex-direction:column}.file-item{display:grid;grid-template-columns:24px 1fr auto auto auto 32px;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color .2s;position:relative}.file-item:hover{background-color:#f8f9fa}.file-item.directory{font-weight:500}.file-icon{font-size:18px;color:#6c757d}.folder-icon{color:#ffc107}.file-name{font-size:14px;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:13px;color:#6c757d;min-width:80px;text-align:right}.file-permissions{font-size:12px;color:#6c757d;font-family:monospace;min-width:60px;text-align:center}.file-modified{font-size:13px;color:#6c757d;min-width:150px;text-align:right}.file-explorer-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px;color:#6c757d}.file-explorer-loading svg{animation:spin 1s linear infinite}.file-explorer-error{padding:20px;text-align:center;color:#dc3545}.file-explorer-empty{padding:40px;text-align:center;color:#6c757d}.file-explorer-status{padding:8px 16px;background-color:#f8f9fa;border-top:1px solid #dee2e6;font-size:13px;color:#6c757d}.file-explorer-toolbar{padding:8px 16px;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;gap:8px}.toolbar-button{padding:6px 10px;border:1px solid #dee2e6;background-color:#fff;color:#495057;border-radius:4px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:4px;transition:all .2s}.toolbar-button:hover{background-color:#e9ecef;border-color:#adb5bd}.file-menu-button{opacity:0;padding:4px 8px;border:none;background:transparent;color:#6c757d;cursor:pointer;border-radius:4px;margin-left:auto;transition:all .2s}.file-item:hover .file-menu-button{opacity:1}.file-menu-button:hover{background-color:#e9ecef;color:#495057}.context-menu{position:fixed;background:#fff;border:1px solid #dee2e6;border-radius:4px;box-shadow:0 2px 10px #0000001a;z-index:1000;min-width:150px;padding:4px 0}.context-menu-item{padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;color:#212529;transition:background-color .2s}.context-menu-item:hover{background-color:#f8f9fa}.context-menu-item.danger{color:#dc3545}.context-menu-item.danger:hover{background-color:#f8d7da}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001}.dialog{background:#fff;border-radius:8px;padding:24px;min-width:400px;box-shadow:0 4px 20px #00000026}.dialog h3{margin:0 0 16px;font-size:18px;color:#212529}.dialog input[type=text]{width:100%;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;margin-bottom:16px}.dialog input[type=text]:focus{outline:none;border-color:#06c;box-shadow:0 0 0 2px #0066cc1a}.dialog-buttons{display:flex;gap:8px;justify-content:flex-end}.dialog-buttons button{padding:8px 16px;border:1px solid #dee2e6;background-color:#fff;color:#495057;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.dialog-buttons button:hover{background-color:#e9ecef;border-color:#adb5bd}.dialog-buttons button.primary{background-color:#06c;color:#fff;border-color:#06c}.dialog-buttons button.primary:hover{background-color:#0056b3;border-color:#0056b3}.dialog-buttons button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.file-item{grid-template-columns:24px 1fr 32px;gap:8px}.file-size,.file-permissions,.file-modified{display:none}.dialog{min-width:90%;margin:0 20px}}.file-preview-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1065;padding:20px}.file-preview-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.file-preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #dee2e6;background-color:#f8f9fa}.file-preview-header h3{margin:0;font-size:18px;font-weight:500;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-actions{display:flex;gap:8px}.preview-action-btn{width:32px;height:32px;border:none;background-color:transparent;color:#6c757d;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.preview-action-btn:hover{background-color:#e9ecef;color:#495057}.preview-action-btn:disabled{opacity:.5;cursor:not-allowed}.close-btn:hover{background-color:#dc3545;color:#fff}.file-preview-content{flex:1;overflow:auto;background-color:#fff}.file-preview-text{padding:20px}.file-preview-text pre{margin:0;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.5;color:#212529;white-space:pre-wrap;word-wrap:break-word}.file-preview-binary{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#6c757d}.binary-icon{font-size:48px;margin-bottom:16px;opacity:.5}.file-info{margin-top:8px;font-size:14px}.file-preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6c757d}.file-preview-loading svg{font-size:32px;margin-bottom:16px;animation:spin 1s linear infinite}.file-preview-error{display:flex;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#dc3545}.file-preview-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid #dee2e6;background-color:#f8f9fa;font-size:13px;color:#6c757d}.truncated-notice{color:#ffc107;font-style:italic}@media (max-width: 768px){.file-preview-container{width:100%;max-width:none;max-height:90vh;margin:0}.file-preview-header h3{font-size:16px}}.file-browser-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1060;padding:20px}.file-browser-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:1000px;height:80vh;max-height:700px;display:flex;flex-direction:column;overflow:hidden}.file-browser-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background-color:#f8f9fa;border-bottom:1px solid #dee2e6}.file-browser-title{display:flex;align-items:center;gap:10px}.title-icon{font-size:20px;color:#06c}.file-browser-title h3{margin:0;font-size:18px;font-weight:500;color:#212529}.file-browser-actions{display:flex;gap:8px}.action-button{width:36px;height:36px;border:none;background-color:transparent;color:#6c757d;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s}.action-button:hover{background-color:#e9ecef;color:#495057}.action-button:disabled{opacity:.5;cursor:not-allowed}.close-button:hover{background-color:#dc3545;color:#fff}.file-browser-body{flex:1;overflow:hidden;background-color:#fff}.file-browser-footer{padding:12px 20px;background-color:#f8f9fa;border-top:1px solid #dee2e6}.connection-type{padding:2px 8px;background-color:#06c;color:#fff;border-radius:3px;font-weight:500}.connection-mode{color:#6c757d}@media (max-width: 768px){.file-browser-container{width:100%;height:90vh;max-height:none;border-radius:0}.file-browser-overlay{padding:0}.file-browser-header{padding:12px 16px}.file-browser-title h3{font-size:16px}}.database-browser-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1060;padding:20px}.database-browser-container{background-color:var(--surface);border-radius:8px;box-shadow:var(--shadow-hover);width:90%;max-width:800px;height:80vh;max-height:700px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);transition:background-color .3s ease,border-color .3s ease}.database-browser-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background-color:var(--background-secondary);border-bottom:1px solid var(--border);transition:background-color .3s ease,border-color .3s ease}.database-browser-title{display:flex;align-items:center;gap:10px}.title-icon{font-size:20px;color:var(--primary)}.database-browser-title h3{margin:0;font-size:18px;font-weight:500;color:var(--text-primary)}.action-button{width:36px;height:36px;border:none;background-color:transparent;color:var(--text-secondary);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s}.action-button:hover{background-color:var(--background-tertiary);color:var(--text-primary)}.close-button{font-size:24px;font-weight:300;line-height:1}.close-button:hover{background-color:var(--danger);color:var(--background)}.database-browser-search{position:relative;padding:12px 20px;background-color:var(--background-secondary);border-bottom:1px solid var(--border);transition:background-color .3s ease,border-color .3s ease}.search-icon{position:absolute;left:32px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:14px}.database-browser-body{flex:1;overflow-y:auto;background-color:var(--surface);transition:background-color .3s ease}.database-browser-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.database-browser-loading i{font-size:32px;margin-bottom:16px;color:var(--primary)}.database-browser-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.database-browser-empty i{font-size:48px;margin-bottom:16px;opacity:.3}.tables-list{padding:8px 0}.table-item{border-bottom:1px solid var(--border-light)}.table-item:last-child{border-bottom:none}.table-header{display:flex;align-items:center;padding:12px 20px;cursor:pointer;transition:background-color .2s}.table-header:hover{background-color:var(--background-secondary)}.table-chevron{font-size:10px;margin-right:12px;transition:transform .2s;color:var(--text-secondary)}.table-chevron.expanded{transform:rotate(90deg)}.table-icon{font-size:14px;color:var(--primary);margin-right:12px}.table-name{font-size:14px;font-weight:500;color:var(--text-primary);flex:1}.table-row-count{font-size:12px;color:var(--text-secondary);margin-left:8px}.table-columns{background-color:var(--background-secondary);padding:8px 0;transition:background-color .3s ease}.column-item{display:flex;align-items:center;padding:8px 20px 8px 50px;font-size:13px}.column-icon{font-size:12px;color:var(--text-secondary);margin-right:10px;width:16px;text-align:center}.column-name{color:var(--text-primary);min-width:200px;font-family:Consolas,Monaco,Courier New,monospace}.column-type{color:var(--text-secondary);font-size:12px;margin-left:12px;font-family:Consolas,Monaco,Courier New,monospace}.primary-key-icon{color:var(--warning);margin-left:8px;font-size:11px}.not-null-badge{font-size:10px;padding:2px 6px;background-color:var(--background-tertiary);color:var(--text-primary);border-radius:3px;margin-left:8px;font-weight:500}.no-columns{padding:12px 50px;color:var(--text-secondary);font-style:italic;font-size:13px}.loading-columns{padding:12px 50px;color:var(--text-secondary);font-size:13px}.loading-columns i{margin-right:8px}.database-browser-footer{padding:12px 20px;background-color:var(--background-secondary);border-top:1px solid var(--border);transition:background-color .3s ease,border-color .3s ease}.connection-info{display:flex;align-items:center;gap:12px;font-size:13px}.connection-type{padding:2px 8px;background-color:var(--primary);color:var(--background);border-radius:3px;font-weight:500}.table-count{color:var(--text-secondary)}.fa-spin{animation:spin 1s linear infinite}@media (max-width: 768px){.database-browser-container{width:100%;height:90vh;max-height:none;border-radius:0}.database-browser-overlay{padding:0}.database-browser-header{padding:12px 16px}.database-browser-title h3{font-size:16px}.column-name{min-width:120px}.column-item{padding:8px 16px 8px 40px}}.view-toggle{display:flex;background:var(--background-tertiary);border-radius:8px;padding:.25rem;transition:background-color .3s ease}.view-toggle .btn{padding:.5rem .75rem;border:none;background:transparent;color:var(--text-secondary);border-radius:6px;transition:all .2s ease}.view-toggle .btn.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow)}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-tertiary);font-size:.875rem}.filter-select{padding:.5rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);font-size:.875rem;min-width:120px;transition:all .2s ease}.connections-content{margin-top:1.5rem}.spinner{width:40px;height:40px;border:4px solid var(--border);border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.empty-state{text-align:center;padding:3rem;background:var(--surface);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border);transition:background-color .3s ease,border-color .3s ease}.empty-state i{font-size:3rem;color:var(--text-tertiary);margin-bottom:1rem}.empty-state h3{margin:0 0 .5rem;color:var(--text-primary);font-weight:600}.empty-state p{margin:0 0 1.5rem;color:var(--text-secondary);font-size:.875rem}.connections-container.grid-view .connections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.connection-card{background:var(--surface);border-radius:12px;box-shadow:0 2px 8px #0000001a;border:1px solid var(--gray-200);overflow:hidden;transition:all .3s ease}.connection-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.connection-header{padding:1.5rem;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between}.connection-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;margin-right:1rem;flex-shrink:0}.connection-name{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0 0 .25rem}.connection-type{background:#3b82f61a;color:#1d4ed8;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:uppercase}.connection-status{flex-shrink:0}.connection-description{color:var(--gray-600);font-size:.875rem;line-height:1.5;margin:0 0 1rem}.connection-meta{display:flex;flex-direction:column;gap:.5rem}.connection-footer{padding:1rem 1.5rem;border-top:1px solid var(--border);background:var(--background-tertiary);display:flex;gap:.75rem;justify-content:flex-end;transition:background-color .3s ease,border-color .3s ease}.connections-container.table-view .connections-table-container{background:var(--surface);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border);overflow:hidden;transition:background-color .3s ease,border-color .3s ease}.connections-table{width:100%;border-collapse:collapse;font-size:.875rem}.connections-table th{background:var(--background-tertiary);color:var(--text-primary);font-weight:600;padding:1rem 1.5rem;text-align:left;border-bottom:1px solid var(--border)}.connections-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--border-light);vertical-align:middle}.connections-table tr:hover{background:var(--surface-hover)}.table-connection-info{display:flex;align-items:center;gap:.75rem}.table-connection-info i{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem}.table-connection-name{font-weight:600;color:var(--gray-900);margin-bottom:.25rem}.table-connection-description{font-size:.75rem;color:var(--gray-500)}.connection-type-badge{background:#3b82f61a;color:#1d4ed8;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:uppercase}@media (max-width: 768px){.content-wrapper{padding:1rem}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:1rem}.action-header-content{flex-direction:column;align-items:stretch;gap:1rem}.search-filter-bar{flex-direction:column;gap:1rem}.search-container{width:100%}.connections-grid{grid-template-columns:1fr!important}.connections-table-container{overflow-x:auto}.connections-table th,.connections-table td{padding:.75rem 1rem}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr!important}.connection-header{flex-direction:column;align-items:flex-start;gap:1rem}.connection-footer{flex-direction:column;gap:.5rem}}.modal-overlay{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;background:#00000080!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:1055!important;margin:0!important;padding:0!important;box-sizing:border-box!important}.modal-content.modal-lg{min-width:800px}.connection-type-select{margin-bottom:1.5rem!important}.connection-type-options{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:1rem!important;margin-top:.75rem!important;width:100%!important;box-sizing:border-box!important}.connection-type-option{display:flex!important;flex-direction:column!important;align-items:center!important;padding:1rem .75rem!important;border:2px solid #e5e7eb!important;border-radius:8px!important;cursor:pointer!important;background:#fff!important;text-align:center!important;transition:all .2s!important;min-height:80px!important;justify-content:center!important;margin:0!important;box-sizing:border-box!important}.connection-type-option:hover{border-color:#3b82f6!important;background:#f8fafc!important}.connection-type-option.selected{border-color:#3b82f6!important;background:#eff6ff!important}.connection-type-icon{width:32px!important;height:32px!important;border-radius:50%!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;font-size:1rem!important;margin-bottom:.5rem!important}.connection-type-name{font-size:.8rem!important;font-weight:500!important;color:#374151!important;margin:0!important;line-height:1.3!important}.form-label{margin-bottom:.5rem;font-weight:500;font-size:.875rem;color:#212529}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:none;border:1px solid #ced4da;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em;width:1em;height:1em}.form-check-label{margin-bottom:0;cursor:pointer}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.text-muted{color:#6c757d!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.375rem}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.d-flex{display:flex!important}.align-items-center{align-items:center!important}.me-2{margin-right:.5rem!important}.mt-1{margin-top:.25rem!important}.mt-3{margin-top:1rem!important}h6{font-size:1rem;font-weight:600;margin-bottom:.5rem;color:#495057}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.connection-config-form{margin-top:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--gray-700);font-size:.875rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--gray-300);border-radius:6px;font-size:.875rem;transition:all .2s ease;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.form-group textarea{resize:vertical;min-height:80px}.form-group small{display:block;margin-top:.25rem;font-size:.75rem;color:var(--gray-500)}.checkbox-group{display:flex;align-items:center;gap:.5rem}.checkbox-group input[type=checkbox]{width:auto;margin:0}.checkbox-group label{margin:0;cursor:pointer}.configuration-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.configuration-section h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--gray-800)}.test-result{margin-top:1.5rem;padding:1rem;border-radius:8px;border-left:4px solid}.test-result h4{margin:0 0 .5rem;font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.test-result p{margin:0;font-size:.875rem}.test-result.success{background:#22c55e1a;border-color:#16a34a;color:#15803d}.test-result.error{background:#ef44441a;border-color:#dc2626;color:#b91c1c}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}@media (max-width: 768px){.modal-dialog{width:95%;max-width:none}.connection-type-options{grid-template-columns:1fr 1fr;gap:.5rem}.connection-type-option{padding:.5rem;min-height:70px}.connection-type-icon{width:28px;height:28px;font-size:.875rem}.connection-type-name{font-size:.7rem}.modal-footer{flex-direction:column;gap:.5rem}.modal-footer .btn{width:100%}}@media (max-width: 480px){.modal-dialog{width:100%;margin:0}.connection-type-options{grid-template-columns:1fr}}.btn-icon.testing{opacity:.7;cursor:not-allowed;background:#f59e0b33!important}.btn-icon.testing:hover{transform:none!important;box-shadow:none!important}.fa-spin{animation:fa-spin 1s infinite linear}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.alert-info.ftp-mode-selector{background-color:#e3f2fd;border-color:#2196f3;border-width:2px}.ftp-mode-selector .form-control-lg{font-size:1.1rem;padding:.75rem 1rem;border:2px solid #2196f3}.ftp-mode-selector .form-control-lg:focus{border-color:#1976d2;box-shadow:0 0 0 .2rem #2196f340}.ftp-mode-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#ffffffb3;border-radius:4px;margin-top:.5rem}.ftp-mode-indicator.client{color:#1565c0}.ftp-mode-indicator.server{color:#00695c}.view-toggle{display:flex;background:var(--gray-100);border-radius:8px;padding:.25rem}.view-toggle .btn{padding:.5rem .75rem;border:none;background:transparent;color:var(--gray-600);border-radius:6px;transition:all .2s ease}.view-toggle .btn.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #0000001a}.filter-select{padding:.5rem 1rem;border:1px solid var(--gray-300);border-radius:8px;background:#fff;color:var(--gray-700);font-size:.875rem;min-width:120px;transition:all .2s ease}.schemas-content{margin-top:1.5rem}.empty-state{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;border:1px solid var(--gray-200)}.schemas-container.grid-view .schemas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.schema-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;border:1px solid var(--gray-200);overflow:hidden;transition:all .3s ease}.schema-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.schema-header{padding:1.5rem;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between}.schema-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;margin-right:1rem;flex-shrink:0}.schema-info{flex:1}.schema-name{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0 0 .25rem}.schema-type{background:#3b82f61a;color:#1d4ed8;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:uppercase}.schema-status{flex-shrink:0}.schema-body{padding:1.5rem}.schema-description{color:var(--gray-600);font-size:.875rem;line-height:1.5;margin:0 0 1rem}.schema-meta{display:flex;flex-direction:column;gap:.5rem}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--gray-500)}.meta-item i{width:14px;text-align:center}.schema-footer{padding:1rem 1.5rem;border-top:1px solid var(--gray-200);background:var(--gray-50);display:flex;gap:.75rem;justify-content:flex-end}.schemas-container.table-view .schemas-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;border:1px solid var(--gray-200);overflow:hidden}.schemas-table{width:100%;border-collapse:collapse;font-size:.875rem}.schemas-table th{background:var(--gray-50);color:var(--gray-700);font-weight:600;padding:1rem 1.5rem;text-align:left;border-bottom:1px solid var(--gray-200)}.schemas-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--gray-100);vertical-align:middle}.schemas-table tr:hover{background:var(--gray-50)}.table-schema-info{display:flex;align-items:center;gap:.75rem}.table-schema-info i{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem}.table-schema-name{font-weight:600;color:var(--gray-900);margin-bottom:.25rem}.table-schema-description{font-size:.75rem;color:var(--gray-500)}.schema-type-badge{background:#3b82f61a;color:#1d4ed8;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:uppercase}.table-project{color:var(--gray-600);font-weight:500}.table-fields{color:var(--gray-600);font-weight:600}.table-version{color:var(--gray-500);font-size:.8rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.table-date{color:var(--gray-500);font-size:.8rem}.table-actions{display:flex;gap:.5rem}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:capitalize}@media (max-width: 768px){.content-wrapper{padding:1rem}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:1rem}.action-header-content{flex-direction:column;align-items:stretch;gap:1rem}.search-filter-bar{flex-direction:column;gap:1rem}.search-container{width:100%}.schemas-grid{grid-template-columns:1fr!important}.schemas-table-container{overflow-x:auto}.schemas-table th,.schemas-table td{padding:.75rem 1rem}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr!important}.schema-header{flex-direction:column;align-items:flex-start;gap:1rem}.schema-footer{flex-direction:column;gap:.5rem}}.schema-creation-note{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;color:#0369a1;font-size:14px;font-weight:500}.schema-creation-note i{color:#0284c7}.empty-state-note{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px 16px;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;color:#92400e;font-size:14px;font-weight:500}.empty-state-note i{color:#d97706}.search-filter-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem}.search-container{position:relative;width:320px}.filter-controls{display:flex;gap:.75rem}.filter-select{padding:.5rem 1rem;border:1px solid var(--gray-300);border-radius:8px;background:var(--surface);color:var(--gray-700);font-size:.875rem;min-width:120px;transition:all .2s ease}.executions-content{margin-top:1.5rem}.spinner{width:40px;height:40px;border:4px solid var(--gray-200);border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.empty-state{text-align:center;padding:3rem;background:var(--surface);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border)}.empty-state h3{margin:0 0 .5rem;color:var(--gray-700);font-weight:600}.empty-state p{margin:0 0 1.5rem;color:var(--gray-600);font-size:.875rem}.executions-table-container{background:var(--surface);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;min-height:800px;flex-grow:1;transition:background-color .3s ease,border-color .3s ease}.executions-table-wrapper{flex-grow:1;overflow-y:auto}.executions-table{width:100%;border-collapse:collapse;font-size:.875rem}.executions-table th{color:var(--gray-700);font-weight:600;padding:1rem 1.5rem;text-align:left;border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:1}.MuiTablePagination-root{flex-shrink:0;border-top:1px solid var(--gray-200)}.executions-table th:last-child{text-align:center;width:120px}.executions-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--gray-100);vertical-align:middle}.executions-table td:last-child{text-align:center}.executions-table tr:hover{background:var(--gray-50)}.execution-id{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;color:var(--primary);font-weight:600}.execution-flow{display:flex;align-items:center;gap:.5rem}.execution-flow i{color:var(--primary);font-size:.875rem}.execution-flow span{font-weight:500;color:var(--gray-900)}.execution-project{color:var(--gray-600);font-weight:500}.execution-time{color:var(--gray-600);font-size:.8rem}.execution-duration{color:var(--gray-700);font-weight:600;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.execution-records{color:var(--gray-700);font-weight:600}.execution-trigger{color:var(--gray-500);font-size:.8rem;text-transform:capitalize}.table-actions{display:flex;gap:.5rem;justify-content:center}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:capitalize;display:inline-flex;align-items:center;gap:.25rem}.status-badge.success{background:#22c55e1a;color:#16a34a}.status-badge.info{background:#3b82f61a;color:#2563eb}.status-badge.danger{background:#ef44441a;color:#dc2626}.status-badge.warning{background:#f59e0b1a;color:#d97706}.status-badge.secondary{background:#6b72801a;color:#4b5563}.status-badge i{font-size:.7rem}:root{--primary: #667eea;--primary-rgb: 102, 126, 234;--secondary: #764ba2;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827}@media (max-width: 768px){.content-wrapper{padding:1rem}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:1rem}.action-header-content{flex-direction:column;align-items:stretch;gap:1rem}.search-filter-bar{flex-direction:column;gap:1rem}.search-container{width:100%}.executions-table-container{overflow-x:auto}.executions-table th,.executions-table td{padding:.75rem 1rem;font-size:.8rem}.execution-flow span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.execution-project{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{font-size:.7rem;padding:.2rem .5rem}.table-actions{flex-direction:column;gap:.25rem}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr!important}.executions-table th,.executions-table td{padding:.5rem;font-size:.75rem}.execution-id,.execution-duration{font-size:.7rem}}.schedule-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1050;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirmation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1060;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirmation-dialog{background:var(--surface);border-radius:12px;width:90%;max-width:450px;box-shadow:0 20px 40px #0000004d;animation:confirmSlideIn .2s ease-out}@keyframes confirmSlideIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.confirmation-header{display:flex;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.confirmation-header h3{margin:0;font-size:1.2rem;color:var(--text)}.confirmation-body{padding:24px;font-size:.95rem;color:var(--text-secondary)}.confirmation-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--gray-50);border-radius:0 0 12px 12px}.confirmation-footer .btn{min-width:100px}.schedule-form-modal{background:var(--surface);border-radius:16px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px #00000040;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.schedule-form-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid var(--border);background:var(--gray-50);border-radius:16px 16px 0 0}.schedule-form-header h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:10px}.schedule-form-header h2 i{font-size:20px;color:#3b82f6}.close-button{background:transparent;border:none;color:var(--text-secondary);width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:20px}.close-button:hover{background:#0000000d;color:var(--text-primary)}.schedule-form{padding:0}.form-section{padding:28px 32px;background:transparent;border-radius:0;border:none;border-bottom:1px solid var(--border);margin:0}.form-section:last-child{border-bottom:none}.form-section h3{margin:0 0 20px;font-size:16px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:10px}.form-section h3 i{font-size:18px;color:#3b82f6}.collapsible-header{cursor:pointer;transition:color .2s ease}.collapsible-header:hover{color:#3b82f6}.form-description{color:#64748b;font-size:14px;margin-bottom:16px;line-height:1.5}.form-group{margin-bottom:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:0}.form-row .form-group{margin-bottom:0}.form-group>label:first-child{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary);font-size:14px}.form-group input[type=text],.form-group input[type=number],.form-group input[type=datetime-local],.form-group textarea,.form-group select{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:6px;font-size:14px;transition:all .2s ease;background:var(--surface);color:var(--text-primary)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group small{display:block;margin-top:4px;color:var(--text-secondary);font-size:12px}.loading-indicator{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f3f4f6;border:2px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:14px}.schedule-type-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.schedule-type-card{padding:16px;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease;background:var(--surface);text-align:center;position:relative}.schedule-type-card:hover{border-color:#3b82f6;background:#3b82f60d}.schedule-type-card.selected{border-color:#3b82f6;background:#3b82f61a;color:var(--text-primary)}.schedule-type-card.selected:after{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border:2px solid #3b82f6;border-radius:8px;pointer-events:none}.schedule-type-icon{font-size:24px;margin-bottom:8px;color:var(--text-secondary)}.schedule-type-card:hover .schedule-type-icon,.schedule-type-card.selected .schedule-type-icon{color:#3b82f6}.schedule-type-content h4{margin:0 0 8px;font-size:16px;font-weight:600}.schedule-type-content p{margin:0;font-size:14px;opacity:.8}.cron-config{margin-top:16px}.cron-validation{margin-top:8px;padding:8px 12px;border-radius:6px;font-size:13px;display:flex;align-items:center;gap:8px}.cron-validation.success{background:#22c55e1a;color:#059669;border:1px solid rgba(34,197,94,.2)}.cron-validation.error{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.2)}.cron-examples{margin-top:20px}.cron-examples h4{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--text-primary)}.cron-examples-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.cron-example{padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:2px}.cron-example:hover{border-color:#3b82f6;background:#3b82f60d}.cron-example code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;font-weight:600;color:#3b82f6}.cron-example span{font-size:12px;color:var(--text-secondary)}.cron-preview{margin-top:16px;padding:16px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px}.cron-preview h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#0369a1}.cron-preview ul{margin:0;padding-left:20px;list-style-type:disc}.cron-preview li{color:#0369a1;font-size:14px;margin-bottom:4px}.interval-config{background:var(--surface);padding:20px;border-radius:8px;border:1px solid var(--border)}.advanced-options{animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.purge-settings{background:#3b82f60d;padding:20px;border-radius:8px;border:1px solid rgba(59,130,246,.2);margin-top:16px}.info-message{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#3b82f61a;border-radius:6px;margin-bottom:20px;font-size:13px;color:#1d4ed8}.info-message i{font-size:14px}.purge-actions{margin-top:24px;padding:20px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px}.purge-actions h4{margin:0 0 16px;font-size:15px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.purge-actions h4 i{color:#d97706}.purge-buttons{display:flex;gap:12px;flex-wrap:wrap}.purge-preview-results{margin-top:20px;padding:20px;background:var(--gray-50);border:1px solid var(--border);border-radius:8px}.purge-preview-results h4{margin:0 0 16px;font-size:15px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.purge-preview-results h4 i{color:#3b82f6}.preview-loading{text-align:center;padding:40px 20px;color:var(--text-secondary)}.loading-spinner{font-size:28px;color:#3b82f6;margin-bottom:12px;display:block}.preview-loading p{margin:0 0 8px;font-size:16px;font-weight:500;color:var(--text-primary)}.preview-loading small{font-size:14px;color:#9ca3af}.preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:16px}.preview-item{display:flex;align-items:center;gap:14px;padding:18px;background:var(--surface);border-radius:10px;border:1px solid var(--border);box-shadow:0 1px 3px #0000000d}.preview-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0}.preview-icon.executions{background:#3b82f6}.preview-icon.files{background:#f59e0b}.preview-icon.storage{background:#10b981}.preview-content{flex:1}.preview-number{font-size:18px;font-weight:700;color:#1f2937;line-height:1}.preview-label{font-size:12px;color:var(--text-secondary);margin-top:2px}.preview-details{padding-top:16px;border-top:1px solid var(--border)}.preview-details p{margin:0 0 8px;font-size:14px;color:var(--text-primary)}.preview-details p:last-child{margin-bottom:0}.purge-warning{margin-top:20px;padding:14px 18px;background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:var(--text-primary);font-size:13px;display:flex;align-items:flex-start;gap:10px}.purge-warning i{margin-top:1px;flex-shrink:0;color:#ef4444;font-size:16px}.purge-warning strong{color:#dc2626;margin-right:4px}.schedule-form .checkbox-wrapper{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px}.schedule-form .checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-primary);-webkit-user-select:none;user-select:none;padding:4px 0}.schedule-form .checkbox-label input[type=checkbox]{width:auto;margin:0;position:absolute;opacity:0;cursor:pointer}.schedule-form .checkmark{position:relative;display:inline-block;width:20px;height:20px;background:var(--surface);border:2px solid var(--border);border-radius:4px;transition:all .2s ease;flex-shrink:0}.schedule-form .checkbox-label:hover .checkmark{border-color:#3b82f6}.schedule-form .checkbox-label input[type=checkbox]:checked+.checkmark{background:#3b82f6;border-color:#3b82f6}.schedule-form .checkbox-label input[type=checkbox]:checked+.checkmark:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.schedule-form .checkbox-content{display:flex;flex-direction:column;gap:2px}.schedule-form .checkbox-content small{font-size:12px;color:var(--text-secondary);font-weight:400;line-height:1.4}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding:24px 32px;background:var(--gray-50);border-top:1px solid var(--border);margin:0 -32px -32px;border-radius:0 0 16px 16px}.text-warning{color:#f59e0b}@media (max-width: 768px){.schedule-form-modal{width:95%;max-height:95vh}.schedule-form{padding:20px}.form-section{padding:16px}.schedule-form-header{padding:16px 20px}.form-row,.schedule-type-selector,.cron-examples-grid,.preview-grid{grid-template-columns:1fr}.purge-buttons{flex-direction:column}.form-actions{flex-direction:column-reverse}}.schedule-form::-webkit-scrollbar{width:6px}.schedule-form::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.schedule-form::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.schedule-form::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.action-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.action-subtitle{font-size:.875rem;color:var(--text-secondary);margin:.25rem 0 0}.header-actions{display:flex;align-items:center;gap:1rem}.search-filter-bar{display:flex;gap:1rem;align-items:center}.search-container{position:relative;flex:1}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.filter-controls{display:flex;gap:.5rem}.filter-select{padding:.625rem 1rem;border:1px solid var(--border);border-radius:8px;font-size:.875rem;background:var(--background);color:var(--text-primary);cursor:pointer;transition:all .2s ease}.filter-select:hover{border-color:var(--gray-400)}.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-alpha)}.schedules-content{margin-bottom:2rem}.schedules-table-container{background:var(--surface);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border);overflow:hidden}.schedules-table-wrapper{overflow-x:auto}.schedules-table{width:100%;border-collapse:collapse;font-size:.875rem}.schedules-table thead{background:var(--gray-50);border-bottom:1px solid var(--border)}.schedules-table th{padding:1rem 1.5rem;text-align:left;font-weight:600;color:var(--text-primary);white-space:nowrap}.schedules-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .2s ease}.schedules-table tbody tr:hover{background:var(--gray-50)}.schedules-table td{padding:1rem 1.5rem;color:var(--text-secondary)}.schedule-name-cell{display:flex;flex-direction:column;gap:.25rem}.schedule-name{font-weight:600;color:var(--text-primary);font-size:.9375rem}.schedule-description{font-size:.8125rem;color:var(--text-tertiary);line-height:1.4}.flow-name{font-weight:500;color:var(--text-primary)}.cron-expression-small,.interval-info-small{font-size:.75rem;color:var(--text-tertiary);margin-top:.25rem}.cron-expression-small code{background:var(--gray-100);padding:.125rem .375rem;border-radius:4px;font-family:Courier New,monospace}.next-run-cell{display:flex;flex-direction:column;gap:.25rem}.timezone-info{font-size:.75rem;color:var(--text-tertiary)}.success-rate-cell{display:flex;flex-direction:column;gap:.25rem}.success-rate{font-weight:600;font-size:.9375rem}.success-rate.high{color:var(--success)}.success-rate.low{color:var(--warning)}.run-stats{font-size:.75rem;color:var(--text-tertiary)}.purge-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500}.purge-badge.enabled{background:#f59e0b1a;color:#d97706}.purge-badge.disabled{background:#6b72801a;color:#6b7280}.table-actions{display:flex;gap:.5rem;align-items:center}.status-badge.active{background:#22c55e1a;color:#059669}.status-badge.inactive{background:#6b72801a;color:#6b7280}.schedules-page .badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:500;text-transform:uppercase;line-height:1}.schedules-page .badge i{font-size:.75rem}.schedules-page .badge-primary{background:#3b82f61a;color:#1d4ed8}.schedules-page .badge-info{background:#0ea5e91a;color:#0369a1}.schedules-page .badge-warning{background:#f59e0b1a;color:#d97706}.schedules-page .badge-success{background:#22c55e1a;color:#059669}.schedules-page .badge-secondary{background:var(--gray-100);color:var(--gray-600)}.empty-state i{font-size:3rem;color:var(--gray-400);margin-bottom:1rem}.empty-state h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.empty-state p{color:var(--text-secondary);margin:0 0 1.5rem}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;background:var(--surface);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border);gap:1rem}.loading-state .spinner{width:3rem;height:3rem;border:3px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p,.error-state p{font-size:1rem;color:var(--text-secondary);margin:0}.error-state i{font-size:3rem;color:var(--danger)}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)!important}.search-filter-bar{flex-direction:column;align-items:stretch}.filter-controls{width:100%;justify-content:space-between}}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr!important;gap:1rem}.action-header-content{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{width:100%;justify-content:flex-end}.schedules-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.schedules-table{min-width:800px}.table-actions{flex-wrap:nowrap}}@media (max-width: 480px){.content-wrapper{padding:1rem}.page-title-section h1{font-size:1.5rem}.filter-controls{flex-direction:column;gap:.5rem}.filter-select{width:100%}}@media (prefers-contrast: high){.schedules-table-container{border-width:2px;border-color:#000}}@media (prefers-reduced-motion: reduce){.schedules-table tbody tr{transition:none}.loading-state .spinner{animation:none}}.content-wrapper{padding:1.5rem;max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box}.page-header{margin-bottom:2rem}.page-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.page-title-section h1{font-size:2rem;font-weight:700;color:var(--gray-900);margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.page-title-section h1 i{color:var(--primary);font-size:1.75rem}.page-subtitle{font-size:1rem;color:var(--gray-600);margin:0;font-weight:400}.stats-section{margin-bottom:2rem;width:100%}.stats-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:1.5rem;margin-bottom:2rem;width:100%;box-sizing:border-box;min-height:auto;overflow:visible}.action-header{background:var(--surface);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow);border:1px solid var(--border);transition:background-color .3s ease,border-color .3s ease}.action-header-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.action-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.action-header-info{flex:1}.action-header-controls{display:flex;gap:1.5rem;align-items:center}.action-title{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0}.action-subtitle{font-size:.875rem;color:var(--gray-600);margin:.25rem 0 0}.search-container{position:relative;flex:1;max-width:320px}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--gray-500);font-size:.875rem}.filters-container{display:flex;gap:1rem;margin-top:1rem;align-items:center}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filters-group{display:flex;gap:1rem;align-items:center}.filter-item{display:flex;align-items:center;gap:.5rem}.filter-label{font-size:.875rem;font-weight:500;color:var(--text-secondary, var(--gray-700));white-space:nowrap}.filters-container .filter-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.filter-select{padding:.5rem 1rem;border:1px solid var(--gray-300);border-radius:8px;background:var(--surface);color:var(--gray-700);font-size:.875rem;min-width:140px;transition:all .2s ease}.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.users-table-container{background:var(--surface);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border);overflow:hidden;margin-bottom:2rem}.users-table{width:100%;margin:0;border-collapse:separate;border-spacing:0}.users-table thead th{color:var(--gray-700);font-weight:600;font-size:.875rem;padding:1rem 1.5rem;text-align:left;border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:10}.users-table thead th:first-child{border-top-left-radius:12px}.users-table thead th:last-child{border-top-right-radius:12px}.users-table tbody tr{transition:all .2s ease;border-bottom:1px solid var(--gray-100)}.users-table tbody tr:hover{background:var(--gray-50)}.users-table tbody tr:last-child{border-bottom:none}.users-table tbody td{padding:1rem 1.5rem;vertical-align:middle;color:var(--gray-900);font-size:.875rem}.user-info{display:flex}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem;flex-shrink:0}.user-details{min-width:0}.user-name{font-weight:600;color:var(--gray-900);margin:0 0 .25rem;font-size:.875rem}.user-email{font-size:.75rem;margin:0}.role-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.role-user{background:#3b82f61a;color:#1d4ed8}.role-company-admin{background:#f59e0b1a;color:#d97706}.role-super-admin{background:#ec48991a;color:#be185d}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500}.status-active{background:#22c55e1a;color:#16a34a}.status-inactive{background:#ef44441a;color:#dc2626}.company-info{display:flex;align-items:center;gap:.5rem;color:var(--gray-600);font-size:.875rem}.company-info i{color:var(--gray-500);font-size:.75rem}.join-date{color:var(--gray-600);font-size:.875rem}.text-muted{color:var(--gray-500);font-style:italic}.user-actions{display:flex;gap:.5rem;justify-content:flex-end}.empty-state{text-align:center;padding:4rem 2rem;background:var(--surface);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border)}.empty-state-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:rgba(var(--primary-rgb),.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:2rem}.empty-state h3{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0 0 .5rem}.empty-state p{color:var(--gray-600);margin:0 0 1.5rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.spinner-border{width:2rem;height:2rem;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-border .75s linear infinite}@keyframes spinner-border{to{transform:rotate(360deg)}}.text-primary{color:var(--primary)!important}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--gray-700);margin-bottom:.5rem}.form-input{width:100%;padding:.75rem;border:1px solid var(--gray-300);border-radius:6px;font-size:.875rem;transition:all .2s ease;background:var(--surface);color:var(--text-primary)}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}:root{--primary: #00b8a9;--primary-rgb: 0, 184, 169;--secondary: #0891b2;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)!important}.action-header-content{flex-direction:column;align-items:stretch;gap:1rem}.search-container{width:100%}.filters-container{flex-direction:column;align-items:stretch;gap:1rem}.filter-group{flex-direction:row;align-items:center;justify-content:space-between}}@media (max-width: 768px){.content-wrapper{padding:1rem}.stats-grid{grid-template-columns:1fr!important}.users-table-container{overflow-x:auto}.users-table{min-width:700px}.page-header-content{flex-direction:column;gap:1rem}.action-header-top{flex-direction:column;align-items:stretch;gap:1rem}.action-header-top .btn{width:100%;justify-content:center}.action-header-controls{flex-direction:column;gap:1rem}.search-container{max-width:none}.filters-group{flex-direction:column;width:100%;gap:.75rem}.filter-item{width:100%}.filter-item .filter-select{flex:1}}@media (max-width: 480px){.users-table thead th,.users-table tbody td{padding:.75rem 1rem}.user-avatar{width:32px;height:32px;font-size:.75rem}.user-actions{flex-direction:column;gap:.25rem}}.invoicing-dashboard{padding:1.5rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border)}.dashboard-actions{display:flex;gap:.75rem;align-items:center}.date-range-picker{display:flex;align-items:center;gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.5rem;transition:background-color .3s ease,border-color .3s ease}.date-input{border:none;outline:none;background:transparent;color:var(--text-primary);font-size:.9rem}.date-separator{color:var(--text-tertiary);font-size:.9rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{background:var(--surface);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--border);position:relative;overflow:hidden;transition:all .3s ease;min-height:140px;display:flex;align-items:center;justify-content:space-between}.metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--primary-dark))}.metric-content{position:relative;z-index:2;padding-right:80px;display:flex;flex-direction:column;justify-content:center;height:100%}.metric-value{font-size:2.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.metric-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.25rem}.metric-change{font-size:.75rem;color:var(--text-tertiary);display:flex;align-items:center;gap:.25rem}.metric-change.positive{color:#059669}.metric-change.negative{color:#dc2626}.metric-change.neutral{color:var(--text-secondary)}.metric-icon{position:absolute;top:1.5rem;right:1.5rem;width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;z-index:1}.metric-icon.revenue{background:linear-gradient(135deg,#059669,#10b981)}.metric-icon.executions{background:linear-gradient(135deg,#667eea,#764ba2)}.metric-icon.data{background:linear-gradient(135deg,#f093fb,#f5576c)}.metric-icon.time{background:linear-gradient(135deg,#4facfe,#00f2fe)}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-bottom:2rem}.dashboard-card{background:var(--surface);border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden;transition:background-color .3s ease,border-color .3s ease}.dashboard-card-header{padding:1.5rem;border-bottom:1px solid var(--border);background:var(--background-tertiary);display:flex;justify-content:space-between;align-items:center;transition:background-color .3s ease,border-color .3s ease}.dashboard-card-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.view-all-link{color:var(--primary);text-decoration:none;font-weight:500;font-size:.9rem;display:flex;align-items:center;gap:.25rem;transition:color .2s}.view-all-link:hover{color:var(--primary-dark)}.dashboard-card-body{padding:1.5rem}.chart-container{height:300px;position:relative;display:flex;align-items:center;justify-content:center}.chart-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-secondary)}.simple-chart{display:flex;align-items:end;justify-content:space-between;height:250px;width:100%;gap:.5rem}.chart-bar{display:flex;flex-direction:column;align-items:center;flex:1;height:100%}.bar{background:linear-gradient(135deg,#667eea,#764ba2);width:100%;max-width:40px;border-radius:4px 4px 0 0;margin-bottom:.5rem;transition:all .3s ease}.bar:hover{opacity:.8}.bar-label{font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem;text-align:center}.bar-value{font-size:.7rem;color:var(--text-primary);font-weight:500;text-align:center}.recent-invoices-list{max-height:400px;overflow-y:auto}.invoice-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border);transition:background-color .2s;cursor:pointer}.invoice-item:hover{background:var(--surface-hover)}.invoice-item:last-child{border-bottom:none}.invoice-info{flex:1}.invoice-number{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.invoice-company{color:var(--text-secondary);font-size:.9rem}.invoice-period{color:var(--text-secondary);font-size:.85rem}.invoice-details{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.invoice-amount{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--text-secondary);gap:1rem}.empty-state i{font-size:2rem;opacity:.5}.filter-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid var(--border)}.filter-tab{padding:.5rem 1rem;border:none;background:none;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.filter-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.filter-tab:hover{color:var(--text-primary)}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.quick-action{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;text-decoration:none;color:var(--text-primary);transition:all .2s;display:flex;align-items:center;gap:.75rem;cursor:pointer}.quick-action:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px);text-decoration:none}.quick-action-icon{width:40px;height:40px;border-radius:8px;background:var(--background-tertiary);display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:background-color .2s}.quick-action:hover .quick-action-icon{background:#fff3}.quick-action-content{flex:1}.quick-action-title{font-weight:600;margin-bottom:.25rem}.quick-action-description{font-size:.85rem;opacity:.8}.empty-state h4{margin:1rem 0 .5rem;color:var(--text-primary)}.empty-state p,.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-control{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:6px;font-size:1rem;background:var(--surface);color:var(--text-primary);transition:border-color .2s,background-color .3s ease}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #3b82f61a}.form-control[type=date]{position:relative;-webkit-appearance:none;-moz-appearance:textfield;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px;padding-right:2.5rem}[data-theme=dark] .form-control[type=date]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23cbd5e1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E")}.badge{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.bg-secondary{background:var(--text-secondary);color:#fff}.ms-2{margin-left:.5rem}.ms-3{margin-left:.75rem}.text-end{text-align:right}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem}.dashboard-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.metrics-grid{grid-template-columns:repeat(2,1fr)}.quick-actions-grid,.form-row{grid-template-columns:1fr}}@media (max-width: 480px){.metrics-grid{grid-template-columns:1fr}.invoice-item{flex-direction:column;align-items:flex-start;gap:.5rem}.text-end{text-align:left}}.invoices-list{padding:1.5rem}.invoices-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color, #e2e8f0)}.header-content h1{color:var(--text-primary, #1a202c);margin:0;font-size:2rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.header-subtitle{color:var(--text-secondary, #718096);margin-top:.5rem;font-size:1rem}.header-actions{display:flex;gap:.75rem;align-items:center}.filters-section{background:var(--card-background, white);border-radius:12px;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--border-color, #e2e8f0)}.filter-label{font-weight:500;color:var(--text-primary, #1a202c);margin-bottom:.5rem;font-size:.9rem}.filter-input{background-color:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:.5rem;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.bulk-actions{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:rgba(var(--primary-rgb),.05);border-radius:8px;margin-top:1rem}.bulk-count{font-weight:500;color:var(--text-primary, #1a202c)}.bulk-buttons{display:flex;gap:.5rem}.invoices-table-card{background:var(--surface);border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden;transition:background-color .3s ease,border-color .3s ease}.invoices-table-header{padding:1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;transition:border-color .3s ease}.invoices-table-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.invoices-table{width:100%;border-collapse:collapse}.invoices-table th,.invoices-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color, #e2e8f0)}.invoices-table th{background:#6b72800d;font-weight:600;color:var(--text-primary, #1a202c);position:sticky;top:0;z-index:10;font-size:.9rem}.invoices-table tr:hover{background:#6b728005}.invoice-number{font-weight:600;color:var(--text-primary, #1a202c)}.invoice-company{font-weight:500;color:var(--text-primary, #1a202c)}.invoice-period{color:var(--text-secondary, #718096);font-size:.9rem}.invoice-amount{font-weight:600;color:var(--success);font-size:1.1rem}.invoice-date{color:var(--text-secondary, #718096);font-size:.9rem}.invoice-status{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:capitalize}.status-draft{background:var(--background-tertiary);color:var(--text-secondary)}.status-pending{background:#f59e0b1a;color:var(--warning)}.status-sent{background:rgba(var(--primary-rgb),.1);color:var(--primary)}.status-paid{background:#10b9811a;color:var(--success)}.status-overdue{background:#ef44441a;color:var(--danger)}.invoice-actions{display:flex;gap:.5rem;align-items:center}.btn-icon{width:36px;height:36px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--card-background, white);color:var(--text-secondary, #718096);display:flex;align-items:center;justify-content:center;transition:all .2s;text-decoration:none;cursor:pointer}.btn-icon:hover{background:var(--primary);color:var(--background);border-color:var(--primary);transform:translateY(-1px)}.btn-icon.danger:hover{background:var(--danger);border-color:var(--danger)}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary);gap:1rem}.empty-state i{font-size:3rem;opacity:.5;margin-bottom:.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{display:block;font-weight:500;color:var(--text-primary, #1a202c);margin-bottom:.5rem;font-size:.9rem}.form-control{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:6px;font-size:.9rem;transition:border-color .2s,box-shadow .2s;background-color:var(--surface);color:var(--text-primary)}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.form-control[type=date]{position:relative;-webkit-appearance:none;-moz-appearance:textfield;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px;padding-right:2.5rem}.form-control[type=date]::-webkit-calendar-picker-indicator{position:absolute;right:0;top:0;bottom:0;width:2.5rem;height:100%;opacity:0;cursor:pointer;z-index:2}.form-control[type=date]::-webkit-inner-spin-button,.form-control[type=date]::-webkit-clear-button{display:none;-webkit-appearance:none}[data-theme=dark] .form-control{background-color:var(--background-tertiary)}[data-theme=dark] .form-control[type=date]{background-color:var(--background-tertiary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23cbd5e1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E")}@media (max-width: 768px){.invoices-header{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{width:100%}.filters-grid{grid-template-columns:1fr}.bulk-actions{flex-direction:column;align-items:flex-start;gap:1rem}.invoices-table{font-size:.8rem}.invoices-table th,.invoices-table td{padding:.5rem}.invoice-actions{flex-direction:column;gap:.25rem}.btn-icon{width:32px;height:32px}.form-row{grid-template-columns:1fr}.modal-content{width:95%;margin:1rem}}.invoice-detail{padding:1.5rem;background:#f8fafc;min-height:100vh}.invoice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb;background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001a}.header-content h1{color:#1f2937;margin:0;font-size:2rem;font-weight:600;display:flex;align-items:center;gap:.75rem}.header-content h1 i{color:#3b82f6}.header-subtitle{color:#6b7280;margin-top:.5rem;font-size:1rem}.invoice-actions{display:flex;gap:.75rem;align-items:center}.invoice-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.invoice-card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;overflow:hidden;margin-bottom:1.5rem}.invoice-card-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;background:#6b728005}.invoice-card-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0;display:flex;align-items:center;gap:.5rem}.invoice-card-title i{color:#3b82f6}.invoice-card-body{padding:1.5rem}.info-section{background:#6b728005;border-radius:8px;padding:1.5rem}.info-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(107,114,128,.1)}.info-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.info-item.total-row{border-top:2px solid #3b82f6;padding-top:.75rem;margin-top:.75rem;font-weight:600}.info-label{color:#6b7280;font-weight:500;font-size:.9rem}.info-value{color:#1f2937;font-weight:600;text-align:right}.total-amount{font-size:1.1rem;color:#059669}.invoice-status{padding:.5rem 1rem;border-radius:25px;font-size:.9rem;font-weight:600;text-transform:capitalize;display:inline-flex;align-items:center;gap:.5rem}.invoice-status.draft{background:#6b72801a;color:#6b7280}.invoice-status.pending{background:#f59e0b1a;color:#d97706}.invoice-status.sent{background:#3b82f61a;color:#2563eb}.invoice-status.paid{background:#22c55e1a;color:#059669}.invoice-status.overdue{background:#ef44441a;color:#dc2626}.invoice-status.cancelled{background:#4b55631a;color:#4b5563}.table-responsive{overflow-x:auto}.line-items-table{width:100%;border-collapse:collapse;margin-top:1rem}.line-items-table th,.line-items-table td{padding:1rem;text-align:left;border-bottom:1px solid #e5e7eb}.line-items-table th{background:#6b72800d;font-weight:600;color:#1f2937;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.line-items-table tr:hover{background:#6b728005}.line-item-description{font-weight:500;color:#1f2937;margin-bottom:.25rem}.line-item-details{color:#6b7280;font-size:.85rem}.line-item-amount{font-weight:600;color:#1f2937;text-align:right}.category-badge{background:#e0f2fe;color:#0277bd;padding:.25rem .5rem;border-radius:12px;font-size:.8rem;font-weight:500}.invoice-notes{color:#4b5563;line-height:1.6;margin:0;padding:1rem;background:#f9fafb;border-radius:8px;border-left:4px solid #3b82f6}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.loading-state i{font-size:3rem;color:#3b82f6;margin-bottom:1rem}.error-state i{font-size:3rem;color:#ef4444;margin-bottom:1rem}.error-state h3{color:#1f2937;margin-bottom:.5rem}.error-state p{color:#6b7280;margin-bottom:1.5rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:#6b7280}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;color:#374151;margin-bottom:.5rem}.form-control{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;transition:all .2s}.form-control:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}@media (max-width: 768px){.invoice-detail{padding:1rem}.invoice-header{flex-direction:column;gap:1rem;align-items:stretch}.invoice-actions{justify-content:center}.invoice-info-grid{grid-template-columns:1fr}.line-items-table{font-size:.85rem}.line-items-table th,.line-items-table td{padding:.5rem}}@media (max-width: 480px){.invoice-header h1{font-size:1.5rem}.invoice-actions{flex-direction:column;width:100%}.btn{justify-content:center;width:100%}}.usage-analytics{padding:1.5rem}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.header-content h1{color:var(--text-primary);margin:0;font-size:2rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.header-subtitle{color:var(--text-secondary);margin-top:.5rem;font-size:1rem}.header-actions{display:flex;gap:.5rem}.filters-section{background:var(--card-background);border-radius:12px;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--border-color)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.filter-group{display:flex;flex-direction:column}.filter-label{font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.filter-input{background-color:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:.5rem;transition:var(--transition)}.filter-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}[data-theme=dark] .filter-input{background-color:var(--background-tertiary)}.filter-actions{display:flex;gap:.5rem}.usage-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.chart-card{background:var(--card-background);border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);overflow:hidden}.chart-card-header{padding:1.5rem;border-bottom:1px solid var(--border-color)}.chart-card-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.chart-card-content{padding:1.5rem}.chart-container{height:350px;width:100%}.usage-details-section{margin-top:2rem}.usage-table-card{background:var(--card-background);border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);overflow:hidden}.usage-table-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.usage-table-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.export-section{display:flex;gap:.5rem}.table-container{overflow-x:auto}.usage-table{width:100%;border-collapse:collapse}.usage-table th,.usage-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}.usage-table th{background:#6b72800d;font-weight:600;color:var(--text-primary);position:sticky;top:0;z-index:10}.usage-table tr:hover{background:#6b728005}.project-name{font-weight:500;color:var(--text-primary)}.flow-name{color:var(--text-secondary);font-size:.9rem;margin-top:.25rem}.metric-value{font-weight:500;color:var(--text-secondary)}.cost-value{font-weight:600;color:var(--success)}.success-rate{display:inline-flex;align-items:center;gap:.25rem}.success-rate-badge{padding:.25rem .5rem;border-radius:12px;font-size:.8rem;font-weight:500}.success-rate-high{background:#10b9811a;color:var(--success)}.success-rate-medium{background:#f59e0b1a;color:var(--warning)}.success-rate-low{background:#ef44441a;color:var(--danger)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state h3{margin:1rem 0 .5rem;color:var(--text-primary)}.empty-state p{margin-bottom:1rem}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--text-secondary)}.loading-state i,.error-state i{font-size:3rem;margin-bottom:1rem}.error-state i{color:var(--danger)}:root{--card-background: var(--surface);--border-color: var(--border);--shadow-sm: var(--shadow)}@media (max-width: 768px){.usage-charts-grid,.filters-grid{grid-template-columns:1fr}.analytics-header,.usage-table-header{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions,.filter-actions,.export-section{flex-wrap:wrap}}.execution-monitor-info{padding:1rem;background-color:#f8f9fa;border-radius:8px;font-size:.875rem}.execution-monitor-info p{margin:.5rem 0;color:#495057}.execution-monitor-info p:first-child{margin-top:0}.execution-monitor-info p:last-child{margin-bottom:0}.execution-viewer-container{height:100vh;display:flex;flex-direction:column;background-color:#f8f9fa}.execution-viewer-header{display:flex;align-items:center;gap:2rem;padding:1rem 2rem;background-color:#fff;border-bottom:1px solid #dee2e6;box-shadow:0 2px 4px #0000000d}.execution-viewer-header h2{margin:0;font-size:1.5rem;color:#2c3e50;flex:1}.execution-info{display:flex;align-items:center;gap:1rem}.flow-name{font-size:1rem;color:#6c757d}.status-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:500;text-transform:uppercase}.status-badge.status-pending{background-color:#ffc107;color:#000}.status-badge.status-running{background-color:#17a2b8;color:#fff}.status-badge.status-success{background-color:#28a745;color:#fff}.status-badge.status-failed{background-color:#dc3545;color:#fff}.status-badge.status-partial_failure{background-color:#fd7e14;color:#fff}.execution-viewer-content{flex:1;display:flex;overflow:hidden}.execution-canvas-container{flex:1;position:relative;overflow:hidden;background-color:#f0f2f5}.execution-canvas{width:100%;height:100%;position:relative;overflow:hidden;background-image:linear-gradient(rgba(200,200,200,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(200,200,200,.3) 1px,transparent 1px);background-size:20px 20px}.canvas-content{position:relative;width:100%;height:100%;transition:transform .1s ease-out}.connections-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}.connections-layer path{stroke-linejoin:round;stroke-linecap:round}.connection-label{font-size:12px;fill:#666;background:#fff;padding:2px 4px}.empty-flow-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#6c757d;background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.empty-flow-message h3{margin:0 0 1rem;color:#495057}.execution-sidebar{width:350px;background-color:#fff;border-left:1px solid #dee2e6;overflow-y:auto;padding:1rem}.sidebar-section{margin-bottom:2rem;padding:1rem;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.sidebar-section h3{margin:0 0 1rem;font-size:1.125rem;color:#2c3e50}.step-info{margin-bottom:1rem}.step-info p{margin:.5rem 0;font-size:.875rem;color:#495057}.step-info strong{color:#2c3e50;margin-right:.5rem}.step-actions{display:flex;flex-direction:column;gap:.5rem}.execution-viewer-loading,.execution-viewer-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1rem}.execution-viewer-loading p{color:#6c757d;font-size:1.125rem}@media (max-width: 1200px){.execution-sidebar{width:300px}}@media (max-width: 992px){.execution-viewer-content{flex-direction:column}.execution-sidebar{width:100%;border-left:none;border-top:1px solid #dee2e6;max-height:300px}}.step-container.not-executed{opacity:.65;filter:grayscale(40%)}.step-container.not-executed:hover{opacity:.85;filter:grayscale(20%)}.step-container[data-python-path*=error_detection].error-detection-active{position:relative;animation:errorDetectionActive 2.5s ease-in-out infinite;border-color:#ff9500!important;background:linear-gradient(135deg,#ff950026,#ff950014);box-shadow:0 0 0 2px #ff95004d;z-index:800!important;transform:translateZ(0);isolation:isolate}.step-container[data-python-path*=error_detection].error-detection-active:before{content:"🔍 ERROR DETECT";position:absolute;top:-45px;left:50%;transform:translate(-50%) translateZ(10px);background:linear-gradient(135deg,#ff9500,#ff8c00);color:#fff;padding:8px 16px;border-radius:25px;font-size:11px;font-weight:700;white-space:nowrap;box-shadow:0 8px 25px #ff950066;animation:errorDetectLabelScan 2.5s ease-in-out infinite;z-index:9999;border:2px solid rgba(255,255,255,.9);pointer-events:none;letter-spacing:.5px;will-change:transform}.step-container[data-python-path*=error_detection].error-detection-active:after{content:"";position:absolute;top:50%;left:50%;width:110px;height:110px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(255,149,0,.6);opacity:0;animation:errorDetectRipple 2.5s ease-out infinite;z-index:-1;pointer-events:none}.step-container[data-python-path*=error_detection].error-detected{position:relative;animation:errorDetectionPulse 3s ease-in-out infinite;border-color:var(--danger, #dc3545)!important;background:linear-gradient(135deg,#ff57571a,#ff57570d);z-index:800!important}.step-container[data-python-path*=error_detection].error-detected:before{content:"🔍 ERROR DETECTED";position:absolute;top:-45px;left:50%;transform:translate(-50%) translateZ(10px);background:linear-gradient(135deg,#ff5757,#ff4757);color:#fff;padding:8px 16px;border-radius:25px;font-size:11px;font-weight:700;white-space:nowrap;box-shadow:0 8px 25px #ff475766;animation:errorLabelFloat 3s ease-in-out infinite;z-index:9999;border:2px solid rgba(255,255,255,.9);pointer-events:none;letter-spacing:.5px;will-change:transform}.step-container[data-python-path*=error_detection].error-detected:after{content:"";position:absolute;top:50%;left:50%;width:100px;height:100px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(255,87,87,.6);opacity:0;animation:errorRippleClean 3s ease-out infinite;z-index:-1;pointer-events:none}.step-container.step-failed{position:relative;animation:stepFailedPulse 2.5s ease-in-out infinite;border-color:#dc3545!important;background:linear-gradient(135deg,#dc354526,#dc354514);box-shadow:0 0 0 2px #dc35454d;z-index:800!important}.step-container.step-failed:before{content:"💥 STEP FAILED";position:absolute;top:-45px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;padding:8px 16px;border-radius:25px;font-size:11px;font-weight:700;white-space:nowrap;box-shadow:0 8px 25px #dc354566;animation:stepFailedLabelShake 2.5s ease-in-out infinite;z-index:9999;border:2px solid rgba(255,255,255,.9);pointer-events:none;letter-spacing:.5px}.step-container.step-failed:after{content:"";position:absolute;top:50%;left:50%;width:120px;height:120px;transform:translate(-50%,-50%);border-radius:50%;border:3px solid rgba(220,53,69,.8);opacity:0;animation:stepFailedRipple 2.5s ease-out infinite;z-index:-1;pointer-events:none}.step-container.execution-error{position:relative;animation:executionErrorPulse 2s ease-in-out infinite;border-color:#ff6b6b!important;background:linear-gradient(135deg,#ff6b6b1f,#ff6b6b0f);z-index:800!important}.step-container.execution-error:before{content:"⚠️ ERROR";position:absolute;top:-40px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#ff6b6b,#ff5252);color:#fff;padding:6px 14px;border-radius:20px;font-size:10px;font-weight:600;white-space:nowrap;box-shadow:0 6px 20px #ff6b6b4d;animation:executionErrorLabelBounce 2s ease-in-out infinite;z-index:9999;border:2px solid rgba(255,255,255,.8);pointer-events:none;letter-spacing:.3px}.step-container.execution-error:after{content:"";position:absolute;top:50%;left:50%;width:90px;height:90px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(255,107,107,.6);opacity:0;animation:executionErrorRipple 2s ease-out infinite;z-index:-1;pointer-events:none}@keyframes errorDetectionActive{0%,to{transform:scale(1);box-shadow:0 0 0 2px #ff95004d,0 0 #ff9500b3}50%{transform:scale(1.02);box-shadow:0 0 0 2px #ff950080,0 0 0 18px #ff950000}}@keyframes errorDetectLabelScan{0%,to{transform:translate(-50%) translateY(0) scale(1);opacity:1}25%{transform:translate(-50%) translateY(-4px) scale(1.02);opacity:.9}50%{transform:translate(-50%) translateY(-8px) scale(1.05);opacity:1}75%{transform:translate(-50%) translateY(-4px) scale(1.02);opacity:.95}}@keyframes errorDetectRipple{0%{transform:translate(-50%,-50%) scale(.8);opacity:.8;border-width:3px}50%{transform:translate(-50%,-50%) scale(1.6);opacity:.4;border-width:2px}to{transform:translate(-50%,-50%) scale(2.2);opacity:0;border-width:1px}}@keyframes errorDetectionPulse{0%,to{transform:scale(1);box-shadow:0 0 #ff5757b3}50%{transform:scale(1.02);box-shadow:0 0 0 15px #ff575700}}@keyframes errorLabelFloat{0%,to{transform:translate(-50%) translateY(0);opacity:1}50%{transform:translate(-50%) translateY(-8px);opacity:.9}}@keyframes errorRippleClean{0%{transform:translate(-50%,-50%) scale(.8);opacity:.8;border-width:3px}50%{transform:translate(-50%,-50%) scale(1.5);opacity:.4;border-width:2px}to{transform:translate(-50%,-50%) scale(2);opacity:0;border-width:1px}}@keyframes stepFailedPulse{0%,to{transform:scale(1);box-shadow:0 0 0 2px #dc35454d,0 0 #dc3545b3}50%{transform:scale(1.03);box-shadow:0 0 0 2px #dc354580,0 0 0 20px #dc354500}}@keyframes stepFailedLabelShake{0%,to{transform:translate(-50%) translateY(0) rotate(0);opacity:1}25%{transform:translate(-50%) translateY(-6px) rotate(-1deg);opacity:.9}50%{transform:translate(-50%) translateY(-10px) rotate(1deg);opacity:1}75%{transform:translate(-50%) translateY(-4px) rotate(-.5deg);opacity:.95}}@keyframes stepFailedRipple{0%{transform:translate(-50%,-50%) scale(.9);opacity:.9;border-width:4px}50%{transform:translate(-50%,-50%) scale(1.8);opacity:.5;border-width:2px}to{transform:translate(-50%,-50%) scale(2.5);opacity:0;border-width:1px}}@keyframes executionErrorPulse{0%,to{transform:scale(1);box-shadow:0 0 #ff6b6b99}50%{transform:scale(1.015);box-shadow:0 0 0 12px #ff6b6b00}}@keyframes executionErrorLabelBounce{0%,to{transform:translate(-50%) translateY(0);opacity:1}50%{transform:translate(-50%) translateY(-6px);opacity:.9}}@keyframes executionErrorRipple{0%{transform:translate(-50%,-50%) scale(.8);opacity:.7;border-width:3px}50%{transform:translate(-50%,-50%) scale(1.4);opacity:.3;border-width:2px}to{transform:translate(-50%,-50%) scale(1.8);opacity:0;border-width:1px}}.security-dashboard{padding:2rem}.timeframe-selector{display:flex;align-items:center;gap:.5rem}.timeframe-selector label{font-weight:500;color:#495057}.timeframe-selector .form-select{min-width:150px;padding:.375rem .75rem;border:1px solid #ced4da;border-radius:.375rem;background-color:#fff}.events-section{margin-top:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e9ecef}.section-header h2{margin:0;color:#495057;font-size:1.5rem}.event-count{color:#6c757d;font-size:.875rem;background-color:#f8f9fa;padding:.25rem .5rem;border-radius:.375rem}.events-table-container{background:#fff;border-radius:.5rem;box-shadow:0 .125rem .25rem #00000013;overflow:hidden}.events-table{width:100%;border-collapse:collapse;font-size:.875rem}.events-table th{background-color:#f8f9fa;padding:.75rem;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6}.events-table td{padding:.75rem;border-bottom:1px solid #dee2e6;vertical-align:top}.events-table tr:hover{background-color:#f8f9fa}.timestamp{color:#6c757d;font-family:Courier New,monospace;font-size:.8rem}.event-type{font-weight:500;color:#495057}.user-email{font-weight:500}.ip-address{font-family:Courier New,monospace;color:#6c757d}.severity-badge{display:inline-block;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.event-details{display:flex;flex-direction:column;gap:.25rem}.detail-item{color:#495057;padding:.125rem .375rem;border-radius:.25rem;font-size:.75rem;max-width:fit-content}.empty-state{text-align:center;padding:3rem;color:#6c757d}.empty-state i{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state h3{margin-bottom:.5rem;color:#495057}.stat-card .stat-icon.total{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-card .stat-icon.success{background:linear-gradient(135deg,#28a745,#20c997)}.stat-card .stat-icon.warning{background:linear-gradient(135deg,#ffc107,#fd7e14)}.stat-card .stat-icon.critical{background:linear-gradient(135deg,#dc3545,#e83e8c)}.stat-card .stat-icon.info{background:linear-gradient(135deg,#17a2b8,#6f42c1)}.stat-card .stat-icon.danger{background:linear-gradient(135deg,#dc3545,#fd1d1d)}.loading-state{display:flex;justify-content:center;align-items:center;height:200px}.log-info-section{margin-top:2rem;margin-bottom:2rem}.log-info-card{background:#fff;border-radius:.5rem;box-shadow:0 .125rem .25rem #00000013;padding:1.5rem}.log-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.log-info-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background-color:#f8f9fa;border-radius:.375rem;border-left:4px solid #007bff}.log-info-item i{font-size:1.25rem;color:#007bff;margin-top:.25rem}.log-info-label{font-weight:600;color:#495057;margin-bottom:.25rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.log-info-value{color:#6c757d;font-family:Courier New,monospace;font-size:.875rem;word-break:break-all;line-height:1.4}@media (max-width: 768px){.section-header{flex-direction:column;align-items:flex-start;gap:.5rem}.events-table-container{overflow-x:auto}.events-table{min-width:600px}.timeframe-selector{flex-direction:column;align-items:flex-start}.log-info-grid{grid-template-columns:1fr}.log-info-item{flex-direction:column;text-align:center}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-hover);width:90%;max-width:500px;max-height:90vh;overflow-y:auto;margin:0;padding:0;box-sizing:border-box;position:relative;border:1px solid var(--border);transition:background-color .3s ease,border-color .3s ease}.modal-content.modal-sm{max-width:50%}.modal-content.modal-xl{max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border);transition:border-color .3s ease}.modal-header h3,.modal-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--background-secondary);color:var(--text-primary)}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid var(--border)}@media (max-width: 768px){.modal-overlay{padding:1rem}.modal-content{width:95%;max-width:none}.modal-content.modal-lg,.modal-content.modal-xl{max-width:none}.modal-footer{flex-direction:column;gap:.5rem}}@media (max-width: 480px){.modal-overlay{padding:.5rem}.modal-content{width:100%}}.btn,.btn-icon,.btn-text,.btn-ghost,.btn-minimal{all:unset;box-sizing:border-box;font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;position:relative;height:2.5rem;padding:0 1rem;min-width:2.5rem;font-size:.875rem;font-weight:500;line-height:1;letter-spacing:.01em;text-decoration:none;white-space:nowrap;border:1px solid transparent;border-radius:.5rem;background:transparent;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s cubic-bezier(.4,0,.2,1);outline:none;-webkit-tap-highlight-color:transparent}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-xs{height:1.75rem;padding:0 .5rem;font-size:.75rem;border-radius:.375rem}.btn-sm{height:2rem;padding:0 .75rem;font-size:.8125rem;border-radius:.375rem}.btn-lg{height:3rem;padding:0 1.5rem;font-size:1rem;border-radius:.625rem}.btn-xl{height:3.5rem;padding:0 2rem;font-size:1.125rem;border-radius:.75rem}.btn-primary{background:var(--primary);color:var(--background);border-color:var(--primary);box-shadow:0 1px 2px #0000000d}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);box-shadow:0 4px 8px -2px rgba(var(--primary-rgb),.2);transform:translateY(-1px)}.btn-primary:active{background:var(--primary-dark);border-color:var(--primary-dark);transform:translateY(0);box-shadow:0 1px 2px #0000001a}.btn-secondary{background:var(--background-secondary);color:var(--text-primary);border-color:var(--border);box-shadow:0 1px 2px #0000000d}.btn-secondary:hover{background:var(--background-tertiary);border-color:var(--border-light);box-shadow:0 2px 4px -1px #0000001a;transform:translateY(-1px)}.btn-secondary:active{background:var(--surface-hover);border-color:var(--text-tertiary);transform:translateY(0)}.btn-success{background:var(--success);color:var(--background);border-color:var(--success);box-shadow:0 1px 2px #0000000d}.btn-success:hover{background:#059669;border-color:#059669;box-shadow:0 4px 8px -2px #10b98133;transform:translateY(-1px)}.btn-success:active{background:#047857;border-color:#047857;transform:translateY(0)}.btn-warning{background:var(--warning);color:var(--background);border-color:var(--warning);box-shadow:0 1px 2px #0000000d}.btn-warning:hover{background:#d97706;border-color:#d97706;box-shadow:0 4px 8px -2px #f59e0b33;transform:translateY(-1px)}.btn-warning:active{background:#b45309;border-color:#b45309;transform:translateY(0)}.btn-danger{background:var(--danger);color:var(--background);border-color:var(--danger);box-shadow:0 1px 2px #0000000d}.btn-danger:hover{background:#dc2626;border-color:#dc2626;box-shadow:0 4px 8px -2px #ef444433;transform:translateY(-1px)}.btn-danger:active{background:#b91c1c;border-color:#b91c1c;transform:translateY(0)}.btn-outline{background:transparent;border-width:1px}.btn-outline-primary{color:var(--primary);border-color:var(--primary)}.btn-outline-primary:hover{background:var(--primary);color:var(--background);box-shadow:0 2px 4px -1px rgba(var(--primary-rgb),.2);transform:translateY(-1px)}.btn-outline-secondary{color:var(--text-primary);border-color:var(--border)}.btn-outline-secondary:hover{background:var(--text-secondary);color:var(--background);border-color:var(--text-secondary);transform:translateY(-1px)}.btn-outline-danger{color:var(--danger);border-color:var(--danger)}.btn-outline-danger:hover{background:var(--danger);color:var(--background);box-shadow:0 2px 4px -1px #ef444433;transform:translateY(-1px)}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none}.btn-ghost:hover{background:var(--background-secondary);transform:translateY(-1px)}.btn-ghost-primary{color:var(--primary)}.btn-ghost-primary:hover{background:rgba(var(--primary-rgb),.1);color:var(--primary-dark)}.btn-ghost-danger{color:var(--danger)}.btn-ghost-danger:hover{background:#ef44441a;color:#dc2626}.btn-icon{width:2.5rem;height:2.5rem;padding:0;border-radius:.5rem;background:transparent;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;position:relative}.btn-icon:hover{background:var(--background-secondary);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 2px 4px -1px #0000001a}.btn-icon-xs{width:1.75rem;height:1.75rem;font-size:.75rem}.btn-icon-sm{width:2rem;height:2rem;font-size:.8125rem}.btn-icon-lg{width:3rem;height:3rem;font-size:1.125rem}.btn-icon-primary{color:var(--primary);background:rgba(var(--primary-rgb),.1)}.btn-icon-primary:hover{background:rgba(var(--primary-rgb),.15);color:var(--primary-dark)}.btn-icon-success{color:var(--success);background:#10b9811a}.btn-icon-success:hover{background:#10b98126;color:#059669}.btn-icon-danger{color:var(--danger);background:#ef44441a}.btn-icon-danger:hover{background:#ef444426;color:#dc2626}.btn-icon-warning{color:var(--warning);background:#f59e0b1a}.btn-icon-warning:hover{background:#f59e0b26;color:#d97706}.btn-text{background:transparent;border:none;padding:.5rem;height:auto;min-width:auto;color:var(--text-primary);font-weight:500;box-shadow:none}.btn-text:hover{color:var(--primary);background:rgba(var(--primary-rgb),.05);transform:none}.btn-group{display:inline-flex;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 2px #0000000d}.btn-group .btn{border-radius:0;border-right-width:0;box-shadow:none}.btn-group .btn:first-child{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.btn-group .btn:last-child{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;border-right-width:1px}.btn-group .btn:not(:last-child):not(:first-child){border-radius:0}.btn-loading{position:relative;color:transparent;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:1rem;height:1rem;top:50%;left:50%;margin-left:-.5rem;margin-top:-.5rem;border:2px solid var(--text-primary);border-radius:50%;border-top-color:transparent;animation:button-spinner .6s linear infinite}@keyframes button-spinner{to{transform:rotate(360deg)}}.btn-block{width:100%;justify-content:center}.btn svg,.btn-icon svg{width:1em;height:1em;fill:currentColor}[data-theme=dark] .btn-primary:hover{box-shadow:0 4px 8px -2px rgba(var(--primary-rgb),.3)}[data-theme=dark] .btn-secondary{background:var(--surface);border-color:var(--border)}[data-theme=dark] .btn-secondary:hover{background:var(--surface-hover);border-color:var(--border-light)}[data-theme=dark] .btn-ghost:hover{background:var(--surface)}[data-theme=dark] .btn-icon:hover{background:var(--surface);box-shadow:var(--shadow)}@media (max-width: 640px){.btn-group{flex-direction:column;width:100%}.btn-group .btn{border-radius:0;border-right-width:1px;border-bottom-width:0}.btn-group .btn:first-child{border-radius:.5rem .5rem 0 0}.btn-group .btn:last-child{border-radius:0 0 .5rem .5rem;border-bottom-width:1px}}.card{all:unset;box-sizing:border-box;font-family:inherit;display:block;background:var(--surface);border-radius:var(--border-radius);box-shadow:var(--shadow);border:1px solid var(--border);overflow:hidden;transition:var(--transition);position:relative}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.stat-card{background:var(--surface);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--border);position:relative;overflow:hidden;transition:var(--transition);min-height:140px}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.stat-content{position:relative;z-index:2;padding-right:80px;display:flex;flex-direction:column;justify-content:center;height:100%}.stat-number{font-size:2.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.stat-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.25rem}.stat-meta{font-size:.75rem;color:var(--text-tertiary);display:flex;align-items:center;gap:.25rem}.stat-icon{position:absolute;top:1.5rem;right:1.5rem;width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--background);z-index:1}.stat-icon.connections{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-icon.active{background:linear-gradient(135deg,#43e97b,#38f9d7)}.stat-icon.api{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-icon.database{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-icon.revenue{background:linear-gradient(135deg,#059669,#10b981)}.stat-icon.executions{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-icon.data{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-icon.time{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-card.success .stat-icon{background:linear-gradient(135deg,#43e97b,#38f9d7)}.stat-card.primary .stat-icon{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-card.warning .stat-icon{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card.danger .stat-icon{background:linear-gradient(135deg,#ef4444,#dc2626)}.content-card{background:var(--surface);border-radius:var(--border-radius);box-shadow:var(--shadow);border:1px solid var(--border);overflow:hidden;transition:var(--transition)}.content-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.content-card-header{padding:1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.content-card-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.content-card-title i{color:var(--primary)}.content-card-body{padding:1.5rem}.content-card-body.no-padding{padding:0}.connection-card{background:var(--surface);border-radius:var(--border-radius);box-shadow:var(--shadow);border:1px solid var(--border);overflow:hidden;transition:var(--transition)}.connection-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.connection-header{padding:1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.connection-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#78acd1,#57cfea);display:flex;align-items:center;justify-content:center;color:var(--background);font-size:1.25rem;margin-right:1rem;flex-shrink:0}.connection-info{flex:1}.connection-name{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.connection-type{background:rgba(var(--primary-rgb),.1);color:var(--primary);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:uppercase}.connection-body{padding:1.5rem}.connection-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0 0 1rem}.stats-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:1.5rem;margin-bottom:2rem;width:100%;box-sizing:border-box}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.cards-grid.compact{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card.clickable{cursor:pointer}.card.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.card.clickable:active{transform:translateY(0);box-shadow:var(--shadow)}.card.loading{position:relative;overflow:hidden}.card.loading:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(var(--text-primary-rgb, 255, 255, 255),.4),transparent);animation:loading-shimmer 1.5s infinite}@keyframes loading-shimmer{0%{left:-100%}to{left:100%}}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:uppercase}.status-badge.active{background:#10b9811a;color:var(--success)}.status-badge.inactive{background:var(--background-tertiary);color:var(--text-secondary)}.status-badge.error{background:#ef44441a;color:var(--danger)}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)!important}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr!important;gap:1rem}.cards-grid{grid-template-columns:1fr}.stat-card,.content-card,.connection-card{border-radius:8px}.stat-card{padding:1rem;min-height:120px}.content-card-body,.connection-body{padding:1rem}.stat-icon{width:48px;height:48px;font-size:1.25rem}.connection-icon{width:40px;height:40px;font-size:1rem}}@media (prefers-contrast: high){.card,.stat-card,.content-card,.connection-card{border-width:2px;border-color:var(--text-primary)}}@media (prefers-reduced-motion: reduce){.card,.stat-card,.content-card,.connection-card{transition:none}.card:hover,.stat-card:hover,.content-card:hover,.connection-card:hover{transform:none}.card.loading:after{animation:none}}:root{--primary: #667eea;--primary-rgb: 102, 126, 234;--primary-light: #7c8df0;--primary-dark: #5a67d8;--secondary: #764ba2;--accent: #6366f1;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--info: #3b82f6;--background: #ffffff;--background-secondary: #f8fafc;--background-tertiary: #f1f5f9;--surface: #ffffff;--surface-hover: #f8fafc;--border: #e2e8f0;--border-light: #f1f5f9;--text-primary: #1e293b;--text-secondary: #64748b;--text-tertiary: #94a3b8;--shadow: 0 2px 8px rgba(0, 0, 0, .1);--shadow-hover: 0 8px 25px rgba(0, 0, 0, .15);--gray-100: #f7fafc;--gray-200: #edf2f7;--gray-300: #e2e8f0;--gray-400: #cbd5e0;--gray-500: #a0aec0;--gray-600: #718096;--gray-700: #4a5568;--gray-800: #2d3748;--gray-900: #1a202c;--border-radius: 12px;--border-radius-sm: 8px;--border-radius-lg: 16px;--transition: all .2s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--background: #0f172a;--background-secondary: #1e293b;--background-tertiary: #334155;--surface: #1e293b;--surface-hover: #334155;--border: #334155;--border-light: #475569;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--shadow: 0 2px 8px rgba(0, 0, 0, .3);--shadow-hover: 0 8px 25px rgba(0, 0, 0, .4);--gray-100: #334155;--gray-200: #475569;--gray-300: #64748b;--gray-400: #94a3b8;--gray-500: #cbd5e1;--gray-600: #e2e8f0;--gray-700: #f1f5f9;--gray-800: #f8fafc;--gray-900: #ffffff}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--background);color:var(--text-primary);line-height:1.5;width:100vw;max-width:none;overflow-x:hidden;transition:background-color .3s ease,color .3s ease}html{width:100vw!important;max-width:none!important;overflow-x:hidden!important}input,select,textarea,.form-control,.form-select{background-color:var(--surface);color:var(--text-primary);border:1px solid var(--border);transition:var(--transition)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea,[data-theme=dark] .form-control,[data-theme=dark] .form-select{background-color:var(--background-tertiary);color:var(--text-primary);border-color:var(--border)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus{transition:background-color 5000s ease-in-out 0s;-webkit-text-fill-color:var(--text-primary)}input:-webkit-autofill,select:-webkit-autofill,textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--surface) inset;box-shadow:0 0 0 1000px var(--surface) inset}[data-theme=dark] input:-webkit-autofill,[data-theme=dark] select:-webkit-autofill,[data-theme=dark] textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--background-tertiary) inset;box-shadow:0 0 0 1000px var(--background-tertiary) inset}.layout-container{display:flex;min-height:100vh;width:100%}.content{flex:1;display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;margin-left:80px;width:calc(100% - 80px);max-width:100%}.navbar{padding:.75rem 1rem;background-color:var(--surface);border-bottom:1px solid var(--border);z-index:10;display:flex;justify-content:space-between;align-items:center;transition:background-color .3s ease,border-color .3s ease}.navbar-left,.navbar-right{display:flex;align-items:center}.text-lg{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.page-content{flex:1;display:flex;flex-direction:column;padding:1.5rem;overflow-y:auto;overflow-x:hidden;width:100%;max-width:100vw;background-color:var(--background-secondary);transition:background-color .3s ease}.animate-fadeIn{opacity:1;transform:none}.sidebar{width:80px;height:100vh;background:var(--surface);color:var(--text-primary);position:fixed;top:0;left:0;overflow-y:auto;overflow-x:hidden;z-index:1000;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid var(--border);transition:all .4s cubic-bezier(.25,.46,.45,.94)}.sidebar:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#00000005,#0000);pointer-events:none}.sidebar-header{position:sticky;top:0;padding:1.5rem 1rem;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:2;height:70px;box-shadow:var(--shadow);transition:background-color .3s ease,border-color .3s ease}.logo{display:flex;align-items:center;justify-content:center;position:relative;padding:8px;border-radius:12px;background:linear-gradient(135deg,#00b8a914,#00b8a90a);border:1px solid rgba(0,184,169,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.logo:hover{transform:translateY(-1px);box-shadow:0 8px 25px #00b8a933;border-color:#00b8a966}.logo i{font-size:1.8rem;color:var(--primary);filter:drop-shadow(0 0 8px rgba(0,184,169,.4));animation:logoGlow 3s ease-in-out infinite alternate}@keyframes logoGlow{0%{filter:drop-shadow(0 0 8px rgba(0,184,169,.4))}to{filter:drop-shadow(0 0 12px rgba(0,184,169,.6))}}.logo h2{display:none}.sidebar-nav{padding:1rem 0;width:80px;height:calc(100vh - 120px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.nav-group{margin-bottom:.25rem;position:relative;width:100%;padding:.25rem 0}.nav-group-title{color:var(--text-tertiary);font-size:.65rem;text-transform:uppercase;letter-spacing:1.2px;padding:.75rem 0 1rem;margin:0;text-align:center;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;background:transparent;border-top:none;border-bottom:none;position:relative;transition:color .3s ease}.nav-group-title:after{content:"";position:absolute;bottom:.5rem;left:50%;transform:translate(-50%);width:20px;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%)}.nav-group-divider-deco{position:relative;height:20px;background:transparent;margin:.5rem auto;width:60px;display:flex;align-items:center;justify-content:center;overflow:visible}.nav-group-divider-deco:before{content:"";position:absolute;width:3px;height:3px;background:#fff6;border-radius:50%;left:20px}.nav-group-divider-deco:after{content:"";position:absolute;width:3px;height:3px;background:#fff6;border-radius:50%;right:20px}.nav-group-divider-deco span{width:15px;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);display:block;animation:dividerPulse 3s ease-in-out infinite}@keyframes dividerPulse{0%,to{opacity:.3}50%{opacity:.6}}.nav-link{display:flex;align-items:center;justify-content:center;width:60px;height:60px;margin:.125rem auto;border-radius:16px;color:var(--text-secondary);text-decoration:none;transition:all .3s cubic-bezier(.25,.46,.45,.94);position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid transparent;overflow:visible}.nav-link:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:16px;background:linear-gradient(135deg,#0000000d,#00000005);opacity:0;transition:all .3s ease;z-index:-1}.nav-link:hover{color:var(--text-primary);transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:#00b8a94d;background:var(--surface-hover)}.nav-link:hover:before{opacity:1}.nav-link:hover .nav-icon{color:var(--primary);transform:scale(1.1);filter:drop-shadow(0 0 8px rgba(0,184,169,.4))}.nav-link.active{color:var(--text-primary);background:linear-gradient(135deg,#00b8a926,#00b8a914);border-color:#00b8a966;box-shadow:var(--shadow-hover)}.nav-link.active:before{opacity:1;background:linear-gradient(135deg,#00b8a914,#00b8a90a)}.nav-link.active .nav-icon{color:var(--primary);transform:scale(1.05);filter:drop-shadow(0 0 8px rgba(0,184,169,.4))}.nav-icon{font-size:1.3rem;transition:all .3s cubic-bezier(.25,.46,.45,.94);display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:inherit}.nav-text{display:none}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:#ffffff0d;border-radius:2px}.sidebar::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#00b8a999,#00b8a94d);border-radius:2px;transition:all .3s ease}.sidebar::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#00b8a9cc,#00b8a980)}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:#ffffff0d;border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#00b8a999,#00b8a94d);border-radius:2px;transition:all .3s ease}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#00b8a9cc,#00b8a980)}.navbar-right{display:flex;align-items:center;gap:1rem}.user-dropdown{position:relative;display:inline-block}.user-dropdown-toggle{display:flex;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:50px;padding:6px 16px 6px 6px;color:var(--text-primary);text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);min-width:200px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow)}.user-dropdown-toggle:hover{background:var(--surface-hover);border-color:#3b82f633;transform:translateY(-1px);box-shadow:var(--shadow-hover)}.user-avatar-small{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#6366f1);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem;margin-right:12px;border:2px solid rgba(255,255,255,.9);box-shadow:0 2px 8px #3b82f633;flex-shrink:0}.user-info{display:flex;flex-direction:column;flex:1;text-align:left;min-width:0}.user-name{font-weight:600;color:var(--text-primary);font-size:.875rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.dropdown-arrow{margin-left:8px;transition:transform .2s ease;color:var(--text-tertiary);font-size:.75rem}.user-dropdown.show .dropdown-arrow{transform:rotate(180deg)}.user-dropdown-menu{min-width:320px;padding:8px;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-hover);margin-top:12px;overflow:hidden;position:absolute;top:100%;right:0;background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1000;display:none;transition:background-color .3s ease,border-color .3s ease}.user-dropdown-menu.show{display:block!important;animation:dropdownFadeIn .15s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-profile-header{display:flex;align-items:center;padding:20px;background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);color:var(--background);border:none;border-radius:16px;margin:0 0 8px}.user-avatar-large{width:48px;height:48px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;color:var(--background);font-weight:600;font-size:1.2rem;margin-right:15px;border:2px solid rgba(255,255,255,.3)}.user-details{flex:1}.user-full-name{font-weight:600;font-size:1rem;margin-bottom:4px}.user-email{font-size:.85rem;opacity:.9;margin-bottom:8px}.user-role-badge{background:#fff3;color:var(--background);padding:3px 8px;border-radius:12px;font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;display:inline-block}.company-info{display:flex;align-items:center;padding:12px 20px;color:var(--text-secondary)}.company-name{font-weight:500;color:var(--text-primary)}.user-dropdown-menu .dropdown-item{padding:12px 16px;color:var(--text-primary);transition:all .2s ease;border:none;text-decoration:none;display:block;width:100%;background:none;border-radius:12px;margin:2px 0}.user-dropdown-menu .dropdown-item:hover{background:rgba(var(--primary-rgb),.08);color:var(--primary);transform:translate(4px)}.user-dropdown-menu .dropdown-item i{width:16px;text-align:center;opacity:.7}.logout-item{color:var(--danger)!important;border-top:1px solid var(--border);margin-top:4px;padding-top:16px}.logout-item:hover{background:#ef444414!important;color:var(--danger)!important}.theme-toggle{color:var(--text-primary)!important}.theme-toggle:hover{background:rgba(var(--primary-rgb),.08)!important;color:var(--primary)!important}.theme-toggle i{transition:transform .3s ease}.theme-toggle:hover i{transform:scale(1.1)}.role-super-admin{background-color:#ef444433!important}.role-company-admin{background-color:#f59e0b33!important}.role-user{background-color:#10b98133!important}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid var(--border)}.dropdown-item-text{display:block;padding:.25rem 1rem;margin-bottom:0;font-size:.875rem;color:var(--text-secondary);white-space:nowrap}.me-2{margin-right:.5rem}#custom-tooltip{position:fixed;z-index:9999;background:linear-gradient(135deg,#000000f2,#14141ef2);color:#fff;padding:12px 18px;border-radius:8px;font-size:.85rem;box-shadow:0 8px 32px #0000004d,0 0 0 1px #ffffff1a inset;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);pointer-events:auto;opacity:0;transition:all .3s cubic-bezier(.25,.46,.45,.94);font-family:Inter,sans-serif;font-weight:500;letter-spacing:.5px;max-width:200px;text-align:center;transform:translate(-8px) scale(.9);border:1px solid rgba(0,184,169,.2)}#custom-tooltip.show{opacity:1;transform:translate(0) scale(1)}#tooltip-arrow{position:absolute;left:-6px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid rgba(0,0,0,.95)}.nav-link{overflow:visible}.nav-link:hover{z-index:10}.nav-link.active{animation:activePulse 2s ease-in-out infinite}@keyframes activePulse{0%,to{box-shadow:0 8px 32px #00b8a940,0 4px 16px #0000001a,0 0 0 1px #ffffff1a inset}50%{box-shadow:0 8px 32px #00b8a959,0 4px 16px #0000001a,0 0 0 1px #ffffff26 inset}}.nav-link:focus{outline:none;box-shadow:0 0 0 2px #00b8a980}@media (max-width: 768px){.sidebar{width:70px}.content{margin-left:70px;width:calc(100% - 70px)}.nav-link{width:50px;height:50px}.nav-icon{font-size:1.1rem}}.card{background:var(--surface);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border);overflow:hidden;transition:all .3s ease}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.card-header{padding:1rem 1.5rem;background:var(--background-tertiary);border-bottom:1px solid var(--border);font-weight:600;color:var(--text-primary)}.card-body{padding:1.5rem}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1024px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-6{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.grid-3,.grid-4,.grid-6{grid-template-columns:1fr}}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-primary{color:var(--primary)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-muted{color:var(--gray-600)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}.spinner{width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-control{display:block;width:100%;padding:.5rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--text-primary);background-color:var(--surface);background-image:none;border:1px solid var(--border);border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,background-color .3s ease}.form-control:focus{color:var(--text-primary);background-color:var(--surface);border-color:var(--primary);outline:0;box-shadow:0 0 0 .2rem #00b8a940}.table{width:100%;margin-bottom:1rem;color:var(--text-primary);border-collapse:collapse}.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid var(--border)}.table thead th{vertical-align:bottom;border-bottom:2px solid var(--border);background-color:var(--background-tertiary);font-weight:600;color:var(--text-primary)}.table tbody tr:hover{background-color:var(--surface-hover)}.badge{display:inline-block;padding:.25em .6em;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.375rem}.badge-primary{color:#fff;background-color:var(--primary)}.badge-success{color:#fff;background-color:var(--success)}.badge-warning{color:#000;background-color:var(--warning)}.badge-danger{color:#fff;background-color:var(--danger)}.badge-info{color:#fff;background-color:var(--info)}.flow-designer-page .content{overflow:hidden!important;padding:0!important;margin-left:80px!important;width:calc(100vw - 80px)!important;max-width:none!important}.flow-designer-page .page-content{padding:0!important;margin:0!important;height:calc(100vh - 60px)!important;width:100%!important;max-width:none!important;position:relative!important;overflow:hidden!important;background-color:var(--background-secondary)!important}.flow-designer-page .flow-designer-container,.flow-designer-container{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;background:var(--background-secondary)!important;overflow:hidden!important;z-index:1!important}.flow-designer-container{max-width:none!important;min-width:100%!important}.flow-designer-page,.flow-designer-page *{max-width:none!important}.flow-designer-page .container,.flow-designer-page .container-fluid,.flow-designer-page .container-xl,.flow-designer-page .container-lg,.flow-designer-page .container-md,.flow-designer-page .container-sm{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}.flow-designer-page{width:100vw!important;max-width:100vw!important;overflow-x:hidden!important}.flow-designer-page .sidebar{z-index:1050!important;position:fixed!important;left:0!important;top:0!important}.flow-designer-page .navbar{z-index:1040!important;position:relative!important;width:100%!important;margin:0!important;padding-left:1rem!important;padding-right:1rem!important}html body .layout-container.invoicing-page .content,html body .content.invoicing-content,html body .content.full-width-content{overflow:hidden!important;padding:0!important;margin-left:80px!important;width:calc(100vw - 80px)!important;max-width:none!important}html body .layout-container.invoicing-page .page-content,html body .page-content.invoicing-content,html body .page-content.full-width-content{padding:0!important;margin:0!important;width:100%!important;max-width:none!important;position:relative!important;overflow:hidden!important}html body .layout-container.invoicing-page .invoicing-dashboard,html body .layout-container.invoicing-page .invoice-detail,html body .layout-container.invoicing-page .invoices-list,html body .layout-container.invoicing-page .usage-analytics{width:100%!important;height:100%!important;max-width:none!important;padding:1.5rem!important;margin:0!important;position:relative!important;background:var(--background-secondary)!important}html body .layout-container.invoicing-page .container,html body .layout-container.invoicing-page .container-fluid,html body .layout-container.invoicing-page .container-xl,html body .layout-container.invoicing-page .container-lg,html body .layout-container.invoicing-page .container-md,html body .layout-container.invoicing-page .container-sm{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}html body .layout-container.invoicing-page .sidebar{z-index:1050!important;position:fixed!important;left:0!important;top:0!important}html body .layout-container.invoicing-page .navbar{z-index:1040!important;position:relative!important;width:100%!important;margin:0!important;padding-left:1rem!important;padding-right:1rem!important}html body .layout-container.full-width-page .content{overflow:hidden!important;padding:0!important;margin-left:80px!important;width:calc(100vw - 80px)!important;max-width:none!important}html body .layout-container.full-width-page .page-content{padding:0!important;margin:0!important;width:100%!important;max-width:none!important;position:relative!important;overflow:hidden!important}html body .layout-container.full-width-page .container,html body .layout-container.full-width-page .container-fluid,html body .layout-container.full-width-page .container-xl,html body .layout-container.full-width-page .container-lg,html body .layout-container.full-width-page .container-md,html body .layout-container.full-width-page .container-sm{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}html body .layout-container.full-width-page .sidebar{z-index:1050!important;position:fixed!important;left:0!important;top:0!important}html body .layout-container.full-width-page .navbar{z-index:1040!important;position:relative!important;width:100%!important;margin:0!important;padding-left:1rem!important;padding-right:1rem!important}html body .layout-container.full-width-page .dashboard-page,html body .layout-container.full-width-page .schedules-page,html body .layout-container.full-width-page .companies-page,html body .layout-container.full-width-page .users-page,html body .layout-container.full-width-page .connections-page,html body .layout-container.full-width-page .executions-page,html body .layout-container.full-width-page .data-schemas-page,html body .layout-container.full-width-page .mappings-page,html body .layout-container.full-width-page .security-dashboard-page{width:100%!important;height:100%!important;max-width:none!important;padding:1.5rem!important;margin:0!important;position:relative!important;background:var(--background-secondary)!important}.login-page{width:100vw!important;height:100vh!important;max-width:none!important;margin:0!important;padding:0!important;position:fixed!important;top:0!important;left:0!important;z-index:9999!important;overflow:hidden!important}.login-page .login-container{max-width:400px!important;width:100%!important;margin:0 auto!important}body:has(.login-page){overflow:hidden!important;width:100vw!important;height:100vh!important}.login-page *{max-width:none!important}
