:root{--primary-color:#3b82f6;--primary-hover:#2563eb;--primary-light:#dbeafe;--bg-primary:#f8f9fa;--bg-secondary:#fff;--bg-hover:#f3f4f6;--text-primary:#111827;--text-secondary:#374151;--text-tertiary:#6b7280;--border-light:#e5e7eb;--border-medium:#d1d5db;--success-color:#10b981;--warning-color:#f59e0b;--danger-color:#ef4444;--info-color:#3b82f6;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 25px #0000001a;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"Monaco","Courier New",monospace}body{background:#f8f9fa;background:var(--bg-primary);color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);line-height:1.5}h1,h2,h3,h4,h5,h6{color:#111827;color:var(--text-primary);font-weight:600;line-height:1.2}h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}p{color:#374151;color:var(--text-secondary);line-height:1.6}a{color:#3b82f6;color:var(--primary-color);text-decoration:none;transition:color .2s ease;transition:color var(--transition-base)}a:hover{color:#2563eb;color:var(--primary-hover)}button{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans)}::-webkit-scrollbar-track{background:#f8f9fa;background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#d1d5db;background:var(--border-medium);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:#6b7280;background:var(--text-tertiary)}.container{margin:0 auto;max-width:1400px;padding:0 20px;width:100%}.text-center{text-align:center}.text-muted{color:#6b7280;color:var(--text-tertiary)}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.p-1{padding:8px}.p-2{padding:16px}.p-3{padding:24px}.p-4{padding:32px}#root,body,html{height:100%;margin:0;overflow:hidden;padding:0}body{background-color:var(--bg-secondary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.profile-dialog-overlay{animation:fadeIn .2s ease-out;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:9998}.profile-dialog{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:800px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:9999}.profile-dialog-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem}.profile-dialog-header h2{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0}.close-btn{transition:background .2s,color .2s}.profile-dialog-content{flex:1 1;overflow-y:auto;padding:1.5rem}.profile-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem}.profile-avatar-section{border-bottom:1px solid #e2e8f0;margin-bottom:1.5rem;padding:1rem 0 1.5rem;text-align:center}.avatar-large{align-items:center;background:#e53e3e;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;font-weight:600;height:100px;justify-content:center;margin:0 auto 1rem;overflow:hidden;position:relative;transition:all .3s;width:100px}.avatar-large:hover{transform:scale(1.05)}.avatar-large img{height:100%;object-fit:cover;width:100%}.avatar-upload-overlay{background:#000000b3;bottom:0;color:#fff;font-size:.75rem;left:0;opacity:0;padding:.25rem;position:absolute;right:0;text-align:center;transition:opacity .3s}.avatar-large:hover .avatar-upload-overlay{opacity:1}.avatar-upload-input{display:none}.profile-avatar-section h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0}.profile-email{color:#64748b;font-size:.875rem;margin:.25rem 0 .5rem}.role-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.badge-viewer{background:#e0e7ff;color:#4338ca}.badge-default{background:#f1f5f9;color:#475569}.profile-section{margin-bottom:1.5rem}.profile-section:last-child{margin-bottom:0}.section-header{justify-content:space-between}.profile-section h4{color:#1e293b;font-size:1rem;font-weight:600;margin:0 0 1rem}.profile-field{margin-bottom:1rem}.profile-field:last-child{margin-bottom:0}.profile-field label{color:#64748b;display:block;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.profile-field p{color:#1e293b;font-size:.875rem;margin:0}.verified-badge{background:#dcfce7;border-radius:4px;color:#166534;display:inline-block;font-size:.75rem;font-weight:600;margin-left:.5rem;padding:.125rem .5rem}.status-active{color:#16a34a!important;font-weight:600!important}.status-inactive{color:#dc2626!important;font-weight:600!important}.role-text{font-weight:500!important;text-transform:capitalize}.form-field{margin-bottom:1rem}.form-field:last-child{margin-bottom:0}.form-field label{color:#334155;display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.form-field input{border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;font-size:.875rem;padding:.625rem .75rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-field input:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a;outline:none}.form-field input::placeholder{color:#94a3b8}.btn-edit{background:#f8fafc;border:1px solid #e2e8f0;color:#334155;font-weight:500;padding:.375rem .75rem;transition:background .2s,border-color .2s}.btn-edit:hover{background:#f1f5f9;border-color:#cbd5e1}.edit-actions{display:flex;gap:.5rem}.btn-cancel{border:1px solid #e2e8f0;font-size:.875rem;padding:.375rem .75rem;transition:background .2s,border-color .2s}.btn-cancel:hover{background:#f8fafc}.btn-save{background:#e53e3e;border:1px solid #e53e3e;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.375rem .75rem;transition:background .2s}.btn-save:hover:not(:disabled){background:#c53030;border-color:#c53030}.btn-save:disabled{cursor:not-allowed;opacity:.6}.btn-secondary-full{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#334155;cursor:pointer;font-size:.875rem;font-weight:500;padding:.625rem;transition:background .2s,border-color .2s;width:100%}.btn-secondary-full:hover{background:#f1f5f9;border-color:#cbd5e1}.btn-primary-full{background:#e53e3e;border:1px solid #e53e3e;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;margin-top:1rem;padding:.625rem;transition:background .2s;width:100%}.btn-primary-full:hover:not(:disabled){background:#c53030;border-color:#c53030}.btn-primary-full:disabled{cursor:not-allowed;opacity:.6}.alert{border-radius:6px;font-size:.875rem;margin-bottom:1rem;padding:.75rem 1rem}.alert-error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.alert-success{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.profile-error{color:#64748b;padding:2rem;text-align:center}.profile-two-column-layout{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1px 1fr;margin-bottom:1.5rem}.profile-column{display:flex;flex-direction:column;gap:1rem}.profile-divider{background:#e2e8f0;height:auto;width:1px}.column-header{border-bottom:2px solid #e2e8f0;color:#1e293b;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;padding-bottom:.75rem;text-transform:uppercase}.profile-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1rem}.profile-grid .profile-field{margin-bottom:0}.profile-grid-full{grid-column:1/-1}.org-section-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.org-section-header h4{color:#1e293b;font-size:1rem;font-weight:600;margin:0}.profile-field select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;cursor:pointer;font-size:.875rem;padding:.625rem .75rem;transition:border-color .2s,box-shadow .2s;width:100%}.profile-field select:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a;outline:none}.profile-field select:disabled{background:#f8fafc;cursor:not-allowed;opacity:.6}.field-readonly{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;font-size:.875rem;padding:.625rem .75rem}.app-header{align-items:center!important;background:#fff!important;border-bottom:1px solid #e2e8f0!important;display:flex!important;flex-shrink:0!important;height:64px!important;justify-content:space-between!important;padding:1rem 2rem!important;position:-webkit-sticky!important;position:sticky!important;top:0!important;z-index:100!important}.logo-container{gap:.75rem}.logo-icon{height:27px!important}.logo-icon,.logo-title{display:block!important;width:auto!important}.logo-title{height:25px!important}.user-profile{align-items:center;display:flex;position:relative}.user-profile-trigger{align-items:center;background:#f8fafc;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:.5rem 1rem;transition:background .2s}.user-profile-trigger:hover{background:#f1f5f9}.user-avatar-header{align-items:center;background:#e53e3e;border-radius:50%;color:#fff;display:flex;font-size:.875rem;font-weight:600;height:32px;justify-content:center;width:32px}.user-name-header{color:#1e293b;font-size:.875rem;font-weight:500}.dropdown-arrow{color:#64748b;transition:transform .2s}.dropdown-arrow.open{transform:rotate(180deg)}.user-dropdown{animation:dropdownFadeIn .15s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;min-width:260px;padding:0;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:8px 8px 0 0;display:flex;gap:.75rem;padding:1rem}.dropdown-avatar{align-items:center;background:#e53e3e;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:600;height:40px;justify-content:center;width:40px}.dropdown-user-info{flex:1 1;min-width:0}.dropdown-user-name{color:#1e293b;font-size:.875rem;font-weight:600}.dropdown-user-email,.dropdown-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-user-email{color:#64748b;font-size:.75rem;margin-top:.125rem}.dropdown-user-role{color:#e53e3e;font-size:.625rem;font-weight:600;letter-spacing:.5px;margin-top:.25rem;text-transform:uppercase}.dropdown-item{align-items:center;color:#334155;cursor:pointer;display:flex;font-size:.875rem;gap:.75rem;padding:.75rem 1rem;transition:background .15s,color .15s}.dropdown-item:hover{background:#f8fafc;color:#e53e3e}.dropdown-item svg{flex-shrink:0;height:16px;width:16px}.dropdown-divider{background:#e2e8f0;height:1px;margin:.5rem 0}.sidebar{background:#fff!important;border-right:1px solid #e2e8f0!important;display:flex!important;flex-direction:column!important;flex-shrink:0!important;height:100%!important;overflow:hidden!important;padding:10px!important;width:110px!important}.sidebar-header{border-bottom:1px solid #e2e8f0;display:none;padding:1rem .5rem}.sidebar-brand{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#e53e3e,#f56565);-webkit-background-clip:text;background-clip:text;font-size:1rem;font-weight:700;margin:0;text-align:center}.sidebar-account-type{display:none}.sidebar-nav{flex:1 1!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;padding:.5rem 0!important}.sidebar-nav-item{align-items:center!important;border-left:3px solid #0000!important;color:#64748b!important;display:flex!important;flex-direction:column!important;gap:.35rem!important;justify-content:center!important;padding:.75rem .25rem!important;text-decoration:none!important;transition:all .2s!important}.sidebar-nav-item:hover{background:#f8fafc;color:#e53e3e}.sidebar-nav-item.active{background:#fef2f2;border-left-color:#e53e3e;color:#e53e3e;font-weight:600}.nav-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.nav-label{font-size:.625rem!important;line-height:1.1!important;max-width:100%!important;text-align:center!important;word-break:break-word!important}.sidebar-footer{border-top:1px solid #e2e8f0!important;flex-shrink:0!important;margin-top:auto!important;padding:.75rem .5rem!important}.sidebar-user{flex-direction:column;gap:.5rem;margin-bottom:.75rem}.sidebar-user,.user-avatar{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#e53e3e,#f56565);border-radius:50%;color:#fff;flex-shrink:0;font-size:.875rem;font-weight:600;height:32px;justify-content:center;width:32px}.user-info,.user-name,.user-role{display:none}.logout-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;flex-direction:column;font-size:.625rem;font-weight:500;gap:.25rem;justify-content:center;padding:.5rem .25rem;transition:all .2s;width:100%}.logout-btn:hover{background:#fef2f2;border-color:#e53e3e;color:#e53e3e}.logout-btn svg{height:16px;width:16px}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:#0000}.sidebar-nav::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#94a3b8}.app-layout{background:#f8f9fa!important;flex-direction:column!important;height:100vh!important}.app-body,.app-layout{display:flex!important;overflow:hidden!important}.app-body{flex:1 1!important;height:calc(100vh - 64px)!important}.app-main-content{flex:1 1!important;height:100%!important;overflow:hidden!important}.dashboard{display:flex;flex-direction:column;height:100vh;overflow:hidden;padding:0;width:100%}.dashboard-header{flex-shrink:0;margin-bottom:1.5rem;padding:2rem 2rem 0}.dashboard-header h1{color:#1e293b;font-size:1.75rem;font-weight:700;margin:0 0 .5rem}.dashboard-header p{color:#64748b;font-size:.95rem;margin:0}.stat-card{transition:all .2s}.stat-card-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.stat-card-clickable:hover{border-color:#e53e3e;box-shadow:0 4px 12px #e53e3e26;transform:translateY(-1px)}.stat-card-clickable:active{transform:translateY(0)}.stat-trend{color:#10b981;font-size:.5rem;font-weight:600}.dashboard-error,.dashboard-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:2rem}.dashboard-loading .loading-spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#e53e3e;height:40px;margin-bottom:1rem;width:40px}.dashboard-error p,.dashboard-loading p{color:#64748b;font-size:.95rem}.dashboard-error button{background:#e53e3e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;margin-top:1rem;padding:.625rem 1.25rem;transition:background .2s}.dashboard-error button:hover{background:#dc2626}.empty-activity{align-items:center;color:#94a3b8;display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem}.empty-activity p{font-size:.95rem;margin-top:1rem}.charts-grid{grid-gap:1rem;display:grid;flex-shrink:0;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:1rem;padding:0 2rem}.chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.875rem}.chart-card h3{color:#1e293b;font-size:1rem;font-weight:600;margin:0 0 1rem}.chart-placeholder{display:flex;flex-direction:column;height:200px;justify-content:center}.bar-chart{align-items:flex-end;display:flex;gap:.5rem;height:150px;justify-content:space-around;margin-bottom:1rem;padding:0 1rem}.bar{background:linear-gradient(180deg,#e53e3e,#f56565);border-radius:4px 4px 0 0;flex:1 1;min-height:10%;transition:all .3s}.bar:hover{opacity:.8;transform:translateY(-4px)}.chart-labels{color:#64748b;display:flex;font-size:.75rem;justify-content:space-around;padding:0 1rem}.donut-chart{height:120px;margin:0 auto 1.5rem;position:relative;width:120px}.donut-chart svg{transform:scaleY(-1)}.donut-center{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.donut-value{color:#1e293b;font-size:1.5rem;font-weight:700}.donut-label{color:#64748b;font-size:.75rem}.legend{display:flex;flex-direction:column;gap:.75rem}.legend-item{align-items:center;color:#64748b;display:flex;font-size:.875rem;gap:.5rem}.legend-color{border-radius:2px;height:12px;width:12px}.legend-color.active{background:#e53e3e}.legend-color.inactive{background:#e5e7eb}.recent-activity{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex:1 1;flex-direction:column;margin:0 2rem 2rem;min-height:0;overflow:hidden;padding:0}.recent-activity h3{border-bottom:1px solid #e2e8f0;color:#1e293b;flex-shrink:0;font-size:1rem;font-weight:600;margin:0;padding:.625rem .75rem}.activity-list{display:flex;flex:1 1;flex-direction:column;gap:0;overflow-y:auto;padding:0}.activity-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:.75rem;padding:.5rem .75rem;transition:background .15s}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:#f8fafc}.activity-icon{align-items:center;background:#fef2f2;border-radius:6px;color:#e53e3e;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.activity-content{flex:1 1}.activity-title{color:#1e293b;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.activity-time{color:#64748b;font-size:.75rem}@media (max-width:768px){.dashboard{padding:1rem}.charts-grid,.stats-grid{grid-template-columns:1fr}}.billing-container{background:#f8fafc;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;height:100vh;max-height:100vh;overflow:hidden}.billing-header-section{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:1rem;padding:2rem 2rem 0}.billing-header-section h1{color:#1e293b;font-size:1.75rem;font-weight:700;margin:0 0 .25rem}.billing-header-section p{color:#64748b;font-size:.875rem;margin:0}.btn-create-billing{align-items:center;background:linear-gradient(135deg,#e53e3e,#f56565);border:none;border-radius:8px;box-shadow:0 2px 4px #e53e3e33;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s ease}.btn-create-billing:hover{box-shadow:0 4px 12px #e53e3e4d;transform:translateY(-2px)}.btn-create-billing:active{transform:translateY(0)}.stat-card{gap:.5rem}.billing-list-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;display:flex;flex:1 1;flex-direction:column;margin:0 2rem 2rem;overflow:hidden}.billing-panel-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:1.25rem}.billing-container-list{background:#fff;flex:1 1;overflow-y:auto;padding:1.25rem}.billing-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.billing-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;overflow:hidden;transition:all .2s ease;-webkit-user-select:none;user-select:none}.billing-card:hover{border-color:#cbd5e1;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-2px)}.billing-card:active{transform:translateY(0);transition:all .1s ease}.billing-card-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;overflow:hidden;padding:.75rem 1rem}.billing-badges{align-items:center;display:flex;gap:.5rem}.billing-status-badge,.billing-type-badge{padding:.25rem .75rem}.billing-type-badge{background:#e0e7ff;border-radius:6px;color:#4f46e5;font-size:.75rem;font-weight:600;text-transform:uppercase}.billing-delete-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#718096;cursor:pointer;display:flex;justify-content:center;padding:6px 8px;transition:all .2s}.billing-delete-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626;transform:scale(1.05)}.billing-delete-btn:active{transform:scale(.95)}.billing-card-body{padding:1rem}.billing-card-body h3{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:.5rem}.billing-endpoint{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;color:#475569;display:inline-block;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8125rem;margin-bottom:.5rem;padding:.25rem .5rem}.billing-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;line-height:1.5;margin-bottom:.75rem;overflow:hidden}.billing-meta{color:#94a3b8;display:flex;flex-wrap:wrap;font-size:.75rem;gap:.75rem}.billing-meta span{align-items:center;display:flex}.billing-card-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:.5rem;justify-content:center;padding:.75rem 1rem}.billing-action-btn{flex:1 1;font-size:.8125rem;font-weight:500;gap:.375rem;padding:.5rem .75rem}.billing-action-btn:hover{background:#f8f9fa;border-color:#cbd5e1}.billing-action-btn.edit{background:#e53e3e;border:none;color:#fff;font-weight:600}.billing-action-btn.edit:hover{background:#c53030}.billing-action-btn.view:hover{background:#10b981;border-color:#10b981;color:#fff}.empty-state .btn-create-billing{margin-top:1.25rem}.billing-table{display:flex;flex-direction:column;gap:0}.billing-table-header{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#475569;font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.billing-table-header,.billing-table-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:150px 1fr 120px 120px 120px 80px;padding:1rem}.billing-table-row{align-items:center;border-bottom:1px solid #f1f5f9;transition:all .2s}.billing-table-row:hover{background:#f8fafc}.invoice-number{color:#1e293b;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.875rem;font-weight:600}.billing-description{color:#475569;font-size:.875rem}.billing-date{color:#64748b;font-size:.875rem}.billing-amount{color:#1e293b;font-size:.9375rem;font-weight:600}.billing-status-badge{align-items:center;border-radius:6px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;gap:.375rem;padding:.375rem .75rem;text-transform:capitalize;width:-webkit-fit-content;width:fit-content}.billing-action-btn,.billing-col-actions{display:flex;justify-content:center}.billing-action-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;padding:.5rem;transition:all .2s}.billing-action-btn:hover{background:#e53e3e;border-color:#e53e3e;color:#fff}.billing-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.billing-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;left:50%;max-width:500px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}.billing-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem}.billing-modal-header h2{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0}.billing-modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;transition:all .2s;width:32px}.billing-modal-close:hover{background:#f1f5f9;color:#475569}.billing-modal-body{padding:1.5rem}.billing-form-group{margin-bottom:1.5rem}.billing-form-group label{color:#475569;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.billing-input{border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;font-size:.875rem;padding:.625rem .75rem;transition:all .2s;width:100%}.billing-input:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a;outline:none}.billing-note{background:#f8fafc;border-left:3px solid #e53e3e;border-radius:6px;color:#64748b;font-size:.8125rem;margin-top:1rem;padding:.75rem}.billing-modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.billing-btn-secondary{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:.875rem;font-weight:500;padding:.625rem 1.25rem;transition:all .2s}.billing-btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.billing-btn-primary,.btn-add-credit{align-items:center;background:linear-gradient(135deg,#e53e3e,#f56565);border:none;border-radius:6px;box-shadow:0 2px 4px #e53e3e33;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s}.billing-btn-primary:hover,.btn-add-credit:hover{box-shadow:0 4px 12px #e53e3e4d;transform:translateY(-2px)}.billing-btn-primary:active,.btn-add-credit:active{transform:translateY(0)}@media (max-width:1024px){.billing-table-header,.billing-table-row{gap:.75rem;grid-template-columns:120px 1fr 100px 100px 100px 60px;padding:.75rem}}@media (max-width:768px){.billing-table-header{display:none}.billing-table-row{border:1px solid #e2e8f0;border-radius:8px;gap:.5rem;grid-template-columns:1fr;margin-bottom:.75rem;padding:1rem}.billing-table-row:hover{box-shadow:0 2px 8px #0000001a}}.modal-overlay{animation:fadeIn .2s ease-out}.modal-container{animation:slideUp .3s ease-out;box-shadow:0 20px 40px #0003;max-height:90vh;max-width:600px;width:90vw}.modal-header{background:var(--omnave-gray-50);border-bottom:1px solid var(--omnave-gray-200);padding:24px}.modal-header h2{color:var(--omnave-gray-900)}.modal-close{border-radius:6px;color:var(--omnave-gray-500);padding:8px;transition:all .2s ease}.modal-close:hover{background:var(--omnave-gray-200);color:var(--omnave-gray-700)}.modal-form{max-height:calc(90vh - 120px);overflow-y:auto;padding:24px}.required{color:var(--omnave-primary)}.form-group input,.form-group select,.form-group textarea{border:2px solid var(--omnave-gray-200)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--omnave-primary)}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc3545}.form-row{grid-gap:16px;gap:16px}.error-message{color:#dc3545}.modal-footer{background:var(--omnave-gray-50);border-top:1px solid var(--omnave-gray-200);padding:20px 24px}.btn-primary,.btn-secondary{font-size:14px;gap:8px;padding:10px 20px}.btn-primary{background:var(--omnave-primary)}.btn-primary:hover:not(:disabled){background:var(--omnave-primary-hover)}.btn-secondary{border:2px solid var(--omnave-gray-200);color:var(--omnave-gray-600)}.btn-secondary:hover{background:var(--omnave-gray-50);border-color:var(--omnave-gray-300)}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;height:16px;width:16px}@media (max-width:768px){.modal-container{margin:20px;width:95vw}.form-row{gap:12px;grid-template-columns:1fr}.modal-footer,.modal-form,.modal-header{padding:16px}}.auth-config-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:90%}.auth-config-modal .modal-header{align-items:center;background:linear-gradient(135deg,#8b5cf6,#a78bfa);border-bottom:1px solid #e2e8f0;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.auth-config-modal .header-content{align-items:center;display:flex;flex:1 1;gap:1rem}.auth-config-modal .header-icon{align-items:center;background:#fff3;border-radius:12px;color:#fff;display:flex;height:48px;justify-content:center;width:48px}.auth-config-modal .modal-header h2{color:#fff;font-size:1.5rem;font-weight:600;margin:0}.auth-config-modal .modal-header p{color:#ffffffe6;font-size:.875rem;margin:.25rem 0 0}.auth-config-modal .modal-close{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.auth-config-modal .modal-close:hover{background:#ffffff4d}.auth-config-form{gap:2rem;padding:2rem}.auth-config-form,.config-section{display:flex;flex-direction:column}.config-section{gap:1.5rem}.config-section h3{border-bottom:2px solid #e2e8f0;color:#1e293b;font-size:1.125rem;font-weight:600;margin:0;padding-bottom:.75rem}.form-row{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(2,1fr)}.form-group label{align-items:center;display:flex;gap:.25rem}.form-group input,.form-group select,.form-group textarea{font-size:.9375rem;padding:.75rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.checkbox-group{align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:.75rem;padding:1rem}.checkbox-group input[type=checkbox]{accent-color:#8b5cf6;cursor:pointer;height:20px;margin-top:2px;width:20px}.checkbox-group label{color:#1e293b;cursor:pointer;display:flex;flex-direction:column;font-weight:600;gap:.25rem}.checkbox-hint{color:#64748b;font-size:.75rem;font-weight:400}.info-box{border-radius:8px;color:#1e3a8a;font-size:.875rem;gap:1rem;padding:1rem 1.5rem}.info-box strong{font-weight:600}.empty-config-state{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.empty-config-state p{font-size:1rem;margin-top:1rem}.form-actions{gap:1rem}.btn-primary,.btn-secondary{border-radius:8px;font-size:.9375rem;padding:.75rem 1.5rem}.btn-primary{background:linear-gradient(135deg,#8b5cf6,#a78bfa)}.btn-primary:hover:not(:disabled){box-shadow:0 8px 16px #8b5cf64d}.btn-primary:disabled{opacity:.6}.btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-top-color:#fff}@media (max-width:768px){.auth-config-modal{max-width:95%;width:95%}.form-row{grid-template-columns:1fr}.auth-config-form{padding:1.5rem}}.confirm-dialog-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.confirm-dialog-container{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:480px;overflow:hidden;width:90%}.confirm-dialog-header{border-bottom:1px solid #e5e7eb;padding:1.5rem 1.5rem 1rem}.confirm-dialog-header.danger{border-bottom-color:#fecaca}.confirm-dialog-header.warning{border-bottom-color:#fed7aa}.confirm-dialog-header.info{border-bottom-color:#bfdbfe}.confirm-dialog-header h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.confirm-dialog-body{padding:1.5rem}.confirm-dialog-body p{color:#4b5563;font-size:.95rem;line-height:1.6;margin:0}.confirm-dialog-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem 1.5rem}.confirm-dialog-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;outline:none;padding:.625rem 1.25rem;transition:all .2s ease}.confirm-dialog-btn:focus{outline:2px solid #3b82f6;outline-offset:2px}.confirm-dialog-btn-cancel{background:#f3f4f6;color:#4b5563}.confirm-dialog-btn-cancel:hover{background:#e5e7eb}.confirm-dialog-btn-confirm{color:#fff}.confirm-dialog-btn-confirm.danger{background:#ef4444}.confirm-dialog-btn-confirm.danger:hover{background:#dc2626}.confirm-dialog-btn-confirm.warning{background:#f59e0b}.confirm-dialog-btn-confirm.warning:hover{background:#d97706}.confirm-dialog-btn-confirm.info{background:#3b82f6}.confirm-dialog-btn-confirm.info:hover{background:#2563eb}.toast{animation:slideInUp .3s ease-out;background:#fff;border-radius:10px;box-shadow:0 10px 40px #0003;gap:1rem;max-width:480px;min-width:320px;padding:1rem 1.25rem;z-index:10001}.toast,.toast-icon{align-items:center;display:flex}.toast-icon{flex-shrink:0;justify-content:center}.toast-success{border-left:4px solid #10b981}.toast-success .toast-icon{color:#10b981}.toast-error{border-left:4px solid #ef4444}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-left:4px solid #f59e0b}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-left:4px solid #3b82f6}.toast-info .toast-icon{color:#3b82f6}.toast-message{color:#1f2937;flex:1 1;font-size:.9rem;line-height:1.5}.toast-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:.25rem;transition:all .2s}.toast-close:hover{background:#f3f4f6;color:#1f2937}.toast-container{align-items:center;bottom:2rem;display:flex;flex-direction:column;gap:1rem;left:50%;pointer-events:none;position:fixed;transform:translateX(-50%);z-index:10001}.toast-container .toast{pointer-events:all}.configurations-container{background:#f8fafc;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;height:100vh;max-height:100vh;overflow:hidden;padding:1.5rem}.configurations-header-section{align-items:flex-start;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:1rem}.configurations-header-section h1{color:#1e293b;font-size:1.75rem;font-weight:700;margin:0 0 .5rem}.configurations-header-section p{color:#64748b;font-size:.875rem;margin:0}.btn-create-config{align-items:center;background:linear-gradient(135deg,#e53e3e,#f56565);border:none;border-radius:8px;box-shadow:0 2px 4px #e53e3e33;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s ease}.btn-create-config:hover{box-shadow:0 4px 12px #e53e3e4d;transform:translateY(-1px)}.stats-grid{grid-gap:.75rem;gap:.75rem}.stat-card{box-shadow:0 1px 3px #0000001a;padding:.75rem 1rem;transition:all .2s ease}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-icon{color:#fff}.stat-content{flex:1 1}.stat-value{margin-bottom:.0625rem}.configurations-content{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.tab-search-section{flex-shrink:0;margin-bottom:1rem}.search-box{width:100%}.search-box input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.625rem .875rem .625rem 2.5rem;transition:all .2s ease}.search-box input:focus{background:#fff;border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a;outline:none}.filters-group{display:flex;gap:.75rem}.filter-item{align-items:center;display:flex;gap:.5rem}.filter-item svg{color:#64748b}.filter-item select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;font-size:.875rem;padding:.5rem 2rem .5rem .75rem;transition:all .2s ease}.filter-item select:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a;outline:none}.configurations-list{flex:1 1;min-height:0;overflow:auto;padding:0}.test-result{align-items:flex-start;border-radius:6px;display:flex;font-size:.75rem;font-weight:500;margin-top:.75rem;padding:.625rem}.test-result.success{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.test-result.error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.empty-state{padding:4rem 2rem}.empty-state h3{font-size:1.25rem}.empty-state p{color:#64748b;font-size:.875rem;max-width:400px}.loading-container{gap:1rem}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0}.spinner-small{animation:spin .6s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#64748b;height:16px;width:16px}@media (max-width:768px){.configurations-container{padding:1rem}.configurations-header-section{align-items:stretch;flex-direction:column;gap:1rem}.btn-create-config{justify-content:center;width:100%}.stats-grid{grid-template-columns:1fr}.filters-section{align-items:stretch;flex-direction:column}.search-box{width:100%}.filters-group{flex-direction:column;width:100%}.filter-item select{width:100%}.configurations-grid{grid-template-columns:1fr}}.config-tabs{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.config-tab{align-items:stretch;background:#fff;border:2px solid #e2e8f0;border-radius:12px;display:flex;overflow:hidden;position:relative;transition:all .2s ease}.config-tab:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.config-tab.active{background:linear-gradient(135deg,#e53e3e0d,#f565650d);border-color:#e53e3e;box-shadow:0 4px 12px #e53e3e33}.tab-main-button{align-items:flex-start;background:none;flex:1 1;gap:1rem;padding:1.25rem;text-align:left}.tab-add-button,.tab-main-button{border:none;cursor:pointer;display:flex}.tab-add-button{align-items:center;background:#f8fafc;border-left:1px solid #e2e8f0;color:#64748b;justify-content:center;min-width:50px;padding:0 1rem;transition:all .2s ease}.tab-add-button:hover{background:linear-gradient(135deg,#e53e3e,#f56565);color:#fff}.config-tab.active .tab-add-button{background:#e53e3e1a;border-left-color:#e53e3e33}.config-tab.active .tab-add-button:hover{background:linear-gradient(135deg,#e53e3e,#f56565)}.tab-icon{align-items:center;background:#f1f5f9;border-radius:10px;color:#64748b;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all .2s ease;width:40px}.config-tab.active .tab-icon{background:linear-gradient(135deg,#e53e3e,#f56565);color:#fff}.tab-content{flex:1 1;min-width:0}.tab-label{color:#1e293b;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.tab-description{color:#64748b;font-size:.75rem;line-height:1.4}.config-tab.active .tab-label{color:#e53e3e}.config-tab-content{min-height:500px}@media (max-width:768px){.config-tabs{grid-template-columns:1fr}}.config-type-selector{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;width:90%}.config-type-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);padding:1.5rem}.config-type-card{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;text-align:left;transition:all .2s ease}.config-type-card:hover{background:linear-gradient(135deg,#e53e3e0d,#f565650d);border-color:#e53e3e;box-shadow:0 8px 24px #e53e3e33;transform:translateY(-4px)}.config-type-icon{align-items:center;border-radius:12px;color:#fff;display:flex;height:60px;justify-content:center;transition:all .2s ease;width:60px}.config-type-card:hover .config-type-icon{transform:scale(1.1)}.config-type-content{text-align:center}.config-type-content h3{color:#1e293b;font-size:1rem;font-weight:600;margin:0 0 .5rem}.config-type-content p{color:#64748b;font-size:.75rem;line-height:1.4;margin:0}@media (max-width:768px){.config-type-grid{grid-template-columns:1fr}}.config-tabs-navigation{border-bottom:2px solid #e2e8f0;display:flex;flex-shrink:0;gap:.5rem;margin-bottom:.75rem;overflow-x:auto}.config-tab-button{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;display:flex;font-size:.6875rem;font-weight:600;gap:.375rem;padding:.5rem .75rem;position:relative;transition:all .2s ease;white-space:nowrap}.config-tab-button:hover{background:#f8fafc;color:#1e293b}.config-tab-button.active{border-bottom-color:#e53e3e;color:#e53e3e}.config-tab-button .tab-icon{align-items:center;display:flex;transition:transform .2s ease}.config-tab-button.active .tab-icon{transform:scale(1.1)}.config-tab-button .tab-label{font-weight:600}.config-tab-button .tab-badge{background:#e2e8f0;border-radius:10px;color:#475569;font-size:.625rem;font-weight:700;min-width:18px;padding:.0625rem .375rem;text-align:center}.config-tab-button.active .tab-badge{background:#fee2e2;color:#dc2626}.tab-content-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex:1 1;min-height:0;overflow:auto;padding:1rem}.tab-content{animation:fadeIn .3s ease;display:flex;flex-direction:column;height:100%}@media (max-width:768px){.config-tabs-navigation{-webkit-overflow-scrolling:touch;overflow-x:scroll}.config-tab-button{font-size:.85rem;padding:.75rem 1rem}}.configurations-list-view{overflow-x:auto}.config-table{border-collapse:collapse;font-size:.875rem;width:100%}.config-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.config-table th{color:#475569;font-size:.6875rem;font-weight:600;letter-spacing:.5px;padding:.625rem .75rem;text-align:left;text-transform:uppercase;white-space:nowrap}.config-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background .2s ease}.config-table tbody tr:hover{background:#f8fafc}.config-table td{color:#0f172a;font-size:.8125rem;font-weight:500;padding:.75rem;vertical-align:middle}.table-name-cell strong{color:#0f172a;display:block;font-size:.8125rem;font-weight:600;margin-bottom:.1875rem}.table-description{color:#64748b;font-size:.6875rem;line-height:1.3;margin-top:.1875rem}.provider-badge-small{border-radius:4px;color:#fff;display:inline-block;font-size:.625rem;font-weight:700;margin-right:.375rem;padding:.1875rem .4375rem;text-transform:uppercase}.default-badge-small{background:#dbeafe;border-radius:3px;color:#1e40af;display:inline-block;font-size:.5625rem;font-weight:700;padding:.1875rem .375rem}.status-indicator-small{border-radius:4px;display:inline-block;font-size:.7rem;font-weight:600;padding:.25rem .5rem}.status-indicator-small.active{background:#d1fae5;color:#065f46}.status-indicator-small.inactive{background:#fee2e2;color:#991b1b}.table-detail-value{font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8rem}.table-created-by,.table-date,.table-detail-value{color:#0f172a;font-weight:500}.table-date{font-size:.8rem}.table-actions{display:flex;gap:.5rem;justify-content:flex-end}.icon-button-small{align-items:center;background:none;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:.375rem;transition:all .2s ease}.icon-button-small:hover{background:#f1f5f9;color:#1e293b}.icon-button-small.delete:hover{background:#fee2e2;color:#dc2626}@media (max-width:768px){.config-table{font-size:.75rem}.config-table td,.config-table th{padding:.5rem}}.dialog-overlay{align-items:center;animation:dialogFadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes dialogFadeIn{0%{opacity:0}to{opacity:1}}.dialog-container{animation:dialogSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:480px;overflow:auto;position:relative;width:90%}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.dialog-close{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:16px;top:16px;transition:all .2s}.dialog-close:hover{background:#e53e3e1a;color:#e53e3e}.dialog-content{padding:32px;text-align:center}.dialog-icon-wrapper{display:flex;justify-content:center;margin-bottom:16px}.dialog-icon{stroke-width:2}.dialog-icon-success{color:#10b981}.dialog-icon-error{color:#e53e3e}.dialog-icon-warning{color:#f59e0b}.dialog-icon-confirm,.dialog-icon-info{color:#e53e3e}.dialog-title{color:#2d3748;font-size:20px;font-weight:600;margin:0 0 12px}.dialog-message{color:#6b7280;font-size:15px;line-height:1.6;margin:0}.dialog-actions{display:flex;gap:12px;justify-content:center;padding:16px 32px 32px}.dialog-button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;min-width:100px;padding:10px 24px;transition:all .2s}.dialog-button-primary{background:linear-gradient(135deg,#e53e3e,#f56565);color:#fff}.dialog-button-primary:hover{box-shadow:0 4px 12px #e53e3e66;transform:translateY(-1px)}.dialog-button-secondary{background:#e53e3e1a;border:1px solid #e53e3e33;color:#e53e3e}.dialog-button-secondary:hover{background:#e53e3e26;border-color:#e53e3e4d}.dialog-button:active{transform:translateY(0)}@media (max-width:640px){.dialog-container{max-width:95%}.dialog-content{padding:24px}.dialog-actions{flex-direction:column;padding:12px 24px 24px}.dialog-button{width:100%}}.user-management{margin:0 auto;max-width:1200px;padding:20px}.um-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.um-title{color:#111827;font-size:28px;font-weight:600}.um-btn-invite{background:linear-gradient(135deg,#e53e3e,#f56565);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .3s}.um-btn-invite:hover{box-shadow:0 4px 12px #e53e3e4d;transform:translateY(-2px)}.um-tabs{border-bottom:2px solid #e5e7eb;display:flex;flex-shrink:0;gap:10px;margin-bottom:1rem}.um-tab{background:none;border:none;color:#6b7280;cursor:pointer;font-weight:500;padding:12px 24px;position:relative;transition:all .2s}.um-tab.active{color:#e53e3e}.um-tab.active:after{background:#e53e3e;bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}.um-loading{align-items:center;display:flex;flex-direction:column;padding:60px 20px}.loading-spinner{border:4px solid #e5e7eb}.um-users-list{grid-gap:20px;display:grid;gap:20px}.um-user-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;justify-content:space-between;padding:20px;transition:all .3s}.um-user-card:hover{box-shadow:0 4px 12px #00000014}.um-user-info{gap:15px}.um-user-avatar,.um-user-info{align-items:center;display:flex}.um-user-avatar{background:linear-gradient(135deg,#e53e3e,#f56565);border-radius:50%;color:#fff;font-size:18px;font-weight:600;height:50px;justify-content:center;width:50px}.um-user-details h3{color:#111827;font-size:18px;margin:0 0 4px}.um-user-details p{color:#6b7280;font-size:14px;margin:0 0 8px}.um-user-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.role-badge{border-radius:20px;font-size:12px;font-weight:500;padding:4px 12px;text-transform:capitalize}.badge-admin{background:#fee2e2;color:#991b1b}.badge-editor{background:#dbeafe;color:#1e40af}.badge-viewer{background:#f3f4f6;color:#374151}.badge-default{background:#f9fafb;color:#6b7280}.um-designation{color:#6b7280;font-size:13px}.um-joined{color:#9ca3af;font-size:13px}.um-user-actions{align-items:center;display:flex;gap:10px}.um-role-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;padding:8px 12px}.um-btn-delete{background:#fee2e2;border:none;border-radius:6px;color:#991b1b;cursor:pointer;font-size:16px;line-height:1;padding:8px;transition:all .2s}.um-btn-delete:hover{background:#fca5a5}.um-invitations-list{grid-gap:15px;display:grid;gap:15px}.um-invitation-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;justify-content:space-between;padding:20px;transition:all .3s}.um-invitation-card.expired{background:#f9fafb;opacity:.6}.um-invitation-info h3{color:#111827;font-size:16px;margin:0 0 10px}.um-invitation-meta{align-items:center;display:flex;gap:10px}.um-expiry{color:#6b7280;font-size:13px}.um-used{background:#d1fae5;border-radius:4px;color:#065f46;font-size:12px;font-weight:500;padding:4px 8px}.um-btn-revoke{background:#fff;border:1px solid #ef4444;border-radius:6px;color:#ef4444;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.um-btn-revoke:hover{background:#fee2e2}.um-empty{color:#6b7280;padding:60px 20px;text-align:center}.um-modal-overlay{background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.um-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;left:50%;max-width:90%;position:fixed;top:50%;transform:translate(-50%,-50%);width:500px;z-index:1001}.um-modal.wide{max-width:95%;width:800px}.um-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.um-modal-header h2{color:#111827;font-size:20px;margin:0}.um-modal-close{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:28px;height:30px;justify-content:center;line-height:1;padding:0;width:30px}.um-modal-close:hover{color:#111827}.um-modal-body{padding:24px}.um-form-group{margin-bottom:20px}.um-form-group label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.um-input,.um-select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.um-input:focus,.um-select:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a;outline:none}.um-note{background:#f3f4f6;border-radius:6px;color:#6b7280;font-size:13px;margin-top:20px;padding:12px}.um-modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.um-btn-primary,.um-btn-secondary{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.um-btn-primary{background:linear-gradient(135deg,#e53e3e,#f56565);color:#fff}.um-btn-primary:hover{box-shadow:0 4px 12px #e53e3e4d;transform:translateY(-1px)}.um-btn-secondary{background:#fff;border:1px solid #e5e7eb;color:#6b7280}.um-btn-secondary:hover{background:#f9fafb}.um-no-access{background:#fef2f2;border:1px solid #fca5a5;border-radius:12px;margin:60px auto;max-width:500px;padding:40px;text-align:center}.um-no-access h3{color:#991b1b;margin-bottom:10px}.um-no-access p{color:#dc2626}.um-detail-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.um-detail-field{display:flex;flex-direction:column;gap:6px}.um-detail-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.um-detail-value{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#111827;font-size:14px;padding:10px 12px}.um-detail-value.editable{background:#fff}.um-detail-section{margin-bottom:24px}.um-detail-section-title{border-bottom:2px solid #e5e7eb;color:#111827;font-size:14px;font-weight:600;margin-bottom:12px;padding-bottom:8px}.um-btn-view{background:#fff;border:1px solid #e53e3e;border-radius:6px;color:#e53e3e;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.um-btn-view:hover{background:#fee2e2}.um-btn-save{background:linear-gradient(135deg,#10b981,#34d399);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.um-btn-save:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.um-stats-grid{grid-gap:.75rem;display:grid;flex-shrink:0;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1rem}.um-stat-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:.5rem;padding:.625rem .875rem;transition:box-shadow .2s}.um-stat-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.um-stat-icon{align-items:center;background:linear-gradient(135deg,#fef1f1,#fca5a5);border-radius:6px;color:#e53e3e;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.um-stat-icon svg{height:16px;width:16px}.um-stat-content{display:flex;flex-direction:column;gap:.0625rem}.um-stat-value{color:#1e293b;font-size:1.125rem;font-weight:700;line-height:1}.um-stat-label{color:#64748b;font-size:.6875rem;font-weight:500}.um-stat-subvalue{color:#94a3b8;font-size:.5625rem}.um-container{background:#f8fafc;display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow:hidden;padding:1.5rem;position:relative}.um-container .um-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:1rem}.um-container .um-header h1{color:#1e293b;font-size:1.75rem;font-weight:700;margin:0 0 .25rem}.um-container .um-header p{color:#64748b;font-size:.875rem;margin:0}.um-unauthorized{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin:4rem auto;max-width:600px;padding:3rem;text-align:center}.um-unauthorized h2{color:#1e293b;margin-bottom:1rem}.um-unauthorized p{color:#64748b}.um-content{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:1 1;min-height:0;overflow:auto;padding:0}.um-search-section{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex-shrink:0;gap:.5rem;margin:.625rem 1rem;padding:.375rem .5rem}.um-search-box{align-items:center;display:flex;flex:1 1;max-width:400px;position:relative}.um-search-box svg{color:#94a3b8;height:14px;left:.5rem;pointer-events:none;position:absolute;width:14px}.um-search-box input{background:#fff;border:1px solid #cbd5e1;border-radius:5px;font-size:.75rem;height:32px;padding:.375rem .5rem .375rem 2rem;transition:all .2s ease;width:100%}.um-search-box input:focus{border-color:#e53e3e;box-shadow:0 0 0 2px #e53e3e1a;outline:none}.um-filter-select{background:#fff;border:1px solid #cbd5e1;border-radius:5px;cursor:pointer;font-size:.75rem;height:32px;min-width:110px;padding:.375rem .5rem;transition:all .2s ease}.um-filter-select:focus{border-color:#e53e3e;box-shadow:0 0 0 2px #e53e3e1a;outline:none}.um-users-table-wrapper{overflow:auto;padding:1rem;width:100%}.um-users-table{border-collapse:collapse;font-size:13px;table-layout:fixed;width:100%}.um-users-table thead{background:#f8fafc;position:-webkit-sticky;position:sticky;top:0;z-index:1}.um-users-table th{border-bottom:2px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.um-users-table th:first-child{width:18%}.um-users-table th:nth-child(2){width:22%}.um-users-table th:nth-child(3){width:10%}.um-users-table th:nth-child(4){width:15%}.um-users-table th:nth-child(5){width:10%}.um-users-table th:nth-child(6){width:15%}.um-users-table th:nth-child(7){width:10%}.um-users-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .15s}.um-users-table tbody tr:hover{background:#f8fafc}.um-users-table td{color:#0f172a;font-weight:500;overflow:hidden;padding:10px 12px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.um-user-cell{align-items:center;display:flex;gap:10px}.um-user-avatar-small{align-items:center;background:linear-gradient(135deg,#e53e3e,#f56565);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:28px;justify-content:center;width:28px}.um-user-name{color:#0f172a;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.um-designation-cell,.um-email-cell{color:#0f172a!important;font-size:12px;font-weight:500}.um-date-cell{color:#0f172a!important;font-size:11px;font-weight:500}.um-status-badge{border-radius:10px;display:inline-block;font-size:10px;font-weight:600;padding:3px 8px;white-space:nowrap}.um-status-badge.active{background:#dcfce7;color:#14532d}.um-status-badge.inactive{background:#fee2e2;color:#7f1d1d}.um-actions-cell{align-items:center;display:flex;gap:6px}.um-btn-view-small{background:#fff;border:1px solid #e53e3e;border-radius:4px;color:#e53e3e;cursor:pointer;font-size:11px;font-weight:500;padding:3px 8px;transition:all .2s;white-space:nowrap}.um-btn-view-small:hover{background:#fee2e2}.um-btn-delete-small{align-items:center;background:#fee2e2;border:none;border-radius:4px;color:#991b1b;cursor:pointer;display:flex;justify-content:center;padding:5px;transition:all .2s}.um-btn-delete-small:hover{background:#fca5a5}.um-empty-cell{color:#94a3b8;padding:40px!important;text-align:center}.um-invitations-table-wrapper{overflow:auto;padding:1rem;width:100%}.um-invitations-table{border-collapse:collapse;font-size:13px;table-layout:fixed;width:100%}.um-invitations-table thead{background:#f8fafc;position:-webkit-sticky;position:sticky;top:0;z-index:1}.um-invitations-table th{border-bottom:2px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.um-invitations-table th:first-child{width:25%}.um-invitations-table th:nth-child(2){width:10%}.um-invitations-table th:nth-child(3){width:15%}.um-invitations-table th:nth-child(4){width:10%}.um-invitations-table th:nth-child(5),.um-invitations-table th:nth-child(6){width:17%}.um-invitations-table th:nth-child(7){width:6%}.um-invitations-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .15s}.um-invitations-table tbody tr:hover{background:#f8fafc}.um-invitations-table tbody tr.expired-row{background:#f9fafb}.um-invitations-table td{color:#0f172a!important;font-weight:500;overflow:hidden;padding:10px 12px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.um-invitation-status{border-radius:10px;display:inline-block;font-size:10px;font-weight:600;padding:3px 8px;white-space:nowrap}.um-invitation-status.pending{background:#fef3c7;color:#92400e}.um-invitation-status.used{background:#dcfce7;color:#14532d}.um-invitation-status.expired{background:#fee2e2;color:#7f1d1d}.um-btn-revoke-small{background:#fff;border:1px solid #ef4444;border-radius:4px;color:#ef4444;cursor:pointer;font-size:11px;font-weight:500;padding:3px 8px;transition:all .2s;white-space:nowrap}.um-btn-revoke-small:hover{background:#fee2e2}.um-btn-resend-small{align-items:center;background:#fff;border:1px solid #10b981;border-radius:4px;color:#10b981;cursor:pointer;display:flex;justify-content:center;padding:5px;transition:all .2s}.um-btn-resend-small:hover{background:#d1fae5}.services-container{background:#f8fafc;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;height:100vh;max-height:100vh;overflow:hidden}.services-header-section{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:1.5rem;padding:2rem 2rem 0}.services-header-section h1{color:#1e293b;font-size:1.75rem;font-weight:700;margin:0 0 .25rem}.services-header-section p{color:#64748b;font-size:.875rem;margin:0}.btn-create-service{align-items:center;background:linear-gradient(135deg,#e53e3e,#f56565);border:none;border-radius:8px;box-shadow:0 2px 4px #e53e3e33;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s ease}.btn-create-service:hover{box-shadow:0 4px 12px #e53e3e4d;transform:translateY(-2px)}.btn-create-service:active{transform:translateY(0)}.stat-content{gap:0}.stat-label,.stat-subvalue,.stat-value{line-height:1.1}.services-list-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;display:flex;flex:1 1;flex-direction:column;margin:0 2rem 2rem;overflow:hidden}.services-panel-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:.625rem .75rem}.search-box{overflow:hidden}.services-container-list{background:#fff;flex:1 1;overflow-y:auto;padding:0}.services-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.service-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;overflow:hidden;transition:all .2s ease;-webkit-user-select:none;user-select:none}.service-card:hover{border-color:#cbd5e1;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-2px)}.service-card:active{transform:translateY(0);transition:all .1s ease}.service-card-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;overflow:hidden;padding:.75rem 1rem}.service-badges{align-items:center;display:flex;gap:.5rem}.service-status-badge{color:#fff;text-transform:capitalize}.service-status-badge,.service-type-badge{border-radius:6px;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.service-type-badge{background:#e0e7ff;color:#4f46e5;text-transform:uppercase}.service-delete-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#718096;cursor:pointer;display:flex;justify-content:center;padding:6px 8px;transition:all .2s}.service-delete-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626;transform:scale(1.05)}.service-delete-btn:active{transform:scale(.95)}.service-card-body{padding:1rem}.service-card-body h3{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:.5rem}.service-name-identifier{margin-bottom:.75rem}.service-name-identifier code{color:#64748b;font-size:.75rem;font-weight:500}.service-endpoint,.service-name-identifier code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;display:inline-block;font-family:SF Mono,Monaco,Courier New,monospace;padding:.25rem .5rem}.service-endpoint{color:#475569;font-size:.8125rem;margin-bottom:.5rem}.service-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;font-size:.875rem;line-height:1.5;margin-bottom:.75rem;overflow:hidden}.service-meta{color:#94a3b8;display:flex;flex-wrap:wrap;font-size:.75rem;gap:.75rem}.service-meta span{align-items:center;display:flex}.service-card-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:.5rem;justify-content:center;padding:.75rem 1rem}.service-action-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;display:flex;flex:1 1;font-size:.8125rem;font-weight:500;gap:.375rem;justify-content:center;padding:.5rem .75rem;transition:all .2s}.service-action-btn:hover{background:#f8f9fa;border-color:#cbd5e1}.service-action-btn.edit{background:#e53e3e;border:none;color:#fff;font-weight:600}.service-action-btn.edit:hover{background:#c53030}.service-action-btn.view:hover{background:#10b981;border-color:#10b981;color:#fff}.empty-state .btn-create-service{margin-top:1.25rem}.view-toggle{gap:.5rem;padding:.25rem}.view-toggle-btn{border-radius:4px}.view-toggle-btn:hover{background:#f1f5f9;color:#1e293b}.services-table-wrapper{overflow:auto;width:100%}.services-table{border-collapse:collapse;font-size:.875rem;width:100%}.services-table thead{background:#f8fafc;position:-webkit-sticky;position:sticky;top:0;z-index:1}.services-table th{border-bottom:2px solid #e2e8f0;color:#64748b;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:.5rem .75rem;text-align:left;text-transform:uppercase;white-space:nowrap}.services-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .15s}.services-table tbody tr:hover{background:#f8fafc}.services-table td{color:#1e293b;padding:.5rem .75rem;vertical-align:middle}.service-info-cell{display:flex;flex-direction:column;gap:.25rem;max-width:400px}.service-name-main{color:#1e293b;font-size:.875rem;font-weight:600}.service-name-sub{align-items:center;display:flex;gap:.5rem}.service-name-sub code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:3px;color:#64748b;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.75rem;padding:.125rem .375rem}.service-desc-sub{color:#94a3b8;font-size:.75rem}.service-desc-sub,.service-description-cell{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;line-height:1.4;overflow:hidden}.service-description-cell{word-wrap:break-word;color:#64748b;font-size:.875rem;max-width:300px}.service-actions-cell{align-items:center;display:flex;gap:.5rem}.service-action-btn-small{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s}.service-action-btn-small:hover{background:#f8fafc;border-color:#cbd5e1}.service-action-btn-small.view:hover{background:#d1fae5;border-color:#10b981;color:#10b981}.service-action-btn-small.edit:hover{background:#fee2e2;border-color:#e53e3e;color:#e53e3e}.service-action-btn-small.delete:hover{background:#fee2e2;border-color:#dc2626;color:#dc2626}.read-databases-modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.read-databases-modal-container{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:800px;width:90%}.read-databases-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.header-title-group{align-items:center;display:flex;gap:.75rem}.read-databases-modal-header h2{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.info-icon-wrapper{position:relative}.info-icon-btn{align-items:center;background:#f3f4f6;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.info-icon-btn:hover{background:#e5e7eb;color:#e53e3e}.info-tooltip{background:#1f2937;border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#fff;font-size:.85rem;margin-top:.5rem;padding:.75rem 1rem;top:100%;white-space:nowrap;z-index:1000}.info-tooltip,.info-tooltip:before{left:50%;position:absolute;transform:translateX(-50%)}.info-tooltip:before{border-bottom:6px solid #1f2937;border-left:6px solid #0000;border-right:6px solid #0000;content:"";height:0;top:-6px;width:0}.modal-close-btn{background:none;border:none;border-radius:6px;color:#6b7280;padding:.5rem;transition:all .2s}.modal-close-btn:hover{background:#f3f4f6;color:#1f2937}.read-databases-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.error-message{background:#fef2f2;border:1px solid #fecaca;font-size:.9rem;margin-bottom:1rem;padding:.75rem 1rem}.loading-state{color:#6b7280;padding:3rem 1rem}.loading-state .spin{animation:spin 1s linear infinite;margin-bottom:1rem}.empty-state{padding:3rem 1rem}.empty-state svg{color:#d1d5db}.empty-state h3{color:#1f2937;font-size:1.1rem;margin:0 0 .5rem}.empty-state p{color:#6b7280;font-size:.9rem;margin:0}.configurations-list{display:flex;flex-direction:column;gap:.75rem}.config-card{align-items:flex-start;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .2s}.config-card.selected,.config-card:hover{background:#fef2f2;border-color:#e53e3e}.config-radio{padding-top:.25rem}.config-radio input[type=radio]{accent-color:#e53e3e;cursor:pointer;height:20px;width:20px}.config-card-content{flex:1 1}.config-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.config-card-header h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0}.provider-badge{background:linear-gradient(135deg,#e53e3e,#f56565);border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.config-description{color:#6b7280;font-size:.85rem;margin:.5rem 0}.config-meta{color:#6b7280;display:flex;font-size:.8rem;gap:1rem;margin-top:.5rem}.step-header{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.back-btn{background:linear-gradient(135deg,#e53e3e,#f56565);border:none;border-radius:8px;box-shadow:0 2px 4px #e53e3e33;color:#fff;flex-shrink:0;height:40px;transition:all .2s;width:40px}.back-btn:hover{box-shadow:0 4px 12px #e53e3e4d;transform:translateY(-1px)}.config-name{color:#6b7280;font-size:.9rem;margin:0}.databases-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.database-item{background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .2s}.database-item.selected,.database-item:hover{background:#fef2f2;border-color:#e53e3e}.database-checkbox{align-items:center;border:2px solid #d1d5db;border-radius:6px;display:flex;flex-shrink:0;height:24px;justify-content:center;transition:all .2s;width:24px}.database-item.selected .database-checkbox{background:#e53e3e;border-color:#e53e3e;color:#fff}.database-info{flex:1 1}.database-info h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 .5rem}.database-details{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.database-location,.database-server,.database-type{color:#6b7280;font-size:.8rem}.database-type{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.3px;padding:.25rem .75rem;white-space:nowrap}.database-type.type-sql{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 2px 4px #3b82f633;color:#fff}.database-type.type-postgresql{background:linear-gradient(135deg,#0891b2,#06b6d4);box-shadow:0 2px 4px #0891b233;color:#fff}.database-type.type-mysql{background:linear-gradient(135deg,#ea580c,#f97316);box-shadow:0 2px 4px #ea580c33;color:#fff}.database-type.type-cosmosdb{background:linear-gradient(135deg,#7c3aed,#a78bfa);box-shadow:0 2px 4px #7c3aed33;color:#fff}.database-type.type-other{background:linear-gradient(135deg,#6b7280,#9ca3af);box-shadow:0 2px 4px #6b728033;color:#fff}.database-status{font-size:.85rem;font-weight:600}.selection-summary{background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;color:#991b1b;font-size:.9rem;font-weight:500;padding:.75rem 1rem;text-align:center}.read-databases-modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem}.btn-secondary{background:#f3f4f6;border:none;border-radius:8px;color:#1f2937;font-size:.9rem;font-weight:500;transition:all .2s}.btn-secondary:hover{background:#e5e7eb}.btn-primary{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #e53e3e4d}.btn-primary:disabled{transform:none}.btn-primary .spin{animation:spin 1s linear infinite}.credentials-list{display:flex;flex-direction:column;gap:1rem}.credential-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;padding:1.25rem;transition:all .2s}.credential-card:hover{background:#fef2f2;border-color:#e53e3e}.credential-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.credential-card-header h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0}.credential-card-meta{color:#6b7280;display:flex;font-size:.85rem;gap:1rem;margin-bottom:1rem}.credential-form{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group{gap:.5rem}.form-group label{font-size:.85rem}.form-group input{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#1f2937;font-size:.9rem;padding:.625rem .875rem;transition:all .2s}.form-group input:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a;outline:none}.form-group input::placeholder{color:#9ca3af}.edit-database-modal{animation:slideInUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.edit-database-modal .modal-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.edit-database-modal .modal-title-section{align-items:center;color:#e53e3e;display:flex;gap:.75rem}.edit-database-modal .modal-title-section h2{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.edit-database-modal .close-button{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s}.edit-database-modal .close-button:hover{background:#f3f4f6;color:#1f2937}.edit-database-modal .modal-body{padding:1.5rem}.edit-database-modal .info-banner{align-items:center;background:linear-gradient(135deg,#fef2f2,#fee2e2);border-left:4px solid #e53e3e;border-radius:8px;color:#991b1b;display:flex;font-size:.9rem;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.edit-database-modal .form-section{margin-bottom:2rem}.edit-database-modal .form-section h3{align-items:center;color:#374151;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0 0 1rem}.edit-database-modal .form-group{margin-bottom:1.25rem}.edit-database-modal .form-row{display:flex;gap:1rem}.edit-database-modal .flex-grow{flex:1 1}.edit-database-modal .form-group label{align-items:center;color:#374151;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:.5rem}.edit-database-modal .form-group label svg{color:#9ca3af}.edit-database-modal .required{color:#e53e3e;font-weight:600}.edit-database-modal .form-group input,.edit-database-modal .form-group select,.edit-database-modal .form-group textarea{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:.9rem;padding:.75rem;transition:all .2s;width:100%}.edit-database-modal .form-group input:focus,.edit-database-modal .form-group select:focus,.edit-database-modal .form-group textarea:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a;outline:none}.edit-database-modal .form-group input.error,.edit-database-modal .form-group select.error,.edit-database-modal .form-group textarea.error{border-color:#ef4444}.edit-database-modal .error-message{color:#ef4444;display:block;font-size:.8rem;margin-top:.375rem}.edit-database-modal .help-text{color:#6b7280;display:block;font-size:.8rem;font-style:italic;margin-top:.375rem}.edit-database-modal .modal-footer{background:#fff;border-top:1px solid #e5e7eb;bottom:0;display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem;position:-webkit-sticky;position:sticky}.edit-database-modal .btn-secondary{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.edit-database-modal .btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.edit-database-modal .btn-secondary:disabled{cursor:not-allowed;opacity:.5}.edit-database-modal .btn-primary{background:linear-gradient(135deg,#e53e3e,#f56565);border:none;border-radius:8px;box-shadow:0 2px 4px #e53e3e33;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.edit-database-modal .btn-primary:hover:not(:disabled){box-shadow:0 4px 8px #e53e3e4d;transform:translateY(-1px)}.edit-database-modal .btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.edit-database-modal::-webkit-scrollbar{width:8px}.edit-database-modal::-webkit-scrollbar-track{background:#f1f1f1;border-radius:0 12px 12px 0}.edit-database-modal::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.edit-database-modal::-webkit-scrollbar-thumb:hover{background:#9ca3af}.databases-container{background:#f8fafc;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;height:100vh;max-height:100vh;overflow:hidden}.databases-header-section{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:1rem;padding:1.5rem 2rem 0}.databases-header-section h1{color:#1e293b;font-size:1.75rem;font-weight:700;margin:0 0 .25rem}.databases-header-section p{color:#64748b;font-size:.875rem;margin:0}.btn-create-database{align-items:center;background:linear-gradient(135deg,#e53e3e,#f56565);border:none;border-radius:8px;box-shadow:0 2px 4px #e53e3e33;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s ease}.btn-create-database:hover{box-shadow:0 4px 12px #e53e3e4d;transform:translateY(-2px)}.btn-create-database:active{transform:translateY(0)}.stats-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1rem}.stat-card{border-radius:6px;gap:.625rem;padding:.625rem .875rem}.stat-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.stat-icon{border-radius:6px;height:36px;width:36px}.stat-icon svg{height:18px;width:18px}.stat-content{flex-direction:column;gap:.0625rem}.stat-value{font-size:1.25rem}.stat-label{font-size:.75rem}.stat-subvalue{font-size:.625rem}.databases-list-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;display:flex;flex:1 1;flex-direction:column;margin:0 .8rem .8rem;overflow:hidden}.databases-panel-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.25rem}.filters-left select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:.875rem;outline:none;padding:.5rem .75rem;transition:all .2s ease}.filters-left select:hover{border-color:#cbd5e1}.filters-left select:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.databases-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.database-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;overflow:hidden;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none}.database-card:hover{border-color:#cbd5e1;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-2px)}.database-card:active{transform:translateY(0);transition:all .1s ease}.database-card-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:.75rem 1rem;position:relative}.database-badges{align-items:center;display:flex;gap:.5rem}.database-status-badge{color:#fff;text-transform:capitalize}.database-status-badge,.database-type-badge{border-radius:6px;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.database-type-badge{background:#e0e7ff;color:#4f46e5;text-transform:uppercase}.database-delete-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#718096;cursor:pointer;display:flex;justify-content:center;padding:6px 8px;transition:all .2s}.database-delete-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626;transform:scale(1.05)}.database-delete-btn:active{transform:scale(.95)}.database-card-body{padding:1rem}.database-card-body h3{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:.5rem}.database-endpoint{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;color:#475569;display:inline-block;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8125rem;margin-bottom:.5rem;padding:.25rem .5rem}.database-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;font-size:.875rem;line-height:1.5;margin-bottom:.75rem;overflow:hidden}.database-meta{color:#94a3b8;display:flex;flex-wrap:wrap;font-size:.75rem;gap:.75rem}.database-meta span{align-items:center;display:flex}.database-card-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:.5rem;justify-content:center;padding:.75rem 1rem}.database-action-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;display:flex;flex:1 1;font-size:.8125rem;font-weight:500;gap:.375rem;justify-content:center;padding:.5rem .75rem;transition:all .2s}.database-action-btn:hover{background:#f8f9fa;border-color:#cbd5e1}.database-action-btn.edit{background:#e53e3e;border:none;color:#fff;font-weight:600}.database-action-btn.edit:hover{background:#c53030}.database-action-btn.view:hover{background:#10b981;border-color:#10b981;color:#fff}.empty-state .btn-create-database{margin-top:1.25rem}.database-card.expanded{grid-column:1/-1}.database-tables-section{background:#f8fafc;border-radius:8px;border-top:2px solid #e2e8f0;margin-top:1rem;padding:1rem}.tables-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;padding:2rem}.tables-loading .loader{height:30px;margin-bottom:.5rem;width:30px}.tables-header{align-items:center;color:#1e293b;display:flex;gap:.5rem;margin-bottom:1rem}.tables-header h4{font-size:1rem;font-weight:600;margin:0}.tables-list{display:flex;flex-direction:column;gap:.75rem}.table-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.table-item-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.table-name{color:#1e293b;font-size:.95rem;font-weight:600}.table-row-count{background:#f1f5f9;border-radius:4px;color:#64748b;font-size:.8rem;padding:.25rem .5rem}.table-columns{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.column-item{align-items:center;background:#f8fafc;border-radius:6px;display:flex;flex-wrap:wrap;font-size:.85rem;gap:.5rem;padding:.5rem}.column-name{color:#334155;flex-shrink:0;font-weight:500}.column-type{color:#64748b;flex-shrink:0;font-size:.8rem}.column-badge{border-radius:4px;flex-shrink:0;font-size:.7rem;font-weight:600;padding:.15rem .4rem}.column-badge.pk{background:#dbeafe;color:#1e40af}.column-badge.fk{background:#fef3c7;color:#92400e}.column-badge.nn{background:#fce7f3;color:#831843}.tables-empty{color:#64748b;padding:2rem;text-align:center}.tables-empty p{margin:0}.databases-content-wrapper{display:flex;flex:1 1;gap:1.5rem;min-height:0;overflow:hidden;padding:0 2rem 1.5rem}.databases-list-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a;display:flex;flex:1 1;flex-direction:column;overflow:hidden;transition:all .3s ease;width:100%}.databases-list-section.with-split{flex:0 0 45%}.databases-list-section>.empty-state,.databases-table-wrapper{flex:1 1;min-height:0;overflow:auto}.databases-table-wrapper{width:100%}.databases-list-section>.empty-state::-webkit-scrollbar,.databases-table-wrapper::-webkit-scrollbar{height:12px;width:12px}.databases-list-section>.empty-state::-webkit-scrollbar-track,.databases-table-wrapper::-webkit-scrollbar-track{background:#f1f5f9;border-radius:6px}.databases-list-section>.empty-state::-webkit-scrollbar-thumb,.databases-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border:3px solid #f1f5f9;border-radius:6px}.databases-list-section>.empty-state::-webkit-scrollbar-thumb:hover,.databases-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.databases-list-section>.empty-state::-webkit-scrollbar-corner,.databases-table-wrapper::-webkit-scrollbar-corner{background:#f1f5f9}.databases-table{border-collapse:collapse;border-spacing:0;font-size:.875rem;margin:0;padding:0;width:100%}.databases-table thead{background:#f8fafc;position:-webkit-sticky;position:sticky;top:0;z-index:1}.databases-table th{border-bottom:2px solid #e2e8f0;color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.databases-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background .15s ease}.databases-table tbody tr:hover{background:#f8fafc}.databases-table tbody tr.selected{background:#fef2f2;border-left:3px solid #e53e3e}.databases-table td{color:#475569;padding:.875rem 1rem;vertical-align:middle}.status-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.database-name-cell{color:#1e293b;font-weight:600}.database-name-cell svg{margin-right:.5rem;vertical-align:middle}.type-badge{background:#e0e7ff;border-radius:4px;color:#4f46e5;display:inline-block;font-size:.7rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase;white-space:nowrap}.connection-cell{color:#64748b;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.75rem}.actions-cell{text-align:right}.actions-cell>button{display:inline-flex;margin-left:.5rem}.actions-cell>button:first-child{margin-left:0}.action-btn{background:#fff;border:1px solid #e2e8f0;color:#64748b;justify-content:center;padding:.5rem}.action-btn:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-2px)}.action-btn.view-btn:hover{background:#10b981;border-color:#10b981;color:#fff}.action-btn.edit-btn:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.action-btn.delete-btn:hover{background:#ef4444;border-color:#ef4444;color:#fff}.action-btn.test-btn{color:#f59e0b}.action-btn.test-btn:hover{background:#f59e0b;border-color:#f59e0b;color:#fff}.action-btn.test-btn.testing{background:#fef3c7;cursor:not-allowed}.action-btn.test-btn .spin{animation:spin 1s linear infinite}.tables-split-view{animation:slideInRight .3s ease;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a;display:flex;flex:0 0 53%;flex-direction:column;overflow:hidden}.split-view-header{align-items:center;background:#f8fafc;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;padding:1rem 1.25rem}.split-view-header h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0}.close-split-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.close-split-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.split-view-content{display:flex;flex:1 1;overflow:hidden}.tables-tree-view{background:#f8fafc;border-right:1px solid #e2e8f0;display:flex;flex:0 0 300px;flex-direction:column}.tree-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;gap:.5rem;padding:1rem}.tree-header h4{color:#1e293b;font-size:.875rem;font-weight:600;margin:0}.tree-list{flex:1 1;overflow-y:auto;padding:.5rem}.tree-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem}.tree-loading .loader{height:30px;margin-bottom:.75rem;width:30px}.schema-group{margin-bottom:.5rem}.schema-node{align-items:center;background:#fff;border:1px solid #fca5a5;border-radius:6px;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.625rem .75rem;transition:all .15s ease}.schema-node:hover{background:linear-gradient(135deg,#fef1f1,#fee2e2);border-color:#e53e3e}.schema-icon{color:#e53e3e;flex-shrink:0;transition:transform .2s ease}.schema-node-content{display:flex;flex:1 1;flex-direction:column;gap:.125rem;min-width:0}.schema-name{color:#dc2626;font-size:.875rem;font-weight:600}.schema-table-count{color:#ef4444;font-size:.75rem;font-weight:400}.schema-tables{margin-top:.25rem;padding-left:.5rem}.tree-item{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;margin-bottom:.125rem;padding:.5rem .75rem;transition:all .15s ease}.tree-item:hover{background:#fee2e2;border-color:#fca5a5}.tree-item.selected{background:linear-gradient(135deg,#fef1f1,#fca5a5);border-color:#e53e3e;color:#e53e3e}.table-node-indent{flex-shrink:0;width:20px}.tree-icon{color:#94a3b8;flex-shrink:0}.tree-item.selected .tree-icon{color:#e53e3e}.tree-item-content{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.tree-table-name{color:#334155;font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-item.selected .tree-table-name{color:#e53e3e;font-weight:600}.tree-row-count{color:#64748b;font-size:.6875rem}.tree-empty{color:#94a3b8;font-size:.875rem;padding:2rem 1rem;text-align:center}.table-details-view{background:#fff;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.details-header{background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:1rem 1.25rem}.details-header h4{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.details-header p{color:#64748b;font-size:.875rem;margin:0}.details-content{flex:1 1;overflow-y:auto;padding:1.25rem}.columns-table{background:#fff;border:1px solid #e2e8f0;border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.columns-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.columns-table th{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.columns-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background .15s ease}.columns-table tbody tr:hover{background:#f8fafc}.columns-table tbody tr:last-child{border-bottom:none}.columns-table td{color:#475569;font-size:.875rem;padding:.875rem 1rem;vertical-align:middle}.column-name-cell strong{color:#1e293b;font-weight:600}.column-type-cell{color:#3b82f6;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8125rem}.column-nullable-cell{text-align:center}.nullable-yes{color:#10b981;font-weight:500}.nullable-no{color:#ef4444;font-weight:500}.column-constraints-cell{min-width:150px}.constraints-badges{display:flex;flex-wrap:wrap;gap:.375rem}.constraint-badge{border-radius:4px;font-size:.75rem;font-weight:600;padding:.25rem .5rem;white-space:nowrap}.constraint-badge.pk{background:#dbeafe;color:#1e40af}.constraint-badge.fk{background:#fef3c7;color:#92400e}.no-data{font-style:italic;padding:2rem 1rem}.no-data,.no-table-selected{color:#94a3b8;text-align:center}.no-table-selected{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:3rem 2rem}.no-table-selected svg{color:#cbd5e1;margin-bottom:1rem}.no-table-selected h4{color:#64748b;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.no-table-selected p{font-size:.875rem;margin:0}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow:hidden;overscroll-behavior:contain;position:fixed;right:0;top:0;z-index:1000}.modal-container{animation:slideUp .3s ease;background:#fff;border-radius:12px;display:flex;flex-direction:column;max-height:85vh;max-width:700px;overflow:hidden;position:relative;width:90%}.modal-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e0e0e0;color:#fff;flex-shrink:0;padding:20px 25px}.modal-header h2{font-weight:600}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:background .2s}.modal-close:hover{background:#fff3}.modal-body{-webkit-overflow-scrolling:touch;flex:1 1;max-height:calc(85vh - 140px);overflow-x:hidden;overflow-y:auto;padding:25px}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#555}.form-section{margin-bottom:30px}.form-section:last-child{margin-bottom:0}.form-section h3{align-items:center;color:#2c3e50;display:flex;font-size:16px;gap:8px;margin:0 0 20px}.form-section h3:before{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px;content:"";height:20px;width:4px}.form-row{grid-gap:20px;margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{color:#495057;font-size:14px;font-weight:500}.form-group .required{color:#e74c3c;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input.error,.form-group textarea.error{border-color:#e74c3c}.form-group textarea{font-family:inherit}.error-message{color:#e74c3c;margin-top:5px}.field-hint{align-items:center;color:#7f8c8d;display:flex;font-size:12px;gap:6px;line-height:1.4;margin-top:8px}.service-options{display:flex;gap:20px;margin-bottom:20px}.radio-option{align-items:center;color:#495057;display:flex;font-size:14px;gap:8px}.radio-option,.radio-option input[type=radio],.radio-option span{cursor:pointer}.modal-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:20px 25px}.btn-cancel,.btn-create{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 20px;transition:all .2s}.btn-cancel{background:#e0e0e0;color:#495057}.btn-cancel:hover{background:#d0d0d0}.btn-create{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-create:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}@media (max-width:600px){.modal-container{border-radius:0;height:100vh;max-height:100vh;max-width:100%;width:100%}.modal-body{max-height:calc(100vh - 140px)}.form-row{grid-template-columns:1fr}.service-options{gap:12px}.modal-footer,.service-options{flex-direction:column}.btn-cancel,.btn-create{justify-content:center;width:100%}}.api-mode-modal{animation:modalSlideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;max-height:90vh;max-width:1200px;overflow-y:auto;position:relative;width:90%}.api-mode-header{align-items:flex-start;background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:2px solid #f1f5f9;display:flex;justify-content:space-between;padding:2rem}.api-mode-header h2{color:#1e293b;font-size:1.75rem;font-weight:700;margin:0 0 .5rem}.api-mode-header p{color:#64748b;font-size:.9375rem;margin:0}.api-mode-modal .modal-close-btn{align-items:center;background:#f1f5f9!important;border:2px solid #cbd5e1!important;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#475569!important;cursor:pointer;display:flex!important;height:40px;justify-content:center;padding:.5rem;position:absolute;right:1.5rem;top:1.5rem;transition:all .2s ease;width:40px;z-index:100}.api-mode-modal .modal-close-btn:hover{background:#e2e8f0!important;border-color:#94a3b8!important;color:#1e293b!important}.api-mode-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));padding:2rem}.api-mode-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:1rem;padding:2rem;position:relative;transition:all .3s ease}.api-mode-card:not(.disabled):hover{box-shadow:0 12px 24px #0000001a;transform:translateY(-4px)}.api-mode-card.disabled{background:#f8fafc;cursor:not-allowed;opacity:.6}.api-mode-card.beginner{background:linear-gradient(135deg,#fff5f5,#fff);border-color:#e53e3e}.api-mode-card.beginner:hover{background:linear-gradient(135deg,#fff5f5,#ffe5e5);border-color:#e53e3e;box-shadow:0 12px 24px #e53e3e33}.api-mode-card.intermediate{background:linear-gradient(135deg,#fffbeb,#fff);border-color:#f59e0b}.api-mode-card.intermediate:hover{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#f59e0b;box-shadow:0 12px 24px #f59e0b33}.api-mode-card.advanced{background:linear-gradient(135deg,#f8fafc,#fff);border-color:#94a3b8}.mode-icon{align-items:center;border-radius:12px;display:flex;height:64px;justify-content:center;margin-bottom:.5rem;width:64px}.beginner-icon{background:linear-gradient(135deg,#e53e3e,#f56565);color:#fff}.intermediate-icon{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}.advanced-icon{background:linear-gradient(135deg,#64748b,#94a3b8);color:#fff}.api-mode-card h3{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0}.mode-description{color:#64748b;font-size:.9375rem;line-height:1.6;margin:0}.mode-features{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.feature-item{align-items:center;color:#475569;display:flex;font-size:.875rem;padding-left:1.5rem;position:relative}.feature-item:before{color:#e53e3e;content:"✓";font-size:1rem;font-weight:700;left:0;position:absolute}.intermediate .feature-item:before{color:#f59e0b}.advanced .feature-item:before{color:#64748b}.mode-badge{border-radius:6px;font-size:.8125rem;margin-top:auto;padding:.5rem 1rem;text-align:center}.beginner-badge{background:linear-gradient(135deg,#e53e3e,#f56565);color:#fff}.intermediate-badge{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}.advanced-badge{background:linear-gradient(135deg,#64748b,#94a3b8);color:#fff}.api-mode-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;padding:1.5rem 2rem}.btn-cancel{border:2px solid #e2e8f0;border-radius:8px;color:#64748b;font-size:.9375rem;font-weight:600;padding:.75rem 2rem;transition:all .2s ease}.btn-cancel:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}@media (max-width:1024px){.api-mode-cards{grid-template-columns:1fr}}@media (max-width:768px){.api-mode-modal{max-height:95vh;width:95%}.api-mode-header{padding:1.5rem}.api-mode-cards{gap:1rem;padding:1.5rem}.api-mode-card{padding:1.5rem}}.beginner-mode-modal{animation:modalSlideUp .3s ease-out;background:#fff;border-radius:10px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:85vh;max-width:500px;overflow:hidden;width:90%}.beginner-mode-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:.75rem;padding:1.25rem 1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.beginner-mode-header>div{flex:1 1}.beginner-mode-header h2{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0 0 .25rem}.beginner-mode-header p{color:#64748b;font-size:.8125rem;margin:0}.back-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:.375rem;transition:all .2s ease}.back-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#1e293b}.beginner-mode-form{display:flex;flex:1 1;flex-direction:column;gap:1.25rem;overflow-y:auto;padding:1.5rem}.form-section{display:flex;flex-direction:column;gap:1rem}.form-section h3{color:#1e293b;font-size:1rem;font-weight:600;margin:0}.auth-section{background:linear-gradient(135deg,#fff5f5,#ffe5e5);border:2px solid #e53e3e;border-radius:8px;padding:1rem}.auth-section h3{color:#e53e3e;font-size:.9375rem;font-weight:600;margin:0 0 .75rem}.checkbox-group{margin:0}.checkbox-label{color:#1e293b;font-size:.875rem;font-weight:500}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group{gap:.375rem}.form-group label{color:#334155;font-size:.875rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #cbd5e1;border-radius:6px;font-size:.875rem;padding:.625rem .75rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.form-group textarea{min-height:60px}.error-message{font-size:.8125rem;margin-top:-.25rem}.helper-text{color:#64748b;font-size:.8125rem;font-style:italic}.info-box{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #3b82f6;border-radius:6px;display:flex;gap:.75rem;padding:.875rem 1rem}.info-icon{flex-shrink:0;font-size:1.25rem}.info-content{flex:1 1}.info-content strong{color:#1e40af;display:block;font-size:.875rem;margin-bottom:.25rem}.info-content p{color:#1e3a8a;font-size:.8125rem;line-height:1.5;margin:0}.form-actions{border-top:1px solid #e2e8f0;gap:.75rem;padding-top:1rem}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 4px #10b98133}.btn-primary:hover{box-shadow:0 4px 12px #10b9814d}.btn-primary:active{transform:translateY(0)}.btn-secondary:hover{border-color:#94a3b8}@media (max-width:768px){.beginner-mode-modal{max-height:95vh;width:95%}.beginner-mode-form,.beginner-mode-header{padding:1.5rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{justify-content:center;width:100%}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.deployment-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.deployment-modal{animation:slideUp .3s ease-out;background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:90%}.deployment-modal-header{align-items:flex-start;background:#fff;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;padding:24px}.deployment-modal-title{align-items:flex-start;display:flex;gap:16px}.deployment-modal-title svg{color:#e53e3e;flex-shrink:0}.deployment-modal-title h2{color:#2c3e50;font-size:24px;font-weight:600;margin:0}.deployment-modal-title p{color:#666;font-size:14px;margin:4px 0 0}.deployment-modal-title strong{color:#e53e3e}.deployment-modal-close{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;padding:4px;transition:all .2s}.deployment-modal-close:hover{background:#e9ecef;color:#2c3e50}.deployment-modal-body{flex:1 1;overflow-y:auto;padding:24px}.deployment-error-message{align-items:center;animation:slideDown .3s ease-out;background:#fff5f5;border:1px solid #fc8181;border-left:4px solid #e53e3e;border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:14px 16px}.deployment-error-message .error-icon{flex-shrink:0;font-size:20px}.deployment-error-message span{color:#c53030;flex:1 1;font-size:14px;font-weight:500}.deployment-error-message .error-close{align-items:center;background:none;border:none;border-radius:4px;color:#c53030;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s}.deployment-error-message .error-close:hover{background:#fed7d7;color:#e53e3e}.deployment-section{margin-bottom:32px}.deployment-section:last-child{margin-bottom:0}.deployment-section h3{align-items:center;color:#2c3e50;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 16px}.deployment-section h3 svg{color:#e53e3e}.api-details-grid{grid-gap:16px 24px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:grid;gap:16px 24px;grid-template-columns:repeat(2,1fr);padding:20px}@media (max-width:768px){.api-details-grid{grid-template-columns:1fr}}.api-detail-item{display:flex;flex-direction:column;gap:6px}.api-detail-item label{color:#666;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.api-detail-item span{color:#2c3e50;font-size:14px;font-weight:500}.api-detail-item .method-badge{background:#e53e3e;border-radius:6px;color:#fff;display:inline-block;font-size:13px;font-weight:600;padding:6px 14px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.api-detail-item code{background:#fff;border:1px solid #d0d0d0;border-radius:6px;color:#2c3e50;display:inline-block;font-family:Courier New,monospace;font-size:14px;font-weight:500;min-width:100px;padding:8px 12px}.deployment-type-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.deployment-type-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;padding:20px;text-align:left;transition:all .2s}.deployment-type-card:hover{background:#f8f9fa;border-color:#e53e3e;box-shadow:0 2px 8px #e53e3e1a}.deployment-type-card.selected{background:#fff5f5;border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.type-icon{font-size:40px;margin-bottom:12px}.deployment-type-card h4{color:#2c3e50;font-size:18px;font-weight:600;margin:0 0 8px}.deployment-type-card p{color:#666;font-size:13px;line-height:1.4;margin:0 0 12px}.type-features{list-style:none;margin:0;padding:0}.type-features li{color:#4caf50;font-size:12px;padding:4px 0 4px 20px;position:relative}.type-features li:before{color:#4caf50;content:"✓";font-weight:700;left:0;position:absolute}.cloud-provider-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.cloud-provider-card{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:20px;transition:all .2s}.cloud-provider-card:hover{background:#f8f9fa;border-color:#e53e3e;box-shadow:0 2px 8px #e53e3e1a}.cloud-provider-card.selected{background:#fff5f5;border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.provider-icon{font-size:32px}.provider-label{color:#2c3e50;font-size:14px;font-weight:500}.deployment-select{background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#2c3e50;cursor:pointer;font-size:14px;padding:12px;transition:all .2s;width:100%}.deployment-select:hover{background:#f8f9fa;border-color:#e53e3e}.deployment-select:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a;outline:none}.deployment-select option{background:#fff;color:#2c3e50}.function-tier-grid,.vm-size-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.function-tier-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:16px;text-align:left;transition:all .2s}.function-tier-card:hover{background:#f8f9fa;border-color:#e53e3e;box-shadow:0 2px 8px #e53e3e1a}.function-tier-card.selected{background:#fff5f5;border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.tier-header{align-items:center;display:flex;justify-content:space-between}.tier-header h4{color:#2c3e50;font-size:16px;font-weight:600;margin:0}.tier-price{color:#4caf50;font-size:12px;font-weight:500}.tier-description{color:#666;font-size:13px;line-height:1.4;margin:0}.tier-features{list-style:none;margin:0;padding:0}.tier-features li{color:#666;font-size:12px;padding:3px 0 3px 16px;position:relative}.tier-features li:before{color:#e53e3e;content:"•";font-weight:700;left:0;position:absolute}.function-config-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.config-item{display:flex;flex-direction:column;gap:8px}.config-item label{color:#666;font-size:13px;font-weight:500}.deployment-input{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#2c3e50;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.deployment-input:hover{background:#f8f9fa;border-color:#e53e3e}.deployment-input:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a;outline:none}.vm-size-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:16px;text-align:left;transition:all .2s}.vm-size-card:hover{background:#f8f9fa;border-color:#e53e3e;box-shadow:0 2px 8px #e53e3e1a}.vm-size-card.selected{background:#fff5f5;border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.vm-size-header{align-items:center;display:flex;justify-content:space-between}.vm-size-header h4{color:#2c3e50;font-size:16px;font-weight:600;margin:0}.vm-size-price{color:#4caf50;font-size:14px;font-weight:500}.vm-size-specs{display:flex;gap:16px}.vm-spec{align-items:center;color:#666;display:flex;font-size:13px;gap:6px}.vm-spec svg{color:#e53e3e}.vm-size-description{color:#666;font-size:12px;line-height:1.4;margin:0}.deployment-summary{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-item label{color:#666;font-size:12px;font-weight:500}.summary-item span{color:#2c3e50;font-size:14px}.cost-highlight{color:#4caf50!important;font-weight:600}.deployment-modal-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.btn-cancel{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-cancel:hover{background:#f8f9fa;border-color:#e53e3e;color:#e53e3e}.btn-deploy{align-items:center;background:linear-gradient(135deg,#e53e3e,#f56565);border:none;border-radius:6px;box-shadow:0 2px 4px #e53e3e33;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 24px;transition:all .2s}.btn-deploy:hover{box-shadow:0 4px 12px #e53e3e66}.btn-deploy:active{transform:scale(.98)}.deployment-modal-body::-webkit-scrollbar{width:8px}.deployment-modal-body::-webkit-scrollbar-track{background:#f8f9fa}.deployment-modal-body::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:4px}.deployment-modal-body::-webkit-scrollbar-thumb:hover{background:#b0b0b0}.language-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.language-card{border:2px solid #e0e0e0;border-radius:8px;padding:16px;text-align:center}.language-card:hover{box-shadow:0 4px 8px #e53e3e1a;transform:translateY(-2px)}.language-card.selected{background:#fff5f5;border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.language-icon{font-size:32px;margin-bottom:4px}.language-card h4{color:#2c3e50;font-size:16px;font-weight:600;margin:0}.language-card p{color:#666;font-size:12px;line-height:1.4;margin:0}.api-list-container{background:#f8fafc;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;height:100vh;max-height:100vh;overflow:hidden}.api-list-header-section{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:1.5rem;padding:2rem 2rem 0}.api-list-header-section h1{color:#1e293b;font-size:1.75rem;font-weight:700;margin:0 0 .25rem}.api-list-header-section p{color:#64748b;font-size:.875rem;margin:0}.btn-create-api{align-items:center;background:linear-gradient(135deg,#e53e3e,#f56565);border:none;border-radius:8px;box-shadow:0 2px 4px #e53e3e33;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s ease}.btn-create-api:hover{box-shadow:0 4px 12px #e53e3e4d;transform:translateY(-2px)}.btn-create-api:active{transform:translateY(0)}.btn-logs-toggle{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:8px;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s ease}.btn-logs-toggle:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.btn-logs-toggle:active{transform:translateY(0)}.logs-sidebar{background:#fff;box-shadow:-4px 0 16px #0000001a;display:flex;flex-direction:column;height:100vh;position:fixed;right:-450px;top:0;transition:right .3s ease;width:450px;z-index:1001}.logs-sidebar.open{right:0}.logs-sidebar-overlay{background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.logs-sidebar-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem}.logs-sidebar-header h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0}.spinning{animation:spin 1s linear infinite}.logs-refresh-btn:hover:not(:disabled){background:#f1f5f9!important;border-color:#cbd5e1!important}.logs-close-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.logs-close-btn:hover{background:#e2e8f0;color:#1e293b}.logs-sidebar-content{flex:1 1;overflow-y:auto;padding:1rem}.logs-empty,.logs-loading{align-items:center;color:#64748b;display:flex;font-size:.875rem;height:200px;justify-content:center}.logs-list{display:flex;flex-direction:column;gap:.75rem}.log-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.875rem;transition:all .2s ease}.log-item:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #0000000d}.log-item-info{border-left:3px solid #3b82f6}.log-item-warning{background:#fffbeb;border-left:3px solid #f59e0b}.log-item-error{background:#fef2f2;border-left:3px solid #ef4444}.log-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.log-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .625rem;text-transform:uppercase}.log-badge-info{background:#dbeafe;color:#1e40af}.log-badge-warning{background:#fef3c7;color:#92400e}.log-badge-error{background:#fee2e2;color:#991b1b}.log-time{color:#64748b;font-family:monospace;font-size:.75rem}.log-item-message{color:#1e293b;font-size:.875rem;line-height:1.5;margin-bottom:.5rem;word-break:break-word}.log-item-category{background:#e0e7ff;border-radius:4px;color:#3730a3;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .625rem}.log-item-metadata{background:#00000005;border-radius:4px;font-size:.75rem;margin-top:.5rem;padding:.5rem}.log-metadata-item{display:flex;gap:.5rem;line-height:1.4;margin-bottom:.25rem}.log-metadata-item:last-child{margin-bottom:0}.log-metadata-key{color:#64748b;font-weight:600;min-width:80px}.log-metadata-value{color:#1e293b;flex:1 1;word-break:break-word}.stats-grid{grid-gap:.5rem;display:grid;flex-shrink:0;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:.75rem;padding:0 2rem}.stat-card{align-items:center;border:1px solid #e2e8f0;border-radius:5px;display:flex;gap:.375rem;padding:.375rem .5rem;transition:box-shadow .2s}.stat-card:hover{box-shadow:0 2px 8px #e53e3e1a}.stat-icon{align-items:center;background:linear-gradient(135deg,#fef1f1,#fca5a5);border-radius:4px;color:#e53e3e;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.stat-icon svg{height:12px;width:12px}.stat-content{align-items:baseline;display:flex;flex-direction:row;gap:.25rem}.stat-value{color:#1e293b;font-size:.875rem;line-height:1}.stat-label{color:#64748b;font-size:.625rem;font-weight:500;line-height:1}.stat-subvalue{color:#94a3b8;font-size:.5rem;line-height:1;margin-left:.25rem}.search-box{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex:1 1;max-width:300px;position:relative;transition:all .2s ease}.search-box:focus-within{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.search-box svg{color:#94a3b8;height:18px;left:.75rem;position:absolute;width:18px}.search-box input{background:#0000;border:none;color:#1e293b;font-size:.875rem;outline:none;padding:.5rem .75rem .5rem 2.5rem;width:100%}.search-box input::placeholder{color:#94a3b8}.filter-group{align-items:center;display:flex;gap:.75rem}.filter-group select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:12px;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:.875rem;min-width:140px;outline:none;padding:.5rem 2rem .5rem .75rem;transition:all .2s ease}.filter-group select:hover{border-color:#cbd5e1}.filter-group select:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.filter-group .group-by-select{min-width:155px}.api-list-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;display:flex;flex:1 1;flex-direction:column;margin:0 2rem 2rem;overflow:hidden}.api-panel-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:.625rem .75rem}.filters-left{align-items:center;display:flex;flex:1 1;gap:1rem}.api-container{background:#fff;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow-y:auto;padding:0}.api-container.card-view .api-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.api-container.list-view .api-list{display:flex;flex-direction:column;gap:0}.api-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;overflow:hidden;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none}.api-card:hover{border-color:#cbd5e1;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-2px)}.api-card:active{transform:translateY(0);transition:all .1s ease}.api-card-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;padding:.75rem 1rem;position:relative}.api-badges,.api-card-header{align-items:center;display:flex}.api-badges{gap:8px}.api-delete-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#718096;cursor:pointer;display:flex;justify-content:center;padding:6px 8px;transition:all .2s}.api-delete-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626;transform:scale(1.05)}.api-delete-btn:active{transform:scale(.95)}.api-method-badge{font-weight:700;letter-spacing:.5px;text-transform:uppercase}.api-method-badge,.api-status-badge{border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;font-size:11px;padding:6px 12px}.api-status-badge{font-weight:600;text-transform:capitalize}.api-card-body{padding:1rem}.api-card-body h3{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:.5rem}.api-path{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;color:#475569;display:inline-block;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8125rem;margin-bottom:.5rem;padding:.25rem .5rem}.api-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;font-size:.875rem;line-height:1.5;margin-bottom:.75rem;overflow:hidden}.api-meta{color:#94a3b8;display:flex;flex-wrap:wrap;font-size:.75rem;gap:.75rem}.api-meta span{align-items:center;display:flex}.api-service{color:#64748b;font-weight:500}.api-version{color:#94a3b8;font-weight:500}.api-card-actions{border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:8px;margin-top:1rem;padding-top:1rem}.api-card-footer{background:linear-gradient(135deg,#e53e3e05,#f5656503);border-top:1px solid #e53e3e14;gap:8px;padding:12px 16px}.api-action-btn,.api-card-footer{display:flex;justify-content:center}.api-action-btn{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;flex:1 1;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;transition:all .2s}.api-action-btn:hover{background:#f8f9fa;border-color:#adb5bd}.api-action-btn.edit{background:#e53e3e;background:var(--omnave-primary);border:none;color:#fff;font-weight:600}.api-action-btn.edit:hover{background:#c53030;background:var(--omnave-primary-hover)}.api-action-btn.view:hover{background:#28a745;border-color:#28a745;color:#fff}.api-action-btn.delete{background:#fff;border:1px solid #e53e3e;border:1px solid var(--omnave-primary);color:#e53e3e;color:var(--omnave-primary);max-width:150px}.api-action-btn.delete:hover{background:#e53e3e;background:var(--omnave-primary);border-color:#e53e3e;border-color:var(--omnave-primary);color:#fff}.empty-state,.loading-state{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:300px;padding:4rem 1.25rem;text-align:center}.loader{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#e53e3e;height:40px;width:40px}.empty-state p,.loading-state p{color:#64748b;font-size:.875rem;margin-top:1rem}.empty-state svg{color:#cbd5e1;margin-bottom:1rem}.empty-state h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.empty-state .btn-create-api{margin-top:1.25rem}.view-toggle{background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;overflow:hidden}.view-toggle-btn{align-items:center;background:#0000;border:none;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.view-toggle-btn:hover{background:#f8fafc;color:#475569}.view-toggle-btn.active{background:#e53e3e;color:#fff}.view-toggle-btn.active:hover{background:#c53030}.api-list-item{align-items:center;background:#fff;border-bottom:1px solid #f1f5f9;border-left:2px solid #0000;cursor:pointer;display:flex;padding:1rem;transition:all .2s ease;-webkit-user-select:none;user-select:none}.api-list-item:hover{background:#f8fafc;border-left:2px solid #e53e3e}.api-list-item:active{background:#f1f5f9}.api-list-item:last-child{border-bottom:none}.api-list-info,.api-list-main{align-items:center;display:flex;flex:1 1;gap:16px}.api-list-badges{display:flex;flex-shrink:0;gap:8px}.api-list-details{flex:1 1;min-width:0}.api-list-details h3{color:#1e293b;font-size:.9375rem;font-weight:600;margin:0 0 .25rem}.api-list-details .api-path{background:#f8fafc;border-radius:4px;color:#64748b;display:inline-block;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8125rem;margin-bottom:.25rem;padding:.125rem .375rem}.api-list-details .api-description{color:#64748b;font-size:.8125rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.api-list-meta{color:#94a3b8;display:flex;flex-shrink:0;font-size:.8125rem;gap:1.25rem;min-width:200px}.api-list-meta span{white-space:nowrap}.api-list-meta .api-service{color:#64748b;font-weight:500}.api-list-meta .api-version{color:#94a3b8;font-weight:500}.api-list-actions{display:flex;flex-shrink:0;gap:8px}.api-list-actions .api-action-btn{border-radius:6px;height:32px;min-width:auto;padding:8px;width:32px}.api-list-actions .api-action-btn span{display:none}.api-table-wrapper{background:#fff;display:flex;flex:1 1;flex-direction:column;overflow:auto;padding:0;width:100%}.api-table{border-collapse:collapse;font-size:.875rem;width:100%}.api-table thead{background:#f8fafc;position:-webkit-sticky;position:sticky;top:0;z-index:1}.api-table th{border-bottom:2px solid #e2e8f0;color:#64748b;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:.5rem .75rem;text-align:left;text-transform:uppercase;white-space:nowrap}.api-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .15s}.api-table tbody tr:hover{background:#f8fafc}.api-table td{color:#1e293b;padding:.5rem .75rem;vertical-align:middle}.api-name-cell{color:#1e293b;font-size:.875rem;font-weight:600}.api-path-cell code{background:#eef2ff;border:1px solid #e0e7ff;border-radius:4px;color:#4f46e5;display:inline-block;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.75rem;padding:.25rem .5rem}.api-description-cell{-webkit-line-clamp:2;-webkit-box-orient:vertical;word-wrap:break-word;color:#64748b;display:-webkit-box;font-size:.875rem;line-height:1.4;max-width:300px;overflow:hidden}.api-service-cell{color:#1e293b;font-size:.875rem;font-weight:500}.api-version-cell{color:#64748b;font-size:.875rem;font-weight:500}.api-date-cell{color:#64748b;font-size:.75rem;font-weight:400;white-space:nowrap}.api-created-by-cell{color:#64748b;font-size:.8125rem;font-weight:500}.api-updated-at-cell{color:#94a3b8;font-size:.75rem;white-space:nowrap}.api-table .api-method-badge{font-weight:700;letter-spacing:.5px;min-width:60px;padding:.25rem .625rem;text-align:center;text-transform:uppercase}.api-table .api-method-badge,.api-table .api-status-badge{border-radius:4px;color:#fff;display:inline-block;font-size:.75rem}.api-table .api-status-badge{font-weight:600;padding:.25rem .75rem;text-transform:capitalize}.api-actions-cell{align-items:center;display:flex;gap:.5rem}.api-action-btn-small{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s}.api-action-btn-small:hover{background:#f8fafc;border-color:#cbd5e1}.api-action-btn-small.view:hover{background:#dbeafe;border-color:#3b82f6;color:#3b82f6}.api-action-btn-small.edit:hover{background:#fef3c7;border-color:#f59e0b;color:#f59e0b}.api-action-btn-small.delete:hover{background:#fee2e2;border-color:#dc2626;color:#dc2626}.toast-notification{animation:slideInRight .3s ease-out;border-radius:8px;box-shadow:0 4px 12px #00000026;font-weight:500;max-width:500px;min-width:300px;padding:16px 24px;position:fixed;right:20px;top:20px;z-index:10000}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-success{background:#f0fff4;border-left:4px solid #38a169;color:#22543d}.toast-error{background:#fff5f5;border-left:4px solid #e53e3e;color:#742a2a}.toast-info{background:#ebf8ff;border-left:4px solid #3182ce;color:#2c5282}.api-groups-accordion{display:flex;flex-direction:column;gap:.5rem;padding:.5rem}.api-group-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:all .2s ease}.api-group-panel.collapsed{border-color:#e2e8f0}.api-group-panel.expanded{border-color:#cbd5e1;box-shadow:0 1px 3px #0000001a}.api-group-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #0000;cursor:pointer;display:flex;justify-content:space-between;padding:.625rem .875rem;transition:all .2s ease;-webkit-user-select:none;user-select:none}.api-group-header:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.api-group-header:active{background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}.api-group-panel.expanded .api-group-header{border-bottom:1px solid #e2e8f0}.api-group-header-left{align-items:center;display:flex;gap:.5rem}.group-chevron{color:#64748b;transition:transform .2s ease}.group-badge{border-radius:4px;color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.group-count{background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:.75rem;padding:.125rem .5rem}.api-group-content{animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.api-group-content .api-table{border-radius:0;margin:0}.api-group-content .api-table thead{background:#fafbfc}.api-group-content .api-table th{font-size:.65rem;padding:.5rem .75rem}.api-group-content .api-table td{padding:.5rem .75rem}.group-by-select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234a5568' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:12px;border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;font-size:.875rem;min-width:140px;padding:.5rem 2.5rem .5rem .75rem}.group-by-select:hover{border-color:#cbd5e0}.group-by-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.group-header-row{background:linear-gradient(135deg,#f8fafc,#f1f5f9)!important;border-bottom:2px solid #e2e8f0}.group-header-row:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)!important}.group-header-row td{padding:.75rem 1rem!important}.group-header-row td,.group-header-row td[colspan]{text-align:left!important}.group-header{font-weight:600;gap:.75rem;justify-content:flex-start;width:auto}.api-table .group-header-row td{text-align:left!important}.group-toggle{align-items:center;color:#64748b;display:flex;justify-content:center}.group-toggle,.group-toggle svg{transition:transform .2s ease}.group-badge{align-items:center;display:inline-flex}.group-count{color:#64748b;font-size:.85rem;font-weight:500;margin-left:.5rem}.group-item-row{background:#fefefe}.group-item-row:hover{background:#f8fafc!important}.group-item-row td:first-child{background:#f8fafc;border-left:3px solid #e2e8f0}.react-flow{direction:ltr}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translateX(-50%)}.react-flow__attribution{background:#ffffff80;font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{align-items:center;background:#fefefe;border-bottom:1px solid #eee;box-sizing:initial;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.info-tooltip-container{display:inline-block;position:relative;z-index:1000}.info-icon-button{align-items:center;background:#ffffffe6;border:1px solid #0000001a;border-radius:50%;box-shadow:0 1px 3px #0000001a;color:#666;cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;transition:all .2s ease;width:20px}.info-icon-button:hover{background:#fff;border-color:#e53e3e;border-color:var(--omnave-primary,#e53e3e);box-shadow:0 2px 8px #00000026;color:#e53e3e;color:var(--omnave-primary,#e53e3e);transform:scale(1.05)}.info-tooltip-content{animation:tooltipFadeIn .2s ease;background:#fff;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 4px 20px #00000026;top:25px;width:280px;z-index:1001}.info-tooltip-content,.info-tooltip-content:before{left:50%;position:absolute;transform:translateX(-50%)}.info-tooltip-content:before{border-bottom:6px solid #fff;border-left:6px solid #0000;border-right:6px solid #0000;content:"";height:0;top:-6px;width:0}.info-tooltip-content:after{border-bottom:7px solid #e1e5e9;border-left:7px solid #0000;border-right:7px solid #0000;content:"";height:0;left:50%;position:absolute;top:-7px;transform:translateX(-50%);width:0}.tooltip-header{background:#fed7d7;background:var(--omnave-primary-light,#fed7d7);border-bottom:1px solid #e1e5e9;border-radius:8px 8px 0 0;padding:10px 15px}.tooltip-header h4{color:#e53e3e;color:var(--omnave-primary,#e53e3e);font-size:14px;font-weight:600;margin:0}.tooltip-body{padding:12px 15px 15px}.tooltip-description{color:#444;font-size:13px;line-height:1.4;margin:0 0 10px}.tooltip-section{margin-top:12px}.tooltip-section strong{color:#666;display:block;font-size:12px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.tooltip-section p{color:#555;font-size:13px;line-height:1.4;margin:0}.tooltip-section ul{list-style-type:disc;margin:4px 0 0;padding-left:16px}.tooltip-section li{color:#666;font-size:12px;line-height:1.3;margin-bottom:2px}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(-5px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:768px){.info-tooltip-content{left:-120px;transform:none;width:250px}.info-tooltip-content:after,.info-tooltip-content:before{left:130px}}@media (prefers-color-scheme:dark){.info-tooltip-content{background:#2d3748;border-color:#4a5568;color:#e2e8f0}.tooltip-header{background:#4a5568;border-color:#718096}.tooltip-header h4{color:#e2e8f0}.tooltip-description{color:#cbd5e0}.tooltip-section strong{color:#a0aec0}.tooltip-section p{color:#cbd5e0}.tooltip-section li{color:#a0aec0}.info-tooltip-content:before{border-bottom-color:#2d3748}.info-tooltip-content:after{border-bottom-color:#4a5568}}.custom-node{background:#fff;box-shadow:0 2px 8px #0000001a;min-width:200px;overflow:hidden;transition:all .2s ease}.custom-node.selected{box-shadow:0 4px 16px #667eea4d;transform:translateY(-2px)}.custom-node:hover{box-shadow:0 4px 12px #00000026}.node-header{align-items:center;color:#fff;display:flex;font-size:14px;font-weight:500;gap:10px;position:relative}.node-info-tooltip{margin-left:auto;opacity:.8;transition:opacity .2s ease}.node-info-tooltip:hover{opacity:1}.node-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));font-size:18px}.node-label{text-shadow:0 1px 2px #0000001a}.node-description{background:#f8fafc;border-top:1px solid #e2e8f0;color:#64748b;font-size:12px;padding:8px 16px}.node-config-indicator{align-items:center;background:#f0fdf4;border-top:1px solid #e2e8f0;color:#10b981;display:flex;font-size:11px;gap:6px;padding:6px 16px}.config-dot{animation:pulse 2s infinite;background:#10b981;border-radius:50%;height:6px;width:6px}.custom-handle{background:#667eea;border:2px solid #fff;box-shadow:0 2px 4px #0000001a;height:10px;width:10px}.custom-handle:hover{background:#5368d5;transform:scale(1.2)}.react-flow__handle-left{left:-5px}.react-flow__handle-right{right:-5px}.react-flow__handle-connecting{background:#10b981!important}@media (max-width:768px){.custom-node{min-width:160px}.node-header{font-size:13px;padding:10px 12px}.node-icon{font-size:16px}.node-description{font-size:11px;padding:6px 12px}}.custom-node{background:#10b981;border:2px solid #fff;border-radius:8px;box-shadow:0 4px 12px #00000026;color:#fff;font-size:14px;font-weight:600;min-width:150px;padding:16px;position:relative;transition:all .2s}.custom-node.selected{box-shadow:0 4px 12px #0003}.custom-node:hover{box-shadow:0 6px 16px #0003;transform:translateY(-2px)}.node-content{align-items:center;display:flex;gap:0;min-height:24px;padding-right:30px;position:relative}.node-icon{margin:0!important;overflow:hidden!important;padding:0!important}.node-icon,.node-type-icon{display:none!important;height:0!important;width:0!important}.node-label{color:#fff;flex:1 1;font-size:14px;font-weight:600;letter-spacing:0}.node-info-tooltip,.node-order{display:none}.node-delete-btn{align-items:center;background:#fff3;border:none;border-radius:4px;box-shadow:none;color:#fff;cursor:pointer;display:flex;height:auto;justify-content:center;opacity:1;padding:4px;position:absolute;right:8px;top:8px;transition:background .2s;width:auto}.node-delete-btn:hover{background:#ffffff4d}.node-delete-btn:active{transform:none}.react-flow__handle{background:#e53e3e!important;border-radius:50%!important;box-shadow:0 2px 4px #0003!important;height:12px!important;position:absolute!important;width:12px!important}.react-flow__handle.react-flow__handle-connecting{background:#ff6b6b!important}.react-flow__handle.react-flow__handle-valid{background:#38a169!important}.custom-node.root-node .node-delete-btn{display:none!important}@keyframes nodeAppear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.custom-node{animation:nodeAppear .3s ease-out}.node-type-icon{transition:transform .2s ease}.custom-node:hover .node-type-icon{transform:scale(1.1)}.react-flow__node:nth-child(7n+1) .custom-node{background:#f97316!important;color:#fff!important}.react-flow__node:nth-child(7n+2) .custom-node{background:#eab308!important;color:#fff!important}.react-flow__node:nth-child(7n+3) .custom-node{background:#10b981!important;color:#fff!important}.react-flow__node:nth-child(7n+4) .custom-node{background:#14b8a6!important;color:#fff!important}.react-flow__node:nth-child(7n+5) .custom-node{background:#3b82f6!important;color:#fff!important}.react-flow__node:nth-child(7n+6) .custom-node{background:#8b5cf6!important;color:#fff!important}.react-flow__node:nth-child(7n+7) .custom-node{background:#ec4899!important;color:#fff!important}.node-info-dialog-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000059;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.node-info-dialog{animation:slideUp .3s ease;background:#faf9f8;border:1px solid #edebe9;border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:none;max-width:500px;overflow:visible;position:relative;width:90%}.dialog-header{align-items:center;background:#faf9f8;border-bottom:1px solid #edebe9;color:#323130;display:flex;justify-content:space-between;padding:16px 20px}.header-content{gap:12px}.dialog-icon{color:#605e5c;font-size:24px}.header-content h2{color:#323130;font-size:16px;font-weight:600;margin:0}.node-category{color:#605e5c;font-size:11px;font-weight:400;letter-spacing:.5px;text-transform:uppercase}.close-button{background:#0000;border:none;border-radius:4px;color:#605e5c;height:32px;transition:all .2s ease;width:32px}.close-button:hover{background:#edebe9;color:#323130}.dialog-content{max-height:none;overflow-y:visible;padding:0}.info-section{border-bottom:1px solid #edebe9;max-height:none;overflow:visible;padding:14px 20px}.info-section:last-child{border-bottom:none}.section-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.section-header h3{color:#323130;font-size:13px;font-weight:600;margin:0;text-transform:uppercase}.section-header svg{color:#605e5c;height:14px;width:14px}.description,.detailed-description,.usage,.use-case{color:#605e5c;font-size:13px;line-height:1.5;margin:0}.detailed-description{background:#f3f2f1;border-left:2px solid #8a8886;border-radius:4px;margin-top:10px;padding:10px 12px}.examples-list{display:flex;flex-direction:column;gap:6px;max-height:none;overflow:visible}.example-item{background:#f3f2f1;border:1px solid #edebe9;border-radius:4px;font-family:Segoe UI,Monaco,monospace;max-height:none;padding:8px 12px}.example-item,.example-item code{overflow:visible;white-space:pre-wrap;word-break:break-word}.example-item code{background:none;color:#323130;display:block;font-size:12px;line-height:1.6;padding:0}.best-practices-list{list-style-type:none;margin:0;padding-left:0;position:relative}.best-practices-list li{color:#605e5c;font-size:13px;line-height:1.5;margin-bottom:6px;padding-left:18px;position:relative}.best-practices-list li:before{color:#8a8886;content:"•";font-weight:700;left:0;position:absolute}.related-nodes{display:flex;flex-wrap:wrap;gap:6px}.related-node-tag{background:#f3f2f1;border:1px solid #edebe9;border-radius:4px;color:#323130;font-size:12px;font-weight:500;padding:4px 10px}.dialog-footer{background:#f3f2f1;border-top:1px solid #edebe9;padding:12px 20px}.footer-text{align-items:center;color:#605e5c;display:flex;font-size:12px;gap:6px;justify-content:center;margin:0;text-align:center}.footer-text:before{content:"💡";font-size:14px}.dialog-content::-webkit-scrollbar{width:6px}.dialog-content::-webkit-scrollbar-track{background:#f1f1f1}.dialog-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.dialog-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width:768px){.node-info-dialog{max-height:95vh;width:95%}.dialog-header{padding:14px 16px}.header-content h2{font-size:15px}.dialog-icon{font-size:20px}.info-section{padding:12px 16px}.description,.detailed-description,.section-header h3,.usage,.use-case{font-size:12px}.example-item code{font-size:11px}}.api-builder-sidebar{background:#fff;border-right:1px solid #e2e8f0;box-shadow:none;display:flex;flex-direction:column;gap:0;overflow-y:auto;padding:0;width:280px}.api-builder-sidebar:before{background:#fff;content:"Components";position:-webkit-sticky;position:sticky;top:0;z-index:10}.api-builder-sidebar h3,.api-builder-sidebar:before{border-bottom:1px solid #e2e8f0;color:#64748b;font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:1rem 1.5rem;text-transform:uppercase}.api-builder-sidebar h3{display:none;margin:0}.sidebar-section{display:flex;flex-direction:column;gap:0;padding:1rem}.component-item{align-items:flex-start;border:1px solid #e2e8f0;border-left:4px solid #3b82f6;border-radius:8px;cursor:grab;gap:.75rem;margin-bottom:.75rem;overflow:visible;padding:1rem;position:relative;transition:all .2s ease}.component-item:before{display:none}.component-item:hover{background:#f8fafc;border-left-width:4px;box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.component-item:active{cursor:grabbing}.sidebar-section:first-child .component-item{border-left-color:#3b82f6}.sidebar-section:nth-child(2) .component-item{border-left-color:#f97316}.sidebar-section:nth-child(3) .component-item{border-left-color:#10b981}.sidebar-section:nth-child(4) .component-item{border-left-color:#8b5cf6}.sidebar-section:nth-child(5) .component-item{border-left-color:#14b8a6}.sidebar-section:nth-child(6) .component-item{border-left-color:#eab308}.component-icon{background:#f1f5f9;border:none;border-radius:6px;flex-shrink:0;height:40px;transition:background .2s;width:40px}.component-item:hover .component-icon{background:#e2e8f0}.sidebar-section:first-child .component-icon{background:#eff6ff;color:#3b82f6}.sidebar-section:nth-child(2) .component-icon{background:#fff7ed;color:#f97316}.sidebar-section:nth-child(3) .component-icon{background:#f0fdf4;color:#10b981}.sidebar-section:nth-child(4) .component-icon{background:#faf5ff;color:#8b5cf6}.sidebar-section:nth-child(5) .component-icon{background:#f0fdfa;color:#14b8a6}.sidebar-section:nth-child(6) .component-icon{background:#fefce8;color:#eab308}.component-label{color:#1e293b;display:flex;flex-direction:column;font-size:.875rem;font-weight:600;gap:.25rem;letter-spacing:0;transition:none}.component-item:hover .component-label{color:#1e293b}.component-label small{color:#64748b;font-size:.75rem;font-weight:400;line-height:1.4}.component-info-btn{display:none}.sidebar-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;height:100%;justify-content:center}.sidebar-loading-spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#e53e3e;height:40px;margin-bottom:16px;width:40px}.component-item.dragging{cursor:grabbing}.component-item{animation:slideIn .3s ease-out}.api-builder-sidebar::-webkit-scrollbar{width:8px}.api-builder-sidebar::-webkit-scrollbar-track{background:#f7fafc;border-radius:4px}.api-builder-sidebar::-webkit-scrollbar-thumb{background:#a0aec0;border-radius:4px}.api-builder-sidebar::-webkit-scrollbar-thumb:hover{background:#718096}.key-value-input{margin-bottom:20px}.kv-header{align-items:center;display:flex;gap:8px;margin-bottom:12px}.kv-label{color:#2c3e50;font-size:14px;font-weight:500}.kv-help{align-items:center;display:flex;gap:4px;position:relative}.kv-help svg{color:#94a3b8;cursor:help}.kv-help-text{background:#1e293b;border-radius:6px;box-shadow:0 4px 6px #0000001a;color:#fff;display:none;font-size:12px;left:0;padding:8px 12px;position:absolute;top:20px;white-space:nowrap;z-index:1000}.kv-help:hover .kv-help-text{display:block}.kv-pairs-container{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.kv-headers{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:#475569;display:flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.5px;padding:8px 12px;text-transform:uppercase}.kv-header-label{flex:1 1}.kv-header-key{max-width:200px}.kv-header-value{flex:2 1}.kv-header-required{text-align:center;width:80px}.kv-header-action{width:32px}.kv-pair{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:12px}.kv-pair-row{align-items:center;display:flex;gap:8px}.kv-input{background:#fff;border:1px solid #cbd5e1;border-radius:6px;flex:1 1;font-size:14px;padding:8px 12px;transition:all .2s}.kv-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.kv-key{max-width:200px}.kv-value{flex:2 1}.kv-description{font-size:13px;width:100%}.kv-checkbox{align-items:center;color:#475569;display:flex;font-size:13px;gap:6px;white-space:nowrap}.kv-checkbox,.kv-checkbox input[type=checkbox]{cursor:pointer}.kv-remove-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#ef4444;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.kv-remove-btn:hover:not(:disabled){background:#fee2e2;border-color:#ef4444}.kv-remove-btn:disabled{color:#94a3b8;cursor:not-allowed;opacity:.3}.kv-add-btn{align-items:center;background:#fff;border:2px dashed #cbd5e1;border-radius:6px;color:#667eea;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;justify-content:center;padding:8px 16px;transition:all .2s;width:100%}.kv-add-btn:hover{background:#f0f4ff;border-color:#667eea;transform:translateY(-1px)}.kv-pairs-container:empty:before{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:8px;color:#94a3b8;content:"No parameters defined";display:block;font-size:13px;padding:20px;text-align:center}@media (max-width:600px){.kv-pair-row{flex-wrap:wrap}.kv-key,.kv-value{max-width:none;width:calc(50% - 4px)}.kv-checkbox{width:calc(50% - 20px)}.kv-remove-btn{height:36px;width:36px}}.code-preview-modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.code-preview-modal{animation:slideUp .3s ease-out;background:#fff;border:2px solid #e53e3e;border-radius:12px;box-shadow:0 20px 60px #e53e3e26;display:flex;flex-direction:column;height:85vh;max-width:1200px;width:90%}.modal-header{background:linear-gradient(135deg,#e53e3e,#c53030);border-bottom:3px solid #e53e3e;border-radius:10px 10px 0 0;justify-content:space-between;padding:20px 24px}.header-content,.modal-header{align-items:center;display:flex}.header-content{gap:20px}.modal-header h2{color:#fff;font-size:20px;font-weight:700;letter-spacing:.3px;margin:0;text-shadow:0 2px 4px #0000001a}.language-selection-modal{animation:slideUp .3s ease-out;background:#fff;border:2px solid #e53e3e;border-radius:12px;box-shadow:0 20px 60px #e53e3e26;max-width:500px;padding:0;width:90%}.language-selection-header{align-items:center;background:linear-gradient(135deg,#e53e3e,#c53030);border-bottom:2px solid #fed7d7;border-radius:10px 10px 0 0;display:flex;justify-content:space-between;padding:24px}.language-selection-header h2{color:#fff;font-size:20px;font-weight:700;letter-spacing:.3px;margin:0}.language-selection-subtitle{color:#718096;font-size:14px;margin:0;padding:20px 24px 10px;text-align:center}.language-options{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));padding:20px}.language-card{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:100px;padding:20px;transition:all .2s}.language-card:hover{background:#fff5f5;border-color:#e53e3e;box-shadow:0 8px 20px #e53e3e26;transform:translateY(-4px)}.language-card:active{transform:translateY(-2px)}.language-name{color:#2d3748;font-size:18px;font-weight:700;letter-spacing:.3px}.language-card:hover .language-name{color:#e53e3e}.language-extension{background:#f7fafc;border-radius:4px;color:#a0aec0;font-family:Monaco,Consolas,monospace;font-size:12px;padding:4px 8px}.header-actions{gap:10px}.action-button{align-items:center;background:#ffffffe6;border:2px solid #ffffff4d;border-radius:8px;color:#e53e3e;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s}.action-button:hover{background:#fff;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.close-button{align-items:center;background:#fff3;border:2px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.close-button:hover{background:#ffffffe6;color:#e53e3e;transform:rotate(90deg)}.code-tabs{background:#fff5f5;border-bottom:2px solid #fed7d7;display:flex;gap:8px;padding:16px 24px 12px}.tab{background:#0000;border:none;border-bottom:3px solid #0000;border-radius:8px 8px 0 0;color:#718096;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;position:relative;transition:all .2s}.tab:hover{background:#e53e3e14;color:#e53e3e}.tab.active{background:#fff;border-bottom-color:#e53e3e;box-shadow:0 2px 8px #e53e3e1a;color:#e53e3e}.code-container{background:#1a1b23;border:1px solid #2d3748;flex:1 1;min-height:300px;overflow:auto;padding:24px}.code-content{color:#e8e8e8;font-family:Fira Code,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;overflow-x:auto;text-shadow:0 1px 2px #0000004d;white-space:pre}.no-code{background:#f7fafc;border:2px dashed #e2e8f0;border-radius:8px;color:#718096;font-style:italic;padding:40px;text-align:center}.loading-container{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:20px;justify-content:center;min-height:400px}.loading-spinner{border:4px solid #fed7d7;border-top-color:#e53e3e;height:48px;width:48px}.loading-container p{color:#e53e3e;font-size:14px;font-weight:600;letter-spacing:.5px}.error-container{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:16px;justify-content:center;padding:20px}.error-container svg{color:#e53e3e}.error-container p{color:#e53e3e;font-size:14px;font-weight:500;max-width:400px;text-align:center}.retry-button{background:#e53e3e;border:none;border-radius:8px;box-shadow:0 2px 8px #e53e3e33;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.retry-button:hover{background:#c53030;box-shadow:0 4px 12px #e53e3e4d;transform:translateY(-2px)}.dependencies-section{background:#fff5f5;border-radius:0 0 10px 10px;border-top:2px solid #fed7d7;padding:20px 24px}.dependencies-section h3{color:#e53e3e;font-size:14px;font-weight:700;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.dependencies-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.dependencies-list li{background:#fff;border:2px solid #fed7d7;border-radius:20px;color:#e53e3e;font-family:Monaco,monospace;font-size:12px;font-weight:500;padding:6px 14px;transition:all .2s}.dependencies-list li:hover{background:#fff5f5;border-color:#e53e3e;transform:scale(1.05)}@media (max-width:768px){.language-selection-modal{max-width:none;width:95%}.language-options{grid-template-columns:1fr;padding:16px}.language-card{min-height:80px}.code-preview-modal{height:95vh;width:95%}.modal-header{padding:16px}.header-content{align-items:flex-start;flex-direction:column;gap:12px}.modal-header h2{font-size:18px}.code-tabs{overflow-x:auto;padding:12px 16px 0;white-space:nowrap}.tab{font-size:13px;padding:8px 16px}.code-container{padding:16px}.code-content{font-size:12px}}.api-flow-builder{background:#f5f5f5;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh}.api-flow-header{border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;justify-content:space-between;padding:1rem 1.5rem;position:relative;z-index:10}.api-flow-header,.back-button{align-items:center;background:#fff;display:flex}.back-button{border:1px solid #e53e3e;border-radius:4px;color:#e53e3e;cursor:pointer;justify-content:center;padding:.25rem;transition:all .2s ease}.back-button:hover{background:#fff5f5;border-color:#c53030;color:#c53030}.api-info{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.api-info h2{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0}.method-get{background:#dcfce7;border:1px solid #86efac;color:#166534}.method-post{background:#dbeafe;border:1px solid #93c5fd;color:#1e40af}.method-put{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.method-delete{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.method-patch{background:#f3e8ff;border:1px solid #d8b4fe;color:#6b21a8}.endpoint-text{border:1px solid #cbd5e1;border-radius:6px;color:#2c3e50;font-weight:500;padding:.375rem .875rem}.description-text{color:#475569;font-size:.875rem;font-weight:400;max-width:450px}.intermediate-badge{animation:pulse 2s ease-in-out infinite}.header-actions{flex-shrink:0;gap:.75rem;margin-left:auto}.action-btn,.header-actions{align-items:center;display:flex}.action-btn{border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s ease}.action-btn.primary,.action-btn.save{background:linear-gradient(135deg,#e53e3e,#f56565);box-shadow:0 2px 4px #e53e3e33;color:#fff}.action-btn.primary:hover:not(:disabled),.action-btn.save:hover:not(:disabled){box-shadow:0 4px 12px #e53e3e66;transform:translateY(-1px)}.action-btn.primary:disabled,.action-btn.save:disabled{cursor:not-allowed;opacity:.5}.action-btn.generate,.action-btn.secondary{background:#fff;border:1px solid #e53e3e;color:#e53e3e}.action-btn.generate:hover,.action-btn.secondary:hover{background:#fed7d7}.flow-order-guide{align-items:center;background:#e53e3e0d;border-bottom:1px solid #e53e3e33;color:#e53e3e;color:var(--omnave-primary);display:flex;font-size:12px;gap:10px;overflow-x:auto;padding:12px 32px}.flow-order-guide svg{flex-shrink:0}.order-items{align-items:center;display:flex;gap:8px}.order-item{background:#fff;border:1px solid #e53e3e33;border-radius:6px;box-shadow:0 1px 3px #e53e3e1a;color:#e53e3e;color:var(--omnave-primary);font-weight:500;padding:4px 10px;white-space:nowrap}.order-arrow{color:#f56565;color:var(--omnave-accent);font-weight:700}.flow-builder-content{position:relative}.flow-canvas{background:#fafafa;height:100%;width:100%}.flow-canvas .react-flow{height:100%;position:relative;width:100%}.react-flow__node.selected{box-shadow:none!important}.react-flow__node.selected .custom-node{box-shadow:0 4px 12px #00000026!important}.react-flow__node-custom.selected,.react-flow__node.selected,.react-flow__node.selecting{box-shadow:none!important;outline:none!important}.react-flow__node-default{background:#3b82f6;border:2px solid #fff;border-radius:8px;box-shadow:0 4px 12px #00000026;color:#fff;font-size:14px;font-weight:600;min-width:150px;padding:16px}.react-flow__node-default.selected{box-shadow:0 0 0 3px #3b82f680,0 4px 12px #00000026}.react-flow__node-custom{background:#fff;border:2px solid #d0d0d0;border-radius:8px;box-shadow:0 2px 4px #00000014;min-width:180px;padding:0;transition:all .2s}.react-flow__node-custom.selected{border-color:#d0d0d0;box-shadow:0 2px 4px #00000014}.react-flow__node-custom:hover{border-color:#999;box-shadow:0 4px 8px #0000001f}.react-flow__node-custom.api-details,.react-flow__node-custom.api-details.root-node{border-color:#e53e3e;border-color:var(--omnave-primary)}.react-flow__node-custom.api-details.root-node{background:linear-gradient(135deg,#e53e3e0d,#f5656508);border-width:3px}.react-flow__node-custom.authentication{border-color:#f56565;border-color:var(--omnave-accent)}.react-flow__node-custom.data-model{border-color:#c53030;border-color:var(--omnave-primary-hover)}.react-flow__node-custom.database{border-color:#38a169;border-color:var(--omnave-secondary)}.react-flow__node-custom.middleware{border-color:#f56565;border-color:var(--omnave-accent)}.react-flow__node-custom.response{border-color:#e53e3e;border-color:var(--omnave-primary)}.react-flow__connection-path,.react-flow__edge-path{stroke:#94a3b8;stroke-width:1;fill:none;opacity:1}.react-flow__edge.selected .react-flow__edge-path{stroke-width:1}.react-flow__edge.animated .react-flow__edge-path{stroke-dasharray:5 5!important;animation:dash .5s linear infinite}@keyframes dash{to{stroke-dashoffset:-10}}.react-flow__arrowhead{fill:#667eea!important;stroke:#667eea!important}.react-flow__edge.selected .react-flow__arrowhead{fill:#e53e3e!important;fill:var(--omnave-primary)!important;stroke:#e53e3e!important;stroke:var(--omnave-primary)!important}.react-flow__controls{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--omnave-gray-200);border-radius:8px;box-shadow:0 4px 12px #e53e3e1a}.react-flow__controls-button{background:#fff;border:none;color:#718096;color:var(--omnave-gray-500);cursor:pointer;height:36px;transition:all .2s;width:36px}.react-flow__controls-button:hover{background:#e53e3e0d;color:#e53e3e;color:var(--omnave-primary)}.react-flow__minimap{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--omnave-gray-200);border-radius:8px;box-shadow:0 4px 12px #e53e3e1a}.react-flow__minimap-mask{fill:#e53e3e1a;stroke:#e53e3e;stroke:var(--omnave-primary);stroke-width:2}.react-flow__minimap-node{fill:#cbd5e0;fill:var(--omnave-gray-300);stroke:#a0aec0;stroke:var(--omnave-gray-400);stroke-width:1}.react-flow__background{background-color:#fafafa}.react-flow__background pattern{stroke:#e0e0e0}.node-header{background:#0000;border-bottom:none;border-radius:0;padding:12px 16px}.node-title{color:#fff;font-size:14px;font-weight:600}.node-content{color:#ffffffe6;font-size:13px;padding:8px 16px}.node-status{align-items:center;background:#e53e3e1a;border:1px solid #e53e3e33;border-radius:12px;color:#e53e3e;color:var(--omnave-primary);display:inline-flex;font-size:11px;gap:6px;margin-top:6px;padding:3px 10px}.node-status.configured{background:#38a1691a;border-color:#38a16933;color:#38a169;color:var(--omnave-secondary)}.node-status.pending{background:#f565651a;border-color:#f5656533;color:#f56565;color:var(--omnave-accent)}.sidebar{border-right:1px solid var(--omnave-gray-200);box-shadow:2px 0 8px #e53e3e0d;padding:20px}.sidebar h3{color:#171923;color:var(--omnave-gray-900);font-size:16px;font-weight:600;margin:0 0 16px}.node-group{margin-bottom:24px}.node-group-title{color:#e53e3e;color:var(--omnave-primary);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.draggable-node{background:#f7fafc;background:var(--omnave-gray-50);border:1px solid #e2e8f0;border:1px solid var(--omnave-gray-200);border-radius:8px;color:#2d3748;color:var(--omnave-gray-700);cursor:grab;font-size:13px;margin-bottom:10px;padding:12px 14px;transition:all .2s}.draggable-node:hover{background:#fff;border-color:#e53e3e;border-color:var(--omnave-primary);box-shadow:0 4px 12px #e53e3e26;color:#e53e3e;color:var(--omnave-primary);transform:translateX(4px)}.draggable-node:active{cursor:grabbing}.node-palette{background:#fff;width:280px}.node-palette h3{border-bottom:1px solid #e2e8f0;color:#64748b;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin:0;padding:1rem 1.5rem;text-transform:uppercase}.node-list{flex-direction:column}.node-list,.palette-node{display:flex;gap:.75rem;padding:1rem}.palette-node{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:grab;transition:all .2s ease}.palette-node:hover{background:#fff;box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.palette-node:active{cursor:grabbing}.palette-node-icon{flex-shrink:0}.palette-node-info{flex:1 1}.palette-node-info strong{color:#1e293b;display:block;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.palette-node-info p{color:#64748b;font-size:.75rem;line-height:1.4;margin:0}.palette-instructions{color:#64748b;font-size:.75rem;gap:.5rem;padding:1rem 1.5rem}.node-config-container{display:flex;flex-direction:column;height:100%}.close-btn{background:none;border-radius:4px;font-size:1.5rem;padding:0;transition:all .2s ease}.close-btn:hover{background:#f1f5f9;color:#1e293b}.node-config-form{gap:1.25rem}.node-config-form .form-group{gap:.5rem}.node-config-form label{color:#334155;font-size:.875rem;font-weight:600}.node-config-form input[type=number],.node-config-form input[type=text],.node-config-form select,.node-config-form textarea{border:1px solid #cbd5e1;border-radius:6px;font-family:inherit;padding:.625rem .75rem;transition:all .2s ease}.node-config-form input[type=number]:focus,.node-config-form input[type=text]:focus,.node-config-form select:focus,.node-config-form textarea:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.node-config-form textarea{min-height:80px}.node-config-form small{color:#64748b;font-size:.75rem;margin-top:.25rem}.node-config-form label input[type=checkbox]{accent-color:#e53e3e}.config-form{gap:16px}.config-form,.form-field{display:flex;flex-direction:column}.form-field{gap:6px}.form-field label{color:#2d3748;color:var(--omnave-gray-700);font-size:13px;font-weight:500}.form-field input,.form-field select,.form-field textarea{background:#fff;border:2px solid #e2e8f0;border:2px solid var(--omnave-gray-200);border-radius:6px;color:#171923;color:var(--omnave-gray-900);font-size:13px;padding:10px 12px;transition:border-color .2s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#e53e3e;border-color:var(--omnave-primary);box-shadow:0 0 0 3px #e53e3e1a;outline:none}.form-field textarea{font-family:inherit;min-height:80px;resize:vertical}.config-save-btn{background:#e53e3e;background:var(--omnave-primary);border:none;border-radius:8px;box-shadow:0 2px 8px #e53e3e33;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-top:16px;padding:12px 18px;transition:all .2s}.config-save-btn:hover{background:#c53030;background:var(--omnave-primary-hover);box-shadow:0 4px 12px #e53e3e4d;transform:translateY(-1px)}.config-empty{color:#718096;color:var(--omnave-gray-500);padding:40px 20px;text-align:center}.config-empty p{font-size:14px;line-height:1.5}.configuration-panel{border-left:1px solid #e2e8f0;box-shadow:-2px 0 8px #0000000d}.panel-header{padding:1rem 1.25rem}.header-title{gap:.75rem}.header-title h3{font-size:1rem;margin:0}.panel-header .close-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#64748b;cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.panel-header .close-btn:hover{background:#f1f5f9;color:#1e293b}.panel-content{padding:1.5rem 1.25rem}.loading-state{color:#64748b;height:100%}.spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-top-color:#e53e3e}.configuration-form{gap:1.75rem}.configuration-form .form-group{display:flex;flex-direction:column;gap:.625rem}.form-label{color:#1e40af;font-size:.75rem;font-weight:700;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.required{color:#e53e3e;margin-left:.25rem}.field-description{font-size:.8125rem;margin:.375rem 0 0}.form-color,.form-input,.form-select,.form-textarea{background:#fff;border:1px solid #cbd5e1;border-radius:6px;font-family:inherit;font-size:.9375rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.form-color:focus,.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input.error,.form-select.error,.form-textarea.error{border-color:#dc2626}.form-textarea.code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8125rem}.checkbox-group{display:flex;flex-direction:column}.error-message{color:#dc2626;font-size:.75rem;margin-top:.25rem}.panel-footer{gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.btn{border-radius:6px;font-size:.875rem;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s ease}.btn-secondary{border:1px solid #cbd5e1}.btn-primary{box-shadow:0 2px 4px #e53e3e33}.btn-primary:hover:not(:disabled){transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-spinner{animation:spin .6s linear infinite;height:16px;width:16px}.flow-builder-content.view-mode{display:flex;flex:1 1}.flow-builder-content.view-mode .flow-canvas{flex:1 1}.flow-builder-content.view-mode .react-flow__edge,.flow-builder-content.view-mode .react-flow__node{pointer-events:none}.flow-builder-content.view-mode .react-flow__handle{display:none}.react-flow__edges{height:100%!important;left:0!important;pointer-events:all!important;position:absolute!important;top:0!important;width:100%!important;z-index:0!important}.react-flow__edge-path{stroke-width:1;fill:none}.react-flow__edge{pointer-events:all!important;z-index:0!important}.react-flow__handle{border:2px solid}.react-flow__handle-left{left:-6px!important}.react-flow__handle-left,.react-flow__handle-right{top:50%!important;transform:translateY(-50%)!important}.react-flow__handle-right{right:-6px!important}.react-flow__nodes{height:100%!important;left:0!important;pointer-events:all!important;top:0!important;width:100%!important}.react-flow__node,.react-flow__nodes{position:absolute!important;z-index:1!important}.react-flow__edge.animated path{stroke-dasharray:5!important;animation:dashdraw .5s linear infinite!important}@keyframes dashdraw{0%{stroke-dashoffset:10}to{stroke-dashoffset:0}}.react-flow__connection-path{stroke:#e53e3e!important;stroke-width:3!important;fill:none!important;opacity:.6}.react-flow__container,.react-flow__renderer,.react-flow__viewport{height:100%!important;position:relative!important;width:100%!important}.react-flow__pane{height:100%!important;width:100%!important}.react-flow__controls,.react-flow__minimap{z-index:5!important}.edit-metadata-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.edit-metadata-modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:650px;overflow-y:auto;width:90%}.edit-metadata-modal-header{align-items:center;background:linear-gradient(135deg,#e53e3e,#f56565);border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:24px 28px}.edit-metadata-modal-header h2{font-size:1.5rem;font-weight:700;margin:0}.close-btn{background:#fff3;color:#fff;padding:8px;transition:all .2s}.edit-metadata-form{padding:28px}.form-group,.form-row{margin-bottom:24px}.form-row .form-group{margin-bottom:0}.form-group label{color:#374151;font-size:.95rem;margin-bottom:8px}.required{margin-left:2px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-family:inherit;font-size:.95rem;padding:12px 16px;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a;outline:none}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#ef4444}.form-group input.error:focus,.form-group select.error:focus,.form-group textarea.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-group textarea{min-height:80px;resize:vertical}.error-message{display:block;font-size:.85rem;font-weight:500;margin-top:6px}.form-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.btn-cancel,.btn-save{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s}.btn-cancel{background:#f3f4f6;color:#374151}.btn-cancel:hover{background:#e5e7eb;transform:translateY(-1px)}.btn-save{background:linear-gradient(135deg,#e53e3e,#f56565)}.btn-save:hover{box-shadow:0 4px 12px #e53e3e66;transform:translateY(-2px)}.btn-cancel:active,.btn-save:active{transform:translateY(0)}.edit-metadata-modal-content::-webkit-scrollbar{width:8px}.edit-metadata-modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:0 12px 12px 0}.edit-metadata-modal-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.edit-metadata-modal-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:768px){.edit-metadata-modal-content{max-height:95vh;width:95%}.form-row{flex-direction:column;gap:0}.form-row .form-group{margin-bottom:24px}.edit-metadata-modal-header{padding:20px}.edit-metadata-modal-header h2{font-size:1.25rem}.edit-metadata-form{padding:20px}}.beginner-flow-builder{background:#f8fafc;display:flex;flex-direction:column;height:100vh}.flow-builder-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;display:flex;justify-content:space-between;padding:1rem 1.5rem;z-index:10}.header-left{gap:1.5rem}.header-left,.logo-container{align-items:center;display:flex}.logo-container{gap:.5rem}.logo-icon{height:32px}.logo-title{height:24px}.header-divider{background:#e2e8f0;height:32px;width:1px}.btn-back{background:#fff;border:1px solid #e53e3e;border-radius:4px;color:#e53e3e;cursor:pointer;padding:.25rem;transition:all .2s ease}.btn-back:hover{background:#fff5f5;border-color:#c53030;color:#c53030}.api-info-horizontal{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.api-info-horizontal h2{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0}.meta-item{align-items:center;color:#64748b;display:flex;font-size:.8125rem}.meta-item:not(:last-of-type):after{color:#cbd5e1;content:"•";margin-left:.75rem}.meta-description{border-left:1px solid #e2e8f0;color:#64748b;font-size:.8125rem;font-style:italic;margin-left:.25rem;max-width:300px;overflow:hidden;padding-left:.75rem;text-overflow:ellipsis;white-space:nowrap}.method-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:.75rem;padding:.25rem .75rem}.method-get{background:#22c55e;border:none;color:#fff}.method-post{background:#3b82f6;border:none;color:#fff}.method-put{background:#f59e0b;border:none;color:#fff}.method-delete{background:#ef4444;border:none;color:#fff}.method-patch{background:#8b5cf6;border:none;color:#fff}.status-text{text-transform:capitalize}.status-text.status-draft{color:#64748b}.status-text.status-published{color:#16a34a}.status-text.status-deployed{color:#2563eb}.endpoint-text{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;padding:.25rem .75rem}.description-text{color:#64748b;font-size:.8125rem;font-style:italic;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mode-badge{background:linear-gradient(135deg,#e53e3e,#f56565);border-radius:12px;box-shadow:0 2px 4px #e53e3e33;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.beginner-badge{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 2px 4px #e53e3e33}50%{box-shadow:0 2px 8px #e53e3e66}}.header-right{align-items:center;display:flex;flex-shrink:0;gap:.75rem;margin-left:auto}.btn-deploy,.btn-edit-metadata,.btn-generate,.btn-help,.btn-publish,.btn-save,.btn-test,.btn-undeploy{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s ease;white-space:nowrap}.btn-help{background:#fff;border:1px solid #e53e3e;color:#e53e3e}.btn-help:hover{background:#fed7d7}.btn-help.highlight-pulse{animation:helpPulse 1.5s ease-in-out infinite;background:#e53e3e;box-shadow:0 0 0 0 #e53e3eb3;color:#fff}@keyframes helpPulse{0%{box-shadow:0 0 0 0 #e53e3eb3;transform:scale(1)}50%{box-shadow:0 0 0 10px #e53e3e00;transform:scale(1.05)}to{box-shadow:0 0 0 0 #e53e3e00;transform:scale(1)}}.btn-edit-metadata{background:#fff;border:1px solid #e53e3e;color:#e53e3e}.btn-edit-metadata:hover{background:#fed7d7}.btn-generate{background:linear-gradient(135deg,#e53e3e,#f56565);box-shadow:0 2px 4px #e53e3e33;color:#fff}.btn-generate:hover{box-shadow:0 4px 12px #e53e3e66;transform:translateY(-1px)}.btn-save{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 4px #10b98133;color:#fff}.btn-save:hover{box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.btn-publish{background:linear-gradient(135deg,#e53e3e,#f56565);box-shadow:0 2px 4px #e53e3e33;color:#fff}.btn-publish:hover{box-shadow:0 4px 12px #e53e3e66;transform:translateY(-1px)}.btn-deploy{background:#2196f3;box-shadow:0 2px 4px #2196f333;color:#fff}.btn-deploy:hover{background:#1976d2;box-shadow:0 4px 12px #2196f366;transform:translateY(-1px)}.btn-deploy:disabled{background:#9e9e9e;cursor:not-allowed;opacity:.7}.btn-test{background:#ff9800;box-shadow:0 2px 4px #ff980033;color:#fff}.btn-test:hover{background:#f57c00;box-shadow:0 4px 12px #ff980066;transform:translateY(-1px)}.btn-undeploy{background:#f44336;box-shadow:0 2px 4px #f4433633;color:#fff}.btn-undeploy:hover{background:#d32f2f;box-shadow:0 4px 12px #f4433666;transform:translateY(-1px)}.help-panel{background:linear-gradient(135deg,#fff5f5,#fed7d7);border-bottom:1px solid #fc8181;padding:1rem 1.5rem}.help-content h3{color:#c53030;font-size:1rem;margin:0 0 .75rem}.help-content ol{color:#e53e3e;font-size:.875rem;line-height:1.8;margin:0 0 1rem;padding-left:1.5rem}.help-content ol li{margin-bottom:.5rem}.help-content ol li strong,.help-tip{color:#c53030}.help-tip{background:#fff;border-left:3px solid #e53e3e;border-radius:4px;font-size:.875rem;padding:.75rem 1rem}.flow-builder-content{display:flex;flex:1 1;overflow:hidden}.node-palette{background:#f8fafc;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;overflow-y:auto;width:220px}.palette-section{border-bottom:1px solid #e2e8f0;padding:.75rem}.palette-section-title{color:#64748b;font-size:.6875rem;font-weight:600;letter-spacing:.5px;margin:0 0 .625rem;padding:0 .25rem;text-transform:uppercase}.palette-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}.palette-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:grab;display:flex;flex-direction:column;gap:.375rem;padding:.625rem .5rem;transition:all .15s ease}.palette-item:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.palette-item:active{cursor:grabbing;transform:scale(.98)}.palette-item.disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.palette-item-icon{align-items:center;border-radius:6px;color:#fff;display:flex;height:32px;justify-content:center;width:32px}.palette-item-icon svg{height:18px;width:18px}.palette-item-label{color:#334155;font-size:.6875rem;font-weight:500;line-height:1.2;text-align:center}.palette-instructions{align-items:center;background:#fff;border-top:1px solid #e2e8f0;color:#94a3b8;display:flex;font-size:.6875rem;gap:.375rem;justify-content:center;margin-top:auto;padding:.75rem 1rem}.node-list,.node-palette h3,.palette-node{display:none}.flow-canvas{background:#f8fafc;flex:1 1;position:relative}.flow-info-panel{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:.5rem 1rem}.flow-stats{color:#64748b;display:flex;font-size:.75rem;font-weight:500;gap:.75rem}.config-panel{background:#fff;border-left:1px solid #e2e8f0;overflow-y:auto;width:320px}.config-placeholder{align-items:center;color:#64748b;display:flex;flex-direction:column;height:100%;justify-content:center;padding:2rem;text-align:center}.config-placeholder h3{color:#334155;font-size:1rem;margin:1rem 0 .5rem}.config-placeholder p{font-size:.875rem;margin:0}.node-config{display:flex;flex-direction:column;height:100%}.config-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.config-header h3{color:#1e293b;font-size:1rem;font-weight:600;margin:0}.btn-close-config{align-items:center;background:#fff;border:none;border-radius:4px;color:#64748b;cursor:pointer;display:flex;font-size:1.5rem;height:28px;justify-content:center;transition:all .2s ease;width:28px}.btn-close-config:hover{background:#e2e8f0;color:#1e293b}.config-body{flex:1 1;overflow-y:auto;padding:1.5rem}.config-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.btn-cancel-config{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s ease}.btn-cancel-config:hover{background:#f1f5f9;border-color:#94a3b8;color:#475569}.btn-save-config{align-items:center;background:linear-gradient(135deg,#e53e3e,#f56565);border:none;border-radius:6px;box-shadow:0 2px 4px #e53e3e33;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s ease}.btn-save-config:hover{box-shadow:0 4px 12px #e53e3e66;transform:translateY(-1px)}.node-config-form{display:flex;flex-direction:column;gap:1rem;padding:.5rem 0}.node-config-form .form-group{display:flex;flex-direction:column;gap:.375rem}.form-grid-2col{grid-gap:1rem 2rem;display:grid;gap:1rem 2rem;grid-template-columns:1fr 1fr}.form-grid-2col .form-group{margin-bottom:0}.form-grid-2col .form-group.full-width{grid-column:1/-1}.node-config-form label{color:#605e5c;font-size:.75rem;font-weight:400;letter-spacing:.02em;text-transform:uppercase}.node-config-form input[type=number],.node-config-form input[type=text],.node-config-form select,.node-config-form textarea{background:#fff;border:1px solid #8a8886;border-radius:2px;color:#323130;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.875rem;padding:.5rem .75rem;transition:border-color .1s ease}.node-config-form input[type=number]:hover,.node-config-form input[type=text]:hover,.node-config-form select:hover,.node-config-form textarea:hover{border-color:#323130}.node-config-form input[type=number]:focus,.node-config-form input[type=text]:focus,.node-config-form select:focus,.node-config-form textarea:focus{border-color:#0078d4;border-width:2px;outline:none;padding:calc(.5rem - 1px) calc(.75rem - 1px)}.node-config-form input::placeholder,.node-config-form textarea::placeholder{color:#a19f9d;font-style:italic}.node-config-form textarea{min-height:60px;resize:vertical}.node-config-form small{color:#a19f9d;font-size:.7rem;margin-top:.125rem}.node-config-form label input[type=checkbox]{accent-color:#0078d4;cursor:pointer;height:18px;margin-right:.5rem;width:18px}.react-flow__node{cursor:pointer}.react-flow__node.selected{box-shadow:0 0 0 3px #e53e3e80}.react-flow__edge-path{stroke:#94a3b8;stroke-width:1px}.react-flow__edge.selected .react-flow__edge-path{stroke:#64748b;stroke-width:1px}.react-flow__edge:hover .react-flow__edge-path{stroke:#64748b}.react-flow__handle{background:#94a3b8!important;border:2px solid #fff!important;box-shadow:0 1px 3px #0003;height:8px!important;width:8px!important}.react-flow__handle:hover{background:#64748b!important}.react-flow__handle-left{left:-4px!important}.react-flow__handle-right{right:-4px!important}.react-flow__handle-top{top:-4px!important}.react-flow__handle-bottom{bottom:-4px!important}.code-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1400px;width:95%}.code-modal-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:1px solid #e2e8f0;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.code-modal-header h2{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0}.modal-close-btn{align-items:center;background:#f1f5f9;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;transition:all .2s ease;width:40px}.modal-close-btn:hover{background:#e2e8f0;color:#1e293b}.code-modal-body{display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding:0}.code-modal-body>p{color:#334155;font-size:.9375rem;margin:0 0 1.5rem}.code-modal-body>:not(.code-preview-container){padding:2rem}.language-options{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}.language-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;font-size:.875rem;font-weight:600;gap:.5rem;padding:1.5rem 1rem;transition:all .2s ease}.language-btn:hover{background:#fafafa;border-color:#d1d5db;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.language-btn.active{background:#fef2f2!important;border-color:#ef4444!important;box-shadow:0 4px 12px #ef444433!important}.code-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:1rem 1.5rem}.code-info p{color:#333;font-size:.875rem;margin:0 0 .5rem}.code-info ul{color:#666;font-size:.875rem;margin:0;padding-left:1.5rem}.code-info ul li{margin-bottom:.25rem}.code-modal-actions{border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}.btn-download{background:linear-gradient(135deg,#e53e3e,#f56565);border-radius:8px;font-size:.9375rem;padding:.75rem 1.5rem}.btn-download:hover{box-shadow:0 8px 16px #e53e3e66;transform:translateY(-2px)}@media (max-width:1024px){.node-palette{width:240px}.config-panel{width:280px}}@media (max-width:768px){.flow-builder-content{flex-direction:column}.config-panel,.node-palette{max-height:200px;width:100%}.language-options{grid-template-columns:1fr}}.method-info-banner{background:linear-gradient(135deg,#e53e3e,#f56565);border-radius:8px;color:#fff;display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem;padding:.75rem 1rem}.method-info-banner strong{font-size:.875rem;font-weight:600;letter-spacing:.5px}.method-info-banner small{font-size:.75rem;opacity:.9}.info-message,.loading-message{border-radius:6px;font-size:.875rem;padding:.75rem;text-align:center}.loading-message{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.info-message{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.checkbox-label{gap:.5rem;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{margin:0;width:auto}.checkbox-label span{font-weight:500}.node-config-form .form-group:last-child{margin-bottom:0}.node-config-form input[type=number],.node-config-form input[type=text],.node-config-form select,.node-config-form textarea{width:100%}.node-config-form textarea{font-family:Consolas,Monaco,monospace}.code-modal-header{background:linear-gradient(135deg,#f8fafc,#fff)!important;border-bottom:1px solid #e2e8f0!important}.btn-download{align-items:center;background:#ef4444;border:none;border-radius:6px;box-shadow:0 2px 8px #ef44444d;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s ease}.btn-download:hover{background:#dc2626;box-shadow:0 4px 12px #ef444466;transform:translateY(-1px)}.btn-secondary{border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s ease}.btn-secondary:hover{background:#f9fafb}.btn-edit{align-items:center;background:linear-gradient(135deg,#e53e3e,#f56565)!important;border:none!important;border-radius:6px;box-shadow:0 2px 4px #e53e3e33;color:#fff!important;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;padding:.625rem 1.25rem;transition:all .2s ease}.btn-edit:hover{background:linear-gradient(135deg,#c53030,#e53e3e)!important;box-shadow:0 4px 12px #e53e3e66;color:#fff!important;transform:translateY(-1px)}.btn-view{align-items:center;background:#fff;border:1px solid #e53e3e;border-radius:6px;box-shadow:none;color:#e53e3e;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s ease}.btn-view:hover{background:#fed7d7;transform:translateY(-1px)}.btn-back{align-items:center;display:flex;height:40px;justify-content:center;padding:.5rem;width:40px}.beginner-flow-builder.read-mode .node-palette{opacity:.5;pointer-events:none}.toast-notification{animation:slideUp .3s ease-out!important;border-radius:6px!important;bottom:20px!important;box-shadow:0 4px 12px #00000026!important;display:inline-block!important;font-weight:500!important;height:auto!important;left:50%!important;max-height:60px!important;max-width:500px!important;min-height:auto!important;overflow:hidden!important;padding:10px 20px!important;position:fixed!important;top:auto!important;transform:translateX(-50%)!important;white-space:nowrap!important;width:-webkit-fit-content!important;width:fit-content!important;z-index:10000!important}.toast-notification,.toast-notification span{font-size:14px!important;line-height:1.4!important}.toast-notification span{display:inline!important}.beginner-flow-builder .toast-notification.toast-success{background:#10b981!important;color:#fff!important}.beginner-flow-builder .toast-notification.toast-error{background:#ef4444!important;color:#fff!important}.beginner-flow-builder .toast-notification.toast-info{background:#3b82f6!important;color:#fff!important}.code-preview-container{background:#fff;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.code-file-tabs{background:#f3f4f6;border-bottom:1px solid #e5e7eb;display:flex;gap:6px;overflow-x:auto;padding:12px 16px}.file-tab{border-radius:6px;color:#6b7280;font-size:.875rem;padding:10px 18px;transition:all .2s}.file-tab:hover{background:#ffffffb3;color:#374151}.file-tab.active{box-shadow:0 1px 3px #0000001a;color:#1e293b}.code-editor{flex:1 1;min-height:0;overflow:hidden}.code-editor-header,.code-file-name{display:none}.btn-copy-code{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;cursor:pointer;font-size:.875rem;font-weight:600;padding:10px 20px;transition:all .2s}.btn-copy-code:hover{background:#f8fafc;border-color:#1e293b;transform:translateY(-1px)}.code-content{background:#fff;color:#1f2937;flex:1 1;font-family:Monaco,Cascadia Code,Consolas,Courier New,monospace;font-size:14px;line-height:1.8;margin:0;min-height:0;overflow:auto;padding:70px 24px 24px}.code-content code{display:block;font-family:inherit;white-space:pre}.btn-preview{align-items:center;background:#ef4444;border:none;border-radius:8px;box-shadow:0 4px 12px #ef44444d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.875rem 2rem;transition:all .2s ease}.btn-preview:hover:not(:disabled){background:#dc2626;box-shadow:0 6px 16px #ef444466;transform:translateY(-2px)}.btn-preview:disabled{background:#fca5a5;box-shadow:none;cursor:not-allowed;opacity:1}.code-modal{display:flex!important;flex-direction:column!important;height:92vh!important;max-height:92vh!important;max-width:1600px!important;width:98%!important}.code-modal .code-modal-body{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.config-section{border-bottom:1px solid #e2e8f0;margin-bottom:1.5rem;padding-bottom:1.5rem}.config-section:last-child{border-bottom:none;margin-bottom:0}.section-header{margin-bottom:1rem}.section-header h4{color:#1e293b;font-size:.95rem;font-weight:600;margin:0 0 .25rem}.section-header small{color:#64748b;font-size:.8rem}.empty-state-small{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;margin-bottom:.75rem;padding:1rem;text-align:center}.empty-state-small p{color:#64748b;font-size:.875rem;margin:0}.empty-state-small small{color:#94a3b8;font-size:.75rem}.body-fields-list,.parameters-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.body-field-item,.parameter-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem}.body-field-row,.parameter-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.field-name-input,.param-name-input{border:1px solid #cbd5e1;border-radius:6px;flex:1 1;font-size:.875rem;min-width:120px;padding:.5rem}.param-location-select{width:90px}.field-type-select,.param-location-select,.param-type-select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;font-size:.875rem;padding:.5rem}.field-type-select,.param-type-select{width:100px}.field-required-label,.nested-required-label,.param-required-label{align-items:center;color:#64748b;cursor:pointer;display:flex;font-size:.75rem;gap:.25rem;white-space:nowrap}.field-required-label input,.nested-required-label input,.param-required-label input{margin:0;width:auto}.field-required-label span,.param-required-label span{background:#e2e8f0;border-radius:4px;font-weight:500;padding:.25rem .5rem}.field-required-label input:checked+span,.param-required-label input:checked+span{background:#3b82f6;color:#fff}.remove-field-btn,.remove-nested-btn,.remove-param-btn{align-items:center;background:#fee2e2;border:none;border-radius:6px;color:#dc2626;cursor:pointer;display:flex;font-size:1.25rem;font-weight:500;height:28px;justify-content:center;transition:all .2s ease;width:28px}.remove-field-btn:hover,.remove-nested-btn:hover,.remove-param-btn:hover{background:#fecaca}.field-description-input,.field-example-input,.param-description-input{border:1px solid #e2e8f0;border-radius:6px;color:#64748b;font-size:.8rem;margin-top:.25rem;padding:.5rem;width:100%}.field-description-input::placeholder,.field-example-input::placeholder,.param-description-input::placeholder{color:#94a3b8}.add-field-btn,.add-param-btn{background:#f1f5f9;border:1px dashed #94a3b8;border-radius:8px;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:500;padding:.625rem 1rem;transition:all .2s ease;width:100%}.add-field-btn:hover,.add-param-btn:hover{background:#e2e8f0;border-color:#64748b;color:#475569}.nested-fields-section{background:#fff;border:1px solid #e2e8f0;border-radius:6px;margin-top:.75rem;padding:.75rem}.nested-fields-header{margin-bottom:.5rem}.nested-fields-header small{color:#64748b;font-weight:500}.nested-field-row{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.nested-field-name{flex:1 1;min-width:80px}.nested-field-name,.nested-field-type{border:1px solid #cbd5e1;border-radius:4px;font-size:.8rem;padding:.375rem .5rem}.nested-field-type{background:#fff;width:80px}.nested-required-label span{background:#e2e8f0;border-radius:3px;font-size:.7rem;padding:.125rem .375rem}.nested-required-label input:checked+span{background:#3b82f6;color:#fff}.remove-nested-btn{font-size:1rem;height:24px;width:24px}.add-nested-btn{background:#0000;border:1px dashed #cbd5e1;border-radius:4px;color:#64748b;cursor:pointer;font-size:.75rem;padding:.375rem .75rem;transition:all .2s ease;width:100%}.add-nested-btn:hover{background:#f8fafc;border-color:#94a3b8}.array-item-type{align-items:center;display:flex;gap:.5rem;margin-top:.5rem}.array-item-type label{color:#64748b;font-size:.8rem;margin:0}.array-item-type select{background:#fff;border:1px solid #cbd5e1;border-radius:4px;font-size:.8rem;padding:.375rem .5rem}.json-preview{background:#f3f2f1;border:1px solid #edebe9;border-radius:4px;margin-top:1rem;overflow:visible}.json-preview-header{background:#edebe9;padding:.5rem .75rem}.json-preview-header small{color:#605e5c;font-weight:500}.json-preview-content{color:#323130;font-family:Segoe UI,Monaco,monospace;font-size:.75rem;margin:0;max-height:none;overflow:visible;padding:.75rem;white-space:pre-wrap;word-break:break-word}.hint-text{color:#3b82f6;display:block;font-size:.8rem;font-weight:500;margin-bottom:.25rem}.node-config-form .method-info-banner{border:none;border-radius:8px;color:#fff;margin-bottom:1.25rem;padding:1rem}.node-config-form .method-info-banner strong{color:#fff;display:block;font-size:1rem;margin-bottom:.25rem}.node-config-form .method-info-banner small{color:#fff;display:block;font-size:.85rem;opacity:.9}.config-panel{max-width:800px;min-width:280px;position:relative;transition:box-shadow .2s ease}.config-panel.resizing{-webkit-user-select:none;user-select:none}.config-panel .resize-handle{background:#0000;bottom:0;cursor:ew-resize;left:0;position:absolute;top:0;transition:background .2s ease;width:6px;z-index:10}.config-panel .resize-handle:before{background:#cbd5e1;border-radius:2px;content:"";height:40px;left:2px;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:2px}.config-panel .resize-handle:hover{background:#3b82f61a}.config-panel .resize-handle:hover:before{background:#3b82f6;height:60px;width:3px}.config-panel.resizing .resize-handle{background:#3b82f626}.config-panel.resizing .resize-handle:before{background:#2563eb;height:80px;width:3px}@keyframes successEdgeFlow{0%{stroke-dashoffset:10}to{stroke-dashoffset:0}}@keyframes errorEdgeFlow{0%{stroke-dashoffset:10}to{stroke-dashoffset:0}}.logic-node-container{position:relative}.logic-node-handle-label{font-size:9px;font-weight:500;pointer-events:none;position:absolute}.logic-node-handle-label.success{color:#22c55e;right:-45px;top:25%}.logic-node-handle-label.error{color:#ef4444;right:-35px;top:65%}.output-node-success{background:#f0fdf4!important;border-color:#22c55e!important}.output-node-error{background:#fef2f2!important;border-color:#ef4444!important}.react-flow__handle[data-handleid=success]:hover{box-shadow:0 0 8px #22c55e;transform:scale(1.3)}.react-flow__handle[data-handleid=error]:hover{box-shadow:0 0 8px #ef4444;transform:scale(1.3)}.logs-container{background:#f8fafc;min-height:100vh;padding:2rem 2rem 0}.logs-header{align-items:center;background:#0000;border-radius:0;box-shadow:none;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:0}.logs-header h1{background:#0000;color:#1e293b;font-size:1.75rem;font-weight:700;margin:0 0 .25rem}.logs-actions{align-items:center;display:flex;gap:12px}.auto-refresh-toggle{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:8px}.auto-refresh-toggle input[type=checkbox]{cursor:pointer;height:18px;width:18px}.btn-clear,.btn-refresh{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.btn-refresh{background:#2196f3;color:#fff}.btn-refresh:hover{background:#1976d2}.btn-clear{background:#f44336;color:#fff}.btn-clear:hover{background:#d32f2f}.logs-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.stat-card{background:#fff;border-left:4px solid #2196f3;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.stat-card.error{border-left-color:#f44336}.stat-card.warning{border-left-color:#ff9800}.stat-value{color:#333;font-size:32px;font-weight:700;margin-bottom:8px}.stat-label{color:#666;font-size:14px;letter-spacing:.5px;text-transform:uppercase}.logs-filters{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:16px}.logs-filters input,.logs-filters select{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;padding:10px 14px;transition:border-color .3s ease}.logs-filters input:focus,.logs-filters input:hover,.logs-filters select:focus,.logs-filters select:hover{border-color:#2196f3;outline:none}.path-filter{flex:1 1;min-width:200px}.logs-content{box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;height:calc(100vh - 450px)}.log-card,.logs-content{background:#fff;border-radius:8px}.log-card{border:1px solid #e0e0e0;border-left:4px solid #2196f3;box-shadow:0 2px 4px #0000000d;padding:16px;transition:all .3s ease}.log-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.log-card-error{background:#fff8f8;border-left-color:#f44336}.log-card-warning{background:#fffbf5;border-left-color:#ff9800}.log-card-info{border-left-color:#2196f3}.log-card-debug{background:#fafafa;border-left-color:#9e9e9e}.log-card-header{justify-content:space-between;margin-bottom:12px}.log-card-header,.log-card-left{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.log-card-right{align-items:center;display:flex}.log-level-badge{color:#fff;font-weight:700;padding:4px 12px}.log-level-badge,.log-type-badge{border-radius:4px;display:inline-block;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.log-type-badge{font-weight:600;padding:4px 10px}.log-type-badge.type-app{background:#e8f5e9;border:1px solid #a5d6a7;color:#2e7d32}.log-type-badge.type-http{background:#e3f2fd;border:1px solid #90caf9;color:#1565c0}.log-category-badge{border:1px solid #e0e0e0;border-radius:4px;color:#555;display:inline-block;font-weight:500}.log-category-badge,.log-timestamp-badge{background:#f5f5f5;font-size:12px;padding:4px 10px}.log-timestamp-badge{border-radius:4px;color:#666;font-family:monospace;white-space:nowrap}.log-card-body{margin-bottom:12px}.log-message-main h3{color:#333;font-size:16px;font-weight:600;line-height:1.4;margin:0 0 8px}.log-metadata-preview{background:#f9f9f9;border-left:3px solid #2196f3;border-radius:4px;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:12px}.metadata-item{display:flex;font-size:13px;gap:8px;line-height:1.5}.metadata-key{color:#666;font-weight:600;min-width:100px}.metadata-value{color:#333;word-break:break-word}.log-http-main h3{align-items:center;color:#333;display:flex;flex-wrap:wrap;font-size:16px;font-weight:600;gap:10px;margin:0 0 8px}.http-method{background:#333;border-radius:4px;color:#fff;font-family:monospace;font-size:13px;font-weight:700;padding:4px 8px}.http-path{color:#555;font-family:monospace;font-size:14px;word-break:break-all}.http-details{display:flex;flex-wrap:wrap;font-size:13px;gap:16px;margin-top:8px}.http-status{font-weight:600}.http-duration,.http-ip{color:#666;font-family:monospace}.log-card-footer{border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;padding-top:8px}.btn-view-details-card{background:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .3s ease}.btn-view-details-card:hover{background:#1976d2;box-shadow:0 2px 6px #2196f34d}.logs-table{flex:1 1;overflow:auto;position:relative}.logs-table table{border-collapse:collapse;width:100%}.logs-table thead{background:#f5f5f5;border-bottom:2px solid #e0e0e0;position:-webkit-sticky;position:sticky;top:0;z-index:10}.logs-table th{background:#f5f5f5;color:#666;font-size:13px;font-weight:600;letter-spacing:.5px;padding:14px 12px;text-align:left;text-transform:uppercase}.logs-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.logs-table tbody tr:hover{background-color:#fafafa}.logs-table td{color:#333;font-size:14px;padding:12px}.log-timestamp{color:#666;font-family:monospace;font-size:12px;white-space:nowrap}.log-level{border-radius:4px;color:#fff;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.log-method{color:#333;font-family:monospace;font-size:13px;font-weight:600}.log-path{color:#555;font-family:monospace;font-size:12px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-status{font-size:14px;font-weight:600}.log-duration{color:#666;font-family:monospace;font-size:13px}.log-category{background:#e3f2fd;border-radius:4px;color:#1976d2;display:inline-block;font-size:12px;font-weight:500;padding:4px 10px}.log-ip{color:#666;font-family:monospace;font-size:12px}.log-type{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.log-type.type-app{background:#e8f5e9;color:#2e7d32}.log-type.type-http{background:#e3f2fd;color:#1565c0}.log-message{max-width:500px}.message-content{background:#0000;display:flex;flex-direction:column;gap:4px}.message-text{background:#0000;color:#333;font-size:13px;line-height:1.4}.message-method{color:#666;font-family:monospace;font-size:11px}.http-content{align-items:center;display:flex;gap:8px}.log-message-box{background:#f5f5f5;border-left:4px solid #2196f3;border-radius:6px;color:#333;font-size:14px;line-height:1.6;padding:16px}.btn-view-details{background:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 14px;transition:background .3s ease}.btn-view-details:hover{background:#1976d2}.no-logs{color:#999;font-style:italic;padding:40px!important;text-align:center}.loading{color:#666;font-size:16px;padding:40px;text-align:center}.log-details-modal{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.log-details-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:900px;overflow-y:auto;width:100%}.log-details-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.log-details-header h2{color:#333;font-size:24px;margin:0}.btn-close{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:32px;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.btn-close:hover{background:#f5f5f5;color:#333}.log-details-body{padding:24px}.detail-section{margin-bottom:24px}.detail-section h3{border-bottom:2px solid #2196f3;color:#333;font-size:18px;margin:0 0 16px;padding-bottom:8px}.detail-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-item{background:#f9f9f9;border-radius:6px;font-size:14px;padding:12px}.detail-item strong{color:#666;display:block;font-size:12px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.error-viewer,.json-viewer{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;font-family:Courier New,monospace;font-size:13px;line-height:1.6;overflow-x:auto;padding:16px}.error-section h3{border-bottom-color:#f44336}.error-viewer{background:#ffebee;border-color:#f44336;color:#c62828}.user-agent{background:#f9f9f9;border-radius:6px;color:#666;font-family:monospace;font-size:12px;padding:12px;word-break:break-all}@media (max-width:768px){.logs-header{align-items:flex-start;flex-direction:column;gap:16px}.logs-actions{justify-content:space-between;width:100%}.logs-filters{flex-direction:column}.logs-filters input,.logs-filters select{width:100%}.logs-stats{grid-template-columns:1fr}.logs-timeline{gap:12px;padding:12px}.log-card{padding:12px}.log-card-header{align-items:flex-start;flex-direction:column}.log-card-left,.log-card-right{width:100%}.log-http-main h3,.log-message-main h3{font-size:14px}.http-method{font-size:11px}.http-path,.logs-table{font-size:12px}.logs-table td,.logs-table th{padding:8px 6px}.detail-grid{grid-template-columns:1fr}}.log-row.log-error{background-color:#ffebee}.log-row.log-warning{background-color:#fff3e0}.log-row.log-error:hover{background-color:#ffcdd2}.log-row.log-warning:hover{background-color:#ffe0b2}:root{--omnave-primary:#e53e3e;--omnave-primary-hover:#c53030;--omnave-primary-light:#fed7d7;--omnave-secondary:#38a169;--omnave-accent:#f56565;--omnave-dark:#1a1b23;--omnave-gray-50:#f7fafc;--omnave-gray-100:#edf2f7;--omnave-gray-200:#e2e8f0;--omnave-gray-300:#cbd5e0;--omnave-gray-400:#a0aec0;--omnave-gray-500:#718096;--omnave-gray-600:#4a5568;--omnave-gray-700:#2d3748;--omnave-gray-800:#1a202c;--omnave-gray-900:#171923}.auth-container{align-items:center;background:linear-gradient(135deg,#fef1f1,#fca5a5 50%,#dc2626);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.auth-container:before{background:linear-gradient(135deg,#e53e3e1a,#f565650d 50%,#fed7d71a);bottom:0;left:0;right:0;top:0}.auth-container:after,.auth-container:before{content:"";pointer-events:none;position:absolute}.auth-container:after{animation:float 20s ease-in-out infinite;background:radial-gradient(circle,#e53e3e14 0,#0000 70%);height:600px;right:-300px;top:-300px;width:600px}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(10deg)}}.auth-card{animation:slideUp .4s ease;background:#fff;border-radius:16px;box-shadow:0 20px 40px #e53e3e26,0 0 0 1px #e53e3e0d;display:flex;flex-direction:column;max-height:85vh;max-width:500px;overflow:hidden;position:relative;width:100%;z-index:10}.auth-card-large{max-width:680px}.auth-card-header{flex-shrink:0;padding:35px 40px 0}.auth-card-content{flex:1 1;overflow-y:auto;padding:25px 40px 35px;scrollbar-color:#fed7d7 #edf2f7;scrollbar-color:var(--omnave-primary-light) var(--omnave-gray-100);scrollbar-width:thin}.auth-card-content::-webkit-scrollbar{width:8px}.auth-card-content::-webkit-scrollbar-track{background:#edf2f7;background:var(--omnave-gray-100);border-radius:4px}.auth-card-content::-webkit-scrollbar-thumb{background:#fed7d7;background:var(--omnave-primary-light);border-radius:4px}.auth-card-content::-webkit-scrollbar-thumb:hover{background:#e53e3e;background:var(--omnave-primary)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-logo-section{border-bottom:2px solid #edf2f7;border-bottom:2px solid var(--omnave-gray-100);flex-direction:column;margin-bottom:20px;padding-bottom:20px}.auth-logo-section,.logo-row{align-items:center;display:flex}.logo-row{gap:16px;margin-bottom:8px}.logo-icon{filter:drop-shadow(0 4px 6px rgba(229,62,62,.1));height:42px}.logo-icon,.logo-title{object-fit:contain;width:auto}.logo-title{height:36px}.tagline{color:#718096;color:var(--omnave-gray-500);font-size:11px;font-weight:500;letter-spacing:1px;margin-top:6px;text-transform:uppercase}.auth-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#e53e3e,#f56565);-webkit-background-clip:text;background-clip:text;color:#e53e3e;font-size:20px;font-weight:600;margin-bottom:20px;margin-top:0;text-align:center}.auth-subtitle{color:#718096;color:var(--omnave-gray-500);font-size:14px;margin-bottom:28px;margin-top:-4px;text-align:center}.auth-form{width:100%}.form-group{flex:1 1;margin-bottom:20px}.form-group:last-of-type{margin-bottom:24px}.form-row{display:flex;gap:20px;margin-bottom:0}.form-group label{color:#2d3748;color:var(--omnave-gray-700);display:block;font-size:12px;font-weight:600;letter-spacing:.4px;margin-bottom:6px;text-transform:uppercase}.form-input{background-color:#fff;border:1.5px solid #e2e8f0;border:1.5px solid var(--omnave-gray-200);border-radius:8px;font-size:14px;padding:10px 14px;transition:all .3s ease;width:100%}.form-input:focus{background-color:#f7fafc;background-color:var(--omnave-gray-50);box-shadow:0 0 0 3px #e53e3e1a;outline:none}.form-input.error,.form-input:focus{border-color:#e53e3e;border-color:var(--omnave-primary)}.form-input.error{background-color:#fff5f5}.form-input::placeholder{color:#a0aec0;color:var(--omnave-gray-400)}.field-error{color:#e53e3e;color:var(--omnave-primary);display:block;font-size:11px;font-weight:500;margin-top:4px}.checkbox-group{margin-bottom:20px}.checkbox-label{color:#4a5568;color:var(--omnave-gray-600);transition:color .2s ease}.checkbox-label:hover{color:#1a202c;color:var(--omnave-gray-800)}.checkbox-label input[type=checkbox]{accent-color:#e53e3e;accent-color:var(--omnave-primary);margin-right:8px}.organization-fields{background:linear-gradient(135deg,#fff5f5,#fafafa);border:1px solid #e53e3e26;border-radius:8px;margin-bottom:20px;margin-top:20px;padding:18px}.submit-button{align-items:center;background:linear-gradient(135deg,#e53e3e,#f56565);background:linear-gradient(135deg,var(--omnave-primary) 0,var(--omnave-accent) 100%);border:none;border-radius:8px;box-shadow:0 4px 12px #e53e3e33;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;line-height:20px;min-height:44px;overflow:visible;padding:12px 24px;position:relative;text-rendering:optimizeLegibility;transition:all .3s ease;width:100%}.submit-button:before{background:linear-gradient(135deg,#0000,#ffffff1a 50%,#0000);content:"";height:100%;left:0;position:absolute;top:0;transform:translateX(-100%);transition:transform .6s;width:100%}.submit-button:hover:before{transform:translateX(100%)}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,#c53030,#e53e3e);background:linear-gradient(135deg,var(--omnave-primary-hover) 0,var(--omnave-primary) 100%);box-shadow:0 6px 20px #e53e3e4d;transform:translateY(-2px)}.submit-button:active:not(:disabled){box-shadow:0 2px 8px #e53e3e33;transform:translateY(0)}.submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.error-message{align-items:center;background:linear-gradient(135deg,#fff5f5,#fed7d7);background:linear-gradient(135deg,#fff5f5 0,var(--omnave-primary-light) 100%);border:1px solid #e53e3e33;border-radius:8px;color:#c53030;color:var(--omnave-primary-hover);display:flex;font-size:13px;gap:8px;margin-bottom:18px;padding:12px}.error-message:before{content:"⚠";font-size:18px}.success-message{align-items:center;background:linear-gradient(135deg,#f0fdf4,#d1fae5);border:1px solid #10b98133;border-radius:6px;color:#065f46;display:flex;font-size:12px;gap:8px;margin-bottom:16px;padding:10px}.success-message:before{color:#38a169;color:var(--omnave-secondary);content:"✓";font-size:18px}.auth-footer{border-top:1px solid #edf2f7;border-top:1px solid var(--omnave-gray-100);margin-top:22px;padding-top:22px;text-align:center}.auth-footer p{color:#4a5568;color:var(--omnave-gray-600);font-size:14px}.account-type-section{background:linear-gradient(135deg,#fafafa,#f7fafc);background:linear-gradient(135deg,#fafafa 0,var(--omnave-gray-50) 100%);border:1px solid #e2e8f0;border:1px solid var(--omnave-gray-200);border-radius:8px;margin:20px 0;padding:18px}.account-type-section h3{color:#1a202c;color:var(--omnave-gray-800);font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:14px;text-transform:uppercase}.account-type-options{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.account-type-card{background:#fff;border:1.5px solid #e2e8f0;border:1.5px solid var(--omnave-gray-200);border-radius:8px;cursor:pointer;padding:14px;position:relative;transition:all .3s ease}.account-type-card:hover{background:#e53e3e05;border-color:#fed7d7;border-color:var(--omnave-primary-light)}.account-type-card.selected{background:linear-gradient(135deg,#e53e3e0d,#f5656505);border-color:#e53e3e;border-color:var(--omnave-primary)}.account-type-card label{cursor:pointer;display:block}.account-type-card input[type=radio]{display:none}.account-type-content h4{color:#1a202c;color:var(--omnave-gray-800);font-size:14px;font-weight:600;margin-bottom:8px}.account-type-content p{color:#4a5568;color:var(--omnave-gray-600);font-size:12px;line-height:1.4;margin-bottom:10px}.account-type-content ul{list-style:none;margin:0;padding:0}.account-type-content li{color:#4a5568;color:var(--omnave-gray-600);font-size:11px;line-height:1.4;padding:4px 0}.auth-link{color:#e53e3e;color:var(--omnave-primary);font-weight:600;position:relative;text-decoration:none;transition:all .2s ease}.auth-link:after{background:#e53e3e;background:var(--omnave-primary);bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.auth-link:hover{color:#c53030;color:var(--omnave-primary-hover)}.auth-link:hover:after{width:100%}.label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.forgot-link{color:#e53e3e;color:var(--omnave-primary);font-size:12px;text-decoration:none;transition:all .2s ease}.forgot-link:hover{color:#c53030;color:var(--omnave-primary-hover);text-decoration:underline}.form-description{color:#4a5568;color:var(--omnave-gray-600);font-size:13px;line-height:1.5;margin-bottom:20px;text-align:center}.password-input-wrapper{position:relative}.password-input-wrapper .form-input{padding-right:45px}.password-toggle{align-items:center;background:#0000;border:none;color:#718096;color:var(--omnave-gray-500);cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .2s ease}.password-toggle:hover{color:#e53e3e;color:var(--omnave-primary)}.password-toggle svg{display:block}.button-text{line-height:1;padding-bottom:3px}.button-text,.loading-spinner{display:inline-block;vertical-align:middle}.loading-spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-top-color:#fff;height:16px;width:16px}.form-input.date-picker{cursor:pointer}.form-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;-webkit-transition:opacity .2s;transition:opacity .2s}.form-input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.success-container{padding:30px 20px;text-align:center}.success-container h2{align-items:center;color:#38a169;color:var(--omnave-secondary);display:flex;font-size:20px;gap:8px;justify-content:center;margin-bottom:14px}.success-container h2:before{background:linear-gradient(135deg,#38a169,#22c55e);background:linear-gradient(135deg,var(--omnave-secondary) 0,#22c55e 100%);border-radius:50%;color:#fff;content:"✓";display:inline-block;font-size:16px;height:28px;line-height:28px;width:28px}.success-container p{color:#4a5568;color:var(--omnave-gray-600);font-size:13px;line-height:1.5;margin-bottom:20px}.success-container .submit-button{margin:0 auto;max-width:180px}@media (max-width:640px){.form-row{flex-direction:column;gap:0}.auth-card{margin:0 10px;max-width:100%}.auth-card-header{padding:30px 20px 0}.auth-card-content{padding:20px}.auth-title{font-size:18px}.account-type-options{grid-template-columns:1fr}.logo-row{flex-direction:column;gap:12px}.logo-icon{height:40px}.logo-title{height:32px}}.phone-input-container{position:relative;width:100%}.phone-input-wrapper{align-items:center;background:#fff;border:2px solid var(--omnave-gray-200);border-radius:8px;display:flex;transition:all .3s ease}.phone-input-wrapper:focus-within{border-color:var(--omnave-primary);box-shadow:0 0 0 3px #e53e3e1a}.country-selector{align-items:center;border-right:1px solid var(--omnave-gray-200);cursor:pointer;display:flex;gap:4px;padding:12px 8px 12px 14px;transition:background .2s ease}.country-selector:hover{background:var(--omnave-gray-50)}.country-flag{font-size:20px;line-height:1}.country-code{color:var(--omnave-gray-700);font-size:14px;font-weight:600}.dropdown-arrow{color:var(--omnave-gray-500);font-size:10px;margin-left:2px}.phone-number-input{background:#0000;border:none;flex:1 1;font-size:14px;outline:none;padding:12px 14px}.phone-number-input::placeholder{color:var(--omnave-gray-400)}.country-dropdown{background:#fff;border:2px solid var(--omnave-gray-200);border-radius:8px;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;left:0;max-height:320px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.country-search{border:none;border-bottom:1px solid var(--omnave-gray-200);font-size:14px;outline:none;padding:12px 14px}.country-search:focus{background:var(--omnave-gray-50)}.country-list{max-height:260px;overflow-y:auto}.country-item{align-items:center;cursor:pointer;display:flex;gap:12px;padding:10px 14px;transition:background .2s ease}.country-item:hover{background:var(--omnave-gray-50)}.country-item.selected{background:var(--omnave-primary-light)}.country-name{color:var(--omnave-gray-700);flex:1 1;font-size:14px}.country-dial-code{color:var(--omnave-gray-600);font-size:13px;font-weight:600}.country-list::-webkit-scrollbar{width:6px}.country-list::-webkit-scrollbar-track{background:var(--omnave-gray-50)}.country-list::-webkit-scrollbar-thumb{background:var(--omnave-gray-300);border-radius:3px}.country-list::-webkit-scrollbar-thumb:hover{background:var(--omnave-gray-400)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#e53e3e,#f56565);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}.app{background:#fffffff2;display:flex;flex-direction:column;height:100vh}.top-bar{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;justify-content:space-between;padding:16px 24px;z-index:100}.top-bar,.top-bar-left{align-items:center;display:flex}.top-bar-left{gap:24px}.top-bar-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#e53e3e,#f56565);-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:700;letter-spacing:-.5px}.project-name-input{border:2px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;min-width:200px;padding:8px 16px;transition:all .3s ease}.project-name-input:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a;outline:none}.top-bar-controls{align-items:center;display:flex;gap:16px}.top-bar-control{align-items:center;display:flex;gap:8px}.top-bar-control label{color:#64748b;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.top-bar-control select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;min-width:120px;padding:8px 12px;transition:all .3s ease}.top-bar-control select:hover{border-color:#cbd5e1}.top-bar-control select:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a;outline:none}.top-bar-right{display:flex;gap:12px}.btn{letter-spacing:.3px}.btn-primary:hover{box-shadow:0 4px 12px #e53e3e66;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#11998e,#38ef7d);box-shadow:0 2px 8px #11998e4d;color:#fff}.btn-success:hover{box-shadow:0 4px 12px #11998e66;transform:translateY(-2px)}.app-body{background:#f8fafc;display:flex;flex:1 1;overflow:hidden}.sidebar{background:#fff;border-right:1px solid #e2e8f0;box-shadow:2px 0 4px #0000000d;overflow-y:auto;padding:24px;width:280px}.sidebar-section{margin-bottom:32px}.sidebar-section h3{align-items:center;color:#94a3b8;display:flex;font-size:12px;font-weight:700;gap:8px;letter-spacing:1px;margin-bottom:16px;text-transform:uppercase}.sidebar-section h3:after{background:#e2e8f0;content:"";flex:1 1;height:1px}.component-item{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#334155;cursor:move;display:flex;font-size:14px;font-weight:500;gap:12px;margin-bottom:8px;padding:12px 16px;transition:all .3s ease}.component-item:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#e53e3e;box-shadow:0 2px 8px #667eea26;transform:translateX(4px)}.component-item.dragging{opacity:.5;transform:scale(.95)}.component-icon{align-items:center;background:linear-gradient(135deg,#e53e3e,#f56565);border-radius:8px;color:#fff;display:flex;height:32px;justify-content:center;width:32px}.component-label{color:#334155;flex:1 1;font-weight:500}.component-info-btn{align-items:center;background:#e53e3e1a;border:none;border-radius:50%;color:#e53e3e;cursor:pointer;display:flex;height:24px;justify-content:center;opacity:0;transform:scale(.8);transition:all .2s ease;width:24px}.component-item:hover .component-info-btn{opacity:1;transform:scale(1)}.component-info-btn:hover{background:#e53e3e33;transform:scale(1.1)}.canvas{flex:1 1;padding:24px}.canvas,.canvas-container{overflow:hidden;position:relative}.canvas-container{background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;height:100%;width:100%}.react-flow__node{font-family:inherit}.react-flow__handle{background:#fff;border:2px solid #667eea;height:10px;width:10px}.react-flow__handle-connecting{background:#667eea}.react-flow__edge-path{stroke:#cbd5e1;stroke-width:2}.react-flow__edge.selected .react-flow__edge-path{stroke:#667eea;stroke-width:3}.endpoint-node,.model-node{background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #00000014;min-width:200px;padding:16px;transition:all .3s ease}.endpoint-node:hover,.model-node:hover{border-color:#cbd5e1;box-shadow:0 4px 16px #0000001f}.endpoint-node.selected,.model-node.selected{border-color:#e53e3e;box-shadow:0 0 0 3px #667eea33}.endpoint-node-header{align-items:center;display:flex;gap:12px;margin-bottom:8px}.method-badge{border-radius:6px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.method-badge.GET{background:linear-gradient(135deg,#11998e,#38ef7d)}.method-badge.POST{background:linear-gradient(135deg,#e53e3e,#f56565)}.method-badge.PUT{background:linear-gradient(135deg,#f093fb,#f5576c)}.method-badge.DELETE{background:linear-gradient(135deg,#fa709a,#fee140)}.endpoint-path{color:#334155;font-family:Courier New,monospace;font-size:14px;font-weight:600}.endpoint-description{color:#94a3b8;font-size:12px;margin-top:4px}.model-node-header{align-items:center;border-bottom:2px solid #f1f5f9;color:#334155;display:flex;font-size:16px;font-weight:700;gap:8px;margin-bottom:12px;padding-bottom:8px}.model-node-icon{align-items:center;background:linear-gradient(135deg,#e53e3e,#f56565);border-radius:6px;color:#fff;display:flex;height:24px;justify-content:center;width:24px}.model-fields{font-size:13px}.model-field{align-items:center;border-bottom:1px solid #f8fafc;display:flex;gap:8px;padding:6px 0}.model-field:last-child{border-bottom:none}.field-name{color:#475569;font-weight:600}.field-type{background:#f1f5f9;border-radius:4px;color:#94a3b8;font-size:11px;font-weight:500;padding:2px 8px}.code-editor{background:#fff;border-left:1px solid #e2e8f0;box-shadow:-2px 0 4px #0000000d;display:flex;flex-direction:column;width:400px}.code-editor-header{align-items:center;background:linear-gradient(135deg,#e53e3e,#f56565);color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.code-editor-title{align-items:center;display:flex;font-size:16px;font-weight:600;gap:8px}.code-editor-body{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.file-tabs{background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;overflow-x:auto;padding:0 8px}.file-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;font-size:13px;font-weight:500;padding:12px 20px;transition:all .3s ease;white-space:nowrap}.file-tab:hover{background:#fff;color:#334155}.file-tab.active{background:#fff;border-bottom-color:#667eea;color:#667eea;font-weight:600}.empty-state{flex-direction:column;height:100%;padding:32px;text-align:center}.empty-state,.empty-state-icon{align-items:center;display:flex;justify-content:center}.empty-state-icon{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:16px;color:#94a3b8;height:64px;margin-bottom:20px;width:64px}.empty-state-title{color:#334155;font-size:18px;font-weight:600;margin-bottom:8px}.empty-state-description{color:#94a3b8;font-size:14px;line-height:1.5;max-width:280px}.loading{align-items:center;display:flex;justify-content:center;padding:32px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f1f5f9;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.configuration-panel{animation:slideIn .3s ease-out;background:#fff;box-shadow:-4px 0 16px #0000001a;display:flex;flex-direction:column;height:100%;position:relative;width:360px}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.panel-header{background:#fff;border-bottom:1px solid #e2e8f0;color:#1e293b;justify-content:space-between;padding:20px 24px}.header-title,.panel-header{align-items:center;display:flex}.header-title{gap:12px}.header-title h3{color:#1e293b;font-size:18px;font-weight:600;letter-spacing:-.5px}.close-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .3s ease;width:32px}.close-btn:hover{background:#ffffff4d;transform:scale(1.05)}.panel-content{flex:1 1;overflow-y:auto;padding:24px}.loading-state{align-items:center;display:flex;flex-direction:column;height:200px;justify-content:center}.spinner{animation:spin 1s linear infinite;border:3px solid #f1f5f9;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:16px;width:40px}.node-info{background:#f8fafc;border-radius:12px;margin-bottom:24px;padding:16px}.info-item{border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:8px 0}.info-item:last-child{border-bottom:none}.info-label{color:#64748b;font-size:13px;font-weight:500}.info-value{color:#334155;font-family:Courier New,monospace;font-size:13px;font-weight:600}.configuration-form{gap:20px}.configuration-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-label{align-items:center;color:#334155;display:flex;font-size:14px;font-weight:600;gap:4px}.required{color:#ef4444;font-weight:700}.field-description{color:#64748b;font-size:12px;line-height:1.5;margin:0}.form-input,.form-select,.form-textarea{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;padding:10px 12px;transition:all .3s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a;outline:none}.form-input.error,.form-select.error,.form-textarea.error{border-color:#ef4444}.form-textarea{font-family:inherit;min-height:80px;resize:vertical}.form-textarea.code{font-family:Courier New,monospace;font-size:13px}.form-color{border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;height:40px;padding:4px;transition:all .3s ease;width:100%}.form-color:hover{border-color:#e53e3e}.checkbox-group{padding:8px 0}.checkbox-label{align-items:center;color:#334155;cursor:pointer;display:flex;font-size:14px;gap:12px}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.checkbox-label span{align-items:center;display:flex;font-weight:600;gap:4px}.error-message{color:#ef4444;font-size:12px;margin-top:4px}.field-group{background:#fafbfc;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.group-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;transition:background .3s ease}.group-header:hover{background:#f8fafc}.group-header h4{color:#334155;font-size:14px;font-weight:600;margin:0}.group-fields{display:flex;flex-direction:column;gap:16px;padding:16px}.panel-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:space-between;padding:20px 24px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#e53e3e,#f56565);box-shadow:0 2px 8px #e53e3e4d;color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #e53e3e66;transform:translateY(-2px)}.btn-secondary{background:#fff;border:2px solid #e2e8f0;color:#64748b}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}
/*# sourceMappingURL=main.4e6d564e.css.map*/