.sidebar{width:200px;background-color:#2c3e50;color:#fff;padding:1.5rem 0;display:flex;flex-direction:column;height:100vh;position:fixed;left:0;top:0;transition:background-color .3s ease}.dark-mode .sidebar{background-color:#1a1a1a;border-right:1px solid #333}.sidebar-title{font-size:1.2rem;font-weight:600;padding:0 1.5rem;margin-bottom:2rem;color:#ecf0f1}.dark-mode .sidebar-title{color:#e0e0e0}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;padding:0 1rem;flex:1}.sidebar-link{color:#bdc3c7;text-decoration:none;padding:.75rem 1rem;border-radius:4px;transition:all .2s;display:flex;align-items:center;gap:.75rem}.sidebar-link:hover{background-color:#34495e;color:#ecf0f1}.dark-mode .sidebar-link{color:#b0b0b0}.dark-mode .sidebar-link:hover{background-color:#2a2a2a;color:#fff}.sidebar-link.active{background-color:#3498db;color:#fff}.dark-mode .sidebar-link.active{background-color:#2980b9;color:#fff}.sidebar-icon{font-size:1.1rem;flex-shrink:0}.sidebar-footer{padding:1rem;border-top:1px solid rgba(255,255,255,.1);margin-top:auto}.dark-mode .sidebar-footer{border-top-color:#333}.theme-toggle{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;color:#bdc3c7;cursor:pointer;border-radius:4px;transition:all .2s;font-size:.9rem}.theme-toggle:hover{background-color:#34495e;color:#ecf0f1}.dark-mode .theme-toggle{color:#b0b0b0}.dark-mode .theme-toggle:hover{background-color:#2a2a2a;color:#fff}.theme-toggle svg{font-size:1.1rem}.sidebar-user{padding:.5rem 1rem;margin-bottom:.25rem}.sidebar-user-email{font-size:.8rem;color:#95a5a6;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark-mode .sidebar-user-email{color:#888}.sidebar-signout{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;color:#bdc3c7;cursor:pointer;border-radius:4px;transition:all .2s;font-size:.9rem;margin-top:.25rem}.sidebar-signout:hover{background-color:#34495e;color:#ecf0f1}.dark-mode .sidebar-signout:hover{background-color:#2a2a2a;color:#fff}.chart-renderer{background:var(--chart-bg, #ffffff);border:1px solid var(--chart-border, #e5e7eb);border-radius:8px;padding:1rem;margin:.75rem 0;transition:background-color .3s ease,border-color .3s ease}.dark-mode .chart-renderer{--chart-bg: #1e2530;--chart-border: #374151}.chart-renderer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:.5rem}.chart-renderer-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.chart-save-btn{flex-shrink:0;font-size:.8rem;padding:.35rem .75rem!important;display:inline-flex;align-items:center;gap:.35rem}.widget-refresh-error{margin:-.25rem 0 .5rem;padding:.4rem .6rem;font-size:.8rem;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:4px}.chart-renderer-title{font-weight:600;font-size:.95rem;color:#1e293b;flex:1;transition:color .3s ease}.dark-mode .chart-renderer-title{color:#e2e8f0}.chart-renderer-body{width:100%}.chart-empty{text-align:center;padding:2rem;color:#94a3b8;font-size:.9rem}.chart-saved-msg{font-size:.82rem;color:#22c55e;margin-bottom:.5rem}.chart-save-modal{max-width:420px}.chart-new-dash-btn{margin-top:.5rem;font-size:.85rem;color:#3498db;background:none;border:none;cursor:pointer;padding:0;text-align:left}.chart-new-dash-btn:hover{text-decoration:underline}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.chart-renderer .button-secondary,.chart-save-modal .button-secondary{padding:.75rem 1.5rem;background-color:transparent;color:#3498db;border:1px solid #3498db;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s}.chart-renderer .button-secondary:hover,.chart-save-modal .button-secondary:hover{background-color:#ebf5fb}.dark-mode .chart-renderer .button-secondary,.dark-mode .chart-save-modal .button-secondary{color:#e4e9f0;border-color:#8aa0b8}.dark-mode .chart-renderer .button-secondary:hover,.dark-mode .chart-save-modal .button-secondary:hover{background-color:#1a2a3a}.button-ghost{background:none;border:none;cursor:pointer;padding:0}.form-error{color:#ef4444;font-size:.85rem;margin-top:.5rem}.datagrid-widget{background:var(--chart-bg, #ffffff);border:1px solid var(--chart-border, #e5e7eb);border-radius:8px;padding:.75rem;margin:.75rem 0;transition:background-color .3s ease,border-color .3s ease;display:flex;flex-direction:column;gap:.5rem}.dark-mode .datagrid-widget{--chart-bg: #1e2530;--chart-border: #374151}.datagrid-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.datagrid-title{font-weight:600;font-size:.95rem;color:#1e293b;flex:1;min-width:0;transition:color .3s}.dark-mode .datagrid-title{color:#e2e8f0}.datagrid-header-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.datagrid-meta{font-size:.78rem;color:#94a3b8}.datagrid-header-right .chart-save-btn{font-size:.8rem;padding:.35rem .75rem!important;display:inline-flex;align-items:center;gap:.35rem}.widget-refresh-spin{animation:widget-refresh-spin .8s linear infinite}@keyframes widget-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.widget-refresh-error{padding:.4rem .6rem;font-size:.8rem;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:4px}.dark-mode .widget-refresh-error{color:#fca5a5;background:#450a0a;border-color:#7f1d1d}.datagrid-empty{text-align:center;padding:1.5rem;color:#94a3b8;font-size:.9rem}.datagrid-table-wrap{overflow-x:auto;overflow-y:auto;max-height:400px;border:1px solid #e5e7eb;border-radius:6px;transition:border-color .3s}.dark-mode .datagrid-table-wrap{border-color:#374151}.datagrid-table{width:100%;border-collapse:collapse;font-size:.82rem;white-space:nowrap}.datagrid-table th{position:sticky;top:0;background:#f8fafc;border-bottom:2px solid #e5e7eb;padding:.5rem .75rem;text-align:left;font-weight:600;color:#475569;z-index:1;transition:background-color .3s,border-color .3s}.dark-mode .datagrid-table th{background:#1a1f2a;border-bottom-color:#374151;color:#94a3b8}.datagrid-table td{padding:.4rem .75rem;border-bottom:1px solid #f1f5f9;color:#334155;max-width:220px;overflow:hidden;text-overflow:ellipsis;transition:border-color .3s,color .3s}.dark-mode .datagrid-table td{border-bottom-color:#1e2530;color:#cbd5e1}.datagrid-table tr:last-child td{border-bottom:none}.datagrid-table tbody tr:hover td{background:#f8fafc}.dark-mode .datagrid-table tbody tr:hover td{background:#1a2130}.datagrid-pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;padding-top:.25rem}.datagrid-page-btn{background:none;border:1px solid #e5e7eb;border-radius:4px;padding:.2rem .6rem;cursor:pointer;font-size:.85rem;color:#64748b;transition:all .2s}.datagrid-page-btn:hover:not(:disabled){border-color:#3498db;color:#3498db}.datagrid-page-btn:disabled{opacity:.4;cursor:not-allowed}.dark-mode .datagrid-page-btn{border-color:#374151;color:#94a3b8}.datagrid-page-info{font-size:.82rem;color:#94a3b8}.datagrid-export-wrap{position:relative}.datagrid-export-btn{font-size:.78rem;padding:.2rem .55rem}.datagrid-export-menu{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:50;min-width:130px;overflow:hidden}.dark-mode .datagrid-export-menu{background:#1e2530;border-color:#374151;box-shadow:0 4px 12px #0006}.datagrid-export-item{display:block;width:100%;padding:.5rem .85rem;text-align:left;background:none;border:none;cursor:pointer;font-size:.83rem;color:#334155;transition:background .15s,color .15s}.datagrid-export-item:hover{background:#f1f5f9;color:#3498db}.dark-mode .datagrid-export-item{color:#cbd5e1}.dark-mode .datagrid-export-item:hover{background:#1a2130;color:#5dade2}.context-usage-indicator{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#95a5a6;cursor:default}.dark-mode .context-usage-indicator{color:#6b7280}.context-usage-indicator-track{stroke:currentColor;opacity:.25}.context-usage-indicator-fill{stroke:currentColor;transition:stroke-dashoffset .25s ease,stroke .25s ease}.context-usage-indicator--caution .context-usage-indicator-fill{stroke:#f39c12}.context-usage-indicator--warning .context-usage-indicator-fill{stroke:#e74c3c}.context-usage-indicator--caution{color:#f39c12}.context-usage-indicator--warning{color:#e74c3c}.chat-input-form .context-usage-indicator{align-self:flex-end;margin-bottom:.65rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.dark-mode .modal-overlay{background-color:#000c}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a;transition:background-color .3s ease}.dark-mode .modal-content{background:#2a2a2a;border:1px solid #444;box-shadow:0 4px 6px #00000080}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #ddd}.dark-mode .modal-header{border-bottom-color:#444}.modal-header h2{margin:0;color:#2c3e50;transition:color .3s ease}.dark-mode .modal-header h2{color:#e0e0e0}.modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:#7f8c8d;line-height:1;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.modal-close:hover{color:#2c3e50}.dark-mode .modal-close{color:#b0b0b0}.dark-mode .modal-close:hover{color:#e0e0e0}.modal-body{padding:1.5rem}.page{width:100%;max-width:none;margin:0}.page h1{margin-bottom:2rem;color:#2c3e50;transition:color .3s ease}.dark-mode .page h1{color:#e0e0e0}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-back-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;color:#64748b;background:none;border:none;cursor:pointer;padding:0;margin-bottom:.75rem;transition:color .2s}.page-back-link:hover{color:#3498db}.dark-mode .page-back-link{color:#94a3b8}.dark-mode .page-back-link:hover{color:#5dade2}.page-header-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.page-loading{color:#7f8c8d;padding:2rem 0}.dark-mode .page-loading{color:#94a3b8}.button-primary{padding:.75rem 1.5rem;background-color:#3498db;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .2s}.button-primary:hover:not(:disabled){background-color:#2980b9}.button-primary:disabled{opacity:.6;cursor:not-allowed}.button-secondary{padding:.5rem 1rem;background-color:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s}.button-secondary:hover:not(:disabled){background-color:#f8fafc;border-color:#cbd5e1;color:#334155}.dark-mode .button-secondary{background-color:#2a2a2a;border-color:#444;color:#cbd5e1}.dark-mode .button-secondary:hover:not(:disabled){background-color:#333;border-color:#555;color:#e0e0e0}.button-danger{padding:.5rem 1rem;background-color:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .15s,border-color .15s}.button-danger:hover:not(:disabled){background-color:#fee2e2;border-color:#fca5a5}.dark-mode .button-danger{background-color:#dc262626;border-color:#f8717159;color:#fca5a5}.dark-mode .button-danger:hover:not(:disabled){background-color:#dc262640}.button-sm{padding:.35rem .65rem;font-size:.85rem}.empty-state{text-align:center;padding:3rem;background:#f8f9fa;border-radius:8px;transition:background-color .3s ease}.dark-mode .empty-state{background:#2a2a2a}.empty-state p{margin-bottom:1.5rem;color:#7f8c8d;font-size:1.1rem;transition:color .3s ease}.dark-mode .empty-state p{color:#b0b0b0}.page-description{margin-bottom:2rem;color:#7f8c8d;font-style:italic;transition:color .3s ease}.dark-mode .page-description{color:#b0b0b0}.page-content{display:flex;flex-direction:column;gap:2rem}.form-section,.list-section{background:#f8f9fa;padding:1.5rem;border-radius:8px;transition:background-color .3s ease}.dark-mode .form-section,.dark-mode .list-section{background:#2a2a2a;border:1px solid #333}.form-section h2,.list-section h2{margin-bottom:1rem;color:#34495e;font-size:1.2rem;transition:color .3s ease}.dark-mode .form-section h2,.dark-mode .list-section h2{color:#e0e0e0}.form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#34495e;transition:color .3s ease}.dark-mode .form-group label{color:#e0e0e0}.form-group input[type=text],.form-group input[type=url],.form-group input[type=email],.form-group input[type=number],.form-group input[type=password],.form-group input[type=date],.form-group input[type=datetime-local],.form-group input[type=month],.form-group input[type=time],.form-group input[type=week],.form-group input[type=checkbox],.form-group select,.form-group textarea{width:100%;box-sizing:border-box;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;background-color:#fff;color:#2c3e50;transition:all .3s ease}.dark-mode .form-group input[type=text],.dark-mode .form-group input[type=url],.dark-mode .form-group input[type=email],.dark-mode .form-group input[type=number],.dark-mode .form-group input[type=password],.dark-mode .form-group input[type=date],.dark-mode .form-group input[type=datetime-local],.dark-mode .form-group input[type=month],.dark-mode .form-group input[type=time],.dark-mode .form-group input[type=week],.dark-mode .form-group select,.dark-mode .form-group textarea{background-color:#1a1a1a;border-color:#444;color:#e0e0e0;color-scheme:dark}.dark-mode .form-group input[type=text]:focus,.dark-mode .form-group input[type=url]:focus,.dark-mode .form-group input[type=email]:focus,.dark-mode .form-group input[type=number]:focus,.dark-mode .form-group input[type=password]:focus,.dark-mode .form-group input[type=date]:focus,.dark-mode .form-group input[type=datetime-local]:focus,.dark-mode .form-group input[type=month]:focus,.dark-mode .form-group input[type=time]:focus,.dark-mode .form-group input[type=week]:focus,.dark-mode .form-group select:focus,.dark-mode .form-group textarea:focus{border-color:#3498db;outline:none}.dark-mode .form-group input[type=date]::-webkit-calendar-picker-indicator,.dark-mode .form-group input[type=datetime-local]::-webkit-calendar-picker-indicator,.dark-mode .form-group input[type=month]::-webkit-calendar-picker-indicator,.dark-mode .form-group input[type=time]::-webkit-calendar-picker-indicator,.dark-mode .form-group input[type=week]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.8}.form-group textarea{resize:vertical;font-family:inherit}.form-group input[type=checkbox]{width:auto;margin-right:.5rem}.form-actions{display:flex;gap:.5rem;margin-top:.5rem}.form-actions button{padding:.5rem 1rem;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s}.form-actions button:hover{background-color:#2980b9}.form-actions button[type=button]{background-color:transparent;color:#475569;border:1px solid #e2e8f0}.form-actions button[type=button]:hover{background-color:#f8fafc;border-color:#cbd5e1}.dark-mode .form-actions button[type=button]{background-color:#2a2a2a;border-color:#444;color:#cbd5e1}.dark-mode .form-actions button[type=button]:hover{background-color:#333;border-color:#555}.list{display:flex;flex-direction:column;gap:1rem}.list-item{background:#fff;padding:1rem;border-radius:4px;border:1px solid #ddd;display:flex;justify-content:space-between;align-items:flex-start;transition:all .2s}.dark-mode .list-item{background:#2a2a2a;border-color:#444}.list-item:hover{box-shadow:0 2px 4px #0000001a}.dark-mode .list-item:hover{box-shadow:0 2px 4px #0000004d;border-color:#555}.list-item.selected{border-color:#3498db;background-color:#ebf5fb}.dark-mode .list-item.selected{border-color:#2980b9;background-color:#1a3a52}.list-item-content{flex:1}.list-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.list-item-header>div{display:flex;align-items:center;gap:.5rem}.list-item-header h3{margin:0;color:#2c3e50;font-size:1.1rem;transition:color .3s ease}.dark-mode .list-item-header h3{color:#e0e0e0}.list-item-meta{margin:.25rem 0;color:#7f8c8d;font-size:.9rem;transition:color .3s ease}.dark-mode .list-item-meta{color:#b0b0b0}.list-item-notes{margin-top:.5rem;color:#555;font-style:italic;transition:color .3s ease}.dark-mode .list-item-notes{color:#b0b0b0}.list-item-actions{display:flex;gap:.5rem;margin-left:1rem}.list-item-actions button{padding:.4rem .8rem;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s;height:auto;line-height:1.4}.list-item-actions button:hover{background-color:#2980b9}.list-item-actions .button-secondary{background-color:#27ae60;margin-top:0}.list-item-actions .button-secondary:hover{background-color:#229954}.list-item-actions .button-secondary:disabled{background-color:#95a5a6;cursor:not-allowed;opacity:.6}.list-item-actions .button-danger{background-color:#e74c3c}.list-item-actions .button-danger:hover{background-color:#c0392b}.list-item-actions .button-truncate{background-color:#7b241c;color:#fff;border:none;margin-top:0}.list-item-actions .button-truncate:hover{background-color:#641e16}.list-item-actions .button-truncate:disabled{background-color:#95a5a6;cursor:not-allowed;opacity:.6}.badge{padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.badge-active{background-color:#2ecc71;color:#fff}.badge-inactive{background-color:#95a5a6;color:#fff}.badge-engine{background-color:#9b59b6;color:#fff}.badge-placeholder{background-color:#f39c12;color:#fff}.toggle-switch{display:flex;align-items:center;gap:.5rem;cursor:pointer}.toggle-switch input[type=checkbox]{cursor:pointer}.toggle-label{font-size:.9rem;color:#7f8c8d;transition:color .3s ease}.dark-mode .toggle-label{color:#b0b0b0}@media (max-width: 768px){.knowledge-layout{grid-template-columns:1fr}}.chat-page{display:flex;flex-direction:column;height:calc(100vh - 4rem);max-height:calc(100vh - 4rem)}.chat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.chat-header .button-primary{display:flex;align-items:center;gap:.5rem}.context-warning{background:#fff3cd;border:1px solid #ffc107;color:#856404;padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem}.dark-mode .context-warning{background:#3d2f00;border-color:#ffc107;color:#ffc107}.chat-layout{display:flex;gap:1rem;flex:1;min-height:0}.chat-sessions{width:250px;background:#f8f9fa;border-radius:8px;border:1px solid #ddd;display:flex;flex-direction:column;overflow:hidden}.dark-mode .chat-sessions{background:#2a2a2a;border-color:#444}.chat-sessions-header{padding:1rem;font-weight:600;border-bottom:1px solid #ddd;color:#2c3e50}.dark-mode .chat-sessions-header{border-bottom-color:#444;color:#e0e0e0}.chat-sessions-list{flex:1;overflow-y:auto;padding:.5rem}.chat-session-item{padding:.75rem;margin-bottom:.5rem;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:.35rem;background:#fff;border:1px solid #e0e0e0;transition:all .2s}.dark-mode .chat-session-item{background:#1a1a1a;border-color:#444}.chat-session-item:hover{background:#f0f0f0;border-color:#3498db}.dark-mode .chat-session-item:hover{background:#2a2a2a;border-color:#2980b9}.chat-session-item.active{background:#3498db;border-color:#2980b9;color:#fff}.dark-mode .chat-session-item.active{background:#2980b9;border-color:#1f6fa8}.chat-session-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.chat-session-item-main{flex:1;min-width:0}.chat-session-date{display:block;margin-top:.2rem;font-size:.75rem;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-session-item.active .chat-session-date{opacity:.9}.chat-session-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .2s}.chat-session-item:hover .chat-session-actions,.chat-session-item.active .chat-session-actions{opacity:1}.chat-session-action-btn{background:transparent;border:none;color:inherit;cursor:pointer;padding:.25rem;display:flex;align-items:center;border-radius:2px;transition:background-color .2s}.chat-session-action-btn:hover{background:#0000001a}.chat-session-item.active .chat-session-action-btn:hover{background:#fff3}.chat-session-edit input{width:100%;padding:.25rem;border:1px solid #3498db;border-radius:2px;font-size:.9rem}.dark-mode .chat-session-edit input{background:#1a1a1a;border-color:#2980b9;color:#e0e0e0}.chat-sessions-empty{padding:2rem 1rem;text-align:center;color:#7f8c8d;font-size:.9rem}.dark-mode .chat-sessions-empty{color:#b0b0b0}.chat-container{flex:1;display:flex;flex-direction:column;background:#f8f9fa;border-radius:8px;overflow:hidden;border:1px solid #ddd;min-height:0}.dark-mode .chat-container{background:#2a2a2a;border-color:#444}.chat-active-session-bar{padding:.85rem 1.25rem;border-bottom:1px solid #e0e0e0;background:#fff;flex-shrink:0}.dark-mode .chat-active-session-bar{background:#1f1f1f;border-bottom-color:#444}.chat-active-session-title{margin:0;font-size:1rem;font-weight:600;color:#2c3e50;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark-mode .chat-active-session-title{color:#e0e0e0}.chat-active-session-meta{margin:.25rem 0 0;font-size:.8rem;color:#7f8c8d}.dark-mode .chat-active-session-meta{color:#b0b0b0}.chat-active-session-meta-sep{opacity:.7}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#7f8c8d}.dark-mode .chat-empty{color:#b0b0b0}.chat-hint{margin-top:1rem;font-size:.9rem;font-style:italic}.chat-message{display:flex;max-width:80%;animation:fadeIn .3s ease;position:relative}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message-user{align-self:flex-end}.chat-message-assistant{align-self:flex-start}.chat-message-content{padding:1rem 1.25rem;border-radius:12px;line-height:1.6}.chat-message-user .chat-message-content{background:#3498db;color:#fff;border-bottom-right-radius:4px;position:relative}.chat-message-user-actions{position:absolute;top:.35rem;right:.35rem;display:flex;justify-content:flex-end;opacity:0;pointer-events:none;transition:opacity .2s}.chat-message-user:hover .chat-message-user-actions{opacity:1;pointer-events:auto}.chat-message-edit-btn{background:#fff3;border:none;color:#fff;cursor:pointer;padding:.25rem .4rem;border-radius:4px;display:flex;align-items:center;font-size:.85rem}.chat-message-edit-btn:hover:not(:disabled){background:#ffffff59}.chat-message-edit-btn:disabled{opacity:.5;cursor:not-allowed}.chat-message-edit{display:flex;flex-direction:column;gap:.5rem;width:100%}.chat-message-edit-input{width:100%;min-width:16rem;padding:.5rem;border:1px solid rgba(255,255,255,.4);border-radius:4px;font-size:1rem;font-family:inherit;resize:vertical;background:#ffffff26;color:#fff}.chat-message-edit-input::placeholder{color:#ffffffb3}.chat-message-edit-input:focus{outline:none;border-color:#fffc}.chat-message-edit-actions{display:flex;gap:.5rem;flex-wrap:wrap}.chat-message-edit-send{padding:.4rem .75rem;font-size:.875rem}.chat-message-edit-cancel{padding:.4rem .75rem;font-size:.875rem;background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:4px;cursor:pointer}.chat-message-edit-cancel:hover:not(:disabled){background:#ffffff26}.chat-message-edit-hint{margin:0;font-size:.75rem;opacity:.85;line-height:1.4}.dark-mode .chat-message-user .chat-message-content{background:#2980b9}.chat-message-assistant .chat-message-content{background:#fff;color:#2c3e50;border-bottom-left-radius:4px;border:1px solid #e0e0e0}.dark-mode .chat-message-assistant .chat-message-content{background:#1a1a1a;color:#e0e0e0;border-color:#444}.chat-message-content p{margin:.5rem 0}.chat-message-content p:first-child{margin-top:0}.chat-message-content p:last-child{margin-bottom:0}.chat-message-content h1,.chat-message-content h2,.chat-message-content h3,.chat-message-content h4,.chat-message-content h5,.chat-message-content h6{margin:1rem 0 .5rem;font-weight:600}.chat-message-content h1:first-child,.chat-message-content h2:first-child,.chat-message-content h3:first-child{margin-top:0}.chat-message-content ul,.chat-message-content ol{margin:.5rem 0;padding-left:1.5rem}.chat-message-content li{margin:.25rem 0}.chat-message-content code{background:#0000001a;padding:.2rem .4rem;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.dark-mode .chat-message-content code{background:#ffffff1a;color:#e4e4e4}.chat-message-content pre{background:#0000000d;padding:1rem;border-radius:4px;overflow-x:auto;margin:.5rem 0}.dark-mode .chat-message-content pre{background:#2d2d2d;color:#e4e4e4}.chat-message-content pre code{background:none;padding:0}.chat-message-content blockquote{border-left:3px solid #3498db;padding-left:1rem;margin:.5rem 0;color:#7f8c8d;font-style:italic}.dark-mode .chat-message-content blockquote{border-left-color:#2980b9;color:#b0b0b0}.chat-message-content table{border-collapse:collapse;width:100%;margin:.5rem 0}.chat-message-content th,.chat-message-content td{border:1px solid #ddd;padding:.5rem;text-align:left}.dark-mode .chat-message-content th,.dark-mode .chat-message-content td{border-color:#444}.chat-message-content th{background:#0000000d;font-weight:600}.dark-mode .chat-message-content th{background:#ffffff0d}.chat-message-content a{color:#3498db;text-decoration:underline}.dark-mode .chat-message-content a{color:#5dade2}.chat-loading{display:flex;gap:.5rem;align-items:center}.chat-loading span{width:8px;height:8px;border-radius:50%;background:#3498db;animation:bounce 1.4s infinite ease-in-out both}.dark-mode .chat-loading span{background:#2980b9}.chat-loading span:nth-child(1){animation-delay:-.32s}.chat-loading span:nth-child(2){animation-delay:-.16s}.chat-stream-status{display:flex;align-items:center;gap:.75rem}.chat-stream-status-text{color:#666;font-size:.9rem}.dark-mode .chat-stream-status-text{color:#aaa}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-message-thinking{margin-bottom:.75rem}.chat-message-thinking details{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.dark-mode .chat-message-thinking details{border-color:#444}.chat-message-thinking summary{padding:.5rem .75rem;cursor:pointer;font-size:.875rem;color:#7f8c8d;background:#00000008;list-style:none;-webkit-user-select:none;user-select:none}.chat-message-thinking summary::-webkit-details-marker{display:none}.chat-message-thinking summary:before{content:"▶ ";font-size:.7em;margin-right:.25rem}.chat-message-thinking details[open] summary:before{content:"▼ "}.dark-mode .chat-message-thinking summary{color:#b0b0b0;background:#ffffff0d}.chat-thinking-raw{margin:0;padding:.75rem 1rem;font-size:.8rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:20rem;overflow-y:auto;background:#0000000a;border-top:1px solid #e0e0e0;font-family:ui-monospace,monospace}.dark-mode .chat-thinking-raw{background:#2d2d2d;color:#e4e4e4;border-top-color:#444}.chat-toolbar{padding:.5rem 1rem;background:#fff;border-top:1px solid #eee;display:flex;align-items:center;gap:.5rem}.dark-mode .chat-toolbar{background:#2a2a2a;border-top-color:#444}.chat-show-thinking-toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:#555;cursor:pointer;transition:color .2s;-webkit-user-select:none;user-select:none}.dark-mode .chat-show-thinking-toggle{color:#b0b0b0}.chat-show-thinking-toggle input{cursor:pointer}.chat-technical-details{margin:.75rem 0;border:1px solid #e0e0e0;border-radius:8px;background:#00000008;overflow:hidden}.chat-technical-details summary{cursor:pointer;padding:.5rem .75rem;font-size:.85rem;color:#7f8c8d;-webkit-user-select:none;user-select:none;list-style:none}.chat-technical-details summary::-webkit-details-marker{display:none}.chat-technical-details summary:before{content:"▸ ";display:inline-block;transition:transform .15s ease}.chat-technical-details[open] summary:before{transform:rotate(90deg)}.chat-technical-details-body{padding:0 .75rem .75rem;border-top:1px solid #e8e8e8}.dark-mode .chat-technical-details{border-color:#444;background:#ffffff0a}.dark-mode .chat-technical-details summary{color:#b0b0b0}.dark-mode .chat-technical-details-body{border-top-color:#444}.chat-llm-logs-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.85rem;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;color:#555;cursor:pointer;margin-left:auto}.chat-llm-logs-btn:hover{background:#e5e5e5;border-color:#ccc;color:#333}.dark-mode .chat-llm-logs-btn{background:#333;border-color:#555;color:#b0b0b0}.dark-mode .chat-llm-logs-btn:hover{background:#444;border-color:#666;color:#e0e0e0}.chat-llm-logs-modal{max-width:90vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.chat-llm-logs-empty,.chat-llm-logs-hint{margin:0 0 .75rem;font-size:.9rem;color:#666}.dark-mode .chat-llm-logs-empty,.dark-mode .chat-llm-logs-hint{color:#a0a0a0}.chat-llm-logs-list{overflow-y:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:.5rem}.chat-llm-log-entry{border:1px solid #ddd;border-radius:6px;overflow:hidden}.dark-mode .chat-llm-log-entry{border-color:#444}.chat-llm-log-entry summary{padding:.5rem .75rem;cursor:pointer;font-size:.9rem;background:#f8f8f8;display:flex;align-items:center;gap:.75rem}.dark-mode .chat-llm-log-entry summary{background:#2a2a2a}.chat-llm-log-time{font-weight:500;color:#2c3e50}.dark-mode .chat-llm-log-time{color:#e0e0e0}.chat-llm-log-model{font-size:.8rem;color:#666;font-family:ui-monospace,monospace}.dark-mode .chat-llm-log-model{color:#a0a0a0}.chat-llm-log-payloads{padding:.5rem .75rem;display:flex;flex-direction:column;gap:.5rem;border-top:1px solid #eee}.dark-mode .chat-llm-log-payloads{border-top-color:#444}.chat-llm-log-payload summary{padding:.35rem 0;background:transparent;font-size:.85rem;font-weight:600;color:#555}.dark-mode .chat-llm-log-payload summary{color:#b0b0b0}.chat-llm-log-json{margin:.5rem 0 0;padding:.75rem;font-size:.75rem;font-family:ui-monospace,monospace;white-space:pre-wrap;word-break:break-word;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;max-height:20rem;overflow:auto}.dark-mode .chat-llm-log-json{background:#1a1a1a;border-color:#444;color:#e0e0e0}.chat-message-tool-calls{margin-bottom:.75rem}.chat-message-tool-calls>details{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.dark-mode .chat-message-tool-calls>details{border-color:#444}.chat-message-tool-calls summary{padding:.5rem .75rem;cursor:pointer;font-size:.875rem;color:#7f8c8d;background:#00000008;list-style:none;-webkit-user-select:none;user-select:none}.chat-message-tool-calls summary::-webkit-details-marker{display:none}.dark-mode .chat-message-tool-calls summary{color:#b0b0b0;background:#ffffff0d}.chat-tool-calls-list{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;border-top:1px solid #e0e0e0}.dark-mode .chat-tool-calls-list{border-top-color:#444}.chat-tool-call-item{border:1px solid #e8e8e8;border-radius:6px;overflow:hidden}.dark-mode .chat-tool-call-item{border-color:#3a3a3a}.chat-tool-call-item summary{padding:.4rem .6rem;font-size:.85rem;cursor:pointer;background:#00000005}.dark-mode .chat-tool-call-item summary{background:#ffffff08}.chat-tool-call-item summary code{font-family:ui-monospace,monospace;font-size:.9em}.chat-tool-call-args,.chat-tool-call-result{padding:.5rem .75rem;font-size:.8rem;border-top:1px solid #eee}.dark-mode .chat-tool-call-args,.dark-mode .chat-tool-call-result{border-top-color:#333}.chat-tool-call-args pre,.chat-tool-call-result pre{margin:.25rem 0 0;padding:.5rem;background:#0000000a;border-radius:4px;white-space:pre-wrap;word-break:break-word;max-height:12rem;overflow-y:auto;font-family:ui-monospace,monospace}.dark-mode .chat-tool-call-args pre,.dark-mode .chat-tool-call-result pre{background:#2d2d2d;color:#e4e4e4}.chat-sql-block{margin:1rem 0;border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#f5f5f5}.dark-mode .chat-sql-block{border-color:#444;background:#1e1e1e}.chat-sql-block-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#e8e8e8;border-bottom:1px solid #ddd}.dark-mode .chat-sql-block-header{background:#2a2a2a;border-bottom-color:#444}.chat-sql-block-source{font-weight:600;font-size:.9rem;color:#2c3e50}.dark-mode .chat-sql-block-source{color:#e0e0e0}.chat-sql-block-run{padding:.35rem .75rem;font-size:.875rem}.chat-sql-block-explanation{margin:0;padding:.5rem .75rem;font-size:.9rem;color:#555;border-bottom:1px solid #e0e0e0}.dark-mode .chat-sql-block-explanation{color:#b0b0b0;border-bottom-color:#444}.chat-sql-block-query{margin:0;padding:.75rem 1rem;font-size:.85rem;font-family:ui-monospace,monospace;white-space:pre-wrap;word-break:break-word;overflow-x:auto;background:#fff;border-bottom:1px solid #e0e0e0}.dark-mode .chat-sql-block-query{background:#252525;border-bottom-color:#444;color:#e0e0e0}.chat-sql-block-query code{background:transparent;padding:0}.chat-sql-block-error{padding:.75rem 1rem;background:#fee;color:#c00;font-size:.9rem}.dark-mode .chat-sql-block-error{background:#3d2020;color:#f88}.chat-sql-block-result{padding:.75rem 1rem}.chat-sql-block-result-meta{font-size:.85rem;color:#666;margin-bottom:.5rem}.dark-mode .chat-sql-block-result-meta{color:#a0a0a0}.chat-sql-block-table-wrap{overflow-x:auto;max-height:20rem;overflow-y:auto;border:1px solid #ddd;border-radius:4px}.dark-mode .chat-sql-block-table-wrap{border-color:#444}.chat-sql-block-table{width:100%;border-collapse:collapse;font-size:.85rem}.chat-sql-block-table th,.chat-sql-block-table td{padding:.4rem .6rem;text-align:left;border-bottom:1px solid #e0e0e0}.dark-mode .chat-sql-block-table th,.dark-mode .chat-sql-block-table td{border-bottom-color:#444}.chat-sql-block-table th{background:#eee;font-weight:600;position:sticky;top:0}.dark-mode .chat-sql-block-table th{background:#333}.chat-sql-block-result-message{font-size:.9rem;color:#2c3e50}.dark-mode .chat-sql-block-result-message{color:#e0e0e0}.chat-input-form{display:flex;gap:.5rem;padding:1rem;background:#fff;border-top:1px solid #ddd}.dark-mode .chat-input-form{background:#2a2a2a;border-top-color:#444}.chat-input{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit;resize:none;transition:all .3s ease}.dark-mode .chat-input{background:#1a1a1a;border-color:#444;color:#e0e0e0}.chat-input:focus{outline:none;border-color:#3498db}.dark-mode .chat-input:focus{border-color:#2980b9}.chat-send-button{align-self:flex-end;padding:.75rem 1.5rem}.chat-send-button:disabled{opacity:.6;cursor:not-allowed}.suggested-knowledge{background:#f8f9fa;padding:1rem;border-radius:4px;margin:1rem 0;border-left:4px solid #3498db}.dark-mode .suggested-knowledge{background:#1a1a1a;border-left-color:#2980b9}.suggested-knowledge h3{margin:0 0 .5rem;color:#2c3e50}.dark-mode .suggested-knowledge h3{color:#e0e0e0}.suggested-knowledge p{margin:0;color:#555;white-space:pre-wrap}.dark-mode .suggested-knowledge p{color:#d0d0d0}.resource-access-panel{margin-top:.25rem;display:flex;flex-direction:column;gap:.85rem}.resource-access-label{display:block;margin-bottom:.45rem;color:#34495e;font-weight:600;font-size:.95rem}.resource-access-section{padding:.8rem;border:1px solid #ddd;border-radius:.75rem;background:#f8f9fa}.resource-access-panel select{width:100%;min-height:2.35rem;padding:.45rem .65rem;border:1px solid #ddd;border-radius:.5rem;background:#fff;color:#2c3e50;font-size:1rem}.resource-access-panel select:disabled{opacity:.7;background:#f1f3f5}.resource-access-muted{margin:0;color:#7f8c8d;font-size:.875rem}.resource-access-error{color:#b91c1c;font-size:.875rem}.resource-access-entries{display:flex;flex-direction:column;gap:.6rem}.resource-access-row{display:grid;grid-template-columns:minmax(6.5rem,.8fr) minmax(12rem,1.75fr) minmax(6.5rem,.75fr) auto;gap:.55rem;align-items:center;padding:.55rem;border:1px solid #ddd;border-radius:.6rem;background:#fff}.resource-access-row select{width:100%}.resource-access-remove{border:none;background:transparent;color:#7f8c8d;font-size:1.35rem;cursor:pointer;line-height:1;width:2rem;height:2rem;border-radius:.45rem}.resource-access-remove:hover{color:#2c3e50;background:#0000000f}.resource-access-actions{display:flex;gap:.55rem;flex-wrap:wrap}.resource-access-actions .button-secondary,.resource-access-panel .button-primary{border-radius:.55rem}.resource-access-footer{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-top:.15rem}.resource-access-empty{margin:0;padding:.8rem;border:1px dashed #ccc;border-radius:.6rem;color:#7f8c8d;font-size:.9rem;text-align:center;background:#fff}.dark-mode .resource-access-label{color:#e0e0e0}.dark-mode .resource-access-section{border-color:#444;background:#0f172a59}.dark-mode .resource-access-panel select{border-color:#444;background:#1a1a1a;color:#e0e0e0}.dark-mode .resource-access-panel select:disabled{background:#252525}.dark-mode .resource-access-muted{color:#94a3b8}.dark-mode .resource-access-row{border-color:#444;background:#1a1a1a}.dark-mode .resource-access-remove{color:#94a3b8}.dark-mode .resource-access-remove:hover{color:#e2e8f0;background:#94a3b81f}.dark-mode .resource-access-empty{border-color:#444;color:#94a3b8;background:#1a1a1a}@media (max-width: 640px){.resource-access-row{grid-template-columns:1fr}.resource-access-footer{flex-direction:column;align-items:stretch}}.export-def-modal{display:flex;flex-direction:column;gap:.75rem;min-width:min(28rem,100%)}.export-def-summary{margin:0;color:var(--text-secondary, #666);font-size:.95rem}.export-def-option{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;cursor:pointer}.export-def-option input{margin-top:.15rem}.export-def-error{margin:0;color:var(--danger, #c0392b);font-size:.875rem}.export-def-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:.75rem;max-width:400px;pointer-events:none}.toast{background:#fff;border-radius:6px;box-shadow:0 4px 12px #00000026;padding:0;min-width:300px;max-width:400px;pointer-events:auto;cursor:pointer;transition:transform .2s ease,opacity .2s ease;animation:slideIn .3s ease}.dark-mode .toast{background:#2a2a2a;box-shadow:0 4px 12px #0000004d}.toast:hover{transform:translate(-4px)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-content{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;gap:1rem}.toast-message{flex:1;color:#2c3e50;font-size:.9rem;line-height:1.4;transition:color .3s ease}.dark-mode .toast-message{color:#e0e0e0}.toast-close{background:none;border:none;color:#7f8c8d;font-size:1.5rem;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s ease;flex-shrink:0}.toast-close:hover{color:#2c3e50}.dark-mode .toast-close:hover{color:#e0e0e0}.toast-success{border-left:4px solid #27ae60}.toast-error{border-left:4px solid #e74c3c}.toast-info{border-left:4px solid #3498db}.integrations-master-detail{display:grid;grid-template-columns:220px 1fr;gap:1rem;align-items:start}@media (max-width: 960px){.integrations-master-detail{grid-template-columns:1fr}}.integrations-list-pane{border:1px solid #d9e0e7;border-radius:8px;background:#fff;overflow:hidden;align-self:stretch}.dark-mode .integrations-list-pane{background:#252525;border-color:#4a4f55}.integrations-list-pane .list{display:flex;flex-direction:column;gap:0}.integrations-list-pane .list-item{border-radius:0;border:0;border-bottom:1px solid #edf1f5;background:transparent;padding:.65rem .9rem;box-shadow:none}.dark-mode .integrations-list-pane .list-item{border-bottom-color:#3a3f44}.integrations-list-pane .list-item:last-child{border-bottom:none}.integrations-list-pane .list-item:hover{background:#f6f9fc;box-shadow:none}.dark-mode .integrations-list-pane .list-item:hover{background:#2d3338;border-color:transparent;border-bottom-color:#46505a;box-shadow:none}.integrations-list-pane .list-item.is-selected{background:#ebf5fb;box-shadow:inset 3px 0 #3498db}.dark-mode .integrations-list-pane .list-item.is-selected{background:#1f3f56;box-shadow:inset 3px 0 #5dade2}.integrations-list-pane .list-item.is-selected:hover{background:#e3f1fb}.dark-mode .integrations-list-pane .list-item.is-selected:hover{background:#244a65}.adapter-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#bdc3c7;flex-shrink:0;margin-right:.45rem;transition:background .2s}.adapter-status-dot.is-active{background:#2ecc71;box-shadow:0 0 0 2px #2ecc7133}.dark-mode .adapter-status-dot{background:#555}.dark-mode .adapter-status-dot.is-active{background:#27ae60;box-shadow:0 0 0 2px #27ae604d}.adapter-list-name{display:flex;align-items:center;margin:0;font-size:inherit;font-weight:inherit}.list-item.is-active-script{border-left:3px solid #3498db}.dark-mode .list-item.is-active-script{border-left-color:#5dade2}.integrations-detail-panel{border:1px solid #ddd;border-radius:8px;background:#fff;overflow:hidden;min-width:0;min-height:300px}.dark-mode .integrations-detail-panel{background:#2a2a2a;border-color:#444}.integrations-empty-detail{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;height:100%;min-height:300px;padding:2rem;text-align:center;color:#7f8c8d}.dark-mode .integrations-empty-detail{color:#b0b0b0}.integrations-empty-detail p{margin:0;font-size:.95rem}.integrations-detail-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid #ddd;background:#f8f9fa;flex-wrap:wrap}.dark-mode .integrations-detail-header{background:#2a2a2a;border-bottom-color:#444}.integrations-detail-title{display:flex;align-items:center;margin:0;font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.integrations-detail-header-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0;flex-wrap:wrap}.integrations-detail-tabs{display:flex;align-items:flex-end;padding:.65rem 1rem 0;gap:.15rem;border-bottom:1px solid #ddd;background:#f8f9fa}.dark-mode .integrations-detail-tabs{background:#1f1f1f;border-bottom-color:#555}.integrations-detail-content{padding:1.25rem;overflow:visible;max-height:none}.integrations-config-actions{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.75rem}.integrations-config-actions .button-danger{background-color:#e74c3c;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;font-size:1rem;cursor:pointer;line-height:1.2;transition:background-color .2s}.integrations-config-actions .button-danger:hover{background-color:#c0392b}.integrations-config-actions .button-danger:disabled{opacity:.6;cursor:not-allowed}.integrations-header-save{font-size:.875rem;padding:.4rem .9rem}.studio-script-chips-section{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.studio-script-chips-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.studio-chips-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #888);min-width:5.5rem;flex-shrink:0}.studio-chips-loading{font-size:.8rem;color:var(--text-muted, #888);font-style:italic}.studio-script-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .55rem;border-radius:4px;border:1px solid #ddd;background:#f8f9fa;color:#2c3e50;font-size:.8rem;cursor:pointer;transition:background .15s,border-color .15s}.studio-script-chip:hover{border-color:#3498db;background:#ebf5fb}.studio-script-chip.is-active{border-color:#3498db;background:#3498db;color:#fff}.studio-script-chip.is-active .chip-doc-type{opacity:.8}.chip-name{max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-doc-type{font-size:.7rem;opacity:.65;white-space:nowrap}.chip-edit,.chip-delete{font-size:.75rem;opacity:.55;cursor:pointer;padding:0 .1rem;border-radius:2px;transition:opacity .1s;line-height:1}.chip-edit:hover{opacity:1}.chip-delete:hover{opacity:1;color:var(--danger-color, #e74c3c)}.studio-script-chip.is-active .chip-edit,.studio-script-chip.is-active .chip-delete{opacity:.7}.studio-script-chip.is-active .chip-edit:hover,.studio-script-chip.is-active .chip-delete:hover{opacity:1}.studio-chip-add{display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:4px;border:1px dashed #aaa;background:transparent;color:#7f8c8d;font-size:.8rem;cursor:pointer;transition:border-color .15s,color .15s}.studio-chip-add:hover{border-color:#3498db;color:#3498db}.dark-mode .studio-script-chip{border-color:#444;background:#1a1a1a;color:#e0e0e0}.dark-mode .studio-script-chip:hover{border-color:#2980b9;background:#1a3a52}.dark-mode .studio-script-chip.is-active{border-color:#2980b9;background:#2980b9;color:#fff}.dark-mode .studio-chip-add{border-color:#555;color:#b0b0b0}.dark-mode .studio-chip-add:hover{border-color:#5dade2;color:#5dade2}.dark-mode .studio-chips-label{color:#888}.integrations-fetch-modal{max-width:28rem;padding:0;overflow:hidden}.integrations-fetch-modal .modal-header{padding:1.25rem 1.5rem}.integrations-fetch-modal .modal-header h2{font-size:1.15rem;font-weight:600;letter-spacing:-.01em}.integrations-fetch-body{display:flex;flex-direction:column;gap:1rem;padding-top:.25rem!important}.integrations-fetch-period{display:flex;flex-direction:column;gap:.2rem;padding:.85rem 1rem;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc}.dark-mode .integrations-fetch-period{border-color:#3d4a5c;background:#1e2430}.integrations-fetch-period-label{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.dark-mode .integrations-fetch-period-label{color:#94a3b8}.integrations-fetch-period-value{font-size:1.05rem;font-weight:600;color:#1e293b;line-height:1.3}.dark-mode .integrations-fetch-period-value{color:#f1f5f9}.integrations-fetch-period-source{font-size:.8rem;color:#94a3b8}.integrations-fetch-toggle{display:flex;align-items:center;gap:.55rem;font-size:.9rem;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none}.dark-mode .integrations-fetch-toggle{color:#cbd5e1}.integrations-fetch-toggle input{width:1rem;height:1rem;margin:0;accent-color:#3498db;cursor:pointer}.integrations-fetch-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.integrations-fetch-date-fields .form-group{margin:0}.integrations-fetch-date-full{grid-column:1 / -1}.integrations-fetch-callout{padding:.85rem 1rem;border-radius:8px;border:1px solid transparent}.integrations-fetch-callout--replace_period{background:#eff6ff;border-color:#bfdbfe}.dark-mode .integrations-fetch-callout--replace_period{background:#1a2744;border-color:#334155}.integrations-fetch-callout--append{background:#f8fafc;border-color:#e2e8f0}.dark-mode .integrations-fetch-callout--append{background:#1e2430;border-color:#3d4a5c}.integrations-fetch-callout--replace_all{background:#fffbeb;border-color:#fde68a}.dark-mode .integrations-fetch-callout--replace_all{background:#2a2418;border-color:#4a4030}.integrations-fetch-callout-header{margin-bottom:.35rem}.integrations-fetch-callout-badge{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#2563eb}.dark-mode .integrations-fetch-callout--replace_period .integrations-fetch-callout-badge{color:#93c5fd}.dark-mode .integrations-fetch-callout--append .integrations-fetch-callout-badge{color:#94a3b8}.dark-mode .integrations-fetch-callout--replace_all .integrations-fetch-callout-badge{color:#fcd34d}.integrations-fetch-callout-text{margin:0;font-size:.875rem;line-height:1.45;color:#475569}.dark-mode .integrations-fetch-callout-text{color:#cbd5e1}.integrations-fetch-footer{display:flex;justify-content:flex-end;gap:.65rem;padding:1rem 1.5rem 1.25rem;border-top:1px solid #e2e8f0;background:#fafbfc}.dark-mode .integrations-fetch-footer{border-top-color:#3d4a5c;background:#222830}.integrations-fetch-footer .button-secondary,.integrations-fetch-footer .button-primary{min-width:6.5rem;padding:.55rem 1.1rem;font-size:.9rem}.integrations-sample-section{margin-bottom:.5rem;padding-bottom:0}.studio-workflow-guide{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.6rem .9rem;background:#ebf5fb;border:1px solid #aed6f1;border-radius:8px;margin-bottom:1rem;font-size:.82rem}.dark-mode .studio-workflow-guide{background:#1a3a52;border-color:#2980b9}.studio-workflow-step{display:inline-flex;align-items:center;gap:.3rem;color:#1a5276;font-weight:500}.dark-mode .studio-workflow-step{color:#5dade2}.studio-workflow-num{display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;border-radius:50%;background:#3498db;color:#fff;font-size:.72rem;font-weight:700;flex-shrink:0}.dark-mode .studio-workflow-num{background:#2980b9;color:#fff}.studio-workflow-arrow{color:#85c1e9;font-size:.9rem}.dark-mode .studio-workflow-arrow{color:#2980b9}.studio-chips-empty{font-size:.78rem;color:var(--text-muted, #888);font-style:italic}.integrations-generate-panel{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #ddd}.integrations-generate-panel h3{margin:0 0 .75rem;font-size:.95rem;color:#34495e}.dark-mode .integrations-generate-panel{border-top-color:#444}.dark-mode .integrations-generate-panel h3{color:#e0e0e0}.studio-script-list-panel{margin-top:0;border:1px solid #ddd;border-radius:8px;background:#fafbfc;padding:.75rem}.studio-script-list-title{margin:0 0 .65rem;font-size:.9rem;color:#34495e}.studio-script-list-section+.studio-script-list-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e5e7eb}.studio-script-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.studio-script-list-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#666}.studio-script-list-add{border:none;background:transparent;color:#3498db;font-size:.78rem;cursor:pointer;padding:.1rem .35rem}.studio-script-list-add:hover{text-decoration:underline}.studio-script-list{list-style:none;margin:0;padding:0;max-height:160px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:6px;background:#fff}.studio-script-list-row{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .6rem;border:none;border-bottom:1px solid #f0f0f0;background:transparent;text-align:left;cursor:pointer;font-size:.82rem;color:#2c3e50}.studio-script-list-row:last-child{border-bottom:none}.studio-script-list-row:hover{background:#f4f8fc}.studio-script-list-row.is-active{background:#ebf5fb;border-left:3px solid #3498db;padding-left:calc(.6rem - 3px)}.studio-script-list-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-script-list-doc-type{font-size:.72rem;color:#7f8c8d;flex-shrink:0}.studio-script-list-actions{display:flex;gap:.35rem;flex-shrink:0;opacity:.55}.studio-script-list-row:hover .studio-script-list-actions,.studio-script-list-row.is-active .studio-script-list-actions{opacity:1}.studio-script-list-action{cursor:pointer;padding:0 .15rem}.studio-script-list-action:hover{color:#3498db}.studio-script-list-empty{margin:0;font-size:.78rem;color:#888;font-style:italic}.studio-development-intro{margin:0 0 .75rem}.studio-development-panel{border:1px solid #ddd;border-radius:8px;background:#fff;padding:.85rem;display:flex;flex-direction:column;gap:.85rem}.studio-development-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem}.studio-development-actions{margin-bottom:0}.studio-development-chat{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid #e5e7eb;padding-top:.85rem}.studio-development-composer{display:flex;flex-direction:column;gap:.5rem}.studio-development-thread{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem;padding-bottom:.25rem}.studio-development-thread-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.studio-development-thread-count{font-size:.78rem;color:#7f8c8d}.studio-development-start-again{border:none;background:transparent;color:#c0392b;font-size:.78rem;cursor:pointer;padding:0;text-decoration:underline}.studio-development-start-again:hover:not(:disabled){color:#922b21}.studio-development-start-again:disabled{opacity:.45;cursor:not-allowed;text-decoration:none}.dark-mode .studio-development-thread-count{color:#aaa}.dark-mode .studio-development-start-again{color:#ff8a80}.dark-mode .studio-development-start-again:hover:not(:disabled){color:#ffab91}.studio-development-composer-box{border:1px solid #d5dce3;border-radius:8px;background:#fafbfc;padding:.65rem;display:flex;flex-direction:column;gap:.5rem}.studio-development-composer-input{width:100%;min-height:5rem;resize:vertical;font-family:inherit;font-size:.85rem;padding:.55rem .65rem;border:1px solid #ccc;border-radius:6px;background:#fff;box-sizing:border-box}.studio-development-composer-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db26}.studio-development-composer-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.studio-development-composer-actions{display:flex;align-items:center;gap:.5rem}.studio-development-composer-hint,.studio-development-composer-status,.studio-development-advanced{margin:0}.studio-design-chat-context{display:flex;flex-wrap:wrap;gap:.35rem}.studio-design-chat-chip{font-size:.72rem;padding:.15rem .45rem;border-radius:4px;background:#eef6fc;color:#2980b9;border:1px solid #d4e8f7;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-design-chat-bubble{padding:.45rem .6rem;border-radius:8px;font-size:.82rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.studio-design-chat-bubble-user{background:#3498db;color:#fff;align-self:flex-end;max-width:85%}.studio-design-chat-bubble-assistant{background:#fff;border:1px solid #e5e7eb;color:#2c3e50;align-self:flex-start;max-width:85%}.studio-design-chat-loading{font-style:italic;color:#666}.studio-design-chat-save-mode{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.8rem}.studio-design-chat-save-mode label{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer}.studio-design-chat-advanced-toggle{border:none;background:transparent;color:#3498db;font-size:.78rem;cursor:pointer;padding:0}.studio-design-chat-advanced-toggle:hover{text-decoration:underline}.dark-mode .studio-script-list-panel{background:#252525;border-color:#444}.dark-mode .studio-script-list-title{color:#e0e0e0}.dark-mode .studio-script-list-section+.studio-script-list-section{border-top-color:#444}.dark-mode .studio-script-list-label{color:#aaa}.dark-mode .studio-script-list{background:#1a1a1a;border-color:#444}.dark-mode .studio-script-list-row{color:#e0e0e0;border-bottom-color:#333}.dark-mode .studio-script-list-row:hover{background:#2a3540}.dark-mode .studio-script-list-row.is-active{background:#1a3a52}.dark-mode .studio-development-panel{background:#2a2a2a;border-color:#444}.dark-mode .studio-development-chat{border-top-color:#444}.dark-mode .studio-development-composer-box{background:#1f1f1f;border-color:#444}.dark-mode .studio-development-composer-input{background:#2a2a2a;border-color:#555;color:#e0e0e0}.dark-mode .studio-design-chat-chip{background:#1a3a52;border-color:#2980b9;color:#aed6f1}.dark-mode .studio-design-chat-bubble-assistant{background:#2a2a2a;border-color:#444;color:#e0e0e0}.integration-tabs{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem;border-radius:6px;background:#f0f0f0;border:1px solid #ddd}.integration-tab{position:relative;margin-bottom:-1px;border:1px solid transparent;border-bottom-color:#ddd;background:transparent;color:#555;border-radius:6px 6px 0 0;padding:.5rem .9rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.integration-tab:hover{color:#2c3e50;background:#edf1f5;border-color:#d5dce3}.integration-tab.is-active{color:#2c3e50;background:#fff;border-color:#ddd;border-bottom-color:#fff;box-shadow:0 -1px 3px #0000000a}.integration-tab:focus-visible{outline:2px solid rgba(52,152,219,.35);outline-offset:-2px}.dark-mode .integration-tabs{background:#202020;border-color:#4a4a4a}.dark-mode .integration-tab{border-bottom-color:#555;color:#c2c8cf}.dark-mode .integration-tab:hover{color:#f0f3f6;background:#303030;border-color:#5a5a5a}.dark-mode .integration-tab.is-active{color:#f5f7fa;background:#2a2a2a;border-color:#666;border-bottom-color:#2a2a2a;box-shadow:0 -1px 5px #00000059}.dark-mode .integration-tab:focus-visible{outline-color:#5dade273}.adapter-type-badge{display:inline-block;padding:.25rem .75rem;background-color:#9b59b6;color:#fff;border-radius:4px;font-size:.85rem;font-weight:500;margin-left:.5rem}.form-hint{display:block;margin-top:.25rem;color:#7f8c8d;font-size:.85rem;font-style:italic;transition:color .2s}.dark-mode .form-hint{color:#b0b0b0}.form-hint-error{color:#c0392b;font-style:normal}.dark-mode .form-hint-error{color:#ff8a80}.log-error-summary{display:block;width:100%;margin-top:.35rem;color:#c0392b;font-size:.85rem;line-height:1.35}.dark-mode .log-error-summary{color:#ff8a80}.api-lookup-param select{width:100%}.browser-start-url-input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.95rem}.browser-start-url-input::placeholder{font-family:inherit;opacity:.55}.dark-mode .browser-start-url-input::placeholder{opacity:.45}.debug-result-block{margin-bottom:1rem;padding:.75rem;border-radius:6px;max-height:320px;overflow:auto;background:#f8f9fa;transition:background-color .2s,color .2s}.dark-mode .debug-result-block{background:#2d2d2d;color:#e4e4e4}.debug-result-block pre{white-space:pre-wrap;word-break:break-word;font-size:.8rem;margin-top:.5rem;margin:0;color:inherit}.script-test-output pre{margin-top:8px;padding:8px;font-size:12px;background:#f5f5f5;border-radius:4px;transition:background-color .2s,color .2s}.dark-mode .script-test-output pre{background:#2d2d2d;color:#e4e4e4}.log-count-badge{display:inline-block;margin-left:.5rem;padding:.1rem .55rem;background:#ebf5fb;color:#1a5276;border-radius:4px;font-size:.75rem;font-weight:600;vertical-align:middle}.dark-mode .log-count-badge{background:#1a3a52;color:#5dade2}.log-refreshed-at{font-size:.78rem;color:var(--text-muted, #888);font-style:italic}.log-tab{display:flex;flex-direction:column;gap:1.5rem}.log-section{background:#f8f9fa;padding:1.25rem;border-radius:8px;transition:background-color .3s ease,border-color .3s ease}.dark-mode .log-section{background:#2a2a2a;border:1px solid #444}.log-section-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.log-section-header h3,.log-section-header h4{margin:0;font-size:1.05rem;color:#2c3e50;display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.dark-mode .log-section-header h3,.dark-mode .log-section-header h4{color:#e0e0e0}.log-section-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.log-loading{color:#7f8c8d;padding:.5rem 0}.dark-mode .log-loading{color:#94a3b8}.log-empty{text-align:center;padding:2.5rem 1.5rem;background:linear-gradient(145deg,#f8fafc,#eef2ff);border-radius:8px;border:1px solid #e2e8f0}.dark-mode .log-empty{background:linear-gradient(145deg,#1e293b,#1a1f2e);border-color:#334155}.log-empty p{margin:0;color:#64748b}.dark-mode .log-empty p{color:#94a3b8}.log-list{display:flex;flex-direction:column;gap:.6rem}.log-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:0;transition:border-color .2s,box-shadow .2s,background-color .2s}.log-item:hover{border-color:#3498db;box-shadow:0 2px 8px #3498db14}.log-item[open]{border-color:#3498db;box-shadow:0 2px 8px #3498db1a}.dark-mode .log-item{background:#1e2530;border-color:#374151}.dark-mode .log-item:hover,.dark-mode .log-item[open]{border-color:#5dade2}.log-item>summary{list-style:none;cursor:pointer;padding:.85rem 1rem}.log-item>summary::-webkit-details-marker{display:none}.log-item-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:0}.log-item-info{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;min-width:0}.log-item-actions{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.log-file-name{color:#1e293b;font-size:.92rem;font-weight:600}.dark-mode .log-file-name{color:#e2e8f0}.log-date{color:#94a3b8;font-size:.78rem}.log-item-details{margin:0;padding:0 1rem 1rem;border-top:1px solid #e5e7eb}.dark-mode .log-item-details{border-top-color:#374151}.log-item-details pre{margin:.5rem 0 0;padding:.65rem .75rem;border-radius:6px;background:#f8fafc;border:1px solid #e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow-y:auto}.dark-mode .log-item-details pre{background:#111827;border-color:#374151;color:#cbd5e1}.badge-log-success{background:#d1fae5;color:#065f46;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:capitalize}.badge-log-error{background:#fee2e2;color:#991b1b;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:capitalize}.badge-log-skipped{background:#fef3c7;color:#92400e;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:capitalize}.badge-log-default{background:#f3f4f6;color:#4b5563;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:capitalize}.dark-mode .badge-log-success{background:#064e3b;color:#6ee7b7}.dark-mode .badge-log-error{background:#7f1d1d;color:#fca5a5}.dark-mode .badge-log-skipped{background:#78350f;color:#fcd34d}.dark-mode .badge-log-default{background:#374151;color:#d1d5db}.badge-log-model{background:#ede9fe;color:#5b21b6;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.dark-mode .badge-log-model{background:#4c1d95;color:#ddd6fe}.log-sync-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.log-sync-row-main{min-width:0;flex:1}.log-sync-status{font-weight:600;color:#1e293b;text-transform:capitalize}.dark-mode .log-sync-status{color:#e2e8f0}.log-sync-key{font-size:.82rem;color:#64748b;word-break:break-all}.dark-mode .log-sync-key{color:#94a3b8}.log-subsection{margin-bottom:1rem;padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.dark-mode .log-subsection{background:#1e2530;border-color:#374151}.log-section-actions .button-secondary,.log-section-actions .button-danger{display:inline-flex;align-items:center;gap:.35rem;margin-top:0}.log-item-actions .button-secondary,.log-item-actions .button-danger{margin-top:0}.log-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#64748b;cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.log-icon-btn:hover:not(:disabled){background:#f1f5f9;color:#3498db;border-color:#3498db}.log-icon-btn:disabled{opacity:.5;cursor:not-allowed}.log-icon-btn-danger:hover:not(:disabled){color:#ef4444;border-color:#ef4444;background:#fef2f2}.dark-mode .log-icon-btn{background:#2a2a2a;border-color:#444;color:#94a3b8}.dark-mode .log-icon-btn:hover:not(:disabled){background:#374151;color:#5dade2;border-color:#5dade2}.dark-mode .log-icon-btn-danger:hover:not(:disabled){background:#450a0a;color:#fca5a5;border-color:#fca5a5}@keyframes log-icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.log-icon-spin{animation:log-icon-spin 1s linear infinite}.log-muted{margin:0;color:#7f8c8d;font-size:.9rem}.dark-mode .log-muted{color:#94a3b8}.log-container{max-height:70vh;overflow-y:auto}.log-file-path{margin:.25rem 0;color:#555;font-size:.9rem;word-break:break-all;transition:color .3s ease}.dark-mode .log-file-path{color:#b0b0b0}.log-error{margin:.5rem 0;padding:.5rem;background:#fee;border-left:3px solid #e74c3c;color:#c0392b;font-size:.9rem;border-radius:2px;transition:all .3s ease}.dark-mode .log-error{background:#3a1f1f;color:#ff6b6b;border-left-color:#e74c3c}.log-meta{margin:.25rem 0;color:#7f8c8d;font-size:.85rem;transition:color .3s ease}.dark-mode .log-meta{color:#b0b0b0}.integration-preview-modal{max-width:min(1100px,95vw)}.integration-preview{display:flex;flex-direction:column;gap:1rem}.integration-preview-tabs{display:flex;align-items:flex-end;gap:.15rem;border-bottom:1px solid #ddd}.dark-mode .integration-preview-tabs{border-bottom-color:#555}.integration-preview-panel{min-height:220px;max-height:70vh;overflow:auto}.integration-preview-panel .integration-spreadsheet-preview{display:flex;flex-direction:column;min-height:0;height:100%}.integration-preview-panel .integration-spreadsheet-preview .studio-spreadsheet-container{display:flex;flex-direction:column;min-height:0;flex:1}.integration-preview-panel .integration-spreadsheet-preview .studio-spreadsheet-container .xv-root{display:flex;flex-direction:column;min-height:0;max-height:100%}.integration-preview-panel .integration-spreadsheet-preview .studio-spreadsheet-container .xv-sheet-active{display:flex;flex-direction:column;min-height:0;flex:1}.integration-preview-panel .integration-spreadsheet-preview .studio-spreadsheet-container .xv-sheet-window{flex:1;min-height:0;max-height:none}.integration-text-file-preview{margin:0;padding:.75rem;border-radius:6px;max-height:65vh;overflow:auto;background:#f8f9fa;color:#2c3e50;white-space:pre;font-size:.85rem}.integration-text-file-preview.is-wrap-lines{white-space:pre-wrap;word-break:break-word}.dark-mode .integration-text-file-preview{background:#1f1f1f;color:#e4e4e4}.integration-json-file-preview{display:flex;flex-direction:column;gap:.4rem;padding:.4rem;border-radius:6px;max-height:65vh;overflow:auto;background:#f8f9fa}.dark-mode .integration-json-file-preview{background:#1f1f1f}.integration-json-controls{display:flex;align-items:center;gap:.4rem}.integration-json-search-input{flex:1;min-width:0;padding:.35rem .55rem;border:1px solid #d5dce6;border-radius:4px;background:#fff;color:#2c3e50;font-size:.8rem}.integration-json-search-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db26}.integration-json-search-clear{border:1px solid #d5dce6;border-radius:4px;background:#fff;color:#4b5563;font-size:.75rem;line-height:1;padding:.35rem .5rem;cursor:pointer}.integration-json-search-clear:hover{border-color:#3498db;color:#1f2937}.integration-json-collapse-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:#4b5563;white-space:nowrap}.integration-json-collapse-select{border:1px solid #d5dce6;border-radius:4px;background:#fff;color:#2c3e50;font-size:.75rem;padding:.25rem .35rem}.dark-mode .integration-json-search-input{background:#1a1a1a;border-color:#444;color:#e5e7eb}.dark-mode .integration-json-search-input:focus{border-color:#5dade2;box-shadow:0 0 0 2px #5dade233}.dark-mode .integration-json-search-clear{background:#2a2a2a;border-color:#555;color:#d1d5db}.dark-mode .integration-json-search-clear:hover{border-color:#5dade2;color:#f3f4f6}.dark-mode .integration-json-collapse-label{color:#d1d5db}.dark-mode .integration-json-collapse-select{background:#2a2a2a;border-color:#555;color:#f3f4f6}.integration-output-preview{display:flex;flex-direction:column;gap:1rem}.integration-output-empty-tables{padding:.75rem;border:1px solid #ddd;border-radius:6px}.dark-mode .integration-output-empty-tables{border-color:#444}.schema-discovery-container{max-width:800px}.schema-discovery-input-group{margin-bottom:1rem}.schema-discovery-label{display:block;margin-bottom:.5rem;font-weight:600;color:#34495e;transition:color .3s ease}.dark-mode .schema-discovery-label{color:#e0e0e0}.schema-discovery-input{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;background-color:#fff;color:#2c3e50;transition:all .3s ease}.dark-mode .schema-discovery-input{background-color:#1a1a1a;border-color:#444;color:#e0e0e0}.schema-discovery-hint{font-size:.875rem;color:#666;margin-top:.25rem;transition:color .3s ease}.dark-mode .schema-discovery-hint{color:#b0b0b0}.schema-discovery-error{padding:1rem;background:#fee;border:1px solid #fcc;border-radius:4px;transition:all .3s ease}.dark-mode .schema-discovery-error{background:#3a1f1f;border-color:#5a2f2f;color:#ff6b6b}.schema-discovery-section{margin-bottom:1rem}.schema-discovery-section h3{margin-bottom:.5rem;color:#34495e;transition:color .3s ease}.dark-mode .schema-discovery-section h3{color:#e0e0e0}.schema-description-preview{padding:1rem;background:#f5f5f5;border-radius:4px;white-space:pre-wrap;max-height:200px;overflow-y:auto;color:#2c3e50;transition:all .3s ease}.dark-mode .schema-description-preview{background:#1a1a1a;color:#e0e0e0;border:1px solid #333}.schema-preview-container{max-height:400px;overflow-y:auto}.schema-table-preview{margin-bottom:1rem;padding:1rem;border:1px solid #ddd;border-radius:4px;background:#fff;transition:all .3s ease}.dark-mode .schema-table-preview{background:#2a2a2a;border-color:#444}.schema-table-preview h4{margin-top:0;margin-bottom:.5rem;color:#2c3e50;transition:color .3s ease}.dark-mode .schema-table-preview h4{color:#e0e0e0}.schema-table-info{margin-bottom:.5rem;color:#34495e;transition:color .3s ease}.dark-mode .schema-table-info{color:#e0e0e0}.schema-table-info strong{color:#2c3e50;transition:color .3s ease}.dark-mode .schema-table-info strong{color:#e0e0e0}.schema-table-info ul{margin:.25rem 0;padding-left:1.5rem;color:#555;transition:color .3s ease}.dark-mode .schema-table-info ul{color:#b0b0b0}.schema-sample-data{margin-top:.5rem;padding:.5rem;background:#fff;border-radius:4px;max-height:150px;overflow-y:auto;font-size:.875rem;transition:all .3s ease}.dark-mode .schema-sample-data{background:#1a1a1a;border:1px solid #333;color:#e0e0e0}.schema-sample-data pre{margin:0;white-space:pre-wrap;color:inherit}.schema-definition-display{transition:all .3s ease}.dark-mode .schema-definition-display{background-color:#1a1a1a!important;color:#e0e0e0;border-color:#444}.discovery-progress{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:4px;border:1px solid #ddd;transition:all .3s ease}.dark-mode .discovery-progress{background:#2a2a2a;border-color:#444}.discovery-progress-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:.5rem;transition:background .3s ease}.dark-mode .discovery-progress-bar{background:#444}.discovery-progress-fill{height:100%;background:linear-gradient(90deg,#3498db,#2980b9);transition:width .3s ease;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.discovery-progress-text{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:#555;transition:color .3s ease}.dark-mode .discovery-progress-text{color:#b0b0b0}.discovery-progress-step{font-weight:600;color:#3498db;transition:color .3s ease}.dark-mode .discovery-progress-step{color:#5dade2}.discovery-progress-status{flex:1;text-align:right;font-style:italic}.studio-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:1rem;margin-top:1rem}.studio-layout-stacked{display:flex;flex-direction:column;gap:1rem}.studio-preview-section{margin:0}.studio-development-section{margin:0;padding-top:.25rem;border-top:1px solid #e5e7eb}.studio-development-section h2{margin:0 0 .75rem;font-size:1.05rem}.dark-mode .studio-development-section{border-top-color:#444}@media (max-width: 1200px){.studio-layout{grid-template-columns:1fr}}.studio-file-input input{width:100%}.studio-sample-combo{position:relative;flex:1}.studio-sample-combo input{width:100%;padding-right:2.2rem}.studio-sample-input-row{display:flex;gap:.5rem;align-items:center}.studio-sample-save{margin-top:0;padding:.5rem .9rem;height:36px}.studio-sample-combo-toggle{position:absolute;top:50%;right:.45rem;transform:translateY(-50%);border:0;background:transparent;color:#7c8794;cursor:pointer;font-size:.85rem;line-height:1;padding:.2rem}.studio-sample-menu{position:absolute;z-index:30;top:calc(100% + .25rem);left:0;right:0;border:1px solid #d5dce6;border-radius:8px;background:#fff;box-shadow:0 8px 24px #0f172a1f;max-height:220px;overflow:auto}.studio-sample-menu-item{display:flex;align-items:center;border-bottom:1px solid #eef2f6}.studio-sample-menu-item:last-child{border-bottom:none}.studio-sample-load{border:0;background:transparent;text-align:left;cursor:pointer;flex:1;padding:.5rem .65rem;color:#2f3a47;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-sample-load:hover{background:#f6f9fc}.studio-sample-remove{border:0;border-left:1px solid #eef2f6;background:transparent;color:#8e99a6;width:2rem;height:2rem;cursor:pointer;font-size:1rem}.studio-sample-remove:hover{color:#de4d4d;background:#fff5f5}@media (max-width: 800px){.studio-sample-input-row{flex-direction:column;align-items:stretch}}.studio-left-tabs-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.studio-text-wrap-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:#555;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.studio-text-wrap-toggle input{margin:0}.dark-mode .studio-text-wrap-toggle{color:#bbb}.studio-left-tabs{display:flex;gap:.25rem;padding:.25rem;border:1px solid #ddd;border-radius:6px;background:#f0f0f0;width:fit-content}.studio-tab{border:1px solid transparent;border-radius:4px;background:transparent;color:#555;font-size:.74rem;letter-spacing:.06em;font-weight:700;padding:.4rem .75rem;cursor:pointer;transition:all .2s ease}.studio-tab:hover{color:#2c3e50;background:#e5e5e5}.studio-tab.is-active{color:#2c3e50;background:#fff;border-color:#ddd;box-shadow:0 1px 4px #00000014}.studio-left-panel{min-height:500px;border:1px solid #ddd;border-radius:8px;background:#fff;padding:.95rem}.studio-empty-panel{min-height:130px;display:flex;align-items:center;justify-content:center;border:1px dashed #ccc;border-radius:8px;background:#f8f9fa}.studio-pdf-canvas-container{display:flex;flex-direction:column;gap:.75rem;max-height:680px;overflow:auto;align-items:center}.studio-pdf-canvas{max-width:100%;height:auto;border:1px solid #ddd;background:#fff}.studio-action-row{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.studio-workflow-tabs{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem;margin:0 0 .75rem;border-radius:6px;background:#f0f0f0;border:1px solid #ddd}.studio-workflow-tab{border:1px solid transparent;background:transparent;color:#555;border-radius:4px;padding:.4rem .75rem;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s ease}.studio-workflow-tab:hover{color:#2c3e50;background:#e5e5e5}.studio-workflow-tab.is-active{color:#2c3e50;background:#fff;border-color:#ddd;box-shadow:0 1px 4px #00000014}.studio-detector-results table,.studio-table-card table{width:100%;border-collapse:collapse}.studio-detector-results th,.studio-detector-results td,.studio-table-card th,.studio-table-card td{border-bottom:1px solid #ddd;padding:.35rem .4rem;text-align:left;font-size:.85rem}.studio-detector-results tr.selected{background:#ebf5fb}.studio-detector-results tr{cursor:pointer}.studio-script-pickers,.studio-script-viewers{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.75rem}.studio-script-viewers-single{grid-template-columns:1fr}.studio-script-viewers pre,.studio-left-panel pre{margin:0;white-space:pre-wrap;font-size:.82rem;max-height:320px;overflow:auto}.studio-left-panel .studio-text-preview{max-height:none;height:100%;min-height:540px;background:transparent;white-space:pre}.studio-left-panel .studio-text-preview.is-wrap-lines{white-space:pre-wrap;word-break:break-word}.studio-table-grid{display:grid;gap:.6rem}.studio-table-card{border:1px solid #ddd;border-radius:6px;padding:.4rem}.studio-table-header{display:flex;justify-content:space-between;margin-bottom:.4rem;font-size:.85rem}.studio-table-scroll{overflow:auto;max-height:260px}.studio-schema-view{display:grid;gap:.75rem}.studio-schema-description{border:1px solid #ddd;border-radius:6px;padding:.6rem;background:#fff}.studio-schema-description p{margin:.4rem 0 0;font-size:.9rem;line-height:1.4}.studio-fk-list{margin-top:.5rem;border-top:1px solid #ddd;padding-top:.4rem}.dark-mode .studio-left-tabs{background:#333;border-color:#444}.dark-mode .studio-tab{color:#b0b0b0}.dark-mode .studio-tab:hover{color:#e0e0e0;background:#3a3a3a}.dark-mode .studio-tab.is-active{color:#e0e0e0;background:#2a2a2a;border-color:#555;box-shadow:0 1px 4px #0000004d}.dark-mode .studio-left-panel{background:#2a2a2a;border-color:#444}.dark-mode .studio-empty-panel{border-color:#555;background:#333}.dark-mode .studio-pdf-canvas{border-color:#444}.dark-mode .studio-sample-combo-toggle{color:#b0b0b0}.dark-mode .studio-sample-menu{background:#2a2a2a;border-color:#444;box-shadow:0 8px 24px #00000059}.dark-mode .studio-sample-menu-item{border-bottom-color:#333}.dark-mode .studio-sample-load{color:#e0e0e0}.dark-mode .studio-sample-load:hover{background:#333}.dark-mode .studio-sample-remove{border-left-color:#333;color:#b0b0b0}.dark-mode .studio-sample-remove:hover{color:#ff8f8f;background:#3d2020}.dark-mode .studio-workflow-tabs{background:#333;border-color:#444}.dark-mode .studio-workflow-tab{color:#b0b0b0}.dark-mode .studio-workflow-tab:hover{color:#e0e0e0;background:#3a3a3a}.dark-mode .studio-workflow-tab.is-active{color:#e0e0e0;background:#2a2a2a;border-color:#555;box-shadow:0 1px 4px #0000004d}.dark-mode .studio-detector-results th,.dark-mode .studio-detector-results td,.dark-mode .studio-table-card th,.dark-mode .studio-table-card td{border-bottom-color:#444}.dark-mode .studio-detector-results tr.selected{background:#1a3a52}.dark-mode .studio-table-card{border-color:#444}.dark-mode .studio-schema-description{border-color:#444;background:#1a1a1a}.dark-mode .studio-fk-list{border-top-color:#444}.adapter-list-name{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.adapter-connector-badge{font-size:.7rem;font-weight:600;padding:.15rem .45rem;border-radius:3px;background:#e8f0fe;color:#2563eb;letter-spacing:.03em;margin-left:auto}.adapter-connector-badge.is-api{background:#fef3c7;color:#92400e}.dark-mode .adapter-connector-badge{background:#1e3a5f;color:#7bb3f0}.dark-mode .adapter-connector-badge.is-api{background:#3d2e10;color:#fbbf24}.api-credentials-section{border:1px solid var(--border-color, #e2e8f0);border-radius:6px;margin-top:1.5rem;overflow:hidden}.api-credentials-header{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:var(--surface-2, #f8fafc);border-bottom:1px solid var(--border-color, #e2e8f0)}.api-credentials-title{font-weight:600;font-size:.9rem}.api-credentials-auth-type{font-size:.75rem;color:var(--text-muted, #64748b);background:var(--surface-3, #f1f5f9);padding:.1rem .4rem;border-radius:3px;font-family:monospace}.api-credentials-fields{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.6rem}.api-credential-row{display:grid;grid-template-columns:160px 1fr auto auto;gap:.5rem;align-items:center}.api-credential-label{font-size:.875rem;font-weight:500;color:var(--text-secondary, #374151);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.api-credential-input{padding:.35rem .6rem;border:1px solid var(--border-color, #d1d5db);border-radius:4px;font-size:.875rem;background:var(--input-bg, #fff);color:var(--text-primary, #111827);min-width:0}.api-credential-input:focus{outline:none;border-color:var(--accent, #2563eb);box-shadow:0 0 0 2px #2563eb26}.api-credential-save{font-size:.8rem;padding:.3rem .65rem;white-space:nowrap}.api-credential-delete{background:none;border:none;color:var(--text-muted, #9ca3af);cursor:pointer;font-size:1.1rem;line-height:1;padding:.25rem .35rem;border-radius:3px;transition:color .15s,background .15s}.api-credential-delete:hover{color:#dc2626;background:#fef2f2}.api-credentials-footer{padding:.6rem 1rem;border-top:1px solid var(--border-color, #e2e8f0);display:flex;justify-content:flex-end}.dark-mode .api-credentials-section{border-color:#444}.dark-mode .api-credentials-header{background:#2a2a2a;border-bottom-color:#444}.dark-mode .api-credentials-auth-type{background:#333;color:#9ca3af}.dark-mode .api-credential-label{color:#d1d5db}.dark-mode .api-credential-input{background:#1e1e1e;border-color:#555;color:#e0e0e0}.dark-mode .api-credential-input:focus{border-color:#7bb3f0;box-shadow:0 0 0 2px #7bb3f033}.dark-mode .api-credential-delete:hover{color:#f87171;background:#3a1a1a}.dark-mode .api-credentials-footer{border-top-color:#444}.integration-schedule-tab .workflow-form-row{display:flex;gap:1rem;flex-wrap:wrap}.integration-schedule-tab .workflow-form-row .form-group{flex:1;min-width:8rem}.integration-schedule-meta{margin:1.25rem 0;padding:.75rem 1rem;border-radius:6px;background:var(--color-surface-muted, #f5f5f5)}.dark-mode .integration-schedule-meta{background:#2a2a2a}.webhook-inline-row{display:flex;align-items:center;gap:8px}.webhook-code{flex:1;overflow-x:auto;white-space:nowrap;padding:8px 10px;border-radius:6px;background:#f1f5f9;font-size:13px;color:#0f172a}.dark-mode .webhook-code{background:#0f172a;color:#e2e8f0}.webhook-secret-state{flex:1;font-size:13px;color:var(--text-secondary, #64748b)}.webhook-warning{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:#fef3c7;color:#92400e;font-size:13px;margin-bottom:1rem}.webhook-table{width:100%;border-collapse:collapse;font-size:13px}.webhook-table th,.webhook-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #e2e8f0}.dark-mode .webhook-table th,.dark-mode .webhook-table td{border-color:#334155}.webhook-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.webhook-badge-ok{background:#dcfce7;color:#166534}.webhook-badge-err{background:#fee2e2;color:#991b1b}.webhook-badge-run{background:#dbeafe;color:#1e40af}.webhook-badge-pending{background:#e2e8f0;color:#475569}.integrations-schema-tab{display:flex;flex-direction:column;gap:1rem}.integrations-schema-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.integrations-schema-banner{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding:.75rem 1rem;border-radius:8px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412}.dark-mode .integrations-schema-banner{background:#3b2410;border-color:#9a3412;color:#fdba74}.integrations-schema-diff{padding:.75rem 1rem;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;font-size:.9rem}.dark-mode .integrations-schema-diff{border-color:#334155;background:#1e293b}.integrations-schema-section-title{margin:.5rem 0 0;font-size:1rem}.integrations-schema-review-item{border:1px solid #e2e8f0;border-radius:8px;padding:.75rem;margin-bottom:.75rem}.dark-mode .integrations-schema-review-item{border-color:#334155}.integrations-schema-review-header{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:.35rem}.integrations-schema-review-diff{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.5rem}.integrations-schema-review-diff pre{max-height:240px;overflow:auto;font-size:.75rem;padding:.5rem;background:#f8fafc;border-radius:6px}.dark-mode .integrations-schema-review-diff pre{background:#0f172a}@media (max-width: 900px){.integrations-schema-review-diff{grid-template-columns:1fr}}.agents-loading{color:#7f8c8d;padding:2rem 0}.agents-layout{display:grid;grid-template-columns:1fr 340px;gap:1.5rem;align-items:start}@media (max-width: 1100px){.agents-layout{grid-template-columns:1fr}}.agents-main{display:flex;flex-direction:column;gap:1.5rem}.agents-sidebar{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:1rem}.agents-section{background:#f8f9fa;padding:1.5rem;border-radius:8px;transition:background-color .3s ease,border-color .3s ease}.dark-mode .agents-section{background:#2a2a2a;border:1px solid #444}.agents-section-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem}.agents-section-header h2{margin:0;font-size:1.15rem;color:#2c3e50;transition:color .3s ease}.dark-mode .agents-section-header h2{color:#e0e0e0}.agents-section-desc{margin:-.5rem 0 1rem;color:#7f8c8d;font-size:.9rem;line-height:1.5}.dark-mode .agents-section-desc{color:#b0b0b0}.agents-pairing-info{background:#ebf5fb;padding:1rem 1.25rem;border-radius:8px;border-left:4px solid #3498db;margin-bottom:1rem}.dark-mode .agents-pairing-info{background:#1a3a52;border-left-color:#2980b9}.agents-pairing-info p{margin:0;color:#34495e;font-size:.9rem;line-height:1.55}.dark-mode .agents-pairing-info p{color:#d0d0d0}.agents-download-link{display:block;text-align:center;text-decoration:none;margin-bottom:1rem;box-sizing:border-box}.agents-download-hint{font-size:.85rem;color:#7f8c8d;margin-bottom:1rem}.dark-mode .agents-download-hint{color:#9aa7b8}.agents-code-label{display:block;font-size:.72rem;color:#94a3b8;margin-bottom:.35rem;font-family:inherit}.agents-code-block{flex-direction:column;display:flex;align-items:flex-start;gap:.5rem;background:#1e293b;color:#e2e8f0;padding:.75rem 1rem;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;line-height:1.5;overflow-x:auto;margin-bottom:1rem}.agents-code-block code{flex:1;white-space:pre-wrap;word-break:break-all}.agents-pairing-result{margin-top:1rem;padding:1rem;background:#fff;border:1px solid #d9e0e7;border-radius:8px}.dark-mode .agents-pairing-result{background:#1e2530;border-color:#374151}.agents-pairing-code{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.agents-pairing-code-value{font-family:ui-monospace,monospace;font-size:1.5rem;font-weight:700;letter-spacing:.15em;color:#3498db}.dark-mode .agents-pairing-code-value{color:#5dade2}.agents-pairing-expires{font-size:.85rem;color:#7f8c8d;margin:.75rem 0 0}.dark-mode .agents-pairing-expires{color:#94a3b8}.agents-list{display:flex;flex-direction:column;gap:.75rem}.agents-list-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.dark-mode .agents-list-footer{border-top-color:#374151}.agent-card{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.9rem 1rem;transition:border-color .2s,box-shadow .2s,background-color .3s}.agent-card:hover{border-color:#3498db;box-shadow:0 2px 8px #3498db14}.dark-mode .agent-card{background:#1e2530;border-color:#374151}.dark-mode .agent-card:hover{border-color:#5dade2}.agent-card-icon{color:#3498db;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ebf5fb;border-radius:8px}.dark-mode .agent-card-icon{color:#5dade2;background:#1a3a52}.agent-card-body{flex:1;min-width:0}.agent-card-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.25rem}.agent-card-name{font-weight:600;font-size:.95rem;color:#1e293b}.dark-mode .agent-card-name{color:#e2e8f0}.agent-card-meta{font-size:.78rem;color:#94a3b8;line-height:1.45}.agent-card-actions{display:flex;gap:.35rem;flex-shrink:0}.badge-agent-online{display:inline-flex;align-items:center;gap:.25rem;background:#d1fae5;color:#065f46;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.dark-mode .badge-agent-online{background:#064e3b;color:#6ee7b7}.badge-agent-offline{display:inline-flex;align-items:center;gap:.25rem;background:#f3f4f6;color:#6b7280;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.dark-mode .badge-agent-offline{background:#374151;color:#9ca3af}.badge-agent-browser{background:#ede9fe;color:#5b21b6;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.dark-mode .badge-agent-browser{background:#4c1d95;color:#ddd6fe}.agent-status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.badge-agent-online .agent-status-dot{box-shadow:0 0 0 2px #10b98159}.recipes-list{display:flex;flex-direction:column;gap:.6rem}.recipe-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.85rem 1rem}.dark-mode .recipe-card{background:#1e2530;border-color:#374151}.recipe-card-name{font-weight:600;font-size:.92rem;color:#1e293b;margin-bottom:.2rem}.dark-mode .recipe-card-name{color:#e2e8f0}.recipe-card-url{font-size:.8rem;color:#64748b;word-break:break-all}.dark-mode .recipe-card-url{color:#94a3b8}.recipe-card-goal{font-size:.78rem;color:#94a3b8;margin-top:.35rem;line-height:1.4}.agents-job-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.agents-job-controls{display:flex;align-items:center;gap:.5rem}.agents-job-filters{display:inline-flex;gap:.35rem}.agents-job-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.85rem 1rem;cursor:pointer;transition:border-color .2s,box-shadow .2s,background-color .2s}.agents-job-row:hover{border-color:#3498db;box-shadow:0 2px 8px #3498db14}.agents-job-row-selected{border-color:#3498db;background:#f0f8ff;box-shadow:0 2px 8px #3498db1f}.dark-mode .agents-job-row{background:#1e2530;border-color:#374151}.dark-mode .agents-job-row:hover,.dark-mode .agents-job-row-selected{border-color:#5dade2;background:#1a3048}.agents-job-row-main{display:flex;flex-direction:column;gap:.25rem;min-width:0}.agents-job-row-title{font-weight:600;color:#2c3e50}.dark-mode .agents-job-row-title{color:#e0e0e0}.agents-job-row-agent{font-weight:400;color:#64748b}.dark-mode .agents-job-row-agent{color:#94a3b8}.agents-job-row-meta{display:flex;flex-direction:column;gap:.15rem;font-size:.8rem;color:#7f8c8d}.dark-mode .agents-job-row-meta{color:#9aa7b8}.agents-job-row-goal{color:#334155;font-weight:500}.dark-mode .agents-job-row-goal{color:#cbd5e1}.agents-job-row-status{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex-shrink:0}.agents-job-form{display:flex;gap:.5rem;margin-bottom:1rem}.agents-job-input{flex:1;padding:.5rem .65rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;background:#fff;color:#2c3e50}.dark-mode .agents-job-input{background:#1a1a1a;border-color:#444;color:#e0e0e0}.agents-job-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;margin-top:1rem}.dark-mode .agents-job-panel{background:#1e2530;border-color:#374151}.agents-job-status-row{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin-bottom:.75rem}.agents-job-value{font-size:.9rem;color:#334155}.dark-mode .agents-job-value{color:#cbd5e1}.agents-job-url{font-size:.8rem;color:#64748b;word-break:break-all;margin-bottom:.75rem}.agents-mfa-banner{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:.85rem 1rem;margin-bottom:1rem}.dark-mode .agents-mfa-banner{background:#422006;border-color:#854d0e}.agents-mfa-banner p{margin:0 0 .75rem;color:#92400e;font-size:.9rem;line-height:1.45}.dark-mode .agents-mfa-banner p{color:#fcd34d}.agents-audit-log summary{cursor:pointer;font-size:.88rem;font-weight:600;color:#475569;margin-bottom:.5rem}.dark-mode .agents-audit-log summary{color:#94a3b8}.agents-job-goal{margin-top:.75rem;padding:.65rem .75rem;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0;font-size:.9rem;line-height:1.45;color:#334155}.dark-mode .agents-job-goal{background:#1f2937;border-color:#374151;color:#e2e8f0}.agents-job-config-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:.5rem;font-size:.82rem;color:#64748b}.agents-audit-list{list-style:none;margin:0;padding:0;max-height:420px;overflow-y:auto}.agents-audit-item{display:flex;flex-direction:column;gap:.35rem;padding:.55rem 0;border-bottom:1px solid #edf1f5;font-size:.82rem;color:#475569}.agents-audit-item-header{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.agents-audit-tool{font-weight:600;color:#334155}.dark-mode .agents-audit-tool{color:#e2e8f0}.agents-audit-time{margin-left:auto;font-size:.75rem;color:#94a3b8}.agents-audit-detail{font-size:.8rem;color:#475569;white-space:pre-wrap;word-break:break-word}.agents-audit-result{margin:0;padding:.45rem .55rem;border-radius:6px;background:#f8fafc;border:1px solid #e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;line-height:1.4;white-space:pre-wrap;word-break:break-word;max-height:180px;overflow-y:auto}.dark-mode .agents-audit-result{background:#111827;border-color:#374151;color:#cbd5e1}.dark-mode .agents-audit-item{border-bottom-color:#374151;color:#94a3b8}.agents-audit-item:last-child{border-bottom:none}.agents-audit-step{font-family:ui-monospace,monospace;color:#94a3b8;min-width:1.5rem}.agents-audit-error{color:#ef4444}.agents-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#64748b;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.agents-icon-btn:hover:not(:disabled){background:#f1f5f9;color:#3498db;border-color:#3498db}.agents-icon-btn:disabled{opacity:.5;cursor:not-allowed}.dark-mode .agents-icon-btn{background:#2a2a2a;border-color:#444;color:#94a3b8}.dark-mode .agents-icon-btn:hover:not(:disabled){background:#374151;color:#5dade2;border-color:#5dade2}.agents-icon-btn-danger:hover:not(:disabled){color:#ef4444;border-color:#ef4444;background:#fef2f2}.dark-mode .agents-icon-btn-danger:hover:not(:disabled){background:#450a0a;color:#fca5a5;border-color:#fca5a5}.agents-header-actions{display:flex;gap:.5rem;align-items:center}.agents-empty-icon{color:#bdc3c7;margin-bottom:.75rem}.dark-mode .agents-empty-icon{color:#555}.page-header .button-primary,.page-header .button-secondary{display:inline-flex;align-items:center;gap:.4rem}.agents-section .button-primary,.agents-section .button-secondary{display:inline-flex;align-items:center;gap:.35rem}.badge-job-status{padding:.25rem .55rem;border-radius:4px;font-size:.78rem;font-weight:600;text-transform:capitalize}.badge-job-running{background:#dbeafe;color:#1d4ed8}.badge-job-completed{background:#d1fae5;color:#065f46}.badge-job-error{background:#fee2e2;color:#991b1b}.badge-job-paused{background:#fef3c7;color:#92400e}.badge-job-pending{background:#f3f4f6;color:#4b5563}.dark-mode .badge-job-running{background:#1e3a8a;color:#93c5fd}.dark-mode .badge-job-completed{background:#064e3b;color:#6ee7b7}.dark-mode .badge-job-error{background:#7f1d1d;color:#fca5a5}.dark-mode .badge-job-paused{background:#78350f;color:#fcd34d}.dark-mode .badge-job-pending{background:#374151;color:#d1d5db}@keyframes agents-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.agents-spin{animation:agents-spin 1s linear infinite}.access-empty-state{text-align:center;padding:3rem 2rem;background:#f8f9fa;border-radius:8px}.dark-mode .access-empty-state{background:#2a2a2a}.access-empty-state-icon{display:flex;justify-content:center;margin-bottom:1rem;color:#94a3b8;font-size:2.5rem}.access-empty-state h2{margin:0 0 .75rem;font-size:1.25rem;color:#334155}.dark-mode .access-empty-state h2{color:#e2e8f0}.access-empty-state p{margin:0 auto 1.5rem;max-width:36rem;color:#64748b;line-height:1.5}.dark-mode .access-empty-state p{color:#94a3b8}.knowledge-intro{margin:-1rem 0 1.5rem;color:#7f8c8d;font-size:.95rem;line-height:1.5}.knowledge-modal-tabs{display:flex;gap:.25rem;margin:0 0 1.25rem;border-bottom:1px solid #dee2e6}.dark-mode .knowledge-modal-tabs{border-bottom-color:#444}.knowledge-modal-tab{padding:.55rem .9rem;margin-bottom:-1px;background:transparent;border:none;border-bottom:2px solid transparent;color:#7f8c8d;font-size:.95rem;font-weight:500;cursor:pointer}.knowledge-modal-tab:hover{color:#2c3e50}.knowledge-modal-tab.is-active{color:#2c3e50;border-bottom-color:#3498db}.dark-mode .knowledge-modal-tab{color:#b0b0b0}.dark-mode .knowledge-modal-tab:hover,.dark-mode .knowledge-modal-tab.is-active{color:#e0e0e0}.dark-mode .knowledge-modal-tab.is-active{border-bottom-color:#3498db}.knowledge-modal-access{padding-top:.25rem}.dark-mode .knowledge-intro{color:#b0b0b0}.knowledge-loading{color:#7f8c8d;padding:2rem 0}.knowledge-empty{text-align:center;padding:4rem 2rem;background:linear-gradient(145deg,#f8fafc,#eef2ff);border-radius:12px;border:1px solid #e2e8f0}.dark-mode .knowledge-empty{background:linear-gradient(145deg,#1e293b,#1a1f2e);border-color:#334155}.knowledge-empty-icon{font-size:3rem;color:#3498db;margin-bottom:1rem}.dark-mode .knowledge-empty-icon{color:#5dade2}.knowledge-empty h2{margin:0 0 .5rem;color:#2c3e50}.dark-mode .knowledge-empty h2{color:#e0e0e0}.knowledge-empty p{margin:0 0 1.5rem;color:#64748b}.dark-mode .knowledge-empty p{color:#94a3b8}.knowledge-list{display:flex;flex-direction:column;gap:.75rem}.knowledge-card{display:flex;align-items:flex-start;gap:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.9rem 1rem;transition:border-color .2s,box-shadow .2s,background-color .3s}.knowledge-card:hover{border-color:#3498db;box-shadow:0 2px 8px #3498db14}.dark-mode .knowledge-card{background:#1e2530;border-color:#374151}.dark-mode .knowledge-card:hover{border-color:#5dade2}.knowledge-card-icon{color:#3498db;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ebf5fb;border-radius:8px}.dark-mode .knowledge-card-icon{color:#5dade2;background:#1a3a52}.knowledge-card-body{flex:1;min-width:0}.knowledge-card-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.35rem}.knowledge-card-name{font-weight:600;font-size:.95rem;color:#1e293b}.dark-mode .knowledge-card-name{color:#e2e8f0}.knowledge-card-preview{margin:0;font-size:.83rem;color:#64748b;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dark-mode .knowledge-card-preview{color:#94a3b8}.knowledge-card-actions{display:flex;gap:.35rem;flex-shrink:0}.knowledge-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#64748b;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.knowledge-icon-btn:hover:not(:disabled){background:#f1f5f9;color:#3498db;border-color:#3498db}.knowledge-icon-btn:disabled{opacity:.5;cursor:not-allowed}.knowledge-icon-btn-danger:hover:not(:disabled){color:#ef4444;border-color:#ef4444;background:#fef2f2}.dark-mode .knowledge-icon-btn{background:#2a2a2a;border-color:#444;color:#94a3b8}.dark-mode .knowledge-icon-btn:hover:not(:disabled){background:#374151;color:#5dade2;border-color:#5dade2}.dark-mode .knowledge-icon-btn-danger:hover:not(:disabled){background:#450a0a;color:#fca5a5;border-color:#fca5a5}.badge-knowledge-enabled{display:inline-flex;align-items:center;gap:.25rem;background:#d1fae5;color:#065f46;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.dark-mode .badge-knowledge-enabled{background:#064e3b;color:#6ee7b7}.badge-knowledge-disabled{display:inline-flex;align-items:center;gap:.25rem;background:#f3f4f6;color:#6b7280;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.dark-mode .badge-knowledge-disabled{background:#374151;color:#9ca3af}.knowledge-toggle-btn{border:none;background:none;padding:0;cursor:pointer;font:inherit}.data-empty{text-align:center;padding:4rem 2rem;background:linear-gradient(145deg,#f8fafc,#eef2ff);border-radius:12px;border:1px solid #e2e8f0}.data-modal-tabs{display:flex;gap:.25rem;margin:0 0 1.25rem;border-bottom:1px solid #dee2e6}.dark-mode .data-modal-tabs{border-bottom-color:#444}.data-modal-tab{padding:.55rem .9rem;margin-bottom:-1px;background:transparent;border:none;border-bottom:2px solid transparent;color:#7f8c8d;font-size:.95rem;font-weight:500;cursor:pointer}.data-modal-tab:hover{color:#2c3e50}.data-modal-tab.is-active{color:#2c3e50;border-bottom-color:#3498db}.dark-mode .data-modal-tab{color:#b0b0b0}.dark-mode .data-modal-tab:hover,.dark-mode .data-modal-tab.is-active{color:#e0e0e0}.dark-mode .data-modal-tab.is-active{border-bottom-color:#3498db}.data-modal-access{padding-top:.25rem}.dark-mode .data-empty{background:linear-gradient(145deg,#1e293b,#1a1f2e);border-color:#334155}.data-empty-icon{font-size:3rem;color:#6366f1;margin-bottom:1rem}.data-empty h2{margin:0 0 .5rem}.data-empty p{margin:0 0 1.5rem;color:#64748b}.dark-mode .data-empty h2{color:#e0e0e0}.dark-mode .data-empty p{color:#94a3b8}.data-sources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.data-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;transition:box-shadow .2s,transform .2s}.data-card:hover{box-shadow:0 8px 24px #0f172a14;transform:translateY(-2px)}.dark-mode .data-card{background:#252525;border-color:#404040}.dark-mode .data-card:hover{box-shadow:0 8px 24px #00000059}.data-card-top{display:flex;justify-content:space-between;align-items:center}.data-card h3{margin:0;font-size:1.15rem}.data-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.data-card-title-row h3{min-width:0;flex:1}.data-info-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;flex-shrink:0;border:none;border-radius:999px;background:transparent;color:#94a3b8;cursor:pointer;transition:color .2s,background-color .2s}.data-info-btn:hover,.data-info-btn.is-open{color:#6366f1;background:#eef2ff}.dark-mode .data-info-btn:hover,.dark-mode .data-info-btn.is-open{color:#a5b4fc;background:#6366f126}.data-connection-details{margin:0;padding:.65rem .75rem;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.dark-mode .data-connection-details{background:#1a1a1a;border-color:#404040}.data-connection-label{display:block;margin-bottom:.25rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8}.data-connection-value{display:block;font-size:.8rem;line-height:1.45;color:#334155;word-break:break-all;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.dark-mode .data-connection-value{color:#cbd5e1}.data-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:#ede9fe;color:#5b21b6}.dark-mode .data-badge{background:#8b5cf633;color:#c4b5fd}.data-card-notes{margin:0;font-size:.85rem;color:#475569;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dark-mode .data-card-notes{color:#94a3b8}.data-card-actions{display:flex;gap:.35rem}.data-card-badges{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.data-card-org-default{border-color:#93c5fd;background:linear-gradient(165deg,#eff6ff,#fff 55%);box-shadow:0 0 0 1px #3b82f61f}.data-card-org-default:hover{box-shadow:0 8px 24px #2563eb1f}.dark-mode .data-card-org-default{border-color:#1d4ed8;background:linear-gradient(165deg,#172554,#252525 60%);box-shadow:0 0 0 1px #60a5fa33}.data-badge-org-default{background:#dbeafe;color:#1d4ed8}.dark-mode .data-badge-org-default{background:#3b82f640;color:#93c5fd}.data-edit-secondary-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.dark-mode .data-edit-secondary-actions{border-top-color:#404040}.data-edit-secondary-actions .button-secondary,.data-edit-secondary-actions .button-danger{display:inline-flex;align-items:center;gap:.35rem}.data-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:6px;background:#f1f5f9;color:#334155;cursor:pointer}.data-icon-btn:hover{background:#e2e8f0}.data-icon-btn-danger:hover{background:#fee2e2;color:#b91c1c}.dark-mode .data-icon-btn{background:#333;color:#e0e0e0}.dark-mode .data-icon-btn:hover{background:#404040}.dark-mode .data-icon-btn-danger:hover{background:#dc262640;color:#fca5a5}.data-preview-btn{display:inline-flex;align-items:center;gap:.35rem;margin-top:.25rem;padding:.45rem .75rem;border:1px dashed #cbd5e1;border-radius:6px;background:transparent;color:#475569;cursor:pointer;font-size:.85rem;width:fit-content}.data-preview-btn:hover{border-color:#6366f1;color:#6366f1}.dark-mode .data-preview-btn{border-color:#505050;color:#b0b0b0}.dark-mode .data-preview-btn:hover{border-color:#818cf8;color:#a5b4fc}.dp-page .page-content{margin-bottom:0}.dp-page h1{margin:0;font-size:1.35rem}.dp-header{margin-bottom:1rem}.dp-header-main{margin-bottom:.75rem}.dp-title-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.dp-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.5rem .65rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.dark-mode .dp-toolbar{background:#252525;border-color:#404040}.dp-tabs{display:inline-flex;gap:2px;padding:2px;background:#f1f5f9;border-radius:8px}.dark-mode .dp-tabs{background:#1a1a1a}.dp-tab{padding:.3rem .65rem;border:none;border-radius:6px;background:transparent;color:#64748b;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.dp-tab.is-active{background:#fff;color:#4f46e5;box-shadow:0 1px 2px #0f172a0f}.dark-mode .dp-tab.is-active{background:#333;color:#a5b4fc}.dp-meta-toggle{display:inline-flex;align-items:center;gap:.35rem;margin-left:auto;font-size:.78rem;color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none}.dark-mode .dp-meta-toggle{color:#94a3b8}.dp-select{padding:.35rem .5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.82rem;background:#fff;color:#334155;max-width:220px}.dp-select-sm{max-width:140px;font-size:.78rem;padding:.28rem .4rem}.dark-mode .dp-select{background:#2a2a2a;border-color:#444;color:#e0e0e0}.dp-input{padding:.35rem .5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.82rem;background:#fff}.dp-input-sm{width:120px;font-size:.78rem;padding:.28rem .4rem}.dp-input-xs{width:3rem;padding:.2rem .35rem;font-size:.78rem;text-align:center}.dark-mode .dp-input{background:#2a2a2a;border-color:#444;color:#e0e0e0}.dp-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .65rem;border:1px solid transparent;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.dp-btn-sm{padding:.28rem .5rem;font-size:.75rem}.dp-btn-primary{background:#6366f1;color:#fff}.dp-btn-primary:hover:not(:disabled){background:#4f46e5}.dp-btn-ghost{background:transparent;border-color:#e2e8f0;color:#475569}.dp-btn-ghost:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.dark-mode .dp-btn-ghost{border-color:#444;color:#cbd5e1}.dark-mode .dp-btn-ghost:hover:not(:disabled){background:#333}.dp-btn-danger{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.dp-btn-danger:hover:not(:disabled){background:#fee2e2}.dp-btn:disabled{opacity:.45;cursor:not-allowed}.dp-panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.dark-mode .dp-panel{background:#252525;border-color:#404040}.dp-filter-bar{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding:.5rem .65rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.dark-mode .dp-filter-bar{background:#1e293b;border-bottom-color:#404040}.dp-bulk-bar{display:flex;align-items:center;gap:.75rem;padding:.4rem .65rem;font-size:.78rem;background:#eef2ff;border-bottom:1px solid #c7d2fe;color:#4338ca}.dark-mode .dp-bulk-bar{background:#6366f11f;border-bottom-color:#404040;color:#a5b4fc}.dp-table-wrap{overflow:auto;max-height:calc(100vh - 320px)}.dp-table{width:100%;border-collapse:collapse;font-size:.78rem}.dp-table th,.dp-table td{padding:.35rem .55rem;text-align:left;border-bottom:1px solid #e2e8f0;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}.dark-mode .dp-table th,.dark-mode .dp-table td{border-bottom-color:#404040;color:#e0e0e0}.dp-table thead th{position:sticky;top:0;z-index:2;background:#f8fafc;font-weight:600;color:#475569;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}.dark-mode .dp-table thead th{background:#1a1a1a;color:#94a3b8}.dp-table tbody tr:hover{background:#f8fafc}.dark-mode .dp-table tbody tr:hover{background:#2a2a2a}.dp-table tbody tr.is-selected{background:#eef2ff}.dark-mode .dp-table tbody tr.is-selected{background:#6366f11f}.dp-table tbody tr:nth-child(2n){background:#f8fafc99}.dark-mode .dp-table tbody tr:nth-child(2n){background:#ffffff05}.dp-th-sortable{position:relative;padding-right:1.5rem!important}.dp-th-btn{display:inline-flex;align-items:center;gap:.2rem;border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-transform:inherit;letter-spacing:inherit}.dp-sort-icon{font-size:.85rem;color:#6366f1}.dp-col-menu-wrap{position:absolute;right:.25rem;top:50%;transform:translateY(-50%)}.dp-col-menu-btn{border:none;background:none;padding:0 .2rem;color:#94a3b8;cursor:pointer;font-size:.9rem;line-height:1}.dp-col-menu-btn:hover{color:#6366f1}.dp-col-menu{position:absolute;right:0;top:100%;z-index:10;min-width:200px;margin-top:4px;padding:.35rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0f172a1f}.dark-mode .dp-col-menu{background:#2a2a2a;border-color:#444}.dp-col-menu button{display:block;width:100%;text-align:left;padding:.35rem .5rem;border:none;background:none;font-size:.78rem;color:#334155;cursor:pointer;border-radius:4px}.dp-col-menu button:hover{background:#f1f5f9}.dark-mode .dp-col-menu button{color:#e0e0e0}.dark-mode .dp-col-menu button:hover{background:#333}.dp-col-menu-section{margin-top:.35rem;padding-top:.35rem;border-top:1px solid #e2e8f0}.dp-col-menu-section>span{display:block;padding:.2rem .5rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8}.dp-col-menu-match em{float:right;font-style:normal;font-size:.65rem;color:#94a3b8}.dp-col-check{width:2rem;text-align:center!important}.dp-col-actions{width:4.5rem;white-space:nowrap}.dp-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:none;border-radius:4px;background:transparent;color:#64748b;cursor:pointer}.dp-icon-btn:hover{background:#f1f5f9;color:#6366f1}.dp-icon-btn-danger:hover{background:#fef2f2;color:#b91c1c}.dp-empty{text-align:center;color:#94a3b8;font-style:italic;padding:2rem!important}.dp-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.45rem .65rem;border-top:1px solid #e2e8f0;background:#f8fafc;font-size:.78rem}.dark-mode .dp-pagination{background:#1e293b;border-top-color:#404040}.dp-page-meta{color:#64748b}.dark-mode .dp-page-meta{color:#94a3b8}.dp-page-controls{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.dp-page-jump{display:inline-flex;align-items:center;gap:.25rem;color:#64748b}.dp-muted{color:#94a3b8;font-size:.82rem}.dp-loading{padding:1.5rem;text-align:center}.dp-sql-panel{padding:.65rem;display:flex;flex-direction:column;gap:.65rem}.dp-sql-textarea{width:100%;min-height:120px;padding:.6rem;border:1px solid #e2e8f0;border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;line-height:1.45;resize:vertical;background:#f8fafc}.dark-mode .dp-sql-textarea{background:#1a1a1a;border-color:#444;color:#e0e0e0}.dp-sql-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.4rem}.dp-saved-queries{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.dp-saved-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8}.dp-saved-chip{padding:.2rem .5rem;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font-size:.72rem;color:#475569;cursor:pointer;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-saved-chip:hover{border-color:#6366f1;color:#6366f1}.dark-mode .dp-saved-chip{background:#2a2a2a;border-color:#444;color:#cbd5e1}.dp-error{padding:.5rem .65rem;border-radius:6px;background:#fef2f2;color:#b91c1c;font-size:.8rem}.dp-sql-meta{padding:.35rem .55rem 0}.dp-pk-badge{display:inline-block;margin-left:.35rem;padding:.05rem .3rem;border-radius:4px;font-size:.65rem;font-weight:600;font-style:normal;background:#ede9fe;color:#5b21b6}.dark-mode .dp-pk-badge{background:#8b5cf633;color:#c4b5fd}.dp-schema-table code{font-size:.75rem}.dp-schema-note{padding:.65rem}.dp-edit-modal{max-width:480px}.dp-edit-form{display:flex;flex-direction:column;gap:.65rem}.dp-edit-field{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem}.dp-edit-field span{color:#64748b;font-weight:500}.dp-edit-field input{padding:.4rem .5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.85rem}.dp-edit-field input:disabled{background:#f1f5f9;color:#64748b}.dark-mode .dp-edit-field input{background:#2a2a2a;border-color:#444;color:#e0e0e0}.dp-edit-actions{display:flex;gap:.5rem;margin-top:.5rem}.table-preview-container{max-height:80vh;overflow-y:auto}.page-subtitle{margin-top:.5rem;color:#7f8c8d;font-size:.95rem;transition:color .3s ease}.dark-mode .page-subtitle{color:#b0b0b0}.unified-success-box{margin-bottom:1rem;padding:12px;border-radius:8px;background:#f0f9ff;transition:background-color .2s,color .2s}.dark-mode .unified-success-box{background:#1e3a5f;color:#e4e4e4}.table-structure-collapsible{border:1px solid #ddd;border-radius:4px;transition:border-color .3s ease}.dark-mode .table-structure-collapsible{border-color:#444}.collapse-toggle{width:100%;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f8f9fa;border:none;cursor:pointer;text-align:left;transition:background-color .3s ease}.dark-mode .collapse-toggle{background:#1a1a1a}.collapse-toggle:hover{background:#e9ecef}.dark-mode .collapse-toggle:hover{background:#2a2a2a}.collapse-toggle span{font-size:.8rem;color:#7f8c8d;transition:color .3s ease;width:1rem;display:inline-block}.dark-mode .collapse-toggle span{color:#b0b0b0}.collapse-toggle h4{margin:0;color:#2c3e50;font-size:1.1rem;transition:color .3s ease}.dark-mode .collapse-toggle h4{color:#e0e0e0}.table-selector{margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.table-selector-inline{margin-bottom:1rem}.table-selector-inline .table-select{max-width:480px}.post-table-controls{display:flex;flex-direction:column;gap:1rem}.post-table-controls .metadata-toggle{margin-top:0}.table-pagination label{display:flex;align-items:center;gap:.75rem;color:#2c3e50;font-size:.9rem;transition:color .3s ease}.dark-mode .table-pagination label{color:#e0e0e0}.table-select-compact{flex:0 0 auto;width:auto;min-width:100px;padding:.4rem .5rem;font-size:.9rem}.table-select{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem;background:#fff;transition:border-color .3s ease,background-color .3s ease}.dark-mode .table-select{background:#2a2a2a;border-color:#444;color:#e0e0e0}.table-preview-content{display:flex;flex-direction:column;gap:1.5rem}.metadata-toggle{margin-top:.75rem;display:inline-flex;align-items:center;gap:.5rem;color:#2c3e50;font-size:.9rem;cursor:pointer;transition:color .3s ease}.metadata-toggle input{cursor:pointer}.dark-mode .metadata-toggle{color:#e0e0e0}.structure-table{overflow-x:auto}.structure-table table{width:100%;border-collapse:collapse;background:#fff;transition:background-color .3s ease}.dark-mode .structure-table table{background:#2a2a2a}.structure-table th,.structure-table td{padding:.75rem;text-align:left;border-bottom:1px solid #ddd;transition:border-color .3s ease,color .3s ease}.dark-mode .structure-table th,.dark-mode .structure-table td{border-bottom-color:#444;color:#e0e0e0}.structure-table th{background:#f8f9fa;font-weight:600;color:#2c3e50;transition:background-color .3s ease,color .3s ease}.dark-mode .structure-table th{background:#1a1a1a;color:#e0e0e0}.preview-table-wrapper{overflow-x:auto;overflow-y:auto;border:1px solid #ddd;border-radius:4px;transition:border-color .3s ease;max-height:calc(100vh - 400px)}.dark-mode .preview-table-wrapper{border-color:#444}.preview-table{width:100%;border-collapse:collapse;background:#fff;transition:background-color .3s ease}.dark-mode .preview-table{background:#2a2a2a}.preview-table th,.preview-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #ddd;font-size:.9rem;transition:border-color .3s ease,color .3s ease}.dark-mode .preview-table th,.dark-mode .preview-table td{border-bottom-color:#444;color:#e0e0e0}.preview-table th{background:#f8f9fa;font-weight:600;position:sticky;top:0;z-index:1;color:#2c3e50;transition:background-color .3s ease,color .3s ease}.dark-mode .preview-table th{background:#1a1a1a;color:#e0e0e0}.preview-table tr:hover{background:#f8f9fa;transition:background-color .2s ease}.dark-mode .preview-table tr:hover{background:#333}.empty-cell{text-align:center;color:#7f8c8d;font-style:italic;padding:2rem!important;transition:color .3s ease}.dark-mode .empty-cell{color:#b0b0b0}.table-pagination{margin-top:.75rem;display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:.75rem}.table-pagination span{color:#2c3e50;font-size:.9rem;transition:color .3s ease}.dark-mode .table-pagination span{color:#e0e0e0}.dp-table-menu{position:relative}.dp-table-menu-dropdown{right:0;left:auto;min-width:12rem}.dp-col-menu button.danger{color:#c0392b}.dp-rel-diagram{overflow-x:auto;margin-bottom:1rem;padding:.5rem;border:1px solid #e2e8f0;border-radius:8px;color:#475569}.dark-mode .dp-rel-diagram{border-color:#334155;color:#94a3b8}.dp-rel-node{fill:#f8fafc;stroke:#94a3b8;stroke-width:1}.dark-mode .dp-rel-node{fill:#1e293b;stroke:#64748b}.dp-rel-node-label{fill:#1e293b;font-size:11px;font-family:inherit}.dark-mode .dp-rel-node-label{fill:#e2e8f0}.dp-create-col-row{display:flex;gap:.5rem}.dp-create-col-row input,.dp-create-col-row select{flex:1}.dp-error{color:#c0392b;margin-bottom:.75rem}.dp-schema-row-added{background:#ecfdf5}.dp-schema-row-removed{background:#fef2f2;opacity:.7}.dp-schema-row-conflict{background:#fff7ed}.dp-schema-order{width:3.5rem;white-space:nowrap}.dp-schema-order .dp-icon-btn{padding:.15rem}.workflow-definition-view{display:flex;flex-direction:column;gap:.5rem}.workflow-definition-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.workflow-definition-label{font-weight:600;color:#2c3e50}.dark-mode .workflow-definition-label{color:#e0e0e0}.workflow-definition-mode{display:inline-flex;border:1px solid #ddd;border-radius:4px;overflow:hidden}.dark-mode .workflow-definition-mode{border-color:#555}.workflow-definition-mode button{padding:.35rem .75rem;border:none;background:#f5f5f5;color:#555;cursor:pointer;font-size:.85rem}.dark-mode .workflow-definition-mode button{background:#2a2a2a;color:#ccc}.workflow-definition-mode button.active{background:#3498db;color:#fff}.dark-mode .workflow-definition-mode button.active{background:#2980b9}.workflow-steps-panel{border:1px solid #ddd;border-radius:4px;padding:.75rem;background:#fafafa;max-height:28rem;overflow-y:auto}.dark-mode .workflow-steps-panel{background:#1a1a1a;border-color:#444}.workflow-def-meta{margin:0 0 .75rem;font-size:.85rem;color:#7f8c8d}.dark-mode .workflow-def-meta{color:#b0b0b0}.workflow-def-muted{margin:0;color:#7f8c8d;font-size:.9rem}.workflow-def-parse-error{padding:.5rem .75rem;background:#fdecea;color:#c0392b;border-radius:4px;font-size:.9rem}.dark-mode .workflow-def-parse-error{background:#3a1f1f;color:#ffb4ad}.workflow-steps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.workflow-step-card{padding:.75rem;border:1px solid #e0e0e0;border-radius:6px;background:#fff}.dark-mode .workflow-step-card{background:#252525;border-color:#444}.workflow-step-header{display:flex;gap:.65rem;align-items:flex-start;flex-wrap:wrap}.workflow-steps-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.workflow-steps-panel-header .workflow-def-meta{margin:0}.workflow-step-actions{margin-left:auto;display:flex;flex-wrap:wrap;gap:.35rem}.workflow-step-actions button{padding:.25rem .5rem;font-size:.8rem}.workflow-step-editor-modal{max-width:720px;width:92%}.workflow-step-editor-form{display:flex;flex-direction:column;gap:.75rem}.workflow-step-editor-toggle{margin:0}.workflow-step-index{flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ecf0f1;color:#2c3e50;font-size:.8rem;font-weight:600}.dark-mode .workflow-step-index{background:#333;color:#e0e0e0}.workflow-step-titles{display:flex;flex-direction:column;gap:.2rem;min-width:0}.workflow-step-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.95rem;word-break:break-all}.workflow-step-type{font-size:.8rem;font-weight:500;color:#555}.dark-mode .workflow-step-type{color:#bbb}.workflow-step-type-script{color:#8e44ad}.workflow-step-type-query_data_source{color:#2980b9}.workflow-step-type-notify{color:#27ae60}.workflow-step-flags{margin:.5rem 0 0 2.15rem;padding:0;list-style:none;font-size:.85rem;color:#666}.dark-mode .workflow-step-flags{color:#aaa}.workflow-step-flags code{font-size:.8rem}.workflow-step-config{margin:.5rem 0 0 2.15rem;display:grid;gap:.35rem;font-size:.85rem}.workflow-step-config>div{display:grid;grid-template-columns:7.5rem 1fr;gap:.5rem}.workflow-step-config dt{margin:0;color:#7f8c8d;font-weight:500}.workflow-step-config dd{margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem;word-break:break-word;white-space:pre-wrap}.workflow-view-script-btn{margin:.5rem 0 0 2.15rem;padding:.35rem .65rem;font-size:.85rem;border:1px solid #3498db;border-radius:4px;background:transparent;color:#2980b9;cursor:pointer}.workflow-view-script-btn:hover{background:#ebf5fb}.dark-mode .workflow-view-script-btn{color:#5dade2;border-color:#5dade2}.dark-mode .workflow-view-script-btn:hover{background:#1a3050}.workflow-script-modal{max-width:900px;width:92%}.workflow-script-modal-body{display:flex;flex-direction:column;gap:1rem}.workflow-script-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem 1rem;margin:0;font-size:.85rem}.workflow-script-meta dt{margin:0;color:#7f8c8d;font-weight:500}.workflow-script-meta dd{margin:.15rem 0 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem;word-break:break-all}.workflow-script-source{margin:0;padding:1rem;max-height:55vh;overflow:auto;background:#f4f4f4;border:1px solid #ddd;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.dark-mode .workflow-script-source{background:#111;border-color:#444;color:#e8e8e8}.workflow-script-source-editable{width:100%;min-height:320px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85rem;line-height:1.45}.workflow-script-save-notice{padding:.5rem .75rem;background:#eafaf1;color:#1e8449;border-radius:4px;font-size:.9rem;margin-bottom:.5rem}.dark-mode .workflow-script-save-notice{background:#1a3328;color:#82e0aa}.workflow-edit-chat{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #ddd;display:flex;flex-direction:column;gap:.75rem}.dark-mode .workflow-edit-chat{border-top-color:#444}.workflow-edit-chat-header h3{margin:0 0 .35rem;font-size:1rem;color:#2c3e50}.dark-mode .workflow-edit-chat-header h3{color:#e0e0e0}.workflow-edit-chat-header .workflow-help{margin:0}.workflow-edit-chat-messages{max-height:280px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:6px;padding:.75rem;background:#fafafa;display:flex;flex-direction:column;gap:.75rem}.dark-mode .workflow-edit-chat-messages{background:#1a1a1a;border-color:#444}.workflow-edit-chat-hint{margin:0;padding:.65rem .75rem;border-radius:6px;border:1px dashed #cbd5e1;background:#f8fafc;color:#64748b;font-size:.9rem;line-height:1.45}.dark-mode .workflow-edit-chat-hint{background:#252525;border-color:#555;color:#b0b0b0}.workflow-edit-chat-loading{border-style:solid;font-style:italic}.workflow-edit-chat-message{max-width:95%}.workflow-edit-chat-message-user{align-self:flex-end}.workflow-edit-chat-message-assistant{align-self:flex-start}.workflow-edit-chat-message-body{padding:.6rem .75rem;border-radius:8px;font-size:.9rem;line-height:1.45}.workflow-edit-chat-message-body p{margin:0 0 .5rem}.workflow-edit-chat-message-body p:last-child{margin-bottom:0}.workflow-edit-chat-message-user .workflow-edit-chat-message-body{background:#3498db;color:#fff}.workflow-edit-chat-message-assistant .workflow-edit-chat-message-body{background:#fff;border:1px solid #e5e5e5}.dark-mode .workflow-edit-chat-message-assistant .workflow-edit-chat-message-body{background:#252525;border-color:#444;color:#e8e8e8}.workflow-edit-chat-tools{margin-top:.35rem;font-size:.8rem;color:#64748b}.dark-mode .workflow-edit-chat-tools{color:#b0b0b0}.workflow-edit-chat-tools pre{margin:.35rem 0 0;padding:.5rem;max-height:160px;overflow:auto;background:#f4f4f4;border-radius:4px;font-size:.75rem}.dark-mode .workflow-edit-chat-tools pre{background:#111;color:#e0e0e0}.workflow-edit-chat-draft{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.6rem .75rem;background:#ebf5fb;border:1px solid #85c1e9;border-radius:6px;font-size:.9rem}.dark-mode .workflow-edit-chat-draft{background:#1a2838;border-color:#2d4a66;color:#e0e0e0}.workflow-edit-chat-input-row{display:flex;gap:.75rem;align-items:stretch;padding:.75rem;border:1px solid #e0e0e0;border-radius:6px;background:#f8f9fa}.dark-mode .workflow-edit-chat-input-row{background:#1f1f1f;border-color:#444}.workflow-edit-chat-input{flex:1;min-height:4.5rem;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem;font-family:inherit;line-height:1.45;resize:vertical;background:#fff;color:#2c3e50;transition:border-color .2s ease,box-shadow .2s ease}.dark-mode .workflow-edit-chat-input{background:#1a1a1a;border-color:#555;color:#e0e0e0;color-scheme:dark}.workflow-edit-chat-input::placeholder{color:#94a3b8}.dark-mode .workflow-edit-chat-input::placeholder{color:#777}.workflow-edit-chat-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db26}.dark-mode .workflow-edit-chat-input:focus{border-color:#5dade2;box-shadow:0 0 0 2px #5dade233}.workflow-edit-chat-input:disabled{opacity:.65;cursor:not-allowed}.workflow-edit-chat-send{align-self:flex-end;min-width:5.5rem;padding:.65rem 1.25rem;white-space:nowrap}.workflow-edit-chat-send:disabled{opacity:.55;cursor:not-allowed}.workflow-edit-chat-script-notice{padding:.5rem .75rem;background:#eafaf1;color:#1e8449;border-radius:6px;font-size:.9rem}.dark-mode .workflow-edit-chat-script-notice{background:#1a3328;color:#82e0aa}.wf-exec-log{margin-top:.75rem;display:flex;flex-direction:column;gap:1.25rem}.wf-exec-section{margin:0}.wf-exec-heading{margin:0 0 .35rem;font-size:1rem}.wf-rpc-stats{margin:0 0 .75rem;font-size:.9rem;color:#5f6b6d}.dark-mode .wf-rpc-stats{color:#b0b0b0}.wf-script-result{margin-bottom:.75rem}.wf-script-result summary{cursor:pointer;font-weight:600}.workflow-no-writes-warning code{font-size:.85em}.wf-exec-intro{margin:0 0 .75rem;color:#5f6b6d;font-size:.9rem}.dark-mode .wf-exec-intro{color:#b0b0b0}.wf-muted{color:#7f8c8d;font-size:.9rem;margin:.25rem 0 0}.dark-mode .wf-muted{color:#aaa}.wf-api-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.wf-api-card,.wf-write-card,.wf-query-card{border-radius:6px;padding:.85rem 1rem}.wf-api-card{border:1px solid #d0e3f7;background:#f8fbff}.wf-write-card{border:1px solid #e8d4b8;background:#fffbf5}.wf-query-card{border:1px solid #d5e8d4;background:#f8fff8}.dark-mode .wf-api-card{background:#1a2838;border-color:#2d4a66}.dark-mode .wf-write-card{background:#2a2418;border-color:#6e5a32}.dark-mode .wf-query-card{background:#1a281a;border-color:#3d5c3d}.wf-api-card-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.5rem}.wf-api-seq{font-weight:700;color:#2980b9;min-width:2rem}.dark-mode .wf-api-seq{color:#6eb5f0}.wf-api-method,.wf-write-method,.wf-query-method{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:700;font-size:.85rem;padding:.15rem .45rem;border-radius:3px;color:#fff}.wf-api-method{background:#34495e}.wf-write-method{background:#b9770e}.wf-query-method{background:#1e8449}.wf-write-ds{margin:0 0 .35rem;font-size:.9rem}.wf-filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.wf-filter-chip{padding:.35rem .65rem;border-radius:999px;border:1px solid #ccc;background:#fff;font-size:.85rem;cursor:pointer}.wf-filter-chip.active{background:#2980b9;border-color:#2980b9;color:#fff}.wf-filter-chip:disabled{opacity:.45;cursor:not-allowed}.dark-mode .wf-filter-chip{background:#333;border-color:#555;color:#eee}.dark-mode .wf-filter-chip.active{background:#2980b9;color:#fff}.wf-log-card{padding:.5rem .75rem;border:1px solid #e5e5e5;border-radius:4px;font-size:.9rem;list-style:none}.wf-status{font-size:.8rem;font-weight:600;padding:.15rem .5rem;border-radius:999px}.wf-status-ok{background:#d5f5e3;color:#1e8449}.wf-status-error{background:#fadbd8;color:#922b21}.wf-status-warn{background:#fdebd0;color:#9a7d0a}.dark-mode .wf-status-ok{background:#1e3d2f;color:#82e0aa}.dark-mode .wf-status-error{background:#3d1f1f;color:#f1948a}.wf-api-when{margin-left:auto;font-size:.85rem;color:#7f8c8d}.dark-mode .wf-api-when{color:#aaa}.wf-api-integration{margin-bottom:.35rem;font-size:.95rem}.wf-api-url{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;margin-bottom:.5rem}.wf-api-host{font-size:.85rem;color:#7f8c8d}.wf-api-path{font-size:.9rem;word-break:break-all}.wf-api-error{margin:.5rem 0 0;color:#c0392b;font-weight:600}.dark-mode .wf-api-error{color:#f1948a}.wf-api-section{margin-top:.5rem;font-size:.9rem}.wf-api-section summary{cursor:pointer;font-weight:600;color:#2980b9}.dark-mode .wf-api-section summary{color:#6eb5f0}.wf-raw-section summary{color:#7f8c8d;font-weight:500}.wf-kv-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:.35rem}.wf-kv-table th{text-align:left;vertical-align:top;padding:.25rem .75rem .25rem 0;color:#555;font-weight:600;white-space:nowrap}.wf-kv-table td{padding:.25rem 0;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.dark-mode .wf-kv-table th{color:#ccc}.wf-code-block{margin:.35rem 0 0;padding:.5rem;background:#f4f4f4;border-radius:4px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem;max-height:280px}.dark-mode .wf-code-block{background:#111}.wf-secondary-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.wf-sql-card,.wf-other-card{border:1px solid #e5e5e5;border-radius:4px;padding:.65rem .75rem;background:#fff}.dark-mode .wf-sql-card,.dark-mode .wf-other-card{background:#222;border-color:#444}.wf-sql-header{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.35rem}.wf-sql{margin:0;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85rem}.wf-message-list{margin:0;padding-left:1.25rem;font-size:.9rem}.workflows-loading{color:#7f8c8d;padding:1rem}.workflows-empty-state{text-align:center;padding:3rem 2rem;background:linear-gradient(145deg,#f8fafc,#eef2ff);border-radius:12px;border:1px solid #e2e8f0}.dark-mode .workflows-empty-state{background:linear-gradient(145deg,#1e293b,#1a1f2e);border-color:#334155}.workflows-empty-state p{margin:0 0 1rem;color:#64748b}.workflows-master-detail{display:grid;grid-template-columns:240px 1fr;gap:1rem;align-items:start}@media (max-width: 960px){.workflows-master-detail{grid-template-columns:1fr}}.workflows-list-pane{border:1px solid #d9e0e7;border-radius:8px;background:#fff;overflow:hidden;align-self:stretch}.dark-mode .workflows-list-pane{background:#252525;border-color:#4a4f55}.workflows-list-pane .list{display:flex;flex-direction:column;gap:0}.workflows-list-pane .list-item{border-radius:0;border:0;border-bottom:1px solid #edf1f5;background:transparent;padding:.65rem .9rem;box-shadow:none;cursor:pointer}.dark-mode .workflows-list-pane .list-item{border-bottom-color:#3a3f44}.workflows-list-pane .list-item:last-child{border-bottom:none}.workflows-list-pane .list-item:hover{background:#f6f9fc;box-shadow:none}.dark-mode .workflows-list-pane .list-item:hover{background:#2d3338}.workflows-list-pane .list-item.is-selected{background:#ebf5fb;box-shadow:inset 3px 0 #3498db}.dark-mode .workflows-list-pane .list-item.is-selected{background:#1f3f56;box-shadow:inset 3px 0 #5dade2}.workflow-list-name{display:flex;align-items:center;gap:.45rem;margin:0 0 .25rem;font-size:.95rem;font-weight:600}.workflow-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#bdc3c7;flex-shrink:0}.workflow-status-dot.is-active{background:#2ecc71;box-shadow:0 0 0 2px #2ecc7133}.dark-mode .workflow-status-dot.is-active{background:#27ae60;box-shadow:0 0 0 2px #27ae604d}.workflows-list-meta{margin:0;font-size:.8rem;color:#7f8c8d}.dark-mode .workflows-list-meta{color:#aaa}.workflows-detail-panel{border:1px solid #ddd;border-radius:8px;background:#fff;overflow:hidden;min-width:0;min-height:360px}.dark-mode .workflows-detail-panel{background:#2a2a2a;border-color:#444}.dark-mode .workflows-empty-state p{color:#94a3b8}.workflows-empty-detail{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:360px;padding:2rem;text-align:center}.workflows-empty-detail p{margin:0;font-size:.95rem;color:#64748b}.dark-mode .workflows-empty-detail p{color:#94a3b8}.workflows-detail-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid #ddd;background:#f8f9fa;flex-wrap:wrap}.dark-mode .workflows-detail-header{background:#2a2a2a;border-bottom-color:#444}.workflows-detail-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.1rem;min-width:0}.workflows-detail-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;flex-wrap:wrap}.workflows-detail-header-actions .button-secondary,.workflows-detail-header-actions .button-danger{margin-top:0}.workflows-detail-tabs{display:flex;align-items:flex-end;padding:.65rem 1rem 0;gap:.15rem;border-bottom:1px solid #ddd;background:#f8f9fa}.dark-mode .workflows-detail-tabs{background:#1f1f1f;border-bottom-color:#555}.workflow-tab{position:relative;margin-bottom:-1px;border:1px solid transparent;border-bottom-color:#ddd;background:transparent;color:#555;border-radius:6px 6px 0 0;padding:.5rem .9rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.workflow-tab:hover{color:#2c3e50;background:#edf1f5;border-color:#d5dce3}.workflow-tab.is-active{color:#2c3e50;background:#fff;border-color:#ddd;border-bottom-color:#fff;box-shadow:0 -1px 3px #0000000a}.dark-mode .workflow-tab{border-bottom-color:#555;color:#c2c8cf}.dark-mode .workflow-tab:hover{color:#f0f3f6;background:#303030;border-color:#5a5a5a}.dark-mode .workflow-tab.is-active{color:#f5f7fa;background:#2a2a2a;border-color:#666;border-bottom-color:#2a2a2a}.workflows-detail-content{padding:1.25rem}.workflow-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:end}.workflow-json{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9rem}.workflow-help{margin:0;color:#7f8c8d;font-size:.85rem}.dark-mode .workflow-help{color:#b0b0b0}.workflow-alert{padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem}.workflow-alert-error{background:#fdecea;color:#c0392b;border:1px solid #f5c6cb}.dark-mode .workflow-alert-error{background:#3a1f1f;color:#ffb4ad;border-color:#5f3030}.workflow-run-list{display:flex;flex-direction:column;gap:.75rem}.workflow-run{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.85rem 1rem;transition:border-color .2s,box-shadow .2s,background-color .2s}.workflow-run:hover{border-color:#3498db;box-shadow:0 2px 8px #3498db14}.dark-mode .workflow-run{background:#1e2530;border-color:#374151}.dark-mode .workflow-run:hover{border-color:#5dade2}.workflow-run.selected{border-color:#3498db;background:#f0f8ff;box-shadow:0 2px 8px #3498db1f}.dark-mode .workflow-run.selected{border-color:#5dade2;background:#1a3048}.workflow-run-header{display:flex;gap:1rem;align-items:center;color:#475569;font-size:.85rem}.dark-mode .workflow-run-header{color:#94a3b8}.workflow-run-select{width:100%;padding:0;border:none;background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit}.workflow-run-detail{margin-top:1rem;padding-top:1rem;border-top:1px solid #ddd}.dark-mode .workflow-run-detail{border-top-color:#444}.workflow-step-list{display:flex;flex-direction:column;gap:.5rem}.workflow-step-detail{border:1px solid #e5e5e5;border-radius:4px;padding:.5rem .75rem;background:#fafafa}.dark-mode .workflow-step-detail{background:#252525;border-color:#444}.workflow-step-detail summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.workflow-step-title{font-weight:600}.workflow-step-meta{color:#2980b9;font-size:.85rem;font-weight:600}.dark-mode .workflow-step-meta{color:#6eb5f0}.workflow-step-window{margin:.5rem 0 0;font-size:.85rem;color:#7f8c8d}.workflow-truncation-notice{margin:.5rem 0 .75rem;padding:.6rem .75rem;border-radius:4px;background:#fef9e7;border:1px solid #f4d03f;color:#7d6608;font-size:.9rem}.workflow-truncation-notice-warn{background:#ebf5fb;border-color:#85c1e9;color:#1a5276}.dark-mode .workflow-truncation-notice{background:#3d3520;border-color:#9a7d0a;color:#f9e79f}.dark-mode .workflow-truncation-notice-warn{background:#1a2838;border-color:#2d4a66;color:#aed6f1}.dark-mode .workflow-step-window{color:#aaa}.workflow-execution-json{margin:0;padding:.5rem;background:#f4f4f4;border-radius:4px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.8rem;max-height:240px}.dark-mode .workflow-execution-json{background:#111}.workflow-step-output{margin-top:.75rem}.workflow-run-error{margin:.5rem 0 0;color:#c0392b}.dark-mode .workflow-run-error{color:#ffb4ad}.workflows-runs-layout{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:1.25rem;align-items:start}@media (max-width: 900px){.workflows-runs-layout{grid-template-columns:1fr}}.workflows-runs-list h3,.workflows-runs-detail h3{margin:0 0 .75rem;font-size:.95rem}.workflows-runs-empty{margin:0;color:#7f8c8d;font-size:.9rem}.dark-mode .workflows-runs-empty{color:#aaa}.settings-page{max-width:960px}.settings-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:1.5rem;padding-bottom:0;border-bottom:1px solid #dee2e6}.dark-mode .settings-tabs{border-bottom-color:#444}.settings-tab{padding:.6rem 1rem;margin-bottom:-1px;background:transparent;border:none;border-bottom:2px solid transparent;color:#7f8c8d;font-size:.95rem;font-weight:500;cursor:pointer;transition:color .2s,border-color .2s}.settings-tab:hover{color:#2c3e50}.dark-mode .settings-tab{color:#b0b0b0}.dark-mode .settings-tab:hover{color:#e0e0e0}.settings-tab-active{color:#2c3e50;border-bottom-color:#3498db}.dark-mode .settings-tab-active{color:#e0e0e0;border-bottom-color:#3498db}.settings-tab-panel .settings-section{margin-bottom:0}.settings-tab-panel .settings-info{margin-top:2rem}.settings-tab-loading{color:#7f8c8d;padding:1rem 0}.dark-mode .settings-tab-loading{color:#b0b0b0}.settings-table-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.settings-groups-section .settings-section{margin-bottom:0}.settings-feature-list{list-style:none;padding:0;margin:0 0 1.5rem}.settings-feature-item{padding:1rem 0;border-bottom:1px solid #e0e0e0}.dark-mode .settings-feature-item{border-bottom-color:#444}.settings-feature-item:last-child{border-bottom:none}.settings-feature-label{font-weight:600;color:#2c3e50}.dark-mode .settings-feature-label{color:#e0e0e0}.settings-feature-description{margin:.35rem 0 0 1.75rem;color:#7f8c8d;font-size:.9rem;line-height:1.5}.dark-mode .settings-feature-description{color:#b0b0b0}.settings-feature-env-lock{color:#856404}.dark-mode .settings-feature-env-lock{color:#f0c674}.toggle-switch-locked{opacity:.75;cursor:not-allowed}.toggle-switch-locked input[type=checkbox]{cursor:not-allowed}.settings-section{background:#f8f9fa;padding:2rem;border-radius:8px;margin-bottom:2rem;transition:background-color .3s ease}.dark-mode .settings-section{background:#2a2a2a;border:1px solid #444}.settings-section h2{margin-top:0;color:#2c3e50;transition:color .3s ease}.dark-mode .settings-section h2{color:#e0e0e0}.settings-description{color:#7f8c8d;margin-bottom:1.5rem;line-height:1.6;transition:color .3s ease}.dark-mode .settings-description{color:#b0b0b0}.message{padding:1rem;border-radius:4px;margin-bottom:1.5rem}.message-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.message-error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.button-secondary{padding:.5rem 1rem;background-color:#95a5a6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;margin-top:.5rem;transition:background-color .2s}.button-secondary:hover:not(:disabled){background-color:#7f8c8d}.settings-info{background:#ebf5fb;padding:1.5rem;border-radius:8px;border-left:4px solid #3498db;transition:background-color .3s ease,border-color .3s ease}.dark-mode .settings-info{background:#1a3a52;border-left-color:#2980b9}.settings-info h3{margin-top:0;color:#2c3e50;transition:color .3s ease}.dark-mode .settings-info h3{color:#e0e0e0}.settings-info p{color:#34495e;line-height:1.6;margin-bottom:1rem;transition:color .3s ease}.dark-mode .settings-info p{color:#d0d0d0}.settings-info ol{color:#34495e;line-height:1.8;padding-left:1.5rem;transition:color .3s ease}.dark-mode .settings-info ol{color:#d0d0d0}.settings-info a{color:#3498db;text-decoration:none}.settings-info a:hover{text-decoration:underline}.form-hint a{color:#3498db;text-decoration:none}.form-hint a:hover{text-decoration:underline}.settings-subsection{font-size:1rem;margin:1.5rem 0 .75rem;color:#2c3e50}.dark-mode .settings-subsection{color:#e0e0e0}.settings-users-table-wrap{overflow-x:auto;margin-bottom:1rem}.settings-users-table{width:100%;border-collapse:collapse;font-size:.95rem}.settings-users-table th,.settings-users-table td{padding:.75rem;text-align:left;border-bottom:1px solid #dee2e6}.dark-mode .settings-users-table th,.dark-mode .settings-users-table td{border-bottom-color:#444}.settings-users-table th{font-weight:600;color:#2c3e50}.dark-mode .settings-users-table th{color:#e0e0e0}.settings-role-select{padding:.35rem .5rem;border-radius:4px;border:1px solid #ccc;font-size:.9rem;min-width:7rem}.dark-mode .settings-role-select{background:#333;border-color:#555;color:#eee}.settings-saving-label{margin-left:.5rem;font-size:.85rem;color:#7f8c8d}.settings-add-user-form{margin-bottom:1.25rem}.form-row-inline{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.settings-add-email{min-width:180px;padding:.5rem .6rem;border:1px solid #ccc;border-radius:4px;font-size:.95rem}.dark-mode .settings-add-email{background:#333;border-color:#555;color:#eee}.settings-add-name{min-width:120px;padding:.5rem .6rem;border:1px solid #ccc;border-radius:4px;font-size:.95rem}.dark-mode .settings-add-name{background:#333;border-color:#555;color:#eee}.settings-status{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.settings-status-active{background:#d4edda;color:#155724}.dark-mode .settings-status-active{background:#1e4620;color:#a3cfbb}.settings-status-pending{background:#fff3cd;color:#856404}.dark-mode .settings-status-pending{background:#4a3f00;color:#e6d9a0}.button-danger-inline{padding:.35rem .6rem;font-size:.85rem;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.button-danger-inline:hover:not(:disabled){background:#c82333}.button-danger-inline:disabled{opacity:.5;cursor:not-allowed}.settings-section .form-group code{font-size:.85em;background:#0000000f;padding:.1rem .3rem;border-radius:3px}.dark-mode .settings-section .form-group code{background:#ffffff1a;color:#e4e4e4}.settings-group-members{display:flex;flex-direction:column;gap:.35rem;padding:.75rem 0}.settings-group-member-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.login-page{display:flex;align-items:center;justify-content:center;flex:1;min-height:100vh;width:100%;box-sizing:border-box;background:var(--bg-color, #f5f6fa)}.login-card{background:var(--card-bg, #fff);padding:2.5rem;border-radius:8px;box-shadow:0 4px 12px #00000014;max-width:400px;width:100%}.login-title{margin:0 0 .25rem;font-size:1.5rem;color:var(--text-color, #2c3e50)}.login-subtitle{margin:0 0 1.5rem;color:var(--text-muted, #6c757d);font-size:.95rem}.login-error{padding:.75rem;margin-bottom:1rem;background:#fee;color:#c00;border-radius:4px;font-size:.9rem}.login-button{width:100%;padding:.75rem 1.25rem;font-size:1rem;font-weight:500;color:#fff;background:#3498db;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.login-button:hover:not(:disabled){background:#2980b9}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-buttons{display:flex;flex-direction:column;gap:.75rem}.login-button-google{background:#4285f4}.login-button-google:hover:not(:disabled){background:#3367d6}.login-button-microsoft{background:#2f2f2f}.login-button-microsoft:hover:not(:disabled){background:#1a1a1a}.login-button-dev{background:#6c757d;margin-top:.25rem}.login-button-dev:hover:not(:disabled){background:#5a6268}.login-hint{margin:1.25rem 0 0;font-size:.8rem;color:var(--text-muted, #6c757d);line-height:1.4}.dashboards-form-error{color:#e74c3c;font-size:.9rem;margin:0}.dark-mode .dashboards-form-error{color:#f87171}.dashboards-create-panel .form{gap:1rem}.dashboards-create-panel input[type=text]{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;width:100%;box-sizing:border-box}.dark-mode .dashboards-create-panel input[type=text]{background-color:#1a1a1a;border-color:#444;color:#e0e0e0}.dashboards-create-panel{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-bottom:2rem;max-width:480px;transition:background-color .3s ease}.dark-mode .dashboards-create-panel{background:#2a2a2a;border-color:#374151}.dashboards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.dashboard-card{display:flex;align-items:flex-start;gap:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.25rem;cursor:pointer;transition:box-shadow .2s,border-color .2s,background-color .3s;position:relative}.dashboard-card:hover{box-shadow:0 4px 12px #00000014;border-color:#3498db}.dark-mode .dashboard-card{background:#1e2530;border-color:#374151}.dark-mode .dashboard-card:hover{border-color:#5dade2;box-shadow:0 4px 12px #0000004d}.dashboard-card-icon{color:#3498db;flex-shrink:0;margin-top:2px}.dark-mode .dashboard-card-icon{color:#5dade2}.dashboard-card-body{flex:1;min-width:0}.dashboard-card-name{font-weight:600;font-size:1rem;color:#1e293b;margin-bottom:.25rem;transition:color .3s}.dark-mode .dashboard-card-name{color:#e2e8f0}.dashboard-card-desc{font-size:.85rem;color:#64748b;margin-bottom:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark-mode .dashboard-card-desc{color:#94a3b8}.dashboard-card-meta{font-size:.75rem;color:#94a3b8}.dashboard-card-delete{background:none;border:none;color:#94a3b8;cursor:pointer;padding:.25rem;border-radius:4px;flex-shrink:0;transition:color .2s,background-color .2s}.dashboard-card-delete:hover{color:#ef4444;background:#fef2f2}.dark-mode .dashboard-card-delete:hover{background:#2d1a1a}.dash-text-widget{height:100%;overflow:auto;padding:.25rem .35rem}.dash-text-widget--bare{padding:.15rem .25rem}.dash-text-markdown{font-size:.95rem;line-height:1.45;color:#334155}.dash-text-markdown h1,.dash-text-markdown h2,.dash-text-markdown h3{margin:.35em 0 .25em;line-height:1.2}.dash-text-markdown p{margin:.35em 0}.dash-text-markdown ul,.dash-text-markdown ol{margin:.35em 0;padding-left:1.25rem}.dark-mode .dash-text-markdown{color:#cbd5e1}.dash-kpi-widget{height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:.75rem 1rem;gap:.35rem}.dash-kpi-label{font-size:.8rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.dash-kpi-value{font-size:2rem;font-weight:700;color:#0f172a;line-height:1.1;word-break:break-word}.dark-mode .dash-kpi-label{color:#94a3b8}.dark-mode .dash-kpi-value{color:#f1f5f9}.dash-kpi-snapshot-warning{font-size:.72rem;line-height:1.35;color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:4px;padding:.35rem .5rem;margin-bottom:.25rem}.dark-mode .dash-kpi-snapshot-warning{color:#fdba74;background:#431407;border-color:#9a3412}.dash-slicer-widget{height:100%;display:flex;flex-direction:column;gap:.45rem;padding:.45rem .5rem;min-height:0}.dash-slicer-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dash-slicer-label{font-size:.8rem;font-weight:600;color:#475569}.dark-mode .dash-slicer-label{color:#94a3b8}.dash-slicer-clear{border:none;background:none;color:#3498db;font-size:.75rem;cursor:pointer;padding:0}.dash-slicer-clear:hover{text-decoration:underline}.dash-search-select{position:relative;width:100%}.dash-search-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;border:1px solid #e2e8f0;background:#fff;color:#334155;border-radius:8px;padding:.5rem .65rem;font-size:.85rem;cursor:pointer;text-align:left}.dash-search-select-trigger:hover:not(:disabled){border-color:#3498db}.dash-search-select-trigger:disabled{opacity:.6;cursor:not-allowed}.dark-mode .dash-search-select-trigger{background:#151b24;border-color:#374151;color:#e2e8f0}.dash-search-select-summary.is-placeholder{color:#94a3b8}.dash-search-select-caret{color:#94a3b8;font-size:.75rem}.dash-search-select-panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 28px #0000002e;overflow:hidden;display:flex;flex-direction:column}.dark-mode .dash-search-select-panel{background:#1e2530;border-color:#374151;box-shadow:0 12px 32px #00000073}.dash-search-select-search{padding:.45rem .5rem;border-bottom:1px solid #e2e8f0}.dark-mode .dash-search-select-search{border-color:#374151}.dash-search-select-search input{width:100%;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:6px;padding:.4rem .55rem;font-size:.85rem;background:#f8fafc;color:#0f172a}.dark-mode .dash-search-select-search input{background:#151b24;border-color:#374151;color:#e2e8f0}.dash-search-select-clear{border:none;background:none;color:#3498db;font-size:.75rem;text-align:left;padding:.35rem .65rem .15rem;cursor:pointer}.dash-search-select-options{overflow:auto;flex:1;padding:.25rem}.dash-search-select-option{width:100%;display:grid;grid-template-columns:1rem minmax(0,1fr);gap:.5rem;align-items:center;border:none;background:transparent;color:#334155;border-radius:6px;padding:.4rem .5rem;font-size:.82rem;cursor:pointer;text-align:left}.dash-search-select-option.has-code{grid-template-columns:1rem minmax(0,1fr) minmax(4.75rem,max-content)}.dash-search-select-option:hover{background:#f1f5f9}.dash-search-select-option.is-selected{background:#ebf5fb;color:#1d6fa5}.dark-mode .dash-search-select-option{color:#cbd5e1}.dark-mode .dash-search-select-option:hover,.dark-mode .dash-search-select-option.is-selected{background:#1a2a3a;color:#5dade2}.dash-search-select-check{color:#3498db;font-size:.75rem;width:1rem;line-height:1.2}.dash-search-select-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.dash-search-select-option-value{justify-self:end;font-size:.75rem;color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:8rem}.dash-search-select-option.is-selected .dash-search-select-option-value{color:#4a8bb8}.dark-mode .dash-search-select-option-value{color:#94a3b8}.dark-mode .dash-search-select-option.is-selected .dash-search-select-option-value{color:#7eb8d8}.dash-search-select-empty{padding:.75rem;text-align:center;color:#94a3b8;font-size:.8rem}.dash-search-select-footer{border-top:1px solid #e2e8f0;padding:.35rem .6rem;font-size:.7rem;color:#94a3b8}.dark-mode .dash-search-select-footer{border-color:#374151}.dash-slicer-range{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.dash-slicer-range label{display:flex;flex-direction:column;gap:.2rem;font-size:.72rem;color:#64748b}.dash-slicer-range input{width:100%;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;padding:.4rem .5rem;font-size:.85rem;background:#fff;color:#0f172a}.dark-mode .dash-slicer-range input{background:#151b24;border-color:#374151;color:#e2e8f0}.dash-slicer-bool{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.dash-slicer-bool-btn{border:1px solid #e2e8f0;background:#f8fafc;color:#334155;border-radius:8px;padding:.45rem .35rem;font-size:.82rem;cursor:pointer}.dash-slicer-bool-btn.is-selected{background:#ebf5fb;border-color:#3498db;color:#1d6fa5;font-weight:600}.dark-mode .dash-slicer-bool-btn{background:#151b24;border-color:#374151;color:#cbd5e1}.dark-mode .dash-slicer-bool-btn.is-selected{background:#1a2a3a;border-color:#5dade2;color:#5dade2}.dash-widget-empty{display:flex;align-items:center;justify-content:center;flex:1;min-height:48px;color:#64748b;font-size:.85rem;text-align:center;padding:.5rem}.dash-widget-empty--error{color:#b91c1c}.dark-mode .dash-widget-empty{color:#94a3b8}.dark-mode .dash-widget-empty--error{color:#fca5a5}.dashboard-widget{position:relative;height:100%;display:flex;flex-direction:column}.dashboard-widget-loading{position:absolute;top:.5rem;right:.5rem;z-index:2;font-size:.75rem;color:#64748b;background:#ffffffe6;padding:.2rem .5rem;border-radius:4px;border:1px solid #e5e7eb}.dark-mode .dashboard-widget-loading{color:#94a3b8;background:#1e2530e6;border-color:#374151}.dashboard-widget-error{margin:0 0 .5rem;padding:.4rem .6rem;font-size:.8rem;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:4px}.dashboard-widget-placeholder{display:flex;align-items:center;justify-content:center;flex:1;min-height:120px;color:#64748b;font-size:.875rem}.dashboard-widget-filter-on{margin:0 0 .4rem;padding:.3rem .5rem;font-size:.72rem;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px}.dark-mode .dashboard-widget-filter-on{color:#93c5fd;background:#0f1c2e;border-color:#1e3a5f}.dashboard-widget-filter-miss{margin:0 0 .4rem;padding:.35rem .5rem;font-size:.72rem;line-height:1.35;color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:4px}.dark-mode .dashboard-widget-filter-miss{color:#fdba74;background:#431407;border-color:#9a3412}.dark-mode .dashboard-widget-placeholder{color:#94a3b8}.dark-mode .dashboard-widget-error{color:#fca5a5;background:#450a0a;border-color:#7f1d1d}.dashboard-widget-error--snapshot{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.dark-mode .dashboard-widget-error--snapshot{color:#fdba74;background:#431407;border-color:#9a3412}.dash-designer{display:flex;gap:.75rem;flex:1;min-height:0;align-items:stretch}.dash-designer-canvas{flex:1;min-width:0;min-height:0}.dash-designer-sidebar{width:300px;flex-shrink:0;display:flex;flex-direction:column;gap:.65rem;align-self:flex-start;position:sticky;top:.5rem;max-height:calc(100vh - 6rem);overflow:auto}.dash-palette{width:100%;flex-shrink:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.65rem .7rem}.dark-mode .dash-palette{background:#1e2530;border-color:#374151}.dash-palette-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:.45rem}.dash-palette-items{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.dash-palette-item{display:flex;align-items:center;gap:.4rem;width:100%;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;border-radius:6px;padding:.4rem .5rem;font-size:.8rem;cursor:pointer;text-align:left;transition:border-color .15s,background .15s,color .15s}.dash-palette-item:hover:not(:disabled){border-color:#3498db;color:#1d6fa5;background:#ebf5fb}.dash-palette-item:disabled{opacity:.5;cursor:not-allowed}.dark-mode .dash-palette-item{background:#1a2130;border-color:#374151;color:#cbd5e1}.dark-mode .dash-palette-item:hover:not(:disabled){background:#1a2a3a;border-color:#5dade2;color:#5dade2}.dash-palette-hint{margin:.55rem 0 0;font-size:.68rem;line-height:1.35;color:#94a3b8}.dash-inspector{width:100%;flex:1;min-height:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;max-height:none;position:static;align-self:stretch}.dark-mode .dash-inspector{background:#1e2530;border-color:#374151}.dash-inspector-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem .75rem;border-bottom:1px solid #e5e7eb}.dark-mode .dash-inspector-header{border-color:#374151}.dash-inspector-header h3{margin:0;font-size:.95rem}.dash-inspector-body{flex:1;overflow:auto;padding:.75rem}.dash-inspector-body .form-group{margin-bottom:.75rem}.dash-inspector-body label{display:block;font-size:.8rem;margin-bottom:.25rem;color:#64748b}.dash-inspector-body input[type=text],.dash-inspector-body input:not([type]),.dash-inspector-body select,.dash-inspector-body textarea{width:100%;box-sizing:border-box;font-size:.85rem}.dash-inspector-type{font-size:.85rem;font-weight:600;color:#334155;text-transform:capitalize}.dark-mode .dash-inspector-type{color:#e2e8f0}.dash-inspector-check{display:flex!important;align-items:center;gap:.4rem;font-size:.85rem!important;color:#334155!important;margin-bottom:.65rem!important;cursor:pointer}.dark-mode .dash-inspector-check{color:#cbd5e1!important}.dash-inspector-footer{display:flex;flex-direction:column;gap:.4rem;padding:.65rem .75rem;border-top:1px solid #e5e7eb}.dark-mode .dash-inspector-footer{border-color:#374151}.dash-inspector-footer button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:100%}.dash-inspector-danger{color:#b91c1c!important}.dash-inspector-columns{display:flex;flex-wrap:wrap;gap:.3rem;max-width:100%;overflow:hidden}.dash-inspector-column-tag{font-size:.72rem;padding:.15rem .4rem;border-radius:4px;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark-mode .dash-inspector-column-tag{background:#1a2130;color:#94a3b8;border-color:#374151}.dash-inspector-col-list{max-height:200px}.dash-inspector-details{margin-top:.75rem;border-top:1px solid #e5e7eb;padding-top:.65rem}.dark-mode .dash-inspector-details{border-color:#374151}.dash-inspector-details summary{cursor:pointer;font-size:.85rem;color:#64748b;margin-bottom:.5rem}.guided-source-footer{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.65rem}.guided-source-sql{margin:.5rem 0 0;padding:.55rem .65rem;font-size:.72rem;line-height:1.4;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-height:120px;overflow:auto;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.dark-mode .guided-source-sql{background:#151b24;border-color:#374151;color:#94a3b8}.dash-mode-toggle{display:inline-flex;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden}.dash-mode-toggle button{border:none;background:#f8fafc;color:#64748b;padding:.35rem .75rem;font-size:.85rem;cursor:pointer}.dash-mode-toggle button.is-active{background:#3498db;color:#fff}.dark-mode .dash-mode-toggle{border-color:#374151}.dark-mode .dash-mode-toggle button{background:#1a2130;color:#94a3b8}.dark-mode .dash-mode-toggle button.is-active{background:#3498db;color:#fff}.dash-filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .75rem;min-height:0}.dash-filter-chip{display:inline-flex;align-items:center;gap:.35rem;background:#ebf5fb;border:1px solid #3498db55;color:#1d6fa5;border-radius:999px;padding:.2rem .55rem;font-size:.75rem}.dark-mode .dash-filter-chip{background:#1a2a3a;color:#5dade2;border-color:#5dade255}.dash-filter-chip button{border:none;background:none;color:inherit;cursor:pointer;padding:0;line-height:1;font-size:.9rem}.dash-filter-chips-clear{border:none;background:none;color:#64748b;font-size:.75rem;cursor:pointer;text-decoration:underline}.dashboard-chart-wrapper.is-selected{outline:2px solid #3498db;outline-offset:-1px}.dashboard-chart-wrapper.is-chrome-hidden .dashboard-chart-controls{display:none}.dashboard-chart-wrapper.is-chrome-hidden .dashboard-chart-inner{padding:.35rem}.dashboard-page.is-edit-mode .dashboard-chart-wrapper.is-chrome-hidden .dashboard-chart-controls{display:flex}.dash-add-data-modal.modal-content,.modal-content.dash-add-data-modal{max-width:620px;width:min(620px,calc(100vw - 2rem));max-height:min(92vh,840px);display:flex;flex-direction:column;overflow:hidden;border-radius:12px;box-shadow:0 20px 50px #00000059}.dash-add-data-modal .modal-header{flex-shrink:0;padding:1rem 1.25rem .85rem}.dash-add-data-body{flex:1;overflow:auto;padding:.25rem 1.25rem 1.15rem!important}.dash-add-mode-toggle{display:grid;grid-template-columns:1fr 1fr;width:100%;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;margin-bottom:1rem}.dash-add-mode-toggle button{border:none;background:#f8fafc;color:#64748b;padding:.55rem .85rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.dash-add-mode-toggle button.is-active{background:#3498db;color:#fff}.dark-mode .dash-add-mode-toggle{border-color:#374151}.dark-mode .dash-add-mode-toggle button{background:#151b24;color:#94a3b8}.dark-mode .dash-add-mode-toggle button.is-active{background:#3498db;color:#fff}.dash-add-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width: 560px){.dash-add-field-grid{grid-template-columns:1fr}}.dash-add-columns-group{margin-top:.15rem}.dash-add-columns-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.dash-add-columns-header label{margin-bottom:0!important;display:inline-flex!important;align-items:center;gap:.5rem}.dash-add-columns-count{font-size:.72rem;font-weight:500;color:#64748b;background:#f1f5f9;border-radius:999px;padding:.12rem .45rem}.dark-mode .dash-add-columns-count{background:#1a2130;color:#94a3b8}.dash-add-columns-actions{display:flex;gap:.75rem}.dash-link-btn{border:none;background:none;color:#3498db;font-size:.78rem;cursor:pointer;padding:0}.dash-link-btn:hover{text-decoration:underline}.dash-add-columns-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.4rem;max-height:220px;overflow:auto;border:1px solid #e2e8f0;border-radius:10px;padding:.55rem;background:#f8fafc}.dark-mode .dash-add-columns-list{border-color:#374151;background:#151b24}.dash-add-y-list{max-height:140px}.dash-add-column-chip{display:flex!important;align-items:center;gap:.4rem;margin:0!important;padding:.4rem .5rem;border:1px solid transparent;border-radius:8px;background:#fff;color:#334155!important;font-size:.8rem!important;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;min-width:0}.dash-add-column-chip input{flex-shrink:0;margin:0}.dash-add-column-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-add-column-chip:hover{border-color:#93c5e8}.dash-add-column-chip.is-selected{border-color:#3498db;background:#ebf5fb;box-shadow:inset 0 0 0 1px #3498db26}.dash-add-column-chip.is-meta{opacity:.85;font-style:italic}.dark-mode .dash-add-column-chip{background:#1e2530;color:#cbd5e1!important}.dark-mode .dash-add-column-chip.is-selected{background:#1a2a3a;border-color:#5dade2}.dash-add-meta-toggle{margin-top:.5rem;border:none;background:none;color:#64748b;font-size:.78rem;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.dash-add-meta-toggle:hover{color:#3498db}.dark-mode .dash-add-meta-toggle{color:#94a3b8}.dash-add-sql-readonly{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;opacity:.9;background:#f8fafc;border-radius:8px}.dark-mode .dash-add-sql-readonly{background:#151b24}.dash-add-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.85rem 0 .35rem;padding:.55rem .75rem;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;flex-wrap:wrap}.dark-mode .dash-add-preview-bar{background:#0f1c2e;border-color:#1e3a5f}.dash-add-preview-stats{font-size:.82rem;color:#1e40af}.dark-mode .dash-add-preview-stats{color:#93c5fd}.dash-add-data-preview-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.dash-add-actions{margin-top:1rem;padding-top:.85rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:.5rem}.dark-mode .dash-add-actions{border-color:#374151}.dash-add-data-meta{font-size:.8rem;color:#64748b}.dash-add-data-yfields{display:flex;flex-direction:column;gap:.2rem;max-height:140px;overflow:auto}.slicer-setup-hint{margin:.25rem 0 0;font-size:.72rem;line-height:1.35;color:#94a3b8}.slicer-setup-hint--error{color:#b91c1c}.dark-mode .slicer-setup-hint--error{color:#fca5a5}.slicer-setup-source{border:1px solid #e2e8f0;border-radius:6px;padding:.5rem .65rem .25rem;margin:0 0 .75rem}.dark-mode .slicer-setup-source{border-color:#374151}.slicer-setup-source legend{font-size:.8rem;color:#64748b;padding:0 .25rem}.slicer-setup-defaults{display:flex;flex-direction:column;gap:.15rem;max-height:160px;overflow:auto;border:1px solid #e2e8f0;border-radius:6px;padding:.4rem .5rem}.dark-mode .slicer-setup-defaults{border-color:#374151}.slicer-setup-ready{margin:.5rem 0 0;font-size:.78rem;line-height:1.4;color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:.45rem .55rem}.dark-mode .slicer-setup-ready{color:#86efac;background:#052e16;border-color:#166534}@media (max-width: 900px){.dash-designer{flex-direction:column}.dash-designer-sidebar{width:100%;position:static;max-height:none}.dash-palette,.dash-inspector{width:100%}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.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-se{bottom:0;right:0;cursor:se-resize}.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-page{display:flex;flex-direction:column;min-height:calc(100vh - 4rem)}.dashboard-page-header{margin-bottom:1.5rem}.dashboard-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.dashboard-header-actions{display:flex;align-items:center;gap:.5rem}.dashboard-refresh-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;padding:.35rem .75rem}.dashboard-export-wrap{position:relative}.dashboard-export-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;padding:.35rem .75rem}.dashboard-export-menu{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:50;min-width:200px;overflow:hidden}.dark-mode .dashboard-export-menu{background:#1e2530;border-color:#374151;box-shadow:0 4px 12px #0006}.dashboard-export-item{display:block;width:100%;padding:.55rem 1rem;text-align:left;background:none;border:none;cursor:pointer;font-size:.85rem;color:#334155;transition:background .15s,color .15s}.dashboard-export-item:hover{background:#f1f5f9;color:#3498db}.dark-mode .dashboard-export-item{color:#cbd5e1}.dark-mode .dashboard-export-item:hover{background:#1a2130;color:#5dade2}.dashboard-back-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;color:#64748b;background:none;border:none;cursor:pointer;padding:0;transition:color .2s}.dashboard-back-btn:hover{color:#3498db}.dark-mode .dashboard-back-btn{color:#94a3b8}.dark-mode .dashboard-back-btn:hover{color:#5dade2}.dashboard-title-row,.dashboard-name-display{display:flex;align-items:center;gap:.5rem}.dashboard-name-display h1{margin:0}.dashboard-name-edit{display:flex;align-items:center;gap:.5rem}.dashboard-name-edit input{font-size:1.5rem;font-weight:700;border:1px solid #3498db;border-radius:4px;padding:.25rem .5rem;background:#fff;color:#2c3e50;transition:all .3s}.dark-mode .dashboard-name-edit input{background:#1a1a1a;color:#e0e0e0;border-color:#5dade2}.icon-btn{background:none;border:none;cursor:pointer;color:#64748b;padding:.3rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .2s,background-color .2s}.icon-btn:hover{color:#3498db;background:#ebf5fb}.dark-mode .icon-btn{color:#94a3b8}.dark-mode .icon-btn:hover{color:#5dade2;background:#1a2a3a}.icon-btn-danger:hover{color:#ef4444!important;background:#fef2f2!important}.dark-mode .icon-btn-danger:hover{background:#2d1a1a!important}.dashboards-loading{color:#7f8c8d;padding:2rem 0}.dashboard-grid-wrapper{flex:1;min-height:0}.dashboard-grid{width:100%}.react-grid-item{box-sizing:border-box}.react-grid-item.react-grid-placeholder{background:#3498db20;border:2px dashed #3498db;border-radius:8px;opacity:.5}.dashboard-chart-wrapper{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:background-color .3s,border-color .3s}.dark-mode .dashboard-chart-wrapper{background:#1e2530;border-color:#374151}.dashboard-chart-controls{display:flex;justify-content:space-between;align-items:center;padding:.25rem .5rem;background:#f8fafc;border-bottom:1px solid #e5e7eb;transition:background-color .3s,border-color .3s}.dark-mode .dashboard-chart-controls{background:#1a1f2a;border-color:#374151}.chart-drag-handle{cursor:grab;color:#94a3b8;font-size:1rem;line-height:1;padding:.1rem .3rem;-webkit-user-select:none;user-select:none;border-radius:3px;transition:color .2s}.chart-drag-handle:hover{color:#64748b}.dashboard-chart-inner{flex:1;overflow:hidden;padding:.5rem .5rem .25rem}.dashboard-chart-inner .chart-renderer{border:none;margin:0;padding:0;height:100%}.dashboard-chart-inner .chart-renderer-header{margin-bottom:.4rem}.dashboard-chart-actions{display:flex;gap:.2rem;align-items:center}.dashboard-widget-type-badge{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;padding:.1rem .35rem}.widget-edit-modal{max-width:460px}.widget-color-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.widget-color-row{display:flex;align-items:center;gap:.75rem}.widget-color-picker{width:40px;height:32px;border:1px solid #e5e7eb;border-radius:4px;padding:2px;cursor:pointer;background:none;transition:border-color .2s}.widget-color-picker:hover{border-color:#3498db}.dark-mode .widget-color-picker{border-color:#374151;background:#1a1a1a}.widget-color-label{font-size:.875rem;color:#475569;transition:color .3s}.dark-mode .widget-color-label{color:#94a3b8}.reports-loading{color:#7f8c8d;padding:2rem 0}.report-detail-tabs{display:flex;gap:.25rem;margin:0 0 1.5rem;border-bottom:1px solid #dee2e6}.dark-mode .report-detail-tabs{border-bottom-color:#444}.report-detail-tab{padding:.55rem .9rem;margin-bottom:-1px;background:transparent;border:none;border-bottom:2px solid transparent;color:#7f8c8d;font-size:.95rem;font-weight:500;cursor:pointer}.report-detail-tab:hover{color:#2c3e50}.report-detail-tab.is-active{color:#2c3e50;border-bottom-color:#3498db}.dark-mode .report-detail-tab{color:#b0b0b0}.dark-mode .report-detail-tab:hover,.dark-mode .report-detail-tab.is-active{color:#e0e0e0}.dark-mode .report-detail-tab.is-active{border-bottom-color:#3498db}.report-access-panel{max-width:720px}.reports-empty{text-align:center;padding:4rem 2rem;background:linear-gradient(145deg,#f8fafc,#eef2ff);border-radius:12px;border:1px solid #e2e8f0}.dark-mode .reports-empty{background:linear-gradient(145deg,#1e293b,#1a1f2e);border-color:#334155}.reports-empty-icon{font-size:3rem;color:#3498db;margin-bottom:1rem}.dark-mode .reports-empty-icon{color:#5dade2}.reports-empty h2{margin:0 0 .5rem;color:#2c3e50}.dark-mode .reports-empty h2{color:#e0e0e0}.reports-empty p{margin:0 0 1.5rem;color:#64748b;max-width:32rem;margin-left:auto;margin-right:auto}.dark-mode .reports-empty p{color:#94a3b8}.reports-list{display:flex;flex-direction:column;gap:.75rem}.report-card{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.9rem 1rem;cursor:pointer;transition:border-color .2s,box-shadow .2s,background-color .3s}.report-card:hover{border-color:#3498db;box-shadow:0 2px 8px #3498db1a}.dark-mode .report-card{background:#1e2530;border-color:#374151}.dark-mode .report-card:hover{border-color:#5dade2;box-shadow:0 2px 8px #5dade226}.report-card-icon{color:#3498db;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ebf5fb;border-radius:8px}.dark-mode .report-card-icon{color:#5dade2;background:#1a3a52}.report-card-body{flex:1;min-width:0}.report-card-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.2rem}.report-card-name{font-weight:600;font-size:.95rem;color:#1e293b;transition:color .3s}.dark-mode .report-card-name{color:#e2e8f0}.report-card-badges{display:flex;flex-wrap:wrap;gap:.3rem}.report-card-desc{font-size:.83rem;color:#64748b;margin-bottom:.15rem;transition:color .3s}.dark-mode .report-card-desc{color:#94a3b8}.report-card-meta{font-size:.78rem;color:#94a3b8}.report-card-cron{font-family:monospace;font-size:.75rem}.report-card-run-error{margin-top:.25rem;font-size:.8rem;color:#ef4444}.report-card-actions{display:flex;gap:.35rem;align-items:center;flex-shrink:0}.report-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#64748b;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.report-icon-btn:hover:not(:disabled){background:#f1f5f9;color:#3498db;border-color:#3498db}.report-icon-btn:disabled{opacity:.5;cursor:not-allowed}.report-icon-btn-danger:hover:not(:disabled){color:#ef4444;border-color:#ef4444;background:#fef2f2}.dark-mode .report-icon-btn{background:#2a2a2a;border-color:#444;color:#94a3b8}.dark-mode .report-icon-btn:hover:not(:disabled){background:#374151;color:#5dade2;border-color:#5dade2}.dark-mode .report-icon-btn-danger:hover:not(:disabled){background:#450a0a;color:#fca5a5;border-color:#fca5a5}.badge-format{background:#dbeafe;color:#1d4ed8}.dark-mode .badge-format{background:#1e3a5f;color:#93c5fd}.badge-source{background:#f0fdf4;color:#15803d}.dark-mode .badge-source{background:#14532d;color:#86efac}.badge-report-scheduled{background:#fefce8;color:#854d0e;display:inline-flex;align-items:center;gap:.2rem}.dark-mode .badge-report-scheduled{background:#422006;color:#fde68a}.badge-report-manual{background:#f8fafc;color:#64748b}.dark-mode .badge-report-manual{background:#1e2530;color:#94a3b8}.badge-report-success{background:#f0fdf4;color:#15803d;display:inline-flex;align-items:center;gap:.2rem}.dark-mode .badge-report-success{background:#14532d;color:#86efac}.badge-report-error{background:#fef2f2;color:#b91c1c;display:inline-flex;align-items:center;gap:.2rem}.dark-mode .badge-report-error{background:#450a0a;color:#fca5a5}.report-run-btn{color:#3498db}.report-running-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#3498db;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.report-form{max-width:680px}.report-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 600px){.report-form-row{grid-template-columns:1fr}}.report-sql-textarea{font-family:Fira Code,Courier New,monospace;font-size:.875rem;padding:.5rem;border:1px solid #ddd;border-radius:4px;background:#f8fafc;color:#2c3e50;resize:vertical;width:100%;transition:all .3s}.report-sql-textarea:focus{border-color:#3498db;outline:none;background:#fff}.dark-mode .report-sql-textarea{background:#0f172a;border-color:#374151;color:#e2e8f0}.dark-mode .report-sql-textarea:focus{border-color:#5dade2;background:#0f172a}.form-hint{font-size:.78rem;color:#94a3b8;margin-top:.2rem}.report-schedule-preview{font-size:.85rem;color:#64748b;padding:.4rem .75rem;background:#f8fafc;border-radius:4px;border:1px solid #e5e7eb;transition:all .3s}.dark-mode .report-schedule-preview{background:#1a1f2a;border-color:#374151;color:#94a3b8}.report-schedule-preview code{font-family:monospace;font-weight:600;color:#3498db}.report-enabled-toggle{margin-top:.25rem}.report-run-now-btn{display:inline-flex;align-items:center;gap:.4rem}.report-run-error{margin-bottom:.5rem}.forms-intro{margin:0}.forms-empty{text-align:center;padding:4rem 2rem;background:linear-gradient(145deg,#f8fafc,#eef2ff);border-radius:12px;border:1px solid #e2e8f0}.dark-mode .forms-empty{background:linear-gradient(145deg,#1e293b,#1a1f2e);border-color:#334155}.forms-empty-icon{font-size:3rem;color:#6366f1;margin-bottom:1rem}.forms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.forms-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;transition:box-shadow .2s,transform .2s}.forms-card:hover{box-shadow:0 8px 24px #0f172a14;transform:translateY(-2px)}.dark-mode .forms-card{background:#252525;border-color:#404040}.forms-card-top{display:flex;justify-content:space-between;align-items:center}.forms-card h3{margin:0;font-size:1.15rem}.forms-card-meta{margin:0;color:#64748b;font-size:.875rem}.dark-mode .forms-card-meta{color:#94a3b8}.forms-card-stats{display:flex;gap:1rem;font-size:.85rem;color:#475569}.forms-card-updated{margin:.25rem 0 0;font-size:.75rem;color:#94a3b8}.forms-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.forms-badge-live,.forms-badge-published{background:#dcfce7;color:#166534}.forms-badge-draft{background:#fef3c7;color:#92400e}.forms-badge-closed{background:#f1f5f9;color:#475569}.forms-card-actions{display:flex;gap:.35rem}.forms-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:6px;background:#f1f5f9;color:#334155;cursor:pointer;text-decoration:none}.forms-icon-btn:hover{background:#e2e8f0}.forms-icon-btn-danger:hover{background:#fee2e2;color:#b91c1c}.forms-copy-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.25rem;padding:.45rem .75rem;border:1px dashed #cbd5e1;border-radius:6px;background:transparent;color:#475569;cursor:pointer;font-size:.85rem;width:fit-content}.forms-copy-link:hover{border-color:#6366f1;color:#6366f1}.forms-confirm-body p{margin:0 0 1rem;line-height:1.5;color:#475569}.dark-mode .forms-confirm-body p{color:#cbd5e1}.forms-publish-changes{margin:0 0 1.25rem;padding-left:1.25rem;color:#334155;font-size:.9rem}.forms-publish-changes li{margin-bottom:.35rem}.forms-inline-error{color:#b91c1c;margin-top:1rem}.button-danger{padding:.65rem 1rem;background:#dc2626;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem}.button-danger:hover:not(:disabled){background:#b91c1c}.button-danger:disabled{opacity:.6;cursor:not-allowed}.dark-mode .forms-card-stats{color:#94a3b8}.dark-mode .forms-card:hover{box-shadow:0 8px 24px #00000059}.dark-mode .forms-badge-live,.dark-mode .forms-badge-published{background:#22c55e33;color:#86efac}.dark-mode .forms-badge-draft{background:#f59e0b33;color:#fcd34d}.dark-mode .forms-badge-closed{background:#94a3b826;color:#94a3b8}.dark-mode .forms-icon-btn{background:#333;color:#e0e0e0}.dark-mode .forms-icon-btn:hover{background:#404040}.dark-mode .forms-icon-btn-danger:hover{background:#dc262640;color:#fca5a5}.dark-mode .forms-copy-link{border-color:#505050;color:#b0b0b0}.dark-mode .forms-copy-link:hover{border-color:#818cf8;color:#a5b4fc}.dark-mode .forms-publish-changes{color:#cbd5e1}.dark-mode .forms-empty h2{color:#e0e0e0}.dark-mode .forms-empty p{color:#b0b0b0}.form-editor-page{max-width:none}.form-editor-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.form-editor-title-row{display:flex;align-items:center;gap:.75rem}.form-editor-title-row h1{margin:0}.form-editor-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.form-editor-unsaved{font-size:.85rem;color:#d97706}.button-secondary{display:inline-flex;align-items:center;gap:.35rem;padding:.65rem 1rem;background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;font-size:.95rem}.button-secondary:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.button-secondary:disabled{opacity:.6;cursor:not-allowed}.dark-mode .button-secondary{background:#2a2a2a;border-color:#505050;color:#e0e0e0}.form-editor-tabs{display:flex;gap:.25rem;border-bottom:1px solid #e2e8f0;margin-bottom:1.25rem}.dark-mode .form-editor-tabs{border-color:#404040}.form-editor-tab{padding:.65rem 1rem;border:none;background:transparent;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;font-weight:500;display:inline-flex;align-items:center;gap:.35rem}.form-editor-tab.active{color:#4f46e5;border-bottom-color:#4f46e5}.form-editor-tab-count{background:#e0e7ff;color:#3730a3;padding:.1rem .45rem;border-radius:999px;font-size:.75rem}.form-editor-layout{display:grid;grid-template-columns:220px 1fr 320px;gap:1rem;min-height:520px}@media (max-width: 1100px){.form-editor-layout{grid-template-columns:1fr}.form-editor-preview{order:-1}}.form-editor-sidebar,.form-editor-panel,.form-editor-preview{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1rem}.dark-mode .form-editor-sidebar,.dark-mode .form-editor-panel,.dark-mode .form-editor-preview{background:#252525;border-color:#404040}.form-editor-sidebar h3{margin:0 0 .65rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.form-field-palette{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.25rem}.form-palette-btn{text-align:left;padding:.45rem .65rem;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;cursor:pointer;font-size:.85rem}.form-palette-btn:hover{border-color:#6366f1;color:#4f46e5}.form-field-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.form-field-list-item{width:100%;text-align:left;padding:.5rem .65rem;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer;display:flex;flex-direction:column;gap:.15rem}.form-field-list-item.active,.form-field-list-item:hover{background:#eef2ff;border-color:#c7d2fe}.form-field-list-type{font-size:.7rem;text-transform:uppercase;color:#6366f1}.form-field-list-badge{margin-left:auto;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#4f46e5;background:#eef2ff;border-radius:999px;padding:.1rem .45rem}.form-hint-inline{margin:-.35rem 0 0;font-size:.8rem;font-weight:400;color:#64748b;line-height:1.4}.form-editor-meta,.form-field-editor,.form-settings-panel{display:flex;flex-direction:column;gap:.85rem}.form-editor-meta label,.form-field-editor label,.form-settings-panel label,.form-share-panel label{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;font-weight:500}.form-editor-meta input,.form-editor-meta textarea,.form-field-editor input,.form-settings-panel input,.form-settings-panel textarea,.form-share-panel input{padding:.55rem .65rem;border:1px solid #cbd5e1;border-radius:6px;font:inherit}.form-field-editor-header{display:flex;justify-content:space-between;align-items:center}.form-field-editor-header h3{margin:0}.form-field-editor-tools{display:flex;gap:.25rem}.form-field-editor-tools button{width:2rem;height:2rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;cursor:pointer}.form-field-editor-tools button.danger:hover{background:#fee2e2;border-color:#fecaca}.form-field-editor-empty{padding:2rem;text-align:center;color:#64748b}.form-checkbox-row{flex-direction:row!important;align-items:center;gap:.5rem!important}.form-options-editor h4{margin:0 0 .5rem}.form-option-row{display:flex;gap:.35rem;margin-bottom:.35rem}.form-option-row input{flex:1}.form-field-id-lock{font-weight:400;color:#94a3b8;font-size:.8rem}.form-preview-label{display:flex;align-items:center;gap:.35rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:.75rem}.form-preview-card{background:linear-gradient(180deg,#fafbff,#fff);border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem}.form-preview-card h2{margin:0 0 .35rem;font-size:1.25rem}.form-preview-desc{margin:0 0 1rem;color:#64748b;font-size:.9rem}.form-preview-fields{display:flex;flex-direction:column;gap:.85rem}.form-preview-field{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem}.form-preview-field input,.form-preview-field textarea,.form-preview-field select{padding:.5rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff}.form-preview-section h3{margin:.5rem 0 0;font-size:1rem;color:#334155}.form-required{color:#dc2626;margin-left:.15rem}.form-preview-submit{margin-top:1rem;width:100%;padding:.65rem;background:#4f46e5;color:#fff;border:none;border-radius:6px}.form-preview-brand{margin:.75rem 0 0;text-align:center;font-size:.75rem;color:#94a3b8}.form-share-panel,.form-responses-panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem;max-width:720px}.form-share-url-row{display:flex;gap:.5rem}.form-share-url-row input{flex:1}.form-share-hint{color:#64748b;font-size:.9rem}.form-responses-table-wrap{overflow-x:auto}.form-responses-table{width:100%;border-collapse:collapse;font-size:.875rem}.form-responses-table th,.form-responses-table td{padding:.55rem .75rem;border-bottom:1px solid #e2e8f0;text-align:left}.form-responses-table th{background:#f8fafc;font-weight:600}.forms-sub-status{padding:.15rem .45rem;border-radius:4px;font-size:.75rem}.forms-sub-processed{background:#dcfce7;color:#166534}.forms-sub-error{background:#fee2e2;color:#991b1b}.forms-sub-received{background:#fef3c7;color:#92400e}.dark-mode .form-editor-unsaved{color:#fbbf24}.dark-mode .button-secondary:hover:not(:disabled){background:#353535;border-color:#666}.dark-mode .form-editor-tab{color:#94a3b8}.dark-mode .form-editor-tab.active{color:#a5b4fc;border-bottom-color:#818cf8}.dark-mode .form-editor-tab-count{background:#6366f140;color:#c7d2fe}.dark-mode .form-editor-sidebar h3,.dark-mode .form-preview-label{color:#94a3b8}.dark-mode .form-palette-btn{background:#1a1a1a;border-color:#444;color:#e0e0e0}.dark-mode .form-palette-btn:hover{border-color:#818cf8;color:#a5b4fc;background:#252525}.dark-mode .form-field-list-item{color:#e0e0e0}.dark-mode .form-field-list-item.active,.dark-mode .form-field-list-item:hover{background:#6366f126;border-color:#818cf859}.dark-mode .form-field-list-type{color:#a5b4fc}.dark-mode .form-editor-meta label,.dark-mode .form-field-editor label,.dark-mode .form-settings-panel label,.dark-mode .form-share-panel label{color:#e0e0e0}.dark-mode .form-editor-meta input,.dark-mode .form-editor-meta textarea,.dark-mode .form-field-editor input,.dark-mode .form-field-editor textarea,.dark-mode .form-field-editor select,.dark-mode .form-settings-panel input,.dark-mode .form-settings-panel textarea,.dark-mode .form-share-panel input,.dark-mode .form-option-row input{background-color:#1a1a1a;border-color:#444;color:#e0e0e0;color-scheme:dark}.dark-mode .form-editor-meta input:focus,.dark-mode .form-editor-meta textarea:focus,.dark-mode .form-field-editor input:focus,.dark-mode .form-field-editor textarea:focus,.dark-mode .form-settings-panel input:focus,.dark-mode .form-settings-panel textarea:focus,.dark-mode .form-share-panel input:focus,.dark-mode .form-option-row input:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 2px #6366f133}.dark-mode .form-editor-meta input:disabled,.dark-mode .form-field-editor input:disabled,.dark-mode .form-settings-panel input:disabled{background-color:#2a2a2a;color:#888}.dark-mode .form-field-editor-header h3,.dark-mode .form-options-editor h4{color:#e0e0e0}.dark-mode .form-field-editor-tools button{background:#1a1a1a;border-color:#444;color:#e0e0e0}.dark-mode .form-field-editor-tools button:hover{background:#333}.dark-mode .form-field-editor-tools button.danger:hover{background:#dc262640;border-color:#f8717166;color:#fca5a5}.dark-mode .form-option-row button{background:#333;border:1px solid #444;color:#e0e0e0;border-radius:4px;cursor:pointer}.dark-mode .form-option-row button:hover{background:#444}.dark-mode .form-field-editor-empty{color:#94a3b8}.dark-mode .form-field-id-lock{color:#888}.dark-mode .form-preview-card{background:linear-gradient(180deg,#2a2a2a,#1f1f1f);border-color:#444}.dark-mode .form-preview-card h2{color:#e0e0e0}.dark-mode .form-preview-desc{color:#94a3b8}.dark-mode .form-preview-field{color:#e0e0e0}.dark-mode .form-preview-field input,.dark-mode .form-preview-field textarea,.dark-mode .form-preview-field select{background-color:#1a1a1a;border-color:#444;color:#b0b0b0;color-scheme:dark}.dark-mode .form-preview-section h3{color:#cbd5e1}.dark-mode .form-share-panel,.dark-mode .form-responses-panel{background:#252525;border-color:#404040}.dark-mode .form-share-hint{color:#94a3b8}.dark-mode .form-share-hint a{color:#93c5fd}.dark-mode .form-responses-table th,.dark-mode .form-responses-table td{border-bottom-color:#404040;color:#e0e0e0}.dark-mode .form-responses-table th{background:#1a1a1a}.dark-mode .forms-sub-processed{background:#22c55e33;color:#86efac}.dark-mode .forms-sub-error{background:#ef444433;color:#fca5a5}.dark-mode .forms-sub-received{background:#f59e0b33;color:#fcd34d}.dark-mode .form-publish-preview h4{color:#e0e0e0}.dark-mode .form-publish-preview li{color:#cbd5e1}.form-portal-page{display:flex;align-items:center;justify-content:center;flex:1;width:100%;min-height:100vh;box-sizing:border-box;padding:2.5rem 1.5rem;background:linear-gradient(160deg,#eef2ff,#f8fafc 45%,#fdf4ff)}.form-portal-card{width:100%;max-width:720px;min-width:min(100%,320px);background:#fff;border-radius:16px;box-shadow:0 20px 50px #0f172a1a;padding:2.5rem 2.75rem 2rem;border:1px solid rgba(255,255,255,.8)}@media (min-width: 640px){.form-portal-page{padding:3rem 2rem}.form-portal-card{padding:3rem 3.25rem 2.5rem}}.form-portal-header h1{margin:0 0 .5rem;font-size:1.75rem;color:#0f172a;line-height:1.2}.form-portal-header p{margin:0 0 1.5rem;color:#64748b;line-height:1.5}.form-portal-fields{display:flex;flex-direction:column;gap:1.1rem}.form-portal-field{display:flex;flex-direction:column;gap:.4rem}.form-portal-label{font-weight:600;color:#1e293b;font-size:.95rem}.form-portal-required{color:#dc2626;margin-left:.15rem}.form-portal-field input[type=text],.form-portal-field input[type=email],.form-portal-field input[type=number],.form-portal-field input[type=date],.form-portal-field textarea,.form-portal-field select{padding:.7rem .85rem;border:1px solid #cbd5e1;border-radius:8px;font:inherit;transition:border-color .15s,box-shadow .15s}.form-portal-field input:focus,.form-portal-field textarea:focus,.form-portal-field select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.form-portal-field small{color:#64748b;font-size:.82rem}.form-portal-section h2{margin:.75rem 0 0;font-size:1.05rem;color:#334155;border-top:1px solid #e2e8f0;padding-top:.75rem}.form-portal-submit{margin-top:1.5rem;width:100%;padding:.85rem 1rem;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s}.form-portal-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #4f46e559}.form-portal-submit:disabled{opacity:.7;cursor:not-allowed}.form-portal-brand{margin:1rem 0 0;text-align:center;font-size:.78rem;color:#94a3b8}.form-portal-alert{padding:.75rem 1rem;background:#fef2f2;color:#b91c1c;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.form-portal-success,.form-portal-error{text-align:center;padding:3rem 2rem}.form-portal-success-icon{width:4rem;height:4rem;margin:0 auto 1rem;border-radius:50%;background:#dcfce7;color:#166534;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700}.form-portal-success h1{margin:0 0 .75rem}.form-portal-success p{margin:0;color:#64748b;line-height:1.5}.form-portal-error h1{margin:0 0 .5rem;color:#991b1b}.dark-mode .form-portal-page{background:linear-gradient(160deg,#1a1a2e,#121212 45%,#1a1225)}.dark-mode .form-portal-card{background:#252525;border-color:#404040;box-shadow:0 20px 50px #00000073}.dark-mode .form-portal-header h1{color:#e0e0e0}.dark-mode .form-portal-header p{color:#94a3b8}.dark-mode .form-portal-label{color:#e0e0e0}.dark-mode .form-portal-field input[type=text],.dark-mode .form-portal-field input[type=email],.dark-mode .form-portal-field input[type=number],.dark-mode .form-portal-field input[type=date],.dark-mode .form-portal-field textarea,.dark-mode .form-portal-field select{background-color:#1a1a1a;border-color:#444;color:#e0e0e0;color-scheme:dark}.dark-mode .form-portal-field input:focus,.dark-mode .form-portal-field textarea:focus,.dark-mode .form-portal-field select:focus{border-color:#818cf8;box-shadow:0 0 0 3px #6366f140}.dark-mode .form-portal-field small{color:#94a3b8}.dark-mode .form-portal-section h2{color:#cbd5e1;border-top-color:#404040}.dark-mode .form-portal-alert{background:#ef444426;color:#fca5a5}.dark-mode .form-portal-success h1{color:#e0e0e0}.dark-mode .form-portal-success p{color:#94a3b8}.dark-mode .form-portal-success-icon{background:#22c55e33;color:#86efac}.dark-mode .form-portal-error h1{color:#fca5a5}.packages-page .page-subtitle{margin:.25rem 0 0;color:#64748b;font-size:.95rem}.dark-mode .packages-page .page-subtitle{color:#94a3b8}.packages-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.packages-tabs button{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border:1px solid #dbe2ea;background:#fff;color:#334155;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.packages-tabs button:hover{border-color:#b9c8dd;background:#f8fafc}.packages-tabs button.active{border-color:#4f8df6;background:#edf4ff;color:#2f6fd9}.dark-mode .packages-tabs button{border-color:#3f4856;background:#252a33;color:#d1dae8}.dark-mode .packages-tabs button:hover{border-color:#536078;background:#2c323c}.dark-mode .packages-tabs button.active{border-color:#5f96ef;background:#4f8df62e;color:#9dc3ff}.packages-panel{display:flex;flex-direction:column;gap:1rem;background:#f8fafd;border:1px solid #e5ebf3;border-radius:12px;padding:1rem}.dark-mode .packages-panel{background:#20242b;border-color:#2f3744}.packages-loading{margin:0;color:#64748b}.dark-mode .packages-loading{color:#9ca9bb}.packages-export-actions{display:flex;align-items:center;gap:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e8edf5}.dark-mode .packages-export-actions{border-bottom-color:#313846}.packages-selection-count{font-size:.85rem;color:#64748b}.dark-mode .packages-selection-count{color:#9ca9bb}.packages-group h2{font-size:.95rem;margin:0}.packages-group{background:#fff;border:1px solid #e5ebf3;border-radius:10px;padding:.75rem}.dark-mode .packages-group{background:#252a33;border-color:#323b49}.packages-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.packages-group-header span{font-size:.8rem;color:#64748b;background:#eef2f8;border-radius:999px;padding:.15rem .5rem}.dark-mode .packages-group-header span{color:#afbdd1;background:#313949}.packages-group ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.packages-item{border:1px solid #e8edf5;border-radius:8px;background:#fdfdff}.dark-mode .packages-item{border-color:#384250;background:#2a303b}.packages-item-label{display:flex;gap:.5rem;align-items:center;font-size:.92rem;padding:.45rem .55rem;cursor:pointer}.packages-item-label input[type=checkbox]{width:1rem;height:1rem;accent-color:#3b82f6}.packages-error{color:#b42318;background:#fef3f2;border:1px solid #ffd3cc;border-radius:8px;padding:.65rem .75rem}.dark-mode .packages-error{color:#fecaca;background:#b91c1c26;border-color:#f8717159}.packages-file{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;max-width:32rem}.packages-file-input{border:1px solid #d7dfeb;border-radius:8px;padding:.5rem;background:#fff;color:#1f2937}.dark-mode .packages-file-input{border-color:#444f63;background:#1e232c;color:#e2e8f0}.packages-preview-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.85rem;min-width:52rem}.packages-preview-table-wrap{overflow-x:auto;border:1px solid #e5ebf3;border-radius:10px;background:#fff}.dark-mode .packages-preview-table-wrap{border-color:#323b49;background:#252a33}.packages-preview-table th,.packages-preview-table td{border-bottom:1px solid #e8edf5;text-align:left;padding:.55rem .65rem;vertical-align:top}.dark-mode .packages-preview-table th,.dark-mode .packages-preview-table td{border-bottom-color:#363f4e}.packages-preview-table th{font-weight:600;color:#1e293b;background:#f8fafd}.dark-mode .packages-preview-table th{color:#dbe7fb;background:#2b313b}.packages-preview-meta{display:flex;gap:.5rem;flex-wrap:wrap}.packages-chip{font-size:.82rem;color:#475569;background:#edf2fa;border-radius:999px;padding:.2rem .55rem}.dark-mode .packages-chip{color:#c4d2e7;background:#323c4c}.packages-option{display:flex;flex-direction:column;gap:.35rem;max-width:20rem;font-size:.85rem;color:#334155}.dark-mode .packages-option{color:#d1dae8}.packages-select,.packages-secret-input{border:1px solid #d7dfeb;border-radius:8px;padding:.45rem .6rem;background:#fff;color:#1f2937;font-size:.85rem}.dark-mode .packages-select,.dark-mode .packages-secret-input{border-color:#444f63;background:#1e232c;color:#e2e8f0}.packages-secrets{display:flex;flex-direction:column;gap:.35rem}.packages-secrets label{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem}.packages-import-actions{display:flex;justify-content:flex-start}.packages-result{background:#f0f9ff;border:1px solid #bde3ff;border-radius:10px;padding:.75rem .9rem}.dark-mode .packages-result{background:#0e74901f;border-color:#7dd3fc59}.packages-result h3{margin:0 0 .25rem;font-size:.95rem}.packages-result p{margin:0;font-size:.88rem}.packages-result ul{margin:.5rem 0 0;padding-left:1.2rem}.processes-page .page-header{align-items:flex-start}.processes-page .page-header h1{margin-bottom:.35rem}.processes-page .page-header .page-description{margin-bottom:0}.processes-page a.button-primary,.processes-page a.button-secondary,.processes-page .button-primary,.processes-page .button-secondary,.processes-page .button-danger{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;text-decoration:none}.processes-breadcrumb{margin:0 0 .35rem;font-size:.875rem;color:#64748b}.dark-mode .processes-breadcrumb{color:#94a3b8}.processes-breadcrumb a,.processes-breadcrumb .linkish{color:inherit;background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;font:inherit}.processes-breadcrumb a:hover,.processes-breadcrumb .linkish:hover{color:#3498db}.processes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.processes-list-item{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.15rem 1.25rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8f9fa;transition:background-color .2s,border-color .2s}.dark-mode .processes-list-item{background:#2a2a2a;border-color:#333}.processes-list-title{font-size:1.1rem;font-weight:600;color:#2c3e50;text-decoration:none}.dark-mode .processes-list-title{color:#e0e0e0}.processes-list-title:hover{color:#3498db}.processes-list-desc{margin:.35rem 0 0;color:#64748b;font-size:.95rem}.dark-mode .processes-list-desc{color:#94a3b8}.processes-list-meta{margin:.35rem 0 0;font-size:.85rem;color:#94a3b8}.processes-list-actions{display:flex;gap:.5rem;flex-shrink:0;align-items:center}.processes-list-actions .button-primary,.processes-list-actions .button-secondary,.processes-list-actions .button-danger{padding:.45rem .85rem;font-size:.875rem}.processes-empty{text-align:center;padding:3rem 1.5rem;background:#f8f9fa;border-radius:8px}.dark-mode .processes-empty{background:#2a2a2a;border:1px solid #333}.processes-empty p{margin:.35rem 0;color:#7f8c8d}.dark-mode .processes-empty p{color:#b0b0b0}.processes-form-actions,.form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.process-editor-main .form-group,.process-params .form-group,.processes-form .form-group{margin-bottom:.25rem}.process-checkbox.form-group{flex-direction:row;align-items:center;gap:.5rem}.process-checkbox.form-group label{margin:0;font-weight:500;cursor:pointer}.process-checkbox.form-group input[type=checkbox]{width:auto;margin:0}.process-params{margin-bottom:1.25rem;max-width:280px}.process-runner-layout{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:1.5rem;align-items:start}@media (max-width: 720px){.process-runner-layout{grid-template-columns:1fr}}.process-stepper{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.process-stepper-btn{width:100%;display:flex;align-items:center;gap:.65rem;text-align:left;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8f9fa;color:#334155;cursor:pointer;font:inherit;transition:border-color .15s,background-color .15s}.dark-mode .process-stepper-btn{background:#2a2a2a;border-color:#333;color:#e0e0e0}.process-stepper-btn:hover{border-color:#3498db}.process-stepper-btn.active{border-color:#3498db;background:#3498db1f;color:#2c3e50}.dark-mode .process-stepper-btn.active{color:#e0e0e0;background:#3498db2e}.process-stepper-num{width:1.6rem;height:1.6rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;background:#e2e8f0;color:#475569;flex-shrink:0}.dark-mode .process-stepper-num{background:#3a3a3a;color:#cbd5e1}.process-stepper-btn.active .process-stepper-num{background:#3498db;color:#fff}.process-step-panel{padding:1.5rem;border-radius:8px;background:#f8f9fa;min-height:240px}.dark-mode .process-step-panel{background:#2a2a2a;border:1px solid #333}.process-step-panel h2{margin:0 0 .5rem;color:#34495e;font-size:1.25rem}.dark-mode .process-step-panel h2{color:#e0e0e0}.process-help{margin:0 0 1rem;color:#64748b}.dark-mode .process-help{color:#94a3b8}.process-status{padding:.65rem .85rem;border-radius:6px;margin-bottom:1rem;background:#3498db1f;color:#2c3e50;border:1px solid rgba(52,152,219,.35)}.dark-mode .process-status{color:#e0e0e0}.process-upload{display:inline-flex;cursor:pointer}.process-upload input[type=file]{display:none}.process-check-table-wrap{margin-top:1rem;overflow:auto;max-height:420px;border:1px solid #e2e8f0;border-radius:6px}.dark-mode .process-check-table-wrap{border-color:#444}.process-check-table{width:100%;border-collapse:collapse;font-size:.875rem}.process-check-table th,.process-check-table td{border-bottom:1px solid #e2e8f0;padding:.45rem .65rem;text-align:left}.dark-mode .process-check-table th,.dark-mode .process-check-table td{border-bottom-color:#333}.process-check-table th{background:#f1f5f9;font-weight:600;position:sticky;top:0}.dark-mode .process-check-table th{background:#1f1f1f}.process-send-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}.process-preview-json{width:100%;max-height:280px;overflow:auto;font-size:.75rem;padding:.75rem;border-radius:6px;background:#111;color:#eee;margin:.75rem 0 0}.process-nav-buttons{display:flex;gap:.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0}.dark-mode .process-nav-buttons{border-top-color:#333}.process-editor-grid{display:grid;grid-template-columns:1fr minmax(240px,320px);gap:1.5rem;align-items:start}@media (max-width: 900px){.process-editor-grid{grid-template-columns:1fr}}.process-editor-main{display:flex;flex-direction:column;gap:.75rem}.process-editor-main h2{margin:1rem 0 .5rem;color:#34495e;font-size:1.2rem}.dark-mode .process-editor-main h2{color:#e0e0e0}.process-add-steps{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.process-add-steps .button-secondary{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.875rem;border-radius:6px}.process-editor-steps{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:1rem}.process-editor-step{border:1px solid #e2e8f0;border-radius:8px;padding:1.15rem;background:#f8f9fa}.dark-mode .process-editor-step{background:#2a2a2a;border-color:#333}.process-editor-step-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem}.process-editor-step-head strong{text-transform:capitalize;color:#64748b;font-size:.85rem;font-weight:600;letter-spacing:.02em}.dark-mode .process-editor-step-head strong{color:#94a3b8}.process-editor-step-move{display:flex;gap:.35rem}.process-editor-step-move .button-secondary,.process-editor-step-move .button-danger{padding:.35rem .55rem;min-width:2rem}.muted{color:#7f8c8d}.dark-mode .muted{color:#94a3b8}.app{display:flex;height:100vh;width:100%}.main-content{flex:1;margin-left:200px;padding:2rem;overflow-y:auto;background-color:#fff;transition:background-color .3s ease}.dark-mode .main-content{background-color:#1e1e1e;color:#e0e0e0}*{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:#f5f5f5;color:#2c3e50;transition:background-color .3s ease,color .3s ease}.dark-mode body{background-color:#121212;color:#e0e0e0}.dark-mode pre,.dark-mode code{color:#e4e4e4}.dark-mode pre{background-color:#2d2d2d;border-color:#444}.dark-mode code{background-color:#ffffff14}.dark-mode pre code{background-color:transparent}.dark-mode .form-hint,.dark-mode small.form-hint{color:#b0b0b0}#root{width:100%;height:100vh}
