*{margin:0;padding:0;box-sizing:border-box}body{background:#0f172a;color:#e2e8f0;font-family:Inter,system-ui,-apple-system,sans-serif}.app{display:flex;flex-direction:column;height:100vh}.header{display:flex;align-items:center;gap:12px;padding:16px 24px;background:#1e293b;border-bottom:1px solid #334155}.logo{font-size:1.5rem;font-weight:700;color:#3b82f6}.subtitle{font-size:.85rem;color:#94a3b8}.ws-status{margin-left:auto;font-size:.75rem;padding:4px 10px;border-radius:12px}.ws-status.online{background:#10b98126;color:#10b981}.ws-status.offline{background:#ef444426;color:#ef4444}.chat-area{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:12px}.empty-state{margin:auto;text-align:center}.empty-state h2{font-size:1.5rem;margin-bottom:8px;color:#cbd5e1}.empty-state p{color:#64748b}.message{max-width:70%;padding:10px 16px;border-radius:12px;line-height:1.5;white-space:pre-wrap}.message.user{align-self:flex-end;background:#3b82f6;color:#fff}.message.assistant{align-self:flex-start;background:#1e293b;border:1px solid #334155}.message.typing{color:#94a3b8;font-style:italic}.voice-section{display:flex;justify-content:center;padding:12px 0;background:#0f172a}.voice-container{display:flex;flex-direction:column;align-items:center;gap:8px}.voice-bubble{max-width:300px;padding:8px 14px;border-radius:10px;font-size:.85rem;text-align:center}.voice-user{background:#3b82f626;color:#93c5fd}.voice-assistant{background:#10b98126;color:#6ee7b7}.voice-btn{width:64px;height:64px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}.voice-btn:disabled{opacity:.6;cursor:not-allowed}.voice-btn.voice-idle{background:#334155;box-shadow:none}.voice-btn.voice-listening{background:#10b981;animation:pulse-ring-green 1.5s ease-out infinite}.voice-btn.voice-processing{background:#f59e0b;box-shadow:0 0 20px #f59e0b66}.voice-btn.voice-speaking{background:#3b82f6;box-shadow:0 0 20px #3b82f666}@keyframes pulse-ring-green{0%{box-shadow:0 0 #10b98180}70%{box-shadow:0 0 0 18px #10b98100}to{box-shadow:0 0 #10b98100}}.voice-label{font-size:.75rem;color:#64748b}.sound-wave{display:flex;align-items:center;gap:3px;height:28px}.wave-bar{display:block;width:4px;border-radius:2px;background:#fff}.sound-wave.fast .wave-bar{animation:wave-fast .6s ease-in-out infinite alternate}.sound-wave.fast .wave-bar:nth-child(1){height:8px;animation-delay:0s;opacity:.7}.sound-wave.fast .wave-bar:nth-child(2){height:16px;animation-delay:.1s;opacity:.85}.sound-wave.fast .wave-bar:nth-child(3){height:24px;animation-delay:.2s;opacity:1}.sound-wave.fast .wave-bar:nth-child(4){height:16px;animation-delay:.3s;opacity:.85}.sound-wave.fast .wave-bar:nth-child(5){height:8px;animation-delay:.4s;opacity:.7}@keyframes wave-fast{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}.sound-wave.slow .wave-bar{animation:wave-slow 1.4s ease-in-out infinite alternate;background:#fff}.sound-wave.slow .wave-bar:nth-child(1){height:10px;animation-delay:0s;opacity:.5}.sound-wave.slow .wave-bar:nth-child(2){height:14px;animation-delay:.15s;opacity:.6}.sound-wave.slow .wave-bar:nth-child(3){height:18px;animation-delay:.3s;opacity:.7}.sound-wave.slow .wave-bar:nth-child(4){height:14px;animation-delay:.45s;opacity:.6}.sound-wave.slow .wave-bar:nth-child(5){height:10px;animation-delay:.6s;opacity:.5}@keyframes wave-slow{0%{transform:scaleY(.5);opacity:.4}50%{transform:scaleY(1);opacity:1}to{transform:scaleY(.5);opacity:.4}}.input-bar{display:flex;gap:8px;padding:16px 24px;background:#1e293b;border-top:1px solid #334155}.chat-input{flex:1;padding:10px 16px;border-radius:8px;border:1px solid #334155;background:#0f172a;color:#e2e8f0;font-size:.95rem;outline:none;transition:border-color .2s}.chat-input:focus{border-color:#3b82f6}.chat-input:disabled{opacity:.5}.send-btn{padding:10px 20px;border-radius:8px;border:none;background:#3b82f6;color:#fff;font-weight:600;cursor:pointer;transition:background .2s}.send-btn:hover{background:#2563eb}.send-btn:disabled{opacity:.5;cursor:not-allowed}.floating-btn{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0000004d;transition:all .3s;z-index:1000}.floating-btn:hover{transform:scale(1.08)}.floating-btn.open{width:48px;height:48px;bottom:20px;right:20px}.floating-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover}.floating-label{position:absolute;right:70px;background:#1e293b;color:#e2e8f0;padding:6px 12px;border-radius:8px;font-size:.8rem;white-space:nowrap;box-shadow:0 2px 8px #0003}.chat-window{position:fixed;bottom:96px;right:24px;width:420px;height:600px;max-height:calc(100vh - 120px);background:#0f172a;border-radius:16px;border:1px solid #334155;box-shadow:0 8px 40px #0006;display:flex;flex-direction:column;overflow:hidden;z-index:999;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.chat-window{width:calc(100vw - 16px);height:calc(100vh - 80px);bottom:8px;right:8px;border-radius:12px}}.admin-login{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#0f172a}.admin-login-form{background:#1e293b;padding:40px;border-radius:16px;width:360px;display:flex;flex-direction:column;gap:16px}.admin-login-form h2{text-align:center;color:#e2e8f0;margin-bottom:8px}.admin-login-form input{padding:10px 14px;border-radius:8px;border:1px solid #334155;background:#0f172a;color:#e2e8f0;font-size:.95rem;outline:none}.admin-login-form input:focus{border-color:#6366f1}.admin-login-form button{padding:12px;border-radius:8px;border:none;background:#6366f1;color:#fff;font-weight:600;cursor:pointer;font-size:1rem}.admin-login-form button:hover{background:#4f46e5}.admin-error{background:#ef444426;color:#ef4444;padding:8px 12px;border-radius:8px;font-size:.85rem;text-align:center}.admin-dashboard{min-height:100vh;background:#0f172a;padding:24px}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.admin-header h1{color:#e2e8f0;font-size:1.5rem}.admin-header-actions{display:flex;gap:12px}.btn-new{padding:8px 20px;border-radius:8px;border:none;background:#6366f1;color:#fff;font-weight:600;cursor:pointer}.btn-logout{padding:8px 16px;border-radius:8px;border:1px solid #334155;background:transparent;color:#94a3b8;cursor:pointer}.tenant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.tenant-card{background:#1e293b;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px;border:1px solid #334155}.tenant-color{width:100%;height:4px;border-radius:2px;margin-bottom:4px}.tenant-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tenant-info h3{color:#e2e8f0;font-size:1.1rem}.tenant-slug{color:#64748b;font-size:.8rem}.tenant-suite{padding:2px 10px;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase}.suite-starter{background:#6366f126;color:#818cf8}.suite-negocio{background:#10b98126;color:#6ee7b7}.suite-completo{background:#f59e0b26;color:#fcd34d}.tenant-status{font-size:.75rem;margin-left:auto}.tenant-status.active{color:#10b981}.tenant-status.inactive{color:#ef4444}.tenant-meta{display:flex;gap:16px;font-size:.8rem;color:#94a3b8}.tenant-actions{display:flex;gap:8px;margin-top:4px}.btn-edit,.btn-impersonate{padding:6px 16px;border-radius:6px;border:none;cursor:pointer;font-size:.8rem;font-weight:500}.btn-edit{background:#334155;color:#e2e8f0}.btn-impersonate{background:#6366f126;color:#818cf8}.tenant-form-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100}.tenant-form{background:#1e293b;padding:32px;border-radius:16px;width:440px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.tenant-form h3{color:#e2e8f0;margin-bottom:4px}.tenant-form label{display:flex;flex-direction:column;gap:4px;color:#94a3b8;font-size:.8rem}.tenant-form input,.tenant-form select{padding:8px 12px;border-radius:6px;border:1px solid #334155;background:#0f172a;color:#e2e8f0;font-size:.9rem;outline:none}.color-row{display:flex;align-items:center;gap:10px}.color-row input[type=color]{width:40px;height:32px;padding:0;border:none;cursor:pointer}.form-buttons{display:flex;gap:10px;margin-top:8px}.btn-cancel{flex:1;padding:10px;border-radius:8px;border:1px solid #334155;background:transparent;color:#94a3b8;cursor:pointer}.btn-save{flex:1;padding:10px;border-radius:8px;border:none;background:#6366f1;color:#fff;font-weight:600;cursor:pointer}
