body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.dashboard-container{padding:1.5rem 2rem;font-family:Arial,sans-serif;max-width:100%}.env-tag{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.env-tag.local{background-color:#fef3c7;color:#92400e}.env-tag.dev{background-color:#dbeafe;color:#1e40af}.env-tag.prod{background-color:#fee2e2;color:#991b1b}.auth-error-banner{margin:0 0 1rem;padding:.75rem 1rem;border-radius:6px}.landing-message{text-align:center;padding:4rem 2rem;max-width:500px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh}.landing-message h2{color:#1f2937;margin-bottom:1rem;font-size:1.75rem}.landing-message p{color:#6b7280;line-height:1.6;margin-bottom:2rem}.landing-message .auth-button{margin-top:1rem}.schedule-button{color:#4338ca;background-color:#eef2ff;box-shadow:0 1px 2px rgba (0,0,0,.05)}.refresh-button{display:flex;align-items:center;justify-content:center;width:60px;height:60px;padding:0;background-color:transparent;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease}.refresh-button:hover:not(:disabled){background-color:#6366f11a}.refresh-button:disabled{cursor:not-allowed;opacity:.7}.refresh-icon{width:32px;height:32px;color:#6366f1;transition:transform .3s ease}.refresh-button:hover:not(:disabled) .refresh-icon{transform:rotate(45deg)}.refresh-icon.spinning{animation:spin 1s linear infinite}.sql-textarea{width:100%;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.95rem;min-height:160px;resize:vertical}.sql-results pre{background:transparent;margin:0;font-family:Menlo,Monaco,monospace;font-size:.9rem;white-space:pre-wrap;word-break:break-word}.db-toggle{display:flex;gap:.5rem;flex-wrap:wrap}.db-option{padding:.4rem .75rem;border-radius:.5rem;border:1px solid #e2e8f0;background:#fff;color:#374151;cursor:pointer;font-size:.875rem}.db-option.active{background:linear-gradient(90deg,#6366f1,#4f46e5);color:#fff;border-color:#4f5cd8e6;box-shadow:0 2px 6px #4f5cd81f}.sql-output{min-height:auto}.sql-output .message-content{max-width:none;width:100%}.input-actions{display:flex;flex-direction:column;gap:.5rem;align-items:stretch}.input-actions button{width:100%;flex:1}.small-button{padding:.35rem .6rem;font-size:.85rem}@media(max-width:640px){.input-actions{flex-direction:row;gap:.5rem;align-items:center}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.top-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem}.title-section{display:flex;align-items:center;gap:.75rem}.title-section h1{margin:0}.auth-controls{display:flex;align-items:center;gap:.75rem}.account-badge{font-size:.9rem;color:#1f2937;background-color:#e0e7ff;padding:.35rem .75rem;border-radius:9999px}.env-tag{font-size:.9rem;font-weight:600;padding:.35rem .75rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em;cursor:help;transition:all .15s ease;border:none}.env-tag.prod{background-color:#fef2f2;color:#dc2626}.env-tag.prod:hover{background-color:#fee2e2}.env-tag.dev{background-color:#fffbeb;color:#d97706}.env-tag.dev:hover{background-color:#fef3c7}.env-tag.local{background-color:#f0f9ff;color:#0284c7}.env-tag.local:hover{background-color:#e0f2fe}.auth-button{padding:.5rem 1rem;border-radius:.5rem;border:none;cursor:pointer;font-weight:600;transition:background-color .2s ease,transform .2s ease}.auth-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.auth-button.primary:hover{background:linear-gradient(135deg,#5a67d8,#667eea);box-shadow:0 6px 20px #667eea99;transform:translateY(-2px)}.auth-button.secondary{background-color:#f3f4f6;color:#1f2937}.auth-button.secondary:hover{background-color:#e5e7eb}.auth-button:active{transform:translateY(1px)}.auth-error{color:#b91c1c;font-size:.9rem;margin-top:.25rem}.landing-message{max-width:32rem;margin:3rem auto;text-align:center;background-color:#fff;padding:2.5rem 2rem;border-radius:1rem;box-shadow:0 10px 25px #00000014}.landing-message h2{margin-bottom:1rem;color:#1f2937}.landing-message p{color:#4b5563;line-height:1.5}.workflow-tab-container{padding:.5rem 1.5rem 1.5rem;background-color:#fff;border-radius:.75rem;box-shadow:0 5px 15px #0000001a;width:100%;max-width:none;margin:1rem 0;box-sizing:border-box}.workflow-list-item{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fff;box-shadow:0 1px 2px #0000000d;transition:all .15s ease-in-out;overflow:hidden}.workflow-list-item.collapsed{padding:.25rem}.workflow-list-item.expanded{padding:.25rem;box-shadow:0 4px 6px #0000001a;border-color:#4f46e5}.workflow-collapsed-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease}.workflow-header-left{display:flex;margin-left:.5rem;align-items:center;gap:.75rem;min-width:0;flex:1}.workflow-collapsed-header:hover{background-color:#f9fafb}.workflow-list-item.expanded .workflow-collapsed-header{background-color:#f3f4f6;border-bottom:1px solid #e5e7eb}.expand-icon{font-size:.5rem;color:#9ca3af;transition:transform .2s ease,color .15s ease;flex-shrink:0}.expand-icon.expanded{transform:rotate(90deg);color:#4f46e5}.workflow-expanded-content{padding:1rem 1.25rem 1.25rem;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.workflow-item-header{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}@media(min-width:640px){.workflow-item-header{flex-direction:row;align-items:flex-start;gap:1.5rem}}.workflow-details{flex-grow:1;min-width:0}.workflow-name-row{display:flex;align-items:center;gap:.75rem}.workflow-type-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.625rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.025em;flex-shrink:0}.badge-py{background-color:#3776ab;color:#fff}.badge-js{background-color:#f7df1e;color:#323330}.workflow-env-badges{display:flex;align-items:center;margin-right:.5rem;gap:.375rem;flex-shrink:0;margin-left:1rem}.workflow-env-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.6875rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.badge-dev{background-color:#fef3c7;color:#92400e;border:1px solid #fcd34d}.badge-prod{background-color:#dcfce7;color:#166534;border:1px solid #86efac}.workflow-description{font-size:.875rem;color:#6b7280;display:block;line-height:1.5;white-space:pre-line}.workflow-actions{display:flex;gap:.75rem;flex-shrink:0;align-items:flex-start;padding-top:.25rem}.workflow-response-row-title{margin:0;font-size:.9rem;font-weight:600;color:#374151}.report-split-view{display:flex;gap:1rem;margin-top:1rem}.report-input-panel,.report-output-panel{flex:1;display:flex;flex-direction:column;min-width:0;border:1px solid #e5e7eb;border-radius:.5rem;background:#f9fafb;max-height:400px;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#f3f4f6;border-bottom:1px solid #e5e7eb;flex-shrink:0}.panel-controls{display:flex;gap:.5rem}.panel-control-btn{padding:.25rem .5rem;font-size:.6875rem;font-weight:500;color:#6b7280;background:#fff;border:1px solid #d1d5db;border-radius:.25rem;cursor:pointer;transition:all .15s ease}.panel-control-btn:hover:not(:disabled){background:#f3f4f6;color:#374151;border-color:#9ca3af}.panel-control-btn:disabled{opacity:.5;cursor:not-allowed}.panel-clear-btn{color:#dc2626;border-color:#fecaca}.panel-clear-btn:hover:not(:disabled){background:#fef2f2;color:#b91c1c;border-color:#f87171}.report-input-panel .json-input-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden;margin:0;padding:0;border:none}.report-input-panel .json-textarea-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.report-input-panel textarea,.report-input-panel .json-textarea{flex:1;min-height:0;max-height:none;height:100%;resize:none;overflow-y:auto;border:none;border-radius:0;box-shadow:none;font-family:Fira Code,Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8125rem;line-height:1.5;padding:.75rem;background:#fff}.report-input-panel textarea:focus,.report-input-panel .json-textarea:focus{outline:none;box-shadow:none;border:none}.report-input-panel .alert-error{margin:.5rem;padding:.5rem;font-size:.75rem;flex-shrink:0}.report-output-panel .output-console{flex:1;margin:0;padding:.75rem;background:#1f2937;color:#e5e7eb;font-family:Fira Code,Monaco,Menlo,monospace;font-size:.8125rem;line-height:1.5;overflow-y:auto;min-height:200px}.report-output-panel .output-console.running{color:#fbbf24}.report-output-panel .output-console.success{color:#86efac}.report-output-panel .output-console.error{color:#fca5a5}.report-output-panel .output-console.info{color:#93c5fd}.report-output-panel .output-console.just-updated{animation:outputPulse .5s ease-out}@keyframes outputPulse{0%{background:#374151}to{background:#1f2937}}.output-content{margin:0;white-space:pre-wrap;word-break:break-word}.output-placeholder{color:#6b7280;font-style:italic}@media(max-width:768px){.report-split-view{flex-direction:column}.report-input-panel,.report-output-panel{max-height:300px}}.chat-layout{display:flex;gap:1rem;height:calc(100vh - 50px);min-height:600px;align-items:stretch}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 100px);min-height:600px}.mcp-right-panel{width:220px;flex-shrink:0;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;display:flex;flex-direction:column;overflow-y:auto}.mcp-right-panel-title{padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.mcp-right-panel-title h4{margin:0;font-size:.875rem;color:#1e293b;font-weight:600}.mcp-right-panel-header{padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.mcp-right-panel-header h4{margin:0;font-size:.875rem;color:#1e293b;font-weight:600}.mcp-right-panel-content{overflow-y:auto;padding:.5rem}.mcp-right-panel-content.chat-settings-section{border-bottom:1px solid #e2e8f0;padding-bottom:.75rem}.mcp-section-header{border-top:none}.expandable-section{border-bottom:1px solid #e2e8f0}.expandable-section:last-child{border-bottom:none}.expandable-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .15s ease}.expandable-header:hover{background:#f8fafc}.expandable-header.expanded{background:#f1f5f9}.expandable-icon{font-size:.625rem;color:#64748b;transition:transform .15s ease}.expandable-title{font-size:.875rem;font-weight:500;color:#374151;flex:1}.expandable-badge{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:.65rem;font-weight:600;padding:.125rem .375rem;border-radius:9999px;min-width:18px;text-align:center}.expandable-content{padding:.5rem 1rem .75rem;background:#fafafa;animation:expandIn .15s ease}@keyframes expandIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.chat-setting-item{margin-bottom:.5rem}.chat-setting-item:last-child{margin-bottom:0}.chat-setting-label{display:block;font-size:.75rem;font-weight:500;color:#64748b;margin-bottom:.25rem}.model-selector-compact{width:100%;padding:.5rem;border:1px solid #e2e8f0;border-radius:.375rem;background:#fff;font-size:.8rem;color:#374151;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .375rem center;background-repeat:no-repeat;background-size:1rem}.model-selector-compact:hover:not(:disabled){border-color:#6366f1}.model-selector-compact:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.model-selector-compact:disabled{background-color:#f8fafc;cursor:not-allowed;opacity:.7}.chat-panel-button{width:100%;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:.375rem;background:#f8fafc;font-size:.8rem;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease;text-align:left}.chat-panel-button:hover{background:#f1f5f9;border-color:#cbd5e1}.chat-panel-button.danger{color:#dc2626}.chat-panel-button.danger:hover{background:#fef2f2;border-color:#fecaca}.mcp-no-servers{color:#64748b;font-size:.8rem;text-align:center;padding:1rem .5rem;margin:0}.mcp-server-list-simple{display:flex;flex-direction:column;gap:.375rem}.mcp-server-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem .625rem;background:#f8fafc;border-radius:.375rem;border:1px solid #e2e8f0}.mcp-server-row-info{display:flex;flex-direction:column;min-width:0;gap:.125rem}.mcp-server-row-name{font-size:.8rem;font-weight:500;color:#374151;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcp-server-row-description{font-size:.7rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcp-toggle-switch{padding:.25rem .5rem;border-radius:.25rem;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s ease;border:none;min-width:36px}.mcp-toggle-switch.off{background:#e5e7eb;color:#6b7280}.mcp-toggle-switch.off:hover:not(:disabled){background:#d1d5db}.mcp-toggle-switch.on{background:#22c55e;color:#fff}.mcp-toggle-switch.on:hover:not(:disabled){background:#16a34a}.mcp-toggle-switch:disabled{opacity:.5;cursor:not-allowed}.chat-messages{flex:1;overflow-y:auto;padding:.75rem;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-radius:.75rem;border:1px solid #e2e8f0}.chat-message{display:flex;gap:.75rem;margin:.75rem 0;animation:slideIn .3s ease}.chat-message:first-child{margin-top:0}.chat-message:last-child{margin-bottom:0}.message-content{max-width:75%;padding:.65rem .85rem;border-radius:1rem;line-height:1.4;position:relative}.message-copy-btn{position:absolute;top:.5rem;right:.5rem;background:#ffffffe6;border:1px solid #e2e8f0;border-radius:.375rem;padding:.25rem .5rem;font-size:.75rem;cursor:pointer;opacity:0;transition:all .15s ease;z-index:1}.message-content:hover .message-copy-btn{opacity:1}.message-copy-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.message-copy-btn.copied{background:#dcfce7;border-color:#86efac;color:#166534;opacity:1}.chat-message.user .message-copy-btn{background:#fff3;border-color:#ffffff4d;color:#fff}.chat-message.user .message-copy-btn:hover{background:#ffffff4d}.chat-message.user .message-copy-btn.copied{background:#ffffffe6;color:#166534}.message-text{word-break:break-word}.chat-message.assistant .message-text>*:first-child{margin-top:0}.chat-message.assistant .message-text>*:last-child{margin-bottom:0}.chat-message.assistant .message-text p{margin:0 0 .2em;line-height:1.35}.chat-message.assistant .message-text p:last-child{margin-bottom:0}.chat-message.assistant .message-text h1,.chat-message.assistant .message-text h2,.chat-message.assistant .message-text h3,.chat-message.assistant .message-text h4,.chat-message.assistant .message-text h5,.chat-message.assistant .message-text h6{margin:.25em 0 .1em;font-weight:600;line-height:1.2}.chat-message.assistant .message-text h1:first-child,.chat-message.assistant .message-text h2:first-child,.chat-message.assistant .message-text h3:first-child{margin-top:0}.chat-message.assistant .message-text h1{font-size:1.15rem}.chat-message.assistant .message-text h2{font-size:1.05rem}.chat-message.assistant .message-text h3{font-size:.95rem}.chat-message.assistant .message-text h4{font-size:.9rem}.chat-message.assistant .message-text ul,.chat-message.assistant .message-text ol{margin:0;padding-left:2rem;line-height:.5}.chat-message.assistant .message-text li{margin:0;padding:0;line-height:1.1}.chat-message.assistant .message-text li+li{margin-top:0}.chat-message.assistant .message-text li p{margin:0;line-height:1.25}.chat-message.assistant .message-text ul ul,.chat-message.assistant .message-text ol ol,.chat-message.assistant .message-text ul ol,.chat-message.assistant .message-text ol ul{margin:0;padding-left:1rem}.chat-message.assistant .message-text code{background:#f1f5f9;padding:.125rem .375rem;border-radius:.25rem;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.875em;color:#e11d48}.chat-message.assistant .message-text pre{background:#1e293b;color:#e2e8f0;padding:.4rem .6rem;border-radius:.375rem;overflow-x:auto;margin:.15em 0;font-size:.85rem}.chat-message.assistant .message-text pre code{background:transparent;padding:0;color:inherit;font-size:inherit}.chat-message.assistant .message-text blockquote{border-left:3px solid #6366f1;margin:.1em 0;padding:.15rem 0 .15rem .5rem;background:#f8fafc;color:#475569;border-radius:0 .25rem .25rem 0}.chat-message.assistant .message-text blockquote p{margin:0}.chat-message.assistant .message-text a{color:#6366f1;text-decoration:none}.chat-message.assistant .message-text a:hover{color:#4f46e5;text-decoration:underline}.chat-message.assistant .message-text table{width:100%;border-collapse:collapse;margin:.1em 0;font-size:.85rem}.chat-message.assistant .message-text th,.chat-message.assistant .message-text td{border:1px solid #e2e8f0;padding:.5rem .75rem;text-align:left}.chat-message.assistant .message-text th{background:#f8fafc;font-weight:600}.chat-message.assistant .message-text tr:nth-child(2n){background:#f8fafc}.chat-message.assistant .message-text hr{border:none;border-top:1px solid #e2e8f0;margin:.15em 0}.chat-message.assistant .message-text strong{font-weight:600}.chat-message.assistant .message-text em{font-style:italic}.chat-message.user .message-text{white-space:pre-wrap}.chat-message.user .message-meta{display:none}.chat-message.assistant .message-text>div{display:contents}.remove-tag{background:transparent;border:none;color:#6366f1;cursor:pointer;padding:0 .25rem;font-size:1rem;line-height:1}.mcp-panel{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000000d}.mcp-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.mcp-panel-header h4{margin:0;color:#1e293b;font-size:1rem}.mcp-toggle-row{display:flex;align-items:center;padding:.75rem;background:#f8fafc;border-radius:.5rem;margin-bottom:1rem}.mcp-main-toggle{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:500;color:#374151}.mcp-main-toggle input[type=checkbox]{width:18px;height:18px;accent-color:#6366f1}.mcp-server-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.mcp-server-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8fafc;border-radius:.5rem;border:1px solid #e2e8f0;transition:all .2s ease}.mcp-server-item.enabled{background:#eef2ff;border-color:#c7d2fe}.mcp-server-item.disabled{opacity:.7}.mcp-server-info{display:flex;align-items:center;gap:.75rem}.mcp-server-icon{font-size:1.5rem}.mcp-server-details{display:flex;flex-direction:column;gap:.125rem}.mcp-server-name{font-weight:600;color:#1e293b;font-size:.9rem;text-transform:capitalize}.mcp-server-description{font-size:.75rem;color:#64748b}.mcp-toggle-btn{padding:.375rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid #d1d5db;background:#f3f4f6;color:#6b7280;min-width:50px}.mcp-toggle-btn:hover:not(:disabled){background:#e5e7eb}.mcp-toggle-btn.active{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-color:#4f46e5}.mcp-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.mcp-status-badge{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem;background:#f0fdf4;border-radius:.5rem;font-size:.875rem;color:#166534;margin-bottom:.5rem}.mcp-tag{display:inline-flex;align-items:center;gap:.375rem;background:#fff;padding:.25rem .625rem;border-radius:9999px;border:1px solid #bbf7d0;font-size:.75rem;font-weight:500}.suggestion-chip.mcp-chip{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.suggestion-chip.mcp-chip:hover{background:#22c55e;border-color:#22c55e;color:#fff}.message-mcp-badge{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#64748b}.mcp-used-tag{display:inline-flex;align-items:center;gap:.25rem;background:#f0fdf4;padding:.125rem .5rem;border-radius:9999px;border:1px solid #bbf7d0;color:#166534;font-weight:500}.chat-input-container{display:flex;align-items:center;padding:.5rem;background:#f8fafc;border-radius:1rem;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000d;margin-top:.5rem;flex-shrink:0;gap:.5rem}.chat-input{flex:1;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:1rem;font-size:.95rem;font-family:inherit;min-height:36px;max-height:150px;resize:none;box-sizing:border-box;line-height:1.5;overflow-y:auto;background:#fff;transition:border-color .2s}.chat-input:focus{outline:none;border-color:#6366f1}.chat-input:disabled{background:transparent;cursor:not-allowed;opacity:.6}.chat-input::placeholder{color:#9ca3af}.send-button{min-width:36px;width:36px;height:36px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;color:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0;font-size:1.25rem}.send-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 2px 8px #6366f166}.send-button:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.attachment-wrapper{position:relative}.attachment-button{min-width:36px;width:36px;height:36px;border:none;border-radius:50%;background:transparent;font-size:1.5rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;color:#6b7280;flex-shrink:0}.attachment-button:hover:not(:disabled){background:#f3f4f6;color:#6366f1}.attachment-button:disabled{opacity:.5;cursor:not-allowed}.attachment-menu{position:absolute;bottom:100%;left:0;margin-bottom:.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 4px 16px #0000001f;overflow:hidden;min-width:220px;z-index:100;animation:slideUp .15s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.attachment-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;border:none;background:transparent;cursor:pointer;transition:background .15s ease;text-align:left}.attachment-menu-item:hover{background:#f8fafc}.attachment-menu-item:not(:last-child){border-bottom:1px solid #f1f5f9}.attachment-menu-icon{font-size:1.5rem;flex-shrink:0}.attachment-menu-text{display:flex;flex-direction:column;gap:.125rem}.attachment-menu-title{font-size:.875rem;font-weight:500;color:#1e293b}.attachment-menu-subtitle{font-size:.75rem;color:#64748b}.attached-files-preview{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:.5rem}.attached-file-tag{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border-radius:9999px;font-size:.8rem;font-weight:500;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.attached-file-tag.local{background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca}.attached-file-tag.s3{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.attached-file-tag .file-icon{font-size:.875rem}.attached-file-tag .file-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attached-file-tag .file-size{font-size:.7rem;color:#64748b;font-weight:400}.remove-file-btn{background:transparent;border:none;font-size:1rem;line-height:1;cursor:pointer;padding:0 .125rem;margin-left:.125rem;opacity:.6;transition:opacity .15s ease}.attached-file-tag.local .remove-file-btn{color:#4338ca}.attached-file-tag.s3 .remove-file-btn{color:#166534}.remove-file-btn:hover{opacity:1}.file-error-message{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#dc2626;font-size:.85rem;margin-bottom:.5rem;animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.alert-info{background:#f0f9ff;border:1px solid #bae6fd;color:#0369a1;padding:.75rem;border-radius:.5rem;font-size:.875rem}.model-selector-wrapper{position:relative;display:inline-flex;align-items:center}.model-selector{padding:.5rem 2rem .5rem .75rem;border:1px solid #e2e8f0;border-radius:.5rem;background:#fff;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.25rem;min-width:180px;transition:all .2s ease}.model-selector:hover:not(:disabled){border-color:#6366f1;background-color:#fafaff}.model-selector:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.model-selector:disabled{background:#f8fafc;cursor:not-allowed;opacity:.7}.model-selector option{padding:.5rem;font-size:.875rem}.message-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;padding-top:.5rem;font-size:.75rem;color:#64748b}.message-model-badge{display:inline-flex;align-items:center;gap:.25rem;background:#eef2ff;padding:.125rem .5rem;border-radius:9999px;border:1px solid #c7d2fe;color:#4338ca;font-weight:500;font-size:.7rem}.message-usage-badge{display:inline-flex;align-items:center;gap:.25rem;background:#f1f5f9;padding:.125rem .5rem;border-radius:9999px;border:1px solid #e2e8f0;color:#475569;font-size:.7rem;font-variant-numeric:tabular-nums}.chat-history-panel-fixed{width:280px;flex-shrink:0;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;display:flex;flex-direction:column;overflow:hidden}.chat-left-docusign-section{flex-shrink:0;border-bottom:1px solid #e2e8f0;background:#f8fafc}.chat-left-docusign-section .expandable-section{border-bottom:none}.chat-left-docusign-section .expandable-content{padding:.5rem .75rem .75rem}.chat-left-mcp-section{flex-shrink:0;border-bottom:1px solid #e2e8f0;background:#f8fafc}.chat-left-mcp-section .expandable-section{border-bottom:none}.chat-left-mcp-section .expandable-content{max-height:240px;overflow-y:auto}.chat-left-model-row{padding:.75rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.chat-left-model-row .chat-setting-label{margin-bottom:.375rem}.chat-left-model-row .model-selector-compact{width:100%}.chat-docusign-bar{flex-shrink:0;padding:.5rem .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:.5rem}.chat-history-panel{width:280px;flex-shrink:0;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;display:flex;flex-direction:column;overflow:hidden}.chat-history-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.chat-history-header-left{display:flex;align-items:center;gap:.5rem}.chat-history-header h4{margin:0;font-size:.875rem;color:#1e293b;font-weight:600}.chat-history-count{font-size:.65rem;font-weight:500;color:#64748b;background:#e2e8f0;padding:.1rem .4rem;border-radius:9999px}.new-chat-btn-small{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:.375rem;padding:.25rem .75rem;font-size:1rem;font-weight:700;cursor:pointer;transition:all .15s ease;line-height:1}.new-chat-btn-small:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:scale(1.05)}.new-chat-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff!important;border-color:#4f46e5}.new-chat-btn:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);border-color:#4338ca}.chat-history-list{flex:1;min-height:0;overflow-y:auto;padding:.5rem}.chat-history-empty{color:#64748b;font-size:.8rem;text-align:center;padding:1.5rem 1rem;margin:0;line-height:1.5}.chat-history-current-session{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;margin:0 .5rem .5rem;background:#fef3c7;border:1px solid #fcd34d;border-radius:.5rem}.current-session-label{font-size:.75rem;font-weight:500;color:#92400e}.chat-history-current-session .save-btn{padding:.25rem .5rem;font-size:.7rem;background:#f59e0b;color:#fff;border-color:#d97706}.chat-history-current-session .save-btn:hover{background:#d97706;border-color:#b45309}.chat-history-footer{padding:.5rem;border-top:1px solid #e2e8f0;background:#f8fafc}.chat-history-footer .chat-panel-button{width:100%;text-align:center;font-size:.75rem}.chat-history-item{display:flex;justify-content:space-between;align-items:center;padding:.625rem .75rem;background:#f8fafc;border-radius:.5rem;border:1px solid #e2e8f0;margin-bottom:.375rem;cursor:pointer;transition:all .15s ease}.chat-history-item:hover{background:#f1f5f9;border-color:#cbd5e1}.chat-history-item.active{background:#eef2ff;border-color:#c7d2fe}.chat-history-item-content{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1}.chat-history-title{font-size:.8rem;font-weight:500;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-history-meta{font-size:.7rem;color:#64748b}.chat-history-item-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s ease}.chat-history-item:hover .chat-history-item-actions{opacity:1}.chat-history-action-btn{background:transparent;border:none;padding:.25rem;cursor:pointer;font-size:.75rem;border-radius:.25rem;transition:background .15s ease}.chat-history-action-btn:hover{background:#e2e8f0}.chat-history-action-btn.danger:hover{background:#fecaca}.chat-history-title-input{width:100%;padding:.375rem .5rem;border:1px solid #6366f1;border-radius:.25rem;font-size:.8rem;color:#374151;outline:none}.chat-history-title-input:focus{box-shadow:0 0 0 2px #6366f133}.chat-panel-button.active{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.chat-panel-button:disabled{opacity:.5;cursor:not-allowed}.chat-panel-button:disabled:hover{background:#f8fafc;border-color:#e2e8f0}body{margin:0;font-family:Arial,sans-serif;background-color:#f4f6f9}.workflow-tab-container{padding:.5rem 1.5rem 1.5rem;background-color:#fff;border-radius:.75rem;box-shadow:0 5px 15px #0000001a;width:100%;max-width:none;margin:0;box-sizing:border-box;min-height:auto}.workflow-tab-container.chat-container{display:flex;flex-direction:column;min-height:600px;padding:.5rem;margin:0}.workflow-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.workflow-title{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.5rem;padding-bottom:.5rem}.alert-info{padding:.75rem;margin-bottom:1rem;background-color:#fffbeb;border-left:4px solid #f59e0b;color:#b45309;border-radius:.375rem;font-size:.9rem}.alert-info .font-medium{font-weight:500}.alert-error{color:#ef4444;font-size:.875rem;margin-bottom:.5rem;padding:.5rem;border-radius:.25rem;background-color:#fef2f2;border:1px solid #fecaca}.workflow-content{display:flex;flex-direction:column;gap:1rem}.workflow-list-item{display:flex;flex-direction:column;padding:1rem;border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fff;box-shadow:0 1px 2px #0000000d;transition:all .15s ease-in-out}.workflow-list-item:hover{box-shadow:0 4px 6px #0000001a}.workflow-item-header{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem}@media(min-width:640px){.workflow-item-header{flex-direction:row;align-items:center;margin-bottom:0}}.workflow-details{flex-grow:1;min-width:0;padding-right:1rem;margin-bottom:.75rem}@media(min-width:640px){.workflow-details{margin-bottom:0}}.workflow-name{font-weight:600;font-size:1.25rem;color:#4f46e5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:0;line-height:1.25}.workflow-description{font-size:.875rem;color:#6b7280;display:block}.workflow-actions{display:flex;gap:.75rem;margin-top:.5rem}@media(min-width:640px){.workflow-actions{margin-top:0}}.action-button{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#fff;border:none;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;transition:all .15s ease-in-out;cursor:pointer;white-space:nowrap;flex-shrink:0}.action-button:disabled{opacity:.5;cursor:not-allowed}.run-now-button{background-color:#6366f1}.run-now-button:hover:not(:disabled){background-color:#4f46e5}.run-now-button.invalid{background-color:#ef4444}.run-now-button.invalid:hover:not(:disabled){background-color:#dc2626}.run-now-button.invalid:disabled{background-color:#f87171}.schedule-button{color:#4338ca;background-color:#eef2ff;box-shadow:0 1px 2px #0000000d}.schedule-button:hover:not(:disabled){background-color:#e0e7ff}.run-task-button{background-color:#14b8a6}.run-task-button:hover:not(:disabled){background-color:#0d9488}.run-task-button.invalid{background-color:#ef4444}.run-task-button.invalid:hover:not(:disabled){background-color:#dc2626}.submit-schedule-button{background-color:#10b981}.submit-schedule-button:hover:not(:disabled){background-color:#059669}.cancel-button{color:#4b5563;background-color:#e5e7eb;box-shadow:0 1px 2px #0000000d}.cancel-button:hover:not(:disabled){background-color:#d1d5db}.delete-button{background-color:#ef4444;color:#fff}.delete-button:hover:not(:disabled){background-color:#dc2626}.delete-button:disabled{background-color:#f87171;cursor:not-allowed}.workflow-row{display:flex;flex-direction:column;padding:1rem;border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fff;box-shadow:0 1px 2px #0000000d;transition:all .15s ease-in-out}.workflow-row:hover{box-shadow:0 4px 6px #0000001a}.workflow-header{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:1rem}@media(min-width:768px){.workflow-header{flex-direction:row;align-items:center}}.workflow-info{flex-grow:1;min-width:0}.workflow-detail-item{display:block;font-size:.875rem;color:#1f232a;margin-bottom:.25rem}.api-response-card{margin-top:1rem;border:1px solid #d1d5db;background-color:#f9fafb;border-radius:.5rem;transition:all .3s ease}.api-response-card.just-updated{border-color:#3b82f6;background-color:#eff6ff;animation:responsePulse .9s ease-out both}.api-response-content{display:flex;justify-content:space-between;align-items:flex-start;padding:.75rem;gap:.5rem}.response-text{flex-grow:1;margin:0;font-size:.875rem;color:#374151;white-space:pre-wrap;word-break:break-word}.close-response-btn{background:transparent;border:none;font-size:1.125rem;line-height:1;cursor:pointer;color:#6b7280;padding:.25rem;border-radius:.25rem;transition:all .15s ease;flex-shrink:0}.close-response-btn:hover{background-color:#f3f4f6;color:#374151}.report-results-content{margin-top:1rem}.file-tree{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem}.folder-item{margin-bottom:.5rem}.folder-header{display:flex;align-items:center;gap:.5rem;padding:.5rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.375rem;cursor:pointer;transition:all .15s ease}.folder-header:hover{background-color:#f3f4f6;border-color:#d1d5db}.folder-icon{font-size:1.125rem}.folder-name{flex-grow:1;font-weight:500;color:#374151}.expand-icon{color:#6b7280;font-size:.875rem}.folder-content{margin-left:2rem;margin-top:.5rem;padding-left:1rem;border-left:2px solid #e5e7eb}.file-item{display:flex;flex-direction:column;padding:.75rem;margin-bottom:.5rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.375rem;transition:all .15s ease}.file-item:hover{box-shadow:0 2px 4px #0000000d;border-color:#d1d5db}.file-info{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.file-icon{font-size:1rem}.file-name{font-weight:500;color:#374151;flex-shrink:0}.file-path{font-size:.75rem;color:#6b7280;font-family:monospace;background-color:#f3f4f6;padding:.25rem .5rem;border-radius:.25rem;margin-left:auto}.file-actions{display:flex;gap:.5rem;justify-content:flex-end}.download-button{background-color:#059669;color:#fff}.download-button:hover:not(:disabled){background-color:#047857}.download-button:disabled{background-color:#86efac;cursor:not-allowed}@media(min-width:768px){.file-item{flex-direction:row;align-items:center}.file-info{margin-bottom:0;flex-grow:1}.file-actions{justify-content:flex-end;flex-shrink:0}}.json-input-wrapper,.scheduler-wrapper{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;width:100%}.json-input-wrapper label,.scheduler-wrapper label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.json-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.json-controls{display:flex;gap:.5rem;flex-wrap:wrap}.json-control-btn{padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:#4b5563;background-color:#f9fafb;border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer;transition:all .15s ease-in-out;white-space:nowrap}.json-control-btn:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af;color:#374151}.json-control-btn:disabled{opacity:.5;cursor:not-allowed}.json-clear-btn{color:#dc2626;border-color:#fca5a5}.json-clear-btn:hover:not(:disabled){background-color:#fef2f2;border-color:#f87171;color:#b91c1c}.json-textarea-container{position:relative}.json-textarea{width:100%;border-radius:.5rem;border:1px solid #d1d5db;box-shadow:inset 0 1px 2px #00000012;padding:.75rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;line-height:1.5;resize:vertical;min-height:120px;transition:all .15s ease-in-out}.json-textarea.enhanced{background-color:#fefefe;-moz-tab-size:2;tab-size:2;white-space:pre;overflow-wrap:normal;word-break:normal}.json-textarea:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11a,inset 0 1px 2px #00000012}.json-textarea::placeholder{color:#9ca3af;font-style:italic}.cron-input{width:100%;border-radius:.5rem;border:1px solid #d1d5db;box-shadow:inset 0 1px 2px #00000012;padding:.5rem;font-family:monospace;font-size:.75rem;resize:vertical}.cron-input:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f14d}@media(max-width:640px){.json-header{flex-direction:column;align-items:stretch}.json-controls{justify-content:flex-start}.json-control-btn{flex:1;text-align:center}}.cron-input-group{display:flex;flex-direction:column;gap:.5rem}@media(min-width:640px){.cron-input-group{flex-direction:row;align-items:center}.cron-input{flex:1}.cron-input-group .action-button{flex:0 0 auto}}.workflow-response{margin-top:2rem}.workflow-response-title{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:.75rem}.workflow-response-pre{background-color:#1f2937;color:#86efac;padding:1rem;border-radius:.5rem;overflow-x:auto;box-shadow:inset 0 2px 4px #0000001a;white-space:pre-wrap}.tab-bar-container{background-color:#f8f9fa;padding-top:10px}.tab-bar{display:flex;gap:15px;position:relative;z-index:10;margin-bottom:-1px}.tab-style-button{position:relative;display:flex;align-items:center;gap:8px;padding:10px 15px;background-color:#f1f3f8;color:#555;border:1px solid #e0e0e0;border-bottom:none;font-size:14px;font-weight:500;border-radius:8px 8px 0 0;cursor:pointer;box-shadow:0 -1px 3px #00000008;transition:all .2s ease-in-out}.tab-style-button:hover{background-color:#e2e6ea;color:#333;box-shadow:0 -2px 5px #00000012}.tab-style-button.active{background-color:#fff;color:#4f5cd8;border-color:#e0e0e0;border-bottom:none;box-shadow:0 -3px 8px #00000014}.tab-active-bar{position:absolute;bottom:-1px;left:0;width:100%;height:3px;background-color:#4f5cd8;border-radius:0 0 8px 8px}.tab-divider{border:none;border-top:1px solid #e0e0e0;margin-top:0;margin-bottom:0}.dashboard-container{padding:1rem;font-family:Arial,sans-serif}.top-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:.5rem}.top-bar h1{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;margin:0;background:linear-gradient(135deg,#667eea,#764ba2);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;letter-spacing:-.02em;position:relative;transition:all .3s ease}@supports not (background-clip: text){.top-bar h1{color:#4338ca;background:none;-webkit-text-fill-color:initial}}.top-bar h1:hover{transform:translateY(-1px);filter:brightness(1.1)}@media(hover:hover){.top-bar h1:hover{text-shadow:0 0 20px rgba(102,126,234,.3)}}@media(max-width:768px){.top-bar h1{font-size:1.5rem;letter-spacing:-.01em}}@media(max-width:480px){.top-bar h1{font-size:1.25rem;letter-spacing:0}}.error-message{color:red;margin-left:1rem}.workflow-list-container{display:flex;flex-direction:column;gap:10px;border:1px solid #e0e0e0;padding:10px;border-radius:8px;background-color:#fff;box-shadow:0 1px 3px #0000000d}.run-button{padding:.5rem 1rem;background-color:#28a745;color:#fff;border:none;border-radius:5px;cursor:pointer;margin-left:1rem;transition:background-color .3s}.run-button:hover:not(:disabled){background-color:#218838}.run-button:disabled{opacity:.6;cursor:not-allowed}.refresh-button{margin-bottom:1rem;color:#000;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s}.log-columns{display:flex;gap:1rem}.log-list-container{width:30%}.log-list{list-style:none;padding:0}.log-list-item{margin-bottom:.5rem}.log-select-button{width:100%;padding:10px 15px;background-color:#fff;color:#4a4a4a;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;text-align:left;font-size:14px;transition:all .2s ease-in-out}.log-select-button:hover{background-color:#f1f3f8;border-color:#d0d0d0;color:#333}.log-select-button.selected{background-color:#4f5cd8;color:#fff;border-color:#4f5cd8;box-shadow:0 2px 5px #0000001a}.log-select-button.selected:hover{background-color:#4352c3;border-color:#4352c3;color:#fff}.log-content-container{width:70%}.log-content-pre{background-color:#f8f9fa;padding:1rem;border-radius:5px;height:500px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.workflow-response-row{border:1px solid var(--muted-border, #e0e0e0);background:var(--card-bg, #fafafa);padding:.6rem;margin-top:.6rem;border-radius:6px;position:relative;transition:box-shadow .25s ease,transform .2s ease}.workflow-response-row-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem}.response-close-button{background:transparent;border:none;font-size:1.1rem;line-height:1;cursor:pointer;padding:0 6px}.workflow-response-row-pre{white-space:pre-wrap;word-break:break-word;margin:0;font-size:.9rem}@keyframes responsePulse{0%{box-shadow:0 0 #1e82e62e;transform:translateY(-2px)}60%{box-shadow:0 8px 18px -6px #1e82e61f;transform:translateY(0)}to{box-shadow:none;transform:none}}.response-highlight{animation:responsePulse .9s ease-out both}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 200px);min-height:500px}.chat-messages{flex:1;overflow-y:auto;padding:1rem;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-radius:.75rem;border:1px solid #e2e8f0}.chat-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#64748b;padding:2rem}.chat-welcome-icon{font-size:4rem;margin-bottom:1rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.chat-welcome h3{color:#1e293b;font-size:1.5rem;margin-bottom:.5rem}.chat-welcome p{max-width:400px;line-height:1.6}.chat-suggestions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;justify-content:center}.suggestion-chip{padding:.5rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:9999px;cursor:pointer;font-size:.875rem;color:#475569;transition:all .2s ease}.suggestion-chip:hover{background:#4f46e5;color:#fff;border-color:#4f46e5;transform:translateY(-2px)}.chat-message{display:flex;gap:.75rem;margin-bottom:1rem;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{flex-direction:row-reverse}.message-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:#fff;box-shadow:0 2px 4px #0000001a;flex-shrink:0}.message-content{max-width:70%;padding:.875rem 1rem;border-radius:1rem;line-height:1.5}.chat-message.user .message-content{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-bottom-right-radius:.25rem}.chat-message.assistant .message-content{background:#fff;color:#1e293b;border:1px solid #e2e8f0;border-bottom-left-radius:.25rem;box-shadow:0 1px 3px #0000000d}.message-text{white-space:pre-wrap;word-break:break-word}.typing-indicator{display:flex;gap:4px;padding:.5rem 0}.typing-indicator span{width:8px;height:8px;background:#94a3b8;border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.chat-input-container{display:flex;gap:.75rem;align-items:flex-end;padding:1rem;background:#fff;border-radius:.75rem;border:1px solid #e2e8f0;box-shadow:0 -2px 10px #0000000d}.chat-input{flex:1;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:.5rem;font-family:inherit;font-size:.9375rem;resize:none;transition:border-color .2s,box-shadow .2s}.chat-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.send-button{padding:.75rem 1.5rem;height:fit-content}.report-selector-panel{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem;margin-bottom:1rem;max-height:250px;overflow-y:auto}.report-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.report-selector-header h4{margin:0;color:#1e293b}.report-selector-list{display:flex;flex-direction:column;gap:.5rem}.report-selector-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#f8fafc;border-radius:.375rem;cursor:pointer;transition:background .15s}.report-selector-item:hover{background:#f1f5f9}.report-selector-item input[type=checkbox]{width:16px;height:16px;accent-color:#6366f1}.report-selector-name{font-weight:500;color:#374151;flex-shrink:0}.report-selector-path{font-size:.75rem;color:#6b7280;font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-reports-badge{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem;background:#eef2ff;border-radius:.5rem;font-size:.875rem;color:#4338ca}.report-tag{display:inline-flex;align-items:center;gap:.25rem;background:#fff;padding:.25rem .5rem;border-radius:9999px;border:1px solid #c7d2fe;font-size:.75rem}.remove-tag{background:none;border:none;cursor:pointer;font-size:1rem;line-height:1;color:#6366f1;padding:0;margin-left:.25rem}.remove-tag:hover{color:#4338ca}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:modalFadeIn .3s ease-out}@keyframes modalFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}.modal-content{background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:28rem;width:90%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{transform:translateY(-50px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.warning-modal{border:2px solid #f59e0b}.modal-header{padding:1.5rem 1.5rem 0;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#b45309;display:flex;align-items:center;gap:.5rem}.modal-body{padding:1.5rem;text-align:center}.modal-body p{color:#374151;margin-bottom:1rem;line-height:1.6}.countdown-display{margin:1.5rem 0;padding:1rem;background:linear-gradient(135deg,#fef3c7,#fed7aa);border-radius:.75rem;border:2px solid #f59e0b}.countdown-time{font-size:2.5rem;font-weight:700;color:#b45309;font-family:Monaco,Menlo,Ubuntu Mono,monospace;text-shadow:0 1px 2px rgba(180,83,9,.3);animation:countdownPulse 1s ease-in-out infinite}@keyframes countdownPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.modal-footer{padding:0 1.5rem 1.5rem;display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.modal-footer .auth-button{flex:1;min-width:120px;font-size:.9375rem;font-weight:600;padding:.75rem 1.5rem;border-radius:.5rem;border:none;cursor:pointer;transition:all .15s ease}.modal-footer .auth-button.primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 14px #10b98163}.modal-footer .auth-button.primary:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 6px 20px #10b98163}.modal-footer .auth-button.secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.modal-footer .auth-button.secondary:hover{background:#e5e7eb;color:#1f2937}@media(max-width:640px){.modal-content{margin:1rem;width:calc(100% - 2rem)}.countdown-time{font-size:2rem}.modal-footer{flex-direction:column}.modal-footer .auth-button{flex:none;width:100%}}.report-split-view{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.report-input-panel,.report-output-panel{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:.5rem;background-color:#f9fafb;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background-color:#f3f4f6;border-bottom:1px solid #e5e7eb}.panel-title{font-size:.8125rem;font-weight:600;color:#374151}.panel-controls{display:flex;gap:.375rem}.panel-control-btn,.panel-clear-btn{padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:#6b7280;background-color:transparent;border:1px solid #d1d5db;border-radius:.25rem;cursor:pointer;transition:all .15s ease}.panel-control-btn:hover:not(:disabled),.panel-clear-btn:hover:not(:disabled){background-color:#fff;color:#374151;border-color:#9ca3af}.panel-control-btn:disabled,.panel-clear-btn:disabled{opacity:.5;cursor:not-allowed}.panel-control-btn.panel-clear-btn{color:#dc2626;border-color:#fca5a5}.panel-control-btn.panel-clear-btn:hover:not(:disabled){background-color:#fef2f2;border-color:#f87171;color:#b91c1c}.panel-control-btn.copy-success{color:#059669;border-color:#6ee7b7;background-color:#ecfdf5}.report-input-panel .json-input-wrapper{margin-top:0;padding-top:0;border-top:none}.report-input-panel .json-input-wrapper.compact,.report-input-panel .json-input-wrapper.compact .json-textarea-container{padding:0}.report-input-panel .json-input-wrapper.compact .json-textarea{border:none;border-radius:0;box-shadow:none;min-height:150px;max-height:350px}.report-input-panel .json-input-wrapper.compact .json-textarea:focus{box-shadow:none;outline:none}.report-input-panel .json-input-wrapper.compact .alert-error{margin:.5rem;border-radius:.25rem}.report-output-panel .output-console{flex:1;min-height:150px;max-height:350px;overflow-y:auto;padding:.75rem;margin:0;background-color:#1f2937;color:#e5e7eb;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8125rem;line-height:1.5}.output-console .output-content{margin:0;white-space:pre-wrap;word-break:break-word}.output-console .output-placeholder{color:#6b7280;font-style:italic}.output-console.success{background-color:#1a2e1a;color:#86efac}.output-console.error{background-color:#2d1f1f;color:#fca5a5}.output-console.running{background-color:#1f2937;color:#93c5fd}.output-console.info{background-color:#1f2937;color:#e5e7eb}.output-console.just-updated{animation:outputHighlight .6s ease-out}@keyframes outputHighlight{0%{box-shadow:inset 0 0 20px #6366f14d}to{box-shadow:none}}.workflow-collapsed-header .expand-icon{display:inline-block;font-size:.75rem;color:#6b7280;transition:transform .2s ease;margin-right:.5rem}.workflow-collapsed-header .expand-icon.expanded{transform:rotate(90deg)}.workflow-collapsed-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:.25rem 0;border-radius:.375rem;transition:background-color .15s ease}.workflow-collapsed-header:hover{background-color:transparent}.workflow-header-left{display:flex;align-items:center;gap:.5rem}.workflow-type-badge{font-size:.6875rem;font-weight:500;padding:.125rem .375rem;border-radius:.25rem;text-transform:uppercase;letter-spacing:.025em}.workflow-type-badge.badge-py{background-color:#dbeafe;color:#1e40af}.workflow-type-badge.badge-js{background-color:#fef3c7;color:#92400e}.workflow-env-badges{display:flex;gap:.375rem}.workflow-env-badge{font-size:.625rem;font-weight:500;padding:.125rem .375rem;border-radius:.25rem;text-transform:uppercase}.workflow-env-badge.badge-dev{background-color:#e0e7ff;color:#3730a3}.workflow-env-badge.badge-prod{background-color:#dcfce7;color:#166534}.workflow-expanded-content{padding-top:.75rem;border-top:1px solid #e5e7eb;margin-top:.5rem}@media(max-width:768px){.report-split-view{grid-template-columns:1fr}.report-output-panel .output-console{min-height:120px;max-height:250px}.workflow-actions{flex-wrap:wrap}.workflow-actions .action-button{flex:1;min-width:100px;text-align:center}}.docusign-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-bottom:20px;overflow:hidden;transition:all .3s ease;position:relative}.docusign-card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-1px)}.docusign-card.connected{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#f0fdf4)}.docusign-card-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid #f1f5f9}.docusign-logo{opacity:.6}.logo-icon{font-size:28px;filter:grayscale(.2)}.status-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:20px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.success{background:linear-gradient(45deg,#10b981,#059669);color:#fff;box-shadow:0 2px 4px #10b9814d}.status-badge.error{background:linear-gradient(45deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 4px #ef44444d}.status-badge.loading{background:linear-gradient(45deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 4px #3b82f64d}.status-badge.disconnected{background:linear-gradient(45deg,#64748b,#475569);color:#fff;box-shadow:0 2px 4px #64748b4d}.status-icon{font-size:16px}.status-text{font-size:12px}.loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.docusign-card-body{padding:20px 24px}.card-title{font-size:20px;font-weight:700;color:#1e293b;margin:0 0 8px;line-height:1.3}.card-description{font-size:15px;color:#64748b;line-height:1.5;margin:0 0 20px}.card-description.error-message{color:#dc2626;background:#fef2f2;padding:12px;border-radius:8px;border-left:4px solid #ef4444;font-weight:500}.progress-bar{width:100%;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-top:16px}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:3px;animation:progress 2s ease-in-out infinite}@keyframes progress{0%{width:0%}50%{width:70%}to{width:100%}}.config-requirements{display:flex;gap:16px;margin-top:16px}.requirement-item{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;font-size:14px;color:#475569;flex:1}.req-icon{font-size:18px}.features-list{display:flex;flex-direction:column;gap:12px;margin-top:20px}.feature-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#475569;transition:all .2s ease}.feature-item:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);transform:translate(4px)}.feature-icon{font-size:18px;flex-shrink:0}.user-info{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin-top:16px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f1f5f9}.info-row:last-child{border-bottom:none}.info-label{font-size:14px;font-weight:600;color:#64748b}.info-value{font-size:14px;color:#1e293b;font-weight:500;text-align:right;max-width:200px;word-break:break-all}.info-value.account-id{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;background:#f1f5f9;padding:4px 8px;border-radius:4px}.docusign-card-footer{padding:16px 24px 24px;border-top:1px solid #f1f5f9;background:linear-gradient(135deg,#fafafa,#f4f4f5)}.docusign-button{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;position:relative;overflow:hidden;width:100%;justify-content:center}.docusign-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.docusign-button:hover:before{left:100%}.docusign-button.primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 14px #3b82f663}.docusign-button.primary:hover{background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 6px 20px #3b82f680;transform:translateY(-2px)}.docusign-button.secondary{background:linear-gradient(135deg,#64748b,#475569);color:#fff;box-shadow:0 4px 14px #64748b63}.docusign-button.secondary:hover{background:linear-gradient(135deg,#475569,#334155);transform:translateY(-1px)}.docusign-button.retry{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 14px #ef444463}.docusign-button.retry:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px)}.docusign-button.small{padding:10px 20px;font-size:14px;width:auto;justify-content:flex-start}.button-icon{font-size:16px;flex-shrink:0}.button-arrow{font-size:16px;margin-left:4px;transition:transform .3s ease}.docusign-button:hover .button-arrow{transform:translate(4px)}@media(max-width:768px){.docusign-card{margin:0 -10px 20px;border-radius:12px}.docusign-card-header,.docusign-card-body,.docusign-card-footer{padding:16px 20px}.card-title{font-size:18px}.card-description{font-size:14px}.config-requirements{flex-direction:column;gap:12px}.requirement-item{padding:10px 14px}.docusign-button{padding:12px 20px;font-size:14px}.info-value{max-width:150px;font-size:13px}}@media(max-width:480px){.docusign-card-header{flex-direction:column;gap:12px;align-items:flex-start}.docusign-logo{align-self:flex-end}.user-info{padding:16px}.info-row{flex-direction:column;align-items:flex-start;gap:4px;padding:12px 0}.info-value{max-width:100%;text-align:left}}.docusign-compact{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;min-height:60px}.docusign-compact-status{display:flex;align-items:center;gap:8px;font-weight:500}.docusign-compact-status.connected{color:#059669}.docusign-compact-status.disconnected{color:#64748b}.docusign-compact-status.loading{color:#2563eb}.docusign-compact-status.error{color:#dc2626}.docusign-compact-icon{font-size:14px;flex-shrink:0}.docusign-compact-text{font-size:12px;line-height:1.3;color:inherit}.docusign-compact-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:none;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;margin-top:4px}.docusign-compact-button.connect{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 2px 4px #3b82f64d}.docusign-compact-button.connect:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px)}.docusign-compact-button.disconnect{background:linear-gradient(135deg,#64748b,#475569);color:#fff;box-shadow:0 2px 4px #64748b4d}.docusign-compact-button.disconnect:hover{background:linear-gradient(135deg,#475569,#334155);transform:translateY(-1px)}.docusign-compact-button.retry{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 4px #ef44444d}.docusign-compact-button.retry:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px)}.docusign-minimal{padding:16px;text-align:center}.docusign-minimal-text{font-size:13px;color:#6b7280;margin:0 0 12px;line-height:1.4}.docusign-minimal-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 2px 4px #3b82f64d}.docusign-minimal-button:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px)}.docusign-minimal-button.secondary{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 2px 4px #64748b4d}.docusign-minimal-button.secondary:hover{background:linear-gradient(135deg,#475569,#334155)}.docusign-minimal-api{margin:16px 0;display:flex;flex-direction:column;gap:12px}.docusign-minimal-input{width:100%;padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:12px;background:#fff;color:#374151;margin-bottom:8px}.docusign-minimal-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.docusign-minimal-envelope-ops{display:flex;flex-direction:column;gap:8px}.docusign-minimal-loading{text-align:center;padding:12px;font-size:12px;color:#2563eb;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px}.docusign-minimal-error{text-align:center;padding:12px;font-size:12px;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px}.docusign-minimal-results{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:12px;margin-top:12px}.docusign-minimal-results p{margin:0 0 8px;font-size:12px;color:#15803d}.docusign-minimal-json{background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:8px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:10px;color:#374151;max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;margin:8px 0}.docusign-minimal-button{margin-bottom:4px}.docusign-api-section{margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0}.docusign-api-section h4{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 16px}.api-method{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:12px}.api-method-header{font-size:14px;font-weight:600;color:#475569;margin-bottom:12px}.api-method-inputs{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.docusign-input{padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;background:#fff;color:#374151;transition:border-color .2s ease}.docusign-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.docusign-input.small{padding:6px 10px;font-size:12px;min-width:120px}.api-loading{display:flex;align-items:center;gap:12px;padding:16px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-top:16px;color:#0369a1;font-size:14px}.api-error{display:flex;align-items:center;gap:12px;padding:16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:16px;color:#dc2626;font-size:14px;font-weight:500}.error-icon{font-size:16px;flex-shrink:0}.api-results{margin-top:16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:16px}.api-results h5{font-size:14px;font-weight:600;color:#15803d;margin:0 0 12px}.api-results-json{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:11px;color:#374151;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;margin-bottom:12px}.docusign-simple-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;overflow:hidden}.docusign-simple-header{padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.docusign-simple-title{font-size:13px;font-weight:600;color:#374151;display:flex;align-items:center;gap:8px}@media(prefers-color-scheme:dark){.docusign-card{background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569}.docusign-card.connected{background:linear-gradient(135deg,#064e3b,#065f46);border-color:#10b981}.card-title{color:#f1f5f9}.card-description{color:#cbd5e1}.user-info{background:linear-gradient(135deg,#374151,#4b5563);border-color:#6b7280}.info-label{color:#9ca3af}.info-value{color:#f3f4f6}.feature-item{background:linear-gradient(135deg,#374151,#4b5563);border-color:#6b7280;color:#d1d5db}.docusign-compact,.docusign-simple-section{background:#374151;border-color:#6b7280}.docusign-simple-header{background:#4b5563;border-bottom-color:#6b7280}.docusign-simple-title{color:#f3f4f6}}.sidebar{position:fixed;left:0;top:0;height:100vh;width:68px;background-color:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;z-index:100;box-shadow:2px 0 8px #0000000a;transition:width .25s ease;overflow:visible}.sidebar:hover{width:240px}.sidebar-header{padding:.875rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:center}.sidebar-logo{display:flex;align-items:center;gap:.75rem;overflow:hidden}.logo-text{font-size:1rem;font-weight:800;color:#1f2937;white-space:nowrap;overflow:hidden;opacity:0;transition:opacity .2s ease}.sidebar:hover .logo-text{opacity:1}.logo-image-container{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex-shrink:0}.logo-image{width:40px;height:40px;border-radius:8px;object-fit:contain}.sidebar-env-tag{font-size:.5rem;padding:.0625rem .25rem;border-radius:2px}.sidebar-nav{flex:1;padding:1rem 0;overflow:visible}.sidebar-menu{list-style:none;margin:0;padding:0;overflow:visible}.sidebar-menu li{margin:0;padding:0;overflow:visible}.sidebar-menu>li.has-submenu{position:relative}.sidebar-menu-item{display:flex;align-items:center;width:100%;padding:.75rem .875rem;border:none;background:transparent;cursor:pointer;font-size:.9375rem;font-weight:500;color:#4b5563;text-align:left;transition:all .2s ease;position:relative;gap:.75rem}.sidebar-label{opacity:0;transition:opacity .2s ease;white-space:nowrap;flex:1}.sidebar:hover .sidebar-label{opacity:1}.sidebar-menu-item:hover{background-color:#f3f4f6;color:#1f2937}.sidebar-menu-item.active{color:#3b82f6;background-color:#eff6ff}.sidebar-menu-item.active:hover{background-color:#dbeafe}.sidebar-icon{font-size:1.25rem;display:flex;align-items:center;justify-content:center;width:40px;flex-shrink:0}.sidebar-active-indicator{position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:24px;background-color:#3b82f6;border-radius:0 4px 4px 0}.sidebar-chevron{font-size:.625rem;color:#9ca3af;transition:transform .2s ease,opacity .2s ease;margin-left:auto;opacity:0}.sidebar:hover .sidebar-chevron{opacity:1}.has-submenu.submenu-visible .sidebar-chevron{color:#3b82f6}.has-submenu{position:relative}.sidebar-submenu-flyout{position:fixed;left:72px;min-width:200px;background:#fff;border-radius:10px;box-shadow:0 10px 40px #00000026,0 2px 10px #0000001a;border:1px solid #e5e7eb;z-index:1001;animation:flyoutIn .15s ease forwards}@keyframes flyoutIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.sidebar:hover .sidebar-submenu-flyout{left:240px}.has-submenu:hover .sidebar-chevron{color:#3b82f6}.submenu-header{padding:12px 16px;font-size:.8125rem;font-weight:600;color:#374151;background:#f8fafc;border-bottom:1px solid #e5e7eb}.sidebar-submenu{list-style:none;margin:0;padding:8px 0}.sidebar-submenu li{margin:0;padding:0}.sidebar-submenu-item{display:flex;align-items:center;width:100%;padding:10px 16px;border:none;background:transparent;cursor:pointer;font-size:.875rem;font-weight:500;color:#4b5563;text-align:left;transition:all .15s ease;gap:10px}.sidebar-submenu-item:hover{background-color:#f3f4f6;color:#1f2937}.sidebar-submenu-item.active{color:#3b82f6;background-color:#eff6ff}.sidebar-submenu-item.active:hover{background-color:#dbeafe}.sidebar-subicon{font-size:1rem;display:flex;align-items:center;justify-content:center;width:24px;flex-shrink:0}.sidebar-sublabel{flex:1;white-space:nowrap}.sidebar-submenu-flyout:before{content:"";position:absolute;left:-6px;top:16px;width:12px;height:12px;background:#fff;border-left:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;transform:rotate(45deg)}.sidebar-footer{border-top:1px solid #e5e7eb;padding:.5rem 0}.sidebar-user{display:flex;align-items:center;padding:.75rem .875rem;cursor:default;position:relative;min-height:56px}.sidebar-user:hover{background-color:#f3f4f6}.sidebar-user-avatar{width:40px;height:40px;min-width:40px;background-color:#e5e7eb;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;overflow:hidden}.sidebar-user-avatar img{width:100%;height:100%;object-fit:cover}.sidebar-user-avatar .avatar-initials{font-size:.875rem;font-weight:600;color:#6b7280}.sidebar-user-info{display:flex;flex-direction:column;justify-content:center;gap:.125rem;overflow:hidden;min-width:0;height:40px;opacity:0;margin-left:0;transition:opacity .25s ease,margin-left .25s ease}.sidebar:hover .sidebar-user-info{opacity:1;margin-left:.75rem}.sidebar-user-name{font-size:.8125rem;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.sidebar-logout-btn{background:none;border:none;padding:0;font-size:.75rem;color:#6b7280;cursor:pointer;text-align:left}.sidebar-logout-btn:hover{color:#ef4444;text-decoration:underline}.sidebar-user[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:100%;top:50%;transform:translateY(-50%);background-color:#1f2937;color:#fff;padding:.5rem .75rem;border-radius:4px;font-size:.875rem;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;margin-left:8px;z-index:1000;pointer-events:none}.sidebar:not(:hover) .sidebar-user:hover:after{opacity:1;visibility:visible}.sidebar:hover .sidebar-user:after{opacity:0;visibility:hidden}.sidebar-user{position:relative}.app-layout{display:flex;min-height:100vh}.app-layout.with-sidebar .main-content{margin-left:68px;flex:1;transition:margin-left .25s ease}.main-content{flex:1;min-height:100vh;background-color:#f4f6f9}.app-layout.with-sidebar .dashboard-container{padding:1.5rem 2rem}.app-layout.with-sidebar .top-bar{padding-left:0}.sidebar-menu-item{position:relative}.sidebar-menu-item:after{content:attr(data-tooltip);position:absolute;left:100%;top:50%;transform:translateY(-50%);background-color:#1f2937;color:#fff;padding:.5rem .75rem;border-radius:4px;font-size:.875rem;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;margin-left:8px;z-index:1000;pointer-events:none}.sidebar:not(:hover) .sidebar-menu-item:hover:after{opacity:1;visibility:visible}.sidebar:hover .sidebar-menu-item:after{opacity:0;visibility:hidden}@media(max-width:768px){.sidebar,.sidebar:hover{width:68px}.sidebar .sidebar-label,.sidebar .logo-text{display:none}.sidebar:hover .sidebar-label,.sidebar:hover .logo-text{opacity:0}.sidebar-menu-item:after{display:block}.sidebar:not(:hover) .sidebar-menu-item:hover:after{opacity:1;visibility:visible}.app-layout.with-sidebar .main-content{margin-left:68px}}.admin-tab{padding:24px;max-width:1200px;margin:0 auto;min-height:calc(100vh - 100px)}.admin-header{margin-bottom:28px}.admin-header h2{margin:0 0 8px;font-size:28px;font-weight:700;color:#1a1a2e;letter-spacing:-.5px;display:flex;align-items:center;gap:10px}.admin-header-subtitle{margin:0 0 20px;font-size:15px;color:#64748b;font-weight:400;line-height:1.5}.admin-nav{display:flex;gap:4px;background:#f1f5f9;padding:4px;border-radius:10px;width:fit-content}.admin-nav-btn{padding:10px 20px;border:none;background:transparent;cursor:pointer;font-size:14px;font-weight:500;color:#64748b;border-radius:8px;transition:all .2s ease}.admin-nav-btn:hover{color:#334155;background:#ffffff80}.admin-nav-btn.active{background:#fff;color:#1e293b;box-shadow:0 1px 3px #0000001a}.admin-sub-tabs{display:flex;gap:4px;background:#f1f5f9;padding:4px;border-radius:10px;width:fit-content;margin-bottom:24px}.admin-sub-tab{padding:10px 20px;border:none;background:transparent;cursor:pointer;font-size:14px;font-weight:500;color:#64748b;border-radius:8px;transition:all .2s ease}.admin-sub-tab:hover{color:#334155;background:#ffffff80}.admin-sub-tab.active{background:#fff;color:#1e293b;box-shadow:0 1px 3px #0000001a}.admin-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;border:1px solid #e2e8f0}.admin-section+.admin-section{margin-top:24px}.section-header{display:flex;align-items:center;justify-content:flex-start;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f1f5f9;flex-wrap:wrap}.section-header h3{margin:0;font-size:18px;font-weight:600;color:#1e293b;flex-shrink:0}.section-actions{display:flex;gap:10px;margin-left:auto;flex-shrink:0}.section-divider{width:1px;height:24px;background:#e2e8f0;margin:0 4px}.info-box{padding:16px 20px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:12px;margin-bottom:24px;font-size:14px;color:#1e40af;line-height:1.6}.info-box strong{color:#1e3a8a;font-weight:600}.loading{text-align:center;padding:60px 20px;color:#64748b;font-size:15px}.empty-state{text-align:center;padding:60px 20px;color:#64748b}.empty-state p{margin:0 0 8px;font-size:15px}.empty-state .hint{font-size:13px;color:#94a3b8}.admin-message{display:none}.btn-primary{padding:10px 18px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;box-shadow:0 1px 2px #2563eb33}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{padding:8px 14px;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1;color:#1e293b}.btn-danger{padding:8px 14px;background:#fff;color:#dc2626;border:1px solid #fecaca;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.btn-danger:hover{background:#fef2f2;border-color:#f87171}.btn-warning{padding:10px 18px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;box-shadow:0 1px 2px #d9770633}.btn-warning:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 4px 12px #d977064d}.btn-warning:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-sm{padding:6px 12px!important;font-size:12px!important}.btn-link{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:14px;font-weight:500;padding:8px 0;text-decoration:none;transition:color .2s ease}.btn-link:hover{color:#1d4ed8;text-decoration:underline}.btn-link:disabled{color:#94a3b8;cursor:not-allowed}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#374151}.form-group input[type=text],.form-group input[type=email],.form-group textarea,.form-group select{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;font-family:inherit;background:#fafbfc;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.form-group input::placeholder{color:#94a3b8}.form-group input.input-readonly,.form-group input:disabled{background:#f1f5f9;color:#64748b;cursor:not-allowed;border-color:#e2e8f0}.form-group input.input-readonly:focus,.form-group input:disabled:focus{outline:none;border-color:#e2e8f0;box-shadow:none}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;padding-right:40px}.form-hint{display:block;margin-top:8px;font-size:12px;color:#64748b;line-height:1.5}.form-group.checkbox label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:500}.form-group.checkbox input[type=checkbox]{width:18px;height:18px;border-radius:4px;accent-color:#3b82f6}.disabled-input{background:#f1f5f9!important;color:#64748b!important;cursor:not-allowed!important;border-color:#e2e8f0!important}.disabled-input:focus{outline:none!important;border-color:#e2e8f0!important;box-shadow:none!important}.checkbox-group{display:flex;flex-direction:column;gap:10px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:#374151}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#3b82f6;margin:0 8px 2px 0;vertical-align:middle}.checkbox-label span{font-weight:500;line-height:1}.status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.active,.status-badge.status-active{background:#dcfce7;color:#15803d}.status-badge.inactive,.status-badge.status-inactive{background:#fee2e2;color:#dc2626}.toggle-label{display:flex;align-items:center;gap:10px}.toggle-label input[type=checkbox]{width:40px;height:22px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e2e8f0;border-radius:11px;position:relative;cursor:pointer;transition:background .2s ease}.toggle-label input[type=checkbox]:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.toggle-label input[type=checkbox]:checked{background:#22c55e}.toggle-label input[type=checkbox]:checked:before{transform:translate(18px)}.toggle-label span{font-weight:500;color:#374151}.type-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.type-badge.type-py{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.type-badge.type-js{background:linear-gradient(135deg,#fef9c3,#fef08a);color:#854d0e}.env-badges{display:flex;gap:6px;flex-wrap:wrap}.env-badge{display:inline-block;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.env-badge.env-dev{background:#dbeafe;color:#1d4ed8}.env-badge.env-prod{background:#dcfce7;color:#15803d}.allowed-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;font-weight:700;font-size:14px}.allowed-badge.yes{background:#dcfce7;color:#15803d}.allowed-badge.no{background:#fee2e2;color:#dc2626}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid #f1f5f9}.pagination button{padding:10px 18px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:#475569;transition:all .2s ease}.pagination button:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination span{font-size:14px;color:#64748b;font-weight:500}.info-icon-wrapper{position:relative;display:inline-flex;align-items:center;margin-left:8px;vertical-align:middle}.info-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#e0e7ff;color:#4f46e5;font-size:12px;font-weight:600;font-style:normal;cursor:help;transition:all .2s ease}.info-icon:hover{background:#c7d2fe;color:#4338ca}.info-tooltip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:320px;padding:14px 16px;background:#1e293b;color:#e2e8f0;font-size:13px;font-weight:400;line-height:1.6;border-radius:10px;box-shadow:0 10px 25px #0003;opacity:0;visibility:hidden;transition:all .2s ease;z-index:1000;pointer-events:none}.info-tooltip:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #1e293b}.info-tooltip strong{display:block;color:#fff;font-weight:600;margin-bottom:6px}.info-icon-wrapper:hover .info-tooltip{opacity:1;visibility:visible}.admin-toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:12px;pointer-events:none}.admin-toast{padding:14px 20px;border-radius:10px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:10px;min-width:280px;max-width:400px;box-shadow:0 10px 25px #00000026,0 4px 10px #0000001a;pointer-events:auto;animation:toastSlideIn .3s ease-out}.admin-toast.hiding{animation:toastSlideOut .3s ease-in forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.admin-toast.error{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#b91c1c;border:1px solid #fecaca}.admin-toast.success{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#15803d;border:1px solid #bbf7d0}.admin-toast-icon{font-size:18px;flex-shrink:0}.admin-toast-message{flex:1;line-height:1.4}.admin-toast-close{background:none;border:none;font-size:18px;cursor:pointer;padding:0;margin-left:8px;opacity:.6;transition:opacity .2s ease;color:inherit;flex-shrink:0}.admin-toast-close:hover{opacity:1}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;padding:28px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content.large{max-width:700px}.modal-content h3{margin:0 0 8px;font-size:20px;font-weight:700;color:#1e293b}.modal-description{margin:0 0 24px;font-size:14px;color:#64748b;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid #f1f5f9}.modal-confirm{max-width:420px}.modal-confirm p{font-size:14px;color:#64748b;line-height:1.6;margin:0 0 12px}.modal-confirm .warning-text{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:12px 14px;color:#92400e;font-size:13px}.modal-merge{transition:max-width .3s ease,max-height .3s ease}.modal-large{max-width:900px!important;max-height:85vh}.view-changes-btn{display:block;margin:12px 0;text-align:left}.groups-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.group-card{display:flex;flex-direction:column;padding:20px;border:1px solid #e2e8f0;border-radius:12px;background:#fafbfc;transition:all .2s ease}.group-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000d}.group-card.inactive{opacity:.5;background:#f8fafc}.group-info{flex:1;min-width:0}.group-info h4{margin:0 0 6px;font-size:17px;font-weight:600;color:#1e293b}.group-desc{margin:0 0 12px;font-size:14px;color:#64748b;line-height:1.5}.group-meta{display:flex;align-items:center;gap:10px;margin-bottom:16px}.group-actions{display:flex;gap:8px;flex-shrink:0;margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.group-mappings{background:#fff;border-radius:10px;padding:14px 16px;margin-top:8px;border:1px solid #e2e8f0}.group-mappings strong{font-size:12px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.5px}.no-mappings{color:#94a3b8;font-size:13px;font-style:italic}.mappings-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.mapping-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.mapping-name{font-size:13px;font-weight:500;color:#334155}.mapping-id{font-size:11px;font-family:SF Mono,Monaco,Inconsolata,monospace;color:#64748b;background:#e2e8f0;padding:2px 6px;border-radius:4px}.btn-edit-mapping{margin-left:auto;width:22px;height:22px;border:none;background:#dbeafe;color:#2563eb;border-radius:6px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-edit-mapping:hover{background:#bfdbfe}.btn-remove-mapping{width:22px;height:22px;border:none;background:#fee2e2;color:#dc2626;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-remove-mapping:hover{background:#fecaca}.btn-add-mapping{margin-top:12px;padding:8px 14px;background:transparent;color:#3b82f6;border:1px dashed #93c5fd;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;width:100%}.btn-add-mapping:hover{background:#eff6ff;border-color:#3b82f6}.audit-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:16px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.audit-filters input{padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;min-width:140px;flex:1}.audit-filters input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.audit-summary{font-size:14px;color:#64748b;margin-bottom:16px;font-weight:500}.audit-table-container{overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px}.audit-table{width:100%;border-collapse:collapse;font-size:13px}.audit-table th,.audit-table td{padding:14px 16px;text-align:left;border-bottom:1px solid #f1f5f9}.audit-table th{background:#f8fafc;font-weight:600;color:#475569;white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.audit-table tr:last-child td{border-bottom:none}.audit-table tbody tr{transition:background .15s ease}.audit-table tbody tr:hover{background:#f8fafc}.audit-table tr.denied{background:#fef2f2}.audit-table tr.denied:hover{background:#fee2e2}.audit-table code{padding:4px 8px;background:#f1f5f9;border-radius:6px;font-size:12px;font-family:SF Mono,Monaco,Inconsolata,monospace;color:#475569}.scripts-table-container{overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px}.scripts-table{width:100%;border-collapse:collapse;font-size:14px}.scripts-table th,.scripts-table td{padding:14px 16px;text-align:left;border-bottom:1px solid #f1f5f9}.scripts-table th{background:#f8fafc;font-weight:600;color:#475569;white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.scripts-table tr:last-child td{border-bottom:none}.scripts-table tbody tr{transition:background .15s ease}.scripts-table tbody tr:hover{background:#f8fafc}.scripts-table .script-name{font-weight:600;color:#1e293b}.scripts-table .script-id{font-size:12px;font-family:SF Mono,Monaco,Inconsolata,monospace;color:#64748b;background:#f1f5f9;padding:4px 8px;border-radius:6px}.scripts-table .script-description{max-width:300px;color:#64748b;font-size:13px}.scripts-table .script-description .no-description{color:#94a3b8;font-style:italic}.scripts-table .script-github-path{max-width:250px}.scripts-table .script-github-path code{font-size:11px;font-family:SF Mono,Monaco,Inconsolata,monospace;color:#64748b;background:#f1f5f9;padding:4px 8px;border-radius:6px;display:inline-block;word-break:break-all}.scripts-table .script-github-path .no-path{color:#94a3b8}.scripts-table .script-actions{display:flex;gap:8px;white-space:nowrap}.script-registry-tab{width:100%}.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;max-height:50vh;overflow-y:auto;padding:4px}.feature-toggle{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s ease;background:#fafbfc}.feature-toggle:hover{border-color:#cbd5e1;background:#fff}.feature-toggle:has(input:checked){border-color:#3b82f6;background:#eff6ff}.feature-toggle input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:#3b82f6;flex-shrink:0}.feature-info{display:flex;flex-direction:column;gap:4px;min-width:0}.feature-name{font-size:14px;font-weight:600;color:#1e293b}.feature-id{font-size:11px;font-family:SF Mono,Monaco,Inconsolata,monospace;color:#64748b;background:#e2e8f0;padding:2px 8px;border-radius:4px;width:fit-content}.feature-desc{font-size:12px;color:#64748b;line-height:1.4;margin-top:4px}.github-compact-inline{display:flex;align-items:center}.github-compact-inline .github-compact{display:flex;flex-direction:row;align-items:center;gap:10px;padding:6px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;min-height:34px;box-sizing:border-box}.github-compact-inline .github-compact-status{display:flex;flex-direction:row;align-items:center;gap:6px}.github-compact-inline .github-compact-icon{font-size:14px}.github-compact-inline .github-compact-text{font-weight:500;color:#475569;white-space:nowrap}.github-compact-inline .github-compact-status.connected .github-compact-text{color:#15803d}.github-compact-inline .github-compact-status.disconnected .github-compact-text{color:#64748b}.github-compact-inline .github-compact-status.error .github-compact-text{color:#dc2626}.github-compact-inline .github-compact-button{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:none;transition:all .2s ease;white-space:nowrap}.github-compact-inline .github-compact-button.connect{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.github-compact-inline .github-compact-button.connect:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.github-compact-inline .github-compact-button.disconnect{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.github-compact-inline .github-compact-button.disconnect:hover{background:#e2e8f0;color:#475569}.github-compact-inline .github-compact-button.retry{background:#fef3c7;color:#92400e}.github-compact-inline .github-compact-button.retry:hover{background:#fde68a}.github-compact-inline .github-compact-button-placeholder{display:inline-block;width:70px;height:22px}.sync-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px;gap:12px}.sync-bar-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sync-bar-text{font-size:13px;color:#64748b}.sync-bar-text code{background:#e2e8f0;padding:2px 6px;border-radius:4px;font-size:12px;color:#475569}.sync-result-box{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px;font-size:13px;flex-wrap:wrap}.sync-label{color:#64748b;font-weight:500}.sync-added{color:#15803d;background:#dcfce7;padding:3px 8px;border-radius:12px;font-weight:600;font-size:12px}.sync-updated{color:#1d4ed8;background:#dbeafe;padding:3px 8px;border-radius:12px;font-weight:600;font-size:12px}.sync-removed{color:#dc2626;background:#fee2e2;padding:3px 8px;border-radius:12px;font-weight:600;font-size:12px}.sync-error{color:#b45309;background:#fef3c7;padding:3px 8px;border-radius:12px;font-weight:600;font-size:12px}.sync-button-group{display:flex;align-items:center;gap:8px}.sync-info-tooltip-container{position:relative;display:inline-flex;align-items:center}.sync-info-icon{font-size:16px;cursor:help;opacity:.7;transition:opacity .2s ease}.sync-info-icon:hover{opacity:1}.sync-info-tooltip{display:none;position:absolute;top:calc(100% + 8px);right:0;width:320px;padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 25px #0000001f,0 4px 10px #00000014;z-index:1000;font-size:13px;line-height:1.5;color:#475569}.sync-info-tooltip-container:hover .sync-info-tooltip{display:block}.sync-info-tooltip strong{display:block;color:#1e293b;font-size:14px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}.sync-info-tooltip p{margin:0 0 10px}.sync-info-tooltip p:last-child{margin-bottom:0;font-style:italic;color:#64748b;font-size:12px}.sync-info-tooltip ul{margin:8px 0;padding-left:18px}.sync-info-tooltip li{margin-bottom:6px}.sync-info-tooltip li:last-child{margin-bottom:0}.sync-info-tooltip code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:12px;color:#0369a1;font-weight:600}.sync-info-tooltip:before{content:"";position:absolute;top:-6px;right:12px;width:10px;height:10px;background:#fff;border-left:1px solid #e2e8f0;border-top:1px solid #e2e8f0;transform:rotate(45deg)}.merge-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:8px}.merge-card{background:#fafbfc;border:1px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .2s ease}.merge-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000d}.merge-card-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.merge-card-header .merge-icon{font-size:20px}.merge-card-header h4{margin:0;font-size:16px;font-weight:600;color:#1e293b}.merge-card-body{margin-bottom:16px}.merge-status{display:inline-block;font-size:13px;font-weight:500}.merge-status.loading{color:#64748b;font-style:italic}.merge-status.has-changes{color:#b45309;background:#fef3c7;padding:4px 10px;border-radius:12px;font-weight:600}.merge-status.up-to-date{color:#15803d;background:#dcfce7;padding:4px 10px;border-radius:12px;font-weight:600}.merge-status.unknown{color:#64748b;background:#f1f5f9;padding:4px 10px;border-radius:12px}.merge-card-actions{display:flex;gap:8px}.btn-merge{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease;position:relative}.btn-merge-dev{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 1px 2px #2563eb33}.btn-merge-dev:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 10px #2563eb4d}.btn-merge-prod{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 1px 2px #d9770633}.btn-merge-prod:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 4px 10px #d977064d}.btn-merge:disabled{opacity:.6;cursor:not-allowed;transform:none}.merge-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#ffffff40;border-radius:10px;font-size:11px;font-weight:700;color:#fff;margin-left:2px}.btn-merge-dev .merge-badge,.btn-merge-prod .merge-badge{background:#ffffff4d}.merge-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:14px 16px;margin:16px 0}.merge-summary{font-size:14px;color:#475569}.merge-summary strong{color:#1e293b}.merge-files-section{margin:16px 0;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;max-height:50vh;overflow-y:auto}.merge-files-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:10}.merge-files-header h4{margin:0;font-size:14px;font-weight:600;color:#1e293b}.merge-commits{padding:12px 16px;background:#fafbfc;border-bottom:1px solid #e2e8f0}.merge-commits h5{margin:0 0 10px;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.commit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.commit-item{display:flex;align-items:center;gap:10px;font-size:13px}.commit-sha{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:11px;background:#e2e8f0;color:#475569;padding:2px 6px;border-radius:4px;flex-shrink:0}.commit-message{color:#1e293b;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.commit-author{color:#64748b;font-size:12px;flex-shrink:0}.merge-files-list{padding:8px}.merge-file-item{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px;overflow:hidden;background:#fff}.merge-file-item:last-child{margin-bottom:0}.merge-file-header{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;background:#fafbfc;transition:background .15s ease}.merge-file-header:hover{background:#f1f5f9}.file-status{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;font-weight:700;font-size:14px;flex-shrink:0}.file-status-added{background:#dcfce7;color:#15803d}.file-status-removed{background:#fee2e2;color:#dc2626}.file-status-modified{background:#dbeafe;color:#1d4ed8}.file-status-renamed{background:#fef3c7;color:#b45309}.file-name{flex:1;font-size:13px;font-family:SF Mono,Monaco,Inconsolata,monospace;color:#1e293b;word-break:break-all}.file-stats{display:flex;gap:8px;font-size:12px;font-weight:600;flex-shrink:0}.stat-additions{color:#15803d}.stat-deletions{color:#dc2626}.expand-icon{color:#64748b;font-size:10px;flex-shrink:0;width:16px;text-align:center}.merge-file-diff{border-top:1px solid #e2e8f0;background:#1e293b;overflow-x:auto}.diff-content{margin:0;padding:12px 16px;font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:12px;line-height:1.6;color:#e2e8f0;white-space:pre;overflow-x:auto}.diff-line{min-height:1.6em}.diff-addition{background:#22c55e33;color:#86efac}.diff-deletion{background:#ef444433;color:#fca5a5}.diff-hunk{color:#60a5fa;background:#60a5fa1a;font-style:italic}.diff-empty{padding:20px;text-align:center;color:#64748b;font-style:italic;background:#f8fafc}@media(max-width:768px){.admin-tab{padding:16px}.admin-header h2{font-size:22px}.admin-nav{width:100%}.admin-nav-btn{flex:1;padding:10px 12px;font-size:13px;text-align:center}.groups-list{grid-template-columns:1fr}.group-card{flex-direction:column;gap:16px}.group-actions{width:100%;margin-left:0;justify-content:flex-start}.section-header{flex-direction:column;gap:16px;align-items:flex-start}.features-grid{grid-template-columns:1fr}.audit-filters{flex-direction:column}.audit-filters input{width:100%}.modal-content{padding:20px;margin:10px}.modal-content.large{max-width:100%}.admin-sub-tabs{width:100%}.admin-sub-tab{flex:1;text-align:center;padding:10px 12px}.scripts-table{font-size:13px}.scripts-table th,.scripts-table td{padding:10px 12px}.scripts-table .script-description{max-width:150px}.scripts-table .script-actions{flex-direction:column;gap:4px}}.features-sidebar-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.features-sidebar-backdrop.open{opacity:1;visibility:visible}.features-sidebar{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:100vw;background:#fff;z-index:1001;display:flex;flex-direction:column;box-shadow:-8px 0 30px #00000026;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.features-sidebar.open{transform:translate(0)}.features-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.features-sidebar-header .header-title{display:flex;flex-direction:column;gap:4px}.features-sidebar-header .group-name{margin:0;font-size:20px;font-weight:700;color:#1e293b}.features-sidebar-header .features-label{font-size:12px;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.features-sidebar-header .close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:#fff;border-radius:10px;cursor:pointer;color:#64748b;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.features-sidebar-header .close-btn:hover{background:#f1f5f9;color:#1e293b}.features-sidebar-description{margin:0;padding:12px 24px;font-size:13px;color:#64748b;background:#fafbfc;border-bottom:1px solid #f1f5f9;line-height:1.5}.features-sidebar-toolbar{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid #f1f5f9;background:#fff}.features-sidebar-toolbar .search-container{flex:1;position:relative;display:flex;align-items:center}.features-sidebar-toolbar .search-icon{position:absolute;left:12px;color:#94a3b8;pointer-events:none}.features-sidebar-toolbar .search-input{width:100%;padding:10px 36px;border:1px solid #e2e8f0;border-radius:10px;font-size:13px;font-family:inherit;background:#fafbfc;transition:all .2s ease}.features-sidebar-toolbar .search-input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.features-sidebar-toolbar .search-input::placeholder{color:#94a3b8}.features-sidebar-toolbar .clear-search-btn{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:#e2e8f0;border-radius:6px;cursor:pointer;color:#64748b;transition:all .2s ease}.features-sidebar-toolbar .clear-search-btn:hover{background:#cbd5e1;color:#475569}.features-sidebar-toolbar .toolbar-actions{display:flex;gap:6px}.features-sidebar-toolbar .toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;color:#64748b;transition:all .2s ease}.features-sidebar-toolbar .toolbar-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.features-sidebar-stats{padding:10px 24px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-bottom:1px solid #bfdbfe}.features-sidebar-stats .stats-text{font-size:12px;font-weight:600;color:#1e40af}.features-sidebar-stats .unsaved-indicator{color:#dc2626;font-style:italic}.features-sidebar-content{flex:1;overflow-y:auto;padding:8px 0}.features-sidebar-content .no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center}.features-sidebar-content .no-results-icon{font-size:40px;margin-bottom:16px}.features-sidebar-content .no-results p{margin:0 0 12px;font-size:14px;color:#64748b}.features-sidebar-content .clear-search-link{background:none;border:none;color:#3b82f6;font-size:13px;font-weight:500;cursor:pointer;padding:0}.features-sidebar-content .clear-search-link:hover{text-decoration:underline}.feature-tree{padding:8px 0}.feature-tree-node{border-bottom:1px solid #f1f5f9;margin-bottom:2px}.feature-tree-item{display:flex;align-items:flex-start;gap:8px;padding:10px 16px 10px 12px;cursor:pointer;transition:background .15s ease;border-left:3px solid transparent;border-bottom:1px solid #f1f5f9}.feature-tree-item:hover{background:#f8fafc}.feature-tree-item.selected{background:#eff6ff;border-left-color:#3b82f6}.feature-tree-item .expand-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:none;cursor:pointer;color:#64748b;border-radius:4px;transition:all .2s ease;flex-shrink:0;margin-top:2px}.feature-tree-item .expand-btn:hover{background:#e2e8f0;color:#334155}.feature-tree-item .expand-btn svg{transition:transform .2s ease}.feature-tree-item .expand-btn.expanded svg{transform:rotate(90deg)}.feature-tree-item .expand-placeholder{width:20px;height:20px;flex-shrink:0}.feature-checkbox-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;flex:1;min-width:0}.feature-checkbox-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.feature-checkbox-label .checkbox-custom{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:2px solid #cbd5e1;border-radius:5px;background:#fff;flex-shrink:0;margin-top:2px;transition:all .2s ease}.feature-checkbox-label input:checked+.checkbox-custom{background:#3b82f6;border-color:#3b82f6;color:#fff}.feature-checkbox-label input:indeterminate+.checkbox-custom{background:#93c5fd;border-color:#93c5fd}.feature-checkbox-label input:focus+.checkbox-custom{box-shadow:0 0 0 3px #3b82f633}.feature-checkbox-label:hover .checkbox-custom{border-color:#94a3b8}.feature-checkbox-label input:checked:hover+.checkbox-custom,.feature-checkbox-label input:indeterminate:hover+.checkbox-custom{background:#2563eb;border-color:#2563eb}.feature-label-content{display:flex;flex-direction:column;gap:2px;min-width:0}.feature-label-content .feature-name{font-size:14px;font-weight:600;color:#1e293b;line-height:1.3}.feature-label-content .feature-id{font-size:11px;font-family:SF Mono,Monaco,Inconsolata,monospace;color:#64748b;background:#f1f5f9;padding:2px 6px;border-radius:4px;width:fit-content}.feature-tree-item.selected .feature-label-content .feature-id{background:#dbeafe;color:#1d4ed8}.feature-tree-item .feature-description{font-size:11px;color:#94a3b8;margin-left:auto;padding-left:12px;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.features-sidebar-footer{padding:16px 24px;border-top:1px solid #e2e8f0;background:#fafbfc}.features-sidebar-footer .btn-done{width:100%;padding:12px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #2563eb33}.features-sidebar-footer .btn-done:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.features-sidebar-footer .btn-done:disabled{background:linear-gradient(135deg,#94a3b8,#64748b);cursor:not-allowed;box-shadow:none}@media(max-width:480px){.features-sidebar{width:100%}.features-sidebar-header{padding:16px 20px}.features-sidebar-description{padding:10px 20px}.features-sidebar-toolbar{padding:12px 20px}.features-sidebar-stats{padding:8px 20px}.feature-tree-item{padding:10px 12px 10px 8px}.features-sidebar-footer{padding:12px 20px}.feature-tree-item .feature-description{display:none}}.features-sidebar-content::-webkit-scrollbar{width:6px}.features-sidebar-content::-webkit-scrollbar-track{background:transparent}.features-sidebar-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.features-sidebar-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.report-builder-tab{display:flex;height:calc(100vh - 60px);background:#f4f6f9;color:#1f2937}.report-builder-sidebar{width:280px;min-width:280px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:width .3s ease,min-width .3s ease}.report-builder-sidebar.collapsed{width:48px;min-width:48px}.sidebar-collapse-toggle{width:28px;height:28px;min-width:28px;border:1px solid #e5e7eb;border-radius:4px;background:#fff;color:#6b7280;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.sidebar-collapse-toggle:hover{background:#f3f4f6;color:#374151;border-color:#d1d5db}.report-builder-sidebar.collapsed .sidebar-collapse-toggle{margin:0 auto}.report-builder-sidebar.collapsed .reports-section-header{padding:12px 10px}.report-builder-sidebar.collapsed .reports-header-row{justify-content:center}.sidebar-section{padding:12px;border-bottom:1px solid #e5e7eb}.github-section{background:#f9fafb}.github-auth-container .github-compact{display:flex;flex-direction:row;align-items:center;gap:10px;padding:6px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;min-height:32px;box-sizing:border-box}.github-auth-container .github-compact-status{display:flex;flex-direction:row;align-items:center;gap:6px}.github-auth-container .github-compact-icon{font-size:14px}.github-auth-container .github-compact-text{font-weight:500;color:#475569;white-space:nowrap}.github-auth-container .github-compact-status.connected .github-compact-text{color:#15803d}.github-auth-container .github-compact-status.disconnected .github-compact-text{color:#64748b}.github-auth-container .github-compact-status.error .github-compact-text{color:#dc2626}.github-auth-container .github-compact-status.loading .github-compact-text{color:#6b7280}.github-auth-container .github-compact-button{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:none;transition:all .2s ease;white-space:nowrap}.github-auth-container .github-compact-button.connect{background:#24292e;color:#fff}.github-auth-container .github-compact-button.connect:hover{background:#1a1a2e}.github-auth-container .github-compact-button.disconnect{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.github-auth-container .github-compact-button.disconnect:hover{background:#e2e8f0;color:#475569}.github-auth-container .github-compact-button.retry{background:#fef3c7;color:#92400e}.github-auth-container .github-compact-button.retry:hover{background:#fde68a}.github-auth-container .github-compact-button-placeholder{display:inline-block;width:70px;height:22px}.reports-section-header{padding:14px}.reports-header-row{display:flex;justify-content:space-between;align-items:center}.reports-header-row{flex:1;text-align:left}.sidebar-section-title{font-size:16px;font-weight:600;color:#1f2937}.sidebar-header-actions{display:flex;align-items:center;gap:6px}.report-builder-tab .btn-icon{width:28px;height:28px;border:none;border-radius:4px;background:#3b82f6;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.report-builder-tab .btn-icon:hover{background:#2563eb}.script-list{flex:1;overflow-y:auto;padding:8px}.script-list.collapsed{padding:48px 4px 8px;display:none}.script-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;margin-bottom:4px;border-radius:6px;cursor:pointer;transition:background .2s;background:transparent}.script-item:hover{background:#f3f4f6}.script-item.selected{background:#eff6ff;border-left:3px solid #3b82f6}.script-item-info{display:flex;flex-direction:column;gap:2px;overflow:hidden}.script-item-name{font-size:13px;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.script-item-type{font-size:10px;padding:2px 6px;border-radius:3px;width:fit-content}.script-item-type.type-py{background:#306998;color:#ffd43b}.script-item-type.type-js{background:#f7df1e;color:#323330}.report-builder-tab .btn-icon-small{width:22px;height:22px;border:none;border-radius:3px;background:transparent;color:#6b7280;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.report-builder-tab .btn-icon-small:hover{background:#f3f4f6;color:#1f2937}.loading-small,.empty-list{padding:20px;text-align:center;color:#6b7280;font-size:13px}.templates-section{padding:12px;border-top:1px solid #e5e7eb}.templates-section h4{margin:0 0 10px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.template-list{display:flex;flex-direction:column;gap:4px}.template-btn{padding:8px 10px;border:1px dashed #d1d5db;border-radius:4px;background:transparent;color:#6b7280;font-size:12px;text-align:left;cursor:pointer;transition:all .2s}.template-btn:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.report-builder-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-bottom:1px solid #e5e7eb}.toolbar-left{display:flex;align-items:center;gap:12px}.script-title{font-size:16px;font-weight:600;color:#1f2937}.unsaved-indicator{color:#f59e0b;margin-left:4px;font-size:20px}.local-draft-indicator{margin-left:6px;font-size:14px;cursor:help}.type-selector{padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#1f2937;font-size:12px;cursor:pointer}.toolbar-right{display:flex;align-items:center;gap:8px}.toolbar-github-auth{margin-right:8px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toolbar-github-auth>div{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;padding:4px 12px!important;background:#f9fafb!important;border:1px solid #e5e7eb!important;border-radius:6px!important;font-size:12px!important;height:30px!important;min-height:30px!important;max-height:30px!important;box-sizing:border-box!important}.toolbar-github-auth .github-compact-status{display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px}.toolbar-github-auth .github-compact-icon{font-size:14px;flex-shrink:0}.toolbar-github-auth .github-compact-text{font-weight:500;font-size:12px;white-space:nowrap}.toolbar-github-auth .github-compact-button{padding:4px 12px!important;border-radius:4px!important;font-size:11px!important;font-weight:500!important;flex-shrink:0;white-space:nowrap;height:22px!important;line-height:14px!important;display:flex!important;align-items:center!important;justify-content:center!important}.toolbar-github-auth .github-compact-button-placeholder{display:inline-block;width:75px;height:22px;flex-shrink:0}.report-builder-tab .btn-sm{padding:6px 14px;font-size:13px}.report-builder-tab .btn-primary{background:#3b82f6;color:#fff;border:1px solid #3b82f6;border-radius:4px;cursor:pointer;font-weight:500;transition:background .2s}.report-builder-tab .btn-primary:hover:not(:disabled){background:#2563eb}.report-builder-tab .btn-primary:disabled{opacity:.6;cursor:not-allowed}.report-builder-tab .btn-deploy{background:linear-gradient(135deg,#10b981,#059669);border-color:#059669}.report-builder-tab .btn-deploy:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857)}.storage-info-container{position:relative;display:inline-flex;align-items:center}.btn-icon-info{width:24px;height:24px;border:none;border-radius:50%;background:transparent;color:#6b7280;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.btn-icon-info:hover{background:#f3f4f6;color:#3b82f6}.storage-info-tooltip{position:absolute;top:100%;right:0;margin-top:8px;width:320px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px #00000026;z-index:100;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.storage-info-content{padding:16px;font-size:13px;line-height:1.6;color:#374151}.storage-info-content strong{color:#1f2937}.storage-info-content em{display:block;margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb;color:#6b7280;font-size:12px}.storage-info-close{position:absolute;top:8px;right:8px;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:#9ca3af;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.storage-info-close:hover{background:#f3f4f6;color:#374151}.report-builder-tab .btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;transition:all .2s}.report-builder-tab .btn-secondary:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.report-builder-tab .btn-secondary:disabled{opacity:.6;cursor:not-allowed}.report-builder-tab .btn-danger{background:#dc2626;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-weight:500;transition:background .2s}.report-builder-tab .btn-danger:hover:not(:disabled){background:#b91c1c}.report-builder-tab .btn-danger:disabled{opacity:.6;cursor:not-allowed}.editor-container{flex:1;display:flex;overflow:hidden}.code-editor-wrapper{flex:1;display:flex;flex-direction:column;border-right:1px solid #e5e7eb;min-width:0}.editor-header,.output-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:12px;font-weight:600;color:#6b7280}.editor-hint{font-weight:400;font-size:11px;color:#9ca3af}.code-editor-container{flex:1;display:flex;overflow:hidden;background:#fff}.line-numbers{width:50px;min-width:50px;padding:16px 0;background:#f9fafb;border-right:1px solid #e5e7eb;text-align:right;overflow:hidden;-webkit-user-select:none;user-select:none}.line-number{padding:0 12px 0 8px;font-family:Fira Code,Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.6;color:#9ca3af}.code-editor{flex:1;width:100%;padding:16px;border:none;background:#fff;color:#1f2937;font-family:Fira Code,Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.6;resize:none;outline:none;-moz-tab-size:4;tab-size:4}.code-editor::placeholder{color:#9ca3af}.output-wrapper{width:400px;min-width:300px;display:flex;flex-direction:column;background:#f9fafb;position:relative}.payload-input{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f3f4f6;border-bottom:1px solid #e5e7eb}.payload-input label{font-size:11px;color:#6b7280;white-space:nowrap}.payload-input input{flex:1;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#1f2937;font-family:monospace;font-size:12px}.output-console{flex:1;margin:0;padding:16px;background:#1f2937;color:#e5e7eb;font-family:Fira Code,Monaco,Menlo,monospace;font-size:12px;line-height:1.5;overflow:auto;white-space:pre-wrap;word-break:break-word}.report-builder-tab .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.report-builder-tab .modal-content{background:#fff;border-radius:8px;padding:24px;width:100%;max-width:450px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.report-builder-tab .modal-content h3{margin:0 0 20px;font-size:18px;color:#1f2937}.report-builder-tab .deploy-modal{max-width:500px}.report-builder-tab .deploy-modal h3{color:#1f2937;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.deploy-env-badge{display:inline-block;padding:4px 12px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:4px;font-size:14px;font-weight:700;letter-spacing:.5px}.deploy-warning{display:flex;gap:16px;padding:16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:16px}.deploy-icon{font-size:24px;flex-shrink:0}.deploy-message{flex:1}.deploy-message p{margin:0 0 10px;font-size:14px;color:#374151;line-height:1.5}.deploy-message p:last-child{margin-bottom:0}.deploy-environments{display:inline-block;padding:8px 12px;background:#fff;border:1px solid #d1fae5;border-radius:4px;font-size:13px;color:#065f46}.deploy-environments strong{color:#047857}.btn-deploy-confirm{background:linear-gradient(135deg,#10b981,#059669)!important;border-color:#059669!important}.btn-deploy-confirm:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857)!important}.btn-deploy-floating{position:absolute;bottom:20px;right:20px;padding:12px 24px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #10b98166;transition:all .2s ease;z-index:10}.btn-deploy-floating:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 16px #10b98180;transform:translateY(-2px)}.btn-deploy-floating:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-deploy-floating.btn-deploy-disabled{background:linear-gradient(135deg,#6b7280,#4b5563);cursor:not-allowed;opacity:.8;box-shadow:none}.btn-deploy-floating.btn-deploy-disabled:hover{transform:none;box-shadow:none}.report-builder-tab .modal-content.modal-confirm{max-width:400px}.report-builder-tab .modal-content.modal-confirm p{color:#6b7280;margin:0 0 12px}.report-builder-tab .warning-text{color:#d97706!important;font-size:13px}.report-builder-tab .form-group{margin-bottom:16px}.report-builder-tab .form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#374151}.report-builder-tab .form-group input,.report-builder-tab .form-group select,.report-builder-tab .form-group textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#1f2937;font-size:14px;box-sizing:border-box}.report-builder-tab .form-group input:focus,.report-builder-tab .form-group select:focus,.report-builder-tab .form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.report-builder-tab .form-hint{display:block;margin-top:4px;font-size:11px;color:#9ca3af}.report-builder-tab .checkbox-group{display:flex;gap:16px}.report-builder-tab .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:#374151}.report-builder-tab .checkbox-label input[type=checkbox]{width:auto;cursor:pointer}.report-builder-tab .modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb}.report-builder-tab .toast-container{position:fixed;bottom:20px;right:20px;z-index:1001;display:flex;flex-direction:column;gap:8px}.report-builder-tab .toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:6px;background:#fff;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.report-builder-tab .toast.error{border-left:4px solid #dc2626}.report-builder-tab .toast.success{border-left:4px solid #16a34a}.report-builder-tab .toast-icon{font-size:16px}.report-builder-tab .toast.error .toast-icon{color:#dc2626}.report-builder-tab .toast.success .toast-icon{color:#16a34a}.report-builder-tab .toast-message{flex:1;font-size:13px;color:#1f2937}.report-builder-tab .toast-close{background:none;border:none;color:#6b7280;font-size:18px;cursor:pointer;padding:0;line-height:1}.report-builder-tab .toast-close:hover{color:#1f2937}@media(max-width:1024px){.report-builder-sidebar{width:200px}.output-wrapper{width:300px}}@media(max-width:768px){.report-builder-tab{flex-direction:column}.report-builder-sidebar{width:100%;height:200px;border-right:none;border-bottom:1px solid #e5e7eb}.editor-container{flex-direction:column}.code-editor-wrapper{border-right:none;border-bottom:1px solid #e5e7eb}.output-wrapper{width:100%;height:250px}}.report-builder-tab .github-compact-inline{display:flex;align-items:center;padding:10px 12px}.report-builder-tab .github-compact-inline .github-compact{display:flex;flex-direction:row;align-items:center;gap:6px;padding:4px 8px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;min-height:28px;box-sizing:border-box}.report-builder-tab .github-compact-inline .github-compact-status{display:flex;flex-direction:row;align-items:center;gap:6px}.report-builder-tab .github-compact-inline .github-compact-icon{font-size:12px}.report-builder-tab .github-compact-inline .github-compact-text{font-weight:500;color:#374151;white-space:nowrap;font-size:11px}.report-builder-tab .github-compact-inline .github-compact-status.connected .github-compact-text{color:#059669}.report-builder-tab .github-compact-inline .github-compact-status.disconnected .github-compact-text{color:#6b7280}.report-builder-tab .github-compact-inline .github-compact-status.error .github-compact-text{color:#dc2626}.report-builder-tab .github-compact-inline .github-compact-status.loading .github-compact-text{color:#6b7280}.report-builder-tab .github-compact-inline .github-compact-button{padding:3px 8px;border-radius:4px;font-size:10px;font-weight:500;cursor:pointer;border:none;transition:all .2s ease;white-space:nowrap}.report-builder-tab .github-compact-inline .github-compact-button.connect{background:#24292e;color:#fff}.report-builder-tab .github-compact-inline .github-compact-button.connect:hover{background:#1a1a2e}.report-builder-tab .github-compact-inline .github-compact-button.disconnect{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}.report-builder-tab .github-compact-inline .github-compact-button.disconnect:hover{background:#e5e7eb;color:#374151}.report-builder-tab .github-compact-inline .github-compact-button.retry{background:#fef3c7;color:#92400e}.report-builder-tab .github-compact-inline .github-compact-button.retry:hover{background:#fde68a}.report-builder-tab .github-compact-inline .github-compact-button-placeholder{display:inline-block;width:60px;height:20px}.github-warning{display:flex;align-items:center;gap:8px;padding:10px 12px;margin:8px;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;font-size:11px;color:#92400e}.github-warning .warning-icon{font-size:14px}.github-compact{display:flex;flex-direction:column;gap:8px;box-sizing:border-box}.github-compact-status{display:flex;align-items:center;gap:8px;font-size:12px}.github-compact-icon{font-size:14px}.github-compact-text{color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.github-compact-status.connected .github-compact-text{color:#059669}.github-compact-status.error .github-compact-text{color:#dc2626}.github-compact-status.loading .github-compact-text{color:#6b7280}.github-compact-button{padding:6px 12px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#374151;font-size:11px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:4px}.github-compact-button:hover{background:#f3f4f6;border-color:#9ca3af}.github-compact-button.connect{background:#24292e;color:#fff;border-color:#24292e}.github-compact-button.connect:hover{background:#1a1a2e}.github-compact-button.disconnect{color:#dc2626;border-color:#fecaca}.github-compact-button.disconnect:hover{background:#fef2f2;border-color:#f87171}.github-compact-button.retry{color:#f59e0b;border-color:#fcd34d}.github-compact-button.retry:hover{background:#fffbeb}.github-card{background:#fff;border-radius:8px;border:1px solid #e5e7eb;overflow:hidden}.github-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.github-card-body{padding:16px}.github-card-footer{padding:12px 16px;background:#f9fafb;border-top:1px solid #e5e7eb}.github-button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.github-button.primary{background:#24292e;color:#fff}.github-button.primary:hover{background:#1a1a2e}.github-button.secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.github-button.secondary:hover{background:#f3f4f6}.github-button.small{padding:6px 12px;font-size:12px}.github-minimal{display:flex;flex-direction:column;gap:8px;padding:8px}.github-minimal-text{font-size:12px;color:#6b7280;margin:0}.github-minimal-button{padding:6px 12px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#374151;font-size:11px;cursor:pointer;transition:all .2s}.github-minimal-button:hover{background:#f3f4f6}.github-minimal-button.secondary{color:#6b7280}.btn-icon:disabled{opacity:.5;cursor:not-allowed}
