:root{--color-primary: #007bff;--color-primary-dark: #0056b3;--color-secondary: #6c757d;--color-success: #28a745;--color-danger: #dc3545;--color-warning: #ffc107;--color-info: #17a2b8;--color-light: #f8f9fa;--color-dark: #343a40;--color-neutral: #6c757d;--color-bg: #f4f6f9;--color-card-bg: #ffffff;--color-text: #212529;--color-border: #dee2e6;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--border-radius: .25rem;--box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--color-bg);color:var(--color-text);line-height:1.5}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:var(--spacing-md)}button{display:inline-block;font-weight:400;text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none;background-color:var(--color-primary);color:#fff;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:var(--border-radius);cursor:pointer;transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s}button:hover{background-color:var(--color-primary-dark);text-decoration:none}button:disabled{opacity:.65;cursor:not-allowed}button.danger{background-color:var(--color-danger)}button.danger:hover{background-color:#c82333}input[type=text],input[type=email],input[type=password]{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:var(--color-text);background-color:#fff;background-clip:padding-box;border:1px solid var(--color-border);border-radius:var(--border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}input:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem #007bff40}select{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:var(--color-text);background-color:#fff;border:1px solid var(--color-border);border-radius:var(--border-radius)}.auth-page{display:flex;justify-content:center;align-items:center;min-height:100vh}.auth-container{background-color:var(--color-card-bg);padding:var(--spacing-xl);border-radius:var(--border-radius);box-shadow:var(--box-shadow);width:100%;max-width:400px}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:500}.error-message{color:var(--color-danger);margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:var(--border-radius)}.success-message{color:var(--color-success);margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background-color:#d4edda;border:1px solid #c3e6cb;border-radius:var(--border-radius)}.dashboard-page,.instance-page{max-width:1200px;margin:0 auto;padding:var(--spacing-xl)}.dashboard-header,.instance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.dashboard-header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.user-greeting{color:var(--color-secondary);font-size:.9rem}button.btn-secondary{background-color:var(--color-secondary)}button.btn-secondary:hover{background-color:var(--color-dark)}.instances-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.instance-card{background-color:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:var(--box-shadow);display:block;color:inherit;transition:transform .2s}.instance-card:hover{transform:translateY(-2px);text-decoration:none}.instance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.instance-header h3{margin:0;font-size:1.25rem}.status-badge{padding:.25rem .5rem;border-radius:var(--border-radius);color:#fff;font-size:.875rem;font-weight:600;text-transform:uppercase}.instance-details p{margin:var(--spacing-xs) 0;color:var(--color-secondary);font-size:.9rem}.channels-status{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.channels-status span{padding:.1rem .4rem;border-radius:var(--border-radius);background-color:var(--color-neutral);color:#fff;font-size:.75rem}.channels-status span.connected{background-color:var(--color-success)}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background-color:var(--color-card-bg);padding:var(--spacing-xl);border-radius:var(--border-radius);width:100%;max-width:500px}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.instance-status-bar{background-color:var(--color-card-bg);padding:var(--spacing-md);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md);font-weight:500}.status-running{color:var(--color-success)}.status-stopped{color:var(--color-neutral)}.status-created{color:var(--color-info)}.status-starting,.status-stopping{color:var(--color-warning)}.status-error{color:var(--color-danger)}.separator{color:var(--color-border)}.tabs{display:flex;border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-lg)}.tabs button{background:none;border:none;border-bottom:2px solid transparent;color:var(--color-secondary);padding:var(--spacing-md) var(--spacing-lg);border-radius:0;font-weight:500}.tabs button:hover{color:var(--color-primary);background:none}.tabs button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-content{background-color:var(--color-card-bg);padding:var(--spacing-lg);border-radius:var(--border-radius);min-height:300px}.channel-setup{max-width:600px}.status-indicator{margin-bottom:var(--spacing-md);font-weight:500}.text-success{color:var(--color-success)}.qr-container{margin-top:var(--spacing-lg);text-align:center}.qr-container img{max-width:250px;border:1px solid var(--color-border);padding:var(--spacing-sm);background:#fff}.instance-logs{height:500px;display:flex;flex-direction:column}.logs-container{flex:1;background-color:#1e1e1e;color:#d4d4d4;padding:var(--spacing-md);border-radius:var(--border-radius);overflow-y:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem}.log-line{white-space:pre-wrap;word-break:break-all;line-height:1.4}.info-message{color:var(--color-info);margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background-color:#d1ecf1;border:1px solid #bee5eb;border-radius:var(--border-radius)}.gateway-tab{max-width:800px}.gateway-actions{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.gateway-result{margin-top:var(--spacing-md)}.result-status{font-weight:600;margin-bottom:var(--spacing-sm)}.text-error{color:var(--color-danger)}.result-payload{background-color:#1e1e1e;color:#d4d4d4;padding:var(--spacing-md);border-radius:var(--border-radius);overflow-x:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem;line-height:1.4;max-height:500px;overflow-y:auto}.instance-actions{display:flex;gap:var(--spacing-sm)}.providers-setup{max-width:800px}.provider-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.provider-card{border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-md)}.provider-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.provider-card-actions{display:flex;gap:var(--spacing-xs)}.provider-card-actions button{font-size:.85rem;padding:.2rem .5rem}.provider-card-details{display:flex;flex-wrap:wrap;gap:var(--spacing-md);font-size:.9rem;color:var(--color-secondary)}.provider-add-section{margin-top:var(--spacing-lg)}.provider-presets{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.btn-preset{background-color:var(--color-light);color:var(--color-text);border:1px solid var(--color-border);font-size:.9rem;padding:.3rem .75rem;text-transform:capitalize}.btn-preset:hover{background-color:var(--color-border)}.provider-form{max-width:500px}.provider-form select{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:var(--color-text);background-color:#fff;border:1px solid var(--color-border);border-radius:var(--border-radius)}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.models-view{max-width:1000px}.models-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.models-header h3{margin:0}.models-table-wrapper{overflow-x:auto}.models-table{width:100%;border-collapse:collapse;font-size:.9rem}.models-table th,.models-table td{text-align:left;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border)}.models-table th{font-weight:600;color:var(--color-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}.models-table tbody tr:hover{background-color:var(--color-light)}.model-name{font-weight:500}.model-cost{font-size:.85rem;color:var(--color-secondary)}.config-files{max-width:1000px}.config-files-subtitle{color:var(--color-secondary);font-size:.9rem;margin-bottom:var(--spacing-lg)}.config-files-layout{display:flex;gap:var(--spacing-lg);min-height:500px}.config-files-sidebar{width:200px;flex-shrink:0;display:flex;flex-direction:column;gap:2px}.config-file-btn{display:flex;justify-content:space-between;align-items:center;background:var(--color-light);border:1px solid var(--color-border);color:var(--color-text);padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-size:.85rem;border-radius:var(--border-radius)}.config-file-btn:hover{background-color:var(--color-border)}.config-file-btn.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.config-file-btn.missing{opacity:.6}.config-file-name{font-weight:500}.config-file-size,.config-file-missing{font-size:.75rem;color:var(--color-secondary)}.config-file-btn.active .config-file-size,.config-file-btn.active .config-file-missing{color:#ffffffb3}.config-files-editor{flex:1;display:flex;flex-direction:column}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.editor-filename{font-weight:600;font-size:1.1rem}.editor-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.editor-unsaved{color:var(--color-warning);font-size:.85rem;font-weight:500}.config-editor-textarea{flex:1;min-height:400px;padding:var(--spacing-md);font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem;line-height:1.5;border:1px solid var(--color-border);border-radius:var(--border-radius);resize:vertical;color:var(--color-text);background-color:#fff}.config-editor-textarea:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem #007bff40}.editor-placeholder{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-secondary);font-size:.95rem;border:1px dashed var(--color-border);border-radius:var(--border-radius)}.init-workspace-banner{background-color:#f0f7ff;border:1px solid #b3d9ff;border-radius:var(--border-radius);padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.init-workspace-banner p{margin:0;color:var(--color-text);font-size:.95rem}.btn-init-workspace{background-color:var(--color-primary);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius);font-size:.9rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color .2s ease}.btn-init-workspace:hover:not(:disabled){background-color:#005a9c}.btn-init-workspace:disabled{opacity:.6;cursor:not-allowed}.oauth-section{margin-top:var(--spacing-lg);padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-light)}.oauth-section h4{margin-top:0}.device-code-display{text-align:center;padding:var(--spacing-lg)}.device-code-display .user-code{font-size:2rem;font-weight:700;font-family:Consolas,Monaco,monospace;letter-spacing:.1em;margin:var(--spacing-md) 0;color:var(--color-primary)}.device-code-display p{margin:var(--spacing-sm) 0}.oauth-status{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-success);font-weight:500}.channel-section{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--border-radius)}.channel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.channel-header h4{margin:0}.channel-connected{color:var(--color-success);font-weight:500}.channel-disconnected{color:var(--color-secondary)}.spinner{display:inline-block;width:1em;height:1em;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.setup-required{background:#fff3cd;border:1px solid #ffc107;border-radius:var(--radius-md);padding:var(--spacing-lg);margin-top:var(--spacing-md)}.setup-required h3{margin:0 0 var(--spacing-sm);color:#856404}.setup-required p{margin:0 0 var(--spacing-md);color:#856404}.device-code-steps{text-align:left}.device-code-steps p{margin:var(--spacing-sm) 0}.user-code-row{display:flex;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-sm) 0}.btn-copy{background-color:var(--color-light);color:var(--color-text);border:1px solid var(--color-border);padding:.25rem .75rem;font-size:.85rem;white-space:nowrap}.btn-copy:hover{background-color:var(--color-border)}.btn-small{padding:.2rem .5rem;font-size:.8rem}.config-tab{max-width:800px}.config-model-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border)}.config-description{color:var(--color-secondary);margin-bottom:var(--spacing-lg)}.config-field{margin-bottom:var(--spacing-lg)}.config-field label{display:block;font-weight:600;margin-bottom:var(--spacing-xs)}.config-field textarea{width:100%;font-family:Menlo,Monaco,Courier New,monospace;font-size:.875rem;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical}.config-actions{margin-top:var(--spacing-md)}.btn-danger,button.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover,button.btn-danger:hover{background-color:#c82333}.whatsapp-connected{margin-top:var(--spacing-md)}.whatsapp-connected .success-message{margin-bottom:var(--spacing-md)}.telegram-form{margin-top:var(--spacing-md)}.telegram-form .info-message{margin-bottom:var(--spacing-md)}.telegram-form .info-message a{font-weight:600}.telegram-connected{margin-top:var(--spacing-md)}.telegram-connected .success-message{margin-bottom:var(--spacing-md)}.tabs{flex-wrap:wrap}.chat-container{display:flex;flex-direction:column;height:500px}.chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);background:var(--color-light);border-radius:var(--border-radius);margin-bottom:var(--spacing-md)}.chat-empty{color:var(--color-secondary);text-align:center;margin:auto}.chat-message{max-width:75%;padding:var(--spacing-sm) var(--spacing-md);border-radius:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.chat-message.user{align-self:flex-end;background-color:var(--color-primary);color:#fff;border-bottom-right-radius:4px}.chat-message.agent{align-self:flex-start;background-color:var(--color-card-bg);border:1px solid var(--color-border);border-bottom-left-radius:4px}.chat-input-row{display:flex;gap:var(--spacing-sm)}.chat-input-row input{flex:1}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.skill-card{border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-md)}.skill-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.skill-description{margin:var(--spacing-xs) 0 0;font-size:.85rem;color:var(--color-secondary)}.toggle{display:inline-block;padding:.2rem .6rem;font-size:.8rem;font-weight:600;border-radius:12px;border:1px solid var(--color-border);background:var(--color-light);color:var(--color-secondary);cursor:pointer;white-space:nowrap}.toggle.active{background:var(--color-success);color:#fff;border-color:var(--color-success)}.cron-schedule{font-family:Consolas,Monaco,monospace;font-size:.85rem;background:var(--color-light);padding:.1rem .4rem;border-radius:3px}.gateway-config-tab{max-width:900px}.dirty-indicator{color:var(--color-warning);font-size:.85rem;font-weight:400}.health-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-md)}.health-card{background:var(--color-light);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-md)}.health-card-label{font-size:.8rem;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--spacing-xs)}.health-card-value{font-size:1.1rem;font-weight:600}.indicator.green{color:var(--color-success)}.indicator.red{color:var(--color-danger)}.indicator.yellow{color:var(--color-warning)}.usage-bar-row{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.usage-bar-label{width:60px;font-size:.85rem;font-weight:500;color:var(--color-secondary)}.usage-bar-bg{flex:1;height:20px;background:var(--color-light);border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.usage-bar{height:100%;border-radius:10px;transition:width .3s ease}.usage-bar.input{background:var(--color-primary)}.usage-bar.output{background:var(--color-success)}.usage-bar-value{font-size:.85rem;font-weight:500;min-width:80px;text-align:right}
