.shortcut-modal{max-width:500px;min-width:400px;max-height:80vh;padding:0;border-radius:8px;display:flex;flex-direction:column}.shortcut-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.shortcut-title{margin:0;font-size:18px;font-weight:600}.shortcut-close{background:none;border:none;font-size:20px;cursor:pointer;padding:4px 8px;opacity:.7;color:var(--text-primary)}.shortcut-close:hover{opacity:1}.shortcut-content{flex:1;overflow:auto;padding:16px 24px}.shortcut-section{margin-bottom:20px}.shortcut-section:last-child{margin-bottom:0}.section-title{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.shortcut-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-color)}.shortcut-row:last-child{border-bottom:none}.shortcut-keys{display:flex;align-items:center;gap:4px}.shortcut-keys kbd{display:inline-block;padding:4px 8px;font-family:Monaco,Courier New,monospace;font-size:12px;font-weight:500;line-height:1;color:var(--text-primary);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 1px 0 var(--border-color)}.key-separator{color:var(--text-secondary);font-size:12px;margin:0 2px}.shortcut-description{font-size:14px;color:var(--text-primary)}.jump-list-overlay{display:flex;align-items:flex-start;padding-top:5vh}.jump-list-modal{width:100%;max-width:550px;margin:0 auto;background:var(--bg-primary);border-radius:12px;box-shadow:0 8px 30px #0000004d;border:1px solid var(--border-color);overflow:hidden}.jump-list-search{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color);gap:12px}.search-icon{font-size:18px;opacity:.6}.jump-list-input{flex:1;border:none;background:transparent;font-size:16px;color:var(--text-primary);outline:none}.jump-list-input::placeholder{color:var(--text-secondary)}.search-loading{color:var(--text-secondary);font-size:14px}.jump-list-results{max-height:450px;overflow-y:auto}.jump-list-section{padding:8px 0}.section-label{padding:8px 20px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.jump-list-item{display:flex;align-items:center;padding:10px 20px;cursor:pointer;gap:12px}.jump-list-item:hover,.jump-list-item.selected{background:var(--bg-secondary)}.item-icon{font-size:16px;width:24px;text-align:center}.item-label{flex:1;font-size:14px;color:var(--text-primary)}.item-type{font-size:12px;color:var(--text-secondary);background:var(--bg-secondary);padding:2px 8px;border-radius:4px}.jump-list-empty{padding:24px 20px;text-align:center;color:var(--text-secondary);font-size:14px}.jump-list-footer{display:flex;justify-content:center;gap:20px;padding:12px 20px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.footer-hint{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.footer-hint kbd{display:inline-block;padding:2px 6px;font-family:inherit;font-size:11px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:3px}.notification-toast{position:fixed;top:20px;right:20px;min-width:300px;max-width:min(500px,calc(100vw - 40px));padding:16px;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:flex-start;gap:12px;z-index:10000;animation:slideIn .3s ease-out;box-sizing:border-box}.notification-toast.clickable{cursor:pointer;transition:opacity .15s ease}.notification-toast.clickable:hover{opacity:.9}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.notification-icon{font-size:20px;font-weight:700;flex-shrink:0}.notification-message{flex:1;font-size:14px;line-height:1.4;word-break:break-word;overflow-wrap:break-word;max-height:200px;overflow-y:auto;min-width:0}.notification-close{background:none;border:none;font-size:18px;cursor:pointer;padding:4px 8px;opacity:.7;flex-shrink:0;color:#fff}.notification-close:hover{opacity:1}.notification-success{background:#10b981;color:#fff;border-left:4px solid #059669}.notification-error{background:#ef4444;color:#fff;border-left:4px solid #dc2626}.notification-warning{background:#f59e0b;color:#fff;border-left:4px solid #d97706}.notification-info{background:#3b82f6;color:#fff;border-left:4px solid #2563eb}.notification-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.notification-container .notification-toast{position:relative;top:auto;right:auto;pointer-events:all}.notification-execution-link{color:inherit;text-decoration:underline;font-weight:500;cursor:pointer;white-space:nowrap}.notification-execution-link:hover{opacity:.8}.confirm-modal{max-width:500px;min-width:400px;padding:24px;border-radius:8px;position:relative;background:var(--panel-bg);color:var(--text-primary)}.confirm-title{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--text-primary)}.confirm-message{margin:0 0 24px;font-size:14px;line-height:1.5;color:var(--text-secondary)}.confirm-actions{display:flex;justify-content:flex-end;gap:12px}.confirm-danger .confirm-title{color:var(--error)}.confirm-modal .btn-primary,.confirm-modal .btn-secondary,.confirm-modal .btn-danger{padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.confirm-modal .btn-primary{background:var(--button-primary, #2196F3);color:#fff}.confirm-modal .btn-primary:hover{background:var(--button-primary-hover, #1976D2)}.confirm-modal .btn-danger{background:var(--button-danger, #f44336);color:#fff}.confirm-modal .btn-danger:hover{background:var(--button-danger-hover, #d32f2f)}.confirm-modal .btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.confirm-modal .btn-secondary:hover{background:var(--hover-bg, rgba(0,0,0,.05))}.modal-content.viewer-modal{width:90%!important;max-width:1000px!important;min-width:500px;min-height:500px;max-height:85vh;padding:0;border-radius:8px;display:flex;flex-direction:column}.viewer-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.viewer-title{margin:0;font-size:18px;font-weight:600}.viewer-close{background:none;border:none;font-size:20px;cursor:pointer;padding:4px 8px;opacity:.7;color:var(--text-primary)}.viewer-close:hover{opacity:1}.viewer-content{flex:1;overflow:auto;padding:24px;max-height:70vh}.viewer-content pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Monaco,Courier New,monospace;font-size:13px;line-height:1.5;color:var(--text-primary)}.viewer-actions{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--border-color)}.consent-banner{position:fixed;bottom:0;left:0;right:0;background:var(--bg-primary);border-top:1px solid var(--border-color);box-shadow:0 -4px 12px #00000026;z-index:10000;padding:16px 24px;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.consent-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.consent-banner-text{flex:1;min-width:0}.consent-banner-text p{margin:0;font-size:14px;line-height:1.5;color:var(--text-primary)}.consent-banner-link{color:var(--accent-color);text-decoration:none;font-weight:500}.consent-banner-link:hover{text-decoration:underline}.consent-banner-actions{display:flex;gap:12px;flex-shrink:0}.consent-btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;white-space:nowrap}.consent-btn-accept{background:var(--accent-color);color:#fff}.consent-btn-accept:hover{background:var(--accent-color-hover, var(--accent-color));opacity:.9}.consent-btn-decline{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.consent-btn-decline:hover{background:var(--bg-secondary);color:var(--text-primary)}@media(max-width:640px){.consent-banner{padding:12px 16px}.consent-banner-content{flex-direction:column;align-items:stretch;gap:16px}.consent-banner-text p{font-size:13px;text-align:center}.consent-banner-actions{justify-content:center}.consent-btn{flex:1;max-width:140px}}:root{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #e0e0e0;--text-primary: #333333;--text-secondary: #666666;--text-tertiary: #999999;--text-muted: #888888;--border-color: #ddd;--border-hover: #ccc;--card-bg: #ffffff;--card-shadow: rgba(0, 0, 0, .1);--card-shadow-hover: rgba(0, 0, 0, .15);--input-bg: #ffffff;--input-border: #ddd;--input-focus: #2196F3;--button-primary: #2196F3;--button-primary-hover: #1976D2;--button-secondary: #f5f5f5;--button-secondary-hover: #e0e0e0;--button-danger: #f44336;--button-danger-hover: #d32f2f;--node-bg: #ffffff;--node-border: #ddd;--node-shadow: rgba(0, 0, 0, .1);--panel-bg: #ffffff;--panel-border: #ddd;--menu-bg: #ffffff;--menu-shadow: rgba(0, 0, 0, .2);--menu-hover: #f5f5f5;--hover-bg: #f5f5f5;--success: #4CAF50;--warning: #FF9800;--error: #f44336;--info: #2196F3;--primary-color: #2196F3;--primary-color-hover: #1976D2;--primary-color-alpha: rgba(33, 150, 243, .2);--accent-color: #2196F3;--edge-color: #94a3b8;--dot-color: #d0d0d0;--edge-highlight-glow: rgba(255, 152, 0, .7)}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #222222;--bg-tertiary: #3a3a3a;--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--text-tertiary: #808080;--text-muted: #9a9a9a;--border-color: #4a4a4a;--border-hover: #5a5a5a;--card-bg: #333333;--card-shadow: rgba(0, 0, 0, .4);--card-shadow-hover: rgba(0, 0, 0, .6);--input-bg: #2a2a2a;--input-border: #4a4a4a;--input-focus: #42A5F5;--button-primary: #42A5F5;--button-primary-hover: #1E88E5;--button-secondary: #404040;--button-secondary-hover: #4a4a4a;--button-danger: #EF5350;--button-danger-hover: #E53935;--node-bg: #333333;--node-border: #4a4a4a;--node-shadow: rgba(0, 0, 0, .4);--panel-bg: #2a2a2a;--panel-border: #4a4a4a;--menu-bg: #333333;--menu-shadow: rgba(0, 0, 0, .5);--menu-hover: #404040;--hover-bg: #3a3a3a;--success: #66BB6A;--warning: #FFA726;--error: #EF5350;--info: #42A5F5;--primary-color: #42A5F5;--primary-color-hover: #1E88E5;--primary-color-alpha: rgba(66, 165, 245, .2);--accent-color: #42A5F5;--edge-color: #64748b;--dot-color: #3a3a3a;--edge-highlight-glow: rgba(255, 167, 38, .8)}body{background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.card{background:var(--card-bg)!important;box-shadow:0 2px 8px var(--card-shadow)!important;color:var(--text-primary)!important}.card:hover{box-shadow:0 4px 16px var(--card-shadow-hover)!important}.card h3{color:var(--text-primary)!important}.card p{color:var(--text-secondary)!important}button.primary{background:var(--button-primary)!important}button.primary:hover:not(:disabled){background:var(--button-primary-hover)!important}button.secondary{background:var(--button-secondary)!important;color:var(--text-primary)!important;border:1px solid var(--border-color)!important}button.secondary:hover:not(:disabled){background:var(--button-secondary-hover)!important}button.danger{background:var(--button-danger)!important;color:#fff!important}button.danger:hover:not(:disabled){background:var(--button-danger-hover)!important}input,textarea,select{background:var(--input-bg)!important;color:var(--text-primary)!important;border:1px solid var(--input-border)!important}input:focus,textarea:focus,select:focus{border-color:var(--input-focus)!important}.modal-overlay{background:#00000080!important}.modal-content{background:var(--panel-bg)!important;color:var(--text-primary)!important;border:1px solid var(--border-color)!important}.theme-toggle{position:fixed;bottom:20px;left:20px;width:44px;height:44px;border-radius:50%;background:var(--card-bg);border:1px solid var(--border-color);box-shadow:0 2px 8px var(--card-shadow);cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;z-index:9999;transition:all .2s;padding:0}.theme-toggle:hover{transform:scale(1.1);box-shadow:0 4px 12px var(--card-shadow-hover);background:var(--menu-hover)}.theme-toggle:active{transform:scale(.95)}.brand-header{display:flex;align-items:center;gap:2px;text-decoration:none;color:inherit;transition:opacity .2s;padding-right:16px;margin-right:16px;border-right:1px solid var(--border-color);flex-shrink:0;white-space:nowrap}.brand-header:hover{opacity:.85}.brand-header-logo{width:32px;height:32px;object-fit:contain;border-radius:6px}.brand-header-text{display:flex;align-items:center;font-size:24px;font-weight:600;color:var(--text-primary)}.brand-header .brand-goal{font-weight:700;letter-spacing:.5px}.brand-header .brand-dot{color:var(--button-primary);font-weight:700;margin:0 3px 0 1px}.brand-header .brand-ai{font-weight:700;letter-spacing:.5px}.brand-header .brand-separator{color:var(--text-muted);margin:0 8px;font-weight:400}.brand-header .brand-tagline{color:var(--text-muted);font-weight:400;letter-spacing:0}.brand-header--no-border{padding-right:0;margin-right:0;border-right:none}.login-container{display:flex;justify-content:center;align-items:center;width:100vw;height:100vh;background:var(--bg-primary, #f5f5f5);position:relative}.login-theme-toggle{position:absolute;top:20px;right:20px}.login-box{background:var(--card-bg, white);padding:40px;border-radius:12px;box-shadow:0 4px 20px #0000001a;border:1px solid var(--border-color, #e0e0e0);width:100%;max-width:400px}[data-theme=dark] .login-container{background:var(--bg-primary, #1a1a1a)}[data-theme=dark] .login-box{background:var(--card-bg, #2a2a2a);border-color:var(--border-color, #333);box-shadow:0 4px 20px #0000004d}.login-brand-wrapper{display:flex;justify-content:center;margin-bottom:8px}.login-brand-wrapper .brand-header{padding-right:0;margin-right:0;border-right:none}.login-brand-wrapper .brand-header-logo{width:48px;height:48px}.login-brand-wrapper .brand-header-text{font-size:24px}.login-box h1{margin-bottom:8px;color:var(--text-primary, #333);font-size:28px}.subtitle{color:var(--text-muted, #666);margin-bottom:32px;font-size:14px}.form-group label{display:block;margin-bottom:8px;color:var(--text-primary, #333);font-size:14px;font-weight:500}.form-group input{width:100%}.form-group input.error{border-color:#d32f2f;background-color:#ffebee}.form-group input.error:focus{border-color:#d32f2f;box-shadow:0 0 0 3px #d32f2f1a}.field-error{display:block;color:#d32f2f;font-size:12px;margin-top:4px}.error-message{background-color:#ffebee;color:#c62828;padding:12px;border-radius:4px;margin-bottom:20px;font-size:14px}.login-button{width:100%;padding:12px;font-size:16px;font-weight:500;margin-top:8px}.login-button:disabled{opacity:.6;cursor:not-allowed}.default-creds{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color, #e0e0e0);text-align:center;color:var(--text-muted, #666)}.login-divider{display:flex;align-items:center;margin:24px 0;color:var(--text-muted, #666);font-size:13px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border-color, #e0e0e0)}.login-divider span{padding:0 16px}.magic-link-button{display:flex;align-items:center;justify-content:center;gap:8px}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-color, #e0e0e0);border-top-color:var(--primary-color, #0066cc);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}.login-signup-link{margin-top:24px;text-align:center}.login-signup-link a{color:var(--primary-color, #0066cc);text-decoration:none;font-size:14px;font-weight:500;transition:color .2s}.login-signup-link a:hover{color:var(--primary-hover, #0052a3);text-decoration:underline}.user-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:600;text-transform:uppercase;-webkit-user-select:none;user-select:none;cursor:default;position:relative;flex-shrink:0;box-shadow:0 0 0 2px var(--bg-primary),0 0 0 3px var(--border-color)}.user-avatar-xs{width:18px;height:18px;font-size:8px}.user-avatar-sm{width:24px;height:24px;font-size:10px}.user-avatar-md{width:32px;height:32px;font-size:12px}.user-avatar-lg{width:40px;height:40px;font-size:14px}.user-avatar-empty{background-color:var(--text-muted, #888)}.user-avatar-tooltip{position:fixed;background:var(--card-bg, #fff);border:1px solid var(--border-color, #ddd);border-radius:6px;padding:8px 12px;box-shadow:0 4px 12px #00000026;white-space:nowrap;z-index:10000;pointer-events:none}.tooltip-name{font-weight:600;color:var(--text-primary, #333);font-size:13px}.tooltip-email{color:var(--text-muted, #666);font-size:12px;margin-top:2px}[data-theme=dark] .user-avatar-tooltip{background:var(--card-bg, #2a2a2a);border-color:var(--border-color, #444)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.change-password-modal{background:var(--card-bg);border-radius:12px;width:400px;max-width:90vw;max-height:90vh;box-shadow:0 8px 32px #0000004d;margin:auto;overflow-y:auto}.change-password-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.change-password-modal .modal-header h2{margin:0;font-size:18px;color:var(--text-primary)}.change-password-modal .close-btn{background:none;border:none;font-size:24px;color:var(--text-muted);cursor:pointer;padding:0;line-height:1}.change-password-modal .close-btn:hover{color:var(--text-primary)}.change-password-modal form{padding:24px}.change-password-modal .form-group{margin-bottom:16px}.change-password-modal .form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--text-primary)}.change-password-modal .form-group input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:14px;box-sizing:border-box}.change-password-modal .form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.change-password-modal .error-message{background:var(--error-bg, rgba(220, 53, 69, .1));color:var(--error-color, #dc3545);padding:10px 12px;border-radius:6px;font-size:13px;margin-bottom:16px;border:1px solid var(--error-color, #dc3545)}.change-password-modal .modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.change-password-modal .modal-actions button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer}.change-password-modal .modal-actions button.primary{background:var(--primary-color);color:#fff;border:none}.change-password-modal .modal-actions button.primary:hover:not(:disabled){background:var(--primary-color-hover)}.change-password-modal .modal-actions button.secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.change-password-modal .modal-actions button.secondary:hover:not(:disabled){background:var(--hover-bg)}.change-password-modal .modal-actions button:disabled{opacity:.6;cursor:not-allowed}.change-password-modal .password-requirements{margin-top:8px;padding:10px 12px;background:var(--bg-secondary, #f9f9f9);border-radius:6px;font-size:12px}.change-password-modal .password-requirements .requirement{display:flex;align-items:center;gap:6px;padding:3px 0;color:var(--text-muted, #666)}.change-password-modal .password-requirements .requirement.met{color:#059669}.change-password-modal .password-requirements .requirement.unmet{color:var(--text-muted, #888)}.change-password-modal .password-match{margin-top:8px;font-size:12px}.change-password-modal .password-match .match{color:#059669}.change-password-modal .password-match .no-match{color:var(--text-muted, #888)}[data-theme=dark] .change-password-modal .password-requirements{background:var(--bg-secondary, #1f1f1f)}[data-theme=dark] .change-password-modal .password-requirements .requirement.met,[data-theme=dark] .change-password-modal .password-match .match{color:#34d399}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:10px;padding:6px 12px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s}.user-menu-trigger:hover{border-color:var(--border-hover);background:var(--bg-secondary)}.user-menu-trigger .user-info{display:flex;flex-direction:column;text-align:left}.user-menu-trigger .user-name{font-size:14px;font-weight:500;color:var(--text-primary)}.user-menu-trigger .user-role{font-size:11px;color:var(--text-muted);text-transform:capitalize}.user-menu-trigger .dropdown-arrow{font-size:10px;color:var(--text-muted);margin-left:4px}.user-menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px var(--card-shadow);z-index:100;overflow:hidden}.user-menu-dropdown .dropdown-header{padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--input-bg)}.user-menu-dropdown .dropdown-email{font-size:13px;color:var(--text-muted);word-break:break-all}.user-menu-dropdown .dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;background:none;border:none;font-size:14px;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .15s}.user-menu-dropdown .dropdown-item:hover{background:var(--hover-bg)}.user-menu-dropdown .dropdown-item .item-icon{font-size:14px}.user-menu-dropdown .dropdown-item.logout{color:var(--error-color)}.user-menu-dropdown .dropdown-divider{height:1px;background:var(--border-color);margin:4px 0}@media(max-width:768px){.user-menu-trigger .user-info{display:none}}.tenant-selector{position:relative}.tenant-selector-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:13px;color:var(--text-primary);transition:all .2s;min-width:140px}.tenant-selector-btn:hover{background:var(--input-bg);border-color:var(--text-muted)}.tenant-icon{font-size:14px}.tenant-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.tenant-chevron{font-size:8px;color:var(--text-muted)}.tenant-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:240px;max-width:320px;background:var(--card-bg);border:1px solid var(--input-border);border-radius:8px;box-shadow:0 4px 16px var(--card-shadow, rgba(0, 0, 0, .15));z-index:1000;overflow:hidden}.tenant-search-container{padding:8px;border-bottom:1px solid var(--input-border)}.tenant-search-input{width:100%;padding:8px 12px;border:1px solid var(--input-border);border-radius:4px;font-size:13px;background:var(--input-bg);color:var(--text-primary)}.tenant-search-input:focus{outline:none;border-color:var(--primary-color, #0066cc)}.tenant-options{max-height:280px;overflow-y:auto;padding:4px 0}.tenant-option{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;transition:background .15s}.tenant-option:hover{background:var(--input-bg)}.tenant-option.selected{background:var(--button-primary);color:#fff}.tenant-option.selected .tenant-option-name,.tenant-option.selected .tenant-option-desc,.tenant-option.selected .tenant-option-slug{color:#fff}.tenant-option-icon{font-size:16px;width:20px;text-align:center}.tenant-option-name{flex:1;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-option-desc{font-size:11px;color:var(--text-muted);font-style:italic}.tenant-option-slug{font-size:11px;color:var(--text-muted);font-family:monospace}.tenant-separator{height:1px;background:var(--input-border);margin:4px 0}.tenant-no-results{padding:16px;text-align:center;color:var(--text-muted);font-size:13px}.stt-button{width:36px;height:36px;border:none;background:transparent;color:var(--text-muted, #888);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0;font-size:14px}.stt-button:hover:not(:disabled):not(.stt-unavailable){background:var(--hover-bg, rgba(0, 0, 0, .05));color:var(--text-primary, #333)}.stt-button:focus{outline:none;box-shadow:0 0 0 2px var(--primary-color, #2196F3)}.stt-button-small{width:28px;height:28px;font-size:12px}.stt-button.stt-listening{color:#f44336;background:#f443361a}.stt-button.stt-listening:hover{background:#f4433633}.stt-pulse{animation:stt-pulse 1.5s ease-in-out infinite}@keyframes stt-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}.stt-button.stt-transcribing{color:var(--primary-color, #2196F3)}.stt-button.stt-unavailable{opacity:.5;cursor:help}.stt-button.stt-unavailable:hover{background:transparent;opacity:.6}.stt-button.stt-disabled,.stt-button:disabled{opacity:.4;cursor:not-allowed}.stt-textarea-wrapper{position:relative;width:100%}.stt-textarea-wrapper textarea{padding-right:44px}.stt-textarea-wrapper .stt-button{position:absolute;right:8px;bottom:8px}.stt-textarea-wrapper .stt-button-small{right:6px;bottom:6px}.stt-input-addon{display:flex;align-items:center;gap:4px}[data-theme=dark] .stt-button{color:var(--text-muted, #aaa)}[data-theme=dark] .stt-button:hover:not(:disabled):not(.stt-unavailable){background:#ffffff1a;color:var(--text-primary, #e0e0e0)}[data-theme=dark] .stt-button.stt-listening{color:#ff6b6b;background:#ff6b6b26}[data-theme=dark] .stt-button.stt-listening:hover{background:#ff6b6b40}.agentic-chat-page{display:flex;height:calc(100vh - 60px);background:var(--bg-primary)}.chat-sidebar{width:280px;min-width:280px;border-right:1px solid var(--border-color);display:flex;flex-direction:column;background:var(--bg-secondary)}.sidebar-header{display:flex;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color);gap:.75rem}.sidebar-header .resource-home-btn{padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;font-size:16px;transition:background .2s}.sidebar-header .resource-home-btn:hover{background:var(--bg-tertiary)}.sidebar-header h3{margin:0 0 0 auto;font-size:1rem;font-weight:600}.chat-list{flex:1;overflow-y:auto;padding:.5rem}.chat-group{margin-bottom:1rem}.group-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;padding:.5rem;letter-spacing:.5px}.chat-item{display:flex;align-items:center;padding:.75rem;border-radius:8px;cursor:pointer;transition:background .15s}.chat-item:hover{background:var(--bg-hover)}.chat-item.active{background:var(--primary-bg)}.chat-item-content{flex:1;min-width:0}.chat-title{display:block;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-time{display:block;font-size:.75rem;color:var(--text-muted);margin-top:2px}.chat-item-actions{display:none;gap:.25rem}.chat-item:hover .chat-item-actions{display:flex}.edit-title-input{flex:1;padding:.25rem .5rem;border:1px solid var(--primary);border-radius:4px;font-size:.875rem;background:var(--bg-primary)}.empty-state{text-align:center;padding:2rem;color:var(--text-muted)}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.chat-header-left{display:flex;align-items:center;gap:.75rem}.chat-header-left h2{margin:0;font-size:1.125rem;font-weight:600}.chat-header-right{display:flex;align-items:center;gap:.5rem}.chat-window{flex:1;overflow-y:auto;padding:1.5rem}.loading-state,.welcome-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-muted)}.welcome-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.welcome-state h3{margin:0 0 .5rem;color:var(--text-primary)}.welcome-suggestions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1.5rem}.suggestion-chip{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:20px;background:var(--bg-secondary);font-size:.875rem;color:var(--text-primary);cursor:pointer;transition:all .15s}.suggestion-chip:hover{border-color:var(--primary);background:var(--primary-bg);color:var(--text-primary)}.messages-container{max-width:900px;margin:0 auto}.chat-message{margin-bottom:1.5rem;border-radius:12px;overflow:hidden}.chat-message.user{background:#007aff;color:#fff}.chat-message.user .message-role,.chat-message.user .message-role i,.chat-message.user .message-time,.chat-message.user .text-content{color:#fff}.chat-message.user .message-role i{opacity:.9}.chat-message.user .btn-icon{color:#fffc}.chat-message.user .btn-icon:hover{color:#fff;background:#ffffff26}.chat-message.assistant{background:var(--bg-secondary)}.chat-message.tool{background:var(--bg-tertiary, var(--bg-secondary));border:1px solid var(--border-color)}.message-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.message-role{display:flex;align-items:center;gap:.5rem;font-weight:500}.message-role i{font-size:.875rem;opacity:.7}.message-actions{display:flex;align-items:center;gap:.5rem}.message-time{font-size:.75rem;color:var(--text-muted)}.collapse-toggle{opacity:.5}.chat-message.collapsed .message-content{display:none}.message-content{padding:0 1rem 1rem}.text-content{font-size:.9375rem;line-height:1.6}.text-content pre{background:var(--bg-primary);border-radius:6px;padding:1rem;overflow-x:auto;margin:.5rem 0}.text-content code{font-family:JetBrains Mono,monospace;font-size:.875rem}.text-content code:not(pre code){background:var(--bg-primary);padding:.125rem .375rem;border-radius:4px}.cursor-blink{animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.tool-calls-container{margin-bottom:1rem}.tool-call-display,.tool-result-display{border:1px solid var(--border-color);border-radius:8px;margin-bottom:.75rem;background:var(--bg-primary)}.tool-call-header,.tool-result-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);cursor:pointer}.tool-call-name{display:flex;align-items:center;gap:.5rem;flex:1}.streaming-badge{font-size:.75rem;padding:.125rem .5rem;background:var(--warning-bg, #fff3cd);color:var(--warning-text, #856404);border-radius:4px;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.tool-section{border-bottom:1px solid var(--border-color)}.tool-section:last-child{border-bottom:none}.tool-section-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;cursor:pointer;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.section-content{padding:0 1rem 1rem}.section-content pre{background:var(--bg-secondary);border-radius:6px;padding:.75rem;margin:0;font-size:.8125rem;overflow-x:auto;max-height:300px;overflow-y:auto}.tool-result-header i{color:var(--success, #28a745)}.tool-result-content{padding:1rem}.tool-result-content pre{background:var(--bg-secondary);border-radius:6px;padding:.75rem;margin:0;font-size:.8125rem;max-height:300px;overflow:auto}.streaming-indicator{display:flex;justify-content:center;padding:1rem}.typing-dots{display:flex;gap:4px}.typing-dots span{width:8px;height:8px;background:var(--primary);border-radius:50%;animation:typing 1.4s infinite ease-in-out both}.typing-dots span:nth-child(1){animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.error-message{display:flex;align-items:center;gap:.5rem;padding:1rem;background:var(--danger-bg, #f8d7da);color:var(--danger, #721c24);border-radius:8px;margin-top:1rem}.tool-selector{margin-bottom:.75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);overflow:hidden}.tool-selector-header{display:flex;justify-content:space-between;align-items:center;padding:.625rem .875rem;cursor:pointer;transition:background .15s}.tool-selector-header:hover{background:var(--bg-hover)}.tool-selector-header span{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.tool-selector-header span i.fa-wrench{font-size:.75rem;opacity:.7}.tool-selector-list{border-top:1px solid var(--border-color);padding:.5rem;max-height:200px;overflow-y:auto}.tool-selector-item{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;border-radius:6px;cursor:pointer;transition:background .15s}.tool-selector-item:hover{background:var(--bg-hover)}.tool-selector-item input[type=checkbox]{margin-top:2px;flex-shrink:0}.tool-group-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.tool-group-desc{display:block;font-size:.75rem;color:var(--text-muted);margin-top:2px}.tool-filter{position:relative;margin-bottom:8px;padding:0 4px}.tool-filter-input:focus{outline:none;border-color:var(--button-primary, var(--primary))}.tool-filter-input::placeholder{color:var(--text-tertiary, var(--text-muted))}.tool-filter-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:none;background:transparent;color:var(--text-secondary);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px}.tool-filter-clear:hover{background:var(--hover-bg, var(--bg-hover));color:var(--text-primary)}.tool-checkbox:hover{background:var(--hover-bg, var(--bg-hover))}.tool-count{background:var(--button-primary, var(--primary));color:#fff;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:500;flex-shrink:0}.no-tools{text-align:center;color:var(--text-secondary);font-size:12px;padding:16px 8px;margin:0}.chat-input-container{padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:var(--bg-primary)}.chat-input-form{max-width:900px;margin:0 auto}.input-wrapper{display:flex;align-items:flex-end;gap:.5rem}.input-wrapper textarea{flex:1;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-secondary);resize:vertical;padding:.75rem;font-size:.9375rem;line-height:1.5;min-height:48px;max-height:300px;color:var(--text-primary);transition:border-color .15s}.input-wrapper textarea:focus{outline:none;border-color:var(--primary, #42a5f5)}.input-wrapper textarea::placeholder{color:var(--text-muted)}button.send-button,.send-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:40px!important;width:40px;height:40px!important;padding:0!important;border-radius:8px!important;background:var(--primary, #42a5f5)!important;color:#fff!important;border:none!important;cursor:pointer;transition:all .15s;flex-shrink:0}button.send-button:hover:not(:disabled),.send-button:hover:not(:disabled){background:var(--primary-dark, #1e88e5)!important}button.send-button:disabled,.send-button:disabled{opacity:.5;cursor:not-allowed}button.send-button i,.send-button i{font-size:1rem;margin:0}.input-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;padding:0 .5rem}.input-info{display:flex;gap:.75rem}.info-badge{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-muted)}.info-badge i{font-size:.625rem}.input-hint{font-size:.75rem;color:var(--text-muted)}.chat-settings-modal{width:500px;max-width:90vw}.chat-settings-modal .modal-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border-color)}.chat-settings-modal .modal-header h3{margin:0;flex:1}.chat-settings-modal .modal-body{max-height:60vh;overflow-y:auto}.tool-groups-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;padding:.5rem;background:var(--bg-secondary);border-radius:6px}.checkbox-label{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;border-radius:4px;cursor:pointer;transition:background .15s}.checkbox-label:hover{background:var(--bg-hover)}.checkbox-label input{margin-top:2px}.checkbox-label small{display:block;margin-top:2px}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .15s}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon.btn-danger:hover{background:var(--danger-bg, #f8d7da);color:var(--danger, #dc3545)}.quick-chat-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;opacity:0;visibility:hidden;transition:all .3s}.quick-chat-overlay.open{opacity:1;visibility:visible}.quick-chat-panel{position:fixed;top:0;right:-420px;width:400px;height:100vh;background:var(--bg-primary);box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;z-index:1001;transition:right .3s ease}.quick-chat-panel.open{right:0}.quick-chat-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color)}.quick-chat-header h3{margin:0;display:flex;align-items:center;gap:.5rem}.quick-chat-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.quick-chat-messages{flex:1;overflow-y:auto;padding:1rem}.quick-chat-footer{padding:1rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.5rem}.open-full-chat-link{text-align:center;font-size:.875rem;color:var(--primary);text-decoration:none}.open-full-chat-link:hover{text-decoration:underline}.btn-agentic-chat{background:linear-gradient(135deg,#2196f3,#9c27b0);color:#fff;border:none;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #2196f34d;white-space:nowrap}.btn-agentic-chat:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2196f366}.btn-agentic-chat i{font-size:.875rem}@media(max-width:768px){.chat-sidebar{display:none}.agentic-chat-page.sidebar-open .chat-sidebar{display:flex;position:fixed;left:0;top:60px;bottom:0;z-index:100}.quick-chat-panel{width:100%;right:-100%}}.upgrade-banner{display:flex;align-items:center;justify-content:center}.upgrade-banner a{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;padding:6px 16px;border-radius:16px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;white-space:nowrap}.upgrade-banner a:hover{transform:scale(1.05);box-shadow:0 4px 12px #f59e0b66}[data-theme=dark] .upgrade-banner a{background:linear-gradient(135deg,#fbbf24,#f87171)}[data-theme=dark] .upgrade-banner a:hover{box-shadow:0 4px 12px #fbbf2466}.resource-page{padding:20px;min-height:100vh}.resource-header{margin-bottom:20px}.resource-header-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.resource-header-left{display:flex;align-items:center;gap:12px}.resource-header-left h1{margin:0;color:var(--text-primary);font-size:24px;display:flex;align-items:center;gap:8px}.resource-icon{font-size:20px}.resource-home-btn{padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;font-size:16px;transition:background .2s}.resource-home-btn:hover{background:var(--bg-tertiary)}.resource-header-actions{display:flex;align-items:center;gap:12px}.resource-search{width:100%}.resource-search input{width:100%;padding:10px 14px;border-radius:6px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-primary);font-size:14px}.resource-search input::placeholder{color:var(--text-muted)}.resource-search input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.resource-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:8px 0}.view-toggle{display:flex;border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.view-toggle-btn{padding:8px 12px;border:none;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.view-toggle-btn:not(:last-child){border-right:1px solid var(--border-color)}.view-toggle-btn:hover{background:var(--bg-tertiary)}.view-toggle-btn.active{background:var(--primary-color);color:#fff}.sort-control{display:flex;align-items:center;gap:8px}.sort-select{padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-primary);font-size:13px;cursor:pointer}.sort-select:focus{outline:none;border-color:var(--primary-color)}.sort-dir-btn{padding:8px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.sort-dir-btn:hover{background:var(--bg-tertiary)}.resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.resource-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:16px;cursor:pointer;transition:transform .2s,box-shadow .2s}.resource-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--card-shadow-hover)}.resource-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.resource-card-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.resource-card-subtitle{font-size:13px;color:var(--text-secondary);margin:4px 0 0}.resource-card-description{font-size:14px;color:var(--text-secondary);margin:8px 0;line-height:1.4}.resource-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.resource-card-actions{display:flex;gap:8px}.resource-table-container{overflow-x:auto}.resource-table{width:100%;border-collapse:collapse;background:var(--card-bg);border-radius:8px;overflow:hidden}.resource-table th,.resource-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color);vertical-align:middle}.resource-table td.description{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-primary);font-size:13px;text-transform:uppercase;letter-spacing:.5px}.resource-table tbody tr{transition:background .2s}.resource-table tbody tr:hover{background:var(--bg-hover)}.resource-table tbody tr:last-child td{border-bottom:none}.resource-table .actions{white-space:nowrap}.resource-table .actions button{margin-right:8px}.resource-table .actions button:last-child{margin-right:0}.resource-meta{font-size:12px;color:var(--text-muted)}.resource-meta-row{display:flex;align-items:center;gap:4px;margin-bottom:4px}.resource-meta-row:last-child{margin-bottom:0}.resource-meta-label{color:var(--text-tertiary)}.resource-meta-value{display:flex;align-items:center;gap:6px}.resource-meta-user{display:flex;align-items:center;gap:4px}.resource-meta--compact{display:flex;flex-wrap:wrap;gap:12px}.resource-meta--compact .resource-meta-item{display:flex;align-items:center;gap:4px}.resource-empty{text-align:center;padding:60px 20px;color:var(--text-secondary)}.resource-empty p{margin:0 0 16px}.resource-empty button{margin-top:8px}.resource-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.resource-badge--primary{background:var(--primary-color);color:#fff}.resource-badge--secondary{background:var(--bg-tertiary);color:var(--text-secondary)}.resource-badge--success{background:#4caf50;color:#fff}.resource-badge--warning{background:#ff9800;color:#fff}.resource-badge--danger{background:#f44336;color:#fff}.resource-icon-btn{padding:6px 8px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.resource-icon-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.resource-icon-btn.danger:hover{background:#f443361a;color:#f44336}.resource-loading{display:flex;justify-content:center;align-items:center;padding:60px 20px;color:var(--text-secondary)}.import-external-modal{max-width:550px;width:90%}.import-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:1px solid var(--border-color, #333)}.import-tabs button{flex:1;padding:10px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted, #888);cursor:pointer;transition:all .2s}.import-tabs button:hover{color:var(--text-color, #fff)}.import-tabs button.active{color:var(--primary-color, #0ea5e9);border-bottom-color:var(--primary-color, #0ea5e9)}.import-file-section{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 20px;border:2px dashed var(--border-color, #333);border-radius:8px;margin-bottom:20px}.file-select-button{padding:12px 24px;background:var(--primary-color, #0ea5e9);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.file-select-button:hover{opacity:.9}.import-hint{color:var(--text-muted, #888);font-size:13px;margin:0}.import-paste-section{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.import-paste-section textarea{width:100%;padding:12px;background:var(--input-bg, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:6px;color:var(--text-color, #fff);font-family:monospace;font-size:12px;resize:vertical}.import-preview{display:flex;flex-direction:column;gap:16px}.preview-header{display:flex;align-items:center;gap:12px}.platform-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-secondary, #252525);border-radius:20px;font-size:13px;font-weight:500}.preview-details{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--bg-secondary, #252525);border-radius:8px}.preview-row{display:flex;gap:12px}.preview-row label{min-width:100px;color:var(--text-muted, #888);font-size:13px}.preview-row span{font-size:13px}.import-note{padding:12px;background:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:6px;font-size:13px;color:var(--text-color, #fff)}.import-note strong{color:#eab308}.import-result{display:flex;flex-direction:column;gap:20px}.result-success,.result-error{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;text-align:center}.success-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#22c55e33;border-radius:50%;color:#22c55e;font-size:24px}.error-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#ef444433;border-radius:50%;color:#ef4444;font-size:24px}.result-success h3,.result-error h3{margin:0;font-size:18px}.result-success p,.result-error p{margin:0;color:var(--text-muted, #888);font-size:14px}.import-warnings{padding:16px;background:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:8px}.import-warnings h4{margin:0 0 12px;font-size:14px;color:#eab308}.import-warnings ul{margin:0;padding-left:20px;font-size:13px;max-height:200px;overflow-y:auto}.import-warnings li{margin-bottom:8px}.import-warnings li strong{color:var(--text-color, #fff)}.warnings-note{margin:12px 0 0;font-size:12px;color:var(--text-muted, #888);font-style:italic}.page-size-control{display:flex;align-items:center;gap:8px}.page-size-control label{font-size:13px;color:var(--text-secondary);white-space:nowrap}.page-size-control select{padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;cursor:pointer;min-width:70px}.page-size-control select:hover{border-color:var(--border-hover)}.page-size-control select:focus{outline:none;border-color:var(--accent-color)}.pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-top:16px;border-top:1px solid var(--border-color)}.pagination-info{font-size:13px;color:var(--text-secondary)}.pagination-controls{display:flex;align-items:center;gap:4px}.pagination-btn{min-width:32px;height:32px;padding:0 8px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.pagination-btn:hover:not(:disabled){border-color:var(--border-hover);background:var(--bg-secondary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.pagination-ellipsis{padding:0 4px;color:var(--text-secondary)}.workflow-list-page{display:flex;flex-direction:column;height:100%}.workflow-list-layout{display:flex;flex:1;min-height:0;gap:0}.folder-sidebar{width:220px;min-width:220px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.folder-sidebar-header{padding:12px 16px;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.folder-list{flex:1;overflow-y:auto;padding:8px 0}.folder-item{display:flex;align-items:center;padding:8px 12px;margin:2px 8px;border-radius:6px;cursor:pointer;gap:8px;transition:background-color .15s ease;position:relative}.folder-item:hover{background:var(--bg-tertiary)}.folder-item.active{background:var(--primary-color);color:#fff}.folder-item.active .folder-item-icon svg{stroke:#fff}.folder-item.active .folder-item-count{background:#fff3;color:#fff}.folder-item.drag-over{background:var(--primary-color-light, rgba(var(--primary-rgb, 59, 130, 246), .2));outline:2px dashed var(--primary-color);outline-offset:-2px}.folder-item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.folder-item-icon svg{width:16px;height:16px;stroke:var(--text-secondary)}.folder-item-name{flex:1;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-item-count{font-size:12px;padding:2px 6px;border-radius:10px;background:var(--bg-tertiary);color:var(--text-secondary);min-width:20px;text-align:center}.folder-item-actions{display:none;gap:2px;position:absolute;right:8px;top:50%;transform:translateY(-50%);background:inherit}.folder-item:hover .folder-item-actions{display:flex}.folder-item:hover .folder-item-count{display:none}.folder-action-btn{background:none;border:none;padding:2px 4px;cursor:pointer;font-size:12px;opacity:.7;border-radius:4px;transition:opacity .15s,background-color .15s}.folder-action-btn:hover{opacity:1;background:var(--bg-hover)}.create-folder-btn{margin:8px 12px 12px;padding:8px 12px;background:none;border:1px dashed var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:border-color .15s,color .15s,background-color .15s}.create-folder-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--bg-tertiary)}.workflow-list-content{flex:1;min-width:0;display:flex;flex-direction:column;padding:0 16px;overflow:hidden}.workflow-list-content .resource-controls{padding:12px 0;border-bottom:1px solid var(--border-color)}.workflow-list-content .resource-grid,.workflow-list-content .resource-table-container{flex:1;overflow-y:auto;padding:16px 0}.search-scope-indicator{font-size:12px;color:var(--text-secondary);background:var(--bg-tertiary);padding:4px 10px;border-radius:12px;margin-left:auto}.move-menu-dropdown{position:absolute;top:100%;left:0;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:180px}.move-menu-dropdown button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;text-align:left;background:none;border:none;cursor:pointer;color:var(--text-primary);font-size:14px}.move-menu-dropdown button:hover{background:var(--bg-tertiary)}.move-menu-dropdown button svg{width:14px;height:14px;stroke:var(--text-secondary)}.workflow-context-menu{padding:4px 0}.workflow-context-menu .context-menu-label{padding:8px 12px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-weight:600}.workflow-context-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;text-align:left;background:none;border:none;cursor:pointer;color:var(--text-primary);font-size:14px}.workflow-context-menu button:hover{background:var(--bg-tertiary)}.workflow-context-menu button svg{width:14px;height:14px;stroke:var(--text-secondary)}.folder-modal{max-width:400px}.folder-modal h2,.folder-modal .form-group{margin-bottom:16px}.folder-modal .form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-primary)}.folder-modal .form-group input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:14px}.folder-modal .form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb, 59, 130, 246),.1)}.folder-modal .modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.workflow-card[draggable=true]{cursor:grab}.workflow-card[draggable=true]:active{cursor:grabbing}@media(max-width:768px){.folder-sidebar{width:180px;min-width:180px}}@media(max-width:600px){.workflow-list-layout{flex-direction:column}.folder-sidebar{width:100%;min-width:100%;max-height:200px;border-right:none;border-bottom:1px solid var(--border-color)}.folder-list{display:flex;flex-wrap:wrap;gap:4px;padding:8px}.folder-item{margin:0;padding:6px 10px}.create-folder-btn{margin:4px 8px 8px}}.recycling-bin-page{padding:24px;max-width:1400px;margin:0 auto}.recycling-bin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.recycling-bin-header .header-left{display:flex;align-items:center;gap:16px}.recycling-bin-header h1{margin:0;font-size:24px;color:var(--text-primary)}.recycling-bin-header .header-right{display:flex;align-items:center;gap:12px}.recycling-bin-content{background:var(--panel-bg);border-radius:8px;border:1px solid var(--border-color);overflow:hidden}.loading-state{padding:48px;text-align:center;color:var(--text-secondary)}.empty-state{padding:64px;text-align:center}.empty-state .empty-icon{font-size:48px;margin-bottom:16px}.empty-state h2{margin:0 0 8px;color:var(--text-primary);font-size:20px}.empty-state p{margin:0;color:var(--text-secondary)}.recycling-bin-table{width:100%;border-collapse:collapse}.recycling-bin-table th,.recycling-bin-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.recycling-bin-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.recycling-bin-table td{color:var(--text-primary);font-size:14px}.recycling-bin-table tbody tr:hover{background:var(--hover-bg, rgba(0, 0, 0, .02))}.recycling-bin-table tbody tr.selected{background:var(--accent-bg, rgba(33, 150, 243, .1))}.checkbox-col{width:48px}.checkbox-col input[type=checkbox]{width:18px;height:18px;cursor:pointer}.workflow-name{font-weight:500}.workflow-description{color:var(--text-secondary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-date{color:var(--text-secondary);white-space:nowrap}.workflow-user{color:var(--text-secondary)}.actions-col{width:120px;text-align:right}.restore-btn{padding:6px 16px;font-size:13px}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.action-node{background:var(--node-bg);border:1px solid var(--node-border);border-radius:10px;width:180px;box-shadow:0 1px 3px var(--node-shadow),0 4px 12px #0000000a;transition:box-shadow .2s,transform .2s;position:relative}.action-node .react-flow__handle{width:12px;height:12px;border-width:2px;transition:all .2s}.action-node .react-flow__handle-top{top:-7px}.action-node .react-flow__handle-bottom{bottom:-7px}.action-node .react-flow__handle-left{left:-7px}.action-node .react-flow__handle-right{right:-7px}.action-node .react-flow__handle:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:transparent;cursor:crosshair}.action-node .react-flow__handle:hover{transform:scale(1.3);box-shadow:0 0 0 4px #2196f333}.action-node .react-flow__handle.connecting{transform:scale(1.5);box-shadow:0 0 0 6px #2196f34d}.action-node.react-flow__node-action.connecting{box-shadow:0 0 0 3px #2196f366}.action-node:hover{box-shadow:0 2px 8px var(--node-shadow),0 8px 24px #00000014;transform:translateY(-1px)}.action-node.selected{border-color:var(--button-primary)!important;box-shadow:0 0 0 2px #2196f34d,0 2px 8px var(--node-shadow)}:root[data-theme=dark] .action-node.selected{border-color:var(--button-primary)!important;box-shadow:0 0 0 2px #42a5f54d,0 2px 8px var(--node-shadow)}.action-node-header{display:flex;align-items:center;gap:8px;padding:8px 12px;color:#fff;font-weight:600;font-size:12px;text-transform:uppercase;border-radius:9px 9px 0 0}.action-node-icon{font-size:16px}.action-node-type{flex:1}.action-node-body{padding:12px}.action-node-label{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-node-status{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;margin-top:4px}.status-idle{background:var(--bg-tertiary);color:var(--text-secondary)}.status-running{background:#fff3cd;color:#856404}.status-completed{background:#d4edda;color:#155724}.status-failed{background:#f8d7da;color:#721c24}.run-count-badge{position:absolute;top:-8px;right:-8px;background:#2196f3;color:#fff;border-radius:12px;min-width:24px;height:24px;padding:0 6px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;box-shadow:0 2px 4px #0003;z-index:10;cursor:help;white-space:nowrap}.error-indicator{position:absolute;top:-8px;left:-8px;background:#f44336;color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 2px 4px #0003;z-index:10;cursor:help}.schedule-indicator{position:absolute;bottom:-8px;left:-8px;background:#9c27b0;color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 2px 4px #0003;z-index:10;cursor:help}.action-node-buttons{position:absolute;bottom:-36px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:100;background:var(--panel-bg);padding:4px 8px;border-radius:6px;box-shadow:0 2px 8px #00000026;border:1px solid var(--border-color);pointer-events:auto;will-change:transform}.action-btn{width:28px;height:28px;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s;background:var(--button-secondary);pointer-events:auto;min-width:28px;min-height:28px}.action-btn:hover{transform:scale(1.1)}.action-btn-run-container .action-btn-run{min-width:36px;padding:0 6px}.action-btn-run{background:#4caf50;color:#fff}.action-btn-run:hover{background:#43a047}.action-btn-edit{background:#e91e63;color:#fff}.action-btn-edit:hover{background:#c2185b}.action-btn-events{background:#2196f3;color:#fff}.action-btn-events:hover{background:#1976d2}.action-btn-delete{background:#f44336;color:#fff}.action-btn-delete:hover{background:#d32f2f}.action-btn{position:relative}.action-btn:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:6px 10px;background:#000000d9;color:#fff;font-size:11px;font-weight:500;white-space:nowrap;border-radius:4px;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none;margin-bottom:6px;z-index:1000}.action-btn:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#000000d9;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none;margin-bottom:-4px;z-index:1000}.action-btn:hover:after,.action-btn:hover:before{opacity:1;visibility:visible}.handle-label{position:absolute;bottom:-18px;font-size:10px;font-weight:700;pointer-events:none;z-index:5}.handle-label-true{left:25%;transform:translate(-50%);color:#4caf50}.handle-label-false{left:75%;transform:translate(-50%);color:#f44336}.handle-label.horizontal{bottom:auto;left:auto;right:-18px;transform:translateY(-50%)}.handle-label-true.horizontal{top:25%}.handle-label-false.horizontal{top:75%}.action-btn-more-container{position:relative}.action-btn-more{background:var(--button-secondary);color:var(--text-primary);font-weight:700}.action-btn-more:hover{background:var(--hover-bg)}.action-btn-more-dropdown{position:absolute;right:0;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:200;min-width:140px;overflow:hidden}.action-btn-more-dropdown.below{top:100%;margin-top:8px}.action-btn-more-dropdown.above{bottom:100%;margin-bottom:8px}.action-btn-more-dropdown button{display:block;width:100%;padding:8px 12px;text-align:left;background:none;border:none;cursor:pointer;font-size:13px;color:var(--text-primary)}.action-btn-more-dropdown button:hover{background:var(--hover-bg)}.action-btn-run-container{position:relative}.run-dropdown-arrow{margin-left:2px;font-size:10px;opacity:.7}.action-btn-run-dropdown{position:absolute;bottom:100%;left:0;margin-bottom:8px;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:200;min-width:160px;overflow:hidden}.action-btn-run-dropdown button{display:block;width:100%;padding:8px 12px;text-align:left;background:none;border:none;cursor:pointer;font-size:13px;color:var(--text-primary);white-space:nowrap}.action-btn-run-dropdown button:hover{background:var(--hover-bg)}.dropdown-divider{height:1px;background:var(--border-color);margin:4px 0}.action-node.running{border-color:#ff9800!important;animation:running-pulse 1.5s ease-in-out infinite}.action-node.running.selected{border-color:#ff9800!important}@keyframes running-pulse{0%,to{box-shadow:0 0 0 4px #ff980040,0 0 10px #ff980026}50%{box-shadow:0 0 0 6px #ff980066,0 0 20px #ff980040}}[data-theme=dark] .action-node.running{border-color:#ffa726!important;animation:running-pulse-dark 1.5s ease-in-out infinite}[data-theme=dark] .action-node.running.selected{border-color:#ffa726!important}@keyframes running-pulse-dark{0%,to{box-shadow:0 0 0 4px #ffa7264d,0 0 10px #ffa72633}50%{box-shadow:0 0 0 6px #ffa72680,0 0 20px #ffa7264d}}.informational-node{background:#fffde7;border:2px solid #ffd54f;border-radius:8px;min-width:150px;min-height:80px;width:100%;height:100%;display:flex;flex-direction:column;box-shadow:0 2px 8px #0000001a;transition:box-shadow .2s,transform .2s}.informational-node.selected{border-color:#0d47a1!important;border-width:3px}[data-theme=dark] .informational-node{background:#3e3a2e;border-color:#6d6536}[data-theme=dark] .informational-node.selected{border-color:#1565c0!important}.informational-node-header{display:flex;align-items:center;padding:6px 10px;background:#ffd54f;border-radius:6px 6px 0 0;gap:6px}.informational-node-drag-handle{cursor:grab}.informational-node-drag-handle:active{cursor:grabbing}[data-theme=dark] .informational-node-header{background:#6d6536}.informational-node-icon{font-size:14px}.informational-node-title{font-size:12px;font-weight:600;color:#5d4037;flex:1}[data-theme=dark] .informational-node-title{color:#fff9c4}.informational-node-delete{background:#ef5350;border:none;color:#fff;font-size:14px;font-weight:600;cursor:pointer;padding:2px 6px;line-height:1;border-radius:4px;transition:background .2s}.informational-node-delete:hover{background:#d32f2f}[data-theme=dark] .informational-node-delete{background:#d32f2f;color:#fff}[data-theme=dark] .informational-node-delete:hover{background:#b71c1c}.informational-node-content{flex:1;border:none;background:transparent;resize:none;padding:10px;font-size:13px;font-family:inherit;color:#5d4037;outline:none;min-height:40px}[data-theme=dark] .informational-node-content{color:#fff9c4}.informational-node-content::placeholder{color:#a1887f}[data-theme=dark] .informational-node-content::placeholder{color:#8d8250}.info-node-resizer-line{border-color:#ffd54f!important}.info-node-resizer-handle{background:#ffd54f!important;border:2px solid #5d4037!important;width:10px!important;height:10px!important}[data-theme=dark] .info-node-resizer-handle{background:#6d6536!important;border-color:#fff9c4!important}.informational-node-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.informational-node-stt{width:24px;height:24px;font-size:11px;color:#5d4037;background:#ffffff4d;border-radius:4px}.informational-node-stt:hover:not(:disabled):not(.stt-unavailable){background:#ffffff80;color:#3e2723}.informational-node-stt.stt-listening{color:#d32f2f;background:#d32f2f26}[data-theme=dark] .informational-node-stt{color:#fff9c4;background:#0003}[data-theme=dark] .informational-node-stt:hover:not(:disabled):not(.stt-unavailable){background:#0000004d;color:#fffde7}[data-theme=dark] .informational-node-stt.stt-listening{color:#ff6b6b;background:#ff6b6b33}.action-palette-wrapper{position:relative;width:200px;height:100%;transition:width .2s ease}.action-palette-wrapper.collapsed{width:60px}.action-palette{background:var(--panel-bg);padding:16px;border-right:1px solid var(--border-color);width:100%;height:100%;overflow-y:auto;box-sizing:border-box}.action-palette-wrapper.collapsed .action-palette{padding:8px}.action-palette-header{display:flex;align-items:center;justify-content:flex-start;margin-bottom:16px}.action-palette-wrapper.collapsed .action-palette-header{display:none}.action-palette h3{margin:0;font-size:16px;color:var(--text-primary)}.action-palette-wrapper>.collapse-toggle{position:fixed;left:188px;top:50vh;transform:translateY(-50%);z-index:10;background:var(--panel-bg);border:1px solid var(--border-color);border-left:none;border-radius:0 4px 4px 0;width:24px;height:48px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--text-primary);padding:0;opacity:.85}.action-palette-wrapper.collapsed>.collapse-toggle{left:48px}.action-palette-wrapper>.collapse-toggle:hover{background:var(--menu-hover);color:var(--text-primary);opacity:1}.action-palette-grid{display:flex;flex-direction:column;gap:8px}.action-palette-item{display:flex;align-items:center;gap:12px;padding:8px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;cursor:grab;transition:all .2s;box-shadow:0 1px 3px var(--card-shadow)}.action-palette-item:hover{background:var(--menu-hover);border-color:var(--border-hover);transform:translate(4px);box-shadow:0 2px 6px var(--card-shadow-hover)}.action-palette-item:active{cursor:grabbing}.action-palette-icon{width:28px;min-width:28px;display:flex;align-items:center;justify-content:center;font-size:24px;pointer-events:none}.action-palette-label{font-size:13px;font-weight:500;color:var(--text-primary);pointer-events:none}.action-palette-wrapper.collapsed .action-palette-item{justify-content:center;padding:5px}.action-palette-wrapper.collapsed .action-palette-item:hover{transform:scale(1.05)}.action-palette-wrapper.disabled .action-palette-item{opacity:.5;cursor:not-allowed}.action-palette-wrapper.disabled .action-palette-item:hover{transform:none;background:var(--card-bg);border-color:var(--border-color);box-shadow:0 1px 3px var(--card-shadow)}.action-palette-item.disabled{opacity:.5;cursor:not-allowed}.action-palette-item.disabled:hover{transform:none;background:var(--card-bg);border-color:var(--border-color);box-shadow:0 1px 3px var(--card-shadow)}.action-paid-tooltip{position:fixed;transform:translateY(-50%);background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;box-shadow:0 4px 16px #00000026;z-index:10000;max-width:280px;pointer-events:auto}.action-paid-tooltip .tooltip-title{font-weight:600;font-size:13px;color:var(--text-primary);margin-bottom:6px}.action-paid-tooltip .tooltip-message{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:10px}.action-paid-tooltip .tooltip-upgrade-link{display:inline-block;font-size:12px;font-weight:500;color:var(--accent-color);text-decoration:none}.action-paid-tooltip .tooltip-upgrade-link:hover{text-decoration:underline}.action-paid-tooltip:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:var(--border-color)}.action-paid-tooltip:after{content:"";position:absolute;left:-5px;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:var(--card-bg)}.template-builder-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.template-builder-modal{background:var(--bg-primary);border-radius:12px;width:95vw;max-width:1400px;height:90vh;max-height:900px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden}.template-builder-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0}.template-builder-modal .modal-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.header-actions{display:flex;align-items:center;gap:16px}.keyboard-hint{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.keyboard-hint kbd{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;padding:2px 6px;font-family:inherit;font-size:11px}.close-btn{width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);font-size:24px;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.template-builder-modal .modal-body{display:flex;flex:1;min-height:0;overflow:hidden}.panel{display:flex;flex-direction:column;overflow:hidden}.panel-left{width:300px;flex-shrink:0;border-right:1px solid var(--border-color);background:var(--bg-secondary)}.panel-tabs{display:flex;border-bottom:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0}.panel-tab{flex:1;padding:10px 12px;border:none;background:transparent;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:all .2s;border-bottom:2px solid transparent}.panel-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.panel-tab.active{color:var(--text-primary);border-bottom-color:var(--primary-color, var(--button-primary));background:var(--bg-secondary)}.panel-search{padding:8px 12px;border-bottom:1px solid var(--border-color);flex-shrink:0}.panel-search .browser-search{margin-top:0}.panel-center{flex:1;min-width:250px;display:flex;flex-direction:column;border-right:1px solid var(--border-color)}.panel-right{width:340px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-secondary)}.panel-header{padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.panel-header h3{margin:0;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.template-hint{font-size:11px;color:var(--text-secondary);padding:2px 8px;background:var(--bg-primary);border-radius:4px}.panel-content{flex:1;overflow-y:auto;overflow-x:hidden}.browser-search{width:100%;padding:6px 10px;margin-top:8px;border:1px solid var(--border-color);border-radius:4px;font-size:12px;background:var(--input-bg);color:var(--text-primary)}.browser-search:focus{outline:none;border-color:var(--button-primary)}.variable-browser{padding:8px 0}.browser-loading{padding:16px;text-align:center;color:var(--text-secondary);font-size:13px}.browser-section{margin-bottom:4px}.section-header{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.section-header:hover{background:var(--bg-hover)}.section-toggle{font-size:10px;color:var(--text-secondary);transition:transform .2s}.section-header.expanded .section-toggle{transform:rotate(90deg)}.section-icon{font-size:14px}.section-title{flex:1;font-size:13px;font-weight:500;color:var(--text-primary)}.section-count{font-size:11px;color:var(--text-secondary);background:var(--bg-secondary);padding:2px 6px;border-radius:10px}.section-content{padding:4px 0}.section-empty{padding:12px 16px;font-size:12px;color:var(--text-secondary);font-style:italic}.section-note{padding:8px 16px;font-size:11px;color:var(--text-secondary);font-style:italic}.browser-item{padding:0 8px}.browser-item .item-header,.browser-item.simple-item{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 24px;cursor:pointer;border-radius:4px;transition:background .15s}.browser-item .item-header:hover,.browser-item.simple-item:hover{background:var(--bg-hover)}.item-expand,.item-expand-placeholder{width:12px;font-size:10px;color:var(--text-secondary);transition:transform .2s;flex-shrink:0}.item-expand.expanded{transform:rotate(90deg)}.item-expand-placeholder{visibility:hidden}.item-name{flex:1;font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-badge{color:var(--success-color, #22c55e);font-size:8px}.item-template{font-size:11px;color:var(--text-secondary);background:var(--bg-secondary);padding:2px 6px;border-radius:3px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-desc{font-size:11px;color:var(--text-secondary);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-type{font-size:11px;color:var(--text-secondary);padding:1px 4px;background:var(--bg-secondary);border-radius:3px}.object-tree{padding-left:8px}.tree-item{margin:2px 0}.tree-item-row{display:flex;align-items:center;gap:6px;padding:4px 8px;cursor:pointer;border-radius:4px;transition:background .15s}.tree-item-row:hover{background:var(--bg-hover)}.tree-expand{width:12px;font-size:8px;color:var(--text-secondary);transition:transform .2s}.tree-expand.expanded{transform:rotate(90deg)}.tree-expand-placeholder{width:12px}.tree-key{font-size:12px;color:var(--text-primary)}.tree-type{font-size:11px;color:var(--text-secondary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-more{font-size:11px;color:var(--text-secondary);font-style:italic;padding:4px 8px}.editor-wrapper{position:relative;height:100%;padding:12px}.template-editor{width:100%;height:100%;padding:12px;border:1px solid var(--border-color);border-radius:6px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;font-size:14px;line-height:1.5;background:var(--input-bg);color:var(--text-primary);resize:none}.template-editor:focus{outline:none;border-color:var(--button-primary)}.template-editor::placeholder{color:var(--text-secondary);opacity:.7}.template-autocomplete{position:fixed;width:350px;max-height:250px;overflow-y:auto;background:var(--panel-bg, var(--bg-primary));border:1px solid var(--border-color);border-radius:6px;box-shadow:0 8px 24px #00000040;z-index:10000}.autocomplete-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border-color)}.autocomplete-item:hover,.autocomplete-item.selected{background:var(--bg-secondary)}.autocomplete-item.selected{background:#3b82f61a}.autocomplete-icon{flex-shrink:0;width:20px;text-align:center;font-size:12px}.autocomplete-label{flex:1;font-family:SF Mono,Monaco,monospace;font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.autocomplete-type{flex-shrink:0;font-size:10px;color:var(--text-secondary);text-transform:uppercase;padding:2px 6px;background:var(--bg-secondary);border-radius:3px}.preview-section{border-top:1px solid var(--border-color);background:#1e1e1e;flex-shrink:0;max-height:140px;display:flex;flex-direction:column}.preview-section .preview-header{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:#2d2d2d;border-bottom:1px solid #3c3c3c;flex-shrink:0}.preview-section .preview-title{font-size:12px;font-weight:600;text-transform:uppercase;color:#ccc}.preview-section .preview-actions{display:flex;gap:8px;align-items:center}.preview-timing{font-size:11px;color:#888;padding:2px 8px;background:#3c3c3c;border-radius:4px}.btn-preview-action{padding:4px 12px;border-radius:4px;font-size:12px;background:#3c3c3c;color:#ccc;border:none;cursor:pointer;transition:background .2s}.btn-preview-action:hover{background:#4c4c4c}.preview-section .preview-content{padding:6px 12px;overflow-y:auto;flex:1;color:#d4d4d4}.btn-show-preview{width:100%;padding:8px;background:var(--bg-secondary);border:none;border-top:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;font-size:12px;flex-shrink:0}.btn-show-preview:hover{background:var(--bg-primary);color:var(--text-primary)}.ai-assistant-panel{display:flex;flex-direction:column;height:100%}.ai-panel-header{padding:12px 16px;border-bottom:1px solid var(--border-color);font-size:12px;font-weight:600;text-transform:uppercase;display:flex;align-items:center;gap:8px;flex-shrink:0}.ai-panel-header .ai-icon{font-size:14px}.ai-panel-header .ai-title{color:var(--text-secondary)}.ai-panel-content{padding:16px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;flex:1}.ai-field{display:flex;flex-direction:column;gap:6px}.ai-field label{font-size:12px;font-weight:500;color:var(--text-secondary)}.ai-field select{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.ai-panel-content .stt-textarea-wrapper{position:relative;width:100%}.ai-panel-content .stt-textarea-wrapper textarea{width:100%;padding:10px 44px 10px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;resize:vertical;min-height:80px;font-family:inherit}.ai-panel-content .stt-textarea-wrapper textarea:focus{outline:none;border-color:var(--button-primary)}.ai-panel-content .stt-textarea-wrapper .stt-button{position:absolute;right:8px;bottom:8px}.char-count{font-size:11px;color:var(--text-muted, var(--text-secondary))}.char-count.warning{color:var(--warning-color, #f59e0b)}.ai-panel-content .btn-generate{width:100%;padding:12px 16px;border:none;border-radius:6px;background:linear-gradient(135deg,#2196f3,#9c27b0);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.ai-panel-content .btn-generate:disabled{opacity:.5;cursor:not-allowed}.ai-panel-content .btn-generate:hover:not(:disabled){opacity:.9}.ai-panel-content .ai-error{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;font-size:13px;color:#ef4444}.ai-panel-content .ai-error button{background:none;border:none;color:inherit;cursor:pointer;font-size:16px;line-height:1;flex-shrink:0}.ai-panel-content .ai-result{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px}.ai-panel-content .ai-result .result-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-size:12px;font-weight:500}.ai-panel-content .ai-result .result-code{display:block;padding:12px;font-family:SF Mono,Monaco,monospace;font-size:12px;word-break:break-all;white-space:pre-wrap;background:var(--bg-primary);color:var(--text-primary);max-height:150px;overflow-y:auto}.ai-panel-content .ai-result .result-explanation{padding:8px 12px;font-size:12px;color:var(--text-secondary);border-top:1px solid var(--border-color);margin:0}.ai-panel-content .btn-use{padding:4px 10px;border:none;border-radius:4px;background:var(--primary-color, var(--button-primary));color:#fff;font-size:11px;cursor:pointer}.ai-panel-not-configured{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:24px;text-align:center;color:var(--text-secondary)}.ai-panel-not-configured .not-configured-icon{font-size:32px;margin-bottom:8px}.ai-panel-not-configured h4{margin:0 0 8px;color:var(--text-primary)}.ai-panel-not-configured p{margin:0;font-size:13px}.ai-panel-not-configured a{margin-top:12px;color:var(--primary-color, var(--button-primary));font-size:13px}.preview-panel{display:flex;flex-direction:column;height:100%}.preview-panel .preview-header{padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);display:flex;align-items:center;justify-content:space-between}.preview-panel .preview-header h4{margin:0;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.preview-badge{font-size:10px;padding:2px 8px;border-radius:10px;font-weight:500}.preview-badge.loading{background:var(--bg-secondary);color:var(--text-secondary)}.preview-badge.error{background:#ef44441a;color:#ef4444}.preview-badge.success{background:#22c55e1a;color:#22c55e}.preview-panel .preview-content{flex:1;overflow-y:auto;padding:16px}.preview-loading{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px}.loading-spinner{animation:spin 1s linear infinite}.preview-error{display:flex;align-items:flex-start;gap:8px;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px}.preview-error .error-icon{flex-shrink:0}.preview-error .error-message{font-size:13px;color:#ef4444;word-break:break-word}.preview-syntax-error{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px}.preview-syntax-error .error-icon{flex-shrink:0;font-size:16px}.preview-syntax-error .error-details{display:flex;flex-direction:column;gap:4px}.preview-syntax-error .error-title{font-weight:600;font-size:13px;color:#ef4444}.preview-syntax-error .error-message{font-size:12px;color:#dc2626;word-break:break-word}.preview-syntax-error .error-line{font-size:11px;color:var(--text-secondary);font-family:SF Mono,Monaco,monospace}.preview-badge.syntax-error{background:#ef444433;color:#ef4444}.preview-result{height:100%}.preview-result .preview-json{font-family:SF Mono,Monaco,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:var(--text-secondary);text-align:center;padding:24px}.preview-empty .empty-icon{font-size:32px;opacity:.5}.preview-empty code{background:var(--bg-secondary);padding:2px 6px;border-radius:3px;font-size:12px}.preview-panel .preview-footer{padding:8px 16px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.preview-note{font-size:11px;color:var(--text-secondary)}.preview-section .preview-json{color:#d4d4d4}.preview-section .json-string{color:#85e89d}.preview-section .json-number{color:#79b8ff}.preview-section .json-boolean{color:#f97583}.preview-section .json-null,.preview-section .json-undefined{color:#b392f0}.preview-section .json-key{color:#9ecbff}.preview-section .preview-error,.preview-section .preview-syntax-error{padding:8px 10px;gap:6px;background:#ef444426;border:1px solid rgba(239,68,68,.4);border-radius:4px}.preview-section .preview-error .error-icon,.preview-section .preview-syntax-error .error-icon{font-size:14px}.preview-section .preview-error .error-message,.preview-section .preview-syntax-error .error-message{color:#f87171;font-size:12px}.preview-section .preview-syntax-error .error-title{color:#f87171}.preview-section .preview-empty{color:#888;padding:8px 0}.examples-section{height:100%;padding:12px}.examples-header{margin-bottom:12px}.examples-search{position:relative;margin-bottom:8px}.examples-search-input{width:100%;padding:8px 32px 8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;background:var(--input-bg);color:var(--text-primary)}.examples-search-input:focus{outline:none;border-color:var(--button-primary)}.examples-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:none;background:var(--bg-secondary);border-radius:50%;cursor:pointer;color:var(--text-secondary);font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}.examples-tabs{display:flex;gap:4px;flex-wrap:wrap}.examples-tab{display:flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--border-color);border-radius:20px;background:var(--bg-primary);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .2s}.examples-tab:hover{border-color:var(--button-primary);color:var(--text-primary)}.examples-tab.active{background:var(--button-primary);border-color:var(--button-primary);color:#fff}.examples-tab .tab-icon{font-size:12px}.examples-list{display:flex;flex-direction:column;gap:8px}.example-item{padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s}.example-item:hover{border-color:var(--button-primary);background:var(--bg-hover)}.example-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.example-name{font-size:13px;font-weight:500;color:var(--text-primary)}.example-category{font-size:10px;padding:2px 6px;background:var(--bg-secondary);border-radius:4px;color:var(--text-secondary)}.example-template{display:block;font-size:12px;color:var(--button-primary);background:var(--bg-secondary);padding:4px 8px;border-radius:4px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.example-desc{margin:0;font-size:11px;color:var(--text-secondary)}.examples-empty{padding:24px;text-align:center;color:var(--text-secondary);font-size:13px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0}.btn-secondary{padding:10px 20px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{padding:10px 20px;border:none;border-radius:6px;background:var(--button-primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}@media(max-width:1200px){.template-builder-modal{width:98vw}.panel-left{width:250px}.panel-right{width:300px}.keyboard-hint{display:none}}@media(max-width:900px){.template-builder-modal{width:98vw;height:95vh;max-height:none}.template-builder-modal .modal-body{flex-direction:column}.panel{border-right:none;border-bottom:1px solid var(--border-color)}.panel-left,.panel-center,.panel-right{width:100%;min-width:0;max-width:none;max-height:200px}.panel-center{flex:1;max-height:none}.preview-section{max-height:180px}}@media(max-width:600px){.template-builder-modal{width:100vw;height:100vh;max-height:none;border-radius:0}.template-builder-modal .modal-header{padding:12px 16px}.template-builder-modal .modal-header h2{font-size:16px}.panel-left,.panel-right{max-height:150px}.panel-header{padding:10px 12px}.modal-footer{padding:12px 16px}}.template-pill{display:inline-flex;align-items:center;padding:1px 7px;border-radius:4px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:12px;line-height:1.4;cursor:pointer;white-space:nowrap;max-width:200px;vertical-align:baseline;transition:filter .15s,box-shadow .15s;-webkit-user-select:none;user-select:none}.template-pill:hover{filter:brightness(.92);box-shadow:0 0 0 1px #0000001f}.template-pill-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-pill.type-credential{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.template-pill.type-datastore{background:#faf5ff;color:#7e22ce;border:1px solid #e9d5ff}.template-pill.type-trigger{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.template-pill.type-node{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.template-pill.type-context{background:#f9fafb;color:#4b5563;border:1px solid #e5e7eb}.template-pill.type-info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.template-pill.type-unknown{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}[data-theme=dark] .template-pill.type-credential{background:#b91c1c2e;color:#fca5a5;border-color:#b91c1c59}[data-theme=dark] .template-pill.type-datastore{background:#7e22ce2e;color:#d8b4fe;border-color:#7e22ce59}[data-theme=dark] .template-pill.type-trigger{background:#c2410c2e;color:#fdba74;border-color:#c2410c59}[data-theme=dark] .template-pill.type-node{background:#15803d2e;color:#86efac;border-color:#15803d59}[data-theme=dark] .template-pill.type-context{background:#4b55632e;color:#d1d5db;border-color:#4b556359}[data-theme=dark] .template-pill.type-info{background:#1d4ed82e;color:#93c5fd;border-color:#1d4ed859}[data-theme=dark] .template-pill.type-unknown{background:#6b72802e;color:#d1d5db;border-color:#6b728059}.template-input-wrapper{position:relative;width:100%}.template-input{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:14px;line-height:1.5;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;background:var(--input-bg);color:var(--text-primary);transition:border-color .2s}textarea.template-input{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace!important;font-size:14px!important;padding:8px 12px!important;line-height:1.5!important}.template-input.has-indicator{padding-right:52px}.template-input.pill-hidden{position:absolute;opacity:0;pointer-events:none;height:0;overflow:hidden}textarea.template-input.with-overlay{color:transparent!important;caret-color:var(--text-primary)!important;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace!important;font-size:14px!important;padding:8px 12px!important;line-height:1.5!important}textarea.template-input.with-overlay::selection{background:#3b82f64d}.template-highlight-overlay{position:absolute;inset:0;padding:8px 12px;border:1px solid transparent;border-radius:4px;font-size:14px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;white-space:pre-wrap;word-break:break-word;pointer-events:none;overflow:hidden;color:var(--text-primary);box-sizing:border-box;line-height:1.5}.template-highlight-overlay.has-indicator{padding-right:52px}.template-highlight-text{pointer-events:none}.template-highlight{pointer-events:auto;cursor:pointer;border-radius:4px}.template-highlight-bracket{color:transparent}.template-highlight-credential{background:#b91c1c26;box-shadow:0 0 0 1px #b91c1c59}.template-highlight-datastore{background:#7e22ce26;box-shadow:0 0 0 1px #7e22ce59}.template-highlight-trigger{background:#c2410c26;box-shadow:0 0 0 1px #c2410c59}.template-highlight-node{background:#15803d26;box-shadow:0 0 0 1px #15803d59}.template-highlight-context{background:#4b556326;box-shadow:0 0 0 1px #4b556359}.template-highlight-info{background:#1d4ed826;box-shadow:0 0 0 1px #1d4ed859}.template-highlight-unknown{background:#6b728026;box-shadow:0 0 0 1px #6b728059}[data-theme=dark] .template-highlight-credential{background:#b91c1c40;box-shadow:0 0 0 1px #b91c1c73}[data-theme=dark] .template-highlight-datastore{background:#7e22ce40;box-shadow:0 0 0 1px #7e22ce73}[data-theme=dark] .template-highlight-trigger{background:#c2410c40;box-shadow:0 0 0 1px #c2410c73}[data-theme=dark] .template-highlight-node{background:#15803d40;box-shadow:0 0 0 1px #15803d73}[data-theme=dark] .template-highlight-context{background:#4b556340;box-shadow:0 0 0 1px #4b556373}[data-theme=dark] .template-highlight-info{background:#1d4ed840;box-shadow:0 0 0 1px #1d4ed873}[data-theme=dark] .template-highlight-unknown{background:#6b728040;box-shadow:0 0 0 1px #6b728073}.template-pill-display{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:14px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;background:var(--input-bg);color:var(--text-primary);cursor:text;display:flex;align-items:center;gap:2px;min-height:36px;transition:border-color .2s}.template-pill-display:hover{border-color:var(--button-primary)}.template-pill-display.has-indicator{padding-right:52px}.template-pill-display.singleline{flex-wrap:nowrap;overflow:hidden;white-space:nowrap}.template-pill-display.multiline{flex-wrap:wrap;white-space:pre-wrap;align-items:flex-start}.pill-text-segment{white-space:pre-wrap;word-break:break-word}.pill-placeholder{color:var(--text-secondary);opacity:.7}.template-input:focus{outline:none;border-color:var(--button-primary)}.template-indicator-wrapper{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:2px}textarea.template-input~.template-indicator-wrapper{top:10px;transform:none}.template-pill-display.multiline~.template-indicator-wrapper{top:10px;transform:none}.template-indicator-btn{width:22px;height:22px;padding:0;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s;opacity:.6}.template-indicator-btn:hover{background:var(--bg-hover);color:var(--button-primary);opacity:1}.template-indicator-btn:active{transform:scale(.95)}.template-indicator-btn svg{flex-shrink:0}.template-indicator-btn.btn-raw-edit{opacity:.4}.template-indicator-btn.btn-raw-edit:hover{opacity:1}.template-indicator-btn.btn-raw-edit.active{opacity:1;color:var(--button-primary);background:var(--bg-hover)}.template-indicator-tooltip{position:absolute;right:0;top:100%;margin-top:6px;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:6px;padding:10px 14px;box-shadow:0 4px 12px #00000026;white-space:nowrap;z-index:1001;min-width:180px}.template-indicator-tooltip .tooltip-title{font-weight:600;font-size:13px;color:var(--text-primary);margin-bottom:4px}.template-indicator-tooltip .tooltip-hint{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.template-indicator-tooltip .tooltip-shortcut{display:inline-block;padding:2px 8px;background:var(--bg-secondary);border-radius:4px;font-size:11px;font-family:SF Mono,Monaco,Cascadia Code,monospace;color:var(--text-secondary)}.template-autocomplete-container{position:fixed;z-index:1000}.autocomplete-preview-popover{position:absolute;right:100%;top:0;margin-right:4px;width:250px;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;overflow:hidden;max-height:300px}.template-autocomplete{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;max-height:300px;display:flex;flex-direction:column;overflow:hidden}.autocomplete-header{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.autocomplete-list{overflow-y:auto;flex:1}.autocomplete-item{padding:10px 12px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border-color)}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover,.autocomplete-item.selected{background:var(--menu-hover)}.autocomplete-item-path{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:13px;color:var(--text-primary);font-weight:500;margin-bottom:4px}.autocomplete-item-desc{font-size:12px;color:var(--text-secondary)}.autocomplete-footer{padding:8px 12px;font-size:11px;color:var(--text-secondary);background:var(--bg-secondary);border-top:1px solid var(--border-color)}.autocomplete-footer code{background:var(--bg-primary);padding:2px 6px;border-radius:3px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:11px}.autocomplete-loading,.autocomplete-empty{padding:16px;text-align:center;color:var(--text-secondary);font-size:13px}.autocomplete-more{padding:8px 12px;font-size:12px;color:var(--text-secondary);font-style:italic;background:var(--bg-secondary)}.drillable-indicator{margin-left:8px;color:var(--text-secondary);font-size:10px}.autocomplete-breadcrumb{display:flex;align-items:center;gap:4px}.breadcrumb-path{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:11px;color:var(--text-primary);font-weight:500}.autocomplete-preview-popover .preview-content{flex:1;overflow:auto;padding:8px 12px;max-height:250px}.preview-header{padding:6px 12px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.preview-content{flex:1;overflow:auto;padding:8px 12px}.preview-json{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.preview-empty{color:var(--text-secondary);font-size:12px;font-style:italic;padding:16px 0;text-align:center}.preview-masked{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 0}.masked-value{font-family:SF Mono,Monaco,monospace;font-size:18px;letter-spacing:2px;color:var(--text-secondary)}.masked-hint{font-size:11px;color:var(--text-secondary);font-style:italic}.preview-loading-indicator{animation:pulse 1s ease-in-out infinite}.preview-loading{color:var(--text-secondary);font-style:italic}.preview-api-result{border-left:2px solid var(--accent-primary, #3b82f6);padding-left:8px}.json-null{color:#6f42c1}.json-undefined{color:#6f42c1;font-style:italic}.json-indent{display:block;padding-left:16px}.input-var-modal-overlay{position:fixed;inset:0;background:#000000b3;z-index:1100;display:flex;align-items:center;justify-content:center}.input-var-modal{width:1100px;max-width:95vw;max-height:85vh;background:var(--bg-primary);border-radius:8px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006}.input-var-modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border-color);flex-shrink:0}.input-var-modal-header h3{margin:0;font-size:16px;font-weight:600}.input-var-modal-header .btn-close{background:none;border:none;font-size:22px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px}.input-var-modal-header .btn-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.input-var-modal-helper{padding:12px 18px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0}.input-var-modal-helper p{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}.input-var-modal-helper strong{color:var(--text-primary)}.input-var-modal-helper code{background:var(--bg-primary);padding:1px 5px;border-radius:3px;font-size:12px;color:var(--primary-color, #3b82f6)}.input-var-modal-body{display:flex;flex:1;overflow:hidden;min-height:0}.context-panel{width:400px;border-right:1px solid var(--border-color);padding:14px;overflow-y:auto;flex-shrink:0;background:var(--bg-secondary)}.context-section{margin-bottom:18px}.context-section:last-child{margin-bottom:0}.context-section h4{margin:0 0 10px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px}.click-hint{font-size:10px;font-weight:400;color:var(--text-secondary);text-transform:none;opacity:.8}.context-list{display:flex;flex-direction:column;gap:6px}.context-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:var(--bg-primary);border-radius:4px;border:1px solid var(--border-color)}.context-item.clickable{cursor:pointer;transition:background .15s,border-color .15s}.context-item.clickable:hover{background:var(--menu-hover, var(--bg-tertiary));border-color:var(--primary-color, #3b82f6)}.context-template{font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;color:var(--primary-color, #3b82f6);font-weight:500;word-break:break-all}.context-name{font-size:11px;color:var(--text-secondary);word-break:break-all;display:flex;align-items:center;gap:6px}.data-indicator{color:var(--success-color, #22c55e);font-size:10px}.no-context{font-size:12px;color:var(--text-secondary);font-style:italic;margin:0}.context-preview{font-family:SF Mono,Monaco,Consolas,monospace;font-size:10px;color:var(--text-secondary);margin-top:4px;padding:3px 6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.compact-string{color:#22863a}.compact-number{color:#005cc5}.compact-boolean{color:#d73a49}.compact-null{color:#6f42c1}.compact-array,.compact-object{color:var(--text-secondary)}[data-theme=dark] .compact-string{color:#85e89d}[data-theme=dark] .compact-number{color:#79b8ff}[data-theme=dark] .compact-boolean{color:#f97583}[data-theme=dark] .compact-null{color:#b392f0}.more-items{font-size:11px;color:var(--text-secondary);font-style:italic;margin:4px 0 0}.context-node-group{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.context-node-group:last-child{margin-bottom:0}.context-item-collapsible{position:relative;padding-left:24px}.collapse-toggle{position:absolute;left:6px;top:50%;transform:translateY(-50%);width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-secondary);cursor:pointer;border-radius:2px;transition:transform .15s,color .15s;-webkit-user-select:none;user-select:none}.collapse-toggle:hover{color:var(--text-primary);background:var(--bg-tertiary, var(--bg-secondary))}.collapse-toggle.collapsed{transform:translateY(-50%) rotate(-90deg)}.context-children{display:flex;flex-direction:column;gap:2px}.context-children.collapsed{display:none}.context-item-root{border-radius:4px 4px 2px 2px}.context-item-field{margin-left:12px;padding:6px 10px;border-radius:2px;background:var(--bg-secondary);border:1px solid transparent}.context-item-field:hover{background:var(--menu-hover, var(--bg-tertiary));border-color:var(--primary-color, #3b82f6)}.context-item-field:last-of-type{border-radius:2px 2px 4px 4px}.context-item-field .context-template{font-size:11px}.context-item-field .context-name{font-size:10px;color:var(--text-muted, var(--text-secondary));opacity:.8}.context-item-field .context-preview{font-size:9px;margin-top:2px;padding:2px 4px}.more-fields{font-size:10px;color:var(--text-secondary);font-style:italic;margin:2px 0 0}.context-item-depth-2{padding:5px 8px;background:var(--bg-tertiary, var(--bg-secondary));opacity:.9}.context-item-depth-2 .context-template{font-size:10px}.context-item-depth-2 .context-name{font-size:9px}.context-item-depth-2 .context-preview{font-size:9px;padding:2px 4px}.config-panel{flex:1;padding:18px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.config-panel .form-group{display:flex;flex-direction:column;gap:6px}.config-panel .form-group label{font-size:13px;font-weight:600;color:var(--text-primary)}.config-panel .var-name-input{padding:10px 12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;font-family:SF Mono,Monaco,Consolas,monospace}.config-panel .var-name-input:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 2px #3b82f626}.config-panel .field-hint{font-size:11px;color:var(--text-secondary);line-height:1.4}.config-panel .field-hint code{background:var(--bg-secondary);padding:1px 4px;border-radius:3px;font-size:10px}.preview-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;flex:1;min-height:120px;display:flex;flex-direction:column}.preview-header{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border-color);flex-shrink:0}.preview-header h4{margin:0;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px}.preview-path{font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;color:var(--primary-color, #3b82f6);background:var(--bg-primary);padding:2px 6px;border-radius:3px}.preview-static-badge{font-size:10px;color:var(--text-secondary);background:var(--bg-primary);padding:2px 6px;border-radius:3px}.preview-content{flex:1;overflow:auto;padding:12px 14px}.preview-empty{color:var(--text-secondary);font-size:12px;font-style:italic;text-align:center;padding:20px 0}.preview-hint{color:var(--text-secondary);font-size:12px;text-align:center;padding:20px 0}.input-var-modal .json-string{color:#22863a}.input-var-modal .json-number{color:#005cc5}.input-var-modal .json-boolean{color:#d73a49}.input-var-modal .json-null,.input-var-modal .json-undefined{color:#6f42c1}.input-var-modal .json-key{color:#032f62}.input-var-modal .json-bracket,.input-var-modal .json-colon,.input-var-modal .json-comma{color:var(--text-secondary)}.input-var-modal .json-ellipsis{color:var(--text-secondary);font-style:italic}.input-var-modal .json-indent{display:block;padding-left:12px}.input-var-modal .json-property,.input-var-modal .json-array-item{display:block}[data-theme=dark] .input-var-modal .json-string{color:#85e89d}[data-theme=dark] .input-var-modal .json-number{color:#79b8ff}[data-theme=dark] .input-var-modal .json-boolean{color:#f97583}[data-theme=dark] .input-var-modal .json-null,[data-theme=dark] .input-var-modal .json-undefined{color:#b392f0}[data-theme=dark] .input-var-modal .json-key{color:#9ecbff}.input-var-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-top:1px solid var(--border-color);flex-shrink:0}.footer-actions{display:flex;gap:10px}.input-var-modal .btn-primary{background:var(--primary-color, #3b82f6);color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500}.input-var-modal .btn-primary:hover:not(:disabled){background:var(--primary-hover, #2563eb)}.input-var-modal .btn-primary:disabled{opacity:.5;cursor:not-allowed}.input-var-modal .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);padding:8px 16px;border-radius:4px;cursor:pointer;font-size:13px}.input-var-modal .btn-secondary:hover{background:var(--bg-tertiary, var(--bg-secondary))}.script-modal-overlay{position:fixed;inset:0;background:#000c;z-index:1000;display:flex;align-items:center;justify-content:center}.script-modal{width:95vw;height:95vh;background:var(--bg-primary);border-radius:8px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006}.script-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.script-modal-header h3{margin:0;font-size:16px;font-weight:600}.script-modal-actions{display:flex;align-items:center;gap:8px}.script-modal-body{display:flex;flex:1;overflow:hidden}.script-reference-panel{width:280px;border-right:1px solid var(--border-color);padding:16px;overflow-y:auto;flex-shrink:0;background:var(--bg-secondary)}.reference-section{margin-bottom:20px}.reference-section h4{margin:0 0 10px;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px}.input-list{display:flex;flex-direction:column;gap:8px}.input-item{display:flex;flex-direction:column;gap:2px;padding:8px;background:var(--bg-primary);border-radius:4px;border:1px solid var(--border-color)}.input-name{font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px;color:var(--primary-color, #3b82f6);font-weight:500}.input-source{font-size:11px;color:var(--text-secondary);word-break:break-all}.no-inputs{font-size:12px;color:var(--text-secondary);font-style:italic}.section-header-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-header-with-action h4{margin:0}.btn-add-input-small{background:none;border:1px solid var(--border-color);color:var(--text-secondary);padding:2px 8px;border-radius:4px;cursor:pointer;font-size:11px}.btn-add-input-small:hover{border-color:var(--primary-color);color:var(--primary-color)}.input-item.with-actions{display:flex;flex-direction:row;align-items:flex-start;gap:6px;padding:0;background:none;border:none}.input-item.with-actions .input-content{flex:1;min-width:0;padding:8px 10px;background:var(--bg-primary);border-radius:4px;border:1px solid var(--border-color);cursor:pointer;transition:border-color .15s;max-height:100px;overflow-y:auto}.input-item.with-actions .input-content:hover{border-color:var(--primary-color)}.input-item.with-actions .input-name{display:block}.input-item.with-actions .input-value{display:block;white-space:pre-wrap;word-break:break-word}.btn-delete-input{background:#ef4444;border:none;color:#fff;cursor:pointer;font-size:14px;font-weight:700;width:20px;height:20px;padding:0;line-height:1;border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:4px}.btn-delete-input:hover{background:#dc2626}.input-modal-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10}.input-modal{background:var(--bg-primary);padding:20px;border-radius:8px;width:400px;max-width:90%;box-shadow:0 10px 40px #0000004d}.input-modal h4{margin:0 0 16px;font-size:16px;font-weight:600}.input-modal .form-group{margin-bottom:16px}.input-modal .form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--text-primary)}.input-modal .form-group input{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px}.input-modal .form-group input:focus{outline:none;border-color:var(--primary-color)}.input-modal .help-text{display:block;margin-top:4px;font-size:11px;color:var(--text-secondary)}.input-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.input-modal-actions .btn-primary,.input-modal-actions .btn-secondary{padding:8px 16px;border-radius:4px;font-size:13px;cursor:pointer}.input-modal-actions .btn-primary{background:var(--primary-color, #3b82f6);color:#fff;border:none}.input-modal-actions .btn-primary:hover:not(:disabled){background:var(--primary-hover, #2563eb)}.input-modal-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.input-modal-actions .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.input-modal-actions .btn-secondary:hover{background:var(--bg-tertiary, var(--bg-secondary))}.ai-info{font-size:12px;color:var(--text-secondary);line-height:1.5}.input-value{font-size:11px;color:var(--text-secondary);background:var(--bg-secondary);padding:2px 6px;border-radius:3px;word-break:break-word;display:block;margin-top:2px}.input-value.resolved{background:#22c55e1a;color:var(--success-color, #10b981)}.input-value.input-value-pills{display:flex;flex-wrap:wrap;align-items:center;gap:2px;background:transparent;padding:2px 0}.input-value-pills .pill-text-segment{font-size:11px;color:var(--text-secondary)}.instructions-list{margin:0;padding:0 0 0 16px;font-size:12px;color:var(--text-secondary);line-height:1.6}.instructions-list li{margin-bottom:4px}.instructions-list code{background:var(--bg-primary);padding:1px 4px;border-radius:3px;font-size:11px}.functions-list{display:flex;flex-direction:column;gap:4px}.functions-list code{font-size:11px;color:var(--text-secondary);font-family:SF Mono,Monaco,Consolas,monospace}.script-modal-footer{padding:8px 16px 8px 75px;border-top:1px solid var(--border-color);flex-shrink:0}.keyboard-hint{font-size:11px;color:var(--text-secondary)}.keyboard-hint kbd{background:var(--bg-secondary);padding:2px 6px;border-radius:3px;border:1px solid var(--border-color);font-family:inherit;font-size:10px}.script-modal .btn-primary{background:var(--primary-color, #3b82f6);color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px}.script-modal .btn-primary:hover{background:var(--primary-hover, #2563eb)}.script-modal .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px}.script-modal .btn-secondary:hover{background:var(--bg-tertiary, var(--bg-secondary))}.script-modal .btn-test{background:var(--success-color, #10b981);color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px}.script-modal .btn-test:hover:not(:disabled){background:#059669}.script-modal .btn-test:disabled{opacity:.6;cursor:not-allowed}.script-editor-container,.script-editor-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.script-editor-panel.with-console{flex:1;min-height:0}.script-editor-panel .cm-editor{height:100%;font-size:14px}.script-editor-panel .cm-scroller{overflow:auto}.script-console-panel{min-height:100px;max-height:500px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;background:#1e1e1e;flex-shrink:0}.console-resize-handle{height:6px;background:#3c3c3c;cursor:ns-resize;transition:background .15s;flex-shrink:0}.console-resize-handle:hover,.console-resize-handle.resizing{background:var(--primary-color, #3b82f6)}.console-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#252526;border-bottom:1px solid #3c3c3c;flex-shrink:0}.console-title{font-size:12px;font-weight:600;color:#ccc;text-transform:uppercase;letter-spacing:.5px}.console-actions{display:flex;align-items:center;gap:8px}.execution-time{font-size:11px;color:#888;padding:2px 6px;background:#333;border-radius:3px}.btn-console-action{background:transparent;border:1px solid #555;color:#999;padding:3px 8px;border-radius:3px;cursor:pointer;font-size:11px}.btn-console-action:hover{background:#333;color:#ccc}.console-content{flex:1;overflow-y:auto;padding:12px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px;line-height:1.5}.console-line{color:#d4d4d4;margin-bottom:4px;white-space:pre-wrap;word-break:break-word}.console-line.console-info{color:#6796e6}.console-line.console-error{color:#f48771;background:#f487711a;padding:8px;border-radius:4px;border-left:3px solid #f48771;white-space:pre-wrap}.console-result{margin-top:8px;padding-top:8px;border-top:1px dashed #444}.result-label{color:#6a9955;font-size:11px;text-transform:uppercase;display:block;margin-bottom:4px}.result-value{color:#dcdcaa;margin:0;padding:8px;background:#dcdcaa0d;border-radius:4px;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.console-empty{color:#666;font-style:italic;text-align:center;padding:20px}.script-modal .btn-console-toggle{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500}.script-modal .btn-console-toggle:hover{background:var(--bg-tertiary, var(--bg-secondary))}.script-modal .btn-console-toggle.active{background:#1e1e1e;color:#d4d4d4;border-color:#3c3c3c}.script-modal .btn-ai-toggle{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#2196f3,#9c27b0);color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;box-shadow:0 2px 6px #2196f34d;transition:all .2s}.script-modal .btn-ai-toggle:hover{background:linear-gradient(135deg,#1976d2,#7b1fa2);box-shadow:0 3px 8px #2196f366}.script-modal .btn-ai-toggle.active{background:linear-gradient(135deg,#1976d2,#7b1fa2);color:#fff;box-shadow:0 2px 8px #2196f380}.script-modal.with-ai-panel{width:98vw}.script-ai-panel{width:320px;border-left:1px solid var(--border-color);background:var(--bg-secondary);display:flex;flex-direction:column;flex-shrink:0}.ai-panel-header h4{margin:0;font-size:14px;font-weight:600}.btn-close-panel{background:none;border:none;color:var(--text-secondary);font-size:16px;cursor:pointer;padding:4px 8px}.btn-close-panel:hover{color:var(--text-primary)}.ai-panel-content .form-group label{display:block;margin-bottom:6px;font-size:12px;font-weight:500;color:var(--text-secondary)}.ai-panel-content select,.ai-panel-content textarea,.ai-panel-content input{width:100%;padding:8px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.ai-panel-content select:focus,.ai-panel-content textarea:focus,.ai-panel-content input:focus{outline:none;border-color:var(--primary-color)}.ai-panel-content textarea{resize:vertical;min-height:80px}.ai-panel-content .help-text{display:block;margin-top:4px;font-size:11px;color:var(--text-secondary)}.ai-panel-content .help-text.warning{color:var(--warning-color, #f59e0b)}.ai-panel-content .help-text a{color:var(--primary-color)}.ai-inputs-list{display:flex;flex-direction:column;gap:8px}.ai-input-row{display:flex;gap:6px;align-items:flex-start}.ai-input-row input:first-child{width:80px!important;flex-shrink:0}.ai-input-row input:nth-child(2){flex:1;min-width:0;width:auto!important}.btn-remove{background:none;border:1px solid var(--border-color);color:var(--text-secondary);padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px}.btn-remove:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.btn-add-input{background:none;border:1px dashed var(--border-color);color:var(--text-secondary);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;width:100%}.btn-add-input:hover{border-color:var(--primary-color);color:var(--primary-color)}.no-providers-message{text-align:center;padding:40px 20px;color:var(--text-secondary)}.no-providers-message p{margin:0 0 16px}.no-providers-message .btn-configure{display:inline-block;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;text-decoration:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500}.no-providers-message .btn-configure:hover{background:linear-gradient(135deg,#7c3aed,#4f46e5)}.btn-generate{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#2196f3,#9c27b0);color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;margin-top:8px;box-shadow:0 2px 6px #2196f34d;transition:all .2s}.btn-generate:hover:not(:disabled){background:linear-gradient(135deg,#1976d2,#7b1fa2);box-shadow:0 3px 8px #2196f366}.cm-editor .cm-lintRange-error{background-color:#ef444433;border-bottom:2px wavy #ef4444}.cm-editor .cm-lintRange-warning{background-color:#f59e0b26;border-bottom:2px wavy #f59e0b}.cm-editor .cm-lint-marker-error{content:"●";color:#ef4444}.cm-editor .cm-lint-marker-warning{content:"●";color:#f59e0b}.cm-editor .cm-gutter-lint{width:1.4em}.cm-editor .cm-lintPoint:after{border-bottom-color:#ef4444}.cm-tooltip-lint{background:var(--bg-primary, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:4px;padding:8px 12px;font-size:13px;max-width:400px}.cm-diagnostic{padding:4px 0}.cm-diagnostic-error{color:#ef4444;border-left:3px solid #ef4444;padding-left:8px}.cm-diagnostic-warning{color:#f59e0b;border-left:3px solid #f59e0b;padding-left:8px}.json-modal-overlay{position:fixed;inset:0;background:#000c;z-index:1000;display:flex;align-items:center;justify-content:center}.json-modal{width:95vw;height:95vh;background:var(--bg-primary);border-radius:8px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006}.json-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.json-modal-header h3{margin:0;font-size:16px;font-weight:600}.json-modal-actions{display:flex;align-items:center;gap:8px}.unsaved-indicator{color:var(--warning-color, #f59e0b);font-size:12px;padding:2px 8px;background:#f59e0b1a;border-radius:4px}.validation-indicator{font-size:14px;padding:2px 8px;border-radius:4px;font-weight:600}.validation-indicator.valid{color:#22c55e;background:#22c55e1a}.validation-indicator.invalid{color:#ef4444;background:#ef44441a}.validation-indicator.template{color:var(--primary-color, #3b82f6);background:#3b82f61a}.json-modal-body{display:flex;flex:1;overflow:hidden}.json-reference-panel{width:280px;border-right:1px solid var(--border-color);padding:16px;overflow-y:auto;flex-shrink:0;background:var(--bg-secondary)}.json-reference-panel .reference-section{margin-bottom:20px}.json-reference-panel .reference-section h4{margin:0 0 10px;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px}.json-reference-panel .input-list{display:flex;flex-direction:column;gap:8px}.json-reference-panel .input-item{display:flex;flex-direction:column;gap:2px;padding:8px;background:var(--bg-primary);border-radius:4px;border:1px solid var(--border-color)}.json-reference-panel .input-item.clickable{cursor:pointer;transition:background .15s,border-color .15s}.json-reference-panel .input-item.clickable:hover{background:var(--menu-hover, var(--bg-tertiary));border-color:var(--primary-color, #3b82f6)}.click-hint{font-size:10px;font-weight:400;color:var(--text-secondary);text-transform:none}.json-reference-panel .input-name{font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;color:var(--primary-color, #3b82f6);font-weight:500;word-break:break-all}.json-reference-panel .input-source{font-size:11px;color:var(--text-secondary);word-break:break-all}.json-reference-panel .no-inputs{font-size:12px;color:var(--text-secondary);font-style:italic}.json-reference-panel .instructions-list{margin:0;padding:0 0 0 16px;font-size:12px;color:var(--text-secondary);line-height:1.6}.json-reference-panel .instructions-list li{margin-bottom:4px}.json-reference-panel .instructions-list code{background:var(--bg-primary);padding:1px 4px;border-radius:3px;font-size:11px}.json-editor-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.json-editor-panel .cm-editor{height:100%;font-size:14px}.json-editor-panel .cm-scroller{overflow:auto}.json-preview-panel{width:300px;border-left:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;background:var(--bg-secondary)}.preview-panel-header{padding:12px 16px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}.preview-panel-header h4{margin:0;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px}.preview-panel-header .preview-path{font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;color:var(--primary-color, #3b82f6);background:var(--bg-primary);padding:2px 6px;border-radius:3px}.preview-panel-content{flex:1;overflow:auto;padding:16px}.preview-hint{color:var(--text-secondary);font-size:13px;line-height:1.5}.preview-hint code{background:var(--bg-primary);padding:2px 6px;border-radius:3px;font-size:12px}.json-modal-footer{padding:8px 16px;border-top:1px solid var(--border-color);flex-shrink:0}.json-modal-footer .keyboard-hint{font-size:11px;color:var(--text-secondary)}.json-modal-footer .keyboard-hint kbd{background:var(--bg-secondary);padding:2px 6px;border-radius:3px;border:1px solid var(--border-color);font-family:inherit;font-size:10px}.json-modal .btn-primary{background:var(--primary-color, #3b82f6);color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px}.json-modal .btn-primary:hover{background:var(--primary-hover, #2563eb)}.json-modal .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px}.json-modal .btn-secondary:hover{background:var(--bg-tertiary, var(--bg-secondary))}.preview-section{background:var(--bg-primary);border:1px solid var(--primary-color, #3b82f6);border-radius:6px;padding:12px}.preview-section h4{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.preview-path{font-family:SF Mono,Monaco,Consolas,monospace;font-size:10px;color:var(--primary-color, #3b82f6);background:var(--bg-secondary);padding:2px 6px;border-radius:3px;font-weight:400;text-transform:none}.preview-section .preview-content{max-height:200px;overflow:auto;background:var(--bg-secondary);border-radius:4px;padding:8px}.preview-json{font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.preview-empty{color:var(--text-secondary);font-size:12px;font-style:italic;text-align:center;padding:12px 0}.preview-masked{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 0}.masked-value{font-family:SF Mono,Monaco,monospace;font-size:16px;letter-spacing:2px;color:var(--text-secondary)}.masked-hint{font-size:10px;color:var(--text-secondary);font-style:italic}.json-string{color:#22863a}.json-number{color:#005cc5}.json-boolean{color:#d73a49}.json-null,.json-undefined{color:#6f42c1}.json-key{color:#032f62}.json-bracket,.json-colon,.json-comma{color:var(--text-secondary)}.json-ellipsis{color:var(--text-secondary);font-style:italic}.json-indent{display:block;padding-left:12px}.json-property,.json-array-item{display:block}[data-theme=dark] .json-string{color:#85e89d}[data-theme=dark] .json-number{color:#79b8ff}[data-theme=dark] .json-boolean{color:#f97583}[data-theme=dark] .json-null,[data-theme=dark] .json-undefined{color:#b392f0}[data-theme=dark] .json-key{color:#9ecbff}.public-form-page{--form-page-bg: #f5f7fa;--form-card-bg: white;--form-primary: #2196F3;--form-primary-hover: #1976D2;--form-primary-light: rgba(33, 150, 243, .1);--form-text: #1a1a1a;--form-label: #333;--form-radius: 12px;--form-font: inherit}.public-form-page{min-height:100vh;background:var(--form-page-bg);display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;font-family:var(--form-font)}.public-form-container{width:100%;max-width:640px;background:var(--form-card-bg);border-radius:var(--form-radius);box-shadow:0 4px 24px #0000001a;padding:40px}.public-form-header{margin-bottom:32px;text-align:center}.public-form-header h1{margin:0 0 8px;font-size:28px;font-weight:600;color:var(--form-text)}.public-form-header .form-description{margin:0;color:#666;font-size:16px}.public-form{display:flex;flex-direction:column;gap:24px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:14px;font-weight:500;color:var(--form-label)}.form-field label .required{color:#e74c3c;margin-left:4px}.form-field input[type=text],.form-field input[type=email],.form-field input[type=url],.form-field input[type=number],.form-field input[type=datetime-local],.form-field select,.form-field textarea{padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-size:16px;transition:border-color .2s,box-shadow .2s;background:#fff;width:100%;box-sizing:border-box}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--form-primary);box-shadow:0 0 0 3px var(--form-primary-light)}.form-field textarea{resize:vertical;min-height:100px}.form-field select{cursor:pointer}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:16px}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.multi-select-group{display:flex;flex-direction:column;gap:10px}.multi-select-option{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:16px;padding:8px 12px;border:1px solid #ddd;border-radius:6px;transition:all .15s ease}.multi-select-option:hover{border-color:var(--form-primary);background:var(--form-primary-light)}.multi-select-option input[type=checkbox]{width:18px;height:18px;cursor:pointer}.multi-select-option input[type=checkbox]:checked+span{color:var(--form-primary);font-weight:500}.form-field-markdown{padding:8px 0}.form-markdown-content{line-height:1.6;color:#333}.form-markdown-content h1,.form-markdown-content h2,.form-markdown-content h3,.form-markdown-content h4,.form-markdown-content h5,.form-markdown-content h6{margin:16px 0 8px;color:#1a1a1a}.form-markdown-content h1{font-size:24px}.form-markdown-content h2{font-size:20px}.form-markdown-content h3{font-size:18px}.form-markdown-content p{margin:8px 0}.form-markdown-content ul,.form-markdown-content ol{margin:8px 0;padding-left:24px}.form-markdown-content li{margin:4px 0}.form-markdown-content a{color:var(--form-primary);text-decoration:none}.form-markdown-content a:hover{text-decoration:underline}.form-markdown-content code{background:#f5f5f5;padding:2px 6px;border-radius:4px;font-family:monospace;font-size:14px}.form-markdown-content pre{background:#f5f5f5;padding:12px;border-radius:6px;overflow-x:auto}.form-markdown-content pre code{background:none;padding:0}.form-markdown-content blockquote{border-left:4px solid var(--form-primary);margin:12px 0;padding:8px 16px;background:var(--form-primary-light);color:#666}.file-input-wrapper{display:flex;flex-direction:column;gap:8px}.file-input-wrapper input[type=file]{padding:12px;border:2px dashed #ddd;border-radius:8px;cursor:pointer}.file-input-wrapper input[type=file]:hover{border-color:var(--form-primary)}.file-preview,.image-preview{display:flex;align-items:center;gap:12px;padding:12px;background:#f5f7fa;border-radius:8px}.file-preview button,.image-preview button{padding:4px 12px;background:#ff5252;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.image-preview img{max-width:200px;max-height:150px;border-radius:4px}.field-help{font-size:13px;color:#666}.form-field-error input,.form-field-error select,.form-field-error textarea{border-color:#e74c3c}.field-error{font-size:13px;color:#e74c3c}.form-field-heading .form-heading{margin:16px 0 0;font-size:20px;font-weight:600;color:#1a1a1a}.form-field-divider{padding:8px 0}.form-divider{border:none;border-top:1px solid #eee;margin:0}.form-submit{margin-top:16px}.form-submit button{width:100%;padding:16px 24px;background:var(--form-primary);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.form-submit button:hover:not(:disabled){background:var(--form-primary-hover)}.form-submit button:disabled{background:#ccc;cursor:not-allowed}.public-form-error{text-align:center;padding:40px}.public-form-error h2{margin:0 0 16px;color:#e74c3c}.public-form-error p{margin:0;color:#666}.public-form-auth-required{text-align:center;padding:60px 20px}.public-form-auth-required .auth-icon{font-size:48px;margin-bottom:20px}.public-form-auth-required h2{margin:0 0 12px;font-size:24px;color:#1a1a1a}.public-form-auth-required p{margin:0 0 24px;font-size:16px;color:#666}.public-form-auth-required .login-button{padding:14px 32px;background:var(--form-primary);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.public-form-auth-required .login-button:hover{background:var(--form-primary-hover)}.public-form-error-inline{padding:16px;background:#ffeaea;border:1px solid #ffcdd2;border-radius:8px;margin-bottom:24px}.public-form-error-inline p{margin:0;color:#c62828}.form-success{text-align:center;padding:60px 20px}.form-success .success-icon{width:80px;height:80px;margin:0 auto 24px;background:#4caf50;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px}.form-success h2{margin:0 0 12px;font-size:28px;color:#1a1a1a}.form-success p{margin:0;font-size:16px;color:#666}.form-loading{text-align:center;padding:60px 20px}.loading-spinner{width:50px;height:50px;margin:0 auto 24px;border:4px solid #f3f3f3;border-top:4px solid var(--form-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-loading p{margin:0;font-size:16px;color:#666}.public-form-footer{margin-top:32px;padding-top:16px;border-top:1px solid #eee;text-align:center}.public-form-footer small{color:#999;font-size:12px}@media(prefers-color-scheme:dark){.public-form-page{background:#1a1a1a}.public-form-container{background:#2d2d2d;box-shadow:0 4px 24px #0000004d}.public-form-header h1{color:#f5f5f5}.public-form-header .form-description{color:#aaa}.form-field label{color:#f5f5f5}.form-field input,.form-field select,.form-field textarea{background:#3d3d3d;border-color:#4d4d4d;color:#f5f5f5}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#2196f3}.checkbox-label{color:#f5f5f5}.multi-select-option{border-color:#4d4d4d;color:#f5f5f5}.multi-select-option:hover{border-color:#2196f3;background:#2196f31a}.form-markdown-content{color:#e5e5e5}.form-markdown-content h1,.form-markdown-content h2,.form-markdown-content h3,.form-markdown-content h4,.form-markdown-content h5,.form-markdown-content h6{color:#f5f5f5}.form-markdown-content code{background:#3d3d3d;color:#f5f5f5}.form-markdown-content pre{background:#3d3d3d}.form-markdown-content blockquote{background:#2196f31a;color:#aaa}.file-preview,.image-preview{background:#3d3d3d}.field-help{color:#aaa}.form-field-heading .form-heading{color:#f5f5f5}.form-divider{border-color:#4d4d4d}.form-success h2{color:#f5f5f5}.form-success p,.form-loading p{color:#aaa}.public-form-footer{border-color:#4d4d4d}.public-form-auth-required h2{color:#f5f5f5}.public-form-auth-required p{color:#aaa}}@media(max-width:640px){.public-form-page{padding:20px 16px}.public-form-container{padding:24px;border-radius:8px}.public-form-header h1{font-size:24px}}.form-builder-modal-overlay{position:fixed;inset:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center}.form-builder-modal{background:var(--bg-primary);width:95vw;height:90vh;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0006}.form-builder-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.form-builder-header h2{margin:0;font-size:18px;color:var(--text-primary)}.form-builder-header-actions{display:flex;gap:12px}.form-builder-header-actions button{padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px}.form-builder-header-actions button.secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.form-builder-header-actions button:not(.secondary){background:var(--primary-color);border:none;color:#fff}.form-builder-header-actions button:disabled{opacity:.5;cursor:not-allowed}.form-builder-content{display:flex;flex:1;overflow:hidden}.form-builder-palette{width:200px;min-width:200px;max-width:200px;border-right:1px solid var(--border-color);background:var(--bg-secondary);overflow-y:auto;overflow-x:hidden}.field-palette{padding:16px;overflow:hidden}.field-palette h3{margin:0 0 16px;font-size:14px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.field-palette-category{margin-bottom:20px}.field-palette-category h4{margin:0 0 8px;font-size:12px;color:var(--text-muted);font-weight:500}.field-palette-items{display:flex;flex-direction:column;gap:4px}.field-palette-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.field-palette-item:hover{border-color:var(--primary-color);background:var(--bg-hover)}.field-palette-item:active{transform:scale(.98)}.field-palette-item.dragging{opacity:.5;cursor:grabbing}.field-palette-icon{width:20px;text-align:center;font-size:14px}.field-palette-label{font-size:13px;color:var(--text-primary)}.field-palette-help{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.field-palette-help p{margin:0;font-size:12px;color:var(--text-muted)}.form-builder-canvas{flex:1;padding:24px;overflow-y:auto;background:var(--bg-primary);min-height:200px;transition:background .15s ease,border-color .15s ease}.form-builder-canvas.drag-over{background:var(--bg-hover);outline:2px dashed var(--primary-color);outline-offset:-8px}.form-builder-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.form-builder-empty p{font-size:14px}.form-field-item{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;margin-bottom:12px;transition:all .15s ease}.form-field-item:hover{border-color:var(--text-muted)}.form-field-item.selected{border-color:var(--primary-color);box-shadow:0 0 0 3px #2196f333}.form-field-item.dragging{opacity:.8;transform:scale(1.02)}.form-field-item-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border-radius:6px 6px 0 0;border-bottom:1px solid var(--border-color)}.form-field-drag-handle{cursor:grab;color:var(--text-muted);font-size:12px;letter-spacing:1px;padding:4px}.form-field-drag-handle:active{cursor:grabbing}.form-field-type-badge{display:flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg-primary);border-radius:4px;font-size:11px}.form-field-type-badge .badge-icon{font-size:12px}.form-field-type-badge .badge-label{color:var(--text-muted)}.form-field-conditional-badge{margin-left:auto;font-size:14px}.form-field-delete{margin-left:auto;background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px 8px;line-height:1}.form-field-delete:hover{color:var(--danger-color)}.form-field-item-preview{padding:16px}.field-preview-heading h3{margin:0;font-size:18px;color:var(--text-primary)}.field-preview-divider hr{border:none;border-top:1px solid var(--border-color);margin:0}.field-preview-input{display:flex;flex-direction:column;gap:4px}.field-preview-input label{font-size:13px;font-weight:500;color:var(--text-primary)}.field-preview-input input,.field-preview-input select,.field-preview-input textarea{padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);font-size:14px;color:var(--text-primary)}.field-preview-input input:disabled,.field-preview-input select:disabled,.field-preview-input textarea:disabled{cursor:default;background:var(--bg-tertiary)}.field-preview-input small{font-size:12px;color:var(--text-muted)}.field-preview-checkbox{display:flex;flex-direction:column;gap:4px}.field-preview-checkbox label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary);cursor:pointer}.field-preview-checkbox small{font-size:12px;color:var(--text-muted);margin-left:24px}.form-builder-config{width:320px;min-width:320px;border-left:1px solid var(--border-color);background:var(--bg-secondary);overflow-y:auto}.form-builder-config-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.field-config{padding:20px}.field-config h3{margin:0 0 20px;font-size:16px;color:var(--text-primary)}.config-group{margin-bottom:16px}.config-group label{display:block;margin-bottom:4px;font-size:13px;font-weight:500;color:var(--text-primary)}.config-group input[type=text],.config-group input[type=number],.config-group select,.config-group textarea{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);font-size:14px;color:var(--text-primary)}.config-group input:focus,.config-group select:focus,.config-group textarea:focus{outline:none;border-color:var(--primary-color)}.config-group small{display:block;margin-top:4px;font-size:11px;color:var(--text-muted)}.config-group.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.config-group.checkbox-group input[type=checkbox]{width:auto}.config-section{margin-top:24px;padding-top:16px;border-top:1px solid var(--border-color)}.config-section h4{margin:0 0 12px;font-size:14px;color:var(--text-muted)}.options-list{display:flex;flex-direction:column;gap:8px}.option-item{display:flex;gap:4px}.option-item input{flex:1}.option-item button{padding:4px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:12px}.option-item button:hover{background:var(--bg-hover)}.option-item button:disabled{opacity:.5;cursor:not-allowed}.option-add{display:flex;gap:8px;margin-top:4px}.option-add input{flex:1}.option-add button{padding:8px 16px;background:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer}.config-info{padding:12px;background:var(--bg-tertiary);border-radius:4px;margin-top:16px}.config-info p{margin:0 0 4px;font-size:12px;color:var(--text-muted)}.config-info p:last-child{margin-bottom:0}.preview-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 16px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .15s ease}.preview-toggle:hover{background:var(--bg-hover);border-color:var(--primary-color)}.preview-toggle.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.form-builder-preview-container,.form-preview-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden}.form-preview-banner{background:#e91e63;color:#fff;padding:10px 20px;text-align:center;font-size:13px;font-weight:500}.form-preview-wrapper .public-form-page.preview-mode{flex:1;overflow-y:auto;background:#f5f5f5}[data-theme=dark] .form-preview-wrapper .public-form-page.preview-mode{background:#1a1a2e}.form-preview-wrapper .public-form-container{max-width:600px;margin:40px auto}.form-preview-empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.form-preview-empty p{font-size:14px;margin:0}.config-tabs{display:flex;border-bottom:1px solid var(--border-color);padding:0 16px;background:var(--bg-tertiary)}.config-tab{flex:1;padding:12px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.config-tab:hover{color:var(--text-primary)}.config-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.appearance-config{padding:20px}.appearance-config .config-group{margin-bottom:16px}.color-input-row{display:flex;gap:8px;align-items:center}.color-input-row input[type=color]{width:40px;height:32px;padding:2px;cursor:pointer;border:1px solid var(--border-color);border-radius:4px;background:none}.color-input-row input[type=text]{flex:1;font-family:monospace;font-size:12px}.range-input-row{display:flex;gap:12px;align-items:center}.range-input-row input[type=range]{flex:1}.range-input-row span{min-width:40px;text-align:right;font-size:13px;color:var(--text-muted)}.reset-theme-btn{padding:6px 12px;font-size:12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;transition:all .15s ease}.reset-theme-btn:hover{background:var(--bg-hover);border-color:var(--text-muted)}.appearance-hint{margin-top:20px;padding:12px;background:var(--bg-tertiary);border-radius:4px}.appearance-hint p{margin:0;font-size:12px;color:var(--text-muted)}.reference-hint{margin-bottom:16px}.reference-hint-text{font-size:12px;color:var(--text-muted)}.reference-hint-text code{background:var(--bg-tertiary);padding:2px 6px;border-radius:3px;font-family:monospace;font-size:11px}.theme-preset-buttons{display:flex;gap:8px;margin-bottom:4px}.theme-preset-btn{flex:1;padding:10px 16px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.theme-preset-btn:hover{border-color:var(--primary-color);background:var(--bg-hover)}.oauth-form{padding:16px;background:var(--bg-secondary);border-radius:8px;margin-top:12px}.oauth-form.loading{text-align:center;color:var(--text-secondary)}.oauth-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.connected{background:var(--success-bg, #dcfce7);color:var(--success, #16a34a)}.status-badge.expired{background:var(--warning-bg, #fef3c7);color:var(--warning, #d97706)}.status-badge.error{background:var(--danger-bg, #fee2e2);color:var(--danger, #dc2626)}.status-badge.pending,.status-badge.not_configured{background:var(--bg-tertiary, #f3f4f6);color:var(--text-secondary)}.status-provider{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.provider-icon{width:16px;height:16px}.status-expiry{font-size:12px;color:var(--text-secondary)}.status-error{width:100%;margin-top:8px;padding:8px 12px;background:var(--danger-bg, #fee2e2);color:var(--danger, #dc2626);border-radius:4px;font-size:13px}.oauth-actions{display:flex;gap:8px;margin-top:12px}.oauth-config{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.oauth-config h4{margin:0 0 16px;font-size:14px;color:var(--text-primary)}.provider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-top:8px}.provider-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);cursor:pointer;transition:all .15s ease}.provider-btn:hover{border-color:var(--primary);background:var(--bg-secondary)}.provider-btn.selected{border-color:var(--primary);background:var(--primary-bg, #eff6ff)}.provider-btn .provider-icon{width:24px;height:24px}.provider-btn .custom-icon{font-size:24px;line-height:24px;color:var(--text-secondary)}.provider-btn span:last-child{font-size:12px;color:var(--text-secondary)}.provider-btn.selected span:last-child{color:var(--primary);font-weight:500}.oauth-config .form-group{margin-bottom:16px}.oauth-config .form-group label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--text-primary)}.oauth-config .form-group.checkbox label{display:flex;align-items:center;gap:8px;cursor:pointer}.oauth-config .form-group.checkbox input[type=checkbox]{width:16px;height:16px}.oauth-config .form-group input[type=text],.oauth-config .form-group input[type=password],.oauth-config .form-group input[type=url]{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--bg-primary);color:var(--text-primary)}.oauth-config .form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-bg, rgba(59, 130, 246, .1))}.oauth-config .help-text{display:block;margin-top:4px;font-size:12px;color:var(--text-secondary)}.oauth-readonly{color:var(--text-secondary);font-size:13px;font-style:italic}[data-theme=dark] .status-badge.connected{background:#22c55e26}[data-theme=dark] .status-badge.expired{background:#d9770626}[data-theme=dark] .status-badge.error,[data-theme=dark] .status-error{background:#dc262626}[data-theme=dark] .provider-btn.selected{background:#3b82f626}.credential-management{max-width:1200px;margin:0 auto;padding:20px}.credential-management.loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:18px;color:var(--text-secondary)}.credential-header{display:flex;align-items:center;gap:20px;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid var(--border-color)}.credential-header h1{flex:1;margin:0;color:var(--text-primary)}.credentials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.credential-card{border:1px solid var(--border-color);border-radius:8px;padding:20px;background:var(--panel-bg);transition:box-shadow .2s}.credential-card:hover{box-shadow:0 2px 8px var(--node-shadow)}.credential-card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.credential-icon{font-size:32px}.credential-info{flex:1}.credential-name{font-size:18px;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.credential-type{font-size:12px;text-transform:uppercase;color:var(--text-secondary);background:var(--bg-tertiary);padding:2px 8px;border-radius:3px;width:fit-content}.credential-metadata{border-top:1px solid var(--border-color);padding-top:12px;margin-top:12px;font-size:13px;color:var(--text-primary)}.metadata-item{margin-bottom:6px}.metadata-item strong{color:var(--text-secondary);margin-right:4px}.credential-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.credential-actions button{flex:1;padding:8px 12px;border-radius:4px;border:none;cursor:pointer;font-size:14px}.credential-actions button.secondary{background:var(--button-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.credential-actions button.secondary:hover{background:var(--button-secondary-hover)}.credential-actions button.danger{background:#f443361a;color:#d32f2f}.credential-actions button.danger:hover{background:#f4433633}.modal-content{background:var(--panel-bg);padding:30px;border-radius:8px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:14px;font-family:inherit;box-sizing:border-box;background:var(--input-bg);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--button-primary);box-shadow:0 0 0 3px #2196f31a}.oauth-placeholder{padding:20px;background:var(--bg-tertiary);border-radius:8px;text-align:center;color:var(--text-secondary)}.oauth-placeholder p{margin:0 0 8px;font-weight:500}.schedule-builder{display:flex;flex-direction:column;gap:12px}.schedule-builder.disabled{opacity:.6;pointer-events:none}.schedule-mode-toggle{display:flex;gap:0}.schedule-mode-toggle button{flex:1;padding:6px 12px;font-size:12px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all .15s ease}.schedule-mode-toggle button:first-child{border-radius:4px 0 0 4px;border-right:none}.schedule-mode-toggle button:last-child{border-radius:0 4px 4px 0}.schedule-mode-toggle button:hover:not(.active):not(:disabled){background:var(--bg-tertiary, var(--bg-secondary))}.schedule-mode-toggle button.active{background:var(--primary-color, #3b82f6);color:#fff;border-color:var(--primary-color, #3b82f6)}.schedule-mode-toggle button:disabled{cursor:not-allowed}.simple-mode{display:flex;flex-direction:column;gap:10px}.schedule-row{display:flex;align-items:center;gap:8px}.schedule-row .row-label{font-size:12px;color:var(--text-secondary);min-width:50px}.schedule-row select{padding:6px 8px;font-size:12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer}.schedule-row select:focus{outline:none;border-color:var(--primary-color, #3b82f6)}.weekday-row{flex-wrap:wrap}.weekday-picker{display:flex;gap:4px;flex-wrap:wrap}.weekday-btn{width:38px;height:28px;font-size:11px;font-weight:500;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:4px;cursor:pointer;transition:all .15s ease}.weekday-btn:hover:not(.selected):not(:disabled){background:var(--bg-tertiary, var(--bg-secondary));border-color:var(--text-secondary)}.weekday-btn.selected{background:var(--primary-color, #3b82f6);color:#fff;border-color:var(--primary-color, #3b82f6)}.weekday-btn:disabled{cursor:not-allowed}.time-picker{display:flex;align-items:center;gap:4px}.time-picker select{padding:6px 8px;font-size:12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;min-width:50px}.time-picker select:focus{outline:none;border-color:var(--primary-color, #3b82f6)}.time-separator{font-size:14px;font-weight:600;color:var(--text-secondary)}.advanced-mode{display:flex;flex-direction:column;gap:6px}.advanced-mode input{padding:8px 10px;font-size:12px;font-family:monospace;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary)}.advanced-mode input:focus{outline:none;border-color:var(--primary-color, #3b82f6)}.advanced-mode input.error{border-color:var(--error-color, #ef4444)}.advanced-mode .error-text{font-size:11px;color:var(--error-color, #ef4444)}.advanced-mode .help-text{font-size:11px;color:var(--text-tertiary, var(--text-secondary))}.schedule-preview{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-tertiary, var(--bg-secondary));border-radius:4px;border:1px solid var(--border-color)}.schedule-preview .preview-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.schedule-preview .preview-text{font-size:12px;color:var(--text-primary)}.action-panel-wrapper{position:relative;display:flex;flex-shrink:0;height:100%}.action-panel-resize-handle{position:absolute;left:0;top:0;bottom:0;width:12px;cursor:col-resize;z-index:10;background:transparent}.action-panel-resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background:var(--border-color);transition:background .15s,width .15s;pointer-events:none}.action-panel-resize-handle:hover:after,.action-panel-resize-handle.resizing:after{background:var(--button-primary);width:4px}.action-panel{background:var(--panel-bg);min-width:220px;max-width:600px;height:100%;display:flex;flex-direction:column;flex-shrink:0}.action-panel-empty{padding:32px 16px;text-align:center;color:var(--text-tertiary)}.action-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-color)}.action-panel-header-buttons{display:flex;gap:8px;align-items:center}.btn-edit-ai{display:flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#2196f3,#9c27b0);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #2196f34d}.btn-edit-ai:hover{transform:translateY(-1px);box-shadow:0 3px 10px #2196f366}.btn-edit-ai:active{transform:translateY(0)}.btn-edit-ai.active{background:linear-gradient(135deg,#1976d2,#7b1fa2);box-shadow:0 2px 8px #2196f380}.action-panel-header h3{margin:0;font-size:16px;color:var(--text-primary)}.action-panel-body{flex:1;overflow-y:auto;padding:16px}.form-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.form-section:last-child{border-bottom:none}.form-section h4{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--text-primary)}.form-group input[type=checkbox]{margin-right:8px}.form-group label:has(input[type=checkbox]){display:flex;align-items:center;justify-content:space-between;gap:8px}.form-group label:has(input[type=checkbox]) input[type=checkbox]{order:1;margin-right:0;margin-left:auto;width:auto!important;flex-shrink:0}.form-group input,.form-group select,.form-group textarea{width:100%;font-size:13px}.form-help{font-size:12px;color:var(--text-secondary);margin-top:8px;padding:8px;background:var(--bg-secondary);border-radius:4px}.help-text{display:block;margin-top:4px;font-size:11px;color:var(--text-secondary);font-style:italic}.script-input-row{display:flex;gap:6px;margin-bottom:8px;align-items:flex-start}.script-input-row .script-input-name{width:100px!important;flex-shrink:0}.script-input-row .template-input-wrapper{flex:1;min-width:0;width:auto}.script-input-row .btn-icon{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:4px;cursor:pointer}.script-input-row .btn-icon.danger:hover{background:var(--danger-color, #ef4444);color:#fff;border-color:var(--danger-color, #ef4444)}.btn-small{padding:4px 10px;font-size:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;color:var(--text-primary)}.btn-small:hover{background:var(--bg-tertiary, var(--bg-secondary))}.btn-secondary.full-width{width:100%;margin-top:8px}.rules-builder{display:flex;flex-direction:column;gap:8px}.rule-row{display:flex;gap:6px;align-items:flex-start;padding:8px;background:var(--bg-secondary);border-radius:4px;flex-wrap:wrap}.rule-left,.rule-right{flex:1;min-width:80px}.rule-operator{width:160px;flex-shrink:0;font-size:12px}.rule-remove{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;font-weight:700;border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:4px;cursor:pointer;color:var(--text-primary)}.rule-remove:hover:not(:disabled){background:var(--danger-color, #ef4444);color:#fff;border-color:var(--danger-color, #ef4444)}.rule-remove:disabled{opacity:.4;cursor:not-allowed}.rules-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;gap:8px}.logic-toggle{display:flex;gap:4px}.logic-toggle .btn-small{padding:4px 8px;font-size:11px;font-weight:600}.logic-toggle .btn-small.active{background:var(--primary-color, #3b82f6);color:#fff;border-color:var(--primary-color, #3b82f6)}.action-panel-wrapper.read-only .action-panel-body input,.action-panel-wrapper.read-only .action-panel-body select,.action-panel-wrapper.read-only .action-panel-body textarea{pointer-events:none;opacity:.7;cursor:not-allowed;background:var(--bg-tertiary, var(--bg-secondary))}.action-panel-wrapper.read-only .action-panel-body input[type=checkbox]{pointer-events:none;opacity:.5;cursor:not-allowed}.action-panel-wrapper.read-only .action-panel-body label:has(input[type=checkbox]){pointer-events:none;cursor:not-allowed}.action-panel-wrapper.read-only .action-panel-body button,.action-panel-wrapper.read-only .action-panel-body .btn-small,.action-panel-wrapper.read-only .action-panel-body .btn-secondary,.action-panel-wrapper.read-only .action-panel-body .btn-icon,.action-panel-wrapper.read-only .rules-builder .rule-remove,.action-panel-wrapper.read-only .rules-footer{display:none}.read-only-badge{background:var(--bg-tertiary, #333);color:var(--text-secondary);padding:4px 10px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase}.credential-select-row{display:flex;gap:8px;align-items:center}.credential-select-row select{flex:1}.credential-action-btn{padding:8px 12px;font-size:13px;border:1px solid var(--border-color);border-radius:4px;background:var(--input-bg);color:var(--text-primary);cursor:pointer;white-space:nowrap;transition:all .15s}.credential-action-btn:hover{background:var(--hover-bg);border-color:var(--button-primary);color:var(--button-primary)}.credential-action-btn:active{transform:translateY(1px)}.tool-selector{max-height:240px;overflow-y:auto;border:1px solid var(--border-color);border-radius:4px;padding:8px;background:var(--input-bg)}.tool-filter{position:relative;margin-bottom:8px}.tool-filter-input{width:100%;padding:6px 28px 6px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:12px}.tool-filter-input:focus{outline:none;border-color:var(--button-primary)}.tool-filter-input::placeholder{color:var(--text-tertiary)}.tool-filter-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:none;background:transparent;color:var(--text-secondary);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;border-radius:50%}.tool-filter-clear:hover{background:var(--hover-bg);color:var(--text-primary)}.tool-selector-section{margin-bottom:8px}.tool-selector-section:last-child{margin-bottom:0}.tool-selector-section-header{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);padding:4px 8px;margin-bottom:4px;border-bottom:1px solid var(--border-color)}.tool-checkbox{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;cursor:pointer;transition:background .15s}.tool-checkbox:hover{background:var(--hover-bg)}.tool-checkbox input[type=checkbox]{width:auto;margin:0;cursor:pointer}.tool-checkbox-name{font-family:var(--font-mono, monospace);font-size:12px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-count{background:var(--button-primary);color:#fff;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:500;flex-shrink:0}.tool-workflow-name{color:var(--text-secondary);font-size:11px;flex-shrink:0;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-tools{text-align:center;color:var(--text-secondary);font-size:12px;padding:16px 8px}.template-picker-modal{max-width:700px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.template-picker-header{display:flex;justify-content:space-between;align-items:baseline;padding:12px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.template-picker-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.template-picker-close{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;border-radius:4px}.template-picker-close:hover{color:var(--text-primary)}.template-picker-filters{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.template-picker-filters input{flex:1;min-width:0;padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px}.template-picker-filters select{flex-shrink:0;width:120px;padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px}.template-picker-body{flex:1;overflow-y:auto;padding:16px}.loading-message,.empty-message{text-align:center;padding:40px 20px;color:var(--text-secondary)}.template-picker-grid{display:flex;flex-direction:column;gap:8px}.template-picker-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.template-picker-item:hover{background:var(--bg-tertiary);border-color:var(--primary-color)}.template-picker-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border-radius:6px;flex-shrink:0}.template-picker-icon .template-icon,.template-picker-icon .default-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.template-picker-icon .template-icon svg{width:20px;height:20px}.template-picker-icon img{width:20px;height:20px;object-fit:contain}.template-picker-info{flex:1;min-width:0}.template-picker-name{font-weight:600;font-size:14px;color:var(--text-primary);margin-bottom:4px}.template-picker-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px}.template-picker-meta .method-badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600;color:#fff;text-transform:uppercase}.template-picker-meta .type-badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600;text-transform:capitalize}.template-picker-meta .type-badge.manipulate{background:#8b5cf6;color:#fff}.template-picker-url{font-family:monospace;font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:350px}.template-picker-tags{display:flex;flex-wrap:wrap;gap:4px}.tag-chip-tiny{display:inline-block;padding:1px 5px;background:var(--bg-primary);border-radius:3px;font-size:10px;color:var(--text-secondary)}.tag-more{font-size:10px;color:var(--text-muted)}.workflow-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--panel-bg);border-bottom:1px solid var(--border-color);min-height:60px;gap:8px 12px}.workflow-toolbar-left,.workflow-toolbar-right{display:flex;align-items:center;gap:8px;min-width:0}.workflow-toolbar-left{flex:1 1 auto;min-width:200px}.workflow-toolbar-right{flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}.workflow-toolbar-right>button,.workflow-toolbar-right>.more-menu-container>button{white-space:nowrap}.workflow-toolbar .resource-home-btn{padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;font-size:16px;transition:background .2s}.workflow-toolbar .resource-home-btn:hover{background:var(--bg-tertiary)}.workflow-toolbar-title{font-size:18px;font-weight:600;color:var(--text-primary);min-width:0;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-toolbar-title span.editable,.workflow-toolbar-title span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-toolbar-title span.editable{cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.workflow-toolbar-title span.editable:hover{background:var(--hover-bg, rgba(0, 0, 0, .1))}.workflow-name-input{font-size:18px;font-weight:600;color:var(--text-primary);background:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;padding:4px 8px;width:200px;outline:none}.workflow-name-input:focus{border-color:var(--accent-color)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:var(--panel-bg);padding:24px;border-radius:8px;width:90%;max-width:500px;box-shadow:0 10px 40px var(--menu-shadow);color:var(--text-primary)}.modal-content h2{margin:0 0 20px;font-size:20px;color:var(--text-primary)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.toggle-active,.toggle-inactive{font-size:12px;padding:4px 12px;border-radius:12px;font-weight:500;cursor:pointer;transition:all .2s}.toggle-active{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.toggle-active:hover{background:#c8e6c9}.toggle-inactive{background:#ffebee;color:#c62828;border:1px solid #ef9a9a}.toggle-inactive:hover{background:#ffcdd2}.toggle-inactive:disabled{opacity:.6;cursor:not-allowed}.toggle-inactive:disabled:hover{background:#ffebee}.archived-badge{font-size:12px;padding:4px 10px;border-radius:12px;background:#fff3e0;color:#e65100;border:1px solid #ffcc80;font-weight:500}.more-menu-container{position:relative}.more-menu-button{padding:8px 12px!important;font-size:18px;line-height:1;min-width:auto}.more-menu-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px var(--menu-shadow);min-width:200px;z-index:100}.more-menu-dropdown button{display:block;width:100%;padding:10px 16px;text-align:left;background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:14px}.more-menu-dropdown button:hover{background:var(--hover-bg, rgba(0, 0, 0, .05))}.more-menu-dropdown button:first-child{border-radius:6px 6px 0 0}.more-menu-dropdown button:last-child{border-radius:0 0 6px 6px}.more-menu-dropdown button:only-child{border-radius:6px}.btn-build-ai{display:flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#2196f3,#9c27b0);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #2196f34d}.btn-build-ai:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2196f366}.btn-build-ai:active{transform:translateY(0)}.snapshot-dropdown{min-width:280px;max-height:400px;overflow-y:auto}.snapshot-dropdown .snapshot-item{display:flex;flex-direction:column;align-items:flex-start;padding:12px 16px}.snapshot-dropdown .snapshot-name{font-weight:500;color:var(--text-primary);margin-bottom:4px}.snapshot-dropdown .snapshot-date{font-size:12px;color:var(--text-secondary)}.layout-toggle{position:relative;font-size:16px;padding:6px 10px!important;min-width:36px}.layout-toggle:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);padding:8px 12px;background:var(--panel-bg);color:var(--text-primary);font-size:12px;font-weight:500;white-space:nowrap;border-radius:6px;border:1px solid var(--border-color);box-shadow:0 4px 12px #00000026;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;pointer-events:none;z-index:1000}.layout-toggle:before{content:"";position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--border-color);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none;z-index:1001}.layout-toggle:hover:after,.layout-toggle:hover:before{opacity:1;visibility:visible}.layout-toggle:hover:after{transform:translate(-50%) translateY(0)}@media(max-width:1200px){.workflow-toolbar-title{max-width:200px;font-size:16px}}@media(max-width:1000px){.workflow-toolbar{padding:8px 12px}.workflow-toolbar-left,.workflow-toolbar-right{gap:6px}.workflow-toolbar-title{max-width:150px;font-size:15px}.btn-build-ai{padding:6px 12px;font-size:13px}}@media(max-width:850px){.workflow-toolbar-title{max-width:120px;font-size:14px}.btn-build-ai .btn-build-ai-text{display:none}}.ai-error-assist{background:var(--bg-secondary, #1e1e1e);border:1px solid var(--border-color);border-radius:8px;margin-top:12px;overflow:hidden}.ai-error-assist-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:linear-gradient(135deg,#2196f31a,#9c27b01a);border-bottom:1px solid var(--border-color)}.ai-error-assist-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;color:var(--text-primary)}.ai-error-assist-icon{font-size:16px}.ai-error-assist-close{width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);font-size:18px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.ai-error-assist-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ai-error-assist-content{padding:14px}.ai-error-assist-prompt{text-align:center;padding:8px 0}.ai-error-assist-prompt p{margin:0 0 12px;color:var(--text-muted);font-size:13px}.ai-analyze-btn{padding:8px 20px;background:linear-gradient(135deg,#2196f3,#9c27b0);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .2s,transform .15s}.ai-analyze-btn:hover{opacity:.9;transform:translateY(-1px)}.ai-error-assist-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;color:var(--text-muted);font-size:13px}.ai-error-assist-loading .spinner{width:18px;height:18px;border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}.ai-error-assist-api-error{text-align:center;padding:12px;color:#f44336;font-size:13px}.ai-retry-btn{margin-top:8px;padding:6px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer}.ai-retry-btn:hover{background:var(--bg-secondary)}.ai-error-assist-explanation{font-size:13px}.explanation-section{margin-bottom:14px}.explanation-section h4{margin:0 0 6px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.explanation-summary{margin:0;color:var(--text-primary);line-height:1.5}.explanation-root-cause{margin:0;color:var(--text-secondary, #aaa);line-height:1.5;font-style:italic}.technical-details{background:var(--bg-tertiary, #1a1a1a);border-radius:4px;padding:0}.technical-details summary{padding:8px 12px;cursor:pointer;font-weight:500;color:var(--text-muted);font-size:12px}.technical-details summary:hover{color:var(--text-primary)}.technical-details pre{margin:0;padding:10px 12px;font-size:11px;overflow-x:auto;border-top:1px solid var(--border-color);white-space:pre-wrap;word-break:break-word}.suggestions-list{display:flex;flex-direction:column;gap:10px}.suggestion-card{background:var(--bg-tertiary, #1a1a1a);border:1px solid var(--border-color);border-radius:6px;padding:12px;transition:border-color .2s}.suggestion-card:hover{border-color:var(--primary-color)}.suggestion-card.applied{opacity:.6;border-color:#4caf50}.suggestion-header{display:flex;align-items:flex-start;gap:8px}.suggestion-icon{font-size:14px;flex-shrink:0}.suggestion-description{flex:1;color:var(--text-primary);line-height:1.4}.suggestion-priority{font-size:11px;font-weight:600;text-transform:capitalize;flex-shrink:0;display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;background:var(--input-bg);cursor:help}.suggestion-priority .priority-label{font-weight:500;color:var(--text-secondary);font-size:10px;text-transform:uppercase}.suggestion-details{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-color)}.suggestion-detail-label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:4px}.suggestion-details code{display:block;background:var(--bg-secondary);padding:8px;border-radius:4px;font-size:11px;overflow-x:auto;white-space:pre-wrap}.suggestion-apply-btn{margin-top:10px;padding:6px 14px;background:var(--primary-color, #2196F3);color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.suggestion-apply-btn:hover:not(:disabled){background:var(--primary-hover, #1976D2)}.suggestion-apply-btn:disabled{background:#4caf50;cursor:default}.suggestion-apply-btn.applied{background:#4caf50}.ai-reanalyze-btn{margin-top:12px;padding:6px 12px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);font-size:12px;cursor:pointer}.ai-reanalyze-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.json-viewer.collapsible{white-space:nowrap;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:13px;line-height:1.5}.json-viewer .json-error{color:#f44336;font-style:italic}.json-viewer .json-value{color:var(--text-primary)}.json-toolbar-btn{padding:2px 8px;font-size:12px;background:var(--button-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .15s}.json-viewer .json-string-truncated,.json-viewer .json-string-expanded{display:inline}.json-viewer .json-string-toggle{color:var(--button-primary);cursor:pointer;margin-left:6px;font-size:11px;font-style:italic;opacity:.9;transition:opacity .15s}.json-viewer .json-string-toggle:hover{opacity:1;text-decoration:underline}.json-viewer .json-string-expanded{display:block;word-break:break-all;white-space:pre-wrap;max-height:500px;overflow-y:auto;background:var(--bg-secondary);border-radius:4px;margin:4px 0;padding:8px}.json-viewer .json-string-controls{display:inline-flex;align-items:center;gap:8px;margin-left:8px}.json-viewer .json-string-copy{padding:2px 8px;font-size:11px;background:var(--button-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .15s}.json-viewer .json-string-copy:hover{background:var(--button-secondary-hover);color:var(--text-primary);border-color:var(--border-hover)}.execution-history-panel{position:fixed;bottom:0;left:200px;background:var(--panel-bg);border-top:2px solid var(--border-color);box-shadow:0 -4px 12px #0000001a;z-index:100;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.resize-handle-top{position:absolute;top:-3px;left:0;right:0;height:6px;cursor:ns-resize;background:transparent;z-index:101}.resize-handle-top:hover{background:var(--button-primary);opacity:.5}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.panel-header{display:flex;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.panel-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.highlight-label{font-size:12px;color:var(--text-secondary);padding:4px 8px;background:#2196f31a;border-radius:4px}.close-btn{margin-left:auto;background:none;border:none;font-size:32px;line-height:1;cursor:pointer;color:var(--text-secondary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.close-btn:hover{background:var(--button-secondary-hover);color:var(--text-primary)}.panel-body{flex:1;display:flex;overflow:hidden}.panel-loading,.panel-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:14px}.executions-list{width:300px;border-right:1px solid var(--border-color);overflow-y:auto;padding:16px}.executions-list h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.execution-item{padding:12px;margin-bottom:8px;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s}.execution-item:hover{background:var(--menu-hover);border-color:var(--border-hover)}.execution-item.selected{background:#2196f31a;border-color:var(--button-primary)}.execution-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.execution-status{font-size:11px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:3px}.execution-trigger{font-size:11px;color:var(--text-secondary);text-transform:capitalize}.execution-item-date{font-size:12px;color:var(--text-secondary)}.execution-logs{flex:1;overflow-y:auto;padding:16px}.execution-logs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.execution-logs-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.view-execution-btn{padding:4px 10px;font-size:12px;font-weight:500;background:var(--button-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s}.view-execution-btn:hover{background:var(--button-secondary-hover);border-color:var(--border-hover)}.logs-empty{text-align:center;padding:40px;color:var(--text-secondary);font-size:14px}.logs-loading{display:flex;align-items:center;justify-content:center;min-height:100px;padding:40px}.logs-loading .spinner{width:24px;height:24px;border:3px solid var(--border-color);border-top-color:var(--button-primary);border-radius:50%;animation:spin 1s linear infinite}.logs-table{overflow-x:auto}.logs-table table{width:100%;border-collapse:collapse;font-size:13px}.logs-table thead{background:var(--bg-secondary);position:sticky;top:0}.logs-table th{padding:10px 12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--border-color);font-size:11px;text-transform:uppercase}.logs-table td{padding:10px 12px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.log-row{transition:background .2s;cursor:pointer}.log-row:hover{background:var(--menu-hover)}.log-row.selected{background:#2196f340;border-left:4px solid var(--button-primary)}.log-row.highlighted{background:#ffc10714}.log-row.highlighted.selected{background:#2196f340;border-left:4px solid var(--button-primary)}.log-node{font-family:monospace;font-weight:500;position:relative}.highlight-marker{color:#ffc107;margin-left:6px;font-size:14px}.log-status{display:inline-block;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.log-date{font-size:12px;color:var(--text-secondary);white-space:nowrap}.log-error{font-size:12px;color:var(--error);max-width:300px;overflow:hidden;text-overflow:ellipsis}.status-pending{background:#9e9e9e33;color:#666}.status-running{background:#2196f333;color:#1976d2}.status-completed{background:#4caf5033;color:#2e7d32}.status-failed{background:#f4433633;color:#c62828}.status-skipped{background:#9e9e9e33;color:#757575}.log-detail-panel{border-left:2px solid var(--border-color);background:var(--panel-bg);overflow-y:auto;display:flex;flex-direction:column;animation:slideInRight .2s ease-out;position:relative;flex-shrink:0}.resize-handle-left{position:absolute;top:0;left:-3px;bottom:0;width:6px;cursor:ew-resize;background:transparent;z-index:101}.resize-handle-left:hover{background:var(--button-primary);opacity:.5}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.log-detail-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);position:sticky;top:0;z-index:10}.log-detail-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary);font-family:monospace}.close-detail-btn{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;color:var(--text-secondary);padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.close-detail-btn:hover{background:var(--button-secondary-hover);color:var(--text-primary)}.log-detail-body{padding:16px}.detail-section{margin-bottom:24px}.detail-section h5{margin:0 0 8px;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.detail-section.accordion h5{cursor:pointer;display:flex;align-items:center;gap:8px;padding:8px 0;margin:0;-webkit-user-select:none;user-select:none;transition:color .2s}.detail-section.accordion h5:hover{color:var(--text-primary)}.accordion-chevron{font-size:10px;transition:transform .2s ease;display:inline-block}.detail-section.accordion.expanded .accordion-chevron{transform:rotate(90deg)}.detail-section.accordion:not(.expanded){margin-bottom:0}.detail-section.error-section{background:#f443360d;padding:12px;border-radius:6px;border-left:3px solid var(--error)}.error-detail{font-size:13px;color:var(--error);font-family:monospace;white-space:pre-wrap;word-break:break-word}.json-viewer{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:12px;font-size:12px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;color:var(--text-primary);overflow-x:auto;max-height:400px;line-height:1.6}.data-empty{color:var(--text-secondary);font-size:13px;font-style:italic}.data-error{color:var(--error);font-size:13px;font-style:italic}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.info-value{font-size:13px;color:var(--text-primary)}.ai-agent-messages{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.ai-agent-summary{display:flex;gap:16px;padding:10px 12px;background:var(--panel-bg);border-bottom:1px solid var(--border-color);font-size:12px;color:var(--text-secondary)}.ai-agent-summary span{font-family:monospace}.ai-agent-conversation{max-height:400px;overflow-y:auto}.ai-message{border-bottom:1px solid var(--border-color)}.ai-message:last-child{border-bottom:none}.ai-message-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.ai-message-header:hover{background:var(--menu-hover)}.ai-collapse-chevron{font-size:10px;color:var(--text-secondary);width:12px;flex-shrink:0}.ai-message-role{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);flex-shrink:0}.ai-message-preview{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.ai-message-system .ai-message-role{color:#9c27b0}.ai-message-user .ai-message-role{color:#2196f3}.ai-message-assistant .ai-message-role{color:#4caf50}.ai-message-tool .ai-message-role{color:#ff9800}.ai-message.collapsed{background:var(--bg-secondary)}.ai-message-content{font-size:13px;line-height:1.5;padding:0 12px 10px 32px}.ai-message-text{white-space:pre-wrap;word-break:break-word}.ai-message-tool-calls{margin-top:8px}.ai-tool-call{background:#ff98001a;border:1px solid rgba(255,152,0,.3);border-radius:4px;padding:8px;margin-top:6px}.ai-tool-call .tool-name{font-weight:600;color:#ff9800;font-size:12px}.ai-tool-call .tool-args{font-size:11px;font-family:monospace;margin:4px 0 0;background:var(--bg-secondary);padding:6px;border-radius:3px;overflow-x:auto;max-height:100px}.ai-agent-tool-results{border-top:1px solid var(--border-color);padding:12px}.ai-tool-results-header{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);margin-bottom:10px}.ai-tool-result{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:4px;padding:10px;margin-bottom:8px}.ai-tool-result:last-child{margin-bottom:0}.tool-result-name{font-weight:600;font-size:12px;color:var(--text-primary);margin-bottom:6px}.tool-result-args,.tool-result-output{font-size:11px;font-family:monospace;margin:0 0 6px;background:var(--bg-secondary);padding:6px;border-radius:3px;overflow-x:auto;max-height:150px}.tool-result-output{margin-bottom:0;border-left:3px solid #4CAF50}.ai-final-response{background:var(--bg-secondary);border:1px solid var(--border-color);border-left:3px solid #4CAF50;border-radius:6px;padding:12px;font-size:13px;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;max-height:400px;overflow-y:auto}.live-indicator{margin-left:auto;font-size:10px;font-weight:600;color:#f44336;animation:pulse 1.5s infinite}.json-viewer.collapsible{white-space:nowrap}.json-viewer .json-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-secondary);font-size:10px;margin-right:4px;display:inline-block;width:12px;text-align:center;transition:color .15s}.json-viewer .json-toggle:hover{color:var(--button-primary)}.json-viewer .json-bracket{color:var(--text-secondary)}.json-viewer .json-preview{color:var(--text-secondary);cursor:pointer;font-style:italic;margin-left:4px}.json-viewer .json-preview:hover{color:var(--button-primary)}.json-viewer .json-children{display:block;padding-left:18px;border-left:1px solid var(--border-color);margin-left:6px}.json-viewer .json-entry{display:block;white-space:nowrap}.json-viewer .json-key{color:#9c27b0}.json-viewer .json-colon,.json-viewer .json-comma{color:var(--text-secondary)}.json-viewer .json-string{color:#4caf50;word-break:break-all;white-space:pre-wrap}.json-viewer .json-number{color:#2196f3}.json-viewer .json-boolean{color:#ff9800;font-weight:600}.json-viewer .json-null,.json-viewer .json-undefined{color:#9e9e9e;font-style:italic}.json-viewer .json-empty{color:var(--text-secondary)}.json-viewer .json-object{display:inline}.json-toolbar{display:flex;gap:4px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.json-toolbar-btn{padding:2px 8px;font-size:14px;background:var(--button-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .15s}.json-toolbar-btn:hover{background:var(--button-secondary-hover);color:var(--text-primary);border-color:var(--border-hover)}.json-viewer .json-deep-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--button-primary);font-size:10px;margin-right:4px;opacity:.7;transition:opacity .15s}.json-viewer .json-deep-toggle:hover{opacity:1}.logs-branches{overflow-y:auto}.branches-toolbar{display:flex;align-items:center;gap:12px;padding:8px 0;margin-bottom:8px;border-bottom:1px solid var(--border-color)}.toggle-all-branches-btn{padding:4px 10px;font-size:12px;font-weight:500;background:var(--button-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s}.toggle-all-branches-btn:hover{background:var(--button-secondary-hover);border-color:var(--border-hover)}.branch-count{font-size:12px;color:var(--text-secondary)}.branch-accordion{border:1px solid var(--border-color);border-radius:6px;margin-bottom:8px;overflow:hidden}.branch-accordion.expanded{border-color:var(--border-hover)}.branch-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.branch-chevron{font-size:10px;color:var(--text-secondary);flex-shrink:0}.branch-label{font-size:13px;font-weight:600;color:var(--text-primary)}.branch-log-count{font-size:11px;color:var(--text-secondary)}.branch-status{margin-left:auto;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.branch-status.status-running{background:#2196f333;color:#1976d2}.branch-status.status-completed{background:#4caf5033;color:#2e7d32}.branch-status.status-failed{background:#f4433633;color:#c62828}.branch-logs{border-top:1px solid var(--border-color)}.branch-logs table{width:100%;border-collapse:collapse;font-size:13px}.branch-logs thead{background:var(--panel-bg)}.branch-logs th{padding:8px 12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color);font-size:11px;text-transform:uppercase}.branch-logs td{padding:8px 12px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.branch-logs tr:last-child td{border-bottom:none}.ai-error-assist-trigger{margin-top:12px;padding:8px 16px;background:linear-gradient(135deg,#2196f31a,#9c27b01a);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.ai-error-assist-trigger:hover{background:linear-gradient(135deg,#2196f333,#9c27b033);border-color:var(--primary-color)}.execution-logs-actions{display:flex;align-items:center;gap:8px}.btn-debug-ai{display:flex;align-items:center;gap:6px;padding:6px 14px;background:linear-gradient(135deg,#2196f3,#9c27b0);color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #2196f34d}.btn-debug-ai:hover{transform:translateY(-1px);box-shadow:0 3px 10px #2196f366}.btn-debug-ai:active{transform:translateY(0)}.debug-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.debug-modal{background:var(--panel-bg);border-radius:12px;box-shadow:0 10px 40px #0000004d;width:90%;max-width:420px;overflow:hidden}.debug-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,#2196f31a,#9c27b01a)}.debug-modal-header h4{margin:0;font-size:16px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.debug-modal-header .close-btn{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;margin:0}.debug-modal-header .close-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.debug-modal-body{padding:20px}.debug-modal-body p{margin:0 0 16px;font-size:14px;color:var(--text-secondary)}.debug-options{display:flex;flex-direction:column;gap:12px}.debug-option{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.debug-option:hover{border-color:var(--button-primary);background:#2196f30d}.debug-option-title{font-size:14px;font-weight:600;color:var(--text-primary)}.debug-option-desc{font-size:12px;color:var(--text-secondary);line-height:1.4}.debug-option-desc strong{color:var(--text-primary);font-family:monospace}.ai-analysis-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ai-analysis-modal{background:var(--panel-bg);border-radius:16px;box-shadow:0 20px 60px #0006;width:90%;max-width:700px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.ai-analysis-modal .ai-error-assist{border:none;border-radius:0;background:transparent;max-height:none;height:100%;display:flex;flex-direction:column}.ai-analysis-modal .ai-error-assist-header{padding:20px 24px;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,#2196f31a,#9c27b01a)}.ai-analysis-modal .ai-error-assist-title{font-size:18px}.ai-analysis-modal .ai-error-assist-content{padding:24px;overflow-y:auto;flex:1}.ai-analysis-modal .ai-error-assist-prompt{text-align:center;padding:40px 20px}.ai-analysis-modal .ai-error-assist-prompt p{font-size:16px;margin-bottom:20px}.ai-analysis-modal .ai-analyze-btn{padding:12px 28px;font-size:15px}.ai-analysis-modal .ai-error-assist-loading{padding:60px 20px;font-size:15px}.ai-analysis-modal .explanation-section{margin-bottom:24px}.ai-analysis-modal .explanation-section h4{font-size:15px;margin-bottom:12px}.ai-analysis-modal .explanation-summary,.ai-analysis-modal .explanation-root-cause{font-size:14px;line-height:1.6}.ai-analysis-modal .suggestion-card{padding:16px}.ai-analysis-modal .suggestion-description{font-size:14px}.ai-analysis-modal .ai-reanalyze-btn{margin-top:20px}.context-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.context-modal{background:var(--card-bg);border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.context-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.context-modal-header h3{margin:0;font-size:18px;color:var(--text-primary)}.context-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);padding:0;line-height:1}.context-modal-close:hover{color:var(--text-primary)}.context-modal-body{flex:1;overflow-y:auto;padding:20px}.context-modal-loading,.context-modal-error,.context-modal-empty{text-align:center;padding:40px 20px;color:var(--text-secondary)}.context-modal-error{color:#f44336}.context-modal-description{margin:0 0 16px;color:var(--text-secondary);font-size:14px}.context-output-list{display:flex;flex-direction:column;gap:12px}.context-output-item{border:2px solid var(--border-color);border-radius:8px;padding:12px;cursor:pointer;transition:all .2s}.context-output-item:hover{border-color:var(--primary);background:var(--hover-bg)}.context-output-item.selected{border-color:var(--primary);background:rgba(var(--primary-rgb),.1)}.context-output-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.context-output-node{font-weight:600;color:var(--text-primary)}.context-output-status{font-size:12px;padding:2px 8px;border-radius:4px;text-transform:capitalize}.context-output-status.status-completed{background:#4caf5033;color:#4caf50}.context-output-status.status-failed{background:#f4433633;color:#f44336}.context-output-time{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.context-output-preview{background:var(--input-bg);border-radius:4px;padding:8px;font-size:11px;font-family:SF Mono,Monaco,monospace;color:var(--text-secondary);margin:0;max-height:100px;overflow:hidden;white-space:pre-wrap;word-break:break-all}.context-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color)}.context-modal-btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.context-modal-btn.cancel{background:var(--input-bg);border:1px solid var(--border-color);color:var(--text-primary)}.context-modal-btn.cancel:hover{background:var(--hover-bg)}.context-modal-btn.run{background:var(--button-primary);border:none;color:#fff}.context-modal-btn.run:hover:not(:disabled){background:var(--button-primary-hover)}.context-modal-btn.run:disabled{opacity:.5;cursor:not-allowed}.collaborator-cursors{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;overflow:hidden}.collaborator-cursor{position:absolute;display:flex;align-items:flex-start;transform:translate(-2px,-2px);transition:left .1s ease-out,top .1s ease-out}.cursor-pointer{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.cursor-label{margin-left:4px;margin-top:14px;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:500;color:#fff;white-space:nowrap;box-shadow:0 1px 3px #0003;opacity:.9}.multi-select-toolbar{position:absolute;z-index:1000;display:flex;align-items:center;gap:4px;padding:6px 8px;background:var(--panel-bg, #1e1e1e);border:1px solid var(--border-color, #333);border-radius:8px;box-shadow:0 4px 12px #0000004d;pointer-events:auto}.toolbar-btn{display:flex;align-items:center;justify-content:center;height:36px;padding:0 12px;border:none;border-radius:6px;background:var(--bg-secondary, #2a2a2a);color:var(--text-primary, #fff);cursor:pointer;transition:background .15s,transform .1s;font-size:13px;font-weight:500}.toolbar-btn-text{gap:6px}.toolbar-btn:hover{background:var(--bg-tertiary, #3a3a3a);transform:scale(1.02)}.toolbar-btn:active{transform:scale(.98)}.toolbar-btn svg{flex-shrink:0}.toolbar-btn-delete{width:36px;padding:0;background:#dc2626}.toolbar-btn-delete:hover{background:#ef4444}.toolbar-count{min-width:24px;padding:4px 8px;margin-left:4px;font-size:12px;font-weight:600;text-align:center;color:var(--text-secondary, #aaa);background:var(--bg-secondary, #2a2a2a);border-radius:12px}.resource-toolbar{display:flex;align-items:center;margin-bottom:16px}.toolbar-left{display:flex;align-items:center;gap:12px}.type-filter,.tag-filter{min-width:130px;padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-primary);font-size:13px}.template-card{display:flex;flex-direction:column;gap:8px}.template-card-header{display:flex;align-items:center;gap:12px}.template-icon-wrapper{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:8px;flex-shrink:0}.template-icon-wrapper .template-icon,.template-icon-wrapper .default-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.template-icon-wrapper .template-icon svg{width:24px;height:24px}.template-icon-wrapper img{width:24px;height:24px;object-fit:contain}.template-info{flex:1;min-width:0}.template-info h3{margin:0 0 4px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.method-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;color:#fff;text-transform:uppercase}.type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:capitalize}.type-badge.manipulate{background:#8b5cf6;color:#fff}.scope-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.scope-badge.global{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff}.template-url{font-family:monospace;font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-description{font-size:12px;color:var(--text-secondary);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.template-tags{display:flex;flex-wrap:wrap;gap:4px}.tag-chip-small{display:inline-block;padding:2px 6px;background:var(--bg-tertiary);border-radius:4px;font-size:11px;color:var(--text-secondary)}.icon-cell{width:50px;text-align:center}.icon-cell .template-icon,.icon-cell .default-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.icon-cell .template-icon svg{width:20px;height:20px}.icon-cell img{width:20px;height:20px;object-fit:contain}.url-cell{max-width:300px;font-family:monospace;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.description-preview{display:block;font-weight:400;color:var(--text-secondary);font-size:12px}.modal-content.template-modal{max-width:800px;max-height:85vh;display:flex;flex-direction:column;padding:0!important}.template-modal .modal-header{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.template-modal .modal-header h2{margin:0;font-size:18px;color:var(--text-primary)}.template-modal .modal-close{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.template-modal .modal-close:hover{color:var(--text-primary);background:var(--bg-tertiary)}.template-modal .modal-body{flex:1;overflow-y:auto;padding:16px 20px;min-height:0}.template-modal .modal-footer{flex-shrink:0;padding:12px 20px;border-top:1px solid var(--border-color);background:var(--bg-secondary);display:flex;justify-content:flex-end;gap:12px}.template-modal .modal-footer .btn-primary{background:var(--button-primary);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:500}.template-modal .modal-footer .btn-primary:hover:not(:disabled){background:var(--button-primary-hover)}.template-modal .modal-footer .btn-primary:disabled{opacity:.6;cursor:not-allowed}.template-modal .modal-footer .btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:10px 20px;border-radius:6px;font-weight:500}.template-modal .modal-footer .btn-secondary:hover{background:var(--bg-tertiary)}.form-section{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.form-section:last-child{border-bottom:none;margin-bottom:0}.form-section h3{font-size:14px;font-weight:600;margin:0 0 12px;color:var(--text-primary)}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.form-group label{display:block;margin-bottom:4px;font-size:12px;font-weight:500;color:var(--text-secondary)}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:8px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px}.form-group textarea{resize:vertical;min-height:60px}.checkbox-label,.radio-label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.checkbox-label input,.radio-label input{width:auto;margin:0}.btn-small{padding:4px 8px;font-size:12px;margin-top:4px}.tag-input-row{display:flex;gap:8px}.tag-input-row input{flex:1}.tag-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-tertiary);border-radius:4px;font-size:12px}.tag-chip button{background:none;border:none;padding:0;font-size:14px;cursor:pointer;color:var(--text-secondary);line-height:1}.tag-chip button:hover{color:var(--text-primary)}.icon-type-options{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.icon-preview-row,.icon-upload-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.icon-preview{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border-radius:6px}.icon-preview svg{width:24px;height:24px}.icon-preview img{width:24px;height:24px;object-fit:contain}.no-icon{color:var(--text-secondary);font-size:12px}.icon-upload-row small{color:var(--text-secondary);font-size:11px}.icon-picker-modal{max-width:500px;max-height:80vh}.modal-overlay.nested{z-index:1100}.icon-picker-filters{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-color)}.icon-picker-filters input,.icon-picker-filters select{flex:1;padding:8px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px}.icon-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;padding:16px;max-height:400px;overflow-y:auto}.icon-picker-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:var(--bg-secondary);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .15s ease}.icon-picker-item:hover{background:var(--bg-tertiary);border-color:var(--border-color)}.icon-picker-item.selected{border-color:var(--primary-color);background:var(--primary-color-light)}.icon-picker-item svg{width:24px;height:24px}.icon-picker-item .icon-name{font-size:10px;color:var(--text-secondary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color)}.btn-danger{background:#f44336;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.btn-danger:hover{background:#d32f2f}.workflow-preview{width:100%;height:100%;position:relative}.workflow-preview .react-flow__renderer{background:var(--canvas-bg)}.workflow-preview-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px}.preview-node{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--panel-bg);border:2px solid var(--border-color);border-radius:8px;font-size:12px;font-weight:500;color:var(--text-primary);box-shadow:0 2px 4px #0000001a;min-width:120px;max-width:200px}.preview-node-icon{font-size:16px;flex-shrink:0}.preview-node-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-node-http{border-color:#2196f3;background:#2196f31a}.preview-node-webhook{border-color:#4caf50;background:#4caf501a}.preview-node-manipulate{border-color:#ff9800;background:#ff98001a}.preview-node-run_workflow{border-color:#9c27b0;background:#9c27b01a}.preview-node-if_else{border-color:#800020;background:#8000201a}.preview-node-script{border-color:#607d8b;background:#607d8b1a}.preview-node-ai_agent{border-color:#00bcd4;background:#00bcd41a}.preview-node-table{border-color:#8bc34a;background:#8bc34a1a}.preview-node-send_email{border-color:#e91e63;background:#e91e631a}.preview-node-informational{border-color:#9e9e9e;background:#9e9e9e1a}.preview-node-count{position:absolute;bottom:8px;right:8px;padding:4px 8px;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:4px;font-size:11px;color:var(--text-muted)}.preview-handle{width:6px!important;height:6px!important;background:var(--border-color)!important;border:none!important;opacity:.5}.preview-handle-true{background:#4caf50!important}.preview-handle-false{background:#f44336!important}.intent-modal{max-width:600px;min-width:500px;max-height:80vh;padding:0;border-radius:12px;background:var(--panel-bg);color:var(--text-primary);overflow:hidden;display:flex;flex-direction:column}.intent-modal.with-preview{max-width:800px;min-width:700px}.intent-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.intent-modal-header h2{margin:0;font-size:18px;font-weight:600;display:flex;align-items:center;gap:10px}.header-ai-icon{color:var(--button-primary, #2196F3)}.intent-modal .close-btn{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.intent-modal .close-btn:hover{color:var(--text-primary)}.intent-input-view{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.intent-scrollable-content{flex:1;overflow-y:auto;padding:24px 24px 16px}.intent-input-view textarea{width:100%;min-height:150px;padding:16px;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-primary);font-size:14px;line-height:1.6;resize:vertical;font-family:inherit}.intent-input-view textarea:focus{outline:none;border-color:var(--button-primary, #2196F3);box-shadow:0 0 0 2px #2196f333}.intent-input-view textarea::placeholder{color:var(--text-muted, #888)}.intent-input-view textarea:disabled{opacity:.7;cursor:not-allowed}.intent-error{display:flex;align-items:center;gap:8px;margin-top:12px;padding:12px;background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:6px;color:var(--error, #f44336);font-size:13px}.error-icon{font-size:16px}.intent-generating{display:flex;align-items:center;gap:12px;margin-top:16px;padding:12px;background:#2196f31a;border-radius:6px;color:var(--text-secondary);font-size:13px}.streamed-preview{margin-top:8px;max-height:100px;overflow:hidden}.streamed-preview pre{margin:0;font-size:11px;color:var(--text-muted);white-space:pre-wrap;word-break:break-all}.intent-footer{flex-shrink:0;padding:16px 24px 20px;border-top:1px solid var(--border-color);background:var(--panel-bg)}.intent-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.intent-modal .btn-primary{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:none;background:var(--button-primary, #2196F3);color:#fff;transition:all .2s}.intent-modal .btn-primary:hover:not(:disabled){background:var(--button-primary-hover, #1976D2)}.intent-modal .btn-primary:disabled{opacity:.5;cursor:not-allowed}.intent-modal .btn-secondary{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;background:transparent;color:var(--text-primary);border:1px solid var(--border-color);transition:all .2s}.intent-modal .btn-secondary:hover{background:var(--hover-bg, rgba(0, 0, 0, .05))}.intent-modal .btn-link{background:none;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;padding:0;text-decoration:underline}.intent-modal .btn-link:hover{color:var(--text-primary)}.intent-modal .btn-link:disabled{opacity:.5;cursor:not-allowed}.intent-hint{margin-top:12px;text-align:center;font-size:12px;color:var(--text-muted)}.intent-hint kbd{display:inline-block;padding:2px 6px;background:var(--code-bg);border:1px solid var(--border-color);border-radius:4px;font-family:monospace;font-size:11px;color:var(--text-secondary)}.intent-preview-view{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.workflow-preview-container{border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--canvas-bg);height:300px}.workflow-explanation,.workflow-questions,.workflow-templates{margin-top:16px;padding:12px;background:var(--input-bg);border-radius:6px}.workflow-explanation h4,.workflow-questions h4,.workflow-templates h4{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text-primary)}.workflow-explanation p{margin:0;font-size:13px;line-height:1.5;color:var(--text-secondary)}.workflow-questions ul,.workflow-templates ul{margin:0;padding-left:20px}.workflow-questions li,.workflow-templates li{margin-bottom:4px;font-size:13px;color:var(--text-secondary)}.workflow-templates code{background:var(--code-bg);padding:2px 6px;border-radius:3px;font-size:12px;font-family:monospace;color:var(--text-secondary)}.intent-not-configured{padding:40px 24px;text-align:center}.not-configured-icon{font-size:48px;margin-bottom:16px}.intent-not-configured h3{margin:0 0 12px;font-size:18px;color:var(--text-primary)}.intent-not-configured p{margin:0 0 24px;font-size:14px;color:var(--text-secondary)}.intent-not-configured .intent-actions{justify-content:center}.intent-not-configured .btn-primary{text-decoration:none;display:inline-block}.intent-loading{padding:60px 24px;text-align:center}.intent-loading p{margin:16px 0 0;font-size:14px;color:var(--text-secondary)}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--button-primary, #2196F3);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}.loading-spinner.small{width:16px;height:16px;border-width:2px;margin:0}@keyframes spin{to{transform:rotate(360deg)}}.questions-hint{margin:0 0 12px;font-size:12px;color:var(--text-muted);font-style:italic}.questions-list{display:flex;flex-direction:column;gap:12px}.question-item{display:flex;flex-direction:column;gap:6px}.question-label{font-size:13px;color:var(--text-secondary);line-height:1.4}.question-input{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--card-bg, var(--panel-bg));color:var(--text-primary);font-size:13px;font-family:inherit}.question-input:focus{outline:none;border-color:var(--button-primary, #2196F3);box-shadow:0 0 0 2px #2196f326}.question-input::placeholder{color:var(--text-muted)}.question-input:disabled{opacity:.6;cursor:not-allowed}.btn-refine{background:var(--button-primary, #2196F3)!important;color:#fff!important;border-color:transparent!important}.btn-refine:hover:not(:disabled){background:var(--button-primary-hover, #1976D2)!important}.btn-refine:disabled{opacity:.5;cursor:not-allowed}.preview-generating{margin-top:0;margin-bottom:16px}.ai-conversation{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.ai-conversation-empty{color:var(--text-muted);font-size:13px;line-height:1.5;padding:20px;text-align:center}.ai-conversation-hint{margin-top:16px;text-align:left;font-size:12px;color:var(--text-muted);opacity:.8;padding:12px;background:var(--bg-secondary);border-radius:6px}.ai-message{display:flex;gap:10px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ai-message-avatar{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.ai-message-content{flex:1;padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;overflow-x:hidden;max-width:100%}.ai-message-user{flex-direction:row-reverse}.ai-message-user .ai-message-content{background:var(--primary-color, #2196F3);color:#fff;border-bottom-right-radius:4px}.ai-message-assistant .ai-message-content{background:var(--bg-secondary, #2a2a2a);color:var(--text-primary);border-bottom-left-radius:4px}.ai-code-block{background:var(--bg-tertiary, #1a1a1a);border:1px solid var(--border-color);border-radius:6px;padding:10px 12px;margin:8px 0;overflow-x:auto;font-family:SF Mono,Monaco,Menlo,monospace;font-size:12px;line-height:1.4}.ai-code-block code{white-space:pre}.ai-message-streaming{min-height:20px}.ai-cursor{display:inline-block;animation:blink .8s infinite;color:var(--primary-color);margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.ai-message-loading{padding:14px 18px}.ai-typing-indicator{display:inline-flex;gap:4px;align-items:center}.ai-typing-indicator span{width:6px;height:6px;background:var(--text-muted);border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out}.ai-typing-indicator span:nth-child(1){animation-delay:-.32s}.ai-typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.ai-template-previews{margin-top:10px;padding:10px 12px;background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:6px}.ai-template-previews-header{font-size:11px;font-weight:500;color:#4caf50;margin-bottom:8px}.ai-template-preview-item{display:flex;align-items:flex-start;gap:6px;margin-bottom:6px;font-size:11px;line-height:1.4}.ai-template-preview-item:last-child{margin-bottom:0}.ai-template-expr{font-family:SF Mono,Monaco,Menlo,monospace;background:#2196f326;color:var(--primary-color, #2196F3);padding:2px 5px;border-radius:3px;white-space:nowrap;flex-shrink:0}.ai-template-arrow{color:var(--text-muted);flex-shrink:0}.ai-template-resolved{font-family:SF Mono,Monaco,Menlo,monospace;background:#4caf5026;color:#81c784;padding:2px 5px;border-radius:3px;word-break:break-all}.ai-assist-panel{position:absolute;top:0;bottom:0;min-width:280px;max-width:700px;background:var(--panel-bg, #1e1e1e);border-left:1px solid var(--border-color);display:flex;flex-direction:column;z-index:150;box-shadow:-4px 0 12px #00000026;animation:slideIn .2s ease-out}.ai-assist-panel.resizing{-webkit-user-select:none;user-select:none;transition:none}.ai-assist-resize-handle{position:absolute;left:0;top:0;bottom:0;width:8px;cursor:col-resize;z-index:10;background:transparent}.ai-assist-resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background:var(--border-color);transition:background .15s,width .15s}.ai-assist-resize-handle:hover:after,.ai-assist-resize-handle.active:after{background:var(--primary-color, #2196F3);width:4px}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.ai-assist-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.ai-assist-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.ai-assist-icon{font-size:18px}.ai-assist-close{width:28px;height:28px;border:none;background:transparent;color:var(--text-muted);font-size:20px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s}.ai-assist-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ai-assist-context{padding:10px 16px;font-size:12px;color:var(--text-muted);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.ai-assist-context strong{color:var(--text-primary);text-transform:capitalize}.ai-assist-warning{padding:12px 16px;background:#ff98001a;border-bottom:1px solid var(--border-color);color:#ff9800;font-size:12px}.ai-assist-error{padding:10px 16px;background:#f443361a;color:#f44336;font-size:12px}.ai-assist-input-form{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.ai-assist-input-form textarea{flex:1;resize:none;border:1px solid var(--border-color);border-radius:8px;padding:10px 12px;font-size:13px;font-family:inherit;background:var(--input-bg, #2a2a2a);color:var(--text-primary);line-height:1.4}.ai-assist-input-form textarea:focus{outline:none;border-color:var(--primary-color)}.ai-assist-input-form textarea::placeholder{color:var(--text-muted)}.ai-assist-send{width:44px;height:auto;align-self:flex-end;border:none;border-radius:8px;background:var(--primary-color, #2196F3);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.ai-assist-send:hover:not(:disabled){background:var(--primary-hover, #1976D2)}.ai-assist-send:disabled{opacity:.5;cursor:not-allowed}.ai-assist-footer{padding:8px 16px;text-align:center;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.ai-assist-footer small{color:var(--text-muted);font-size:11px}.ai-assist-apply-bar{padding:12px 16px;border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.ai-assist-apply-btn{width:100%;padding:10px 16px;border:none;border-radius:6px;background:#4caf50;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.ai-assist-apply-btn:hover{background:#43a047}.ai-assist-apply-btn:active{transform:scale(.98)}.ai-input-context-section{border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.ai-input-context-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;border:none;background:transparent;color:var(--text-primary);font-size:12px;font-weight:500;cursor:pointer;text-align:left}.ai-input-context-header:hover{background:var(--bg-tertiary)}.ai-input-context-arrow{font-size:10px;color:var(--text-muted);transition:transform .15s}.ai-input-context-arrow.expanded{transform:rotate(90deg)}.ai-context-loading{color:var(--text-muted);font-size:11px;font-style:italic}.ai-context-count{color:var(--text-muted);font-size:11px;margin-left:auto}.ai-input-context-body{padding:0 16px 12px}.ai-context-loading-state{color:var(--text-muted);font-size:12px;font-style:italic;padding:8px 0}.ai-context-empty{color:var(--text-muted);font-size:12px;padding:8px 0}.ai-context-notice{display:flex;gap:8px;padding:10px 12px;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:6px;font-size:11px;color:var(--text-secondary);line-height:1.4}.ai-context-notice-icon{flex-shrink:0}.ai-context-nodes{display:flex;flex-direction:column;gap:4px}.ai-context-node{border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.ai-context-node-header{display:flex;align-items:center;gap:6px;width:100%;padding:8px 10px;border:none;background:var(--bg-tertiary);color:var(--text-primary);font-size:11px;cursor:pointer;text-align:left}.ai-context-node-header:hover{background:var(--bg-hover, #333)}.ai-context-node-arrow{font-size:8px;color:var(--text-muted);transition:transform .15s}.ai-context-node-arrow.expanded{transform:rotate(90deg)}.ai-context-node-name{font-weight:500;color:var(--text-primary)}.ai-context-node-type{color:var(--text-muted);font-size:10px}.ai-context-node-ref{margin-left:auto;font-family:monospace;font-size:10px;color:var(--primary-color, #2196F3);background:#2196f31a;padding:2px 6px;border-radius:3px}.ai-context-node-no-data{margin-left:auto;font-size:10px;color:var(--text-muted);font-style:italic}.ai-context-node-output{padding:8px 10px;background:var(--bg-primary, #1a1a1a);border-top:1px solid var(--border-color);max-height:200px;overflow:auto}.ai-context-node-output pre{margin:0;font-size:10px;font-family:Monaco,Menlo,monospace;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.workflow-canvas-container{width:100vw;height:100vh;display:flex;flex-direction:column;background:var(--bg-secondary)}.workflow-canvas-main{flex:1;display:flex;overflow:hidden}.workflow-canvas-flow{flex:1;position:relative}.react-flow__node.selected{box-shadow:none!important}.react-flow__edge .react-flow__edge-path{transition:stroke-width .15s ease,stroke .15s ease}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--button-primary)!important;stroke-width:3!important}.react-flow__edge:hover .react-flow__edge-path{stroke-width:2.5}.react-flow__edgeupdater{width:16px;height:16px;cursor:move}.react-flow__edgeupdater-target{cursor:crosshair}.react-flow__edge-interaction{cursor:pointer}.react-flow__edge:hover .react-flow__edge-interaction{stroke:#3b82f61a}.react-flow__edge-arrow-target{pointer-events:all}.react-flow__edge:has(.react-flow__edge-arrow-target){z-index:1000!important}.react-flow__controls button{background:var(--panel-bg);border:1px solid var(--border-color);color:var(--text-primary)}.react-flow__minimap{background:var(--bg-secondary)!important;border:1px solid var(--border-color)!important;border-radius:8px;overflow:hidden}.react-flow__minimap svg{background:var(--bg-secondary)!important}.react-flow__minimap-mask{fill:var(--panel-bg)!important;opacity:.8}.react-flow__minimap-node{fill:var(--bg-tertiary)!important}.react-flow__background{background-color:var(--bg-secondary)}.react-flow__controls-button{background:var(--panel-bg)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important;fill:var(--text-primary)!important}.react-flow__controls-button:hover{background:var(--button-secondary-hover)!important}.react-flow__controls-button svg{fill:var(--text-primary)!important}.workflow-canvas-container.resizing{-webkit-user-select:none;user-select:none;cursor:col-resize}.workflow-canvas-container.resizing *{cursor:col-resize!important}.user-management{padding:20px;max-width:1200px;margin:0 auto}.search-bar{margin-bottom:16px}.search-bar input{width:100%;max-width:400px;padding:10px 16px;border:1px solid var(--border-color, #ddd);border-radius:8px;font-size:14px;background:var(--card-bg, #fff);color:var(--text-primary, #333)}.search-bar input:focus{outline:none;border-color:var(--primary-color, #4f46e5)}.users-table-container{background:var(--card-bg, #fff);border-radius:12px;border:1px solid var(--border-color, #ddd);overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color, #eee)}.users-table th{font-weight:600;font-size:12px;text-transform:uppercase;color:var(--text-muted, #666);background:var(--bg-secondary, #f9f9f9)}.users-table tbody tr:hover{background:var(--hover-bg, #f5f5f5)}.users-table tbody tr:last-child td{border-bottom:none}.role-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.badge-admin{background:#fef3c7;color:#92400e}.badge-write{background:#dbeafe;color:#1e40af}.badge-read{background:#e5e7eb;color:#4b5563}.badge-disabled{background:#fee2e2;color:#dc2626}.actions{display:flex;gap:8px}.modal{background:var(--card-bg, #fff);border-radius:12px;padding:24px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid var(--border-color, #ddd);border-radius:6px;font-size:14px;background:var(--card-bg, #fff);color:var(--text-primary, #333)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color, #4f46e5)}.profile-edit{max-width:600px;background:var(--card-bg, #fff);border-radius:12px;padding:24px;border:1px solid var(--border-color, #ddd)}.profile-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-color, #eee)}.profile-info{flex:1}.profile-name{font-size:18px;font-weight:600;color:var(--text-primary, #333)}.profile-email{font-size:14px;color:var(--text-muted, #666);margin-top:4px}.profile-form button.primary{margin-top:8px}.message{padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px}.message.success{background:#d1fae5;color:#065f46}.message.error{background:#fee2e2;color:#dc2626}[data-theme=dark] .users-table th{background:var(--bg-secondary, #1a1a1a)}[data-theme=dark] .badge-admin{background:#451a03;color:#fcd34d}[data-theme=dark] .badge-write{background:#1e3a5f;color:#93c5fd}[data-theme=dark] .badge-read{background:#374151;color:#d1d5db}[data-theme=dark] .badge-disabled{background:#7f1d1d;color:#fca5a5}.password-requirements{margin-top:8px;padding:10px 12px;background:var(--bg-secondary, #f9f9f9);border-radius:6px;font-size:12px}.password-requirements .requirement{display:flex;align-items:center;gap:6px;padding:3px 0;color:var(--text-muted, #666)}.password-requirements .requirement.met{color:#059669}.password-requirements .requirement.unmet{color:var(--text-muted, #888)}[data-theme=dark] .password-requirements{background:var(--bg-secondary, #1f1f1f)}[data-theme=dark] .password-requirements .requirement.met{color:#34d399}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.checkbox-group .help-text{display:block;margin-top:4px;margin-left:24px;font-size:12px;color:var(--text-muted, #666)}.execution-viewer{max-width:1200px;margin:0 auto;padding:20px}.execution-viewer.loading,.execution-viewer.error{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:18px;color:var(--text-secondary)}.execution-header{display:flex;align-items:center;gap:20px;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid var(--border-color)}.execution-header h1{flex:1;margin:0;color:var(--text-primary)}.execution-status{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;padding:8px 16px;border-radius:4px;background:var(--bg-tertiary)}.status-icon{font-size:24px}.ws-indicator{font-size:12px;color:#4caf50;margin-left:8px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.execution-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-bottom:30px;padding:20px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.info-item{font-size:14px;color:var(--text-primary)}.info-item strong{display:block;margin-bottom:4px;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.execution-events{margin-bottom:30px}.execution-events h2{margin-bottom:15px;color:var(--text-primary)}.events-list{max-height:400px;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px;background:var(--panel-bg)}.empty-state{padding:40px;text-align:center;color:var(--text-secondary);font-style:italic}.event-item{padding:12px 16px;border-bottom:1px solid var(--border-color);display:grid;grid-template-columns:100px 150px 1fr;gap:12px;font-size:13px}.event-item:last-child{border-bottom:none}.event-time{color:var(--text-secondary);font-family:monospace}.event-type{font-weight:600;padding:2px 8px;border-radius:4px;background:var(--bg-tertiary);width:fit-content;color:var(--text-primary)}.event-execution_started .event-type{background:#e3f2fd;color:#1976d2}.event-node_started .event-type{background:#fff3e0;color:#f57c00}.event-node_completed .event-type{background:#e8f5e9;color:#388e3c}.event-node_failed .event-type,.event-execution_failed .event-type{background:#ffebee;color:#d32f2f}.event-execution_completed .event-type{background:#e8f5e9;color:#2e7d32;font-weight:700}.event-data{font-family:monospace;font-size:12px;color:var(--text-primary);overflow-x:auto;white-space:pre-wrap;word-break:break-all}.node-statuses h2{margin-bottom:15px;color:var(--text-primary)}.nodes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px}.node-status{border:2px solid var(--border-color);border-radius:8px;padding:15px;background:var(--panel-bg)}.node-status-running{border-color:#2196f3;background:#2196f31a}.node-status-completed{border-color:#4caf50;background:#4caf501a}.node-status-failed{border-color:#f44336;background:#f443361a}.node-status-waiting{border-color:#e91e63;background:#e91e631a;animation:pulse-waiting 2s infinite}@keyframes pulse-waiting{0%,to{opacity:1}50%{opacity:.7}}.node-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-weight:600;color:var(--text-primary)}.node-icon{font-size:20px}.node-id{flex:1;font-family:monospace;font-size:14px}.node-type{font-size:11px;text-transform:uppercase;background:var(--bg-tertiary);padding:2px 6px;border-radius:3px;color:var(--text-secondary)}.node-output,.node-error{margin-top:10px;font-size:12px}.node-output strong,.node-error strong{display:block;margin-bottom:4px;color:var(--text-primary)}.node-output pre{background:var(--bg-secondary);padding:8px;border-radius:4px;overflow-x:auto;max-height:200px;overflow-y:auto;font-size:11px;color:var(--text-primary);border:1px solid var(--border-color)}.node-error{color:#d32f2f}.workflow-test-runner{margin-bottom:30px}.test-runner-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.test-runner-header h2{margin:0;color:var(--text-primary)}.test-runner-status{display:flex;align-items:center;gap:12px;font-size:14px}.event-count{color:var(--text-secondary)}.node-status-legend{display:flex;gap:20px;margin-top:15px;padding:12px;background:var(--bg-secondary);border-radius:4px;border:1px solid var(--border-color)}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary)}.legend-color{width:24px;height:24px;border-radius:4px;border:2px solid}.node-status.clickable{cursor:pointer;transition:transform .1s,box-shadow .1s}.node-status.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.node-detail-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.node-detail-modal{background:var(--panel-bg);border-radius:12px;width:90%;max-width:900px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;border:1px solid var(--border-color)}.node-detail-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);border-radius:12px 12px 0 0}.node-detail-title{display:flex;align-items:center;gap:12px}.node-detail-title h3{margin:0;font-size:18px;color:var(--text-primary)}.node-detail-title .node-icon{font-size:24px}.node-detail-title .node-type{font-size:12px;text-transform:uppercase;background:var(--bg-tertiary);padding:4px 8px;border-radius:4px;color:var(--text-secondary)}.node-detail-actions{display:flex;gap:8px}.node-detail-actions .copy-button{background:var(--button-secondary);border:1px solid var(--border-color);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;color:var(--text-primary)}.node-detail-actions .copy-button:hover{background:var(--button-secondary-hover)}.node-detail-actions .close-button{background:transparent;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);padding:0 8px;line-height:1}.node-detail-actions .close-button:hover{color:var(--text-primary)}.node-detail-content{flex:1;overflow:auto;min-height:300px;max-height:calc(80vh - 80px)}.node-detail-content .cm-editor{height:100%;min-height:300px}.node-detail-content .cm-scroller{overflow:auto}.node-detail-error{padding:20px;color:#d32f2f}.node-detail-error pre{background:var(--bg-secondary);padding:16px;border-radius:8px;overflow:auto;white-space:pre-wrap;word-break:break-all;margin-top:10px;border:1px solid var(--border-color)}.node-detail-divider{border:none;border-top:1px solid var(--border-color);margin:0}.node-detail-output{padding:20px}.node-detail-output strong{display:block;margin-bottom:12px;color:var(--text-primary)}.node-detail-empty{padding:40px;text-align:center;color:var(--text-secondary);font-style:italic}.branches-container{margin-top:20px}.branches-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.toggle-all-btn{padding:6px 12px;font-size:13px;font-weight:500;background:var(--button-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s}.toggle-all-btn:hover{background:var(--button-secondary-hover);border-color:var(--border-hover)}.branch-count{font-size:13px;color:var(--text-secondary)}.branch-section{border:1px solid var(--border-color);border-radius:8px;margin-bottom:12px;overflow:hidden}.branch-section.expanded{border-color:var(--border-hover)}.branch-header{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.branch-header:hover{background:var(--menu-hover)}.branch-chevron{font-size:12px;color:var(--text-secondary)}.branch-name{font-size:15px;font-weight:600;color:var(--text-primary)}.branch-node-count{font-size:13px;color:var(--text-secondary)}.branch-status-indicator{margin-left:auto;font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px}.branch-status-indicator.running{background:#2196f333;color:#1976d2}.branch-status-indicator.completed{background:#4caf5033;color:#2e7d32}.branch-status-indicator.failed{background:#f4433633;color:#c62828}.branch-status-indicator.waiting{background:#e91e6333;color:#ad1457}.branch-section .nodes-grid{border-top:1px solid var(--border-color);padding:16px}.waiting-for-input-banner{display:flex;align-items:center;gap:20px;padding:20px 24px;background:linear-gradient(135deg,#9c27b01a,#7b1fa226);border:2px solid #9C27B0;border-radius:12px;margin-bottom:24px}.waiting-for-input-banner .waiting-icon{font-size:40px;color:#9c27b0;animation:pulseIcon 2s ease-in-out infinite}@keyframes pulseIcon{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.waiting-for-input-banner .waiting-info{flex:1}.waiting-for-input-banner .waiting-info h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#9c27b0}.waiting-for-input-banner .waiting-info p{margin:0;font-size:14px;color:var(--text-secondary)}.waiting-for-input-banner .form-link-button{display:inline-block;margin-top:12px;padding:10px 20px;background:#9c27b0;color:#fff;text-decoration:none;border-radius:6px;font-weight:500;font-size:14px;transition:background .2s,transform .1s}.waiting-for-input-banner .form-link-button:hover{background:#7b1fa2;transform:translateY(-1px)}.waiting-for-input-banner .form-link-button:active{transform:translateY(0)}.node-status-waiting_for_input{border-color:#9c27b0;background:#9c27b01a}.datastore-management{max-width:1400px;margin:0 auto;padding:20px}.datastore-management.loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:18px;color:var(--text-secondary)}.datastore-header{display:flex;align-items:center;gap:20px;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid var(--border-color)}.datastore-header h1{flex:1;margin:0;color:var(--text-primary)}.header-actions{display:flex;gap:12px;align-items:center}.search-input{padding:8px 16px;border:1px solid var(--border-color);border-radius:4px;width:250px;font-size:14px;background:var(--input-bg);color:var(--text-primary)}.search-input:focus{outline:none;border-color:var(--button-primary);box-shadow:0 0 0 3px #2196f31a}.back-button{background:var(--button-secondary);border:1px solid var(--border-color);padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;color:var(--text-primary)}.back-button:hover{background:var(--button-secondary-hover)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state p{font-size:18px;margin-bottom:20px}.empty-state button{background:var(--button-primary);color:#fff;border:none;padding:12px 24px;border-radius:4px;cursor:pointer;font-size:16px}.entries-table{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.entries-table table{width:100%;border-collapse:collapse}.entries-table th{background:var(--bg-secondary);padding:12px 16px;text-align:left;font-weight:600;font-size:13px;text-transform:uppercase;color:var(--text-secondary);border-bottom:2px solid var(--border-color)}.entries-table td{padding:16px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.entries-table tr:last-child td{border-bottom:none}.entries-table tr:hover{background:var(--menu-hover)}.entry-key{font-family:monospace;font-size:14px;font-weight:600;color:var(--button-primary);background:var(--bg-tertiary);padding:4px 8px;border-radius:3px;display:inline-block}.entry-description{color:var(--text-secondary);font-size:14px;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-desc{font-style:italic;color:var(--text-tertiary)}.entry-date{font-size:13px;color:var(--text-secondary);white-space:nowrap}.entry-actions{display:flex;gap:8px}.entry-actions button{padding:6px 12px;border-radius:4px;border:none;cursor:pointer;font-size:13px}.entry-actions button.secondary{background:var(--button-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.entry-actions button.secondary:hover{background:var(--button-secondary-hover)}.entry-actions button.danger{background:#f443361a;color:#d32f2f}.entry-actions button.danger:hover{background:#f4433633}.datastore-management .modal-content{background:var(--panel-bg);padding:30px;border-radius:8px;max-width:1000px!important;width:90%;min-height:500px;max-height:90vh;overflow-y:auto;color:var(--text-primary)}.datastore-management .modal-content.large{max-width:1000px!important}.modal-content h2{margin-top:0;margin-bottom:24px;color:var(--text-primary)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-weight:600;font-size:14px;color:var(--text-primary)}.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:14px;font-family:inherit;box-sizing:border-box;background:var(--input-bg);color:var(--text-primary)}.form-group textarea{resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--button-primary);box-shadow:0 0 0 3px #2196f31a}.help-text{display:block;margin-top:4px;font-size:12px;color:var(--text-secondary);font-style:italic}.modal-actions button{padding:10px 20px;border-radius:4px;border:none;cursor:pointer;font-size:14px}.modal-actions button.secondary{background:var(--button-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.modal-actions button.secondary:hover{background:var(--button-secondary-hover)}.modal-actions button.primary{background:var(--button-primary);color:#fff}.modal-actions button.primary:hover{background:var(--button-primary-hover)}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}button.small{padding:4px 12px;font-size:12px}.value-mode-toggle{display:flex;gap:0;border:1px solid var(--border-color);border-radius:4px;overflow:hidden;width:fit-content}.value-mode-toggle .mode-btn{padding:8px 16px;border:none;background:var(--button-secondary);color:var(--text-primary);cursor:pointer;font-size:13px;transition:background .15s,color .15s}.value-mode-toggle .mode-btn:not(:last-child){border-right:1px solid var(--border-color)}.value-mode-toggle .mode-btn:hover:not(.active){background:var(--button-secondary-hover)}.value-mode-toggle .mode-btn.active{background:var(--button-primary);color:#fff}.codemirror-wrapper{border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.codemirror-wrapper .cm-editor{font-size:13px}.codemirror-wrapper .cm-editor.cm-focused{outline:none}.tool-management{padding:24px;max-width:1200px;margin:0 auto}.tool-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.header-left{display:flex;align-items:center;gap:16px}.header-left h1{margin:0}.btn-back{background:transparent;border:1px solid var(--border-color, #444);padding:8px 16px;border-radius:4px;cursor:pointer;color:inherit}.btn-back:hover{background:var(--bg-secondary, #2a2a2a)}.btn-primary{background:var(--primary-color, #6366f1);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500}.btn-primary:hover{opacity:.9}.header-actions{display:flex;align-items:center;gap:12px}.search-input{padding:8px 12px;border-radius:4px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-primary);width:200px}.tool-section{margin-bottom:32px}.tool-section h2{margin-bottom:16px;font-size:18px;color:var(--text-secondary, #aaa)}.empty-state{padding:32px;text-align:center;background:var(--bg-secondary, #2a2a2a);border-radius:8px;color:var(--text-secondary, #888)}.tool-groups-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.tool-group-card{background:var(--bg-secondary, #2a2a2a);border-radius:8px;padding:16px;border:1px solid var(--border-color, #333)}.group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.group-header h3{margin:0;font-size:16px}.group-badge{background:var(--primary-color, #6366f1);color:#fff;padding:2px 8px;border-radius:12px;font-size:12px}.group-desc{margin:8px 0;font-size:14px;color:var(--text-secondary, #888)}.group-meta{margin:8px 0}.group-meta code{background:var(--bg-primary, #1a1a1a);padding:4px 8px;border-radius:4px;font-size:12px}.group-actions{display:flex;gap:8px;margin-top:12px}.group-actions button{padding:6px 12px;border-radius:4px;border:1px solid var(--border-color, #444);background:transparent;cursor:pointer;font-size:12px;color:inherit}.group-actions button:hover{background:var(--bg-primary, #1a1a1a)}.group-actions button.danger{color:#f44336;border-color:#f44336}.group-actions button.danger:hover{background:#f443361a}.tools-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.tool-card{background:var(--bg-secondary, #2a2a2a);border-radius:8px;padding:16px;border:1px solid var(--border-color, #333)}.tool-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.tool-header h3{margin:0;font-size:14px;font-family:monospace}.tool-workflow{font-size:11px;color:var(--text-secondary, #888)}.tool-desc{font-size:13px;color:var(--text-secondary, #aaa);margin:8px 0}.tool-params{font-size:12px;margin-top:12px}.tool-params ul{margin:4px 0 0 16px;padding:0}.tool-params li{margin:4px 0}.tool-params code{background:var(--bg-primary, #1a1a1a);padding:2px 4px;border-radius:3px}.tool-params .required{color:#f44336;margin-left:4px}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-primary, #1a1a1a);padding:24px;border-radius:8px;width:500px;max-width:90vw;max-height:80vh;overflow-y:auto}.modal-content h2{margin-top:0;margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:10px;border:1px solid var(--border-color, #444);border-radius:4px;background:var(--bg-secondary, #2a2a2a);color:inherit;font-size:14px}.form-group small{display:block;margin-top:4px;color:var(--text-secondary, #888);font-size:12px}.tool-selector{max-height:200px;overflow-y:auto;border:1px solid var(--border-color, #444);border-radius:4px;padding:8px}.tool-checkbox{display:flex;align-items:center;gap:8px;padding:8px;border-radius:4px;cursor:pointer}.tool-checkbox:hover{background:var(--bg-secondary, #2a2a2a)}.tool-checkbox input{width:auto}.tool-checkbox span{font-family:monospace;font-size:13px}.tool-checkbox small{margin-left:auto;color:var(--text-secondary, #888)}.no-tools{text-align:center;color:var(--text-secondary, #888);padding:16px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.modal-actions button{padding:10px 20px;border-radius:4px;cursor:pointer;border:1px solid var(--border-color, #444);background:transparent;color:inherit}.loading{text-align:center;padding:48px;color:var(--text-secondary, #888)}.mcp-section{margin-bottom:32px}.mcp-header{display:flex;align-items:baseline;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.mcp-header h2{margin-bottom:0}.mcp-toggle{font-size:12px;margin-right:6px;display:inline-block;transition:transform .15s}.mcp-subtitle{font-size:13px;color:var(--text-secondary, #888)}.mcp-content{margin-top:12px;background:var(--bg-secondary, #2a2a2a);border:1px solid var(--border-color, #333);border-radius:8px;padding:16px}.mcp-url-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border-color, #333)}.mcp-url-row:last-of-type{border-bottom:none}.mcp-url-label{min-width:120px;font-weight:500;font-size:13px;flex-shrink:0}.mcp-tool-count{font-weight:400;color:var(--text-secondary, #888);font-size:12px}.mcp-url-value{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.mcp-url-value code{background:var(--bg-primary, #1a1a1a);padding:6px 10px;border-radius:4px;font-size:12px;flex:1;overflow-x:auto;white-space:nowrap}.mcp-copy-btn{padding:4px 10px;border-radius:4px;border:1px solid var(--border-color, #444);background:transparent;cursor:pointer;font-size:11px;color:inherit;white-space:nowrap;flex-shrink:0}.mcp-copy-btn:hover{background:var(--bg-primary, #1a1a1a)}.mcp-snippets{margin-top:16px}.mcp-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color, #333)}.mcp-tab{padding:8px 16px;border:none;background:transparent;cursor:pointer;font-size:13px;color:var(--text-secondary, #888);border-bottom:2px solid transparent;margin-bottom:-1px}.mcp-tab:hover{color:var(--text-primary, #fff)}.mcp-tab.active{color:var(--primary-color, #6366f1);border-bottom-color:var(--primary-color, #6366f1)}.mcp-snippet-content{position:relative;margin-top:8px}.mcp-snippet-content pre{background:var(--bg-primary, #1a1a1a);padding:12px;border-radius:4px;font-size:12px;overflow-x:auto;margin:0;line-height:1.5}.mcp-copy-snippet{position:absolute;top:8px;right:8px}.mcp-note{margin-top:12px;font-size:12px;color:var(--text-secondary, #888)}.mcp-note a{color:var(--primary-color, #6366f1);text-decoration:none}.mcp-note a:hover{text-decoration:underline}.mcp-note code{background:var(--bg-primary, #1a1a1a);padding:2px 4px;border-radius:3px;font-size:11px}.api-key-management{padding:20px;max-width:1000px;margin:0 auto}.page-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.page-header h1{flex:1;margin:0}.back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:var(--card-bg, #fff);border:1px solid var(--border-color, #ddd);cursor:pointer;color:var(--text-primary, #333)}.back-button:hover{background:var(--hover-bg, #f5f5f5)}.info-box{background:var(--bg-secondary, #f9f9f9);border:1px solid var(--border-color, #ddd);border-radius:8px;padding:16px;margin-bottom:24px}.info-box p{margin:0;color:var(--text-muted, #666);font-size:14px}.keys-table-container{background:var(--card-bg, #fff);border-radius:12px;border:1px solid var(--border-color, #ddd);overflow:hidden}.keys-table{width:100%;border-collapse:collapse}.keys-table th,.keys-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color, #eee)}.keys-table th{font-weight:600;font-size:12px;text-transform:uppercase;color:var(--text-muted, #666);background:var(--bg-secondary, #f9f9f9)}.keys-table tbody tr:hover{background:var(--hover-bg, #f5f5f5)}.keys-table tbody tr:last-child td{border-bottom:none}.keys-table tr.expired{opacity:.6}.key-name{font-weight:500}.key-prefix code{background:var(--bg-secondary, #f0f0f0);padding:4px 8px;border-radius:4px;font-size:13px;font-family:SF Mono,Monaco,monospace}.expired-text{color:#dc2626}.expired-badge{background:#fee2e2;color:#dc2626;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;margin-left:8px;text-transform:uppercase}.mcp-badge{background:var(--primary-color, #6366f1);color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;margin-left:8px;text-transform:uppercase}.icon-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--text-muted, #666);transition:all .15s}.icon-button svg{width:16px;height:16px}.icon-button:hover{background:var(--hover-bg, #f0f0f0);color:var(--text-primary, #333)}.icon-button.danger{color:var(--text-muted, #666)}.icon-button.danger:hover{background:#fee2e2;color:#dc2626}.empty-state,.no-access{text-align:center;padding:60px 20px;background:var(--card-bg, #fff);border-radius:12px;border:1px solid var(--border-color, #ddd)}.empty-state p,.no-access p{color:var(--text-muted, #666);margin-bottom:20px}.loading,.error{padding:40px;text-align:center;color:var(--text-muted, #666)}.error{color:#dc2626}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--card-bg, #fff);border-radius:12px;padding:24px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal h2{margin:0 0 20px;font-size:20px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--text-primary, #333)}.form-group input{width:100%;padding:10px 12px;border:1px solid var(--border-color, #ddd);border-radius:6px;font-size:14px;background:var(--card-bg, #fff);color:var(--text-primary, #333)}.form-group input:focus{outline:none;border-color:var(--primary-color, #4f46e5)}.form-group small{display:block;margin-top:4px;color:var(--text-muted, #888);font-size:12px}.form-error{padding:10px;margin-bottom:16px;background:#fee2e2;color:#dc2626;border-radius:6px;font-size:13px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}button.primary{background:var(--primary-color, #4f46e5);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer}button.primary:hover{background:var(--primary-hover, #4338ca)}button.secondary{background:var(--card-bg, #fff);color:var(--text-primary, #333);border:1px solid var(--border-color, #ddd);padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer}button.secondary:hover{background:var(--hover-bg, #f5f5f5)}.key-modal .warning-header{display:flex;align-items:center;gap:12px;color:#b45309;margin-bottom:16px;font-weight:600;font-size:18px}.key-modal .warning-header svg{stroke:#f59e0b}.key-warning{background:#fef3c7;color:#92400e;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:20px}.key-display{display:flex;gap:12px;margin-bottom:20px}.key-display code{flex:1;background:var(--bg-secondary, #f0f0f0);padding:12px 16px;border-radius:6px;font-family:SF Mono,Monaco,monospace;font-size:13px;word-break:break-all;border:1px solid var(--border-color, #ddd)}.copy-button{padding:12px 20px;background:var(--primary-color, #4f46e5);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;white-space:nowrap}.copy-button:hover{background:var(--primary-hover, #4338ca)}.key-info{background:var(--bg-secondary, #f9f9f9);padding:12px 16px;border-radius:6px;font-size:14px}.key-info div{margin-bottom:4px}.key-info div:last-child{margin-bottom:0}[data-theme=dark] .back-button{background:var(--card-bg, #2a2a2a);border-color:var(--border-color, #444)}[data-theme=dark] .keys-table th{background:var(--bg-secondary, #1a1a1a)}[data-theme=dark] .key-prefix code{background:var(--bg-secondary, #333)}[data-theme=dark] .key-warning{background:#451a03;color:#fcd34d}[data-theme=dark] .key-modal .warning-header{color:#fcd34d}.table-editor{width:650px;max-width:95vw;max-height:90vh;background:var(--surface);display:flex;flex-direction:column}.table-editor-body{flex:1;overflow-y:auto;padding-right:8px}.table-editor-header{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:16px;flex-shrink:0}.table-editor-header h2{margin:0}.back-arrow{font-size:24px;padding:4px 8px;background:transparent;border:none;cursor:pointer}.form-section{margin-bottom:20px}.form-section>label{display:block;margin-bottom:12px;font-weight:500}.form-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.toggle-label{display:flex;align-items:center;gap:12px;cursor:pointer}.toggle{width:44px;height:24px;background:var(--border-color, #e2e8f0);border-radius:12px;position:relative;transition:background .2s;cursor:pointer}.toggle.active{background:var(--button-primary, #3b82f6)}.toggle-handle{width:20px;height:20px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s}.toggle.active .toggle-handle{transform:translate(20px)}.retention-input{width:80px}.columns-list{display:flex;flex-direction:column;gap:8px}.column-row{display:flex;align-items:center;gap:8px;padding:8px;background:var(--background);border-radius:6px}.drag-handle{cursor:grab;padding:4px 8px;background:transparent;border:none;font-size:16px;color:var(--text-muted)}.column-name{flex:1;min-width:120px}.column-type{width:110px}.max-length{width:90px}.pk-checkbox{display:flex;align-items:center;gap:4px;cursor:pointer}.pk-checkbox input{display:none}.pk-checkbox span{opacity:.3;transition:opacity .2s}.pk-checkbox input:checked+span{opacity:1}.column-menu{padding:4px 8px;background:transparent;border:none;cursor:pointer;font-size:16px;color:var(--text-muted)}.column-menu:hover{color:var(--danger)}.column-menu:disabled{opacity:.3;cursor:not-allowed}.add-field-btn{width:100%;padding:12px;background:var(--background);border:1px dashed var(--border);border-radius:6px;cursor:pointer;color:var(--text-secondary)}.add-field-btn:hover{border-color:var(--primary);color:var(--primary)}.table-editor .modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border);flex-shrink:0}.tables-management{max-width:1200px;margin:0 auto;padding:20px}.tables-management.loading{display:flex;justify-content:center;align-items:center;min-height:200px}.tables-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.tables-header h1{flex:1;margin:0;font-size:24px}.tables-header .back-button{padding:8px 12px;font-size:16px}.header-actions{display:flex;gap:8px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state button{margin-top:16px}.tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.table-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000001a}.table-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.table-card-header h3{margin:0;font-size:18px;font-weight:600}.table-card-actions{display:flex;gap:4px}.table-card-actions button{padding:4px 8px;font-size:12px}.table-card-description{color:var(--text-muted);font-size:14px;margin:0 0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-card-stats{display:flex;gap:12px;font-size:13px;color:var(--text-secondary);margin-bottom:12px}.retention-badge{color:var(--warning)}.table-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-muted);padding-top:12px;border-top:1px solid var(--border)}.updated-at{font-size:12px}.table-viewer{max-width:2400px;margin:0 auto;padding:20px}.table-viewer.loading{display:flex;justify-content:center;align-items:center;min-height:200px}.table-viewer-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.table-viewer-header h1{flex:1;margin:0;font-size:24px}.table-viewer-header .home-button,.table-viewer-header .back-button{padding:8px 16px;background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--text-muted)}.table-viewer-header .home-button:hover,.table-viewer-header .back-button:hover{background:var(--surface);color:var(--text)}.table-viewer-header .home-button{font-size:16px;padding:6px 10px}.header-actions{display:flex;gap:8px;align-items:center}.header-actions .search-input{width:200px}.column-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:6px}.toolbar-btn{padding:6px 12px;background:var(--background);border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:13px;color:var(--text)}.toolbar-btn:hover{background:var(--border)}.toolbar-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.column-menu-container{position:relative}.column-menu{position:absolute;top:100%;left:0;z-index:1000;min-width:220px;max-height:300px;overflow-y:auto;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #00000040;margin-top:4px}[data-theme=dark] .column-menu{background:#1e1e1e}.column-menu-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);font-weight:600;font-size:12px;text-transform:uppercase;color:var(--text-muted);background:inherit}.column-menu-header .reset-btn{padding:4px 10px;font-size:11px;background:transparent;border:1px solid var(--border);border-radius:3px;cursor:pointer;color:var(--text-muted)}.column-menu-header .reset-btn:hover{background:var(--border);color:var(--text)}.column-menu-item{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--border)}.column-menu-item:last-child{border-bottom:none}.column-menu-item:hover{background:var(--hover)}.column-menu-item input{margin:0;width:16px;height:16px}.column-hint{margin-left:auto;font-size:11px;color:var(--text-muted)}.table-container{overflow:auto;max-height:calc(100vh - 300px);background:var(--surface);border:2px solid #888;border-radius:8px}.table-container table{width:max-content;min-width:100%;border-collapse:collapse;font-size:14px}.table-container th,.table-container td{padding:10px 12px;text-align:left;border:1px solid #666;box-sizing:border-box}.table-container thead th{background:#2a2a2a;font-weight:600;-webkit-user-select:none;user-select:none;white-space:nowrap;position:sticky;top:0;z-index:50;border-bottom:2px solid #666}[data-theme=light] .table-container thead th{background:#e0e0e0}.table-container td.cell-wrapped{white-space:pre-wrap!important;word-break:break-word!important;cursor:zoom-out}.table-container td:not(.cell-wrapped){cursor:zoom-in}.table-container tbody tr:hover{background:var(--hover)}.table-container tbody tr.selected{background:var(--primary-light, rgba(59, 130, 246, .15));outline:2px solid var(--primary, #3b82f6);outline-offset:-2px}.table-container tbody tr.selected td{border-top-color:var(--primary, #3b82f6);border-bottom-color:var(--primary, #3b82f6)}.table-container tbody tr.selected:hover{background:var(--primary-light, rgba(59, 130, 246, .2))}.resizable-header{position:relative}.resizable-header .th-content{display:flex;align-items:center;gap:4px;padding-right:16px;overflow:hidden;cursor:grab}.resizable-header .th-content:active{cursor:grabbing}.drag-handle{color:var(--text-muted);font-size:10px;letter-spacing:-2px;margin-right:4px;opacity:.5}.resizable-header:hover .drag-handle{opacity:1}.resize-handle{position:absolute;right:0;top:0;bottom:0;width:8px;cursor:col-resize;background:transparent;z-index:20}.resize-handle:after{content:"";position:absolute;right:3px;top:25%;bottom:25%;width:2px;background:var(--border);border-radius:1px}.resize-handle:hover:after,.resize-handle:active:after{background:var(--primary)}.resizable-header.drag-over{background:var(--primary-light)}.table-container.word-wrap td{white-space:pre-wrap!important;word-break:break-word!important;max-width:300px}.table-container:not(.word-wrap) td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px}.checkbox-col{width:40px;min-width:40px;max-width:40px;text-align:center!important;position:sticky;left:0;background:var(--surface);box-shadow:2px 0 4px #0000001a;z-index:10}thead .checkbox-col{background:#2a2a2a;z-index:60}[data-theme=light] thead .checkbox-col{background:#e0e0e0}tbody tr:hover .checkbox-col{background:var(--hover)}tbody tr.selected .checkbox-col{background:var(--primary-light, rgba(59, 130, 246, .15))}.id-col{width:80px;min-width:80px;color:var(--text-muted)}.actions-col{width:100px;min-width:100px;white-space:nowrap;position:sticky;right:0;background:var(--surface);box-shadow:-2px 0 4px #0000001a}thead .actions-col{background:var(--background);z-index:20}tbody tr:hover .actions-col{background:var(--hover)}tbody tr.selected .actions-col{background:var(--primary-light, rgba(59, 130, 246, .15))}tbody tr.selected:hover .actions-col,tbody tr.selected:hover .checkbox-col{background:var(--primary-light, rgba(59, 130, 246, .2))}.actions-col button{margin-right:4px}.col-icon{margin-right:6px}.pk-icon{margin-left:4px;font-size:12px}.sortable{cursor:pointer}.sortable:hover{background:#ffffff1a}[data-theme=light] .sortable:hover{background:#0000000d}.sortable.sorted{background:#3b82f633}.sortable.sorted:hover{background:#3b82f64d}.sort-indicator{margin-left:6px;font-size:10px;opacity:.3;transition:opacity .15s ease}.sortable:hover .sort-indicator{opacity:.5}.sort-indicator.asc,.sort-indicator.desc{opacity:1;color:var(--primary, #3b82f6);font-weight:700}.id-col.sortable{display:flex;align-items:center;justify-content:space-between;gap:4px}.id-col .th-text{flex:1}.empty-row{text-align:center;color:var(--text-muted);padding:40px!important}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.pagination-controls{display:flex;gap:8px;align-items:center}.pagination-controls select{padding:6px 10px}.pagination-controls button{padding:6px 12px}.pagination-controls button:disabled{opacity:.5;cursor:not-allowed}.table-container input[type=text],.table-container input[type=number],.table-container input[type=datetime-local]{width:100%;padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:var(--surface);color:var(--text)}.table-container input[type=checkbox]{width:16px;height:16px}.table-container .cell-textarea{width:100%;min-width:150px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;font-family:inherit;background:var(--surface);color:var(--text);resize:vertical;white-space:pre-wrap;word-wrap:break-word}.modal-content .form-group{margin-bottom:16px}.modal-content .form-group label{display:block;margin-bottom:6px;font-weight:500}.modal-content .form-group input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px}.settings-page{padding:20px;max-width:900px;margin:0 auto}.settings-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.settings-header h1{flex:1;margin:0;color:var(--text-primary)}.settings-header .header-right{display:flex;align-items:center;gap:12px}.home-button{padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;font-size:16px;transition:background .2s}.home-button:hover{background:var(--bg-tertiary)}.settings-section{background:var(--card-bg);border-radius:8px;padding:24px;margin-bottom:20px;box-shadow:0 2px 8px var(--card-shadow)}.settings-section h2{margin:0 0 20px;font-size:18px;color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:12px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:16px}.settings-grid.checkboxes{grid-template-columns:repeat(3,auto);justify-content:start;gap:24px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:14px;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:14px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.form-group small{font-size:12px;color:var(--text-muted)}.form-group textarea{resize:vertical;font-family:inherit}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text-primary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.badge{display:inline-block;background:var(--success-bg);color:var(--success-color);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;margin-left:8px}.settings-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.test-email-row{display:flex;gap:12px;align-items:center;margin-bottom:8px}.test-email-row input{flex:1;max-width:300px;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:14px}button.primary{background:var(--primary-color);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}button.primary:hover:not(:disabled){background:var(--primary-color-hover)}button.primary:disabled{opacity:.6;cursor:not-allowed}button.secondary{background:var(--secondary-bg);color:var(--text-primary);border:1px solid var(--border-color);padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px}button.secondary:hover:not(:disabled){background:var(--hover-bg)}button.secondary:disabled{opacity:.6;cursor:not-allowed}.ai-config-management{padding:20px}.ai-config-management.loading{display:flex;justify-content:center;align-items:center;height:200px;color:var(--text-secondary)}.provider-card{min-height:auto}.provider-card .resource-card-header{display:flex;justify-content:space-between;align-items:flex-start}.endpoint-badge{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--bg-tertiary, var(--bg-secondary));color:var(--text-secondary);text-transform:uppercase}.provider-description{font-size:13px;color:var(--text-secondary);margin:8px 0;line-height:1.4}.provider-details{display:flex;gap:12px;font-size:12px;color:var(--text-secondary);padding:8px 0;border-top:1px solid var(--border-color);margin-top:8px}.provider-details span{display:flex;align-items:center;gap:4px}.system-config-section{margin-top:40px;padding-top:20px;border-top:2px solid var(--border-color)}.system-config-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.system-config-section .section-header h2{margin:0;font-size:18px;font-weight:600}.system-config-section .section-actions{display:flex;gap:8px}.config-form{background:var(--bg-secondary);padding:20px;border-radius:8px;border:1px solid var(--border-color)}.config-form .form-group{margin-bottom:20px}.config-form .form-group:last-child{margin-bottom:0}.config-form label{display:block;margin-bottom:8px;font-weight:500;font-size:14px}.config-form textarea{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px;line-height:1.5;resize:vertical}.config-form textarea:focus{outline:none;border-color:var(--primary-color)}.config-form .help-text{display:block;margin-top:6px;font-size:12px;color:var(--text-secondary)}.config-form .help-text code{background:var(--bg-tertiary, rgba(0, 0, 0, .1));padding:2px 6px;border-radius:3px;font-size:11px}.modal-content.provider-modal{max-width:600px;max-height:85vh;display:flex;flex-direction:column;padding:0!important}.provider-modal .modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.provider-modal .modal-header h2{margin:0}.provider-modal .modal-body{flex:1;overflow-y:auto;padding:20px 24px}.provider-modal .modal-footer{padding:12px 24px;border-top:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;display:flex;justify-content:flex-end;gap:12px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.provider-modal .form-group{margin-bottom:16px}.provider-modal .form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:13px}.provider-modal input,.provider-modal select,.provider-modal textarea{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:14px}.provider-modal input:focus,.provider-modal select:focus,.provider-modal textarea:focus{outline:none;border-color:var(--primary-color)}.provider-modal .help-text{display:block;margin-top:4px;font-size:11px;color:var(--text-secondary)}.provider-modal textarea{font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;resize:vertical}.test-result{margin-bottom:16px;padding:12px;border-radius:6px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.test-result.success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.test-result.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.test-result-header{display:flex;align-items:center;gap:8px}.test-result-icon{font-size:16px;font-weight:700}.test-result.success .test-result-icon{color:#22c55e}.test-result.error .test-result-icon{color:#ef4444}.test-result-message{flex:1;font-size:14px;font-weight:500}.test-result.success .test-result-message{color:#22c55e}.test-result.error .test-result-message{color:#ef4444}.test-result-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-secondary);padding:0 4px;line-height:1}.test-result-close:hover{color:var(--text-primary)}.test-result-response{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color)}.test-result-response small{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:4px}.test-result-response p{margin:0;font-size:13px;color:var(--text-primary);font-style:italic}.checkbox-group{margin-top:8px}.checkbox-label{display:flex!important;align-items:center;gap:8px;cursor:pointer;font-weight:400!important}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.checkbox-label span{font-size:14px}.global-default-badge{display:inline-block;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:600;text-transform:uppercase;background:var(--primary-color);color:#fff;border-radius:4px;vertical-align:middle}td .global-default-badge{margin-left:6px}.audit-logs-page{max-width:100%}.audit-filters{display:flex;flex-wrap:wrap;gap:16px;padding:16px;background:var(--surface);border-radius:8px;margin-bottom:16px}.audit-filters .filter-group{display:flex;flex-direction:column;gap:4px}.audit-filters .filter-group label{font-size:12px;font-weight:500;color:var(--text-secondary)}.audit-filters .filter-group select{padding:6px 10px;border:1px solid var(--border);border-radius:4px;background:var(--background);color:var(--text);min-width:150px}.audit-table-container{overflow-x:auto;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.audit-table{width:100%;border-collapse:collapse;font-size:13px}.audit-table th,.audit-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.audit-table th{background:var(--surface-hover);font-weight:600;color:var(--text-secondary);white-space:nowrap}.audit-table tbody tr:hover{background:var(--surface-hover)}.audit-table .resource-id{font-family:monospace;font-size:11px;max-width:180px;overflow:hidden;text-overflow:ellipsis}.audit-table .empty-row{text-align:center;color:var(--text-secondary);padding:32px}.action-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.action-badge.action-create{background:#d4edda;color:#155724}.action-badge.action-update{background:#fff3cd;color:#856404}.action-badge.action-delete{background:#f8d7da;color:#721c24}.action-badge.action-execute{background:#cce5ff;color:#004085}.action-badge.action-reset{background:#e2e3e5;color:#383d41}.source-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.source-badge.source-web{background:#e2e3e5;color:#383d41}.source-badge.source-api{background:#d1ecf1;color:#0c5460}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;padding:12px}.pagination-controls .btn-sm{padding:6px 12px;font-size:12px}.page-input-group{display:flex;align-items:center;gap:6px}.page-input{width:60px;padding:6px 8px;border:1px solid var(--border);border-radius:4px;text-align:center;background:var(--background);color:var(--text)}.page-input::-webkit-inner-spin-button,.page-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.page-input[type=number]{-moz-appearance:textfield}[data-theme=dark] .action-badge.action-create{background:#1e3a2f;color:#7ed9a3}[data-theme=dark] .action-badge.action-update{background:#3d3517;color:#f5c842}[data-theme=dark] .action-badge.action-delete{background:#3d1f22;color:#f08a94}[data-theme=dark] .action-badge.action-execute{background:#1a3148;color:#7eb8f0}[data-theme=dark] .action-badge.action-reset,[data-theme=dark] .source-badge.source-web{background:#2d2d2d;color:#b0b0b0}[data-theme=dark] .source-badge.source-api{background:#1a3a42;color:#6ac4d8}.chart-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.chart-modal{background:var(--bg-primary);border-radius:8px;width:95vw;max-width:1600px;height:90vh;display:flex;flex-direction:column;overflow:hidden}.chart-modal.with-ai-panel{max-width:1800px}.chart-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.chart-modal-header h3{margin:0;font-size:16px;font-weight:600}.chart-modal-actions{display:flex;gap:8px;align-items:center}.btn-ai-toggle{padding:6px 12px;border-radius:4px;border:none;background:linear-gradient(135deg,#8b5cf6,#6366f1);cursor:pointer;font-size:13px;color:#fff;font-weight:500}.btn-ai-toggle:hover{background:linear-gradient(135deg,#7c3aed,#4f46e5)}.btn-ai-toggle.active{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;box-shadow:0 0 0 2px #8b5cf64d}.btn-reset-guided{padding:6px 12px;border-radius:4px;border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;font-size:13px;color:var(--text-secondary)}.btn-reset-guided:hover{background:var(--bg-primary);color:var(--text-primary);border-color:var(--accent-color)}.chart-error{padding:12px 16px;background:var(--error-bg, rgba(220, 53, 69, .1));color:var(--error-color, #dc3545);border-bottom:1px solid var(--border-color);font-size:13px}.chart-modal-body{flex:1;display:flex;overflow:hidden}.chart-config-panel{width:280px;min-width:280px;padding:16px;border-right:1px solid var(--border-color);overflow-y:auto;background:var(--bg-secondary)}.chart-config-panel .form-group{margin-bottom:16px}.chart-config-panel label{display:block;font-size:12px;font-weight:500;margin-bottom:6px;color:var(--text-secondary)}.chart-config-panel input[type=text],.chart-config-panel textarea,.chart-config-panel select{width:100%;padding:8px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.chart-config-panel input:focus,.chart-config-panel textarea:focus,.chart-config-panel select:focus{outline:none;border-color:var(--accent-color)}.chart-config-panel .help-text{display:block;font-size:11px;color:var(--text-muted);margin-top:4px}.column-checkboxes{display:flex;flex-direction:column;gap:6px;max-height:120px;overflow-y:auto;padding:8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px}.column-checkboxes.disabled{opacity:.6;pointer-events:none}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto}.checkbox-group{margin-bottom:12px}.config-mode-toggle{display:flex;gap:4px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.mode-btn{flex:1;padding:8px;border:1px solid var(--border-color);background:var(--bg-primary);cursor:pointer;font-size:12px;border-radius:4px;color:var(--text-secondary)}.mode-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.mode-btn.active{background:var(--button-primary);color:#fff;border-color:var(--button-primary)}.aggregation-section{margin-bottom:16px;padding:10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px}.aggregation-header{margin-bottom:0}.aggregation-section .aggregation-header .checkbox-label span{font-weight:500;font-size:12px;color:var(--text-primary)}.aggregation-controls{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-color)}.aggregation-controls .form-group{margin-bottom:10px}.metric-function-list{display:flex;flex-direction:column;gap:6px}.metric-function-row{display:flex;align-items:center;gap:8px}.metric-function-row .metric-col-name{flex:1;font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-function-row select{width:120px;min-width:120px;padding:4px 6px;font-size:12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary)}.sort-controls{display:flex;gap:6px}.sort-controls select{flex:1}.sort-controls select:last-child{flex:0 0 70px;min-width:70px}.aggregation-controls input[type=number]{width:100%;padding:6px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.chart-preview-panel{flex:1;display:flex;flex-direction:column;min-width:400px;overflow:hidden}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.preview-header h4{margin:0;font-size:14px;font-weight:500}.preview-actions{display:flex;gap:8px}.btn-small{padding:4px 10px;border:1px solid var(--border-color);border-radius:4px;background:transparent;cursor:pointer;font-size:12px;color:var(--text-secondary)}.btn-small:hover:not(:disabled){background:var(--bg-hover)}.btn-small:disabled{opacity:.5;cursor:not-allowed}.chart-preview-container{flex:1;padding:16px;overflow:hidden;display:flex;align-items:center;justify-content:center}.preview-loading,.preview-placeholder{color:var(--text-muted);font-size:14px;text-align:center}.preview-placeholder{max-width:300px;line-height:1.5}.chart-code-panel{width:400px;min-width:300px;display:flex;flex-direction:column;border-left:1px solid var(--border-color)}.code-header{padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.code-header h4{margin:0;font-size:14px;font-weight:500}.code-header .help-text{font-size:11px;color:var(--text-muted);margin-top:4px}.code-editor-container{flex:1;overflow:auto;min-height:0}.code-editor-container .cm-editor{height:100%}.code-editor-container .cm-scroller{overflow:auto!important}.dataset-warning{background:#fff3cd;border:1px solid #ffc107;color:#856404;padding:8px 12px;margin:8px 12px;border-radius:4px;font-size:13px;line-height:1.4}.dataset-warning code{background:#0000001a;padding:2px 4px;border-radius:3px;font-family:monospace;font-size:12px}[data-theme=dark] .dataset-warning{background:#3d3000;border-color:#665200;color:#ffc107}[data-theme=dark] .dataset-warning code{background:#ffffff1a}.chart-ai-panel{width:320px;min-width:280px;display:flex;flex-direction:column;border-left:1px solid var(--border-color);background:var(--bg-secondary)}.ai-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color)}.ai-panel-header h4{margin:0;font-size:14px;font-weight:500}.btn-close-panel{background:transparent;border:none;font-size:18px;cursor:pointer;color:var(--text-secondary);padding:4px 8px;border-radius:4px}.btn-close-panel:hover{background:var(--bg-hover)}.ai-panel-content{flex:1;padding:16px;overflow-y:auto}.no-providers-message{text-align:center;padding:20px}.no-providers-message p{margin:0 0 12px;color:var(--text-secondary)}.ai-warning{padding:12px;background:var(--warning-bg, rgba(255, 193, 7, .1));color:var(--warning-color, #856404);border-radius:4px;font-size:13px;margin-bottom:16px}.ai-panel-content .form-group{margin-bottom:16px}.ai-panel-content label{display:block;font-size:12px;font-weight:500;margin-bottom:6px;color:var(--text-secondary)}.ai-panel-content select,.ai-panel-content textarea{width:100%;padding:8px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.ai-panel-content select:focus,.ai-panel-content textarea:focus{outline:none;border-color:var(--accent-color)}.ai-panel-content .help-text{font-size:11px;color:var(--text-muted);margin-top:4px}.ai-panel-content .help-text.warning{color:var(--warning-color, #856404)}.btn-generate{width:100%;padding:10px 16px;border:none;border-radius:6px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-generate:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#4f46e5)}.btn-generate:disabled{opacity:.5;cursor:not-allowed}.ai-agg-detected{margin-top:8px;padding:8px 12px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px;font-size:12px;color:var(--text-secondary);line-height:1.4}.btn-configure{display:inline-block;padding:10px 20px;border-radius:6px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;text-decoration:none;font-size:14px}.btn-configure:hover{background:linear-gradient(135deg,#7c3aed,#4f46e5)}.chart-modal-footer{padding:10px 16px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.keyboard-hint{font-size:11px;color:var(--text-muted)}.keyboard-hint kbd{padding:2px 6px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;font-family:inherit;font-size:11px}.btn-primary{padding:6px 14px;border:none;border-radius:4px;background:var(--accent-color);color:#fff;cursor:pointer;font-size:13px;font-weight:500}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.chart-modal-actions .btn-primary{background:var(--success-color, #22c55e)}.chart-modal-actions .btn-primary:hover:not(:disabled){background:var(--success-color-hover, #16a34a)}.btn-secondary{padding:6px 14px;border:1px solid var(--border-color);border-radius:4px;background:transparent;cursor:pointer;font-size:13px;color:var(--text-secondary)}.btn-secondary:hover{background:var(--bg-hover)}.echart-wrapper{width:100%;height:100%}.charts-management{padding:20px}.charts-management.loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary)}.chart-card{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.chart-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.chart-card-stats{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}.chart-type-badge{display:inline-block;padding:4px 10px;background:var(--accent-color-light, rgba(79, 158, 255, .15));color:var(--accent-color);border-radius:4px;font-size:12px;font-weight:500}.chart-type-badge.small{padding:2px 8px;font-size:11px}.source-table{font-size:12px;color:var(--text-secondary)}.empty-desc{color:var(--text-muted);font-style:italic}.dashboards-management{padding:20px}.dashboards-management.loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary)}.dashboard-card{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.dashboard-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.dashboard-description{font-size:13px;color:var(--text-secondary);margin:8px 0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dashboard-meta{display:flex;align-items:center;gap:12px;margin-top:8px;font-size:12px;color:var(--text-muted)}.widget-wrapper{display:flex;flex-direction:column;height:100%;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.widget-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);min-height:32px;flex-shrink:0}.widget-title{font-size:13px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-actions{display:flex;gap:4px}.widget-btn{padding:2px 8px;font-size:11px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer}.widget-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.widget-btn.danger:hover{background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.widget-body{flex:1;padding:8px;overflow:auto;min-height:0}.widget-loading,.widget-error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:13px}.widget-error{color:var(--danger-color)}.chart-widget-content{width:100%;height:100%}.text-widget-content{height:100%}.text-widget-display{height:100%;overflow:auto}.text-widget-display p{margin:0;font-size:14px;color:var(--text-primary);line-height:1.5}.text-widget-empty{color:var(--text-muted);font-style:italic}.text-widget-editor{display:flex;flex-direction:column;height:100%;gap:8px}.text-widget-title-input{padding:6px 8px;font-size:13px;border:1px solid var(--border-color);border-radius:4px;background:var(--input-bg);color:var(--text-primary)}.text-widget-textarea{flex:1;padding:8px;font-size:13px;border:1px solid var(--border-color);border-radius:4px;background:var(--input-bg);color:var(--text-primary);resize:none;font-family:inherit}.text-widget-actions{display:flex;justify-content:flex-end;gap:8px}.table-widget-content{display:flex;flex-direction:column;height:100%}.table-widget-scroll{flex:1;overflow:auto;min-height:0}.table-widget-table{width:100%;border-collapse:collapse;font-size:12px}.table-widget-table th,.table-widget-table td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--border-color)}.table-widget-table th{background:var(--bg-secondary);font-weight:500;color:var(--text-secondary);position:sticky;top:0}.table-widget-table td{color:var(--text-primary)}.table-widget-empty{text-align:center;color:var(--text-muted);font-style:italic}.table-widget-pagination{display:flex;justify-content:center;align-items:center;gap:12px;padding:8px 0 0;border-top:1px solid var(--border-color);margin-top:8px}.table-widget-pagination span{font-size:12px;color:var(--text-secondary)}.kpi-widget-content{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.kpi-value-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center}.kpi-value{font-size:36px;font-weight:700;color:var(--text-primary);line-height:1.1;letter-spacing:-.5px}.kpi-label{font-size:13px;color:var(--text-secondary);font-weight:400}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height;-webkit-user-select:none;user-select:none}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.dashboard-builder{display:flex;flex-direction:column;height:100vh;background:var(--bg-primary)}.dashboard-builder.loading{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.dashboard-builder-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--card-bg);border-bottom:1px solid var(--border-color)}.dashboard-builder-title{display:flex;align-items:center;gap:12px}.home-btn{padding:6px 12px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:16px}.home-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.back-btn{padding:6px 12px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:13px}.back-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.dashboard-name-input{padding:8px 12px;font-size:16px;font-weight:500;background:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);min-width:300px}.dashboard-name-input:focus{outline:none;border-color:var(--accent-color)}.dashboard-builder-actions{display:flex;gap:8px}.dashboard-builder-toolbar{display:flex;align-items:center;padding:10px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);gap:8px}.toolbar-label{font-size:13px;color:var(--text-secondary);margin-right:4px}.toolbar-btn{padding:6px 12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px}.toolbar-btn:hover{background:var(--accent-color-light);border-color:var(--accent-color)}.toolbar-spacer{flex:1}.dashboard-description-input{padding:6px 12px;font-size:13px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);width:300px}.dashboard-canvas{flex:1;overflow:auto;padding:0;min-height:0}.dashboard-grid{padding:20px}.dashboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:var(--text-secondary);text-align:center;padding:20px}.dashboard-empty p{margin:4px 0}.dashboard-grid{min-height:100%}.dashboard-widget-container{background:transparent}.react-grid-item{transition:all .2s ease;transition-property:left,top}.react-grid-item.cssTransforms{transition-property:transform}.react-grid-item.react-draggable-dragging{transition:none;z-index:100;opacity:.9}.react-grid-item.react-grid-placeholder{background:var(--accent-color);opacity:.2;border-radius:8px}.react-resizable-handle{position:absolute;width:20px;height:20px}.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:8px;height:8px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.widget-select-modal{max-width:500px;max-height:60vh}.resource-select-list{max-height:300px;overflow-y:auto}.resource-select-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border:1px solid var(--border-color);border-radius:6px;margin-bottom:8px;cursor:pointer;transition:all .15s ease}.resource-select-item:hover{background:var(--accent-color-light);border-color:var(--accent-color)}.resource-name{font-weight:500;color:var(--text-primary)}.resource-type{font-size:12px;color:var(--text-secondary)}.empty-message{text-align:center;color:var(--text-secondary);padding:20px}.text-widget-setup{text-align:center;padding:20px}.text-widget-setup p{color:var(--text-secondary);margin-bottom:16px}.toolbar-refresh{display:flex;align-items:center;gap:6px;margin-right:8px}.toolbar-refresh-label{font-size:12px;color:var(--text-secondary);white-space:nowrap}.toolbar-refresh-select{padding:4px 8px;font-size:12px;border:1px solid var(--border-color);border-radius:4px;background:var(--input-bg);color:var(--text-primary)}.kpi-config-body .form-group{margin-bottom:12px}.kpi-config-body label{display:block;font-size:12px;font-weight:500;margin-bottom:4px;color:var(--text-secondary)}.kpi-config-body select,.kpi-config-body input{width:100%;padding:8px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--input-bg);color:var(--text-primary);font-size:13px}.kpi-format-row{display:flex;gap:8px}.kpi-format-row .form-group{flex:1}.dashboard-viewer{display:flex;flex-direction:column;height:100vh;background:var(--bg-primary)}.dashboard-viewer.loading,.dashboard-viewer.error{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.dashboard-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--card-bg);border-bottom:1px solid var(--border-color)}.dashboard-viewer-title{display:flex;align-items:center;gap:16px}.dashboard-viewer-title h1{margin:0;font-size:20px;color:var(--text-primary)}.dashboard-description{font-size:14px;color:var(--text-secondary)}.dashboard-viewer-actions{display:flex;gap:8px}.dashboard-viewer-canvas{flex:1;overflow:auto;padding:0;min-height:0}.dashboard-viewer-canvas .dashboard-grid{padding:20px}.dashboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:var(--text-secondary);text-align:center;gap:16px}.dashboard-viewer .home-btn,.dashboard-viewer .back-btn{padding:6px 12px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:13px}.dashboard-viewer .home-btn:hover,.dashboard-viewer .back-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.dashboard-viewer .home-btn{font-size:16px;padding:4px 10px}.refresh-controls{display:flex;align-items:center;gap:8px}.refresh-select{padding:5px 8px;font-size:12px;border:1px solid var(--border-color);border-radius:4px;background:var(--input-bg);color:var(--text-primary);cursor:pointer}.last-updated{font-size:11px;color:var(--text-muted);white-space:nowrap}.token-usage-page{padding:20px;max-width:1200px;margin:0 auto}.token-usage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.token-usage-header .header-left{display:flex;align-items:center;gap:12px}.token-usage-header h1{margin:0;color:var(--text-primary);font-size:24px;display:flex;align-items:center;gap:8px}.token-usage-header .home-button{padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;font-size:16px;transition:background .2s}.token-usage-header .home-button:hover{background:var(--bg-tertiary)}.token-usage-header .tenant-badge{color:var(--text-muted);font-size:14px;padding:4px 10px;background:var(--input-bg);border-radius:4px}.token-usage-header .header-right{display:flex;align-items:center;gap:12px}.usage-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.timeframe-selector{display:flex;align-items:center;gap:8px}.timeframe-selector label{font-size:14px;color:var(--text-secondary);font-weight:500}.timeframe-selector select{padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-primary);font-size:14px;cursor:pointer;min-width:140px}.timeframe-selector select:focus{outline:none;border-color:var(--primary-color)}.view-toggle-bar{display:flex;gap:8px;padding:4px;background:var(--bg-tertiary);border-radius:8px;width:fit-content}.view-toggle-bar button{padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.view-toggle-bar button:hover{color:var(--text-primary)}.view-toggle-bar button.active{background:var(--card-bg);color:var(--text-primary);box-shadow:0 1px 3px #0000001a}.usage-content{display:flex;flex-direction:column;gap:24px}.daily-limit-banner{background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border:1px solid rgba(59,130,246,.3);border-radius:12px;padding:20px 24px}.limit-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.limit-icon{font-size:24px}.limit-title{font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.limit-value{margin-left:auto;font-size:18px;font-weight:700;color:var(--primary-color)}.daily-limit-banner .limit-progress{margin-bottom:0;padding:0;background:transparent}.usage-section{background:var(--card-bg);border-radius:12px;padding:24px;box-shadow:0 2px 8px var(--card-shadow)}.usage-section h2{margin:0 0 20px;font-size:16px;color:var(--text-primary);font-weight:600}.limit-progress{margin-bottom:24px;padding:16px;background:var(--bg-tertiary);border-radius:8px}.limit-info{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.limit-info span{color:var(--text-primary)}.limit-info .remaining{color:var(--text-secondary)}.progress-bar{height:12px;background:var(--bg-secondary);border-radius:6px;overflow:hidden}.progress-fill{height:100%;border-radius:6px;transition:width .3s ease}.percent-label{margin-top:8px;text-align:right;font-size:12px;color:var(--text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.stats-grid.global-stats{grid-template-columns:repeat(4,1fr)}@media(max-width:768px){.stats-grid.global-stats{grid-template-columns:repeat(2,1fr)}}.stat-card{background:var(--bg-tertiary);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px}.stat-card.highlight{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff}.stat-card.highlight .stat-label{color:#fffc}.stat-card.highlight .stat-value{color:#fff}.stat-label{font-size:12px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:28px;font-weight:700;color:var(--text-primary)}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.breakdown-card{background:var(--bg-tertiary);border-radius:8px;padding:16px}.breakdown-label{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.breakdown-value{display:block;font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.breakdown-bar{height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.breakdown-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:3px;min-width:4px}.usage-table{width:100%;border-collapse:collapse}.usage-table th,.usage-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.usage-table th{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-tertiary)}.usage-table td{font-size:14px;color:var(--text-primary)}.usage-table .tenant-name{font-weight:500}.mini-progress{display:flex;align-items:center;gap:8px}.mini-progress-bar{height:6px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:3px;min-width:4px}.mini-progress span{font-size:12px;color:var(--text-secondary);min-width:50px}.empty-state{text-align:center;padding:48px 24px;color:var(--text-secondary)}.empty-state p{margin:0 0 8px}.empty-state .hint{font-size:13px;color:var(--text-muted)}.usage-date{font-size:14px;color:var(--text-secondary);margin:-8px 0 16px}.global-provider-info{padding:8px 12px;background:rgba(var(--primary-rgb, 59, 130, 246),.1);border:1px solid rgba(var(--primary-rgb, 59, 130, 246),.3);border-radius:6px;font-size:13px;color:var(--primary-color);margin-bottom:16px}.tenants-management{padding:24px}.tenant-card{min-height:140px}.tenant-card.inactive{opacity:.7;border-color:var(--border-color)}.tenant-id{font-size:11px;color:var(--text-muted);font-family:monospace;background:var(--input-bg);padding:2px 6px;border-radius:4px}.tenant-limit{font-size:13px;color:var(--text-secondary)}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;margin-left:8px}.badge-default{background:var(--primary-color);color:#fff}.badge-inactive{background:var(--error-color);color:#fff}.status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.active{background:rgba(var(--success-rgb),.15);color:var(--success-color)}.status-badge.inactive{background:rgba(var(--error-rgb),.15);color:var(--error-color)}.tenant-id-cell{font-family:monospace;font-size:12px;color:var(--text-muted)}.inactive-row{opacity:.6}.inactive-row td{color:var(--text-muted)}.show-inactive-toggle,.show-inactive-toggle input{cursor:pointer}.icon-button.success{color:var(--success-color)}.icon-button.success:hover{background:rgba(var(--success-rgb),.15)}.tenant-status-toggle{display:flex;align-items:center;gap:12px}.tenant-status-toggle .status-indicator{padding:4px 12px;border-radius:4px;font-size:13px;font-weight:500}.tenant-status-toggle .status-indicator.active{background:rgba(var(--success-rgb),.15);color:var(--success-color)}.tenant-status-toggle .status-indicator.inactive{background:rgba(var(--error-rgb),.15);color:var(--error-color)}.tenant-status-toggle button{padding:6px 12px;border-radius:4px;font-size:13px;font-weight:500;border:none;cursor:pointer}.tenant-status-toggle button.danger{background:var(--error-color);color:#fff}.tenant-status-toggle button.danger:hover{background:var(--error-hover)}.tenant-status-toggle button.success{background:var(--success-color);color:#fff}.tenant-status-toggle button.success:hover{filter:brightness(1.1)}.tenant-status-toggle button:disabled{opacity:.6;cursor:not-allowed}.execution-limit-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:0;font-size:14px;font-weight:500;z-index:1000;flex-shrink:0}.execution-limit-banner.warning{background:linear-gradient(90deg,#fef3c7,#fde68a);color:#92400e;border-bottom:1px solid #f59e0b}.execution-limit-banner.error{background:linear-gradient(90deg,#fee2e2,#fecaca);color:#991b1b;border-bottom:1px solid #ef4444}.execution-limit-banner .banner-icon{font-size:16px;flex-shrink:0}.execution-limit-banner .banner-message{flex:1}.execution-limit-banner a{color:inherit;text-decoration:underline;font-weight:600}.execution-limit-banner a:hover{opacity:.8}@media(prefers-color-scheme:dark){.execution-limit-banner.warning{background:linear-gradient(90deg,#451a03,#78350f);color:#fde68a;border-bottom-color:#d97706}.execution-limit-banner.error{background:linear-gradient(90deg,#450a0a,#7f1d1d);color:#fecaca;border-bottom-color:#dc2626}}.workflow-builder .execution-limit-banner{position:absolute;top:0;left:0;right:0}*{margin:0;padding:0;box-sizing:border-box}body{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;background-color:var(--bg-secondary);color:var(--text-primary)}#root{width:100%;min-height:100vh}html,body{overflow-x:hidden}button{cursor:pointer;border:none;padding:8px 16px;border-radius:4px;font-size:14px;transition:all .2s}button:hover{opacity:.9}button.primary{background-color:var(--button-primary);color:#fff}button.primary:hover{background-color:var(--button-primary-hover);opacity:1}button.secondary{background-color:var(--button-secondary);color:var(--text-primary);border:1px solid var(--border-color)}button.secondary:hover{background-color:var(--button-secondary-hover);opacity:1}button.danger{background-color:var(--button-danger);color:#fff}button.danger:hover{background-color:var(--button-danger-hover);opacity:1}input,textarea,select{padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:14px;background-color:var(--input-bg);color:var(--text-primary)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--button-primary)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}
