:root{--bg-primary: #09090b;--bg-secondary: #0a0a0a;--bg-card: #111111;--bg-elevated: #1c1c1c;--accent-primary: #ff4d00;--accent-secondary: #00ff6a;--accent-glow: rgba(255, 77, 0, .4);--text-primary: #ffffff;--text-secondary: #a1a1aa;--text-muted: #52525b;--border-color: #1c1c1c;--border-glow: rgba(255, 77, 0, .5);--success: #00ff6a;--error: #ef4444;--warning: #f59e0b;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px}*{box-sizing:border-box}body{margin:0;font-family:Inter,Space Grotesk,-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:var(--bg-primary);color:var(--text-primary)}code{font-family:JetBrains Mono,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::selection{background:var(--accent-primary);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}a{color:var(--accent-primary);text-decoration:none;transition:opacity .2s}a:hover{opacity:.8}input,textarea,select{font-family:inherit}.App{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-primary)}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary)}.loading-content{text-align:center;color:var(--text-primary)}.loading-content h1{font-size:32px;margin-bottom:10px;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.loading-content p{color:var(--text-secondary)}.auth-landing{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:var(--bg-primary);position:relative;overflow:hidden}.auth-landing:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 20%,rgba(168,85,247,.15) 0%,transparent 40%),radial-gradient(circle at 70% 80%,rgba(59,130,246,.15) 0%,transparent 40%);pointer-events:none;animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(-2%,2%)}}.auth-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:48px;max-width:480px;width:100%;text-align:center;position:relative;z-index:1;box-shadow:0 25px 50px -12px #00000080}.auth-card h1{margin:0 0 8px;font-size:42px;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.auth-card .tagline{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600;margin:0 0 24px;font-size:1.1rem}.auth-card .description{color:var(--text-secondary);line-height:1.7;margin:0 0 32px}.login-button{background:var(--gradient-accent);color:#fff;border:none;padding:16px 32px;border-radius:var(--radius-full);font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%}.login-button:hover{transform:translateY(-2px);box-shadow:0 8px 30px #a855f766}.login-button:active{transform:translateY(0)}.login-form{display:flex;flex-direction:column;gap:16px}.username-input{padding:16px 20px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:16px;text-align:center;transition:border-color .2s,box-shadow .2s;background:var(--bg-elevated);color:var(--text-primary)}.username-input::placeholder{color:var(--text-muted)}.username-input:focus{outline:none;border-color:var(--gradient-start);box-shadow:0 0 0 3px #a855f733}.app-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);color:#fff;padding:16px 24px;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.header-content h1{margin:0;font-size:24px;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.user-info{display:flex;align-items:center;gap:16px}.username{font-weight:500;color:var(--text-secondary)}.logout-button{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-color);padding:8px 16px;border-radius:var(--radius-md);font-size:14px;cursor:pointer;transition:all .2s}.logout-button:hover{background:var(--bg-card);color:var(--text-primary);border-color:var(--text-muted)}.app-main{flex:1;padding:20px}.app-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:20px;text-align:center;font-size:13px;color:var(--text-muted)}.app-footer p{margin:0}.hero-section{text-align:center;padding:60px 20px;max-width:800px;margin:0 auto}.hero-title{font-size:3rem;font-weight:700;margin:0 0 16px;line-height:1.1}.hero-title .gradient-text{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.2rem;color:var(--text-secondary);margin:0 0 40px;line-height:1.6}.steps-container{display:flex;justify-content:center;gap:60px;margin:60px 0;flex-wrap:wrap}.step-item{display:flex;flex-direction:column;align-items:center;gap:16px;position:relative}.step-number{width:56px;height:56px;border-radius:50%;background:var(--gradient-accent);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;box-shadow:0 4px 20px #a855f766}.step-label{color:var(--text-secondary);font-weight:500}.step-connector{position:absolute;top:28px;left:calc(100% + 10px);width:40px;height:2px;background:var(--border-color)}@media(max-width:768px){.steps-container{gap:30px}.step-connector{display:none}.hero-title{font-size:2rem}.auth-card{padding:32px 24px}}.bot-dashboard{max-width:800px;margin:0 auto;padding:40px 20px}.bot-dashboard.loading{display:flex;justify-content:center;align-items:center;min-height:300px;color:var(--text-secondary)}.create-bot-card,.bot-info-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:32px;box-shadow:0 10px 40px #0000004d}.create-bot-card h2,.bot-info-card h2{margin:0 0 8px;color:var(--text-primary);background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.create-bot-card>p{color:var(--text-secondary);margin:0 0 24px}.bot-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:500;color:var(--text-secondary);font-size:14px}.form-group input,.form-group textarea,.form-group select{padding:14px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:16px;transition:border-color .2s,box-shadow .2s;font-family:inherit;background:var(--bg-elevated);color:var(--text-primary)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--gradient-start);box-shadow:0 0 0 3px #a855f733}.form-group textarea{resize:vertical;min-height:100px}.form-group select option{background:var(--bg-card);color:var(--text-primary)}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--error);padding:12px;border-radius:var(--radius-md);font-size:14px}.create-button{background:var(--gradient-accent);color:#fff;border:none;padding:16px 24px;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.create-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 30px #a855f766}.create-button:disabled{opacity:.7;cursor:not-allowed}.bot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.status-badge{padding:6px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.running{background:#10b98126;color:var(--success);border:1px solid rgba(16,185,129,.3)}.status-badge.demo_mode{background:#f59e0b26;color:var(--warning);border:1px solid rgba(245,158,11,.3)}.status-badge.creating{background:#a855f726;color:var(--gradient-start);border:1px solid rgba(168,85,247,.3)}.status-badge.error{background:#ef444426;color:var(--error);border:1px solid rgba(239,68,68,.3)}.bot-details{display:flex;flex-direction:column;gap:16px}.detail-row{display:flex;flex-direction:column;gap:6px}.detail-row .label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.detail-row .value{color:var(--text-primary)}.detail-row .value.prompt{background:var(--bg-elevated);padding:14px;border-radius:var(--radius-md);font-size:14px;white-space:pre-wrap;border:1px solid var(--border-color)}.detail-row .value.endpoint{font-family:JetBrains Mono,monospace;background:var(--bg-elevated);padding:10px 14px;border-radius:var(--radius-md);font-size:13px;word-break:break-all;border:1px solid var(--border-color)}.value-with-copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.copy-btn{background:var(--gradient-accent);color:#fff;border:none;padding:8px 14px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;cursor:pointer;transition:opacity .2s,transform .2s}.copy-btn:hover{opacity:.9;transform:translateY(-1px)}.link-button{color:var(--gradient-start);font-weight:500;text-decoration:none;transition:opacity .2s}.link-button:hover{opacity:.8}.token-section{background:var(--bg-elevated);padding:16px;border-radius:var(--radius-md);margin-top:8px;border:1px solid var(--border-color)}.token-value{font-family:JetBrains Mono,monospace;background:#a855f71a;padding:10px 14px;border-radius:var(--radius-sm);font-size:12px;word-break:break-all;flex:1;color:var(--text-primary);border:1px solid rgba(168,85,247,.3)}.token-warning{color:var(--warning);font-size:12px;font-weight:500;margin-top:10px}.demo-notice{margin-top:24px;padding:16px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);color:var(--warning);font-size:14px}.error-notice{margin-top:24px;padding:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:var(--error);font-size:14px}.success-notice{margin-top:24px;padding:16px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-md);color:var(--success);font-size:14px}.chat-toggle-section{margin-top:24px;display:flex;justify-content:center}.chat-toggle-btn{background:var(--gradient-accent);color:#fff;border:none;padding:16px 32px;border-radius:var(--radius-full);font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.chat-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px #a855f766}.chat-toggle-btn.active{background:var(--bg-elevated);color:var(--text-secondary)}.admin-login{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e)}.admin-login-card{background:#1e1e2f;padding:2.5rem;border-radius:12px;box-shadow:0 8px 32px #0000004d;text-align:center;max-width:400px;width:90%}.admin-login-card h1{color:#fff;margin-bottom:.5rem}.admin-login-card p{color:#888;margin-bottom:1.5rem}.admin-login-card form{display:flex;flex-direction:column;gap:1rem}.admin-login-card input{padding:.875rem 1rem;border:1px solid #333;border-radius:8px;background:#2a2a3e;color:#fff;font-size:1rem}.admin-login-card input:focus{outline:none;border-color:#4f46e5}.admin-login-card button{padding:.875rem 1.5rem;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.admin-login-card button:hover{background:#4338ca}.admin-dashboard{min-height:100vh;background:#0f0f1a;color:#fff;padding:1.5rem}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #2a2a3e}.admin-header h1{margin:0;font-size:1.75rem}.logout-btn{padding:.5rem 1rem;background:#374151;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.logout-btn:hover{background:#4b5563}.admin-error{background:#7f1d1d;color:#fecaca;padding:1rem;border-radius:8px;margin-bottom:1rem}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#1e1e2f;padding:1.5rem;border-radius:12px;text-align:center}.stat-card h3{margin:0;font-size:2rem;color:#4f46e5}.stat-card p{margin:.5rem 0 0;color:#888;font-size:.875rem}.admin-section{background:#1e1e2f;border-radius:12px;padding:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{margin:0;font-size:1.25rem}.refresh-btn{padding:.5rem 1rem;background:#374151;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.refresh-btn:hover:not(:disabled){background:#4b5563}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.loading-text,.empty-text{color:#888;text-align:center;padding:2rem}.bots-table{overflow-x:auto}.bots-table table{width:100%;border-collapse:collapse}.bots-table th,.bots-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid #2a2a3e}.bots-table th{color:#888;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.bots-table tbody tr:hover{background:#4f46e50d}.disabled-row{opacity:.7;background:#7f1d1d1a}.user-email{display:block;font-weight:500}.user-id{display:block;font-size:.75rem;color:#666;font-family:monospace}.model-cell{font-size:.875rem;color:#888}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-running{background:#065f46;color:#6ee7b7}.status-creating{background:#92400e;color:#fcd34d}.status-error{background:#7f1d1d;color:#fca5a5}.disabled-badge{display:inline-block;margin-left:.5rem;padding:.25rem .5rem;background:#7f1d1d;color:#fca5a5;border-radius:4px;font-size:.625rem;font-weight:700}.limit-value{font-weight:600;color:#4f46e5}.limit-input{width:80px;padding:.375rem .5rem;border:1px solid #4f46e5;border-radius:4px;background:#2a2a3e;color:#fff;font-size:.875rem}.limit-input:focus{outline:none;box-shadow:0 0 0 2px #4f46e54d}.usage-value{font-family:monospace}.usage-value.over-limit{color:#f87171;font-weight:600}.actions-cell{display:flex;gap:.5rem}.edit-btn,.save-btn,.cancel-btn{padding:.375rem .75rem;border:none;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .2s}.edit-btn{background:#4f46e5;color:#fff}.edit-btn:hover:not(:disabled){background:#4338ca}.edit-btn:disabled{opacity:.5;cursor:not-allowed}.save-btn{background:#059669;color:#fff}.save-btn:hover{background:#047857}.cancel-btn{background:#374151;color:#fff}.cancel-btn:hover{background:#4b5563}.clickable-row{cursor:pointer}.clickable-row:hover{background:#4f46e51a!important}.selected-row{background:#4f46e526!important;border-left:3px solid #4f46e5}.ecloud-badge{display:inline-block;margin-left:.5rem;padding:.125rem .375rem;background:#1e3a5f;color:#60a5fa;border-radius:3px;font-size:.625rem;font-weight:700;letter-spacing:.05em;vertical-align:middle}.app-logs-panel{background:#141422;border:1px solid #2a2a3e;border-radius:12px;margin-bottom:1.5rem;overflow:hidden}.app-logs-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#1a1a2e;border-bottom:1px solid #2a2a3e}.app-logs-title{display:flex;align-items:center;gap:.75rem}.app-logs-title h3{margin:0;font-size:1rem;font-weight:600}.app-id-label{font-family:monospace;font-size:.7rem;color:#666;background:#1e1e2f;padding:.125rem .5rem;border-radius:4px}.connection-badge{padding:.125rem .5rem;border-radius:4px;font-size:.625rem;font-weight:700;letter-spacing:.05em}.connection-badge.connected{background:#065f46;color:#6ee7b7}.connection-badge.disconnected{background:#7f1d1d;color:#fca5a5}.close-logs-btn{padding:.375rem .75rem;background:#374151;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.8rem;transition:background .2s}.close-logs-btn:hover{background:#4b5563}.logs-error{background:#7f1d1d;color:#fca5a5;padding:.5rem 1rem;font-size:.8rem}.app-logs-content{max-height:500px;overflow-y:auto;padding:1rem;background:#0a0a14}.app-logs-content pre{margin:0;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:.75rem;line-height:1.6;color:#d4d4d8;white-space:pre-wrap;word-break:break-all}.logs-empty{color:#555;text-align:center;font-style:italic;padding:2rem}.app-logs-content::-webkit-scrollbar{width:6px}.app-logs-content::-webkit-scrollbar-track{background:#0a0a14}.app-logs-content::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.app-logs-content::-webkit-scrollbar-thumb:hover{background:#555}@media(max-width:768px){.admin-dashboard{padding:1rem}.admin-stats{grid-template-columns:repeat(2,1fr)}.bots-table th,.bots-table td{padding:.625rem .5rem;font-size:.875rem}}
